/* ══════════════════════════════════════════════════════════
   COREX ENGINEERS — DARK PREMIUM / GLASS / DRAWING-SHEET SYSTEM
   ══════════════════════════════════════════════════════════ */
:root{
  --ink:#080E1A;            /* page base — charcoal navy        */
  --ink-2:#0C1426;          /* raised plane                     */
  --ink-3:#101B33;          /* deepest card fill                */
  --glass:rgba(255,255,255,.045);
  --glass-2:rgba(255,255,255,.075);
  --line:rgba(146,178,228,.14);
  --line-2:rgba(146,178,228,.26);
  --tx:#EAF0FA;
  --tx-2:#C3CFE2;
  --mt:#8C9DB8;
  --acc:#82B4FF;            /* ice blue — primary accent        */
  --acc-2:#3D6FD0;          /* deep brand blue                  */
  --acc-dim:rgba(130,180,255,.14);
  --copper:#9CC0FF;         /* secondary ice-blue detail        */
  --copper-dim:rgba(156,192,255,.10);
  --ok:#7BD9A8;
  --r:18px;
  --r-sm:12px;
  --shadow:0 24px 60px -22px rgba(2,6,16,.85), 0 6px 18px -8px rgba(2,6,16,.6);
  --shadow-up:0 36px 80px -24px rgba(2,6,16,.9), 0 0 0 1px var(--line-2), 0 0 44px -14px var(--acc-dim);
  --inset:inset 0 1px 0 rgba(255,255,255,.08);
  --font-d:'Archivo',sans-serif;
  --font-b:'Manrope',sans-serif;
  --font-m:'JetBrains Mono',monospace;
  --pad:clamp(20px,5vw,72px);
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden;scrollbar-gutter:stable both-edges}
body{font-family:var(--font-b);background:var(--ink);color:var(--tx);overflow-x:hidden;position:relative;-webkit-font-smoothing:antialiased;line-height:1.65;font-size:16px}
::selection{background:rgba(130,180,255,.28);color:#fff}
img,video{max-width:100%;height:auto;display:block}
a{color:inherit}
button{font-family:inherit}
:focus-visible{outline:2px solid var(--acc);outline-offset:3px;border-radius:4px}
.skip-link{position:fixed;top:-72px;left:16px;z-index:3000;background:var(--acc);color:#06101F;font-family:var(--font-d);font-weight:700;padding:12px 22px;border-radius:0 0 12px 12px;text-decoration:none;box-shadow:var(--shadow);transition:top .25s cubic-bezier(.2,.8,.25,1)}
.skip-link:focus{top:0}
main:focus{outline:none}


/* animated beams backdrop */
#beams{position:fixed;inset:0;z-index:0;pointer-events:none;filter:blur(26px);opacity:.5}
@media (prefers-reduced-motion: reduce){#beams{display:none}}

main{position:relative;z-index:1}

/* ══ TYPE ══ */
h1,h2,h3,h4{font-family:var(--font-d);line-height:1.08;letter-spacing:-.02em;font-weight:800;color:var(--tx)}
.h-display{font-size:clamp(40px,6.4vw,84px);font-weight:900;letter-spacing:-.035em}
.h-1{font-size:clamp(32px,4.4vw,56px);font-weight:850}
.h-2{font-size:clamp(26px,3.4vw,42px)}
.h-3{font-size:clamp(20px,2.2vw,26px);font-weight:750}
.lead{font-size:clamp(16px,1.5vw,19px);color:var(--tx-2);max-width:62ch}
.muted{color:var(--mt)}
.em{color:var(--acc)}
.em-c{color:var(--copper)}

/* sheet tag — CAD drawing-set eyebrow */
.sheet{display:flex !important;align-items:center;gap:14px;font-family:var(--font-m);font-size:12px !important;font-weight:700 !important;letter-spacing:.22em;text-transform:uppercase;color:#82B4FF !important;margin-bottom:22px;visibility:visible !important;opacity:1 !important;z-index:10}
.sheet::before{content:'';width:34px;height:1px;background:linear-gradient(90deg,transparent,var(--acc))}
.sheet::after{content:'';flex:1;max-width:120px;height:1px;background:linear-gradient(90deg,var(--line-2),transparent)}
.sheet.center{justify-content:center}
.sheet.center::after{flex:0 1 34px;background:linear-gradient(90deg,var(--acc),transparent)}
.sheet.sheet-flush::after{display:none}

/* ══ LAYOUT ══ */
.wrap{max-width:1240px;margin:0 auto;padding:0 var(--pad)}
section{padding:clamp(72px,9vw,128px) 0;position:relative}
.sec-head{max-width:780px;margin-bottom:clamp(40px,5vw,64px)}
.sec-head.center{margin-inline:auto;text-align:center}
.sec-head p{margin-top:18px}
.grid{display:grid;gap:22px}
.g2{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
@media(max-width:1020px){.g4{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.g2,.g3,.g4{grid-template-columns:1fr}}

/* ══ GLASS SURFACES ══ */
.card{position:relative;background:linear-gradient(160deg,var(--glass-2),var(--glass) 55%);border:1px solid var(--line);border-radius:var(--r);padding:30px 28px;box-shadow:var(--shadow),var(--inset);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:transform .45s cubic-bezier(.2,.8,.25,1),box-shadow .45s,border-color .45s;transform-style:preserve-3d;will-change:transform}
.card::before{content:'';position:absolute;inset:0;border-radius:inherit;background:radial-gradient(420px 180px at var(--mx,50%) var(--my,0%),rgba(130,180,255,.10),transparent 65%);opacity:0;transition:opacity .4s;pointer-events:none}
.card:hover{transform:translateY(-7px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));box-shadow:var(--shadow-up),var(--inset);border-color:var(--line-2)}
.card:hover::before{opacity:1}
.tilt-zone{perspective:1100px}

.chip{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-m);font-size:12px;font-weight:500;letter-spacing:.04em;color:var(--tx-2);background:var(--glass);border:1px solid var(--line);border-radius:999px;padding:8px 16px;backdrop-filter:blur(8px);transition:.3s}
.chip:hover{border-color:var(--line-2);color:var(--acc);transform:translateY(-2px)}
.chip .dot{width:5px;height:5px;border-radius:50%;background:var(--acc)}
.det-btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-m);font-size:12.5px;font-weight:600;letter-spacing:.03em;color:var(--acc);background:rgba(130,180,255,.08);border:1px solid var(--line-2);border-radius:999px;padding:9px 18px;transition:gap .3s,background .3s,border-color .3s}
.det-btn span{transition:transform .3s}
.card:hover .det-btn{background:rgba(130,180,255,.18);border-color:var(--acc);gap:11px}
.card:hover .det-btn span{transform:translateX(3px)}
.dotr{width:5px;height:5px;border-radius:50%;background:var(--acc);flex:none}
.std{font-family:var(--font-m);font-size:11.5px;font-weight:600;letter-spacing:.03em;color:var(--acc);background:rgba(130,180,255,.07);border:1px solid var(--line-2);padding:7px 11px;border-radius:7px;white-space:nowrap}
.gov-lbl{color:var(--mt);font-size:11px;letter-spacing:.06em;text-transform:uppercase}
.lab{font-family:var(--font-m);font-size:11px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--mt)}
.spec-row{display:grid;grid-template-columns:150px 1fr;gap:28px;padding:21px 0;border-top:1px solid var(--line);align-items:start}
.spec-row.first{border-top:none}
@media(max-width:640px){.spec-row{grid-template-columns:1fr;gap:9px;padding:16px 0}}
.soc{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--tx-2);background:var(--glass);border:1px solid var(--line);box-shadow:var(--inset);transition:.3s}
.soc:hover{color:var(--acc);border-color:var(--line-2);transform:translateY(-2px)}
.soc svg{width:19px;height:19px}

.icon-tile{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;color:var(--acc);background:linear-gradient(160deg,rgba(130,180,255,.16),rgba(61,111,208,.08));border:1px solid var(--line-2);box-shadow:var(--inset),0 10px 24px -12px rgba(2,6,16,.8);margin-bottom:18px;transform:translateZ(26px)}

/* ══ BUTTONS ══ */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--font-d);font-weight:700;font-size:15px;letter-spacing:.01em;padding:15px 30px;border-radius:14px;border:1px solid transparent;cursor:pointer;text-decoration:none;transition:transform .3s cubic-bezier(.2,.8,.25,1),box-shadow .3s,background .3s,border-color .3s;position:relative;min-height:48px}
.btn-link{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-d);font-weight:700;color:var(--acc);text-decoration:none;border-bottom:1px solid transparent;transition:.3s}
.btn-link:hover{gap:13px;border-color:var(--acc)}

