/* SmartAuger Technologies — smart-auger.com */
:root{
  --base:#070A0F; --base2:#0A0E15; --surface:#0C111A; --raised:#131A25;
  --border:#1A212B; --border-hi:#2B333E;
  --text:#F2F4F6; --text2:#9AA3AD; --muted:#586069;
  --acc:#2FB6E9; --acc-dim:#1B84C2; --acc-soft:rgba(47,182,233,.12);
  --op:#43D98C; --build:#E8B84B; --con:#9AA3AD;
  --sans:"Inter",system-ui,-apple-system,sans-serif;
  --mono:"JetBrains Mono","Cascadia Code",monospace;
  --pad:clamp(22px,5vw,76px);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--base);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
::selection{background:var(--acc-dim);color:#fff}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}

/* ---------- type ---------- */
.eyebrow{font-family:var(--mono);font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.24em;color:var(--muted)}
.eyebrow b{color:var(--text2);font-weight:500}
.eyebrow .tick{color:var(--acc)}
.display{font-weight:800;letter-spacing:-.025em;line-height:.98;text-transform:uppercase}
.display .acc{color:var(--acc)}
.display.xl{font-size:clamp(44px,7vw,100px)}
.display.lg{font-size:clamp(32px,4.4vw,60px)}
.display.md{font-size:clamp(26px,3.2vw,42px)}
.lede{font-size:clamp(15px,1.35vw,18px);line-height:1.65;color:var(--text2);max-width:640px}
.lede strong{color:var(--text);font-weight:600}
.lede a{color:var(--acc);border-bottom:1px solid transparent}
.lede a:hover{border-bottom-color:var(--acc)}

/* ---------- chrome bits ---------- */
.cticks i{position:absolute;width:16px;height:16px;border:0 solid var(--border-hi);opacity:.9;z-index:5;pointer-events:none}
.cticks .a{top:20px;left:20px;border-left-width:1px;border-top-width:1px}
.cticks .b{top:20px;right:20px;border-right-width:1px;border-top-width:1px}
.cticks .c{bottom:20px;left:20px;border-left-width:1px;border-bottom-width:1px}
.cticks .d{bottom:20px;right:20px;border-right-width:1px;border-bottom-width:1px}

.chip{display:inline-flex;align-items:center;gap:9px;font-family:var(--mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.18em;color:var(--text2);white-space:nowrap}
.dot{width:6px;height:6px;display:inline-block;flex:none}
.dot.op{background:var(--op);box-shadow:0 0 8px rgba(67,217,140,.5)}
.dot.build{background:var(--build);box-shadow:0 0 8px rgba(232,184,75,.4)}
.dot.con{background:transparent;box-shadow:inset 0 0 0 1px var(--muted)}

.btn{display:inline-flex;align-items:center;gap:12px;font-family:var(--mono);font-size:11.5px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;padding:14px 26px;border:1px solid var(--border-hi);color:var(--text);transition:all .25s}
.btn:hover{border-color:var(--acc);color:var(--acc)}
.btn.solid{background:var(--acc);border-color:var(--acc);color:var(--base)}
.btn.solid:hover{background:#54C5F0;border-color:#54C5F0;color:var(--base)}
.btn .arr{font-size:.9em}

/* ---------- nav ---------- */
nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;
  padding:0 clamp(18px,3vw,44px);height:66px;border-bottom:1px solid transparent;transition:background .35s,border-color .35s}
nav.scrolled{background:rgba(7,10,15,.9);backdrop-filter:blur(14px);border-bottom-color:var(--border)}
.brand{display:flex;align-items:center;gap:12px}
.brand img{height:17px;width:auto}
.navlinks{display:flex;align-items:center;gap:clamp(14px,2.4vw,34px);font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase}
.navlinks a{color:var(--text2);transition:color .2s;padding:6px 0;border-bottom:1px solid transparent}
.navlinks a:hover{color:var(--text)}
.navlinks a.active{color:var(--text);border-bottom-color:var(--acc)}
.navlinks a.cta{border:1px solid var(--border-hi);padding:9px 18px;color:var(--text);transition:all .2s}
.navlinks a.cta:hover{background:var(--acc);color:var(--base);border-color:var(--acc)}
@media(max-width:900px){.navlinks a{display:none}}

/* mobile menu */
.menubtn{display:none;background:none;border:1px solid var(--border-hi);width:44px;height:44px;padding:0;cursor:pointer;position:relative;z-index:210;flex:none;align-items:center;justify-content:center;flex-direction:column;gap:5px}
.menubtn i{display:block;width:18px;height:1.6px;background:var(--text);transition:transform .3s,opacity .3s}
.menubtn.x i:nth-child(1){transform:translateY(6.6px) rotate(45deg)}
.menubtn.x i:nth-child(2){opacity:0}
.menubtn.x i:nth-child(3){transform:translateY(-6.6px) rotate(-45deg)}
@media(max-width:900px){.menubtn{display:flex}}
.mobmenu{position:fixed;inset:0;z-index:205;background:rgba(5,8,13,.96);backdrop-filter:blur(14px);display:flex;flex-direction:column;justify-content:center;gap:6px;padding:80px clamp(24px,8vw,48px);visibility:hidden;opacity:0;transition:opacity .3s,visibility .3s}
.mobmenu.open{visibility:visible;opacity:1}
.mobmenu a{font-family:var(--mono);font-size:clamp(22px,6vw,30px);font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--text2);padding:14px 0;border-bottom:1px solid var(--border);opacity:0;transform:translateY(14px);transition:opacity .4s,transform .4s,color .2s}
.mobmenu.open a{opacity:1;transform:none}
.mobmenu a:hover,.mobmenu a.active{color:var(--acc)}
.mobmenu a.cta{border:0;border-bottom:1px solid var(--border);color:var(--acc);padding:14px 0;background:none}

.progress{position:fixed;top:0;left:0;height:2px;background:var(--acc);width:0;z-index:101}

/* ---------- reveal ---------- */
.rv{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.rv.d1{transition-delay:.08s}.rv.d2{transition-delay:.16s}.rv.d3{transition-delay:.24s}.rv.d4{transition-delay:.32s}
.on .rv{opacity:1;transform:none}

/* ---------- page hero ---------- */
.hero{position:relative;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}
.hero.full{min-height:92svh}
.hero.short{min-height:56svh}
.hero video,.hero .heroimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.62) contrast(1.05) saturate(.55)}
.hero .tint{position:absolute;inset:0;background:#0E1A30;mix-blend-mode:color;opacity:.35}
.hero .scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,10,15,.6) 0%,rgba(7,10,15,.15) 35%,rgba(7,10,15,.45) 70%,rgba(7,10,15,.98) 100%)}
.hero .inner{position:relative;z-index:2;padding:110px var(--pad) clamp(56px,8vh,96px)}
.scrollcue{position:absolute;bottom:26px;right:clamp(22px,4vw,72px);z-index:3;font-family:var(--mono);font-size:10px;letter-spacing:.3em;color:var(--text2);display:flex;align-items:center;gap:12px;text-transform:uppercase}
.scrollcue .line{width:1px;height:34px;background:linear-gradient(var(--text2),transparent);position:relative;overflow:hidden}
.scrollcue .line::after{content:"";position:absolute;left:0;top:-100%;width:100%;height:100%;background:var(--acc);animation:drip 2.2s ease-in-out infinite}
@keyframes drip{0%{top:-100%}60%{top:100%}100%{top:100%}}

