:root{
  --bg:#020d20;--bg2:#061a3a;--panel:rgba(12,44,91,.62);--panel2:rgba(13,59,126,.48);
  --line:rgba(103,180,255,.34);--line2:rgba(146,207,255,.18);--blue:#0d6dff;--blue2:#55b9ff;
  --text:#f8fbff;--muted:#b6c8de;--light:#f7f9fd;--ink:#0b1a31;--shadow:0 22px 70px rgba(0,0,0,.34)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;color:var(--text);font:16px/1.42 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(circle at 85% 18%,#0a3f91 0,transparent 27%),radial-gradient(circle at 15% 42%,#042c62 0,transparent 26%),linear-gradient(180deg,#020b1b,#041a38 65%,#031226)}body:before{content:"";position:fixed;z-index:-1;inset:0;pointer-events:none;opacity:.18;background-image:radial-gradient(rgba(89,174,255,.55) 1px,transparent 1px);background-size:25px 25px;mask-image:linear-gradient(to bottom,#000,transparent 72%)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.shell{width:min(1540px,calc(100% - 72px));margin-inline:auto}.glass{background:linear-gradient(145deg,rgba(15,59,124,.66),rgba(4,23,55,.64));border:1px solid var(--line);box-shadow:inset 0 1px 0 rgba(255,255,255,.055),var(--shadow);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.ui-icon{width:25px;height:25px;display:block}.btn-icon{width:18px;height:18px}.eyebrow{font-size:12px;letter-spacing:.14em;font-weight:850;text-transform:uppercase}.pill{display:inline-flex;padding:5px 10px;border-radius:7px;background:#0b58d4;border:1px solid rgba(145,205,255,.45);font-size:11px;letter-spacing:.14em;font-weight:850}.blue{color:#1769e6}.muted{color:#63758e}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 20px;border-radius:10px;color:#fff;font-weight:760;background:linear-gradient(135deg,#0758d8,#168cff);border:1px solid rgba(125,195,255,.58);box-shadow:0 10px 28px rgba(0,100,255,.24);cursor:pointer}.btn:hover{filter:brightness(1.06);transform:translateY(-1px)}.btn.secondary{background:rgba(4,20,47,.54);box-shadow:none;border-color:rgba(157,210,255,.48)}.btn.small{min-height:40px;padding:0 14px}.cta-arrow{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#fff;color:#0b62de;font-size:24px;line-height:1}.site-header{height:70px;display:flex;align-items:center;gap:30px;padding:0 28px;margin-top:14px;border-radius:16px;position:relative;z-index:60}.brand{display:flex;flex-direction:column;line-height:.9;min-width:max-content}.brand>span{font-size:30px;font-weight:900;letter-spacing:-2px}.brand>span span,.brand.big>span span{color:#1280ff}.brand small{font-size:11px;text-align:center;margin-top:4px}.desktop-nav{display:flex;align-items:center;gap:31px;margin:auto;height:100%}.desktop-nav a{position:relative;font-size:14px;font-weight:620;color:#f3f7ff}.desktop-nav a:hover,.desktop-nav a.active{color:white}.desktop-nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:-23px;height:2px;background:#2c96ff;box-shadow:0 0 12px #2c96ff}.header-actions{display:flex;align-items:center;gap:15px}.text-link{display:inline-flex;align-items:center;gap:7px;font-size:14px}.text-link .ui-icon{width:18px;height:18px}.account-btn{height:42px;padding:0 14px;border:1px solid rgba(139,200,255,.48);border-radius:9px;display:flex;align-items:center;gap:7px;font-size:14px}.account-btn .ui-icon{width:19px;height:19px}.icon-btn{width:48px;height:48px;display:grid;place-items:center;border-radius:13px;border:1px solid var(--line);background:rgba(8,40,84,.63);color:white}.icon-btn .ui-icon{width:26px;height:26px}.mobile-only{display:none}.mobile-menu{position:absolute;z-index:70;top:94px;right:20px;width:min(330px,calc(100% - 40px));border-radius:18px;padding:10px;display:grid}.mobile-menu[hidden]{display:none}.mobile-menu a{padding:13px 14px;border-bottom:1px solid rgba(110,185,255,.15)}

/* ==========================================================
   JT&S HOMEPAGE — RESPONSIVE STRUCTURE
   Keeps all hero artwork inside its own layout box.
   ========================================================== */

/* ---------- HERO ---------- */
.hero{
  width:min(1540px,calc(100% - 72px));
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);
  align-items:center;
  gap:48px;
  min-height:500px;
  padding:34px 28px 26px;
  position:relative;
  overflow:visible;
}
.hero-copy{position:relative;z-index:5;min-width:0}
.hero h1{
  margin:16px 0 18px;
  font-size:clamp(46px,3.75vw,62px);
  line-height:1;
  letter-spacing:-.045em;
  max-width:none;
  white-space:nowrap;
}
.hero p{
  max-width:690px;
  margin:0;
  color:#d7e4f4;
  font-size:17px;
  line-height:1.42;
}
.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin:24px 0 22px;
}