/* ══ NAV ══ */
#nav{position:fixed;top:0;left:0;right:0;z-index:1000;height:78px;display:flex;align-items:center;transition:background .4s,border-color .4s,box-shadow .4s;border-bottom:1px solid transparent}
#nav.scrolled{background:rgba(8,14,26,.78);backdrop-filter:blur(20px) saturate(1.4);-webkit-backdrop-filter:blur(20px) saturate(1.4);border-color:var(--line);box-shadow:0 14px 40px -18px rgba(2,6,16,.9)}
.nav-in{width:100%;max-width:1320px;margin:0 auto;padding:0 clamp(18px,4vw,48px);display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{display:flex;align-items:center;gap:13px;cursor:pointer;text-decoration:none}
.brand-logo{height:42px;width:auto;display:block;filter:drop-shadow(0 4px 12px rgba(2,6,16,.6))}
.brand-sep{width:1.5px;height:36px;flex:none;border-radius:2px;
  background:linear-gradient(180deg,transparent,#CFE2FF 35%,#5F94E8 65%,transparent);
  background-size:100% 240%;animation:sepshine 2.8s ease-in-out infinite alternate;
  box-shadow:0 0 14px rgba(130,180,255,.55)}
@keyframes sepshine{from{background-position:0 0}to{background-position:0 100%}}
.brand b{font-family:var(--font-d);font-weight:800;font-size:17.5px;letter-spacing:.01em;display:block;line-height:1.2}
.brand .bx{color:#0281F6;font-style:normal}
.brand .bel{font-style:normal;font-weight:600;color:#C9D6EA}
.brand small{font-family:var(--font-m);font-weight:500;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:#9FB4D6;display:block;margin-top:3px}
.nav-links{display:flex;align-items:center;gap:8px;list-style:none}
.nav-links a{font-family:var(--font-d);font-weight:600;font-size:15.5px;letter-spacing:.01em;color:var(--tx-2);text-decoration:none;padding:10px 8px;border-radius:10px;transition:.3s;position:relative}
.nav-links a:hover{color:var(--tx);background:var(--glass)}
.nav-links a.active{color:var(--acc)}
.nav-links a.active::after{content:'';position:absolute;left:15px;right:15px;bottom:4px;height:2px;border-radius:2px;background:var(--acc)}
.nav-cta{display:flex;align-items:center;gap:10px}
.nav-cta .shiny-cta{padding:10px 20px;font-size:14px;white-space:nowrap}
.burger{display:none;width:46px;height:46px;border-radius:12px;background:var(--glass);border:1px solid var(--line);cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.burger span{width:20px;height:2px;border-radius:2px;background:var(--tx);transition:.3s}
@media(max-width:960px){.nav-links,.nav-cta .btn{display:none}.burger{display:flex}}
@media(max-width:600px){.nav-in{gap:12px}.brand{gap:10px}.brand-logo{height:34px}.brand-sep{height:30px}.brand b{font-size:15px;white-space:nowrap}.brand small{font-size:11px;letter-spacing:.12em;white-space:nowrap}.nav-cta .shiny-cta{display:none}}

/* mobile drawer */
.drawer{position:fixed;inset:0;z-index:1100;background:rgba(5,9,18,.6);backdrop-filter:blur(6px);opacity:0;pointer-events:none;transition:.35s;overflow:hidden}
.drawer.open{opacity:1;pointer-events:auto}
.drawer-panel{position:absolute;top:0;right:0;bottom:0;width:min(360px,88%);background:linear-gradient(170deg,#0E1830,#080E1A);border-left:1px solid var(--line);padding:28px;display:flex;flex-direction:column;gap:8px;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;transform:translateX(100%);transition:transform .4s cubic-bezier(.2,.8,.25,1)}
@media(max-height:680px){.drawer-panel{gap:4px;padding:20px}.drawer a{padding:10px 16px;font-size:17px}.drawer-x{margin-bottom:8px}}
.drawer.open .drawer-panel{transform:none}
.drawer-x{align-self:flex-end;width:44px;height:44px;border-radius:12px;background:var(--glass);border:1px solid var(--line);color:var(--tx);font-size:18px;cursor:pointer;margin-bottom:14px}
.drawer a{font-family:var(--font-d);font-weight:700;font-size:19px;color:var(--tx-2);text-decoration:none;padding:14px 16px;border-radius:12px;border:1px solid transparent;transition:.3s}
.drawer a:hover,.drawer a.active{color:var(--acc);background:var(--glass);border-color:var(--line)}
.drawer .shiny-cta{margin-top:auto;justify-content:center}
.drawer .shiny-cta+.shiny-cta{margin-top:0}

/* ══ PAGES ══ */
.page{display:none}
.page.active{display:block;animation:pagein .6s cubic-bezier(.2,.8,.25,1)}.page>section:last-child{padding-bottom:clamp(40px,5vw,56px)}
#page-home section{padding:clamp(48px,5.5vw,80px) 0}
#page-home .sec-head{margin-bottom:clamp(24px,3vw,44px)}
#lets-collaborate{padding-top:clamp(40px,5vw,56px)!important;padding-bottom:clamp(40px,5vw,56px)!important}
@keyframes pagein{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
/* ── Mobile hero padding reduction ── */
@media(max-width:680px){
  main section:first-child{padding-top:clamp(96px,20vw,132px)!important}
}

/* ══ HERO (HOME) ══ */
.home-top{position:relative;isolation:isolate;overflow:hidden}
.home-top .ticker{position:relative;z-index:2;background:rgba(8,14,26,.32);backdrop-filter:blur(4px)}
.hero{position:relative;min-height:78svh;display:flex;align-items:center;padding:112px 0 100px}
.hero-video{position:absolute;inset:0;z-index:-3}
.hero-video video{position:relative;z-index:1;width:100%;height:100%;object-fit:cover}
.hero-video .fallback{position:absolute;inset:0;background:radial-gradient(120% 90% at 70% 10%,#1B3D78 0%,#0C1426 55%,#080E1A 100%)}
.hero-shade{position:absolute;inset:0;z-index:-2;background:
  linear-gradient(0deg,var(--ink) 0%,rgba(8,14,26,.45) 8%,transparent 22%),
  linear-gradient(180deg,rgba(6,10,20,.6) 0%,transparent 11%)}
.hero-grid{position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(130,180,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(130,180,255,.05) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(105deg,#000 30%,transparent 70%);-webkit-mask-image:linear-gradient(105deg,#000 30%,transparent 70%)}
.hero-in{display:grid;grid-template-columns:minmax(0,1fr);gap:48px;align-items:center;width:100%}
.hero-kicker{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-m);font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--acc);background:rgba(8,14,26,.72);border:1px solid var(--line-2);border-radius:999px;padding:9px 18px;backdrop-filter:blur(12px);box-shadow:var(--inset)}
.hero-kicker .pulse{width:7px;height:7px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 0 rgba(123,217,168,.6);animation:pulse 2.4s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 9px rgba(123,217,168,0)}100%{box-shadow:0 0 0 0 rgba(123,217,168,0)}}
.hero h1{margin:28px 0 24px;font-size:clamp(46px,6.6vw,88px);font-weight:900;letter-spacing:-.03em;text-shadow:0 2px 6px rgba(2,6,16,.75),0 10px 44px rgba(2,6,16,.85)}
.hero h1 .ln{display:block}
.hero .lead{color:#E6EDF8;text-shadow:0 1px 4px rgba(2,6,16,.85),0 6px 24px rgba(2,6,16,.85)}
.hero-ctas{display:flex;gap:16px;flex-wrap:wrap;margin-top:22px}



/* stats ribbon */
.stats{margin-top:-72px;position:relative;z-index:5}
.stats-in{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:var(--shadow);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.stat{background:rgba(13,21,40,.72);padding:30px 24px;text-align:center;transition:background .35s}
.stat:hover{background:rgba(19,30,56,.85)}
.stat b{white-space:nowrap;font-family:var(--font-d);font-weight:900;font-size:clamp(32px,3.4vw,46px);letter-spacing:-.02em;color:var(--tx);display:block;line-height:1}
.stat b sup{font-size:.5em;color:var(--acc);vertical-align:super}
.stat > span{font-family:var(--font-m);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--mt);display:block;margin-top:10px}
/* Contact page 3-column stats */
.stats-3col{grid-template-columns:repeat(3,1fr)!important}
@media(max-width:860px){.stats-in{grid-template-columns:repeat(2,1fr)}}

/* trust ticker */
.ticker{overflow:hidden;max-width:100%;width:100%;padding:34px 0;border-bottom:1px solid var(--line);mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.ticker-track{display:flex;gap:16px;width:max-content;animation:tick 32s linear infinite}
.ticker:hover .ticker-track{animation-play-state:paused}
@keyframes tick{to{transform:translateX(-50%)}}

/* ══ PROCESS PHASES ══ */
.timeline{position:relative}
.tl-track{position:absolute;left:47px;top:40px;bottom:40px;width:2px;border-radius:2px;background:rgba(146,178,228,.14)}
.tl-fill{position:absolute;left:0;top:0;width:100%;height:0%;border-radius:2px;
  background:linear-gradient(180deg,var(--acc-2),var(--acc));box-shadow:0 0 14px rgba(130,180,255,.55)}
.tl-fill::after{content:'';position:absolute;bottom:-5px;left:50%;transform:translateX(-50%);
  width:11px;height:11px;border-radius:50%;background:var(--acc);box-shadow:0 0 18px var(--acc)}
.phase-no{transition:background .5s,color .5s,box-shadow .5s,border-color .5s,transform .5s}
.phase.lit .phase-no{color:#06101F;background:linear-gradient(165deg,#A8CBFF,#5A8FE6);
  border-color:transparent;box-shadow:0 0 34px -6px rgba(130,180,255,.85),var(--inset);transform:scale(1.06)}
@media(max-width:760px){.tl-track{display:none}}

.phase{display:grid;grid-template-columns:96px 1fr;gap:clamp(20px,3.5vw,44px);position:relative}
.phase + .phase{margin-top:64px}
.phase-rail{display:flex;flex-direction:column;align-items:center;gap:14px}
.phase-no{width:72px;height:72px;border-radius:20px;display:flex;align-items:center;justify-content:center;font-family:var(--font-d);font-weight:900;font-size:24px;color:var(--acc);background:linear-gradient(165deg,#15264C,#0C1530);border:1px solid var(--line-2);box-shadow:var(--shadow),var(--inset);flex:none}
.phase-rail .rail{display:none}
.phase-card{padding:36px}
.card-note{font-size:12px;line-height:1.5;color:var(--muted);opacity:.78;margin-top:12px;font-style:italic}
.phase-tag{font-family:var(--font-m);font-size:11.5px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--copper);margin-bottom:10px}
.phase-card h3{margin-bottom:14px}
.phase-lists{columns:2;column-gap:36px;margin-top:22px}
.phase-lists .tick{break-inside:avoid;margin-bottom:12px;line-height:1.55}
@media(max-width:760px){.phase{grid-template-columns:1fr}.phase-rail{flex-direction:row}.phase-rail .rail{height:1px;width:auto;background:linear-gradient(90deg,var(--line-2),transparent)}.phase-lists{columns:1}}
.tick{display:flex;gap:11px;align-items:flex-start;font-size:14.5px;color:var(--tx-2)}
.tick::before{content:'';flex:none;width:16px;height:16px;margin-top:4px;border-radius:5px;background:var(--acc-dim);border:1px solid rgba(130,180,255,.4);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2382B4FF' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 13l4 4 10-11'/%3E%3C/svg%3E");background-size:10px;background-position:center;background-repeat:no-repeat}
.callout{margin-top:24px;border:1px dashed rgba(156,192,255,.4);background:var(--copper-dim);border-radius:var(--r-sm);padding:20px 22px;font-size:14.5px;color:var(--tx-2)}
.callout b{color:var(--copper);font-family:var(--font-d);display:block;margin-bottom:6px;letter-spacing:.02em}
.phase-arrow{text-align:center;color:var(--mt);font-size:20px;margin:22px 0 -42px;opacity:.6}

/* ══ TESTIMONIALS — 3D circular carousel ══ */
.tcar{max-width:880px;margin:0 auto;text-align:center;--tgap:clamp(56px,7vw,92px)}
.tcar-stage{position:relative;height:340px;perspective:1100px}
.tcar-card{position:absolute;left:50%;top:0;width:min(660px,92%);height:100%;
  display:flex;flex-direction:column;justify-content:center;align-items:center;gap:18px;
  padding:38px clamp(24px,4vw,52px);border-radius:22px;cursor:pointer;
  background:linear-gradient(160deg,var(--glass-2),var(--glass) 55%);border:1px solid var(--line);
  box-shadow:var(--shadow),var(--inset);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  transform:translateX(calc(-50% + var(--tx,0px))) translateY(var(--ty,0px)) scale(var(--sc,1)) rotateY(var(--ry,0deg));
  transition:transform .8s cubic-bezier(.4,2,.3,1),opacity .8s cubic-bezier(.4,2,.3,1),border-color .4s}
.tcar-card.is-active{--tx:0px;--ty:0px;--sc:1;--ry:0deg;z-index:3;opacity:1;cursor:default;border-color:var(--line-2)}
.tcar-card.is-left{--tx:calc(var(--tgap)*-1);--ty:calc(var(--tgap)*-.8);--sc:.85;--ry:15deg;z-index:2;opacity:.45}
.tcar-card.is-right{--tx:var(--tgap);--ty:calc(var(--tgap)*-.8);--sc:.85;--ry:-15deg;z-index:2;opacity:.45}
.tcar-card.is-hidden{--sc:.8;--ty:24px;z-index:1;opacity:0;pointer-events:none}
.tcar-card .tq{color:var(--tx-2);font-size:15.5px;line-height:1.8;max-width:56ch}
.tcar-nav{display:flex;justify-content:center;gap:22px;margin-top:34px}
.tcar-btn{width:46px;height:46px;border-radius:50%;border:1px solid var(--line-2);cursor:pointer;
  display:flex;align-items:center;justify-content:center;color:var(--tx);
  background:var(--glass-2);backdrop-filter:blur(10px);box-shadow:var(--inset);transition:.3s}
.tcar-btn:hover{background:var(--acc);color:#06101F;transform:translateY(-3px);border-color:var(--acc)}
@keyframes tword{from{opacity:0;filter:blur(8px);transform:translateY(5px)}to{opacity:1;filter:blur(0);transform:none}}
@media(max-width:720px){.tcar-stage{height:440px}.tcar{--tgap:32px}}
@media(max-width:460px){.tcar-stage{height:500px}}

/* ══ TESTIMONIALS ══ */
.quote-card{display:flex;flex-direction:column;gap:18px}
.stars{color:var(--copper);letter-spacing:4px;font-size:15px}
.quote-card p{color:var(--tx-2);font-size:15px}
.quote-who b{font-family:var(--font-d);display:block;font-size:15px}
.quote-who span{font-family:var(--font-m);font-size:11.5px;letter-spacing:.08em;color:var(--mt)}

/* ══ CTA BAND ══ */
.cta-band{position:relative;border:1px solid var(--line-2);border-radius:28px;padding:clamp(44px,6vw,80px) clamp(28px,5vw,72px);text-align:center;overflow:hidden;background:linear-gradient(170deg,rgba(21,38,76,.55),rgba(10,17,33,.7));backdrop-filter:blur(16px);box-shadow:var(--shadow),var(--inset)}
.cta-band::before{content:'';position:absolute;inset:-40%;background:radial-gradient(circle at 30% 20%,rgba(130,180,255,.14),transparent 45%),radial-gradient(circle at 75% 85%,rgba(130,180,255,.09),transparent 40%);animation:drift 16s ease-in-out infinite alternate;pointer-events:none}
@keyframes drift{to{transform:translate(4%,6%) rotate(3deg)}}
.cta-band h2{position:relative}
.cta-band p{position:relative;margin:16px auto 30px;max-width:52ch;color:var(--tx-2)}
.cta-band .btn{position:relative}
.cta-band .shiny-cta+.shiny-cta{margin-left:14px}
.cta-band-form{position:relative;z-index:1;max-width:620px;margin:30px auto 0;text-align:left}
.cta-band-form .field label{color:var(--mt)}
.cta-band-form textarea{min-height:84px}
.cta-band-form .req{color:var(--copper)}
.cta-band-form .form-note{text-align:center}

/* ══ MEDIA PLACEHOLDER FRAMES ══ */
.photo{position:relative;border-radius:22px;border:1px solid var(--line-2);background:linear-gradient(160deg,#13224402,#0B152E),repeating-linear-gradient(45deg,rgba(130,180,255,.05) 0 2px,transparent 2px 14px),linear-gradient(160deg,#142347,#0A1326);min-height:340px;display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:var(--shadow),var(--inset)}
.photo .ill{position:absolute;inset:0;width:100%;height:100%}
.photo span{font-family:var(--font-m);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--mt);background:rgba(8,14,26,.6);border:1px dashed var(--line-2);padding:12px 20px;border-radius:10px;backdrop-filter:blur(6px)}
.photo::after{content:'';position:absolute;inset:0;background:radial-gradient(80% 60% at 70% 20%,rgba(130,180,255,.12),transparent 60%)}

/* ══ SPLIT LAYOUT ══ */
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,5vw,72px);align-items:start}
.split.rev{grid-template-columns:.95fr 1.05fr}
@media(max-width:920px){.split,.split.rev{grid-template-columns:1fr}}

/* ══ VALUES ══ */
.value-no{font-family:var(--font-m);font-weight:700;font-size:13px;letter-spacing:.18em;color:var(--copper);display:block;margin-bottom:14px}
.value-card h3{margin-bottom:12px}
.value-card p{color:var(--tx-2);font-size:14.5px}

/* ══ STANDARDS STRIP ══ */
.std{display:flex;align-items:center;gap:18px;padding:20px 24px;white-space:normal}
.std b{font-family:var(--font-m);font-weight:700;font-size:14px;letter-spacing:.06em;color:var(--acc);flex:none;min-width:84px}
.std span{font-size:13.5px;color:var(--mt);min-width:0}
.cred-abbr{font-family:var(--font-d);font-weight:900;font-size:19px;letter-spacing:.02em;color:var(--acc);background:linear-gradient(165deg,#15264C,#0C1530);border:1px solid var(--line-2);border-radius:13px;width:60px;height:46px;display:flex;align-items:center;justify-content:center;box-shadow:var(--inset);flex:none}

/* ══ KEN BURNS SLIDESHOW (HVAC) ══ */
.kb{overflow:hidden;transform:perspective(950px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .35s ease;will-change:transform}
.kb .kb-stage{position:absolute;inset:0}
.kb .kb-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.1s ease;will-change:transform,opacity}
.kb .kb-slide.on{opacity:1;animation:kenburns 4.8s ease-out forwards}
@keyframes kenburns{from{transform:scale(1.14) translate(var(--kx,2%),var(--ky,-1.5%))}to{transform:scale(1.01) translate(0,0)}}
@media (prefers-reduced-motion: reduce){.kb .kb-slide.on{animation:none}}

/* ══ SERVICES TABS ══ */
.tabs{position:relative;z-index:5;display:flex;gap:12px;padding:14px;border-radius:18px;
  background:linear-gradient(160deg,rgba(25,42,82,.55),rgba(9,15,30,.9));
  backdrop-filter:blur(18px);border:1px solid var(--line);box-shadow:var(--shadow),var(--inset);margin-bottom:60px;flex-wrap:wrap}
.tab{flex:1;min-width:max-content;display:flex;align-items:center;justify-content:center;gap:10px;font-family:var(--font-d);font-weight:700;font-size:14.5px;color:var(--tx-2);padding:14px 22px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.03);box-shadow:var(--inset);cursor:pointer;text-decoration:none;transition:.35s;white-space:nowrap;min-height:44px}
.tab + .tab{position:relative}
.tab + .tab::before{content:'';position:absolute;left:-6px;top:18%;bottom:18%;width:1px;background:var(--line-2)}
.tab:hover{color:var(--tx);background:var(--glass-2);border-color:var(--line-2);transform:translateY(-2px)}
.tab.active{color:#06101F;background:linear-gradient(170deg,#A8CBFF,var(--acc) 45%,#5A8FE6);box-shadow:0 12px 28px -10px rgba(90,143,230,.55)}
.svc{display:none}
.svc.active{display:block;animation:pagein .5s cubic-bezier(.2,.8,.25,1)}
.svc-head{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;align-items:stretch;margin-bottom:26px}
@media(max-width:920px){.svc-head{grid-template-columns:1fr}}
.svc-card h3{font-size:18px;margin-bottom:10px}
.svc-card>p{font-size:14px;color:var(--mt);margin-bottom:18px}
.svc-card ul{list-style:none;display:flex;flex-direction:column;gap:9px}
.svc-card ul.two-col{display:grid;grid-template-columns:1fr 1fr;column-gap:30px;row-gap:9px}
@media(max-width:540px){.svc-card ul.two-col{grid-template-columns:1fr}}

/* ══ FAQ ══ */
.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
.faq-grid .faq + .faq{margin-top:0}
@media(max-width:860px){.faq-grid{grid-template-columns:1fr}}
.faq{max-width:780px;margin-inline:auto;border:1px solid var(--line);border-radius:var(--r);background:linear-gradient(160deg,var(--glass-2),var(--glass));backdrop-filter:blur(12px);box-shadow:var(--inset);overflow:hidden;transition:border-color .3s}
.faq + .faq{margin-top:14px}
.faq:first-of-type{margin-top:0}
.faq:hover{border-color:var(--line-2)}
.faq-q{position:relative;width:100%;min-height:96px;display:flex;align-items:center;justify-content:center;padding:24px 72px;line-height:1.45;background:none;border:none;color:var(--tx);font-family:var(--font-d);font-weight:700;font-size:16px;text-align:center;cursor:pointer}
.faq-q .pm{position:absolute;right:24px;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:var(--acc-dim);border:1px solid rgba(130,180,255,.35);color:var(--acc);font-weight:600;font-size:16px;transition:transform .35s}
.faq.open .pm{transform:translateY(-50%) rotate(45deg)}
.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s cubic-bezier(.2,.8,.25,1)}
.faq.open .faq-a{grid-template-rows:1fr}
.faq-ai{overflow:hidden;min-height:0}
.faq-ai p{padding:4px 30px 28px;color:var(--tx-2);font-size:15px;line-height:1.8;text-align:center}
@media(max-width:520px){.faq-q{padding-left:18px;padding-right:50px}.faq-q .pm{right:12px}.faq-ai p{padding-left:18px;padding-right:18px}}
/* money-page proof / trust band */
.proof{display:grid;grid-template-columns:1.05fr 1.35fr;gap:clamp(22px,3vw,44px);align-items:start;background:var(--glass);border:1px solid var(--line);border-radius:20px;padding:clamp(24px,3vw,40px)}
.proof-metrics{display:grid;grid-template-columns:1fr 1fr;gap:18px 22px}
.proof-metric b{display:block;font-family:var(--font-d);font-size:clamp(26px,3.4vw,38px);font-weight:800;color:var(--acc);line-height:1}
.proof-metric span{display:block;margin-top:6px;font-size:13px;color:var(--mt)}
.proof-out{margin:18px 0 0;font-size:13.5px;color:var(--mt);line-height:1.6}
.proof-q{font-size:15.5px;line-height:1.75;color:var(--tx-2);font-style:italic;margin:0}
.proof-q cite{display:block;margin-top:14px;font-style:normal;font-size:12.5px;letter-spacing:.04em;color:var(--mt);font-weight:600}
@media(max-width:760px){.proof{grid-template-columns:1fr;gap:26px}}
/* breadcrumb trail on deep pages */
.crumbs{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:11px;font-family:var(--font-m);font-size:11.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;margin:0 0 24px}
.crumbs::before,.crumbs::after{content:'';flex:none;width:30px;height:1px}
.crumbs::before{background:linear-gradient(90deg,transparent,var(--acc))}
.crumbs::after{background:linear-gradient(90deg,var(--acc),transparent)}
.crumbs a{color:var(--mt);text-decoration:none;transition:color .25s}
.crumbs a:hover{color:var(--acc)}
.crumbs [aria-current="page"]{color:var(--acc)}
.crumbs .crumb-sep{color:var(--line-2)}
/* related-sector / trade cross-links */
.rel-sectors{position:relative;padding-top:clamp(28px,3.5vw,44px);text-align:center}
.rel-sectors::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:100vw;border-top:1px solid var(--line)}
#how-we-operate{scroll-margin-top:90px}
.rel-links{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.rel-links a{display:inline-flex;align-items:center;gap:8px;padding:11px 16px;border-radius:12px;border:1px solid var(--line);background:var(--glass);color:var(--tx-2);font-size:14px;font-weight:600;text-decoration:none;transition:border-color .25s,color .25s,transform .25s}
.rel-links a:hover{border-color:var(--acc);color:var(--acc);transform:translateY(-1px)}
.rel-links a span{color:var(--acc);transition:transform .25s}
.rel-links a:hover span{transform:translateX(3px)}
.rel-next{position:relative;padding-top:clamp(30px,3.6vw,46px);text-align:center}
.rel-next::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:100vw;border-top:1px solid var(--line)}
.rel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:26px;text-align:left}
.rel-grid a{position:relative;display:flex;flex-direction:column;gap:7px;padding:18px 46px 18px 20px;border-radius:16px;border:1px solid var(--line);background:var(--glass);text-decoration:none;transition:border-color .25s,transform .25s,background .25s}
.rel-grid a:hover{border-color:var(--acc);transform:translateY(-3px);background:var(--acc-dim)}
.rel-grid .rl-k{font-family:var(--font-m);font-size:10.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--mt)}
.rel-grid .rl-t{font-family:var(--font-d);font-weight:700;font-size:15.5px;line-height:1.25;color:var(--tx)}
.rel-grid .rl-arr{position:absolute;top:50%;right:18px;transform:translateY(-50%);color:var(--acc);font-size:17px;transition:transform .25s}
.rel-grid a:hover .rl-arr{transform:translateY(-50%) translateX(3px)}
.vh{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* money-page enriched sections */
.mp-split{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,4vw,56px);align-items:start}
@media(max-width:860px){.mp-split{grid-template-columns:1fr;gap:26px}}
.cost-card{background:var(--glass);border:1px solid var(--line);border-radius:18px;padding:clamp(24px,2.6vw,32px)}
.cost-label{font-family:var(--font-m);font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--acc);margin:0 0 18px}
.cost-list{list-style:none;margin:0;padding:0;display:grid;gap:15px}
.cost-list li{display:flex;gap:13px;align-items:flex-start;font-size:14.5px;color:var(--tx-2);line-height:1.5}
.cost-list li svg{flex:none;width:21px;height:21px;color:var(--acc);margin-top:1px}
.step-num{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-family:var(--font-d);font-weight:800;font-size:22px;color:var(--acc);background:linear-gradient(160deg,rgba(130,180,255,.16),rgba(61,111,208,.08));border:1px solid var(--line-2);flex:none}
.mp-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.mp-list li{position:relative;padding-left:23px;font-size:14px;color:var(--tx-2);line-height:1.45}
.mp-list li::before{content:'';position:absolute;left:3px;top:7px;width:7px;height:7px;border-radius:2px;background:var(--acc);transform:rotate(45deg)}
.mp-split .lead{max-width:none}
.mp-answer{margin:24px 0 0;padding:4px 0 4px 20px;border-left:2px solid var(--acc);color:var(--tx-2);font-size:15.5px;line-height:1.72}
.mp-answer strong{color:var(--tx);font-weight:700}
/* money-page "why it's different" capability chip block */
.cap-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,3.5vw,48px);margin-top:8px;text-align:left}
@media(max-width:760px){.cap-grid{grid-template-columns:1fr;gap:26px}}
.cap-lab{font-family:var(--font-m);font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--acc);margin:0 0 14px}
.cap-chips{display:flex;flex-wrap:wrap;gap:9px}
.cap-chips .badge{font-family:var(--font-m);font-size:12px;font-weight:600;letter-spacing:.02em;color:#c4d8f7;background:rgba(130,180,255,.10);border:1px solid rgba(130,180,255,.45);padding:8px 13px;border-radius:8px;white-space:nowrap}
.cap-chips .pill{font-size:13px;color:var(--tx-2);background:rgba(255,255,255,.035);border:1px solid var(--line);padding:7px 14px;border-radius:999px}
.cta-ghost{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-d);font-weight:700;font-size:15px;color:var(--tx-2);text-decoration:none;transition:color .25s}
.cta-ghost:hover{color:var(--acc)}
.cta-ghost .arr{transition:transform .25s}
.cta-ghost:hover .arr{transform:translateX(3px)}
/* industry-page "ed" detail block (promoted from per-page styles so money pages share it) */
.ed-wrap{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}
.ed-media{position:relative;border-radius:18px;overflow:hidden;border:1px solid var(--line);aspect-ratio:3/2;box-shadow:0 32px 64px -34px rgba(0,0,0,.7)}
.ed-media img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.9) brightness(.92)}
.ed-media::after{content:"";position:absolute;inset:0;background:linear-gradient(155deg,rgba(10,16,26,.04) 38%,rgba(10,16,26,.45));pointer-events:none}
.ed-lead{color:var(--mt);line-height:1.75;font-size:16px;margin:18px 0 0;max-width:520px}
.ed-lab{font-family:var(--font-m);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--tx-2);opacity:.78}.ed-lab-sec{font-size:15px;font-weight:700;letter-spacing:0;text-transform:none;color:var(--tx);opacity:1;margin:0}
.ed-codes{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.ed-cta-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:28px}
.ed-std{display:inline-flex;align-items:center;font-family:var(--font-m);font-size:12px;font-weight:600;letter-spacing:.02em;color:#c4d8f7;background:rgba(130,180,255,.10);border:1px solid rgba(130,180,255,.45);padding:8px 13px;border-radius:8px;white-space:nowrap}
.ed-projgrid{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;max-width:540px}.ed-meta{margin-top:clamp(30px,3.6vw,44px);padding-top:clamp(24px,2.8vw,32px);border-top:1px solid var(--line)}.ed-meta .ed-projgrid{max-width:none}.ed-meta.ed-meta-cols{border-top:none;margin-top:clamp(14px,1.8vw,22px);padding-top:0}.ed-meta-cols{display:grid;grid-template-columns:1fr 1fr;gap:0 48px;align-items:start}.ed-meta-cols .ed-codes,.ed-meta-cols .ed-projgrid{max-width:none}.ed-meta-cols .ed-cta-row{grid-column:1/-1;margin-top:18px}@media(max-width:760px){.ed-meta.ed-meta-cols{margin-top:18px}.ed-meta-cols{grid-template-columns:1fr;gap:22px}}
.ed-item{display:inline-flex;align-items:center;font-size:13px;color:var(--tx-2);background:rgba(255,255,255,.035);border:1px solid var(--line);padding:7px 13px;border-radius:999px}
@media(max-width:820px){.ed-wrap{grid-template-columns:1fr;gap:30px;align-items:start}.ed-media{min-height:0;aspect-ratio:3/2}.ed-media.ed-banner{aspect-ratio:auto;min-height:300px}}
/* image placeholder for money-page .ed-media (no photo yet) */
.ed-ph{display:flex;align-items:center;justify-content:center;background:radial-gradient(120% 80% at 70% 20%,rgba(130,180,255,.10),transparent 60%),linear-gradient(160deg,#0e1830,#080e1a)}
.ed-ph::before{content:"";width:74px;height:74px;background:url(/assets/img/logo.png) center/contain no-repeat;opacity:.5}
.ed-media.ed-banner{align-self:start;aspect-ratio:4/3;width:100%;max-height:360px;position:relative}.ed-media.ed-banner::after{display:none}.ed-media.ed-banner picture{position:absolute;inset:0;animation:fadeInOut 6s infinite}.ed-media.ed-banner picture:nth-child(2){animation-delay:3s}.ed-media.ed-banner img{position:absolute;inset:0;filter:none;object-position:center;width:100%;height:100%;object-fit:cover}
@keyframes fadeInOut{0%{opacity:1}45%{opacity:1}55%{opacity:0}100%{opacity:0}}
.ed-media.ed-ph{align-self:stretch;aspect-ratio:auto;min-height:460px}

/* ══ TRADE ACCORDION CHIPS ══ */
.acc-chips{display:flex;flex-direction:column;gap:8px;margin-top:14px}
.acc-chip{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:rgba(255,255,255,.025);transition:border-color .15s}
.acc-chip.open{border-color:rgba(130,180,255,.45)}
.acc-trigger{display:flex;align-items:center;gap:10px;width:100%;min-height:61px;padding:12px 16px;cursor:pointer;background:none;border:none;color:inherit;font-family:inherit}
.acc-trigger:hover{background:rgba(255,255,255,.035)}
.acc-tblock{flex:1;display:flex;flex-direction:column;gap:3px;align-items:center;text-align:center}
.acc-tname{font-size:14px;font-weight:600;color:var(--tx)}
.acc-tcred{font-size:11.5px;color:var(--acc);font-weight:500}
.acc-chevron{width:16px;height:16px;stroke:var(--mt);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none;transition:transform .2s}
.acc-chip.open .acc-chevron{transform:rotate(180deg)}
.acc-body{display:none;padding:10px 16px 14px;border-top:1px solid var(--line);text-align:center}
.acc-chip.open .acc-body{display:block}
.acc-btags{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-bottom:10px}
.acc-btag{font-size:11.5px;font-weight:600;color:var(--acc);background:var(--acc-dim);border:1px solid rgba(130,180,255,.3);padding:4px 11px;border-radius:6px}
.acc-link{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-m);font-size:12.5px;font-weight:600;color:var(--acc);text-decoration:none;margin-top:2px}
.acc-link:hover{text-decoration:underline}
.acc-badge-neutral{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.18);color:var(--tx-2)}
.acc-sep{color:var(--mt);font-weight:400;font-size:12px}
.acc-cred-inline{color:var(--acc);font-size:12px;font-weight:600}

/* ══ CREW CREDENTIALS ══ */
.crew-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:20px}
@media(max-width:720px){.crew-grid{grid-template-columns:1fr}}
.crew-role{display:flex;flex-direction:column;gap:10px;padding:18px 20px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.025)}
.crew-badge{font-family:var(--font-m);font-weight:700;font-size:12px;letter-spacing:.1em;color:var(--acc);background:rgba(130,180,255,.12);border:1px solid rgba(130,180,255,.3);border-radius:6px;padding:5px 11px;width:fit-content}
.crew-info strong{display:block;font-size:14.5px;font-weight:700;color:var(--tx);margin-bottom:5px}
.crew-info span{font-size:13.5px;color:var(--tx-2);line-height:1.6}
.crew-icon{width:34px;height:34px;border-radius:9px;background:rgba(130,180,255,.12);border:1px solid rgba(130,180,255,.22);display:flex;align-items:center;justify-content:center;margin-bottom:10px;flex:none}
.crew-icon svg{width:16px;height:16px;stroke:var(--acc);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.crew-icon-neutral{background:rgba(255,255,255,.05);border-color:var(--line)}
.crew-icon-neutral svg{stroke:var(--mt)}
.crew-strip{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;margin-top:clamp(22px,2.8vw,34px);padding:14px 0;border-top:1px solid var(--line)}
.crew-strip-item{display:flex;align-items:center;gap:9px;padding:6px clamp(14px,2.2vw,28px)}
.crew-strip-sep{width:1px;height:26px;background:var(--line);flex:none}
.crew-strip-name{font-size:13px;color:var(--tx-2)}
@media(max-width:600px){.crew-strip-sep{display:none}.crew-strip-item{padding:6px 10px}}

/* ══ CAREERS ══ */
.job{display:flex;align-items:center;gap:22px;flex-wrap:wrap;padding:26px 30px}
.job h3{font-size:20px}.job-info{flex:1 1 320px;min-width:0;display:flex;align-items:center;gap:16px}.job-ico{width:48px;height:48px;border-radius:13px;flex:none;display:flex;align-items:center;justify-content:center;background:rgba(130,180,255,.1);border:1px solid var(--line);color:var(--acc)}.job-titles{min-width:0}.job-sub{display:block;font-size:14px;color:var(--mt);margin-top:5px}
.job .tags{display:flex;gap:8px;flex-wrap:wrap}
.job .tag{font-family:var(--font-m);font-size:11px;letter-spacing:.06em;color:var(--mt);border:1px solid var(--line);border-radius:7px;padding:4px 10px}
.job .meta{font-family:var(--font-m);font-size:11.5px;letter-spacing:.1em;color:var(--copper)}.job .shiny-cta{margin-left:auto}.job-toggle{flex-basis:100%;display:inline-flex;align-items:center;gap:7px;font-family:var(--font-m);font-size:12px;letter-spacing:.06em;color:var(--acc);background:none;border:none;cursor:pointer;padding:6px 0 0;margin-top:6px}.job-toggle svg{transition:transform .3s}.job-toggle.open svg{transform:rotate(180deg)}.job-details{flex-basis:100%;border-top:1px solid var(--line);margin-top:16px;padding-top:18px}.job-details[hidden]{display:none}.job-details .dsec{margin-bottom:22px}.job-details .dsec:last-child{margin-bottom:0;margin-top:24px;background:rgba(130,180,255,.05);border:1px solid var(--line);border-radius:14px;padding:18px 20px}.job-details .lbl{font-family:var(--font-m);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--acc);margin-bottom:11px;display:flex;align-items:center;gap:9px}.job-details .lbl::before{content:"";width:16px;height:2px;background:var(--acc);border-radius:2px;flex:none}.job-details p{color:var(--tx-2);font-size:14px;line-height:1.7;margin:0}.job-details .dsec:first-child p{font-size:15px;line-height:1.78}.job-details ul{list-style:none;margin:0;padding:0;column-gap:44px}@media(min-width:721px){.job-details ul{column-count:2}}.job-details li{position:relative;padding-left:24px;color:var(--tx-2);font-size:14px;line-height:1.6;margin-bottom:10px;break-inside:avoid;-webkit-column-break-inside:avoid}.job-details li::before{content:"";position:absolute;left:3px;top:4px;width:5px;height:10px;border:solid var(--acc);border-width:0 2px 2px 0;transform:rotate(45deg)}.job-details .dsec:nth-child(2) li::before{width:7px;height:7px;border-width:2px 2px 0 0;top:6px;left:3px}.job-details .dsec:nth-child(4) li::before{content:"";border:none;transform:none;width:11px;height:11px;top:5px;left:1px;background:linear-gradient(var(--acc),var(--acc)),linear-gradient(var(--acc),var(--acc));background-size:11px 2px,2px 11px;background-position:center;background-repeat:no-repeat}.job-details .ph{color:var(--copper);font-style:italic;background:rgba(130,180,255,.1);border-radius:4px;padding:0 5px}

/* ══ CONTACT ══ */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,56px);align-items:start}
@media(max-width:920px){.contact-grid{grid-template-columns:1fr}}
.info-row{display:flex;gap:16px;align-items:flex-start;padding:18px 0;border-bottom:1px solid var(--line)}
.info-row:last-of-type{border:none}
.info-row .ic{color:var(--acc);width:44px;height:44px;flex:none;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--glass);border:1px solid var(--line);box-shadow:var(--inset)}
.info-row b{font-family:var(--font-d);font-size:14px;display:block}
.info-row span{font-size:14px;color:var(--mt)}
.info-row a{color:inherit;text-decoration:none;transition:color .25s}
.info-row a:hover,.info-row a:focus-visible{color:var(--acc)}
.form{padding:clamp(26px,3.4vw,42px)}
.f-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:620px){.f-grid{grid-template-columns:1fr}}
.field{display:flex;flex-direction:column;gap:8px}
.field.full{grid-column:1/-1}
.field label{font-family:var(--font-d);font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--mt)}
.field input,.field select,.field textarea{font-family:var(--font-b);font-size:15px;color:var(--tx);background:rgba(8,14,26,.55);border:1px solid var(--line);border-radius:12px;padding:14px 16px;transition:.3s;width:100%;min-height:48px}
.field textarea{min-height:130px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--acc);background:rgba(130,180,255,.06);box-shadow:0 0 0 3px rgba(130,180,255,.16),0 10px 26px -12px rgba(130,180,255,.55);transform:translateY(-1px)}
.field:focus-within label{color:var(--acc)}
.req{color:var(--acc);font-weight:700}
.field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238C9DB8' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:18px}.field select option,.field select optgroup{background:#0e1626;color:var(--tx)}
.form-note{font-family:var(--font-m);font-size:11px;letter-spacing:.08em;color:var(--ok);margin-top:14px;display:none}
.live-pill{display:inline-flex;align-items:center;gap:10px;padding:8px 16px;border-radius:999px;background:var(--glass);border:1px solid var(--line);box-shadow:var(--inset);margin-bottom:22px}
.live-pill .lbl{font-family:var(--font-m);font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--tx-2)}
.live-dot{width:8px;height:8px;border-radius:50%;background:var(--ok);flex:none;animation:livepulse 2.2s infinite}
@keyframes livepulse{0%{box-shadow:0 0 0 0 rgba(123,217,168,.5)}70%{box-shadow:0 0 0 9px rgba(123,217,168,0)}100%{box-shadow:0 0 0 0 rgba(123,217,168,0)}}
.form-pro{overflow:hidden;box-shadow:var(--shadow),var(--inset),0 0 70px -24px rgba(130,180,255,.5)}
.form-pro::before{content:'';position:absolute;top:0;left:26px;right:26px;height:2px;background:linear-gradient(90deg,transparent,var(--acc),transparent);border-radius:2px;opacity:.8;z-index:2}
.form-pro::after{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;opacity:0;transition:opacity .45s;background:radial-gradient(420px circle at var(--sx,50%) var(--sy,50%),rgba(130,180,255,.13),transparent 62%)}
.form-pro:hover::after{opacity:1}
.form-pro>*{position:relative;z-index:1}
.cx-spin{width:15px;height:15px;border-radius:50%;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;display:inline-block;margin-right:9px;vertical-align:-2px;animation:cxspin .7s linear infinite}
@keyframes cxspin{to{transform:rotate(360deg)}}
.cx-check{margin-right:8px;vertical-align:-3px;stroke-dasharray:26;stroke-dashoffset:26;animation:cxcheck .5s ease forwards}
@keyframes cxcheck{to{stroke-dashoffset:0}}

