/* Education360 · shared site styles (fonts, tokens, header, navigation, footer, components) */
@font-face{font-family:"Figtree";font-style:normal;font-weight:400;font-display:swap;src:url('../assets/fonts/figtree-latin-400-normal.woff2') format("woff2")}@font-face{font-family:"Figtree";font-style:italic;font-weight:400;font-display:swap;src:url('../assets/fonts/figtree-latin-400-italic.woff2') format("woff2")}@font-face{font-family:"Figtree";font-style:normal;font-weight:500;font-display:swap;src:url('../assets/fonts/figtree-latin-500-normal.woff2') format("woff2")}@font-face{font-family:"Figtree";font-style:normal;font-weight:600;font-display:swap;src:url('../assets/fonts/figtree-latin-600-normal.woff2') format("woff2")}@font-face{font-family:"Figtree";font-style:normal;font-weight:700;font-display:swap;src:url('../assets/fonts/figtree-latin-700-normal.woff2') format("woff2")}@font-face{font-family:"Kaisei Decol";font-style:normal;font-weight:500;font-display:swap;src:url('../assets/fonts/kaisei-decol-latin-500-normal.woff2') format("woff2")}@font-face{font-family:"Kaisei Decol";font-style:normal;font-weight:700;font-display:swap;src:url('../assets/fonts/kaisei-decol-latin-700-normal.woff2') format("woff2")}
/* ===== Tokens · Education360 NJSBA design system (Figma: NJSBA › Newsletter Story) ===== */
:root{
  color-scheme:light;
  --navy:#012147;--navy-2:#0A2E5E;--navy-card:#123560;--blue:#0074FF;--blue-deep:#005BD1;--yellow:#FFC301;--yellow-2:#FFD23F;
  --paper:#EDF2F4;--white:#FFFFFF;
  --ink:#012147;--ink-2:#4A5D75;--ink-3:#7A8BA0;
  --on-2:rgba(255,255,255,.8);--on-3:rgba(255,255,255,.58);
  --line-d:rgba(255,255,255,.14);--line-l:rgba(1,33,71,.12);--fill-d:rgba(255,255,255,.06);
  --serif:"Kaisei Decol","Iowan Old Style",Georgia,serif;
  --sans:"Figtree","Helvetica Neue",Arial,sans-serif;
  --r:12px;--r-lg:16px;--ease:cubic-bezier(.2,.7,.2,1);
}
*{box-sizing:border-box}
html,body{margin:0}
@view-transition{navigation:auto}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{background:var(--navy);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,h4{font-family:var(--serif);font-weight:700;margin:0;line-height:1.24;text-wrap:balance;letter-spacing:.01em}
p{margin:0}ul,ol{margin:0;padding:0;list-style:none}a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer;background:none;border:0;padding:0}
img{max-width:100%;height:auto;display:block}
:focus-visible{outline:3px solid var(--yellow);outline-offset:3px;border-radius:6px}
.wrap{max-width:1200px;margin-inline:auto;padding-inline:24px}
@media (max-width:600px){.wrap{padding-inline:16px}}
.skip{position:absolute;left:16px;top:-60px;z-index:100;background:var(--yellow);color:var(--navy);padding:10px 14px;border-radius:8px;font-weight:600}
.skip:focus{top:12px}