/* ---------- split hero ---------- */
.herosplit{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}
.herosplit .panes{position:absolute;inset:0}
.herosplit .pane{position:absolute;inset:0;overflow:hidden}
.herosplit .pane.l{clip-path:polygon(0 0,58% 0,44% 100%,0 100%)}
.herosplit .pane.r{clip-path:polygon(58% 0,100% 0,100% 100%,44% 100%)}
.herosplit .pane .pim{position:absolute;inset:0;background-size:cover;filter:saturate(.5) brightness(.55) contrast(1.06);transform:scale(1.02);transition:filter .7s,transform .7s}
.herosplit .pane video.pim{width:auto;height:auto;object-fit:cover}
/* living-photo cloud drift — only the sky moves; the image itself is a frozen still */
.herosplit .clouds{position:absolute;inset:0;pointer-events:none;mix-blend-mode:screen;
  -webkit-mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.75) 34%,transparent 58%);
  mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.75) 34%,transparent 58%)}
.herosplit .clouds i{position:absolute;inset:0;background-repeat:repeat-x;background-size:2048px 1024px}
.herosplit .clouds .c1{background-image:url('fog1.png');opacity:.46;animation:clouddrift 110s linear infinite}
.herosplit .clouds .c2{background-image:url('fog2.png');opacity:.3;animation:clouddrift 180s linear infinite reverse}
@keyframes clouddrift{from{background-position:0 0}to{background-position:2048px 0}}