/* ══ FOOTER ══ */
footer{position:relative;z-index:1;margin-top:0;overflow:hidden;border-top:1px solid var(--line);background:linear-gradient(180deg,rgba(10,17,33,.35),rgba(5,9,18,.96))}
.foot-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.8fr 1fr 1fr 0.9fr;gap:clamp(24px,4.5vw,60px);max-width:1240px;margin:0 auto;padding:clamp(52px,7vw,84px) var(--pad) 44px}
.foot-cell{background:none;padding:0}
.foot-tagline{font-size:14.5px;color:var(--mt);font-style:italic;margin:20px 0 24px;max-width:36ch;border-left:2px solid var(--acc-2);padding-left:14px}
.foot-cell h5,.foot-cell .foot-h{font-family:var(--font-m);font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--acc);margin:0 0 20px}
.foot-cell ul{list-style:none;display:flex;flex-direction:column;gap:11px}
.foot-cell a:not(.brand):not(.soc){color:var(--mt);text-decoration:none;font-size:14px;display:inline-block;transition:color .25s,transform .25s}
.foot-cell a:not(.brand):not(.soc):hover{color:var(--acc);transform:translateX(4px)}.foot-soc{margin:2px 0 26px}.legal{max-width:820px}.legal p{color:var(--tx-2);font-size:15px;line-height:1.75;margin-bottom:14px}.legal h3{font-family:var(--font-d);font-size:19px;color:var(--tx);font-weight:700;margin:32px 0 10px}.legal ul{margin:0 0 14px 22px;color:var(--tx-2);font-size:15px;line-height:1.75}.legal li{margin-bottom:8px}.legal h4{font-family:var(--font-d);font-size:15.5px;color:var(--tx);font-weight:700;margin:20px 0 8px}.legal a{color:var(--acc);text-decoration:none}.legal a:hover{text-decoration:underline}.legal .note{margin-top:42px;padding:16px 20px;border:1px solid var(--line);border-left:3px solid var(--acc-2);border-radius:12px;background:var(--glass);font-size:14px;color:var(--tx-2)}
.foot-cell .brand{display:flex}
.foot-cell p{font-size:13.5px;color:var(--mt);margin-bottom:10px}
.foot-cell p b{color:var(--tx-2);font-weight:600}
.foot-bar{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;max-width:1240px;margin:0 auto;padding:24px var(--pad) 30px;border-top:1px solid var(--line);font-family:var(--font-m);font-size:11.5px;letter-spacing:.08em;color:var(--mt)}
.foot-bar a{color:var(--acc);text-decoration:none}
@media(max-width:980px){.foot-grid{grid-template-columns:1fr 1fr;gap:36px}}
@media(max-width:600px){.foot-grid{grid-template-columns:1fr}}