.eyebrow{font-weight:600;font-size:14px;letter-spacing:.12em;text-transform:uppercase;color:var(--yellow)}
.eyebrow.blue{color:var(--blue)}
.eyebrow.navy{color:var(--navy)}
.h2{font-size:clamp(30px,3.5vw,46px);line-height:1.2}
.lede{font-size:18px;line-height:1.6}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;font-weight:600;font-size:14.5px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;transition:background .2s,transform .2s var(--ease),box-shadow .25s,border-color .2s,color .2s}
.btn svg{width:18px;height:18px;flex:none;transition:transform .25s var(--ease)}
.btn:hover svg{transform:translateX(3px)}
.btn:active{transform:translateY(1px)}
.btn-yellow{background:var(--yellow);color:var(--navy);border-radius:var(--r)}
.btn-yellow:hover{background:var(--yellow-2);box-shadow:0 12px 26px -14px rgba(255,195,1,.9)}
.btn-navy{background:var(--navy);color:#fff;border-radius:999px}
.btn-navy:hover{background:var(--navy-2)}
.btn-line{border:1.5px solid rgba(255,255,255,.45);color:#fff;border-radius:999px}
.btn-line:hover{border-color:#fff;background:rgba(255,255,255,.07)}
.btn-line.dk{border-color:var(--line-l);color:var(--navy)}
.btn-line.dk:hover{border-color:var(--navy)}
.btn-sm{min-height:42px;padding:0 18px;font-size:13px}
.lk{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:var(--blue)}
.lk svg{width:16px;height:16px;transition:transform .25s var(--ease)}
.lk:hover svg{transform:translateX(4px)}
.lk.y{color:var(--yellow)}
.tag{display:inline-flex;align-items:center;font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border-radius:5px;background:var(--yellow);color:var(--navy);white-space:nowrap}
.chip{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border-radius:8px;border:1px solid var(--line-l);background:#fff;color:var(--navy);font-weight:600;font-size:12.5px;letter-spacing:.04em;text-transform:uppercase}
.illus{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);border:1px dashed var(--line-l);border-radius:6px;padding:3px 8px}

/* ===== Utility + header ===== */
.util{background:var(--navy);color:#fff;font-size:14px}
.util .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:40px}
.util-ev{display:flex;align-items:center;gap:10px}
.util-ev .pip{width:8px;height:8px;border-radius:50%;background:var(--yellow);animation:pulse 2.4s infinite}
.util-ev b{font-weight:700;color:var(--yellow);letter-spacing:.04em}
.util-ev u{text-underline-offset:3px;text-decoration-color:rgba(255,255,255,.4)}
.util-ev:hover u{text-decoration-color:var(--yellow)}
.util-links{display:flex;gap:22px;color:var(--on-2)}
.util-links a:hover{color:#fff}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(255,195,1,.6)}70%{box-shadow:0 0 0 9px rgba(255,195,1,0)}100%{box-shadow:0 0 0 0 rgba(255,195,1,0)}}
@media (max-width:760px){.util-links,.util-ev .hs{display:none}}
.site-header{position:sticky;top:env(safe-area-inset-top,0px);z-index:60;padding-top:12px;background:var(--blue);transition:background .3s}
.site-header.scrolled{background:transparent}
.bar{position:relative;display:flex;align-items:center;gap:4px;height:66px;padding:0 10px 0 18px;background:#fff;border-radius:var(--r-lg);transition:box-shadow .3s}
.scrolled .bar{box-shadow:0 18px 40px -20px rgba(1,33,71,.45),0 0 0 1px rgba(1,33,71,.06)}
.logo{display:flex;align-items:center;gap:10px;margin-right:22px;color:var(--navy)}
.logo svg{width:29px;height:34px}
.logo b{font-weight:700;font-size:17px;letter-spacing:.03em}
.nav{display:flex;align-items:center;gap:2px}
.nav-trigger{display:flex;align-items:center;gap:6px;height:44px;padding:0 14px;border-radius:10px;font-weight:600;font-size:15px;color:var(--navy);transition:background .15s}
.nav-trigger svg{width:12px;height:12px;opacity:.55;transition:transform .2s var(--ease)}
.nav-trigger:hover,.nav-trigger[aria-expanded="true"]{background:var(--paper)}
.nav-trigger[aria-expanded="true"] svg{transform:rotate(180deg)}
.bar-end{margin-left:auto;display:flex;align-items:center;gap:8px}
.menu-toggle{display:none;width:44px;height:44px;border-radius:10px;place-items:center;color:var(--navy);background:var(--paper)}
.menu-toggle svg{width:20px;height:20px}
@media (max-width:1020px){.nav{display:none}.menu-toggle{display:grid}}
@media (max-width:440px){.bar-end .btn{display:none}.logo b{font-size:15px}}

.mega{position:absolute;left:24px;right:24px;top:calc(100% + 8px);background:#fff;border-radius:var(--r-lg);box-shadow:0 30px 60px -30px rgba(1,33,71,.55),0 0 0 1px rgba(1,33,71,.06);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .18s,transform .22s var(--ease),visibility 0s .22s;overflow:hidden}
.mega.open{opacity:1;visibility:visible;transform:none;transition:opacity .18s,transform .22s var(--ease)}
.mega::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}
.mega-in{display:grid}
.m-sol{grid-template-columns:260px 1fr 280px}
.m-side{display:grid;gap:4px;align-content:start;padding:18px;background:var(--paper)}
.m-tab{display:grid;gap:2px;text-align:left;padding:12px 14px;border-radius:10px;border-left:3px solid transparent}
.m-tab b{font-family:var(--serif);font-size:18px;color:var(--navy)}
.m-tab span{font-size:13px;color:var(--ink-3)}
.m-tab:hover{background:rgba(255,255,255,.6)}
.m-tab[aria-selected="true"]{background:#fff;border-left-color:var(--yellow)}
.m-pane{padding:26px 32px;display:grid;gap:12px;align-content:start}
.m-pane h3{font-size:24px;color:var(--navy)}
.m-pane .for{font-size:14px;color:var(--ink-2)}
.m-pane .for b{color:var(--blue);font-weight:600}
.mh{font-weight:700;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.m-links{display:grid;grid-template-columns:1fr 1fr;gap:0 28px}
.m-links a,.m-links span{padding:8px 0;font-size:15px;font-weight:500;color:var(--ink-2);border-bottom:1px solid var(--line-l)}
.m-links a:hover{color:var(--blue)}
.m-links .all{color:var(--blue);font-weight:700;border-bottom:0}
.m-feat{margin:16px;border-radius:var(--r);background:var(--navy);color:#fff;padding:22px;display:grid;gap:10px;align-content:start;border-bottom:4px solid var(--yellow);transition:transform .25s var(--ease)}
.m-feat:hover{transform:translateY(-2px)}
.m-feat .eyebrow{font-size:12px}
.m-feat b{font-family:var(--serif);font-size:22px;line-height:1.25}
.m-feat p{font-size:14px;color:var(--on-2)}
.m-grid{grid-template-columns:repeat(3,1fr);padding:14px}
.mcard{display:grid;gap:4px;padding:16px 18px;border-radius:10px;align-content:start;transition:background .15s}
.mcard:hover{background:var(--paper)}
.mcard b{font-family:var(--serif);font-size:18px;color:var(--navy);display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.mcard span{font-size:14px;color:var(--ink-2)}
.mcard b .tag{font-family:var(--sans);font-size:10px;font-weight:700;letter-spacing:.08em;color:var(--navy);padding:3px 7px}
.mcard b{flex-wrap:nowrap;white-space:nowrap}
.m-list{grid-template-columns:1fr 1fr 290px;padding:14px 0 14px 14px}

.drawer{position:fixed;inset:0;z-index:80;visibility:hidden}
.drawer.open{visibility:visible}
.d-scrim{position:absolute;inset:0;background:rgba(1,33,71,.55);opacity:0;transition:opacity .25s}
.drawer.open .d-scrim{opacity:1}
.d-panel{position:absolute;right:0;top:0;bottom:0;width:min(420px,100%);background:var(--navy);color:#fff;padding:calc(16px + env(safe-area-inset-top,0px)) 20px calc(24px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:6px;overflow-y:auto;transform:translateX(100%);transition:transform .3s var(--ease)}
.drawer.open .d-panel{transform:none}
.d-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.d-top .logo{color:#fff;margin:0}
.d-top .menu-toggle{display:grid;background:var(--fill-d);color:#fff}
.drawer details{border-bottom:1px solid var(--line-d)}
.drawer summary{list-style:none;display:flex;justify-content:space-between;align-items:center;padding:16px 4px;font-family:var(--serif);font-size:22px;cursor:pointer}
.drawer summary::-webkit-details-marker{display:none}
.drawer summary svg{width:16px;height:16px;transition:transform .2s}
.drawer details[open] summary svg{transform:rotate(180deg)}
.drawer details ul{display:grid;padding:0 4px 16px}
.drawer details li a{display:block;padding:9px 0;color:var(--on-2)}
.drawer .grp{display:block;margin-top:10px;color:var(--yellow);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.d-foot{margin-top:auto;display:grid;gap:12px;padding-top:24px}
.d-foot .row{display:flex;gap:22px;justify-content:center;font-size:14px;color:var(--on-2)}

/* ===== Hero (blue, photo, floating UI) ===== */
.hero{background:var(--blue);color:#fff;position:relative;overflow:hidden;border-bottom:12px solid var(--yellow)}
.hero::before{content:"";position:absolute;right:-12%;top:-30%;width:70%;aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,rgba(255,255,255,.18),transparent 70%);pointer-events:none}
.hero .wrap{display:grid;grid-template-columns:1fr 1.05fr;gap:32px;align-items:end;min-height:620px}
.hero-copy{display:grid;gap:24px;justify-items:start;padding-block:64px 88px;align-self:center}
.hero h1{font-size:clamp(36px,4.1vw,54px);line-height:1.12;text-transform:uppercase;letter-spacing:.02em}
.hero h1 .ln{display:block;overflow:hidden}
.hero h1 .ln>span{display:block;animation:lineUp .9s var(--ease) both}
.hero h1 .ln:nth-child(2)>span{animation-delay:.1s}
.hero h1 .ln:nth-child(2)>span{color:var(--yellow)}
@keyframes lineUp{from{transform:translateY(105%)}to{transform:none}}
.hero .lede{color:rgba(255,255,255,.93);max-width:48ch;animation:fadeUp .8s var(--ease) .3s both}
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px;animation:fadeUp .8s var(--ease) .4s both}
.hero-also{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:15px;color:var(--on-2);animation:fadeUp .8s var(--ease) .5s both}
.hero-also a{color:#fff;font-weight:600;border-bottom:1.5px solid rgba(255,255,255,.35)}
.hero-also a:hover{border-color:var(--yellow)}
@keyframes fadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.hero-art{position:relative;align-self:end;height:100%;min-height:560px}
.hero-art .photo{position:absolute;left:-2%;right:-6%;bottom:0;width:108%;max-width:none;animation:photoIn 1.1s var(--ease) .15s both}
@keyframes photoIn{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}
.float{position:absolute;background:#fff;color:var(--navy);border-radius:14px;box-shadow:0 24px 50px -24px rgba(1,20,60,.55);padding:14px 16px;display:grid;gap:10px;animation:floatIn .8s var(--ease) both,bob 6s ease-in-out infinite}
@keyframes floatIn{from{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:none}}
@keyframes bob{0%,100%{translate:0 0}50%{translate:0 -8px}}
.f-portrait{left:0;top:34px;width:330px;animation-delay:.6s,1.4s}
.f-alert{right:0;top:262px;width:270px;animation-delay:.8s,2.2s;border-left:5px solid var(--yellow)}
.f-src{left:34%;top:-6px;padding:10px 14px;animation-delay:1s,0s;display:flex;align-items:center;gap:8px;border-radius:999px}
.f-src .s{font-size:11.5px;font-weight:700;letter-spacing:.08em;padding:4px 8px;border-radius:6px;background:var(--paper)}
.f-src .s.on{background:var(--blue);color:#fff}
.f-src svg{width:14px;height:14px;color:var(--ink-3)}
.fp-top{display:flex;align-items:center;gap:10px}
.fp-top img{width:44px;height:44px;border-radius:50%;object-fit:cover;border:3px solid var(--paper)}
.fp-top b{font-family:var(--serif);font-size:16px;display:block;line-height:1.2}
.fp-top small{font-size:12px;color:var(--ink-3)}
.fp-top .tag{margin-left:auto}
.bars{display:grid;grid-template-columns:repeat(12,1fr);gap:3px;align-items:end;height:38px}
.bars span{display:block;border-radius:3px 3px 1px 1px;background:rgba(0,116,255,.22);height:var(--h);transform-origin:bottom;animation:grow .9s var(--ease) both;animation-delay:calc(var(--i)*45ms + .9s)}
.bars span:last-child{background:var(--blue)}
@keyframes grow{from{transform:scaleY(.25)}to{transform:scaleY(1)}}
.mini-chips{display:flex;flex-wrap:wrap;gap:5px}
.mini-chips span{font-size:11.5px;padding:3px 9px;border-radius:999px;background:var(--paper);font-weight:500}
.mini-chips i{font-style:normal;color:var(--ink-3);margin-right:3px}
.f-alert b{font-size:14px;display:flex;align-items:center;gap:8px}
.f-alert b::before{content:"";width:8px;height:8px;border-radius:50%;background:#E0A100;animation:blink 2.4s ease-in-out infinite}
.f-alert span{font-size:13px;color:var(--ink-2)}
.f-alert .roles{display:flex;gap:4px;flex-wrap:wrap}
.f-alert .roles em{font-style:normal;font-size:11px;font-weight:600;padding:3px 8px;border-radius:6px;background:var(--paper);color:var(--ink-2)}
.f-alert .roles em.on{background:var(--navy);color:#fff}
@keyframes blink{50%{opacity:.3}}
.hero-art .illus{position:absolute;right:0;bottom:16px;color:rgba(255,255,255,.8);border-color:rgba(255,255,255,.4);background:rgba(1,33,71,.25)}
@media (max-width:1000px){.hero .wrap{grid-template-columns:1fr;min-height:0;gap:0}.hero-copy{padding-block:48px 24px}.hero-art{min-height:0;height:auto;padding-top:110px}.hero-art .photo{position:relative;left:0;width:100%}.f-portrait{top:0;width:min(330px,70%)}.f-alert{top:40px;width:min(260px,56%)}.f-src{display:none}}
@media (max-width:620px){.f-portrait{display:none}.f-alert{top:0;right:0;width:min(270px,80%);padding:12px 14px}.hero-art{padding-top:120px}}

/* ===== Marquee break ===== */
.marquee{background:var(--yellow);color:var(--navy);overflow:hidden;border-bottom:1px solid rgba(1,33,71,.08)}
.marquee-track{display:flex;width:max-content;animation:marq 38s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
.marquee-group{display:flex;align-items:center;gap:36px;padding:20px 18px}
.marquee-group span{font-family:var(--serif);font-weight:700;font-size:22px;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.marquee-group svg{width:20px;height:24px;flex:none;opacity:.85}
@keyframes marq{to{transform:translateX(-50%)}}

/* ===== Sections ===== */
.sec{padding-block:112px;position:relative}
.sec.paper{background:var(--paper)}
.sec.white{background:#fff}
.sec.navy{background:var(--navy);color:#fff}
.sec.blue{background:var(--blue);color:#fff}
.sec-head{display:grid;gap:16px;max-width:760px;margin-bottom:52px}
.sec-head p{font-size:18px;color:var(--ink-2)}
.navy .sec-head p,.blue .sec-head p{color:var(--on-2)}
.split{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:20px 40px;max-width:none}
.split>p{max-width:42ch}
@media (max-width:760px){.sec{padding-block:76px}.sec-head{margin-bottom:36px}}

/* Solutions selector */
.step{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}
.step i{font-style:normal;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--yellow);color:var(--navy);font-size:12px;letter-spacing:0}
.tabs-wrap{display:grid;gap:16px;margin-bottom:22px}
.tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media (max-width:860px){.tabs{grid-template-columns:1fr}}
.tab{position:relative;display:grid;gap:6px;align-content:start;text-align:left;padding:24px 60px 24px 26px;border-radius:var(--r-lg);background:#fff;border:1.5px solid transparent;transition:background .3s,color .3s,transform .3s var(--ease),box-shadow .3s}
.tab:hover{transform:translateY(-3px);box-shadow:0 20px 40px -26px rgba(1,33,71,.5)}
.tab b{font-family:var(--serif);font-size:26px;line-height:1.2}
.tab .for{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--blue)}
.tab .aud{font-size:14.5px;color:var(--ink-2)}
.tab .radio{position:absolute;right:22px;top:24px;width:24px;height:24px;border-radius:50%;border:2px solid var(--line-l);display:grid;place-items:center;transition:border-color .2s}
.tab[aria-selected="true"]{background:var(--navy);color:#fff}
.tab[aria-selected="true"] .for{color:var(--yellow)}
.tab[aria-selected="true"] .aud{color:var(--on-2)}
.tab[aria-selected="true"] .radio{border-color:var(--yellow)}
.tab[aria-selected="true"] .radio::after{content:"";width:12px;height:12px;border-radius:50%;background:var(--yellow)}
.tab[aria-selected="true"]::after{content:"";position:absolute;left:50%;bottom:-10px;width:18px;height:18px;background:var(--navy);transform:translateX(-50%) rotate(45deg);border-radius:3px}
@media (max-width:860px){.tab[aria-selected="true"]::after{display:none}}
.faces{display:flex;margin-top:6px}
.faces img{width:34px;height:34px;border-radius:50%;object-fit:cover;border:2.5px solid #fff;margin-left:-8px}
.faces img:first-child{margin-left:0}
.tab[aria-selected="true"] .faces img{border-color:var(--navy)}
.panel{background:#fff;border-radius:var(--r-lg);box-shadow:0 30px 60px -40px rgba(1,33,71,.45);overflow:hidden}
.panel-body{display:grid;grid-template-columns:1fr 1.15fr 1fr}
@media (max-width:1000px){.panel-body{grid-template-columns:1fr}}
.pcol{padding:34px 30px;display:grid;gap:16px;align-content:start;animation:fadeUp .4s var(--ease) both}
.pcol+.pcol{border-left:1px solid var(--line-l)}
.pcol:nth-child(2){animation-delay:.05s}.pcol:nth-child(3){animation-delay:.1s}
@media (max-width:1000px){.pcol+.pcol{border-left:0;border-top:1px solid var(--line-l)}}
.pcol h3{font-size:30px;color:var(--navy)}
.pcol .fr{color:var(--ink-2)}
.pcol .fr b{color:var(--navy);font-weight:600}
.core-chips{display:flex;flex-wrap:wrap;gap:6px}
.nrow{display:grid;grid-template-columns:1fr auto;gap:4px 14px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line-l)}
.nrow .nm{font-weight:600;font-size:16px;color:var(--navy);display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.nrow .mods{grid-column:1;display:flex;flex-wrap:wrap;gap:4px 10px;font-size:12.5px;color:var(--ink-3)}
.nrow .mods span::before{content:"+ ";color:var(--blue);font-weight:700}
.nrow .nd{grid-column:1;font-size:14px;line-height:1.5;color:var(--ink-2);max-width:52ch}
.pbody{font-size:16px;line-height:1.6;color:var(--ink-2)}
.nrow .go{grid-row:1/3;grid-column:2;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:var(--blue);background:var(--paper);transition:background .2s,color .2s,transform .25s var(--ease)}
.nrow .go svg{width:15px;height:15px}
.nrow:hover .nm{color:var(--blue)}
.nrow:hover .go{background:var(--blue);color:#fff;transform:translateX(3px)}
.p-vis{background:var(--navy);color:#fff}
.p-vis .mh{color:var(--on-3)}
.p-vis .illus{color:var(--on-3);border-color:var(--line-d)}
.mini{background:#fff;color:var(--navy);border-radius:var(--r);padding:16px;display:grid;gap:12px}
.mini .fp-top .av{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--blue);color:#fff;font-family:var(--serif);font-weight:700;border:3px solid var(--paper);flex:none}
.mini .alert{display:grid;gap:2px;padding:10px 12px;border-radius:10px;background:#FFF6D6;border-left:4px solid var(--yellow);font-size:13px}
.mini .alert b{font-size:13.5px}
.mini .alert span{color:var(--ink-2)}
.mini .roles{display:flex;align-items:center;gap:5px;flex-wrap:wrap;font-size:12px;color:var(--ink-3)}
.mini .roles em{font-style:normal;font-size:11.5px;font-weight:600;padding:3px 9px;border-radius:6px;background:var(--paper);color:var(--ink-2)}
.mini .roles em.on{background:var(--navy);color:#fff}
.p-cta{grid-column:1/-1;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 28px;padding:22px 30px;background:var(--paper);border-top:1px solid var(--line-l)}
.p-cta p{color:var(--ink-2);margin-top:6px}
.p-cta .sub{font-size:14px;color:var(--ink-3)}
.p-cta .sub a{color:var(--navy);font-weight:600;border-bottom:1px solid var(--line-l)}
.p-cta-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px}

/* Statement break (image) */
.statement{position:relative;min-height:520px;display:grid;place-items:center;text-align:center;color:#fff;overflow:hidden;background:var(--blue)}
.statement .bg{position:absolute;inset:-12% 0;background:url(../assets/images/wave.webp) center/cover no-repeat;will-change:transform}
.statement::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,60,160,.35),rgba(0,40,110,.15) 50%,rgba(1,33,71,.45))}
.statement .wrap{position:relative;z-index:1;display:grid;gap:22px;justify-items:center;padding-block:96px}
.statement h2{font-size:clamp(34px,4.6vw,62px);line-height:1.16;text-transform:uppercase;letter-spacing:.03em;max-width:22ch;text-shadow:0 4px 30px rgba(1,33,71,.35)}
.statement h2 em{font-style:normal;color:var(--yellow)}
.statement p{font-size:18px;color:rgba(255,255,255,.92);max-width:52ch}

/* Products · orbit */
.prod{display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:start}
@media (max-width:1000px){.prod{grid-template-columns:1fr;gap:40px}}
.orbit{position:relative;width:100%;max-width:560px;aspect-ratio:1;margin-inline:auto}
.orbit svg.lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.orbit .ring{fill:none;stroke:var(--blue);stroke-width:1.5;stroke-dasharray:4 8;opacity:.5;transform-origin:50% 50%;animation:spin 60s linear infinite}
.orbit .ring2{fill:none;stroke:var(--line-l);stroke-width:1}
@keyframes spin{to{transform:rotate(360deg)}}
.orbit .spoke{stroke:var(--blue);stroke-width:2;stroke-dasharray:200;stroke-dashoffset:200;transition:stroke-dashoffset 1s var(--ease);opacity:.7}
.orbit.in .spoke{stroke-dashoffset:0}
.orbit .spoke:nth-of-type(2){transition-delay:.15s}.orbit .spoke:nth-of-type(3){transition-delay:.3s}.orbit .spoke:nth-of-type(4){transition-delay:.45s}
.ring-label{font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:.18em;fill:var(--blue)}
.core-node{position:absolute;left:50%;top:50%;width:34%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:var(--navy);padding:6px;box-shadow:0 0 0 10px rgba(0,116,255,.1),0 30px 60px -30px rgba(1,33,71,.7)}
.core-node img{width:100%;height:100%;border-radius:50%;object-fit:cover}
.core-node .tag{position:absolute;left:50%;bottom:-12px;transform:translateX(-50%);font-size:11px;padding:5px 10px}
.core-node::before{content:"";position:absolute;inset:-18px;border-radius:50%;border:2px solid var(--yellow);opacity:0;animation:halo 3.2s ease-out infinite}
@keyframes halo{0%{opacity:.8;transform:scale(.92)}100%{opacity:0;transform:scale(1.18)}}
.mod-node{position:absolute;width:30%;transform:translate(-50%,-50%) scale(.85);opacity:.35;background:#fff;border-radius:14px;padding:12px 14px;box-shadow:0 18px 36px -24px rgba(1,33,71,.5);border:1px solid var(--line-l);transition:transform .6s var(--ease),opacity .6s,border-color .3s,background .3s,color .3s;text-align:left}
.mod-node b{font-family:var(--serif);font-size:16px;line-height:1.2;display:block;color:var(--navy);transition:color .3s}
.mod-node span{font-size:12px;color:var(--ink-2);display:block;margin-top:2px;transition:color .3s}
.orbit.in .mod-node{transform:translate(-50%,-50%);opacity:1}
.orbit.in .mod-node:nth-of-type(2){transition-delay:.25s}.orbit.in .mod-node:nth-of-type(3){transition-delay:.4s}.orbit.in .mod-node:nth-of-type(4){transition-delay:.55s}.orbit.in .mod-node:nth-of-type(5){transition-delay:.7s}
.mod-node.hl{background:var(--blue);border-color:var(--blue)}
.mod-node.hl b,.mod-node.hl span{color:#fff}
@media (max-width:520px){.mod-node{width:36%;padding:9px 10px}.mod-node b{font-size:13.5px}.mod-node span{display:none}}
.prod-copy{display:grid;gap:22px}
.core-box{background:var(--navy);color:#fff;border-radius:var(--r-lg);padding:26px;display:grid;gap:14px;border-bottom:5px solid var(--yellow)}
.core-box .eyebrow{font-size:12.5px}
.core-box p{color:var(--on-2);font-size:15px}
.core-items{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (max-width:520px){.core-items{grid-template-columns:1fr}}
.core-item{display:grid;gap:4px;padding:14px;border-radius:10px;background:var(--fill-d);border:1px solid var(--line-d);transition:background .2s,border-color .2s}
.core-item:hover{background:rgba(255,255,255,.1);border-color:var(--yellow)}
.core-item b{font-family:var(--serif);font-size:18px}
.core-item span{font-size:13.5px;color:var(--on-2)}
.core-item small{font-size:12px;color:var(--on-3)}
.mods-list{display:grid;border-top:1px solid var(--line-l)}
.mod-row{display:grid;grid-template-columns:1fr auto;gap:2px 16px;align-items:center;padding:16px 4px;border-bottom:1px solid var(--line-l);transition:background .2s,padding .25s var(--ease)}
.mod-row:hover{padding-left:12px;background:var(--paper)}
.mod-row b{font-family:var(--serif);font-size:20px;color:var(--navy)}
.mod-row span{grid-column:1;font-size:14.5px;color:var(--ink-2)}
.mod-row small{grid-column:1;font-size:12.5px;color:var(--ink-3)}
.mod-row svg{grid-row:1/4;grid-column:2;width:20px;height:20px;color:var(--blue);transition:transform .25s var(--ease)}
.mod-row:hover svg{transform:translateX(4px)}

/* Services (navy + image) */
.svc-sec{overflow:hidden}
.svc-sec .bgimg{position:absolute;inset:0;background:url(../assets/images/stream.webp) center/cover no-repeat;opacity:.55}
.svc-sec::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(1,33,71,.96) 0%,rgba(1,33,71,.82) 45%,rgba(1,33,71,.55) 100%)}
.svc-sec .wrap{position:relative;z-index:1}
.svc-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:28px}
@media (max-width:960px){.svc-grid{grid-template-columns:1fr}}
.svc-feat{background:rgba(255,255,255,.08);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--line-d);border-radius:var(--r-lg);padding:32px;display:grid;gap:18px;align-content:start;transition:border-color .25s}
.svc-feat:hover{border-color:var(--yellow)}
.svc-feat h3{font-size:30px}
.svc-feat>p{color:var(--on-2)}
.ways{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (max-width:520px){.ways{grid-template-columns:1fr}}
.way{background:var(--fill-d);border-radius:10px;padding:16px;display:grid;gap:4px;border-left:4px solid var(--blue)}
.way:nth-child(2){border-left-color:var(--yellow)}
.way b{font-family:var(--serif);font-size:18px}
.way span{font-size:14px;color:var(--on-2)}
.svc-list{display:grid;align-content:start;border-top:1px solid var(--line-d)}
.svc{display:grid;grid-template-columns:auto 1fr auto;gap:4px 22px;align-items:center;padding:26px 4px;border-bottom:1px solid var(--line-d)}
.svc .num{grid-row:1/3;font-family:var(--serif);font-size:15px;color:var(--yellow);width:40px;height:40px;border-radius:50%;border:1.5px solid rgba(255,195,1,.5);display:grid;place-items:center}
.svc b{font-family:var(--serif);font-size:24px;transition:color .2s}
.svc p{grid-column:2;color:var(--on-2)}
.svc .arr{grid-row:1/3;grid-column:3;width:48px;height:48px;border-radius:50%;border:1.5px solid rgba(255,255,255,.3);display:grid;place-items:center;transition:background .2s,border-color .2s,color .2s}
.svc .arr svg{width:18px;height:18px}
.svc:hover b{color:var(--yellow)}
.svc:hover .arr{background:var(--yellow);border-color:var(--yellow);color:var(--navy)}

/* Trust · editorial */
.trust .wm{position:absolute;right:4%;top:60px;width:300px;height:360px;color:var(--navy);opacity:.05;pointer-events:none}
.trust h2{font-size:clamp(36px,4.6vw,64px);line-height:1.14;max-width:21ch;color:var(--navy)}
.trust h2 em{font-style:normal;color:var(--blue)}
.t-sub{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:20px;margin-top:28px}
.t-sub p{font-size:18px;color:var(--ink-2);max-width:46ch}
.t-cols{display:grid;grid-template-columns:repeat(3,1fr);margin-top:64px;border-top:2px solid var(--navy)}
@media (max-width:860px){.t-cols{grid-template-columns:1fr}}
.t-col{position:relative;display:grid;gap:12px;align-content:start;padding:30px 28px 10px 0}
.t-col+.t-col{padding-left:28px;border-left:1px solid var(--line-l)}
@media (max-width:860px){.t-col+.t-col{padding-left:0;border-left:0;border-top:1px solid var(--line-l)}}
.t-col::before{content:"";position:absolute;left:0;right:0;top:-2px;height:4px;background:var(--yellow);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.t-col:hover::before{transform:scaleX(1)}
.t-col .ic{width:52px;height:52px;border-radius:14px;background:#fff;color:var(--blue);display:grid;place-items:center;box-shadow:0 12px 24px -16px rgba(1,33,71,.5);transition:background .2s,color .2s}
.t-col:hover .ic{background:var(--blue);color:#fff}
.t-col .ic svg{width:24px;height:24px}
.t-col b{font-family:var(--serif);font-size:28px;color:var(--navy)}
.t-col p{color:var(--ink-2);max-width:28ch}
.t-foot{margin-top:40px;padding-top:20px;border-top:1px solid var(--line-l);display:flex;flex-wrap:wrap;gap:10px 24px;align-items:center;font-size:15px;color:var(--ink-2)}
.t-foot .who{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.t-foot a{color:var(--blue);font-weight:600;border-bottom:1.5px solid currentColor}

/* About */
.about{display:grid;grid-template-columns:1fr 1.3fr;gap:64px;align-items:start}
@media (max-width:960px){.about{grid-template-columns:1fr;gap:32px}}
.about-copy{display:grid;gap:16px}
.about-copy p{font-size:18px;color:var(--ink-2);max-width:40ch}
.about-links{display:grid;border-top:2px solid var(--navy)}
.al{position:relative;display:grid;grid-template-columns:1fr auto;gap:4px 24px;align-items:center;padding:26px 4px;border-bottom:1px solid var(--line-l)}
.al::after{content:"";position:absolute;left:0;bottom:-1px;height:3px;width:0;background:var(--yellow);transition:width .45s var(--ease)}
.al:hover::after{width:100%}
.al b{font-family:var(--serif);font-size:clamp(26px,3vw,36px);color:var(--navy);line-height:1.2}
.al span{grid-column:1;color:var(--ink-2)}
.al svg{grid-row:1/3;grid-column:2;width:24px;height:24px;color:var(--blue);transition:transform .3s var(--ease)}
.al:hover svg{transform:translateX(5px)}

/* NJSBA (blue + students) */
.nj{padding-bottom:0;overflow:hidden}
.nj-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:56px;align-items:start}
@media (max-width:960px){.nj-grid{grid-template-columns:1fr;gap:40px}}
.nj-left{display:grid;gap:22px;justify-items:start}
.nj-left h2{font-size:clamp(34px,4.2vw,56px);text-transform:uppercase;letter-spacing:.02em;line-height:1.15}
.nj-left>p{color:rgba(255,255,255,.92);font-size:18px;max-width:44ch}
.stat{width:100%;background:var(--navy);border-radius:var(--r-lg);padding:26px;display:grid;gap:2px;text-align:center;border-bottom:5px solid var(--yellow)}
.stat .cap{font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--on-2)}
.stat .big{font-family:var(--serif);font-weight:700;font-size:clamp(76px,9vw,116px);line-height:1;color:var(--yellow);font-variant-numeric:tabular-nums}
.countdown{display:flex;justify-content:center;gap:10px;margin-top:12px}
.countdown div{min-width:72px;padding:10px 8px;border-radius:10px;background:rgba(255,255,255,.06);display:grid}
.countdown b{font-family:var(--serif);font-size:26px;line-height:1.1;font-variant-numeric:tabular-nums}
.countdown span{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--on-3)}
.agenda{display:grid;gap:12px}
.ag{display:grid;grid-template-columns:110px 1fr;gap:20px;background:var(--navy);border-radius:var(--r-lg);padding:22px 24px;transition:transform .3s var(--ease)}
.ag:hover{transform:translateX(6px)}
.ag .d{font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--on-3)}
.ag .d b{display:block;font-family:var(--serif);font-size:28px;color:var(--yellow);letter-spacing:0;text-transform:none}
.ag h3{font-size:22px;margin-bottom:4px}
.ag p{font-size:15px;color:var(--on-2)}
.ag .row{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.ag .row a{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:6px 12px;border-radius:8px;border:1px solid var(--line-d);color:#fff;background:var(--fill-d);transition:border-color .2s,color .2s}
.ag .row a:hover{border-color:var(--yellow);color:var(--yellow)}
@media (max-width:520px){.ag{grid-template-columns:1fr;gap:8px}}
.nj-photo{position:relative;margin-top:56px;display:flex;justify-content:center;border-bottom:12px solid var(--yellow)}
.nj-photo img{width:min(760px,100%)}
.nj-photo .bubble{position:absolute;right:max(16px,calc(50% - 470px));top:18%;background:#fff;color:var(--navy);border-radius:14px 14px 14px 4px;padding:12px 16px;font-family:var(--serif);font-size:18px;box-shadow:0 20px 40px -20px rgba(1,20,60,.6);animation:bob 5s ease-in-out infinite}
.nj-photo .bubble small{display:block;font-family:var(--sans);font-size:12px;color:var(--ink-3);letter-spacing:.06em;text-transform:uppercase;font-weight:700}
@media (max-width:700px){.nj-photo .bubble{display:none}}

/* Final CTA */
.cta{overflow:hidden}
.cta .glass{position:absolute;right:-8%;top:50%;width:52%;max-width:680px;aspect-ratio:1;transform:translateY(-50%);background:url(../assets/images/glass.webp) center/cover;border-radius:50%;opacity:.28;-webkit-mask:radial-gradient(closest-side,#000 55%,transparent);mask:radial-gradient(closest-side,#000 55%,transparent);pointer-events:none}
.cta .wrap{position:relative;z-index:1}
.cta-box{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:end;padding-bottom:48px;border-bottom:1px solid var(--line-d)}
@media (max-width:900px){.cta-box{grid-template-columns:1fr;gap:28px}}
.cta h2{font-size:clamp(38px,5vw,64px);line-height:1.15;text-transform:uppercase;letter-spacing:.02em}
.cta h2 span{color:var(--yellow)}
.cta-right{display:grid;gap:22px;justify-items:start}
.cta-right p{color:var(--on-2);font-size:18px;max-width:42ch}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding-top:40px}
@media (max-width:760px){.steps{grid-template-columns:1fr;gap:18px}}
.stp{display:grid;grid-template-columns:40px 1fr;gap:14px;color:var(--on-2)}
.stp .n{width:40px;height:40px;border-radius:50%;border:1.5px solid var(--yellow);color:var(--yellow);display:grid;place-items:center;font-weight:700}
.stp b{display:block;color:#fff;font-weight:600;font-size:17px}

/* Footer */
footer{background:var(--navy);color:#fff;border-top:1px solid var(--line-d);padding-block:72px 36px}
.f-top{display:grid;justify-items:center;text-align:center;gap:14px;padding-bottom:56px;border-bottom:1px solid var(--line-d)}
.f-top .logo{color:#fff;margin:0}
.f-top .logo svg{width:42px;height:50px}
.f-top .logo b{font-size:24px}
.f-top .tl{font-family:var(--serif);font-size:24px;letter-spacing:.1em;text-transform:uppercase}
.f-top .sub{color:var(--on-3);font-size:17px}
.f-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;padding-block:48px}
@media (max-width:760px){.f-grid{grid-template-columns:1fr 1fr}}
.f-col{display:grid;gap:10px;align-content:start}
.f-col h4{font-family:var(--sans);font-size:12.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--yellow);margin-bottom:4px}
.f-col a{color:var(--on-2);font-size:15px}
.f-col a:hover{color:#fff}
.f-sub{display:grid;grid-template-columns:1fr 1fr;gap:32px}.f-sub>div{display:grid;gap:10px;align-content:start}
.f-bot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;padding-top:24px;border-top:1px solid var(--line-d);color:var(--on-3);font-size:14px}
.f-bot nav{display:flex;gap:20px;flex-wrap:wrap}
.f-bot a:hover{color:#fff}

.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translate(-50%,20px);z-index:95;background:#fff;color:var(--navy);padding:12px 18px;border-radius:12px;font-size:14px;font-weight:500;max-width:calc(100% - 32px);box-shadow:0 20px 40px -20px rgba(1,33,71,.6);opacity:0;pointer-events:none;transition:opacity .2s,transform .3s var(--ease);border-left:4px solid var(--yellow)}
.toast.show{opacity:1;transform:translate(-50%,0)}
.toast code{font-size:12px;color:var(--ink-3);margin-left:8px}

/* Scroll reveal (only for content below the first screen; everything stays readable) */
.rv{transition:transform .9s var(--ease),opacity .9s var(--ease);transition-delay:var(--d,0s)}
.js .rv.pre{transform:translateY(28px);opacity:0}
.js .rv.pre.l{transform:translateX(-28px)}
.js .rv.pre.s{transform:scale(.94)}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.js .rv.pre{transform:none;opacity:1}.orbit .spoke{stroke-dashoffset:0}.mod-node{opacity:1;transform:translate(-50%,-50%)}}

/* Copy deck v4 additions */
.more-cap{margin-top:16px;font-size:14px;color:var(--ink-3)}
.simplify{margin-top:72px;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:24px 64px;align-items:center;padding:40px 44px;border-radius:var(--r-lg);background:var(--paper);border-left:6px solid var(--yellow)}
.simplify h3{font-family:var(--serif);font-size:clamp(26px,2.6vw,36px);line-height:1.15;text-transform:uppercase;letter-spacing:.02em;color:var(--navy);margin-top:12px}
.sp-body{display:grid;gap:14px}.sp-body p{font-size:17px;line-height:1.6;color:var(--ink-2)}
.sp-body .sp-line{font-weight:700;color:var(--navy);font-size:18px}
@media (max-width:860px){.simplify{grid-template-columns:1fr;padding:30px 24px}}
.svc-lede{font-size:18px;line-height:1.6;color:var(--on-2);max-width:52ch}
.num-big{font-family:var(--serif);font-size:56px;line-height:1;color:var(--yellow)}
.t-principle{margin-top:48px;font-family:var(--serif);text-transform:uppercase;letter-spacing:.02em;font-size:clamp(24px,3.2vw,44px);line-height:1.2;color:var(--navy)}
.t-principle span{display:inline-block}.t-principle span:nth-child(2){color:var(--blue)}
.t-principle span:nth-child(3){background:linear-gradient(transparent 62%,var(--yellow) 62%);padding-inline:4px}
.ag-k{display:block;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--yellow);margin-bottom:6px}
.ag .d b{font-size:24px}
.cta .eyebrow{color:var(--yellow)}
.svc-feat{align-content:space-between}
.sys-chips{display:flex;flex-wrap:wrap;gap:8px}.sys-chips span{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:7px 12px;border-radius:8px;border:1px solid var(--line-d);background:var(--fill-d);color:#fff}

/* ===================== FIGMA SYNC LAYER · desktop spec 1920 (content 1328) ===================== */
:root{--wrap:1328px;--gut:clamp(20px,4vw,56px)}
.wrap{max-width:calc(var(--wrap) + var(--gut)*2);padding-inline:var(--gut)}
.sec{padding-block:clamp(72px,8.4vw,120px)}
h1,h2,h3,h4{letter-spacing:.01em}
.h2{font-size:clamp(30px,2.9vw,48px);line-height:1.2;letter-spacing:.01em}
.hero h1,.kx-hero h1{font-size:clamp(36px,3.6vw,62px)!important;line-height:1.2!important;letter-spacing:.02em!important;text-transform:none!important}
.eyebrow{font-size:clamp(13px,1.1vw,16px);letter-spacing:.12em;line-height:1.2}
.lede{font-size:18px;line-height:1.6}
.btn{min-height:52px;padding:0 26px;font-size:14px;letter-spacing:.08em;border-radius:999px;line-height:1}
.btn-yellow{border-radius:999px}
.btn-sm{min-height:42px;padding:0 18px;font-size:13px}
.btn svg{width:20px;height:20px}
/* header bar */
.bar{height:66px;padding:0 12px 0 24px;border-radius:16px}
.logo{margin-right:48px}
.nav-trigger{font-size:14px;font-weight:600;padding:12px 14px;border-radius:10px;gap:6px}
/* marquee */
.marquee-group span{font-size:20px;letter-spacing:.06em}
.marquee-group{padding:18px 18px;gap:24px}
.marquee.static{display:flex;justify-content:center}
.marquee.static .mq-one{display:flex;align-items:center;justify-content:center;gap:24px;padding:18px 24px}
.marquee.static .mq-one span{font-family:var(--serif);font-weight:700;font-size:20px;letter-spacing:.06em;text-transform:uppercase;color:var(--navy);text-align:center}
.marquee.static .mq-one svg{width:24px;height:24px;flex:none}
/* statement break */
.statement{min-height:0}
.statement::after{background:rgba(0,116,255,.9)}
.statement .wrap{padding-block:80px;gap:32px}
.statement .st-logo{display:flex;align-items:center;gap:12px;color:#fff}
.statement .st-logo svg{width:40px;height:48px}
.statement .st-logo b{font-size:21px;letter-spacing:.03em}
.statement .st-copy{display:grid;gap:16px;justify-items:center;max-width:874px;padding-inline:60px}
.statement h2{font-size:clamp(30px,3.45vw,48px);line-height:1.2;text-transform:none;letter-spacing:.01em;max-width:none;text-shadow:none}
.statement h2 em{display:block;font-style:normal;color:#fff}
.statement p{font-size:20px;font-weight:500;line-height:1.4;letter-spacing:.06em;color:#fff;max-width:none}
/* final CTA */
.cta h2{font-size:clamp(32px,3.45vw,48px);line-height:1.2;text-transform:none;letter-spacing:.01em}
.cta h2 span{color:inherit}
.cta-box{grid-template-columns:minmax(0,648px) minmax(0,535px);justify-content:space-between;gap:48px;padding-bottom:60px;border-bottom:1px solid rgba(255,255,255,.2)}
.cta-right{gap:16px}
.cta-right p{font-size:18px;line-height:1.6;color:rgba(255,255,255,.8)}
.cta .hero-ctas .btn{min-height:42px;padding:0 18px;font-size:13px}
.steps{gap:24px;padding-top:60px}
.stp{grid-template-columns:40px 1fr;gap:20px;padding-right:60px;color:rgba(255,255,255,.8);font-size:16px;line-height:1.5}
.stp .n{width:40px;height:40px;border:1px solid var(--yellow);border-radius:50%;display:grid;place-items:center;color:var(--yellow);font-weight:600;background:none}
.stp b{font-family:var(--serif);font-weight:700;font-size:18px;line-height:1.25;color:#fff;margin-bottom:12px}
.cta .glass{display:none}
/* footer */
footer{padding-block:120px 32px;border-top:1px solid rgba(255,255,255,.2)}
.f-main{display:flex;gap:32px;align-items:flex-start}
.f-brand{flex:0 0 421px;display:grid;gap:24px;padding-right:48px}
.f-brand .logo{margin:0;color:#fff}.f-brand .logo svg{width:47px;height:56px}.f-brand .logo b{font-size:26px}
.f-brand .tl{font-family:var(--serif);font-weight:700;font-size:28px;line-height:1.2;letter-spacing:.01em;color:#fff}
.f-brand .sub{font-size:18px;line-height:1.6;color:rgba(255,255,255,.6);margin-top:-12px}
.f-cols{flex:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,421px) minmax(0,1fr);gap:32px}
.f-col{gap:10px}
.f-col h4{font-family:var(--sans);font-weight:700;font-size:14px;letter-spacing:.12em;text-transform:uppercase;color:var(--yellow);margin-bottom:0}
.f-col a{font-size:16px;line-height:1.5;color:rgba(255,255,255,.8)}
.f-col a:hover{color:#fff}
.f-bot{margin-top:80px;align-items:center;padding-top:32px;border-top:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.8);font-size:14px}
.f-bot>span{flex:1 1 0}
.f-social{display:flex;gap:16px;align-items:center}
.f-social a{display:grid;place-items:center;width:24px;height:24px;color:#fff;opacity:.95}
.f-social a:hover{color:var(--yellow)}
.f-social svg{width:22px;height:22px}
.f-legal{flex:1 1 0;display:flex;justify-content:flex-end;flex-wrap:wrap;gap:16px}
.f-legal a{color:rgba(255,255,255,.8)}
@media (max-width:1100px){.f-main{flex-direction:column;gap:48px}.f-brand{flex:none;padding:0}.cta-box{grid-template-columns:1fr}}
@media (max-width:760px){.f-cols{grid-template-columns:1fr 1fr;gap:32px 20px}.f-prod{grid-column:1/-1;order:-1}.f-sub{gap:20px}.f-bot{flex-direction:column;align-items:flex-start;gap:20px}.f-legal{justify-content:flex-start}.steps{grid-template-columns:1fr}.stp{padding-right:0}.statement .st-copy{padding-inline:0}.statement p{font-size:17px;letter-spacing:.02em}.marquee.static .mq-one span{font-size:16px}}
h1,h2,h3,h4{text-wrap:wrap}
.btn-line{border:1px solid #fff}
.btn-line.dk{border-color:var(--navy)}
.util .wrap{min-height:43px}
.site-header{background:var(--navy)}
body:has(#main>section.hero) .site-header{background:var(--blue)}
footer{padding-bottom:32px}
.cta-right p{max-width:535px}
.cta .cta-box{padding-bottom:60px;border-bottom:1px solid rgba(255,255,255,.2)}
.cta .steps{padding-top:60px}
.nav-trigger.current{box-shadow:none!important}
/* ===================== /FIGMA SYNC LAYER ===================== */

/* ===== Hero photo rises over the yellow band (Figma: photo layer sits above Break · Marquee) ===== */
.hero,.q-hero,.ab .kx-hero,.k3-hero{position:relative!important;overflow:visible!important;overflow-x:clip!important;z-index:4!important}
.hero+.marquee,.q-yband,.ab-band,.k3-yband,.bgx-band,.nj+.marquee{position:relative;z-index:1}
.sec.nj,.k3-band{position:relative;overflow:visible!important;overflow-x:clip!important;z-index:4}
/* desk-line photos: JS (data-desk) shifts them with `translate` so the desk edge sits exactly on the yellow line */
.hero-art .photo,.ha-photo,.ab-photo,.k3-hero .photo,.nj-photo img,.k3-kids img,.bgh-photo{max-width:none;object-fit:contain}


/* hidden panels (e.g. inactive Solutions mega-menu tabs) must stay hidden even when a component sets display */
[hidden]{display:none!important}

/* ===================== MOBILE + TABLET SHELL LAYER (max-width:1199px only · desktop untouched) ===================== */
@media (max-width:1199px){
  html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
  a,button,summary{-webkit-tap-highlight-color:rgba(0,116,255,.14)}
  /* drawer open: lock the page behind it (class set by the shell script) */
  html.d-lock,html.d-lock body{overflow:hidden!important;overscroll-behavior:none}
  .drawer{overscroll-behavior:contain}
  .d-scrim{touch-action:none}
  .d-panel{height:100%;height:100dvh;gap:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;box-shadow:-30px 0 60px -30px rgba(0,0,0,.5)}
  .d-top{position:sticky;top:calc(-16px - env(safe-area-inset-top,0px));z-index:2;margin:calc(-16px - env(safe-area-inset-top,0px)) -20px 6px;padding:calc(16px + env(safe-area-inset-top,0px)) 20px 12px;background:var(--navy)}
  .d-top .logo b{font-size:16px}
  .drawer details:first-of-type{border-top:1px solid var(--line-d)}
  .drawer summary{min-height:60px;padding:14px 4px;font-size:22px;line-height:1.2;-webkit-user-select:none;user-select:none}
  .drawer summary svg{width:16px;height:16px;flex:none;opacity:.8}
  .drawer details[open] summary{color:var(--yellow)}
  .drawer details ul{padding:0 4px 18px}
  .drawer details li a{display:flex;align-items:center;min-height:44px;padding:8px 0;font-size:16px;line-height:1.35;color:var(--on-2);transition:color .15s}
  .drawer details li a:hover,.drawer details li a:active{color:#fff}
  .drawer .grp{margin-top:12px;padding-bottom:4px}
  .d-foot{padding-top:28px;gap:12px}
  .d-foot .btn{width:100%}
  .d-foot .row{gap:8px 28px}
  .d-foot .row a{display:inline-flex;align-items:center;min-height:44px;padding:0 6px}
  /* header bar */
  .menu-toggle{width:44px;height:44px}
  .util-ev{min-height:40px}
  /* mega menus (tablet landscape, nav visible 1021-1199) */
  .mega{max-height:calc(100vh - 150px);max-height:calc(100dvh - 150px);overflow-y:auto;overscroll-behavior:contain}
  .m-sol{grid-template-columns:220px minmax(0,1fr) 236px}
  .m-side{padding:14px}
  .m-tab{padding:12px}
  .m-pane{padding:24px 24px;gap:10px}
  .m-pane h3{font-size:22px}
  .m-links{gap:0 20px}
  .m-links a,.m-links span{font-size:14px;padding:10px 0}
  .m-feat{margin:14px;padding:20px}
  .m-feat b{font-size:20px}
  .m-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .mcard b{white-space:normal;flex-wrap:wrap;font-size:17px}
  .m-list{grid-template-columns:1fr 1fr 260px}
  /* footer */
  footer{padding-block:88px 32px}
  .f-bot{margin-top:56px}
  .f-bot .f-social{gap:8px}
  .f-social a{width:40px;height:40px}
  .f-bot .f-legal{gap:0 20px}
  .f-legal a{display:inline-flex;align-items:center;min-height:40px}
  /* final CTA steps: no desktop right padding once columns narrow */
  .stp{padding-right:0}
}
@media (min-width:761px) and (max-width:1099px){
  .sec{padding-block:88px}
}
@media (min-width:761px) and (max-width:1100px){
  .stp{grid-template-columns:1fr;gap:14px}
}
@media (max-width:1100px){
  .f-main{gap:48px}
  .f-cols{width:100%;grid-template-columns:auto auto auto;justify-content:space-between;gap:32px 40px}
  .f-bot{flex-wrap:wrap;gap:8px 24px}
  .f-bot>span{flex:1 1 auto}
  .f-legal{flex:1 1 100%;order:3;justify-content:flex-start}
  .cta-box{gap:28px}
}
@media (max-width:760px){
  footer{padding-block:64px 28px}
  .f-main{gap:40px}
  .f-brand{gap:18px}
  .f-brand .logo svg{width:40px;height:48px}
  .f-brand .logo b{font-size:22px}
  .f-brand .tl{font-size:24px}
  .f-brand .sub{font-size:16px;margin-top:-8px}
  .f-cols{grid-template-columns:minmax(0,1fr) minmax(0,1fr);justify-content:stretch;gap:32px 20px}
  .f-col a{display:block;padding-block:4px}
  .f-bot{margin-top:44px;padding-top:24px;flex-direction:column;align-items:flex-start;gap:12px}
  .f-bot .f-social{margin-left:-8px}
  .cta .hero-ctas{width:100%}
  .steps{padding-top:40px;gap:24px}
  .cta .cta-box{padding-bottom:40px}
  .cta .steps{padding-top:40px}
  .stp b{margin-bottom:6px}
}
@media (max-width:480px){
  .cta .hero-ctas .btn{flex:1 1 100%}
  .util .wrap{font-size:13px}
  .drawer summary{font-size:21px}
}
/* ===================== /MOBILE + TABLET SHELL LAYER ===================== */

/* Home, mobile/tablet: once scrolled, the sticky header strip is transparent (only the white nav card shows), like the other pages */
@media (max-width:1199px){body:has(#main>section.hero) .site-header.scrolled{background:transparent}}

/* once the page scrolls, the sticky header strip is always see-through (the Home rule that paints it blue only applies at the top, over the blue hero) */
body .site-header.scrolled,body:has(#main>section.hero) .site-header.scrolled{background:transparent!important}