/* hero panes are clickable doors — hint appears on hover */
.herosplit .pane{cursor:pointer}
.herosplit .pane::after{position:absolute;z-index:4;bottom:118px;font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:.24em;color:#fff;text-transform:uppercase;border:1px solid var(--acc);background:rgba(7,10,15,.62);backdrop-filter:blur(8px);padding:12px 18px;opacity:0;transform:translateY(8px);transition:opacity .3s,transform .3s;pointer-events:none}
.herosplit .pane.l::after{content:"EXPLORE THE BUILT WORLD ▸";left:10%}
.herosplit .pane.r::after{content:"EXPLORE DEFENSE SYSTEMS ▸";right:8%}
.herosplit .pane:hover::after{opacity:1;transform:none}
@media(max-width:820px){.herosplit .pane::after{display:none}}

/* rotor wash — pulsing air distortion + outward dust under the drone (right pane) */
.herosplit .pane .pim.shimmer{filter:url(#rotorwash) saturate(.5) brightness(.55) contrast(1.06);
  -webkit-mask-image:radial-gradient(ellipse 13% 17% at 93% 40%,#000 0%,rgba(0,0,0,.6) 55%,transparent 78%);
  mask-image:radial-gradient(ellipse 13% 17% at 93% 40%,#000 0%,rgba(0,0,0,.6) 55%,transparent 78%)}
.herosplit .pane:hover .pim.shimmer{filter:url(#rotorwash) saturate(.8) brightness(.66) contrast(1.04)}
.herosplit .wash{position:absolute;inset:0;pointer-events:none;mix-blend-mode:screen;
  -webkit-mask-image:radial-gradient(ellipse 15% 10% at 93% 50%,#000 0%,rgba(0,0,0,.5) 55%,transparent 75%);
  mask-image:radial-gradient(ellipse 15% 10% at 93% 50%,#000 0%,rgba(0,0,0,.5) 55%,transparent 75%)}
.herosplit .wash i{position:absolute;inset:0;background-image:url('fog2.png');background-size:1024px 512px;background-repeat:repeat}
.herosplit .wash .w1{opacity:.13;animation:washout 6.5s linear infinite}
.herosplit .wash .w2{opacity:.09;animation:washin 8.5s linear infinite}
@keyframes washout{from{background-position:0 0}to{background-position:-1024px 44px}}
@keyframes washin{from{background-position:0 0}to{background-position:1024px 26px}}

/* left pane — bright sky haze + low jobsite dust, one wind direction */
.herosplit .pane.l .clouds .c1{opacity:.38;animation-duration:150s}
.herosplit .pane.l .clouds .c2{opacity:.24;animation-duration:240s}
.herosplit .dust{position:absolute;inset:0;pointer-events:none;mix-blend-mode:screen;
  -webkit-mask-image:linear-gradient(0deg,#000 0%,rgba(0,0,0,.65) 20%,transparent 44%);
  mask-image:linear-gradient(0deg,#000 0%,rgba(0,0,0,.65) 20%,transparent 44%)}
.herosplit .dust i{position:absolute;inset:0;background-image:url('fog3.png');background-size:1536px 768px;background-repeat:repeat}
.herosplit .dust .d1{opacity:.11;animation:dustdrift1 38s linear infinite}
.herosplit .dust .d2{opacity:.07;animation:dustdrift2 61s linear infinite}
@keyframes dustdrift1{from{background-position:0 0}to{background-position:-1536px 14px}}
@keyframes dustdrift2{from{background-position:0 0}to{background-position:-1536px -10px}}

@media (prefers-reduced-motion: reduce){.herosplit .clouds i,.herosplit .wash i,.herosplit .dust i{animation:none}.herosplit .pim.shimmer{display:none}}
.herosplit .pane.l .pim{right:40%;background-position:62% center}
.herosplit .pane.r .pim{left:42%;background-position:22% center}
/* per-monitor crop tuning — narrower panes need the GroundScope unit pulled into frame */
@media(max-width:1700px){
  .herosplit .pane.l .pim{background-position:54% center}
}
@media(max-width:1300px){
  .herosplit .pane.l .pim{background-position:48% center}
  .herosplit .pane.r .pim{background-position:26% center}
}
@media(max-width:820px){
  .herosplit .pane.l .pim{right:0;bottom:44%}
  .herosplit .pane.r .pim{left:0;top:44%}
}
.herosplit .pane:hover .pim{filter:saturate(.8) brightness(.66) contrast(1.04);transform:scale(1.05)}
.herosplit .pane .ptint{position:absolute;inset:0;background:#0E1A30;mix-blend-mode:color;opacity:.4;pointer-events:none}
.herosplit .seamsvg{position:absolute;inset:0;width:100%;height:100%;z-index:4;pointer-events:none}
.herosplit .seamsvg line{stroke:var(--border-hi);stroke-width:1.5}
.herosplit .seamsvg .mob{display:none}
.herosplit .plabel{position:absolute;top:86px;z-index:4;font-family:var(--mono);font-size:10.5px;letter-spacing:.28em;color:var(--text2);text-transform:uppercase}
.herosplit .plabel .br{color:var(--muted);letter-spacing:0;margin:0 9px}
.herosplit .plabel.l{left:var(--pad)}
.herosplit .plabel.r{left:calc(58% + 26px)}
.herosplit .scrim{position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,rgba(7,10,15,.62) 0%,rgba(7,10,15,.16) 35%,rgba(7,10,15,.5) 70%,rgba(7,10,15,.98) 100%);pointer-events:none}
.herosplit .inner{position:relative;z-index:5;padding:110px var(--pad) clamp(56px,8vh,96px);pointer-events:none}
.herosplit .inner a{pointer-events:auto}

/* typed entry statement */
.htwrap{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;text-align:left;padding:80px var(--pad);pointer-events:none}
.ht-display{font-weight:800;letter-spacing:-.02em;line-height:1.14;text-transform:uppercase;font-size:clamp(24px,3.7vw,58px);min-height:4.6em;color:#fff}
.ht-display .acc{color:var(--acc)}
.ht-caret{display:inline-block;width:.52em;height:1em;background:currentColor;margin-left:.12em;vertical-align:-.08em;animation:htblink .85s steps(1) infinite}
@keyframes htblink{50%{opacity:0}}
@media(max-width:820px){
  .herosplit .pane.l{clip-path:polygon(0 0,100% 0,100% 46%,0 54%)}
  .herosplit .pane.r{clip-path:polygon(0 54%,100% 46%,100% 100%,0 100%)}
  .herosplit .seamsvg .desk{display:none}
  .herosplit .seamsvg .mob{display:block}
  .herosplit .plabel.r{left:var(--pad);top:calc(54% + 16px)}
}

/* ---------- sections ---------- */
/* no CSS snap anywhere — desktop uses the JS pager, mobile scrolls natively */
html{scroll-snap-type:none}
.snapstart{scroll-snap-align:start}
.band{padding:clamp(64px,9vh,110px) var(--pad);position:relative}

/* light slab — white reveal section */
.band.light{background:#EFF3F8;color:#0F1C2B;min-height:100svh;display:flex;flex-direction:column;justify-content:center}
#what h2.display{min-height:2.95em}
.band.light .display{color:#0F1C2B}
.band.light .display .acc{color:var(--acc-dim)}
.band.light .secnum{color:var(--acc-dim)}
.band.light .lede{color:#44546A}
.band.light .lede strong{color:#0F1C2B}
.band.light .secnum .rule{background:#C7D2E0}
.band.light .valgrid{border-top-color:#C7D2E0;margin-top:clamp(30px,5vh,48px)}
.band.light .val{border-left-color:#D5DEE9}
.band.light .val .n{font-family:var(--mono);font-size:clamp(14px,1.35vw,19px);font-weight:600;letter-spacing:.26em;color:#0F1C2B;text-transform:uppercase}
.band.light .val .n .br{color:#9FAFC4;letter-spacing:0;margin:0 9px}
.band.light .val .d{color:#44546A;margin-top:16px}
.band.light .statrow{border-top-color:#C7D2E0;max-width:none}
.band.light .statrow .cell{border-left-color:#D5DEE9}
.band.light .statrow .v{color:var(--acc-dim)}
.band.light .statrow .k{color:#7A8AA0}
/* what-we-do — live signal pipeline: raw signal in, ground truth out */
.pipeflow{position:relative;display:grid;grid-template-columns:.75fr 1fr 1fr 1fr .55fr;gap:clamp(14px,2vw,28px);margin-top:clamp(34px,5.5vh,54px);align-items:start}
.pf-sensors{position:relative;z-index:1;display:flex;flex-direction:column;gap:8px;padding-right:14px}
.pf-sensors::after{content:"";position:absolute;right:0;top:8%;bottom:26%;width:1px;background:#C7D2E0}
.pf-sig{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid #C7D2E0;padding:6px 10px}
.pf-sig svg{width:38px;height:15px;color:var(--acc-dim);flex:none}
.pf-sig span{font-family:var(--mono);font-size:9px;font-weight:600;letter-spacing:.2em;color:#0F1C2B}
.pf-sensors .lb{font-family:var(--mono);font-size:9px;font-weight:600;letter-spacing:.18em;color:#7A8AA0;text-transform:uppercase;line-height:1.5}
.pf-track{position:absolute;top:17px;left:2%;right:2%;height:2px;background:#D5DEE9;overflow:hidden}
.pf-track::after{content:"";position:absolute;top:0;bottom:0;width:64px;left:-64px;background:linear-gradient(90deg,transparent,var(--acc),transparent);animation:pfpulse 4.2s linear infinite}
@keyframes pfpulse{to{left:100%}}
.pf-end{position:relative;z-index:1;text-align:center;padding-top:2px}
.pf-end .glyph{width:34px;height:34px;margin:0 auto;border:1px solid #C7D2E0;background:#fff;display:flex;align-items:center;justify-content:center;color:var(--acc-dim)}
.pf-end .glyph svg{width:20px;height:20px}
.pf-end .lb{font-family:var(--mono);font-size:9.5px;font-weight:600;letter-spacing:.2em;color:#7A8AA0;text-transform:uppercase;margin-top:10px;line-height:1.5}
.pf-node{position:relative;z-index:1;text-align:left}
.pf-dot{width:34px;height:34px;border:1px solid #C7D2E0;background:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:12px;font-weight:600;color:#0F1C2B;animation:pfglow 4.2s linear infinite}
.pipeflow>:nth-child(3) .pf-dot{animation-delay:0s}
.pipeflow>:nth-child(4) .pf-dot{animation-delay:1.05s}
.pipeflow>:nth-child(5) .pf-dot{animation-delay:2.1s}
@keyframes pfglow{0%,18%,38%,100%{border-color:#C7D2E0;color:#0F1C2B;box-shadow:none}
  26%{border-color:var(--acc);color:var(--acc-dim);box-shadow:0 0 0 4px rgba(47,182,233,.15),0 0 18px rgba(47,182,233,.35)}}
.pf-t{font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.28em;color:#0F1C2B;text-transform:uppercase;margin-top:14px}
.pf-d{font-size:13.5px;line-height:1.65;color:#44546A;margin-top:9px}
.pf-d b{color:#0F1C2B;font-weight:600}
@media(max-width:900px){
  .pipeflow{grid-template-columns:1fr;gap:26px}
  .pf-track{top:0;bottom:0;left:16px;right:auto;width:2px;height:auto}
  .pf-track::after{width:100%;height:64px;left:0;top:-64px;background:linear-gradient(180deg,transparent,var(--acc),transparent);animation:pfpulsev 4.2s linear infinite}
  @keyframes pfpulsev{to{top:100%}}
  .pf-node,.pf-end{position:relative;text-align:left;padding-left:56px;min-height:36px}
  .pf-dot,.pf-end .glyph{position:absolute;left:0;top:0;margin:0}
  .pf-sensors{padding-left:56px;padding-right:0}
  .pf-sensors::after{display:none}
  .pf-sig{max-width:240px}
  .pf-end .lb{margin-top:8px}
  .pf-t{margin-top:0}
}

/* what-we-do slab — cyan topo sheet bleeding in from the right, gone by center */
#what.band.light{position:relative;overflow:hidden}
#what.band.light::before{content:"";position:absolute;inset:0;background:url('topo-cyan-hd.webp') center/cover no-repeat;opacity:.22;pointer-events:none;
  -webkit-mask-image:linear-gradient(to left,#000 0%,rgba(0,0,0,.5) 30%,transparent 52%);
  mask-image:linear-gradient(to left,#000 0%,rgba(0,0,0,.5) 30%,transparent 52%)}
#what.band.light>*{position:relative}

/* radar case-opening — top cover scrubs off with scroll to reveal the PCB */
.whathead{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.92fr);gap:clamp(24px,4vw,60px);align-items:center}
@media(max-width:980px){.whathead{grid-template-columns:1fr}}
.radarfx{position:relative;width:100%;max-width:620px;justify-self:center}
.radarfx img{width:46%;height:auto;display:block}
.radarfx .rtimg{position:absolute;top:0;left:0;will-change:transform,filter}
.rcap{font-family:var(--mono);font-size:10px;letter-spacing:.2em;color:#7A8AA0;text-transform:uppercase;margin-top:14px}
.rcap .br{color:#B8C3D1;letter-spacing:0;margin:0 6px}

.painline{margin:clamp(30px,5vh,48px) auto 0;text-align:left;width:fit-content;max-width:100%;font-weight:700;font-size:clamp(17px,1.9vw,26px);letter-spacing:-.01em;line-height:1.45;color:#0F1C2B}
.painline .acc{color:var(--acc-dim)}
.band.tight{padding-top:clamp(44px,6vh,72px);padding-bottom:clamp(44px,6vh,72px)}
.band.line-t{border-top:1px solid var(--border)}
.sechead{display:flex;align-items:baseline;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:clamp(28px,4vh,44px)}
.sechead .right{font-family:var(--mono);font-size:11px;letter-spacing:.22em;color:var(--muted);text-transform:uppercase}
.secnum{font-family:var(--mono);font-size:11px;letter-spacing:.24em;color:var(--acc);text-transform:uppercase;display:flex;align-items:center;gap:14px;margin-bottom:16px}
.secnum .rule{width:44px;height:1px;background:var(--border-hi)}

/* stat mini row */
.statrow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--border-hi);margin-top:clamp(30px,4vh,44px);max-width:760px}
.statrow .cell{padding:18px 24px 0;border-left:1px solid var(--border)}
.statrow .cell:first-child{padding-left:0;border-left:0}
.statrow .v{font-family:var(--mono);font-size:clamp(24px,2.4vw,34px);font-weight:600;color:var(--acc)}
.statrow .k{font-family:var(--mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin-top:8px;line-height:1.5}

/* ---------- systems: frosted backdrop + contained brief|imagery card ---------- */
.sysfull{position:relative;height:100svh;overflow:hidden;background:var(--base2);border-top:1px solid var(--border);border-bottom:1px solid var(--border);user-select:none;-webkit-user-select:none;touch-action:pan-y;cursor:grab}
.sysfull.dragging{cursor:grabbing}
.sysfull.dragging .slabtrack,.sysfull.dragging .slabenv,.sysfull.dragging .slabbg{transition:none}
.sysfull:focus{outline:none}
.sysfull:focus-visible{outline:1px solid var(--acc-dim);outline-offset:-1px}
.slabtrack{display:flex;height:100%;transition:transform .8s cubic-bezier(.7,.05,.25,1);will-change:transform}
.slab{position:relative;flex:0 0 100%;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:clamp(76px,10.5vh,112px) clamp(18px,3.4vw,52px) clamp(54px,8vh,80px)}

/* frosted shower-door backdrop — the product image doubled, heavily blurred */
.slabbg{position:absolute;inset:-48px;background-size:cover;background-position:center;filter:blur(30px) saturate(.62) brightness(.38);transform:scale(1.06);transition:transform .8s cubic-bezier(.7,.05,.25,1);will-change:transform}
.slab::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:
  linear-gradient(180deg,rgba(7,10,15,.5) 0%,rgba(178,198,222,.045) 42%,rgba(7,10,15,.6) 100%)}

/* FATHOM backdrop — dark field, one crisp contour layer; visibility pools wander */
.slabbg.topo{background:#06090E;filter:none}
.slabbg.topo i{position:absolute;inset:-8%;background:url('topo-cyan-hd.webp') center/cover no-repeat;opacity:.85;will-change:mask-position;
  -webkit-mask-image:linear-gradient(rgba(0,0,0,.09),rgba(0,0,0,.09)),radial-gradient(closest-side,rgba(0,0,0,.42) 18%,transparent 68%),radial-gradient(closest-side,rgba(0,0,0,.3) 14%,transparent 62%);
  mask-image:linear-gradient(rgba(0,0,0,.09),rgba(0,0,0,.09)),radial-gradient(closest-side,rgba(0,0,0,.42) 18%,transparent 68%),radial-gradient(closest-side,rgba(0,0,0,.3) 14%,transparent 62%);
  -webkit-mask-size:100% 100%,95% 105%,72% 84%;mask-size:100% 100%,95% 105%,72% 84%;
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  animation:topodrift 57s ease-in-out infinite alternate}
@keyframes topodrift{
  0%{-webkit-mask-position:0 0,12% 20%,82% 74%;mask-position:0 0,12% 20%,82% 74%}
  28%{-webkit-mask-position:0 0,55% 38%,30% 85%;mask-position:0 0,55% 38%,30% 85%}
  55%{-webkit-mask-position:0 0,78% 70%,15% 25%;mask-position:0 0,78% 70%,15% 25%}
  100%{-webkit-mask-position:0 0,25% 85%,88% 12%;mask-position:0 0,25% 85%,88% 12%}}
@media(prefers-reduced-motion:reduce){.slabbg.topo i{animation:none}}

/* the contained card */
.slabcard{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);width:min(1360px,100%);height:min(74vh,720px);border:1px solid rgba(255,255,255,.14);box-shadow:0 34px 90px rgba(0,0,0,.55),0 6px 22px rgba(0,0,0,.4);overflow:hidden;background:var(--base2);opacity:0;transform:translateY(22px) scale(.985);transition:opacity .55s .15s,transform .7s .15s cubic-bezier(.2,.7,.2,1)}
.slab.act .slabcard{opacity:1;transform:none}

/* left: technical brief on light panel */
.slabbrief{position:relative;background:#EFF3F8;color:#0F1C2B;border-right:1px solid #D5DEE9;display:flex;flex-direction:column;justify-content:center;padding:clamp(24px,3.2vw,54px)}
.slabdom{font-family:var(--mono);font-size:10px;letter-spacing:.26em;color:#7A8AA0;text-transform:uppercase}
.slabdom b{color:var(--acc-dim);font-weight:500}
.slabname{font-weight:800;font-size:clamp(30px,3vw,48px);letter-spacing:-.02em;text-transform:uppercase;line-height:.95;margin-top:12px;color:#0F1C2B}
.slabtag{margin-top:9px;font-size:clamp(14px,1.4vw,18px);font-weight:600;color:#3D4C5E}
.slabpara{margin-top:15px;font-size:13.5px;line-height:1.65;color:#4A5A6D;max-width:52ch}
.slabspecs{margin-top:clamp(16px,3vh,28px);border-top:1px solid #C7D2E0}
.slabspecs div{display:grid;grid-template-columns:clamp(90px,8vw,126px) 1fr;gap:14px;padding:9px 2px;border-bottom:1px solid #DCE3EC}
.slabspecs dt{font-family:var(--mono);font-size:9.5px;letter-spacing:.18em;color:#7A8AA0;text-transform:uppercase;padding-top:2px}
.slabspecs dd{font-size:12.5px;color:#24313F;line-height:1.5}
.slabbrief>*{opacity:0;transform:translateY(14px);transition:opacity .5s,transform .6s cubic-bezier(.2,.7,.2,1)}
.slab.act .slabbrief>*{opacity:1;transform:none}
.slab.act .slabbrief>:nth-child(1){transition-delay:.34s}
.slab.act .slabbrief>:nth-child(2){transition-delay:.4s}
.slab.act .slabbrief>:nth-child(3){transition-delay:.46s}
.slab.act .slabbrief>:nth-child(4){transition-delay:.52s}
.slab.act .slabbrief>:nth-child(5){transition-delay:.58s}

/* GroundScope slab — logo, render, CTA */
.gsname img{height:clamp(52px,5.2vw,84px);width:auto;display:block}
.fname img{height:clamp(46px,4.6vw,72px);width:auto;display:block}
.gravename img{height:clamp(30px,3vw,48px);width:auto;display:block}
/* flag mark — bottom center of defense briefs */
.slabflag{height:clamp(50px,6.2vh,76px);width:auto;display:block;margin:clamp(18px,3vh,28px) auto 0}

/* classified-style redaction bars in spec sheets */
.slabspecs dd.redacted i{display:inline-block;height:13px;background:#0B0E13;vertical-align:middle;margin-right:7px;border-radius:1px}
.slabspecs .inline-grave{display:inline-block;height:11px;width:auto;vertical-align:baseline;margin-right:2px}
.gscta{display:inline-flex;align-items:center;justify-content:center;gap:18px;align-self:center;width:min(100%,420px);margin-top:clamp(18px,3.4vh,32px);background:#0F1C2B;color:#fff;font-family:var(--mono);font-size:15px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;padding:20px 34px;transition:background .25s;position:relative;z-index:2}
.gscta img{height:26px;width:auto}
.gscta .arr{color:var(--acc);font-size:.95em}
.gscta:hover{background:var(--acc-dim)}
.slab.act .slabbrief>:nth-child(6){transition-delay:.64s}

/* right: the environment, sharp — the focal point against its frosted double */
.slabmedia{position:relative;overflow:hidden;background:var(--base2)}
.slabenv{position:absolute;inset:0;transition:transform .8s cubic-bezier(.7,.05,.25,1);will-change:transform}
.slabenv .slabim{position:absolute;inset:0;background-size:cover;background-position:center;filter:saturate(.82) brightness(.72) contrast(1.05)}
.slabenv video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.82) brightness(.74) contrast(1.04)}
.slabmedia::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(7,10,15,.16),transparent 24%),linear-gradient(180deg,transparent 64%,rgba(7,10,15,.4) 100%)}

/* FATHOM hero — particle-assembled symbol */
.slabenv canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.slabenv.fx{background:radial-gradient(90% 90% at 50% 46%,#0B1220 0%,#06090E 78%)}

/* GRAVE field terminal composite */
.laptop{position:absolute;right:max(calc((100% - 1360px)/2 - 90px),clamp(12px,2.2vw,48px));bottom:clamp(20px,5vh,56px);width:clamp(400px,44vw,900px);z-index:3;filter:drop-shadow(0 26px 52px rgba(0,0,0,.7));opacity:0;transform:translateY(24px);transition:opacity .6s .55s,transform .7s .55s cubic-bezier(.2,.7,.2,1)}
.slab.act .laptop{opacity:1;transform:none}
.laptop img{width:100%;height:auto;display:block;position:relative;z-index:1}
.laptop video{position:absolute;left:12.2%;top:6.8%;width:75.6%;height:54.6%;z-index:2;object-fit:cover;background:#05070B}

/* HUD + minimal nav (over the frosted backdrop) */
.syshud{position:absolute;top:clamp(80px,11vh,116px);left:var(--pad);z-index:4;pointer-events:none}
.slabmeta{position:absolute;left:var(--pad);bottom:clamp(20px,3.6vh,38px);z-index:4;display:flex;align-items:center;gap:26px}
.slabidx{font-family:var(--mono);font-size:15px;font-weight:600;letter-spacing:.24em;color:var(--text)}
.slabticks{display:inline-flex;gap:10px;align-items:center}
.slabticks i{position:relative;display:inline-block;width:46px;height:4px;background:rgba(255,255,255,.22);cursor:pointer;transition:background .3s,width .3s;overflow:hidden}
.slabticks i:hover{background:rgba(255,255,255,.45)}
.slabticks i.on{width:84px}
.slabticks i.on::after{content:"";position:absolute;inset:0;background:var(--acc);transform:translateX(-100%);animation:tickfill 22s linear forwards}
.sysfull.paused .slabticks i.on::after{animation-play-state:paused}
@keyframes tickfill{to{transform:translateX(0)}}
.draghint{font-family:var(--mono);font-size:11.5px;letter-spacing:.3em;color:var(--muted);text-transform:uppercase}
/* slab arrows — flanking the center card, vertically centered */
.slabarrows{position:absolute;inset:0;pointer-events:none;z-index:6}
.sarr{pointer-events:auto;position:absolute;top:50%;transform:translateY(-50%);width:56px;height:96px;
  background:rgba(7,10,15,.5);backdrop-filter:blur(10px);border:1px solid var(--border-hi);color:var(--text2);
  cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;
  transition:border-color .25s,color .25s,background .25s,transform .25s}
#sprev{left:max(14px,calc((100% - 1360px)/2 - 86px));clip-path:polygon(12px 0,100% 0,100% 100%,12px 100%,0 calc(100% - 12px),0 12px)}
#snext{right:max(14px,calc((100% - 1360px)/2 - 86px));clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%)}
.sarr svg{width:22px;height:22px;transition:transform .3s}
.sarr .ghost{position:absolute;width:22px;height:22px;opacity:0;transition:opacity .3s,transform .3s;color:var(--acc)}
.sarr:hover{border-color:var(--acc);color:var(--acc);background:rgba(7,10,15,.82);transform:translateY(-50%) scale(1.04)}
#sprev:hover svg{transform:translateX(-4px)}
#snext:hover svg{transform:translateX(4px)}
#sprev:hover .ghost{opacity:.45;transform:translateX(-14px)}
#snext:hover .ghost{opacity:.45;transform:translateX(14px)}
.sarr:active{transform:translateY(-50%) scale(.96)}
.sarr::after{content:"";position:absolute;left:50%;transform:translateX(-50%);bottom:9px;width:14px;height:1px;background:var(--border-hi);transition:background .25s,width .25s}
.sarr:hover::after{background:var(--acc);width:22px}
@media(max-width:820px){.sarr{width:40px;height:64px}#sprev{left:6px}#snext{right:6px}}

@media(max-width:880px){
  .slab{padding:78px 16px 64px}
  .slabcard{grid-template-columns:1fr;grid-template-rows:minmax(150px,30svh) auto;height:auto;max-height:calc(100svh - 150px)}
  .slabmedia{order:-1}
  .slabbrief{border-right:0;border-top:1px solid #D5DEE9;justify-content:flex-start;overflow-y:auto}
  .laptop{width:52vw}
  .draghint{display:none}
  .syshud{display:none}
}
@media(prefers-reduced-motion:reduce){
  .slabtrack,.slabenv,.slabbg,.slabcard,.slabbrief>*,.laptop{transition-duration:.01s;transition-delay:0s}
  .slabticks i.on::after{animation:none;transform:none}
}

/* ---------- last page: partners · cta · footer in one viewport ---------- */
.lastpage{min-height:100svh;display:flex;flex-direction:column}
.lastpage .band.tall{min-height:0;flex:0 0 auto;justify-content:center;padding-top:clamp(80px,11vh,110px);padding-bottom:clamp(24px,3.5vh,40px)}
.lastpage .band.tall .logomarquee{margin-top:clamp(18px,2.6vh,30px)}
.lastpage .ctaband{min-height:0;flex:1 1 auto;justify-content:center;padding-top:clamp(26px,4vh,44px);padding-bottom:clamp(26px,4vh,44px)}
.lastpage footer{flex:0 0 auto;padding-top:clamp(24px,3.4vh,40px);padding-bottom:24px}
.lastpage .fbot{margin-top:clamp(18px,2.6vh,30px)}

/* ---------- partner logo wall ---------- */
.band.tall{display:flex;flex-direction:column;justify-content:center}
.logomarquee{overflow:hidden;width:100%;margin-top:clamp(26px,4vh,44px);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.mtrack{display:flex;width:max-content;animation:marq 60s linear infinite}
.logomarquee:hover .mtrack{animation-play-state:paused}
.mset{display:flex;align-items:center;gap:clamp(44px,5.5vw,90px);padding-right:clamp(44px,5.5vw,90px)}
.mset img{height:clamp(28px,3.4vh,44px);width:auto;opacity:.82;transition:opacity .3s;flex:none}
.mset img:hover{opacity:1}
.mset img.tallmark{height:clamp(46px,5.6vh,70px)}
@keyframes marq{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.mtrack{animation:none;flex-wrap:wrap}}

/* ---------- cta band ---------- */
.ctaband{border-top:1px solid var(--border);min-height:50svh;display:flex;flex-direction:column;justify-content:center;background:
  radial-gradient(90% 120% at 85% 10%,rgba(47,182,233,.08),transparent 60%),
  linear-gradient(90deg,rgba(7,10,15,.94) 0%,rgba(7,10,15,.72) 48%,rgba(7,10,15,.5) 100%),
  url('cta-bg.jpg') center 62%/cover no-repeat #0E1A30;
  background-blend-mode:normal,normal,luminosity}
.ctaband.gsdevice{background:
  radial-gradient(90% 120% at 85% 10%,rgba(47,182,233,.08),transparent 60%),
  linear-gradient(90deg,rgba(7,10,15,.95) 0%,rgba(7,10,15,.7) 46%,rgba(7,10,15,.42) 100%),
  url('gs-contact.webp') center 60%/cover no-repeat #0E1A30;
  background-blend-mode:normal,normal,luminosity}
.bigmail{font-family:var(--mono);font-size:clamp(16px,2.4vw,28px);font-weight:600;letter-spacing:.04em;color:var(--text);display:inline-flex;align-items:center;gap:16px;border-bottom:1px solid var(--border-hi);padding-bottom:10px;transition:all .25s}
.bigmail:hover{border-color:var(--acc);color:var(--acc)}
.bigmail .arr{font-size:.8em;color:var(--acc)}

/* ---------- contact window ---------- */
.cmodal{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:20px;visibility:hidden;opacity:0;transition:opacity .3s,visibility .3s}
.cmodal.open{visibility:visible;opacity:1}
.cm-scrim{position:absolute;inset:0;background:rgba(4,6,10,.78);backdrop-filter:blur(10px)}
.cm-card{position:relative;width:min(680px,94vw);max-height:92svh;overflow-y:auto;background:var(--base2);border:1px solid var(--border-hi);padding:clamp(28px,4vw,48px);transform:translateY(18px);transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.cmodal.open .cm-card{transform:none}
.cm-card .ct{position:absolute;width:14px;height:14px;border:0 solid var(--acc)}
.cm-card .ct.a{top:10px;left:10px;border-left-width:1px;border-top-width:1px}
.cm-card .ct.b{top:10px;right:10px;border-right-width:1px;border-top-width:1px}
.cm-card .ct.c{bottom:10px;left:10px;border-left-width:1px;border-bottom-width:1px}
.cm-card .ct.d{bottom:10px;right:10px;border-right-width:1px;border-bottom-width:1px}
.cm-x{position:absolute;top:16px;right:18px;background:none;border:0;color:var(--text2);font-size:15px;cursor:pointer;padding:6px}
.cm-x:hover{color:var(--text)}
.cm-eyebrow{font-family:var(--mono);font-size:10.5px;letter-spacing:.26em;color:#8A96A3;text-transform:uppercase}
.cm-eyebrow span{color:var(--acc)}
.cm-title{font-weight:800;font-size:clamp(24px,3vw,36px);letter-spacing:-.02em;text-transform:uppercase;margin-top:12px;color:#fff}
.cm-title span{color:var(--acc)}
.cm-form{margin-top:24px}
.cm-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:560px){.cm-row{grid-template-columns:1fr}}
.cm-form label{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.22em;color:#C6CDD6;text-transform:uppercase;margin-bottom:14px}
.cm-form input,.cm-form select,.cm-form textarea{display:block;width:100%;margin-top:8px;background:var(--surface);border:1px solid var(--border-hi);color:var(--text);font:400 14px/1.5 var(--sans);padding:12px 14px;outline:none;transition:border-color .2s;border-radius:0;-webkit-appearance:none}
.cm-form input:focus,.cm-form select:focus,.cm-form textarea:focus{border-color:var(--acc)}
.cm-form textarea{resize:vertical}
.cm-full{grid-column:1/-1}
.cm-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:4px}
.cm-send{background:var(--acc);border:1px solid var(--acc);color:var(--base);font:600 12px/1 var(--mono);letter-spacing:.22em;text-transform:uppercase;padding:15px 28px;cursor:pointer;transition:background .2s}
.cm-send:hover{background:#54C5F0}
.cm-send:disabled{opacity:.6;cursor:wait}
.cm-note{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;color:var(--muted);text-transform:uppercase}
.cm-note a{color:var(--text2)}
.cm-note a:hover{color:var(--acc)}
.cm-status{font-family:var(--mono);font-size:11.5px;letter-spacing:.16em;margin-top:16px;min-height:1.4em;text-transform:uppercase}
.cm-status.ok{color:var(--op)}
.cm-status.err{color:#E86A5E}

.osulogo{height:clamp(76px,10vh,120px);width:auto;display:block}
.band.light.compact{min-height:0;padding-top:clamp(48px,6.5vh,76px);padding-bottom:clamp(48px,6.5vh,76px)}
.eslcol{grid-template-columns:1.15fr .85fr;max-width:1060px;margin:0 auto;gap:clamp(30px,4vw,56px)}
@media(max-width:980px){.eslcol{grid-template-columns:1fr}.eslcol figure{max-width:100%;height:min(44vh,380px)!important}}

/* OSU ESL section — centered, faint lab-building backdrop */
.band.esl{position:relative;overflow:hidden}
.band.esl::before{content:"";position:absolute;inset:0;background:url('esl-bg.webp') center 38%/cover no-repeat;opacity:.09;filter:grayscale(1) contrast(.92);pointer-events:none}
.band.esl>*{position:relative}

/* leadership slab — grey topo sheet behind the team grid */
#team.band.light{position:relative;overflow:hidden}
#team.band.light::before{content:"";position:absolute;inset:0;background:url('topo-cyan-hd.webp') center/cover no-repeat;filter:grayscale(1);opacity:.15;pointer-events:none}
#team.band.light>*{position:relative}

/* careers inline intake card */
.intakewrap{position:relative;max-width:760px;margin:0 auto;background:var(--base2);border:1px solid var(--border-hi);padding:clamp(28px,4vw,48px);overflow:hidden}
.intakewrap::before{content:"";position:absolute;inset:-4%;background:url('topo-cyan-hd.webp') center/cover no-repeat;opacity:.07;pointer-events:none}
.intakewrap>*{position:relative}
.band.light .intakewrap{width:100%;box-shadow:0 30px 70px rgba(15,28,43,.16),0 4px 16px rgba(15,28,43,.08)}
.intakewrap .ct{position:absolute;width:14px;height:14px;border:0 solid var(--acc)}
.intakewrap .ct.a{top:10px;left:10px;border-left-width:1px;border-top-width:1px}
.intakewrap .ct.b{top:10px;right:10px;border-right-width:1px;border-top-width:1px}
.intakewrap .ct.c{bottom:10px;left:10px;border-left-width:1px;border-bottom-width:1px}
.intakewrap .ct.d{bottom:10px;right:10px;border-right-width:1px;border-bottom-width:1px}

/* ---------- mobile pass ---------- */
.sysfull{touch-action:pan-y}
@media(max-width:820px){
  .statrow{grid-template-columns:1fr;max-width:none}
  .statrow .cell{border-left:0;padding:14px 0 0}
  .ht-display{font-size:clamp(17px,5.6vw,24px);line-height:1.2}
  .htwrap{padding:80px clamp(18px,5vw,32px)}
  .sechead .right{display:none}
  /* carousel: let slabs grow past one screen instead of clipping */
  .sysfull{height:auto;min-height:100svh}
  .slabtrack{height:auto;align-items:stretch}
  .slab{padding:84px 12px 104px}
  .slabcard{max-height:none}
  .slabbrief{overflow:visible;max-height:none}
  /* arrows: bottom-right pair, out of the content */
  .sarr{top:auto;bottom:18px;transform:none;width:44px;height:48px}
  .sarr:hover{transform:none}
  .sarr:active{transform:scale(.94)}
  #sprev{left:auto;right:70px}
  #snext{right:14px}
  .slabmeta{bottom:26px}
  /* GRAVE laptop rides the media image up top, like desktop rides the env */
  .laptop{position:absolute;top:92px;right:12px;bottom:auto;width:min(52vw,250px)}
  .rcap{font-size:9px;letter-spacing:.14em}
  .painline{font-size:15.5px}
  .cm-form input,.cm-form select,.cm-form textarea{font-size:16px} /* prevents iOS focus zoom */
  .bigmail{font-size:15px;letter-spacing:.02em}
  .slabmeta{gap:14px}
  .slabidx{font-size:12px}
  .slabticks i{width:26px}
  .slabticks i.on{width:44px}
  .logomarquee{-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
  .fbot{justify-content:flex-start;row-gap:8px}
}

/* ---------- footer ---------- */
footer{border-top:1px solid var(--border);padding:clamp(40px,6vh,64px) var(--pad) 34px;background:var(--base2)}
.fgrid{display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr;gap:34px}
@media(max-width:880px){.fgrid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.fgrid{grid-template-columns:1fr}}
.fbrand img{height:15px;width:auto;opacity:.9}
.fbrand p{margin-top:16px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--muted);text-transform:uppercase;line-height:1.8}
.fcol .h{font-family:var(--mono);font-size:10.5px;letter-spacing:.22em;color:var(--muted);text-transform:uppercase;margin-bottom:16px}
.fcol a{display:block;font-size:13.5px;color:var(--text2);padding:5px 0;transition:color .2s}
.fcol a:hover{color:var(--acc)}
.fbot{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:clamp(34px,5vh,50px);padding-top:22px;border-top:1px solid var(--border);font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.fbot a{color:var(--muted);transition:color .2s}
.fbot a:hover{color:var(--acc)}

/* legal pages */
.legalbody{max-width:760px;margin-top:clamp(28px,4vh,44px)}
.legalbody .ldate{font-family:var(--mono);font-size:10.5px;letter-spacing:.24em;color:var(--muted)}
.legalbody h3{font-size:16px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-top:30px;color:var(--text)}
.legalbody p{font-size:14.5px;line-height:1.75;color:var(--text2);margin-top:10px}
.legalbody a{color:var(--acc)}
.formnote{font-family:var(--mono);font-size:10px;letter-spacing:.12em;line-height:1.8;color:var(--muted);text-transform:uppercase;margin-top:20px}

/* ---------- team ---------- */
.teamgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1px;background:var(--border);border:1px solid var(--border)}
.member{background:var(--base2);padding:26px;display:flex;flex-direction:column;transition:background .3s}
.member:hover{background:var(--surface)}
.member .fileno{font-family:var(--mono);font-size:10px;letter-spacing:.26em;color:var(--muted);margin-bottom:12px}
.member:hover .fileno{color:var(--acc)}
.member .ph{width:100%;aspect-ratio:1/1;overflow:hidden;border:1px solid var(--border);position:relative;background:var(--raised)}
.member .ph img{position:absolute;inset:0}
.member .ph img.alt{opacity:0;transition:opacity .45s;z-index:1}
.member:hover .ph img.alt{opacity:1}
.member .ph.empty{display:flex;align-items:center;justify-content:center}
.member .ph.empty>span{font-family:var(--mono);font-size:52px;font-weight:600;color:var(--muted);letter-spacing:.08em}
.member .dossier{position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,rgba(7,10,15,.55),rgba(7,10,15,.94));padding:16px;display:flex;flex-direction:column;justify-content:flex-end;gap:2px;opacity:0;transition:opacity .35s;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;line-height:1.55;color:var(--text2);text-transform:uppercase}
.member .dossier b{color:var(--acc);font-weight:600;letter-spacing:.22em;margin-top:9px;display:block;font-size:9.5px}
.member:hover .dossier{opacity:1}
.member .mln{display:inline-block;margin-top:14px;font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.24em;color:var(--muted);text-transform:uppercase;transition:color .2s}
.member .mln .br{color:var(--border-hi);letter-spacing:0;margin:0 7px}
.member .mln .li{width:12px;height:12px;fill:currentColor;vertical-align:-2px;margin-left:3px}
.member .mln:hover{color:var(--acc)}
.member .ph img{width:100%;height:100%;object-fit:cover;object-position:center top;filter:saturate(.35) brightness(.85) contrast(1.02);transition:filter .5s}
.member:hover .ph img{filter:saturate(.9) brightness(.95)}
.member .nm{margin-top:20px;font-weight:800;font-size:20px;letter-spacing:-.01em;text-transform:uppercase;color:#fff}
.member .rl{font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--acc);text-transform:uppercase;margin-top:7px}
.member .bio{margin-top:14px;font-size:13.5px;line-height:1.6;color:var(--text2)}

/* values */
.valgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0;border-top:1px solid var(--border-hi);margin-top:clamp(26px,4vh,40px)}
.val{padding:22px 26px 6px;border-left:1px solid var(--border)}
.val:first-child{padding-left:0;border-left:0}
.val .n{font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;color:var(--acc)}
.val .t{font-size:16px;font-weight:700;margin-top:12px}
.val .d{font-size:13.5px;line-height:1.6;color:var(--text2);margin-top:10px}
@media(max-width:760px){.val{padding-left:0;border-left:0;padding-bottom:18px}}

/* company facts */
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));border-top:1px solid var(--border-hi);margin-top:clamp(28px,4vh,44px)}
.facts .cell{padding:20px 26px 4px;border-left:1px solid var(--border)}
.facts .cell:first-child{padding-left:0;border-left:0}
.facts .v{font-family:var(--mono);font-size:clamp(20px,2vw,28px);font-weight:600;color:var(--text)}
.facts .v.a{color:var(--acc)}
.facts .k{font-family:var(--mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin-top:9px;line-height:1.5}
@media(max-width:760px){.facts .cell{padding-left:0;border-left:0;padding-bottom:16px}}

.twocol{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(30px,4.5vw,64px);align-items:center}
@media(max-width:980px){.twocol{grid-template-columns:1fr}}
figure.media{position:relative;border:1px solid var(--border);overflow:hidden;background:var(--base2)}
figure.media img{width:100%;height:100%;object-fit:cover;filter:saturate(.5) brightness(.8) contrast(1.05)}
figure.media figcaption{position:absolute;left:0;bottom:0;right:0;z-index:2;font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--text2);background:linear-gradient(transparent,rgba(7,10,15,.94));padding:26px 14px 11px}