/* back-top */
#back-top{position:fixed;right:26px;bottom:26px;z-index:900;width:50px;height:50px;border-radius:14px;background:var(--glass-2);border:1px solid var(--line-2);color:var(--acc);font-size:19px;cursor:pointer;backdrop-filter:blur(12px);box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:.35s}
#back-top.show{opacity:1;pointer-events:auto}
#back-top:hover{transform:translateY(-4px)}

/* reveal on scroll */
.rv{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.2,.8,.25,1),transform .8s cubic-bezier(.2,.8,.25,1)}
.rv.in{opacity:1;transform:none}
.rv-d1{transition-delay:.08s}.rv-d2{transition-delay:.16s}.rv-d3{transition-delay:.24s}

.alt-band{background:linear-gradient(180deg,transparent,rgba(13,22,42,.55) 14%,rgba(13,22,42,.55) 86%,transparent);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}




/* ══ BORDER BEAM (boundaried boxes) ══ */
.bbeam{position:absolute;inset:0;z-index:4;border-radius:inherit;pointer-events:none;overflow:hidden;border:1.5px solid transparent;
  -webkit-mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);mask-composite:exclude}
.bbeam i{position:absolute;aspect-ratio:1;width:200px;display:block;
  background:radial-gradient(ellipse at center,rgba(199,221,255,.95),transparent 65%);
  offset-path:var(--path);animation:bbeam-travel 10s linear infinite}