/* ---------- TRUST ROW ---------- */
.trust-row{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  width:min(100%,700px);
  margin-top:18px;
}
.trust-row>div{
  min-width:0;
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:2px 18px;
  border-right:1px solid rgba(119,183,250,.24);
}
.trust-row>div:first-child{padding-left:0}
.trust-row>div:last-child{border-right:0}
.trust-row .ui-icon{width:27px;height:27px;flex:0 0 27px;color:#e8f6ff}
.trust-row b,.trust-row small{display:block}
.trust-row b{font-size:12px;line-height:1.25}
.trust-row small{margin-top:2px;color:#aabdd4;font-size:10px;line-height:1.3}

/* ==========================================================
   HERO ARTWORK — ALL PIECES CONTAINED HERE
   ========================================================== */
.hero-visual{
  position:relative;
  width:100%;
  height:390px;
  min-width:0;
  overflow:hidden;
  isolation:isolate;
  border-radius:36px;
}
.hero-visual::before,
.hero-visual::after{
  content:none!important;
  display:none!important;
}
.hero-glow{
  position:absolute;
  inset:0;
  z-index:0;
  border-radius:inherit;
  background:
    radial-gradient(circle at 54% 49%,
      rgba(20,143,255,.34) 0,
      rgba(11,93,206,.18) 31%,
      transparent 64%);
  filter:none;
}

/* ---------- DASHBOARD ---------- */
.dashboard-window{
  position:absolute;
  top:43px;
  right:9%;
  width:76%;
  height:270px;
  padding:20px;
  z-index:3;
  border-radius:22px;
  border:1px solid rgba(96,180,255,.52);
  background:linear-gradient(145deg,rgba(11,47,102,.88),rgba(12,73,147,.36));
  box-shadow:0 28px 75px rgba(0,65,160,.26),inset 0 1px rgba(255,255,255,.07);
  transform:none;
}
.dash-chrome{display:flex;gap:6px}
.dash-chrome i{width:7px;height:7px;border-radius:50%;background:#258eff}
.dash-title{margin:12px 0;color:#d6eaff;font-size:11px;font-weight:700}
.dash-main{
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(105px,.8fr);
  gap:11px;
  min-width:0;
}
.mini-chart{
  height:145px;
  display:flex;
  align-items:flex-end;
  gap:8px;
  padding:16px;
  overflow:hidden;
  border-radius:12px;
  border:1px solid rgba(95,174,255,.12);
  background:rgba(7,35,77,.42);
}
.mini-chart span{
  flex:1;
  min-width:0;
  border-radius:5px 5px 2px 2px;
  background:linear-gradient(#49b4ff,#0f5acc);
}
.mini-chart span:nth-child(1){height:28%}
.mini-chart span:nth-child(2){height:43%}
.mini-chart span:nth-child(3){height:38%}
.mini-chart span:nth-child(4){height:61%}
.mini-chart span:nth-child(5){height:74%}
.mini-chart span:nth-child(6){height:90%}
.metric{
  min-width:0;
  padding:11px 12px;
  border-radius:11px;
  border:1px solid rgba(103,180,255,.15);
  background:rgba(13,63,129,.52);
}
.metric small{display:block;color:#b9cee5;font-size:8px}
.metric strong{display:block;font-size:19px}
.metric em{display:block;color:#32dfa0;font-size:10px;font-style:normal}
.customers{margin-top:6px}

/* ---------- JT&S HOLOGRAM ---------- */
.pedestal{
  position:absolute;
  left:10%;
  bottom:18px;
  width:43%;
  height:80px;
  z-index:6;
  border-radius:50%;
  background:radial-gradient(ellipse at center,#2ca5ff 0,#0a5bd1 26%,rgba(8,50,118,.48) 52%,transparent 70%);
  filter:drop-shadow(0 0 25px rgba(26,149,255,.48));
}
.jt-mark{
  position:absolute;
  left:50%;
  top:-35px;
  transform:translateX(-50%);
  padding:11px 18px;
  white-space:nowrap;
  border-radius:9px;
  border:1px solid #5cbaff;
  background:rgba(15,73,157,.78);
  font-size:34px;
  font-weight:900;
  letter-spacing:-3px;
  box-shadow:0 0 28px rgba(41,159,255,.48);
}
.jt-mark span{color:#54b7ff}

/* ---------- FLOATING FEATURE CARDS ---------- */
.float-stack{
  position:absolute;
  top:73px;
  right:2%;
  width:155px;
  z-index:8;
  display:grid;
  gap:8px;
}
.float-stack>div{
  display:flex;
  align-items:center;
  gap:9px;
  padding:10px;
  border-radius:11px;
  border:1px solid rgba(103,180,255,.25);
  background:rgba(15,64,129,.73);
  box-shadow:0 12px 28px rgba(0,0,0,.20);
}
.float-stack .ui-icon{width:21px;height:21px;flex:0 0 21px;color:#7cc7ff}
.float-stack b,.float-stack small{display:block}
.float-stack b{font-size:10px}
.float-stack small{font-size:8px;color:#a9bdd5}

/* ==========================================================
   DIVISION BAND
   ========================================================== */
.division-band{
  width:min(1540px,calc(100% - 72px));
  margin:4px auto 0;
  display:grid;
  grid-template-columns:155px minmax(0,1fr);
  gap:18px;
  align-items:stretch;
  padding:15px 20px;
  position:relative;
  z-index:10;
  overflow:hidden;
  border-radius:16px;
}
.band-intro{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
}
.band-intro .eyebrow{font-size:14px;line-height:1.05}
.band-intro p{margin:7px 0 0;color:#c0d1e6;font-size:10px}
.division-grid{
  min-width:0;
  display:grid;
  grid-template-columns:repeat(10,minmax(0,1fr));
  gap:10px;
}
.home-grid .division-card{
  width:100%;
  min-width:0;
  height:88px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  overflow:hidden;
  border-radius:11px;
  border:1px solid rgba(105,181,255,.26);
  background:linear-gradient(155deg,rgba(21,75,146,.48),rgba(4,29,68,.68));
  transition:.18s;
}
.home-grid .division-card:hover{
  transform:translateY(-2px);
  border-color:#57b5ff;
  box-shadow:0 14px 30px rgba(0,82,173,.20);
}
.home-grid .division-card .icon-box{display:grid;place-items:center;color:#72c3ff}
.home-grid .division-card .ui-icon{width:31px;height:31px}
.home-grid .division-card b{
  max-width:100%;
  font-size:11px;
  line-height:1.08;
  text-align:center;
}
.home-grid .division-card small{display:none}

/* ==========================================================
   WHITE SOLUTIONS AREA
   ========================================================== */
.light-zone{
  width:100%;
  margin:0;
  padding:20px 0 14px;
  position:relative;
  z-index:4;
  clear:both;
  color:var(--ink);
  background:linear-gradient(180deg,#f9fbff,#edf3fb);
}
.home-solutions{
  display:grid;
  grid-template-columns:.72fr minmax(0,2.8fr) minmax(185px,1.05fr) minmax(210px,1.15fr);
  gap:14px;
  align-items:stretch;
}
.solutions-intro{min-width:0;padding:7px 4px}
.solutions-intro h2,.why-card h3,.featured-partners h3{
  margin:0 0 8px;
  font-size:16px;
  letter-spacing:-.02em;
}
.solutions-intro h2 span,.why-card h3 span,.featured-partners h3 span{color:#176be6}
.solutions-intro p,.featured-partners p{color:#60728a;font-size:10px}
.solutions-intro .btn{min-height:36px;margin-top:8px;padding:0 12px;font-size:10px}

.solution-grid{
  min-width:0;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}
.solution-card{
  min-width:0;
  display:flex;
  align-items:flex-start;
  gap:9px;
  padding:10px;
  overflow:hidden;
  border-radius:10px;
  border:1px solid #dbe7f5;
  background:#fff;
  box-shadow:0 5px 16px rgba(16,53,91,.05);
}
.light-icon{
  width:32px;
  height:32px;
  flex:0 0 32px;
  display:grid;
  place-items:center;
  border-radius:8px;
  color:#176be6;
  background:#edf5ff;
}
.light-icon .ui-icon{width:20px;height:20px}
.solution-card>div{min-width:0}
.solution-card b{display:block;font-size:9px;overflow-wrap:anywhere}
.solution-card small{
  display:block;
  margin-top:3px;
  color:#667a92;
  font-size:7.5px;
  line-height:1.3;
  overflow-wrap:anywhere;
}
.why-card,.featured-partners{
  min-width:0;
  padding:11px 12px;
  border-radius:12px;
  border:1px solid #dbe7f5;
  background:#fff;
}
.why-card ul{list-style:none;padding:0;margin:0;display:grid;gap:6px}
.why-card li{display:flex;align-items:flex-start;gap:6px}
.why-card li>.ui-icon{width:13px;height:13px;flex:0 0 13px;color:#176be6}
.why-card b,.why-card small{display:block}
.why-card b{font-size:8.5px}
.why-card small{font-size:7px;color:#64778d}
.partner-mini{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
  margin-top:9px;
}
.partner-mini>div{
  min-width:0;
  display:flex;
  align-items:center;
  gap:7px;
  padding:8px;
  border:1px solid #dce8f5;
  border-radius:9px;
}
.partner-mini .light-icon{width:29px;height:29px;flex-basis:29px}
.partner-mini b,.partner-mini small,.partner-mini em{display:block}
.partner-mini b{font-size:8.5px}
.partner-mini small{font-size:7px;color:#65788f}
.partner-mini em{font-size:6.5px;color:#176be6;font-style:normal;font-weight:800}
.featured-partners>a{display:inline-block;margin-top:8px;color:#176be6;font-size:8px;font-weight:800}

/* ---------- FOOTER ---------- */
.site-footer{position:relative;z-index:6;background:#03152f}
.footer-highlights{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
  padding:16px 0;
}
.footer-highlights>div{display:flex;align-items:center;justify-content:center;gap:10px}
.footer-highlights .ui-icon{width:23px;height:23px}
.footer-highlights b,.footer-highlights small{display:block}
.footer-highlights b{font-size:9px}
.footer-highlights small{font-size:7px;color:#a8bad1}
.footer-bottom{
  border-top:1px solid rgba(107,179,255,.14);
  padding:12px 0;
  text-align:center;
  color:#c5d3e5;
  font-size:10px;
}
.chat-fab{
  position:fixed;
  right:18px;
  bottom:16px;
  z-index:55;
  width:174px;
  max-width:calc(100vw - 36px);
  padding:12px;
  border-radius:15px;
  background:linear-gradient(155deg,#0d5fd8,#061e48);
  border:1px solid #3c94ff;
  box-shadow:0 18px 45px rgba(0,70,160,.4);
  display:grid;
  gap:2px;
}
.chat-fab span{font-size:8px}
.chat-fab b{font-size:9px;line-height:1.25}
.chat-fab strong{font-size:9px;background:#0e79ff;padding:7px 9px;border-radius:7px;margin-top:5px}
.chat-fab small{font-size:7px;color:#6df1a5}
.mobile-tabbar{display:none}

/* ==========================================================
   LAPTOP / SMALL DESKTOP
   ========================================================== */
@media(max-width:1180px){
  .shell{width:min(100% - 40px,1140px)}
  .desktop-nav{gap:17px}
  .header-actions{gap:9px}
  .search-link span{display:none}

  .hero{
    width:min(100% - 40px,1140px);
    grid-template-columns:minmax(0,1fr) minmax(370px,.9fr);
    gap:30px;
  }
  .hero h1{font-size:clamp(43px,4.1vw,56px);white-space:nowrap}
  .hero-visual{height:360px}
  .dashboard-window{right:6%;width:80%;height:255px}
  .float-stack{display:none}
  .pedestal{width:48%}

  .division-band{
    width:min(100% - 40px,1140px);
    grid-template-columns:135px minmax(0,1fr);
    gap:12px;
  }
  .division-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
  .home-grid .home-grid .division-card{height:88px}

  .home-solutions{
    grid-template-columns:.76fr minmax(0,2.3fr) minmax(180px,1fr);
  }
  .featured-partners{grid-column:1/-1}
  .partner-mini{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* ==========================================================
   TABLET + PHONE
   ========================================================== */
@media(max-width:820px){
  body{padding-bottom:0}
  .shell{width:calc(100% - 28px)}

  .site-header{
    height:76px;
    margin-top:12px;
    padding:0 18px;
    position:relative;
    top:auto;
    border-radius:20px;
  }
  .desktop-nav,.desktop-only{display:none!important}
  .mobile-only{display:flex}
  .brand>span{font-size:31px}
  .brand small{font-size:12px;text-align:left;margin-left:1px}
  .header-actions{margin-left:auto}
  .mobile-menu{
    position:absolute;
    top:96px;
    right:14px;
    width:calc(100% - 28px);
  }

  /* Mobile hero is a normal vertical flow */
  .hero{
    width:calc(100% - 28px);
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:24px;
    min-height:0;
    padding:34px 0 22px;
    overflow:visible;
  }
  .hero-copy{width:100%}
  .hero h1{
    max-width:100%;
    margin:14px 0;
    font-size:clamp(38px,10.5vw,48px);
    line-height:1;
    white-space:normal;
  }
  .hero p{max-width:100%;font-size:16px}
  .hero-actions{
    width:100%;
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    margin:20px 0;
  }
  .hero-actions .btn{width:100%}

  .trust-row{
    width:100%;
    grid-template-columns:1fr;
    gap:9px;
  }
  .trust-row>div,
  .trust-row>div:first-child{
    padding:7px 0 7px 13px;
    border-right:0;
    border-left:1px solid var(--line);
  }
  .trust-row b{font-size:13px}
  .trust-row small{font-size:11px}

  /*
     This box reserves real height in the document.
     Nothing below can move on top of it.
  */
  .hero-visual{
    flex:0 0 auto;
    width:100%;
    height:300px;
    margin:0;
    overflow:hidden;
    border-radius:24px;
  }
  .hero-glow{border-radius:inherit}
  .dashboard-window{
    top:24px;
    left:6%;
    right:auto;
    width:88%;
    height:215px;
    padding:15px;
  }
  .dash-main{grid-template-columns:minmax(0,1.3fr) minmax(95px,.8fr)}
  .mini-chart{height:116px;padding:11px;gap:6px}
  .metric{padding:8px}
  .metric strong{font-size:16px}
  .pedestal{
    left:7%;
    bottom:13px;
    width:54%;
    height:68px;
  }
  .jt-mark{font-size:27px}
  .float-stack{display:none}

  /* Division section follows the hero naturally */
  .division-band{
    width:calc(100% - 28px);
    display:block;
    margin:8px auto 0;
    padding:20px 16px;
    border-radius:22px;
    overflow:hidden;
  }
  .band-intro{margin-bottom:15px}
  .band-intro .eyebrow{font-size:13px}
  .band-intro p{max-width:320px;font-size:12px}
  .division-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }
  .home-grid .division-card{
    height:108px;
    border-radius:15px;
  }
  .home-grid .home-grid .division-card .ui-icon{width:34px;height:34px}
  .home-grid .home-grid .division-card b{font-size:12px}

  /* White content begins after divisions — no negative positioning */
  .light-zone{
    margin-top:18px;
    padding:28px 0;
  }
  .home-solutions{
    display:grid;
    grid-template-columns:1fr;
    gap:18px;
  }
  .solutions-intro h2,.why-card h3,.featured-partners h3{font-size:22px}
  .solutions-intro p,.featured-partners p{font-size:13px}
  .solutions-intro .btn{font-size:12px;min-height:42px}
  .solution-grid{
    grid-template-columns:1fr;
    gap:10px;
  }
  .solution-card{
    min-height:82px;
    padding:13px;
  }
  .solution-card b{font-size:11px}
  .solution-card small{font-size:9px}
  .light-icon{width:38px;height:38px;flex-basis:38px}
  .light-icon .ui-icon{width:22px;height:22px}

  .why-card,.featured-partners{padding:18px}
  .why-card ul{gap:10px}
  .why-card li>.ui-icon{width:16px;height:16px;flex-basis:16px}
  .why-card b{font-size:11px}
  .why-card small{font-size:9px}
  .partner-mini{grid-template-columns:1fr}
  .partner-mini>div{padding:12px}
  .partner-mini b{font-size:10px}
  .partner-mini small{font-size:9px}
  .partner-mini em{font-size:8px}
  .featured-partners>a{font-size:10px}

  .footer-highlights{
    grid-template-columns:1fr;
    gap:13px;
    padding:20px 8px;
  }
  .footer-highlights>div{justify-content:flex-start}
  .footer-highlights b{font-size:11px}
  .footer-highlights small{font-size:9px}
  .footer-bottom{font-size:9px;padding:14px 0 22px}

  .chat-fab{display:none}
  .mobile-tabbar{display:none!important}
}

@media(max-width:480px){
  .hero h1{font-size:40px}
  .hero-visual{height:275px}
  .dashboard-window{height:198px}
  .mini-chart{height:102px}
  .division-grid{grid-template-columns:1fr 1fr}
}

/* Installed PWA only — safe-area bottom nav */

/* ---------- MOBILE INNER PAGES ---------- */
@media(max-width:820px){
  .page-hero{
    padding:38px 0 20px;
  }
  .page-hero h1{
    margin:14px 0 10px;
    font-size:clamp(36px,10vw,46px);
    line-height:1.02;
  }
  .page-hero p{
    margin:0;
    font-size:15px;
    line-height:1.5;
  }
  .section{
    padding:14px;
    margin-top:12px;
    border-radius:20px;
  }
  .solution-grid.large,
  .detail-grid{
    grid-template-columns:1fr !important;
    gap:14px;
  }
  .solution-grid.large .division-card,
  .detail-grid .division-card{
    min-height:0 !important;
    height:auto !important;
    padding:20px;
    gap:12px;
    border-radius:17px;
  }
  .solution-grid.large .division-card h3,
  .detail-grid .division-card h3{
    font-size:22px;
    line-height:1.12;
  }
  .solution-grid.large .division-card p,
  .detail-grid .division-card p{
    font-size:14px;
    line-height:1.5;
  }
  .solution-grid.large .division-card .btn,
  .detail-grid .division-card .btn{
    margin-top:4px;
    width:100%;
  }
}

@media(display-mode:standalone) and (max-width:820px){
  body{padding-bottom:86px}
  .mobile-tabbar{
    display:flex!important;
    position:fixed;
    left:12px;
    right:12px;
    bottom:max(10px,env(safe-area-inset-bottom));
    z-index:80;
    height:66px;
    border-radius:18px;
    padding:7px;
    align-items:center;
    justify-content:space-around;
  }
  .mobile-tabbar a{
    display:grid;
    place-items:center;
    gap:2px;
    font-size:10px;
    color:#bdd2e9;
  }
  .mobile-tabbar a span{font-size:19px}
}



/* ==========================================================
   INNER PAGE CARDS — NEVER SHARE HOMEPAGE TILE GEOMETRY
   ========================================================== */
.solution-grid.large,
.detail-grid{
  display:grid;
  gap:20px;
}
.solution-grid.large .division-card,
.detail-grid .division-card{
  width:auto;
  min-width:0;
  height:auto !important;
  min-height:285px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  gap:16px;
  padding:26px;
  overflow:visible;
  border-radius:20px;
  border:1px solid var(--line);
  background:linear-gradient(145deg,rgba(15,59,124,.58),rgba(4,23,55,.66));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055),0 18px 48px rgba(0,0,0,.20);
}
.solution-grid.large .division-card .card-icon,
.detail-grid .division-card .card-icon{
  display:grid;
  place-items:center;
  min-height:34px;
  color:#72c3ff;
  font-size:28px;
}
.solution-grid.large .division-card h3,
.detail-grid .division-card h3{
  margin:0;
  width:100%;
  font-size:25px;
  line-height:1.08;
  letter-spacing:-.02em;
  text-align:left;
}
.solution-grid.large .division-card p,
.detail-grid .division-card p{
  margin:0;
  width:100%;
  color:#c5d6e9;
  font-size:15px;
  line-height:1.5;
  overflow-wrap:anywhere;
}
.solution-grid.large .division-card .btn,
.detail-grid .division-card .btn{
  margin-top:auto;
}

/* Generic inner pages / portal / admin */
.page-hero{padding:68px 24px 38px}.page-hero h1{font-size:clamp(44px,5vw,70px);line-height:1;letter-spacing:-.04em;margin:16px 0 10px}.page-hero p{font-size:18px;color:#d0deef;max-width:760px}.section{padding:30px;margin-top:20px;margin-bottom:28px;border-radius:22px}.section-heading.compact h2{font-size:28px;margin:6px 0}.section-heading p{color:var(--muted)}.solution-grid.large{grid-template-columns:repeat(4,1fr)}.detail-grid{grid-template-columns:repeat(4,1fr)}.placeholder-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.placeholder-grid article,.content-panel{padding:26px;border-radius:20px}.tabs{display:flex;gap:10px;margin-bottom:24px}.tabs a,.tabs button{padding:10px 16px;border:1px solid var(--line);border-radius:10px;background:rgba(12,46,94,.46);color:white}.tabs .active{background:#106ce8}.contact-form{max-width:940px;margin:auto;border-radius:22px;padding:26px;display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-form label,.login-card label{display:grid;gap:7px;color:#cfe1f5}.contact-form .full{grid-column:1/-1}input,select,textarea{width:100%;border:1px solid var(--line);background:rgba(3,18,42,.68);border-radius:11px;padding:13px;color:white;outline:none}input:focus,select:focus,textarea:focus{border-color:#4fb1ff;box-shadow:0 0 0 3px rgba(40,154,255,.12)}.login-wrap{min-height:65vh;display:grid;place-items:center;padding:70px 0}.login-card{width:min(470px,100%);padding:34px;border-radius:26px;display:grid;gap:18px}.brand.big>span{font-size:48px}.cta-band{margin-top:40px;margin-bottom:28px;border-radius:22px;padding:26px 30px;display:flex;align-items:center;justify-content:space-between;gap:22px}.flash{margin-top:18px;padding:14px 18px;border-radius:12px}.flash.success{background:#0a7449;border:1px solid #32d691}.flash.error{background:#7b2030;border:1px solid #ff738c}.content-panel{padding:26px;border-radius:20px}.content-panel label,.admin-form label{display:grid;gap:7px;margin-bottom:14px}.dashboard{display:grid;grid-template-columns:240px 1fr;gap:24px;align-items:start}.portal-nav{border-radius:18px;padding:12px;display:grid;position:sticky;top:20px}.portal-nav a{padding:13px;border-radius:10px;color:#bcd0e8}.portal-nav a:hover,.portal-nav a.active{background:#126ee7;color:white}.portal-main{display:grid;gap:22px}.stat-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:15px;margin:22px 0}.stat-grid article{padding:24px;border-radius:18px;display:grid}.stat-grid b{font-size:32px}.stat-grid span{color:#a9bdd6}.table-wrap{overflow:auto}.table-wrap table{width:100%;border-collapse:collapse;min-width:720px}.table-wrap th,.table-wrap td{text-align:left;padding:13px;border-bottom:1px solid rgba(120,180,245,.18);vertical-align:top}.table-wrap th{color:#86c7ff}.status{display:inline-block;padding:5px 9px;border-radius:999px;background:rgba(40,137,255,.2);border:1px solid rgba(90,170,255,.3)}.admin-top{height:72px;margin:12px;border-radius:18px;padding:0 22px;display:flex;align-items:center;justify-content:space-between}.admin-top nav{display:flex;gap:18px}.admin-layout{display:grid;grid-template-columns:220px 1fr;gap:18px;margin:12px}.admin-nav{min-height:calc(100vh - 108px);border-radius:18px;padding:12px;display:grid;align-content:start;gap:5px}.admin-nav a{padding:12px;border-radius:9px}.admin-nav a:hover{background:#0f6ee7}.admin-main{min-width:0;padding:10px 6px 60px}.admin-main h1{font-size:38px}.admin-form{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}.admin-form.vertical{grid-template-columns:1fr}.admin-form textarea{min-height:90px}.admin-form .btn{align-self:end}hr{width:100%;border:0;border-top:1px solid var(--line)}.search-form{display:flex;gap:12px;max-width:760px}.search-form input{font-size:18px}.ticket-thread{margin-top:24px}.ticket-msg{padding:15px 18px;margin:12px 0;border-radius:14px;background:rgba(7,35,76,.7);border:1px solid var(--line)}.ticket-msg.staff{background:rgba(15,92,187,.28);margin-left:8%}.ticket-msg b,.ticket-msg small{display:block}.ticket-msg small{color:#95aac5;margin-top:2px}.ticket-msg p{margin-bottom:0}

@media(max-width:1180px){.shell{width:min(100% - 40px,1140px)}.desktop-nav{gap:17px}.header-actions{gap:9px}.search-link span{display:none}.hero{grid-template-columns:1fr 1fr}.float-stack{display:none}.dashboard-window{right:2%;width:78%}.division-band{grid-template-columns:125px 1fr}.division-grid{grid-template-columns:repeat(5,1fr)}.home-grid .home-grid .division-card{height:88px}.home-solutions{grid-template-columns:1fr 2.3fr}.why-card,.featured-partners{margin-top:0}.solution-grid{grid-template-columns:repeat(4,1fr)}.home-solutions>.why-card,.home-solutions>.featured-partners{grid-column:auto}.home-solutions{grid-template-columns:.75fr 2.5fr 1.1fr}.featured-partners{grid-column:1/-1}.partner-mini{grid-template-columns:repeat(2,1fr)}.solution-grid.large{grid-template-columns:repeat(3,1fr)}.detail-grid{grid-template-columns:repeat(3,1fr)}}

@media(max-width:820px){
  body{padding-bottom:0}.shell{width:calc(100% - 28px)}.site-header{height:76px;margin-top:12px;padding:0 18px;position:relative;top:auto;border-radius:20px}.desktop-nav,.desktop-only{display:none!important}.mobile-only{display:flex}.brand>span{font-size:31px}.brand small{font-size:12px;text-align:left;margin-left:1px}.header-actions{margin-left:auto}.mobile-menu{position:absolute;top:96px;right:14px;width:calc(100% - 28px)}
  .hero{grid-template-columns:1fr;gap:12px;min-height:auto;padding:42px 2px 20px}.hero h1{font-size:clamp(42px,12vw,58px);line-height:1.02;margin:16px 0 14px}.hero p{font-size:16px}.hero-actions{display:grid;grid-template-columns:1fr;max-width:390px}.hero-actions .btn{width:100%}.trust-row{display:grid;grid-template-columns:1fr;gap:12px}.trust-row>div{border-right:0;border-left:1px solid var(--line);padding-left:13px;padding-right:0}.trust-row b{font-size:14px}.trust-row small{font-size:12px}.hero-visual{height:300px;margin-top:12px}.dashboard-window{left:7%;right:auto;top:20px;width:86%;height:218px;padding:16px}.dash-main{grid-template-columns:1.3fr .8fr}.mini-chart{height:120px;padding:12px;gap:6px}.metric strong{font-size:16px}.pedestal{left:8%;bottom:18px;width:50%}.jt-mark{font-size:28px}.float-stack{display:none}
  .division-band{display:block;padding:22px 18px;margin-top:14px;border-radius:24px}.band-intro{margin-bottom:16px}.band-intro .eyebrow{font-size:13px}.band-intro p{font-size:13px;max-width:320px}.division-grid{grid-template-columns:repeat(2,1fr);gap:10px}.home-grid .division-card{height:112px;border-radius:16px}.home-grid .home-grid .division-card .ui-icon{width:34px;height:34px}.home-grid .division-card b{font-size:13px}
  .light-zone{margin-top:18px;padding:28px 0}.home-solutions{display:grid;grid-template-columns:1fr;gap:18px}.solutions-intro h2,.why-card h3,.featured-partners h3{font-size:23px}.solutions-intro p,.featured-partners p{font-size:14px}.solutions-intro .btn{font-size:13px;min-height:42px}.solution-grid{grid-template-columns:1fr 1fr;gap:10px}.solution-card{padding:13px;min-height:110px}.solution-card b{font-size:12px}.solution-card small{font-size:10px}.light-icon{width:38px;height:38px;flex-basis:38px}.light-icon .ui-icon{width:22px;height:22px}.why-card,.featured-partners{padding:18px}.why-card ul{gap:10px}.why-card li>.ui-icon{width:16px;height:16px;flex-basis:16px}.why-card b{font-size:12px}.why-card small{font-size:10px}.partner-mini{grid-template-columns:1fr 1fr}.partner-mini>div{padding:12px}.partner-mini b{font-size:11px}.partner-mini small{font-size:9px}.partner-mini em{font-size:8px}.featured-partners>a{font-size:11px}
  .footer-highlights{grid-template-columns:1fr;gap:13px;padding:20px 8px}.footer-highlights b{font-size:12px}.footer-highlights small{font-size:10px}.footer-bottom{font-size:10px;padding:14px 0 22px}.chat-fab{display:none}
  /* Do not float a bottom bar over normal Safari/Chrome content. It becomes fixed only in installed PWA mode below. */
  .mobile-tabbar{display:none!important}
  .page-hero{padding:48px 2px 24px}.page-hero h1{font-size:44px}.page-hero p{font-size:16px}.section{padding:20px}.solution-grid.large{grid-template-columns:1fr}.detail-grid{grid-template-columns:repeat(2,1fr)}.placeholder-grid{grid-template-columns:1fr}.contact-form{grid-template-columns:1fr;padding:18px}.contact-form .full{grid-column:auto}.cta-band{display:grid;padding:22px}.dashboard{grid-template-columns:1fr}.portal-nav{position:static;grid-template-columns:repeat(2,1fr)}.stat-grid{grid-template-columns:repeat(2,1fr)}.admin-layout{grid-template-columns:1fr;margin:8px}.admin-nav{min-height:auto;grid-template-columns:repeat(2,1fr)}.admin-main{padding:6px}.admin-form{grid-template-columns:1fr}.admin-top{margin:8px}.admin-main h1{font-size:30px}.search-form{display:grid}.ticket-msg.staff{margin-left:0}
}

@media(max-width:480px){.hero h1{font-size:42px}.hero-visual{height:275px}.dashboard-window{height:200px}.mini-chart{height:106px}.division-grid{grid-template-columns:1fr 1fr}.solution-grid{grid-template-columns:1fr}.partner-mini{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr}.hero-actions{max-width:none}}

@media (display-mode:standalone) and (max-width:820px){body{padding-bottom:86px}.mobile-tabbar{display:flex!important;position:fixed;left:12px;right:12px;bottom:max(10px,env(safe-area-inset-bottom));z-index:80;height:66px;border-radius:18px;padding:7px;align-items:center;justify-content:space-around}.mobile-tabbar a{display:grid;place-items:center;gap:2px;font-size:10px;color:#bdd2e9}.mobile-tabbar a span{font-size:19px}}