@keyframes bbeam-travel{to{offset-distance:100%}}
@media (prefers-reduced-motion: reduce){.bbeam{display:none}}

/* ══ SHINY CTA (Let's Collaborate) ══ */
@property --gradient-angle{syntax:"<angle>";initial-value:0deg;inherits:false}
@property --gradient-angle-offset{syntax:"<angle>";initial-value:0deg;inherits:false}
@property --gradient-percent{syntax:"<percentage>";initial-value:5%;inherits:false}
@property --gradient-shine{syntax:"<color>";initial-value:#fff;inherits:false}
.shiny-cta{
  --shiny-bg:#070D19;--shiny-bg-subtle:#13203D;--shiny-fg:#EAF0FA;
  --shiny-highlight:#5A8FE6;--shiny-highlight-subtle:#A8CBFF;
  --sh-anim:gradient-angle linear infinite;--sh-dur:3s;--sh-shadow:2px;
  --sh-tr:800ms cubic-bezier(.25,1,.5,1);
  isolation:isolate;position:relative;overflow:hidden;cursor:pointer;outline-offset:4px;
  display:inline-flex;align-items:center;justify-content:center;
  padding:17px 38px;font-family:var(--font-d);font-size:16px;font-weight:700;line-height:1.2;
  border:1px solid transparent;border-radius:360px;color:var(--shiny-fg);text-decoration:none;
  background:linear-gradient(var(--shiny-bg),var(--shiny-bg)) padding-box,
    conic-gradient(from calc(var(--gradient-angle) - var(--gradient-angle-offset)),
      transparent,var(--shiny-highlight) var(--gradient-percent),
      var(--gradient-shine) calc(var(--gradient-percent)*2),
      var(--shiny-highlight) calc(var(--gradient-percent)*3),
      transparent calc(var(--gradient-percent)*4)) border-box;
  box-shadow:inset 0 0 0 1px var(--shiny-bg-subtle);
  transition:var(--sh-tr);transition-property:--gradient-angle-offset,--gradient-percent,--gradient-shine}
.shiny-cta::before,.shiny-cta::after,.shiny-cta span::before{content:"";pointer-events:none;position:absolute;inset-inline-start:50%;inset-block-start:50%;translate:-50% -50%;z-index:-1}
.shiny-cta:active{translate:0 1px}
.shiny-cta::before{
  --size:calc(100% - var(--sh-shadow)*3);--position:2px;--space:calc(var(--position)*2);
  width:var(--size);height:var(--size);
  background:radial-gradient(circle at var(--position) var(--position),#fff calc(var(--position)/4),transparent 0) padding-box;
  background-size:var(--space) var(--space);background-repeat:space;
  mask-image:conic-gradient(from calc(var(--gradient-angle) + 45deg),#000,transparent 10% 90%,#000);
  border-radius:inherit;opacity:.4}
.shiny-cta::after{
  --sh-anim:shimmer linear infinite;width:100%;aspect-ratio:1;
  background:linear-gradient(-50deg,transparent,var(--shiny-highlight),transparent);
  mask-image:radial-gradient(circle at bottom,transparent 40%,#000);opacity:.6}
.shiny-cta span{z-index:1;display:inline-flex;align-items:center;gap:8px}
.shiny-cta span::before{--size:calc(100% + 1rem);width:var(--size);height:var(--size);box-shadow:inset 0 -1ex 2rem 4px var(--shiny-highlight);opacity:0;transition:opacity var(--sh-tr);animation:calc(var(--sh-dur)*1.5) sh-breathe linear infinite}
.shiny-cta,.shiny-cta::before,.shiny-cta::after{animation:var(--sh-anim) var(--sh-dur),var(--sh-anim) calc(var(--sh-dur)/0.4) reverse paused;animation-composition:add}
.shiny-cta:is(:hover,:focus-visible){--gradient-percent:20%;--gradient-angle-offset:95deg;--gradient-shine:var(--shiny-highlight-subtle)}
.shiny-cta:is(:hover,:focus-visible),.shiny-cta:is(:hover,:focus-visible)::before,.shiny-cta:is(:hover,:focus-visible)::after{animation-play-state:running}
.shiny-cta:is(:hover,:focus-visible) span::before{opacity:1}
@keyframes gradient-angle{to{--gradient-angle:360deg}}
@keyframes shimmer{to{rotate:360deg}}
@keyframes sh-breathe{from,to{scale:1}50%{scale:1.2}}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001s !important;animation-iteration-count:1 !important;transition-duration:.001s !important;scroll-behavior:auto !important}
  .rv{opacity:1;transform:none}
}

/* ══ INDUSTRY SPOTLIGHT ══ */
.ind-spot{display:grid;grid-template-columns:272px 1fr;gap:24px;align-items:start}
.ind-nav{display:flex;flex-direction:column;gap:8px;position:sticky;top:96px}
.ind-btn{display:flex;align-items:center;gap:11px;width:100%;min-height:64px;text-align:left;font-family:var(--font-b);font-weight:600;font-size:15.5px;line-height:1.3;color:var(--tx-2);background:var(--glass);border:1px solid var(--line);border-radius:var(--r-sm);padding:12px 14px;cursor:pointer;transition:border-color .3s,background .3s,color .3s,transform .3s}
.ind-btn svg{flex:none;color:var(--mt);transition:color .3s}
.ind-btn:hover{border-color:var(--line-2);color:var(--tx);transform:translateX(3px)}
.ind-btn:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
.ind-btn.active{background:linear-gradient(160deg,rgba(130,180,255,.14),rgba(61,111,208,.06));border-color:var(--line-2);color:var(--tx);box-shadow:var(--inset)}
.ind-btn.active svg{color:var(--acc)}
.ind-pane{display:none;background:var(--glass);border:1px solid var(--line);border-radius:var(--r);padding:34px 36px;box-shadow:var(--shadow)}
.ind-pane.active{display:block;animation:indIn .5s cubic-bezier(.2,.8,.25,1)}
@keyframes indIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.ind-head{display:flex;align-items:center;gap:18px;margin-bottom:18px}
.ind-head .icon-tile{margin-bottom:0;transform:none}
.ind-tag{font-family:var(--font-m);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--mt);margin-top:6px}
.ind-label{display:flex;align-items:center;gap:14px;font-family:var(--font-m);font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--acc);margin:24px 0 12px}
.ind-label::before{content:'';width:34px;height:1px;background:linear-gradient(90deg,transparent,var(--acc))}
.ind-label::after{content:'';flex:1;max-width:120px;height:1px;background:linear-gradient(90deg,var(--line-2),transparent)}
.ind-chips{display:flex;flex-wrap:wrap;gap:8px}
.ind-chips span{font-size:13px;color:var(--tx-2);background:var(--glass-2);border:1px solid var(--line);border-radius:999px;padding:6px 14px}
.ind-ticks{display:grid;grid-template-columns:1fr 1fr;gap:12px 18px}
.ind-ticks .tick{font-size:13.5px;line-height:1.5}
@media(max-width:1100px){.ind-ticks{grid-template-columns:1fr}}
.ind-mep{display:flex;flex-direction:column;gap:10px}
.ind-row{display:grid;grid-template-columns:96px 1fr;gap:14px;align-items:baseline;padding:11px 14px;background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:var(--r-sm);font-size:14px;color:var(--tx-2)}
.ind-row b{font-family:var(--font-m);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--copper);font-weight:600}
.ind-code{margin-top:24px;border:1px dashed rgba(156,192,255,.4);background:var(--copper-dim);border-radius:var(--r-sm);padding:16px 20px;font-size:13.5px;color:var(--tx-2)}
.ind-code b{color:var(--copper);font-family:var(--font-d);display:block;margin-bottom:5px;letter-spacing:.02em}
@media(max-width:1020px){.ind-spot{grid-template-columns:1fr;gap:18px}}
@media(max-width:880px){.ind-nav{position:static;flex-direction:row;overflow-x:auto;padding-bottom:8px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.ind-btn{flex:none;width:auto;white-space:nowrap;padding:11px 14px}.ind-btn:hover{transform:none}.ind-pane{padding:26px 22px}.ind-row{grid-template-columns:1fr;gap:4px}}
@media (prefers-reduced-motion: reduce){.ind-pane.active{animation:none}.ind-btn{transition:none}}

/* ══ EMAIL CTA TOAST (fallback feedback for mailto buttons) ══ */
.cx-toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%) translateY(12px);z-index:2000;
  max-width:min(92vw,540px);padding:13px 18px;border-radius:14px;
  background:rgba(14,22,38,.94);border:1px solid var(--line);
  box-shadow:0 12px 44px rgba(0,0,0,.55);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  color:var(--tx);font-family:var(--font-b);font-size:13.5px;line-height:1.45;text-align:center;
  opacity:0;pointer-events:none;transition:opacity .3s ease,transform .3s ease}
.cx-toast.show{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.cx-toast b{color:var(--acc);font-weight:600;font-family:var(--font-m);letter-spacing:.01em}
.cx-alt{display:block;margin-top:7px;font-size:12.5px;color:var(--tx-2)}
.cx-alt a{color:var(--acc);text-decoration:underline;text-underline-offset:2px;font-family:var(--font-m);font-weight:600}
.founder-photo{aspect-ratio:4/5;width:100%;align-self:start;min-height:0}.founder-grid{display:grid;grid-template-columns:1fr;gap:clamp(22px,4vw,34px);grid-template-areas:"pic" "bio" "cred"}.founder-pic{grid-area:pic}.founder-bio{grid-area:bio}.founder-cred{grid-area:cred;display:flex;flex-direction:column;gap:18px}.founder-tags{display:flex;gap:9px;flex-wrap:wrap}
@media(min-width:921px){.split.rev.founder-split{grid-template-columns:.72fr 1.28fr;align-items:start}.founder-grid{grid-template-columns:.72fr 1.28fr;grid-template-rows:auto 1fr;column-gap:clamp(40px,5vw,72px);row-gap:22px;grid-template-areas:"pic bio" "cred bio";align-items:start}}
/* ===== Services dropdown nav + capability cards (multi-page enhancement) ===== */
#nav{overflow:visible}
.nav-has-sub{position:relative}
.nav-caret{display:inline-block;width:7px;height:7px;margin-left:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);opacity:.6;transition:.3s;vertical-align:middle}
.nav-has-sub:hover .nav-caret,.nav-has-sub:focus-within .nav-caret{transform:translateY(0) rotate(225deg);opacity:1}
@media(min-width:769px){.nav-caret{display:none}}
.nav-sub{position:absolute;top:calc(100% + 10px);left:0;min-width:252px;list-style:none;margin:0;padding:8px;background:linear-gradient(170deg,#0E1830,#0A1124);border:1px solid var(--line-2);border-radius:16px;box-shadow:0 30px 64px -22px rgba(2,6,16,.92);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .26s,transform .26s,visibility .26s;z-index:1200}
.nav-has-sub:hover .nav-sub,.nav-has-sub:focus-within .nav-sub{opacity:1;visibility:visible;transform:translateY(0)}
.nav-sub::before{content:'';position:absolute;top:-12px;left:0;right:0;height:12px}
.nav-sub li{margin:0}
.nav-sub a{display:block;padding:11px 14px;border-radius:10px;font-size:15px;font-weight:600;color:var(--tx-2);white-space:nowrap}
.nav-sub a::after{display:none!important}
.nav-sub a:hover{color:var(--acc);background:var(--glass)}
.nav-sub-all{margin-top:5px;padding-top:13px!important;border-top:1px solid var(--line);color:var(--acc)!important;font-weight:700}
/* mobile drawer sub-links */
.drawer-group{display:none;flex-direction:column;gap:2px;margin:0 0 4px 14px;padding:6px 0 6px 16px;border-left:2px solid rgba(80,140,255,.22);border-radius:0 0 0 4px}
.drawer-group.open{display:flex}
.drawer-sub{font-size:15.5px!important;font-weight:600!important;padding:9px 14px!important;color:var(--tx-2)!important;opacity:.88}
.drawer-sub:hover{opacity:1;color:var(--acc)!important;background:var(--glass);border-radius:9px}
.drawer-item{display:flex;align-items:center;border-radius:12px;border:1px solid transparent;transition:.2s}
.drawer-item>a{flex:1;border:none!important;background:none!important}
.drawer-toggle{background:none;border:none;color:var(--tx-2);width:44px;height:44px;cursor:pointer;font-size:22px;line-height:1;transition:transform .25s;opacity:.5;border-radius:10px;flex:none;display:flex;align-items:center;justify-content:center}
.drawer-toggle:hover{opacity:1;background:var(--glass)}
.drawer-toggle[aria-expanded="true"]{transform:rotate(90deg);opacity:.9}
/* services overview discipline cards */
.disc-card{display:flex;flex-direction:column;text-decoration:none}
.disc-card-title{font-size:21px;margin:0;line-height:1.2}
.disc-card-intro{font-size:14px;color:var(--tx-2);line-height:1.55;margin:12px 0 0}
.disc-card-list{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:10px}
.disc-card-list li{position:relative;padding-left:24px;font-size:14.5px;color:var(--tx);font-weight:500;line-height:1.4}
.disc-card-list li::before{content:'';position:absolute;left:3px;top:7px;width:7px;height:7px;border-radius:2px;background:var(--acc);transform:rotate(45deg)}
.disc-card-cta{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;margin-top:auto;padding-top:22px;font-family:var(--font-d);font-weight:700;font-size:15px;color:var(--acc);position:relative}
.disc-card-cta::after{content:'';position:absolute;left:0;bottom:-2px;width:0;height:2px;background:var(--acc);border-radius:2px;transition:width .32s cubic-bezier(.2,.8,.25,1)}
.disc-card:hover .disc-card-cta::after,.disc-card:focus-visible .disc-card-cta::after{width:calc(100% - 24px)}
.disc-card-arrow{display:inline-block;transition:transform .32s cubic-bezier(.2,.8,.25,1)}
.disc-card:hover .disc-card-arrow,.disc-card:focus-visible .disc-card-arrow{transform:translateX(5px)}
.disc-card:hover .disc-card-cta,.disc-card:focus-visible .disc-card-cta{color:var(--tx)}
/* nav Book a Call ghost button */
.nav-book{display:none;align-items:center;font-family:var(--font-m);font-size:12.5px;font-weight:600;letter-spacing:.04em;color:var(--tx-2);border:1px solid var(--line);border-radius:100px;padding:7px 18px;text-decoration:none;white-space:nowrap;transition:border-color .2s,color .2s}
.nav-book:hover{border-color:var(--acc);color:var(--acc)}
@media(min-width:900px){.nav-cta .nav-book{display:inline-flex}}
.drawer-panel .nav-book{display:block;border:none;border-radius:0;padding:13px 16px;font-size:16px;letter-spacing:0;color:var(--tx);font-weight:600;text-decoration:none}
.drawer-panel .nav-book:hover{color:var(--acc);background:none}

/* ══════════════════════════════════════════════════════════
   RESOURCES HUB + ARTICLE TEMPLATE
   ══════════════════════════════════════════════════════════ */
.breadcrumb{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:13px;font-family:var(--font-m);font-weight:500;color:var(--mt);padding:14px 0 0}
.breadcrumb a{color:var(--mt);text-decoration:none;transition:color .2s}.breadcrumb a:hover{color:var(--acc)}.breadcrumb span{opacity:.45;font-size:12px}
.art-hero{padding:clamp(40px,6vw,80px) 0 0;border-bottom:1px solid var(--line)}
.art-hero-in{max-width:768px;margin:0 auto;text-align:center}
.art-hero-in .art-kicker{margin-inline:auto}
.art-hero-in h1,.art-hero-in .lead{margin-inline:auto}
.art-hero-img{max-width:768px;margin:clamp(28px,4vw,40px) auto 0;border-radius:18px;overflow:hidden;border:1px solid var(--line);box-shadow:0 32px 64px -34px rgba(0,0,0,.7);aspect-ratio:16/8.5}
.art-hero-img img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.94) brightness(.94)}
.art-kicker{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-m);font-size:11.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--acc);background:var(--acc-dim);border:1px solid rgba(130,180,255,.22);border-radius:100px;padding:5px 14px;margin-bottom:22px}
.art-meta{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;max-width:768px;margin:24px auto 0;padding-top:22px;padding-bottom:clamp(30px,4vw,56px);border-top:1px solid var(--line);font-size:13.5px;color:var(--mt);font-family:var(--font-m);font-weight:500}
.art-meta-dot{opacity:.35}.art-meta a{color:var(--mt);text-decoration:none}.art-meta a:hover{color:var(--acc)}
.art-body{display:grid;grid-template-columns:1fr;gap:0;padding-top:clamp(32px,5vw,60px)}
@media(min-width:1060px){.art-body{grid-template-columns:1fr 296px;gap:clamp(48px,5vw,80px);align-items:start}}
.art-body.art-single{max-width:768px;margin-inline:auto}
@media(min-width:1060px){.art-body.art-single{grid-template-columns:1fr}}
.art-toc-inline{border:1px solid var(--line);background:var(--glass);border-radius:14px;padding:18px 22px;margin:24px 0}
.art-toc-label{display:inline-flex;align-items:center;font-family:var(--font-m);font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--acc);background:var(--acc-dim);border:1px solid rgba(130,180,255,.22);border-radius:100px;padding:4px 13px;margin-bottom:14px}
.art-toc-links{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 28px}
.art-toc-links li{border-bottom:1px solid var(--line)}
.art-toc-links a{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 2px;font-size:14.5px;color:var(--tx-2);text-decoration:none;transition:color .2s}
.art-toc-links a::after{content:"";position:absolute;left:0;bottom:-1px;height:2px;width:var(--rp,0%);background:var(--acc);transition:width .2s linear}
.art-toc-links a .toc-chev{color:var(--acc);font-size:13px;font-weight:700;flex:none;opacity:.6;transition:transform .2s,opacity .2s}
.art-toc-links a:hover{color:var(--acc)}
.art-toc-links a:hover .toc-chev{transform:translateX(3px);opacity:1}
.art-toc-links a.active{color:var(--tx);font-weight:700}
.art-toc-links a.active .toc-chev{opacity:1}
@media(max-width:560px){.art-toc-links{grid-template-columns:1fr}}
.prose{max-width:78ch;color:var(--tx-2)}
.prose h2{position:relative;font-family:var(--font-d);font-size:clamp(20px,2.5vw,27px);font-weight:800;color:var(--tx);letter-spacing:-.02em;line-height:1.18;margin:clamp(44px,5.5vw,64px) 0 14px;padding-top:22px}
.prose h2::before{content:"";position:absolute;top:0;left:0;width:40px;height:3px;background:var(--acc);border-radius:2px}
.prose h2:first-child{margin-top:0;padding-top:0}.prose h2:first-child::before{display:none}.prose h3{font-family:var(--font-d);font-size:clamp(16px,1.8vw,20px);font-weight:700;color:var(--tx);letter-spacing:-.015em;margin:20px 0 9px}
.prose p{margin:0 0 16px;line-height:1.74;font-size:16.5px}.prose p:last-child{margin-bottom:0}
.prose ul,.prose ol{margin:0 0 18px 0;padding-left:22px}.prose li{margin-bottom:7px;line-height:1.65;font-size:16px}
.prose strong{color:var(--tx);font-weight:700}.prose a{color:var(--acc);text-decoration:underline;text-underline-offset:3px;transition:opacity .2s}.prose a:hover{opacity:.8}
.price-cards{display:grid;grid-template-columns:1fr;gap:16px;margin:24px 0}
@media(min-width:640px){.price-cards{grid-template-columns:repeat(3,1fr)}}
.price-card{background:var(--glass);border:1px solid var(--line);border-radius:var(--r);padding:22px 20px;display:flex;flex-direction:column;gap:9px;transition:border-color .25s}.price-card:hover{border-color:var(--line-2)}
.price-card-label{font-family:var(--font-m);font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--acc);opacity:.8}
.price-card-title{font-family:var(--font-d);font-size:18px;font-weight:800;color:var(--tx);line-height:1.2}
.price-card-range{font-family:var(--font-m);font-size:14.5px;font-weight:700;color:var(--acc);padding:6px 11px;background:var(--acc-dim);border-radius:8px;display:inline-block;margin:3px 0}
.price-card-desc{font-size:14px;color:var(--tx-2);line-height:1.6;margin-top:5px;flex:1}
.price-card-when{font-size:13px;color:var(--mt);margin-top:auto;padding-top:10px;border-top:1px solid var(--line);font-style:italic}
.art-callout{background:var(--glass);border:1px solid var(--line-2);border-left:3px solid var(--acc);border-radius:var(--r-sm);padding:20px 24px;margin:28px 0}
.art-callout-label{display:inline-flex;align-items:center;font-family:var(--font-m);font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--acc);background:var(--acc-dim);border:1px solid rgba(130,180,255,.22);border-radius:100px;padding:4px 13px;margin-bottom:12px}
.art-callout p{font-size:15.5px;color:var(--tx);line-height:1.65;margin:0}.art-callout strong{color:var(--acc)}
.driver-list{list-style:none;margin:0 0 24px;padding:0;display:grid;gap:10px}
.driver-list li{position:relative;padding-left:26px;font-size:15.5px;color:var(--tx-2);line-height:1.55}
.driver-list li::before{content:'▸';color:var(--acc);font-size:13px;font-weight:700;position:absolute;left:2px;top:2px}
.price-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-sm);margin:24px 0}
.price-table{width:100%;border-collapse:collapse;font-size:14.5px;min-width:440px}
.price-table th{background:rgba(130,180,255,.055);padding:12px 18px;font-family:var(--font-m);font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--acc);text-align:left;border-bottom:1px solid var(--line-2);white-space:nowrap}
.price-table th:not(:last-child){border-right:1px solid var(--line-2)}
.price-table td{padding:12px 18px;border-bottom:1px solid var(--line);color:var(--tx-2);vertical-align:top;line-height:1.5}
.price-table td:not(:last-child){border-right:1px solid var(--line)}
.price-table tr:last-child td{border-bottom:0}
.price-table tr:hover td{background:var(--glass);color:var(--tx)}
.price-table td:last-child{color:var(--acc);font-family:var(--font-m);font-weight:700;white-space:nowrap}
.art-sidebar{display:flex;flex-direction:column;gap:20px;padding-top:0}
@media(min-width:1060px){.art-sidebar{position:sticky;top:100px}}
.art-sidebar-card{background:var(--glass);border:1px solid var(--line);border-radius:var(--r);padding:22px 20px}
.art-sidebar-title{font-family:var(--font-m);font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--acc);margin-bottom:14px}
.art-toc{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px}
.art-toc a{display:block;padding:8px 12px;border-radius:8px;font-size:14px;color:var(--tx-2);text-decoration:none;transition:all .2s;border-left:2px solid transparent}
.art-toc a:hover{color:var(--acc);background:var(--glass);border-left-color:var(--acc)}
.art-cta-card{background:linear-gradient(150deg,#0D1A34,#0A1226);border:1px solid var(--line-2);border-radius:var(--r);padding:26px 22px}
.art-cta-card .h-3{font-size:17px;margin-bottom:10px;color:var(--tx)}.art-cta-card p{font-size:14px;color:var(--tx-2);line-height:1.6;margin-bottom:18px}
.art-rel{padding:clamp(48px,6vw,80px) 0;border-top:1px solid var(--line)}
.art-rel-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin-top:32px}
.art-rel-card{background:var(--glass);border:1px solid var(--line);border-radius:var(--r);padding:24px;text-decoration:none;display:flex;flex-direction:column;gap:10px;transition:border-color .25s,background .25s}
.art-rel-card:hover{border-color:var(--line-2);background:var(--glass-2)}
.art-rel-kicker{font-family:var(--font-m);font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--acc);opacity:.75}
.art-rel-title{font-family:var(--font-d);font-size:17px;font-weight:700;color:var(--tx);line-height:1.3}
.art-rel-desc{font-size:14px;color:var(--mt);line-height:1.55;flex:1}
.art-rel-arrow{font-size:18px;color:var(--acc);margin-top:auto;align-self:flex-start;transition:transform .25s}
.art-rel-card:hover .art-rel-arrow{transform:translateX(5px)}
.res-hero{padding:clamp(52px,7vw,88px) 0 clamp(36px,4.5vw,56px);border-bottom:1px solid var(--line)}
.res-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.res-card{background:var(--glass);border:1px solid var(--line);border-radius:var(--r);padding:24px 22px;text-decoration:none;display:flex;flex-direction:column;gap:11px;transition:border-color .3s,background .3s,transform .3s cubic-bezier(.2,.8,.25,1),box-shadow .3s;position:relative}
.res-card:hover{border-color:var(--line-2);background:var(--glass-2);transform:translateY(-4px);box-shadow:0 20px 44px -20px rgba(2,6,16,.75)}
.res-card:hover .icon-tile{color:var(--acc);border-color:var(--acc);box-shadow:var(--inset),0 10px 24px -10px rgba(130,180,255,.35)}
.res-card.coming{opacity:.52;pointer-events:none;cursor:default}
.res-card-kicker{font-family:var(--font-m);font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--acc);opacity:.8}
.res-card-title{font-family:var(--font-d);font-size:17px;font-weight:800;color:var(--tx);line-height:1.25;margin:0}
.res-card-desc{font-size:14px;color:var(--mt);line-height:1.55;flex:1}
.res-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:12px;border-top:1px solid var(--line)}
.res-card-time{font-size:12.5px;font-family:var(--font-m);color:var(--mt);font-weight:600}
.res-card-arrow{color:var(--acc);font-size:18px;transition:transform .25s}
.res-card:hover .res-card-arrow{transform:translateX(5px)}
.res-soon{position:absolute;top:16px;right:16px;background:var(--glass-2);border:1px solid var(--line);border-radius:100px;font-family:var(--font-m);font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--mt);padding:4px 12px}
.res-pillar{padding:clamp(36px,5.5vw,56px) 0 0}
.res-pillar-label{font-family:var(--font-m);font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--acc);opacity:.75;margin-bottom:7px}
.res-pillar-title{font-family:var(--font-d);font-size:clamp(17px,2.2vw,22px);font-weight:800;color:var(--tx);margin-bottom:24px;letter-spacing:-.02em}
@media(max-width:900px){.res-grid{grid-template-columns:repeat(2,1fr);gap:16px}}
@media(max-width:640px){.res-grid{grid-template-columns:1fr;gap:14px}}
