:root{
  --abyss:#04070C; --hull:#0D141C; --fathom:#1A2530; --fathom-2:#243241;
  --azure:#2E93EC; --gold:#EDB82B; --bone:#EAF0F4; --drift:#8FA3B3; --deep:#4E5F6D;
  --rail:72px;
  --display:'Archivo',system-ui,sans-serif;
  --body:'Manrope',system-ui,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--abyss); color:var(--bone); font-family:var(--body);
  font-size:16px; line-height:1.65; -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
body::before{
  content:''; position:fixed; inset:0; z-index:-1; pointer-events:none;
  background:linear-gradient(to bottom,#0A1119 0%,#06090F 45%,#020408 100%);
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
:focus-visible{outline:2px solid var(--azure);outline-offset:3px}

.eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--mono);
  font-size:.625rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);
  border:1px solid rgba(237,184,43,.32);border-radius:3px;padding:.42rem .7rem;
  background:linear-gradient(180deg,rgba(237,184,43,.09),rgba(237,184,43,.03))}
.eyebrow::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--gold);
  flex:none;opacity:.85}

/* section chips — a light travels the border, dot breathes */
@property --ang{syntax:'<angle>';inherits:false;initial-value:0deg}
.eyebrow{position:relative;isolation:isolate}
.eyebrow::after{content:'';position:absolute;inset:-1px;border-radius:4px;padding:1px;
  background:conic-gradient(from var(--ang),transparent 0 72%,rgba(237,184,43,.9) 84%,transparent 92%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  mask-composite:exclude;pointer-events:none;
  animation:orbit 4.5s linear infinite}
@keyframes orbit{to{--ang:360deg}}
.eyebrow::before{animation:dotBreathe 2.8s ease-in-out infinite}
@keyframes dotBreathe{0%,100%{opacity:.55;box-shadow:0 0 0 0 rgba(237,184,43,.5)}
  50%{opacity:1;box-shadow:0 0 6px 1px rgba(237,184,43,.45)}}
@media(prefers-reduced-motion:reduce){
  .eyebrow::after{animation:none}
  .eyebrow::before{animation:none;opacity:.85;box-shadow:none}}

/* ---------- per-section backdrops ---------- */
section{position:relative;isolation:isolate}
section > .wrap{position:relative;z-index:1}
.bg{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.drift{position:absolute;stroke:var(--gold);stroke-width:1.2;fill:none;
  stroke-linecap:round;stroke-linejoin:round;opacity:.11;
  animation:drift 16s ease-in-out infinite}
.drift--t{stroke:var(--azure);opacity:.13}
.drift--f{fill:var(--gold);stroke:none;opacity:.1}
@keyframes drift{
  0%,100%{transform:translate3d(0,0,0) rotate(0deg)}
  33%{transform:translate3d(6px,-14px,0) rotate(4deg)}
  66%{transform:translate3d(-5px,-7px,0) rotate(-3deg)}
}
@media(prefers-reduced-motion:reduce){.drift{animation:none}}

/* dot matrix */
.bg--dots{opacity:.55;
  background-image:radial-gradient(rgba(36,50,65,.9) 1px,transparent 1px);
  background-size:26px 26px;
  mask-image:radial-gradient(90% 70% at 50% 30%,#000,transparent 75%);
  -webkit-mask-image:radial-gradient(90% 70% at 50% 30%,#000,transparent 75%)}

/* diagonal hatch */
.bg--hatch{opacity:.4;
  background-image:repeating-linear-gradient(135deg,rgba(26,37,48,.7) 0 1px,transparent 1px 11px);
  mask-image:linear-gradient(to bottom right,#000,transparent 68%);
  -webkit-mask-image:linear-gradient(to bottom right,#000,transparent 68%)}

/* blueprint grid */
.bg--grid{opacity:.45;
  background-image:linear-gradient(rgba(26,37,48,.55) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(26,37,48,.55) 1px,transparent 1px);
  background-size:44px 44px;
  mask-image:linear-gradient(to bottom,transparent,#000 35%,transparent 92%);
  -webkit-mask-image:linear-gradient(to bottom,transparent,#000 35%,transparent 92%)}

/* circuit traces */
.bg--circuit{opacity:.5;
  background-image:
    linear-gradient(90deg,rgba(26,37,48,.75) 1px,transparent 1px),
    linear-gradient(rgba(26,37,48,.4) 1px,transparent 1px),
    radial-gradient(circle at 60px 60px,rgba(237,184,43,.16) 2px,transparent 2px);
  background-size:120px 100%,100% 60px,120px 120px;
  mask-image:linear-gradient(to left,#000,transparent 72%);
  -webkit-mask-image:linear-gradient(to left,#000,transparent 72%)}

/* concentric contour */
.bg--rings{opacity:.42;
  background-image:repeating-radial-gradient(circle at 82% 20%,
    transparent 0 38px,rgba(26,37,48,.85) 38px 39px);
  mask-image:radial-gradient(70% 90% at 82% 20%,#000,transparent 78%);
  -webkit-mask-image:radial-gradient(70% 90% at 82% 20%,#000,transparent 78%)}

/* pipeline ticks */
.bg--ticks{opacity:.45;
  background-image:repeating-linear-gradient(90deg,rgba(26,37,48,.8) 0 1px,transparent 1px 30px),
                   linear-gradient(rgba(26,37,48,.35) 1px,transparent 1px);
  background-size:100% 100%,100% 90px;
  mask-image:linear-gradient(to bottom,#000,transparent 80%);
  -webkit-mask-image:linear-gradient(to bottom,#000,transparent 80%)}

/* soft glow + hatch for contact */
.bg--glow{opacity:.9;
  background:radial-gradient(58% 60% at 78% 24%,rgba(46,147,236,.055),transparent 70%),
             repeating-linear-gradient(45deg,rgba(26,37,48,.45) 0 1px,transparent 1px 13px);
  mask-image:linear-gradient(to bottom,#000,transparent 88%);
  -webkit-mask-image:linear-gradient(to bottom,#000,transparent 88%)}

.mono{font-family:var(--mono);font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase}
h1,h2,h3{font-family:var(--display);font-weight:600;font-variation-settings:'wdth' 115;letter-spacing:-.02em;line-height:1.02}
h1{font-size:clamp(2.4rem,6.4vw,5rem);letter-spacing:-.035em;line-height:.96}
h2{font-size:clamp(1.9rem,3.6vw,3rem)}
h3{font-size:clamp(1.15rem,1.7vw,1.45rem);font-weight:500;line-height:1.2}
p{color:var(--drift);max-width:64ch}
.lede{font-size:1.0625rem;color:var(--drift)}

.wrap{max-width:1240px;margin-inline:auto;padding-inline:clamp(1.25rem,4vw,3.5rem)}
section{padding-block:clamp(4.5rem,10vh,8.5rem);position:relative}
.rule{height:1px;background:var(--fathom);border:0;margin:0}

/* ---------- scrollbar ---------- */
html{scrollbar-color:var(--fathom-2) #04070C;scrollbar-width:thin}
::-webkit-scrollbar{width:11px;height:11px}
::-webkit-scrollbar-track{background:#04070C;border-left:1px solid var(--fathom)}
::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--fathom-2),#1A2530);
  border:2px solid #04070C;border-radius:0;
  background-clip:padding-box;transition:background .2s}
::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,var(--azure),#1D6FB8);
  background-clip:padding-box}
::-webkit-scrollbar-thumb:active{background:var(--gold);background-clip:padding-box}
::-webkit-scrollbar-corner{background:#04070C}
::selection{background:rgba(46,147,236,.28);color:var(--bone)}

/* ---------- custom cursor: HUD reticle ---------- */
@media (hover:hover) and (pointer:fine){
  body.cur-on,body.cur-on *{cursor:none}
  body.cur-on input,body.cur-on textarea{cursor:text}
  .cur{position:fixed;top:0;left:0;z-index:9999;pointer-events:none;
    will-change:transform;opacity:0;transition:opacity .25s}
  body.cur-on .cur{opacity:1}

  .cur-dot{width:5px;height:5px;background:var(--gold);border-radius:1px;
    transform:translate(-50%,-50%)}
  .cur-ring{width:30px;height:30px;transform:translate(-50%,-50%);
    transition:width .22s cubic-bezier(.16,1,.3,1),height .22s cubic-bezier(.16,1,.3,1),opacity .2s}
  .cur-ring i{position:absolute;width:8px;height:8px;border:1px solid var(--azure);opacity:.85;
    transition:border-color .2s}
  .cur-ring i:nth-child(1){top:0;left:0;border-right:0;border-bottom:0}
  .cur-ring i:nth-child(2){top:0;right:0;border-left:0;border-bottom:0}
  .cur-ring i:nth-child(3){bottom:0;left:0;border-right:0;border-top:0}
  .cur-ring i:nth-child(4){bottom:0;right:0;border-left:0;border-top:0}

  body.cur-hot .cur-ring{width:46px;height:46px}
  body.cur-hot .cur-ring i{border-color:var(--gold)}
  body.cur-hot .cur-dot{background:var(--azure)}
  body.cur-text .cur-ring{opacity:0}
  body.cur-down .cur-ring{width:22px;height:22px}
}
@media(prefers-reduced-motion:reduce){.cur{display:none}body.cur-on,body.cur-on *{cursor:auto}}

/* ---------- depth gauge ---------- */
.gauge{
  position:fixed;left:0;top:0;bottom:0;width:var(--rail);z-index:40;
  border-right:1px solid var(--fathom);background:rgba(4,7,12,.72);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;
}
.gauge__read{font-family:var(--mono);font-size:.6875rem;letter-spacing:.1em;color:var(--gold);
  writing-mode:vertical-rl;transform:rotate(180deg)}
.gauge__ticks{position:absolute;left:50%;top:0;bottom:0;width:1px;transform:translateX(-.5px);
  background:repeating-linear-gradient(to bottom,var(--fathom) 0 1px,transparent 1px 8px);opacity:.55}
.gauge__list{list-style:none;display:flex;flex-direction:column;gap:2.25rem;position:relative;z-index:1}
.gauge__list a{font-family:var(--mono);font-size:.625rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--deep);writing-mode:vertical-rl;transform:rotate(180deg);transition:color .25s;padding:2px}
.gauge__list a:hover,.gauge__list a[aria-current="true"]{color:var(--azure)}
.progress{position:fixed;left:0;top:0;width:2px;background:var(--azure);z-index:50;height:0;display:none}

/* ---------- nav ---------- */
/* utility strip — scrolls away, nav stays */
.util{border-bottom:1px solid var(--fathom);background:#02050A}
.util__in{display:flex;align-items:center;gap:1.25rem;padding-block:.45rem;
  font-family:var(--mono);font-size:.5625rem;letter-spacing:.13em;text-transform:uppercase;color:var(--deep)}
.util__st{display:flex;align-items:center;gap:.45rem;color:var(--azure)}
.util__st i{width:5px;height:5px;border-radius:50%;background:var(--azure);flex:none;
  box-shadow:0 0 0 0 rgba(46,147,236,.6);animation:beacon 2.6s ease-out infinite}
@keyframes beacon{0%{box-shadow:0 0 0 0 rgba(46,147,236,.55)}70%,100%{box-shadow:0 0 0 6px rgba(46,147,236,0)}}
.util__sep{flex:1;height:1px;background:repeating-linear-gradient(90deg,var(--fathom) 0 2px,transparent 2px 6px)}
.util__clock{color:var(--gold)}
.util__x{display:none}

.nav{position:sticky;top:0;z-index:30;background:rgba(4,7,12,.86);backdrop-filter:blur(12px) saturate(140%);
  border-bottom:1px solid var(--fathom)}
.nav::after{content:'';position:absolute;left:0;bottom:-1px;height:1px;width:var(--read,0%);
  background:linear-gradient(90deg,var(--gold),var(--azure));transition:width .1s linear}
.nav__in{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;padding-block:.45rem}
.brandwrap{display:flex;align-items:center;gap:.7rem;flex:none}
.brandwrap .logo{height:65px;width:auto;display:block}
.brandwrap:hover .logo{opacity:.9}
.brand{font-family:var(--display);font-weight:600;font-variation-settings:'wdth' 120;
  letter-spacing:.16em;font-size:.95rem;line-height:1}
.nav__links{display:flex;gap:1.6rem;align-items:center}
.nav__links a{display:inline-flex;align-items:baseline;gap:.4rem;font-family:var(--mono);
  font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--drift);
  transition:color .2s;position:relative;padding:.3rem 0}
.nav__links a::before{content:attr(data-i);font-size:.5625rem;color:var(--fathom-2);transition:color .2s}
.nav__links a::after{content:'';position:absolute;left:0;right:0;bottom:-2px;height:1px;
  background:var(--azure);transform:scaleX(0);transform-origin:left;transition:transform .25s cubic-bezier(.16,1,.3,1)}
.nav__links a:hover{color:var(--bone)}
.nav__links a:hover::before{color:var(--gold)}
.nav__links a:hover::after{transform:scaleX(1)}
.nav__right{display:flex;align-items:center;gap:1.1rem;flex:none}
.nav__cmd{display:flex;align-items:center;gap:.6rem;padding:.5rem .7rem .5rem .6rem;
  background:#070C13;border:1px solid var(--fathom-2);border-radius:4px;cursor:pointer;
  font-family:var(--mono);font-size:.625rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--deep);white-space:nowrap;transition:.2s}
.nav__cmd:hover{border-color:var(--azure);color:var(--drift);background:#08111C}
.nav__cmd .p{color:var(--azure);font-weight:600}
.nav__cmd kbd{font-family:var(--mono);font-size:.5625rem;line-height:1;color:var(--drift);
  border:1px solid var(--fathom-2);border-bottom-width:2px;border-radius:3px;padding:.25rem .35rem;
  background:#0D141C}

/* ---------- command palette ---------- */
.pal{position:fixed;inset:0;z-index:100;display:grid;place-items:start center;
  padding-top:12vh;background:rgba(2,4,8,.72);backdrop-filter:blur(4px)}
.pal[hidden]{display:none}
.pal__box{width:min(560px,92vw);background:#0A1119;border:1px solid var(--fathom-2);border-radius:6px;
  box-shadow:0 40px 90px -30px rgba(0,0,0,.9);overflow:hidden;
  animation:palIn .18s cubic-bezier(.16,1,.3,1)}
@keyframes palIn{from{opacity:0;transform:translateY(-8px) scale(.985)}to{opacity:1;transform:none}}
.pal__top{display:flex;align-items:center;gap:.65rem;padding:.9rem 1rem;border-bottom:1px solid var(--fathom)}
.pal__top .p{color:var(--azure);font-family:var(--mono);font-weight:600}
.pal__in{flex:1;background:none;border:0;outline:none;padding:0;color:var(--bone);
  font-family:var(--mono);font-size:.875rem;letter-spacing:.02em}
.pal__in::placeholder{color:#3A4956}
.pal__list{list-style:none;max-height:52vh;overflow-y:auto;padding:.4rem;scrollbar-width:thin}
.pal__list li{display:flex;align-items:center;gap:.75rem;padding:.65rem .7rem;border-radius:4px;
  cursor:pointer;font-size:.875rem;color:var(--drift)}
.pal__list li[aria-selected="true"]{background:#111A25;color:var(--bone)}
.pal__list li[aria-selected="true"] .pal__k{color:var(--gold)}
.pal__k{font-family:var(--mono);font-size:.5625rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--fathom-2);width:4.2rem;flex:none}
.pal__hint{margin-left:auto;font-family:var(--mono);font-size:.5625rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--fathom-2)}
.pal__foot{display:flex;gap:1.1rem;padding:.6rem 1rem;border-top:1px solid var(--fathom);
  font-family:var(--mono);font-size:.5625rem;letter-spacing:.1em;text-transform:uppercase;color:var(--deep)}
.pal__none{padding:1.4rem 1rem;font-size:.875rem;color:var(--deep)}
.burger{display:none;width:40px;height:40px;border:1px solid var(--fathom-2);border-radius:4px;
  background:transparent;cursor:pointer;padding:0;place-items:center}
.burger span{display:block;width:16px;height:1px;background:var(--bone);margin:3px auto;transition:.25s}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(4px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-4px) rotate(-45deg)}
.panel{display:none;border-top:1px solid var(--fathom);background:var(--abyss)}
.panel.open{display:block}
.panel a{display:block;font-family:var(--mono);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--drift);padding:.95rem 0;border-bottom:1px solid var(--fathom)}
.panel a:last-of-type{border-bottom:0}

.btn{position:relative;display:inline-flex;align-items:center;gap:.65rem;overflow:hidden;
  font-family:var(--mono);font-size:.6875rem;font-weight:500;letter-spacing:.13em;text-transform:uppercase;
  padding:.95rem 1.35rem;border:1px solid transparent;cursor:pointer;
  clip-path:polygon(0 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%);
  transition:transform .18s cubic-bezier(.16,1,.3,1),box-shadow .2s,background .2s,border-color .2s,color .2s;
  -webkit-tap-highlight-color:transparent}
.btn .arw{display:inline-block;transition:transform .22s cubic-bezier(.16,1,.3,1)}
.btn:hover .arw{transform:translateX(3px)}
.btn:active{transform:translateY(1px)}
.btn:focus-visible{outline:none;box-shadow:0 0 0 2px #04070C inset,0 0 0 4px var(--azure) inset}

/* prompt glyph — reads as a shell, not a banner ad */
.btn::before{content:'\203A';font-weight:600;opacity:.55;margin-right:-.15rem}

/* primary — the gold from the logo mark, with a fine scanline */
.btn--go{background:
    repeating-linear-gradient(0deg,rgba(0,0,0,.07) 0 1px,transparent 1px 3px),
    linear-gradient(180deg,#F5C948,#DFA918);
  color:#1A1205;
  box-shadow:0 1px 0 rgba(255,255,255,.34) inset,0 6px 20px -8px rgba(237,184,43,.5)}
.btn--go:hover{background:
    repeating-linear-gradient(0deg,rgba(0,0,0,.06) 0 1px,transparent 1px 3px),
    linear-gradient(180deg,#FAD46A,#E8B527);
  box-shadow:0 1px 0 rgba(255,255,255,.42) inset,0 12px 30px -10px rgba(237,184,43,.7);
  transform:translateY(-1px)}
.btn--go::after{content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(105deg,transparent 38%,rgba(255,255,255,.5) 50%,transparent 62%);
  transform:translateX(-120%)}
.btn--go:hover::after{animation:sweep .65s cubic-bezier(.16,1,.3,1) forwards}
@keyframes sweep{to{transform:translateX(120%)}}

/* secondary — terminal outline */
.btn--ghost{border-color:var(--fathom-2);color:var(--drift);background:rgba(13,20,28,.5)}
.btn--ghost:hover{border-color:var(--azure);color:#BFDCFB;background:#0A121C;transform:translateY(-1px)}

.btn--sm{padding:.7rem 1.05rem;font-size:.625rem;letter-spacing:.12em;gap:.5rem}

/* blinking terminal cursor */
.btn__cur{width:2px;height:14px;background:currentColor;flex:none;display:block;
  margin-left:-.2rem;opacity:.85;animation:caret 1.15s steps(1) infinite}
@keyframes caret{0%,48%{opacity:.9}49%,100%{opacity:0}}
@media(prefers-reduced-motion:reduce){
  .btn__cur{animation:none;opacity:.5}
  .btn--go:hover::after{animation:none}}

/* ---------- hero ---------- */
.hero{padding-top:clamp(3.5rem,8vh,6rem);padding-bottom:clamp(2.5rem,5vh,4rem)}
.hero h1{margin:1.4rem 0 1.5rem;max-width:16ch}
.hero .lede{max-width:52ch;margin-bottom:2rem}
.cta-row{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}
.sig{display:flex;align-items:center;gap:.9rem;margin-top:2.75rem;padding-top:1.5rem;border-top:1px solid var(--fathom);max-width:44ch}
.sig__av{width:44px;height:44px;border-radius:50%;flex:none;background:var(--hull);
  border:1px solid var(--fathom-2);display:grid;place-items:center;font-family:var(--display);
  font-weight:600;font-size:.85rem;color:var(--gold)}
.sig__t{font-size:.8125rem;color:var(--drift);line-height:1.5}
.sig__t b{color:var(--bone);font-weight:600}

/* ---------- proof ---------- */
.proof{position:relative;overflow:hidden;isolation:isolate;background:var(--hull);
  border:1px solid var(--fathom);border-radius:5px}
.proof__bar{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.4rem;
  border-bottom:1px solid var(--fathom);background:#080E16;
  font-family:var(--mono);font-size:.5625rem;letter-spacing:.13em;text-transform:uppercase;color:var(--deep)}
.proof__bar b{color:var(--gold);font-weight:500}
.proof__bar a{margin-left:auto;color:var(--azure);white-space:nowrap}
.proof__jss{margin-left:auto;display:inline-flex;align-items:center;gap:.45rem;
  color:var(--azure);white-space:nowrap;letter-spacing:.13em}
.proof__jss i{width:5px;height:5px;border-radius:50%;background:var(--azure);flex:none;
  animation:beacon 2.6s ease-out infinite}
.proof__grid{display:grid;grid-template-columns:repeat(4,1fr)}
.proof__grid .stat{padding:1.5rem 1.4rem;border-right:1px solid var(--fathom);position:relative}
.proof__grid .stat:last-child{border-right:0}
.stat__sub{display:block;font-family:var(--mono);font-size:.5625rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--fathom-2);margin-top:.5rem}
.proof__mk{padding:1.25rem 1.4rem;border-top:1px solid var(--fathom);
  display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}
.proof__mk .lbl{font-family:var(--mono);font-size:.5625rem;letter-spacing:.13em;
  text-transform:uppercase;color:var(--gold);white-space:nowrap}
@media(max-width:820px){.proof__grid{grid-template-columns:1fr 1fr}
  .proof__grid .stat:nth-child(2n){border-right:0}
  .proof__grid .stat:nth-child(-n+2){border-bottom:1px solid var(--fathom)}}
@media(max-width:460px){.proof__grid{grid-template-columns:1fr}
  .proof__grid .stat{border-right:0;border-bottom:1px solid var(--fathom)}
  .proof__grid .stat:last-child{border-bottom:0}}
.stat__ico{width:20px;height:20px;stroke:var(--gold);stroke-width:1.3;fill:none;
  stroke-linecap:round;stroke-linejoin:round;display:block;margin-bottom:.65rem}
.stat b{display:block;font-family:var(--display);font-weight:600;font-size:clamp(1.6rem,3vw,2.3rem);
  letter-spacing:-.02em;color:var(--bone)}
.stat span{font-family:var(--mono);font-size:.625rem;letter-spacing:.12em;text-transform:uppercase;color:var(--drift)}
.proof__link{margin-top:1.4rem;padding-top:1.1rem;border-top:1px solid var(--fathom);
  display:inline-flex;gap:.4rem;color:var(--azure)}

/* ---------- client slider ---------- */
.slider{position:relative;margin-top:2.5rem}
.slider__track{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;
  scrollbar-width:none;padding-bottom:.25rem}
.slider__track::-webkit-scrollbar{display:none}
.client{flex:0 0 clamp(240px,26vw,290px);scroll-snap-align:start;background:#0A1119;
  border:1px solid var(--fathom);border-radius:4px;padding:1.4rem;transition:.25s;
  display:flex;flex-direction:column;gap:0}
.client:hover{background:var(--hull);border-color:rgba(237,184,43,.4)}
.client__name{font-family:var(--display);font-weight:600;font-variation-settings:'wdth' 120;
  font-size:1.05rem;letter-spacing:.02em;line-height:1.25;
  min-height:2.6em;display:flex;align-items:flex-start}
.client__tag{display:flex;align-items:center;gap:.6rem;font-family:var(--mono);font-size:.625rem;letter-spacing:.1em;text-transform:uppercase;min-width:0;
  color:var(--gold);margin-bottom:.85rem}
.client p{font-size:.875rem;color:var(--drift);line-height:1.5;min-height:4.2em}
.client--tier1{border-color:rgba(237,184,43,.32);background:#0B121A}
.client--tier1 .client__tag::after{content:' · Enterprise';display:none}
.client--tier1 .client__name{color:var(--bone)}
.client--slot{border-style:dashed;border-color:var(--fathom-2);display:grid;place-items:center;text-align:center}
.domains{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:2rem}
.filters{display:flex;flex-wrap:wrap;gap:.4rem;margin:1.5rem 0 .25rem}
.fchip{font-family:var(--mono);font-size:.625rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--drift);background:transparent;border:1px solid var(--fathom-2);border-radius:3px;
  padding:.4rem .7rem;cursor:pointer;transition:.2s;font-weight:500}
.fchip:hover{border-color:var(--gold);color:var(--bone)}
.fchip[aria-pressed="true"]{border-color:var(--azure);color:var(--azure);background:rgba(46,147,236,.09)}
.fchip__x{display:inline-block;margin-right:.35rem;color:var(--fathom-2);transition:.2s}
.fchip:hover .fchip__x{color:var(--gold)}
.fchip[aria-pressed="true"] .fchip__x{color:var(--azure);transform:rotate(45deg)}
.filters__c{font-family:var(--mono);font-size:.5625rem;letter-spacing:.1em;color:var(--drift);
  border:1px solid var(--fathom);border-radius:3px;padding:.15rem .4rem;margin-left:.5rem}
.filters__label{display:flex;align-items:center;font-family:var(--mono);font-size:.625rem;
  letter-spacing:.12em;text-transform:uppercase;color:var(--gold);width:100%;margin-bottom:.35rem}
.domains__label{font-family:var(--mono);font-size:.625rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--gold);width:100%;margin-bottom:.2rem}
.client[hidden]{display:none}

/* ---------- graphics ---------- */
.hero{position:relative}
.hero{position:relative;isolation:isolate}
#netgrid{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;
  opacity:.6;mask-image:radial-gradient(120% 80% at 60% 40%,#000 30%,transparent 78%);
  -webkit-mask-image:radial-gradient(120% 80% at 60% 40%,#000 30%,transparent 78%)}
.hero__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:clamp(2rem,5vw,4rem);align-items:center}
.term{background:#070C13;border:1px solid var(--fathom-2);border-radius:5px;overflow:hidden;
  font-family:var(--mono);font-size:.8125rem;line-height:1.6;box-shadow:0 24px 60px rgba(0,0,0,.5)}
.term__bar{display:flex;align-items:center;gap:.4rem;padding:.6rem .8rem;
  background:#0D141C;border-bottom:1px solid var(--fathom)}
.term__bar i{width:9px;height:9px;border-radius:50%;display:block;flex:none}
.term__bar i:nth-child(1){background:#FF5F57}
.term__bar i:nth-child(2){background:#FEBC2E}
.term__bar i:nth-child(3){background:#28C840}
.term__bar b{margin-left:.5rem;font-weight:400;font-size:.625rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--deep)}
.term__body{padding:.9rem 1rem 1rem;height:clamp(240px,32vh,300px);overflow-y:auto;
  scrollbar-width:thin;scrollbar-color:var(--fathom-2) transparent}
.term__body::-webkit-scrollbar{width:6px}
.term__body::-webkit-scrollbar-thumb{background:var(--fathom-2);border-radius:3px}
.term p{margin:0;max-width:none;font-size:.8125rem;color:var(--drift)}
.term .cmd{color:var(--bone)}
.term .ok{color:var(--azure)}
.term .key{color:var(--gold)}
.term .dim{color:var(--deep)}
.term__line{display:flex;gap:.5rem;align-items:baseline;padding:.15rem 0}
.term__ps{color:var(--azure);flex:none}
.term__in{flex:1;min-width:0;background:none;border:0;outline:none;padding:0;
  font-family:var(--mono);font-size:.8125rem;color:var(--bone);caret-color:var(--azure)}
.term__hint{margin-top:.6rem;font-family:var(--mono);font-size:.625rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--deep);text-align:right}
@media(max-width:900px){.hero__grid{grid-template-columns:1fr}.term__body{height:220px}}
.contours{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:.5}
.contours path{fill:none;stroke:var(--fathom);stroke-width:1}
.proof{position:relative;overflow:hidden}
.proof>*{position:relative}

.ico{width:26px;height:26px;stroke:var(--gold);stroke-width:1.25;fill:none;
  stroke-linecap:round;stroke-linejoin:round;display:block;margin-bottom:1rem}
.svc__ico{width:22px;height:22px;stroke:var(--gold);stroke-width:1.25;fill:none;
  stroke-linecap:round;stroke-linejoin:round;flex:none}
.svc__head{display:flex;gap:.85rem;align-items:flex-start}

.sector-ico{width:28px;height:28px;padding:6px;box-sizing:border-box;flex:none;
  border:1px solid var(--fathom-2);border-radius:3px;background:#070C13;
  stroke:var(--gold);stroke-width:1.5;fill:none;stroke-linecap:round;stroke-linejoin:round;
  transition:border-color .25s}
.client:hover .sector-ico{border-color:rgba(237,184,43,.45)}
.client--tier1 .sector-ico{stroke:var(--azure);border-color:rgba(46,147,236,.28)}
.client--tier1:hover .sector-ico{border-color:rgba(46,147,236,.5)}
.client__tag{margin-bottom:.9rem}
.client__tag em{font-style:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.mono-tile{width:38px;height:34px;border:1px solid var(--fathom-2);border-radius:3px;
  display:grid;place-items:center;font-family:var(--display);font-weight:600;
  font-variation-settings:'wdth' 120;font-size:.8125rem;letter-spacing:.04em;
  color:var(--gold);margin-bottom:1rem;background:#070C13;flex:none}
.client--tier1 .mono-tile{border-color:rgba(237,184,43,.45);color:var(--bone);background:#101922}
.client--slot span{font-family:var(--mono);font-size:.625rem;letter-spacing:.12em;text-transform:uppercase;color:var(--deep);line-height:1.9}
.slider__ctl{display:flex;align-items:center;gap:.5rem;margin-top:1.25rem}
.sbtn{width:38px;height:38px;border-radius:4px;border:1px solid var(--fathom-2);background:transparent;
  color:var(--bone);cursor:pointer;font-size:1rem;line-height:1;transition:.2s}
.sbtn:hover{border-color:var(--azure);color:var(--azure)}
.dots{display:flex;gap:.4rem;margin-left:.5rem}
.dot{width:6px;height:6px;border-radius:50%;background:var(--fathom-2);border:0;padding:0;cursor:pointer;transition:.2s}
.dot[aria-current="true"]{background:var(--azure);width:20px;border-radius:3px}

/* ---------- generic grids ---------- */
.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:clamp(1.5rem,4vw,4rem)}
.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}
/* six cards must land 3+3, never 4+2 with holes */
.grid-3--six{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:940px){.grid-3--six{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.grid-3--six{grid-template-columns:1fr}}
.grid-4{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem}

.card{position:relative;overflow:hidden;isolation:isolate;background:#0A1119;
  border:1px solid var(--fathom);border-radius:4px;padding:1.6rem 1.5rem 1.5rem;
  transition:transform .3s cubic-bezier(.16,1,.3,1),border-color .3s,background .3s}
.card:hover{background:#0C141D;border-color:rgba(46,147,236,.35);transform:translateY(-3px)}

/* cursor spotlight */
.card::before{content:'';position:absolute;inset:0;z-index:-1;opacity:0;transition:opacity .3s;
  background:radial-gradient(340px circle at var(--mx,50%) var(--my,50%),
             rgba(46,147,236,.10),transparent 62%)}
.card:hover::before{opacity:1}

/* faint engineering grid */
.card::after{content:'';position:absolute;inset:0;z-index:-2;opacity:.35;pointer-events:none;
  background-image:linear-gradient(rgba(26,37,48,.5) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(26,37,48,.5) 1px,transparent 1px);
  background-size:28px 28px;
  mask-image:linear-gradient(to bottom,#000,transparent 70%);
  -webkit-mask-image:linear-gradient(to bottom,#000,transparent 70%)}

/* HUD corner brackets */
.card .cor{position:absolute;width:11px;height:11px;border:1px solid var(--gold);
  opacity:0;transition:opacity .3s,transform .3s cubic-bezier(.16,1,.3,1)}
.card .cor.tl{top:8px;left:8px;border-right:0;border-bottom:0;transform:translate(4px,4px)}
.card .cor.br{bottom:8px;right:8px;border-left:0;border-top:0;transform:translate(-4px,-4px)}
.card:hover .cor{opacity:.85;transform:translate(0,0)}

/* index numeral */
.card .idx{position:absolute;top:.9rem;right:1rem;font-family:var(--display);font-weight:600;
  font-variation-settings:'wdth' 122;font-size:2.6rem;line-height:1;color:var(--bone);
  opacity:.05;transition:opacity .3s,color .3s;pointer-events:none}
.card:hover .idx{opacity:.16;color:var(--azure)}

.card h3{margin-bottom:.6rem;position:relative}
.card p{font-size:.9375rem;position:relative}
.card .ico{transition:stroke .3s,border-color .3s}
.card:hover .ico{stroke:var(--azure)}
.ico{width:30px;height:30px;padding:6px;box-sizing:border-box;border:1px solid var(--fathom-2);
  border-radius:3px;background:#070C13}

.stackwrap{margin-top:2.5rem;display:grid;gap:1.6rem}
.stackgroup{display:grid;grid-template-columns:190px minmax(0,1fr);gap:1.25rem;align-items:start;
  border-top:1px solid var(--fathom);padding-top:1.25rem}
.stackgroup__head{display:flex;gap:.75rem;align-items:flex-start}
.stackgroup__head svg{width:30px;height:30px;padding:7px;box-sizing:border-box;flex:none;
  border:1px solid var(--fathom-2);border-radius:3px;background:#070C13;
  stroke:var(--gold);stroke-width:1.5;fill:none;stroke-linecap:round;stroke-linejoin:round}
.stackgroup__t b{display:block;font-family:var(--display);font-weight:500;
  font-variation-settings:'wdth' 112;font-size:1rem;color:var(--bone);line-height:1.2}
.stackgroup__t span{font-family:var(--mono);font-size:.625rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--deep);display:block;margin-top:.3rem;line-height:1.5}
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:.5rem}
.tile{position:relative;overflow:hidden;background:#0A1119;border:1px solid var(--fathom);
  border-radius:4px;padding:.7rem .75rem;transition:.22s cubic-bezier(.16,1,.3,1)}
.tile:hover{background:var(--hull);border-color:rgba(46,147,236,.45);transform:translateY(-2px)}
.tile{display:flex;gap:.65rem;align-items:center}
.tile__ico{width:26px;height:26px;flex:none;stroke:var(--drift);stroke-width:1.4;fill:none;
  stroke-linecap:round;stroke-linejoin:round;transition:stroke .22s}
.tile:hover .tile__ico{stroke:var(--azure)}
.tile__x{flex:1;min-width:0}
.tile b{display:block;font-family:var(--body);font-weight:600;font-size:.8125rem;
  color:var(--bone);letter-spacing:-.01em;line-height:1.25}
.tile i{display:block;font-family:var(--mono);font-style:normal;font-size:.5625rem;
  letter-spacing:.1em;text-transform:uppercase;color:var(--deep);margin-top:.28rem}
.tile::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;
  background:var(--azure);transform:scaleY(0);transform-origin:top;transition:transform .25s}
.tile:hover::before{transform:scaleY(1)}
@media(max-width:820px){.stackgroup{grid-template-columns:1fr}}
.about{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
  gap:clamp(1.5rem,3vw,2.5rem);align-items:stretch}
.about__lead{font-size:clamp(1.05rem,1.7vw,1.3rem);line-height:1.5;color:var(--bone);
  font-family:var(--display);font-weight:500;font-variation-settings:'wdth' 108;
  letter-spacing:-.01em;margin-bottom:1.25rem;max-width:36ch}
/* left column fills to match the panel */
.about__col{display:flex;flex-direction:column;height:100%}
.about__tail{margin-top:auto;padding-top:1.5rem}
.commit{display:grid;gap:0;border-top:1px solid var(--fathom);margin-bottom:1.5rem}
.commit__r{display:flex;align-items:flex-start;gap:.7rem;padding:.8rem 0;
  border-bottom:1px solid var(--fathom);font-size:.9375rem;color:var(--drift);line-height:1.45}
.commit__r svg{width:15px;height:15px;flex:none;margin-top:.2rem;stroke:var(--azure);
  stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}
.commit__r b{color:var(--bone);font-weight:600}
.about__badges{display:flex;flex-wrap:wrap;gap:.4rem}

/* config panel */
.cfg{background:#070C13;border:1px solid var(--fathom-2);border-radius:5px;overflow:hidden;
  display:flex;flex-direction:column;height:100%}
.cfg__bar{display:flex;align-items:center;gap:.4rem;padding:.6rem .85rem;background:#0D141C;
  border-bottom:1px solid var(--fathom)}
.cfg__bar i{width:9px;height:9px;border-radius:50%;display:block;flex:none}
.cfg__bar i:nth-child(1){background:#FF5F57}
.cfg__bar i:nth-child(2){background:#FEBC2E}
.cfg__bar i:nth-child(3){background:#28C840}
.cfg__bar b{margin-left:.5rem;font-family:var(--mono);font-weight:400;font-size:.5625rem;
  letter-spacing:.11em;text-transform:uppercase;color:var(--deep)}
.cfg__bar span{margin-left:auto;font-family:var(--mono);font-size:.5625rem;
  letter-spacing:.1em;color:var(--fathom-2)}
.cfg__body{flex:1;padding:1rem 1.1rem 1.2rem;font-family:var(--mono);font-size:.75rem;
  line-height:1.85;overflow-x:auto;counter-reset:ln}
.cfg__body div{white-space:pre;position:relative;padding-left:2.1rem}
.cfg__body div::before{counter-increment:ln;content:counter(ln,decimal-leading-zero);
  position:absolute;left:0;color:#22303E;font-size:.625rem}
.cfg .k{color:var(--gold)}
.cfg .s{color:#8FD3A0}
.cfg .n{color:var(--azure)}
.cfg .p{color:#3F4E5C}
.cfg .c{color:#37475A;font-style:italic}
.cfg__foot{border-top:1px solid var(--fathom);padding:.6rem .85rem;background:#0A1119;
  font-family:var(--mono);font-size:.5625rem;letter-spacing:.11em;text-transform:uppercase;
  color:var(--deep);display:flex;gap:.5rem;align-items:center}
.cfg__foot i{width:5px;height:5px;border-radius:50%;background:var(--azure);flex:none;
  animation:beacon 2.6s ease-out infinite}
.facts{display:grid;gap:0;margin-top:1.5rem;border-top:1px solid var(--fathom)}
.fact{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1rem;align-items:baseline;
  padding:.95rem 0;border-bottom:1px solid var(--fathom)}
.fact dt{font-family:var(--mono);font-size:.5625rem;letter-spacing:.13em;text-transform:uppercase;
  color:var(--gold);width:8.5rem;flex:none}
.fact dd{margin:0;font-size:.9375rem;color:var(--drift);line-height:1.5}
.fact dd b{color:var(--bone);font-weight:600}
@media(max-width:820px){.about{grid-template-columns:1fr}
  .fact{grid-template-columns:1fr;gap:.25rem}.fact dt{width:auto}}
.vprops{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-top:2.5rem}
.vprop{border-top:1px solid var(--fathom);padding-top:1rem}
.vprop b{display:block;font-family:var(--display);font-weight:500;font-variation-settings:'wdth' 112;
  font-size:1rem;color:var(--bone);margin-bottom:.4rem}
.vprop span{font-size:.875rem;color:var(--drift);line-height:1.55}
.bento{display:grid;grid-template-columns:repeat(6,1fr);gap:1rem;margin-top:2.5rem}
.sv{position:relative;overflow:hidden;isolation:isolate;grid-column:span 2;
  background:#0A1119;border:1px solid var(--fathom);border-radius:5px;
  padding:1.6rem 1.5rem;display:flex;flex-direction:column;
  transition:transform .3s cubic-bezier(.16,1,.3,1),border-color .3s,background .3s}
.sv:hover{background:#0C141D;border-color:rgba(46,147,236,.35);transform:translateY(-3px)}
.sv--w{grid-column:span 3}
.sv--full{grid-column:span 6;flex-direction:row;align-items:center;gap:2rem;flex-wrap:wrap}
.sv--full .sv__body{flex:1;min-width:260px}

.sv::before{content:'';position:absolute;inset:0;z-index:-1;opacity:0;transition:opacity .3s;
  background:radial-gradient(360px circle at var(--mx,50%) var(--my,50%),rgba(46,147,236,.10),transparent 62%)}
.sv:hover::before{opacity:1}
.sv::after{content:'';position:absolute;inset:0;z-index:-2;opacity:.4;pointer-events:none;
  background:repeating-linear-gradient(135deg,rgba(26,37,48,.55) 0 1px,transparent 1px 9px);
  mask-image:linear-gradient(to bottom left,#000,transparent 62%);
  -webkit-mask-image:linear-gradient(to bottom left,#000,transparent 62%)}

.sv__top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.sv__ico{width:34px;height:34px;padding:7px;box-sizing:border-box;flex:none;
  border:1px solid var(--fathom-2);border-radius:4px;background:#070C13;
  stroke:var(--gold);stroke-width:1.5;fill:none;stroke-linecap:round;stroke-linejoin:round;transition:.3s}
.sv:hover .sv__ico{stroke:var(--azure);border-color:rgba(46,147,236,.4)}
.sv__n{font-family:var(--mono);font-size:.625rem;letter-spacing:.14em;color:var(--deep);transition:color .3s}
.sv:hover .sv__n{color:var(--gold)}
.sv h3{font-size:clamp(1.05rem,1.5vw,1.3rem);margin-bottom:.55rem}
.sv p{font-size:.9rem;margin-bottom:1.1rem}
.sv__meta{margin-top:auto;display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}
.sv__chip{font-family:var(--mono);font-size:.5625rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--drift);border:1px solid var(--fathom);border-radius:3px;padding:.3rem .5rem;background:#070C13}
.sv__time{font-family:var(--mono);font-size:.5625rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--gold);margin-left:auto;white-space:nowrap}
/* full-width card: body must fill, or the timeline floats mid-card */
.sv--full .sv__body{width:100%}
@media(max-width:900px){
  .bento{grid-template-columns:repeat(2,1fr)}
  .sv,.sv--w,.sv--full{grid-column:span 2}
  .sv--full{flex-direction:column;align-items:stretch;gap:0}
}
@media(max-width:560px){.bento{grid-template-columns:1fr}.sv,.sv--w,.sv--full{grid-column:span 1}}
/* chips */
.chips{display:flex;flex-wrap:wrap;gap:.4rem}
.chip{position:relative;overflow:hidden;display:inline-flex;align-items:center;
  font-family:var(--mono);font-size:.5625rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--drift);border:1px solid var(--fathom);border-radius:3px;
  padding:.38rem .58rem;background:#070C13;
  transition:border-color .25s,color .25s,transform .25s cubic-bezier(.16,1,.3,1),background .25s}
.chip:hover{border-color:rgba(46,147,236,.45);color:var(--bone);
  background:#0B1620;transform:translateY(-2px)}

/* light sweep, once per hover */
.chip::after{content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(105deg,transparent 40%,rgba(46,147,236,.28) 50%,transparent 60%);
  transform:translateX(-130%)}
.chip:hover::after{animation:chipSweep .6s cubic-bezier(.16,1,.3,1) forwards}
@keyframes chipSweep{to{transform:translateX(130%)}}

/* stagger in when the row scrolls into view */
.chips .chip,.domains .chip,.about__badges .chip{opacity:0;transform:translateY(8px)}
.chips.in .chip,.domains.in .chip,.about__badges.in .chip{animation:chipIn .42s cubic-bezier(.16,1,.3,1) both}
@keyframes chipIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){
  .chips .chip,.domains .chip,.about__badges .chip{opacity:1;transform:none}
  .chips.in .chip,.domains.in .chip,.about__badges.in .chip{animation:none}
  .chip:hover::after{animation:none}
  .chip:hover{transform:none}
}
.flag{font-family:'Noto Color Emoji','Apple Color Emoji','Segoe UI Emoji',sans-serif;
  font-size:.8rem;line-height:1;margin-right:.4rem;vertical-align:-1px}

/* ---------- leadership record ---------- */
.lead{position:relative;isolation:isolate;background:#070C13;border:1px solid var(--fathom-2);
  border-radius:5px;overflow:hidden;transition:border-color .3s,background .3s}
.lead:hover{border-color:rgba(46,147,236,.4);background:#080E17}
.lead::before{content:'';position:absolute;inset:0;z-index:-1;opacity:0;transition:opacity .3s;
  background:radial-gradient(460px circle at var(--mx,50%) var(--my,50%),rgba(46,147,236,.08),transparent 62%)}
.lead:hover::before{opacity:1}

.lead__bar{display:flex;align-items:center;gap:.4rem;padding:.6rem .9rem;background:#0D141C;
  border-bottom:1px solid var(--fathom)}
.lead__bar i{width:8px;height:8px;border-radius:50%;display:block;flex:none}
.lead__bar i:nth-child(1){background:#FF5F57}
.lead__bar i:nth-child(2){background:#FEBC2E}
.lead__bar i:nth-child(3){background:#28C840}
.lead__bar b{margin-left:.5rem;font-family:var(--mono);font-weight:400;font-size:.5625rem;
  letter-spacing:.11em;text-transform:uppercase;color:var(--deep)}
.lead__bar span{margin-left:auto;font-family:var(--mono);font-size:.5625rem;letter-spacing:.1em;color:var(--fathom-2)}

.lead__main{display:grid;grid-template-columns:minmax(180px,26%) minmax(0,1fr);
  gap:clamp(1.25rem,3vw,2.25rem);padding:clamp(1.1rem,2.5vw,1.6rem)}
.lead__img{position:relative;aspect-ratio:4/5;overflow:hidden;background:#0A1119;
  border:1px solid var(--fathom);border-radius:4px;align-self:start}
.lead__img img{width:100%;height:100%;object-fit:cover;display:block;
  filter:saturate(.5) contrast(1.05) brightness(.9);transition:filter .5s ease}
.lead:hover .lead__img img{filter:saturate(.95) contrast(1) brightness(1)}
.lead__img::after{content:'';position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(0deg,rgba(0,0,0,.16) 0 1px,transparent 1px 3px)}

.lead h3{font-size:clamp(1.3rem,2.2vw,1.7rem);letter-spacing:-.015em;line-height:1.1}
.lead__role{font-family:var(--mono);font-size:.5625rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--gold);margin:.45rem 0 1rem}
.lead blockquote{font-family:var(--display);font-weight:500;font-variation-settings:'wdth' 108;
  font-size:clamp(1rem,1.6vw,1.22rem);line-height:1.4;letter-spacing:-.01em;color:var(--bone);
  border-left:2px solid var(--gold);padding-left:1.1rem;margin:0 0 1.1rem}
.lead p{font-size:.875rem;color:var(--drift);line-height:1.6;margin-bottom:1.2rem}
.lead__kv{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:0 1.5rem;
  border-top:1px solid var(--fathom)}
.lead__kv div{display:flex;gap:.7rem;padding:.5rem 0;border-bottom:1px solid var(--fathom);
  font-family:var(--mono);font-size:.5625rem;letter-spacing:.09em;text-transform:uppercase}
.lead__kv dt{color:var(--fathom-2);width:3.8rem;flex:none}
.lead__kv dd{margin:0;color:var(--drift);min-width:0}
.lead__kv dd b{color:var(--bone);font-weight:500}
.lead__foot{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;padding:.85rem 1.1rem;
  border-top:1px solid var(--fathom);background:#0A1119}
.lead__foot a.mono{color:var(--azure)}
.lead__foot .btn{margin-left:auto}
@media(max-width:720px){.lead__main{grid-template-columns:1fr}.lead__img{max-width:190px}}

/* ---------- team: personnel records ---------- */
.team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}
.person{position:relative;isolation:isolate;background:#070C13;border:1px solid var(--fathom-2);
  border-radius:5px;overflow:hidden;display:flex;flex-direction:column;
  transition:border-color .3s,background .3s}
.person:hover{border-color:rgba(46,147,236,.4);background:#080E17}
.person::before{content:'';position:absolute;inset:0;z-index:-1;opacity:0;transition:opacity .3s;
  background:radial-gradient(340px circle at var(--mx,50%) var(--my,50%),rgba(46,147,236,.08),transparent 62%)}
.person:hover::before{opacity:1}

.person__bar{display:flex;align-items:center;gap:.4rem;padding:.55rem .8rem;background:#0D141C;
  border-bottom:1px solid var(--fathom)}
.person__bar i{width:8px;height:8px;border-radius:50%;display:block;flex:none}
.person__bar i:nth-child(1){background:#FF5F57}
.person__bar i:nth-child(2){background:#FEBC2E}
.person__bar i:nth-child(3){background:#28C840}
.person__bar b{margin-left:.5rem;font-family:var(--mono);font-weight:400;font-size:.5625rem;
  letter-spacing:.11em;text-transform:uppercase;color:var(--deep)}
.person__bar span{margin-left:auto;font-family:var(--mono);font-size:.5625rem;
  letter-spacing:.1em;color:var(--fathom-2)}

.person__main{display:grid;grid-template-columns:minmax(120px,32%) minmax(0,1fr);gap:1.1rem;
  padding:1.1rem;flex:1}
.person__img{position:relative;aspect-ratio:4/5;overflow:hidden;background:#0A1119;
  border:1px solid var(--fathom);border-radius:4px}
.person__img img{width:100%;height:100%;object-fit:cover;display:block;
  filter:saturate(.5) contrast(1.05) brightness(.9);transition:filter .5s ease}
.person:hover .person__img img{filter:saturate(.95) contrast(1) brightness(1)}
.person__img::after{content:'';position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(0deg,rgba(0,0,0,.16) 0 1px,transparent 1px 3px)}

.person__col{display:flex;flex-direction:column;min-width:0}
.person h3{font-size:1.2rem;letter-spacing:-.01em;line-height:1.15}
.person__role{font-family:var(--mono);font-size:.5625rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--gold);margin:.4rem 0 .75rem}
.person p{font-size:.8125rem;color:var(--drift);line-height:1.55;margin-bottom:.9rem}
.person__kv{display:grid;gap:0;margin-top:auto;border-top:1px solid var(--fathom)}
.person__kv div{display:flex;gap:.7rem;padding:.42rem 0;border-bottom:1px solid var(--fathom);
  font-family:var(--mono);font-size:.5625rem;letter-spacing:.09em;text-transform:uppercase}
.person__kv div:last-child{border-bottom:0}
.person__kv dt{color:var(--fathom-2);width:3.6rem;flex:none}
.person__kv dd{margin:0;color:var(--drift);min-width:0}
.person__kv dd b{color:var(--bone);font-weight:500}
.person__soc{display:flex;flex-wrap:wrap;gap:.7rem;padding:.7rem 1.1rem;
  border-top:1px solid var(--fathom);background:#0A1119}
.person__soc a{font-family:var(--mono);font-size:.5625rem;letter-spacing:.11em;text-transform:uppercase;
  color:var(--drift);transition:color .2s}
.person__soc a:hover{color:var(--azure)}
@media(max-width:1040px){.team-grid{grid-template-columns:1fr}}
@media(max-width:520px){.person__main{grid-template-columns:1fr}
  .person__img{max-width:180px}}

/* ---------- process: deploy pipeline ---------- */
.pipe{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin-top:3rem}
.stage{position:relative;padding:0 1rem 0 0;isolation:isolate}
.stage__rail{position:relative;height:44px;display:flex;align-items:center;margin-bottom:1.1rem}
.stage__node{position:relative;z-index:2;width:44px;height:44px;flex:none;border-radius:50%;
  border:1px solid var(--fathom-2);background:#070C13;display:grid;place-items:center;
  font-family:var(--mono);font-size:.6875rem;letter-spacing:.06em;color:var(--deep);
  transition:.35s cubic-bezier(.16,1,.3,1)}
.stage__node::after{content:'';position:absolute;inset:-5px;border-radius:50%;
  border:1px solid rgba(46,147,236,.35);opacity:0;transform:scale(.8);transition:.35s}
.stage__wire{position:absolute;left:44px;right:0;top:50%;height:1px;background:var(--fathom);overflow:hidden}
.stage__wire span{position:absolute;inset:0;background:linear-gradient(90deg,var(--azure),rgba(46,147,236,.25));
  transform:scaleX(0);transform-origin:left;transition:transform .7s cubic-bezier(.16,1,.3,1)}
.stage:last-child .stage__wire{display:none}

.pipe.run .stage__node{border-color:rgba(46,147,236,.55);color:var(--azure);
  box-shadow:0 0 0 1px rgba(46,147,236,.16),0 10px 26px -14px rgba(46,147,236,.7)}
.pipe.run .stage__node::after{opacity:1;transform:scale(1)}
.pipe.run .stage__wire span{transform:scaleX(1)}
.pipe.run .stage:nth-child(1) .stage__node{transition-delay:.05s}
.pipe.run .stage:nth-child(2) .stage__node{transition-delay:.45s}
.pipe.run .stage:nth-child(3) .stage__node{transition-delay:.85s}
.pipe.run .stage:nth-child(4) .stage__node{transition-delay:1.25s}
.pipe.run .stage:nth-child(5) .stage__node{transition-delay:1.65s}
.pipe.run .stage:nth-child(1) .stage__wire span{transition-delay:.15s}
.pipe.run .stage:nth-child(2) .stage__wire span{transition-delay:.55s}
.pipe.run .stage:nth-child(3) .stage__wire span{transition-delay:.95s}
.pipe.run .stage:nth-child(4) .stage__wire span{transition-delay:1.35s}

.stage h3{font-size:1.02rem;margin-bottom:.45rem}
.stage__d{font-family:var(--mono);font-size:.5625rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--gold);margin-bottom:.6rem}
.stage p:not(.stage__d){font-size:.875rem;line-height:1.55}
.stage:hover .stage__node{transform:scale(1.06);border-color:var(--azure);color:var(--bone)}

@media(max-width:940px){
  .pipe{grid-template-columns:1fr}
  .stage{padding:0 0 1.75rem 3.6rem}
  .stage__rail{position:absolute;left:0;top:0;height:auto;margin:0}
  .stage__wire{left:22px;right:auto;top:44px;bottom:-1.75rem;width:1px;height:auto}
  .stage__wire span{background:linear-gradient(180deg,var(--azure),rgba(46,147,236,.25));
    transform:scaleY(0);transform-origin:top}
  .pipe.run .stage__wire span{transform:scaleY(1)}
  .stage:last-child{padding-bottom:0}
}
@media(prefers-reduced-motion:reduce){
  .stage__wire span,.stage__node,.stage__node::after{transition:none}
}
/* ---------- quotes ---------- */
.ratebar{display:flex;flex-wrap:wrap;align-items:center;gap:1.5rem;margin-top:1.5rem;
  padding:1.1rem 1.3rem;background:var(--hull);border:1px solid var(--fathom);border-radius:4px}
.ratebar__score{display:flex;align-items:baseline;gap:.5rem}
.ratebar__score b{font-family:var(--display);font-weight:600;font-size:1.9rem;
  letter-spacing:-.02em;color:var(--bone);line-height:1}
.stars{display:flex;gap:2px}
.stars svg{width:14px;height:14px;fill:var(--gold);stroke:none}
.ratebar__t{font-family:var(--mono);font-size:.625rem;letter-spacing:.1em;text-transform:uppercase;color:var(--drift)}
.ratebar__t b{display:block;color:var(--bone);font-weight:500;margin-bottom:.2rem}
.vetted{display:inline-flex;align-items:center;gap:.5rem;padding:.45rem .7rem;border-radius:3px;
  border:1px solid rgba(237,184,43,.45);background:linear-gradient(180deg,rgba(237,184,43,.13),rgba(237,184,43,.05));
  font-family:var(--mono);font-size:.625rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
.vetted svg{width:15px;height:15px;stroke:var(--gold);stroke-width:1.5;fill:none;
  stroke-linecap:round;stroke-linejoin:round;flex:none}
.vetted b{color:#F5DFA8;font-weight:500}
.ratebar a{margin-left:auto;font-family:var(--mono);font-size:.625rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--azure);white-space:nowrap}

.quote{position:relative;overflow:hidden;isolation:isolate;
  flex:0 0 clamp(272px,31vw,352px);scroll-snap-align:start;background:#0A1119;
  border:1px solid var(--fathom);border-radius:5px;padding:1.5rem;
  display:flex;flex-direction:column;gap:1rem;
  transition:transform .3s cubic-bezier(.16,1,.3,1),border-color .3s,background .3s}
.quote:hover{background:#0C141D;border-color:rgba(46,147,236,.35);transform:translateY(-3px)}
.quote::before{content:'';position:absolute;inset:0;z-index:-1;opacity:0;transition:opacity .3s;
  background:radial-gradient(320px circle at var(--mx,50%) var(--my,50%),rgba(46,147,236,.09),transparent 62%)}
.quote:hover::before{opacity:1}
.quote::after{content:'\201C';position:absolute;top:-.55rem;right:.7rem;z-index:-1;
  font-family:var(--display);font-weight:600;font-size:6rem;line-height:1;
  color:var(--bone);opacity:.045;pointer-events:none}

.quote__proj{font-family:var(--mono);font-size:.5625rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--gold);line-height:1.5}
.quote--more{align-items:flex-start;justify-content:center;text-align:left;gap:.9rem;
  border-style:dashed;border-color:var(--fathom-2)}
.quote--more h3{font-size:1.15rem}
.quote--more p{color:var(--drift);font-size:.9rem}
.quote__head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}
.quote__src{font-family:var(--mono);font-size:.5625rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--deep);border:1px solid var(--fathom);border-radius:3px;padding:.25rem .45rem}
.quote__src--up{color:var(--azure);border-color:rgba(46,147,236,.3)}
.quote p{font-size:.9375rem;color:var(--bone);line-height:1.6;flex:1;margin:0}
.metric{font-family:var(--mono);font-size:.625rem;letter-spacing:.08em;color:var(--azure);text-transform:uppercase}
.quote footer{display:flex;align-items:center;gap:.75rem;border-top:1px solid var(--fathom);padding-top:1rem}
.quote__av{width:36px;height:36px;flex:none;border-radius:50%;border:1px solid var(--fathom-2);
  background:#070C13;display:grid;place-items:center;font-family:var(--display);font-weight:600;
  font-size:.75rem;color:var(--gold);transition:.3s}
.quote:hover .quote__av{border-color:rgba(46,147,236,.4);color:var(--azure)}
.quote footer b{display:block;font-size:.875rem;font-weight:600;color:var(--bone);line-height:1.3}
.quote footer span{font-family:var(--mono);font-size:.5625rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--drift)}
/* ---------- contact ---------- */
.contact{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  gap:clamp(1.5rem,4vw,3.5rem);align-items:start}

.next{display:grid;gap:0;margin-bottom:2rem}
.next__row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.9rem;
  padding:.85rem 0;border-bottom:1px solid var(--fathom)}
.next__row:last-child{border-bottom:0}
.next__n{width:26px;height:26px;border-radius:50%;border:1px solid var(--fathom-2);
  background:#070C13;display:grid;place-items:center;font-family:var(--mono);
  font-size:.5625rem;color:var(--azure);flex:none}
.next__row b{display:block;font-size:.9375rem;color:var(--bone);font-weight:600;margin-bottom:.15rem}
.next__row span{font-size:.8125rem;color:var(--drift);line-height:1.5}

.reach{display:grid;gap:.5rem}
.reach a{display:flex;align-items:center;gap:.8rem;padding:.85rem 1rem;background:#0A1119;
  border:1px solid var(--fathom);border-radius:4px;transition:.22s}
.reach a:hover{background:var(--hull);border-color:rgba(46,147,236,.4);transform:translateX(3px)}
.reach svg{width:28px;height:28px;padding:6px;box-sizing:border-box;flex:none;border:1px solid var(--fathom-2);
  border-radius:3px;background:#070C13;stroke:var(--gold);stroke-width:1.5;fill:none;
  stroke-linecap:round;stroke-linejoin:round;transition:.22s}
.reach a:hover svg{stroke:var(--azure);border-color:rgba(46,147,236,.4)}
.reach b{display:block;font-size:.875rem;color:var(--bone);font-weight:600;line-height:1.3}
.reach span{font-family:var(--mono);font-size:.5625rem;letter-spacing:.1em;text-transform:uppercase;color:var(--deep)}

.formcard{position:relative;overflow:hidden;isolation:isolate;background:#0A1119;
  border:1px solid var(--fathom);border-radius:5px;padding:clamp(1.4rem,3vw,2rem)}
.formcard::after{content:'';position:absolute;inset:0;z-index:-2;opacity:.35;pointer-events:none;
  background-image:linear-gradient(rgba(26,37,48,.5) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(26,37,48,.5) 1px,transparent 1px);
  background-size:30px 30px;
  mask-image:linear-gradient(to bottom,#000,transparent 55%);
  -webkit-mask-image:linear-gradient(to bottom,#000,transparent 55%)}
.form{display:grid;gap:1.1rem}
.two{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
label{font-family:var(--mono);font-size:.5625rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--gold);display:block;margin-bottom:.5rem}
input,textarea{width:100%;background:#070C13;border:1px solid var(--fathom-2);border-radius:4px;
  color:var(--bone);font-family:var(--body);font-size:.9375rem;padding:.8rem .95rem;transition:.2s}
input::placeholder,textarea::placeholder{color:#3A4956}
input:focus,textarea:focus{outline:none;border-color:var(--azure);
  box-shadow:0 0 0 3px rgba(46,147,236,.08);background:#08111A}
textarea{min-height:104px;resize:vertical;line-height:1.55}

.pills{display:flex;flex-wrap:wrap;gap:.4rem}
.pills input{position:absolute;opacity:0;width:0;height:0}
.pills label{margin:0;padding:.5rem .75rem;border:1px solid var(--fathom-2);border-radius:3px;
  background:#070C13;color:var(--drift);cursor:pointer;transition:.2s;font-size:.5625rem}
.pills label:hover{border-color:var(--gold);color:var(--bone)}
.pills input:checked + label{border-color:var(--azure);color:var(--azure);background:rgba(46,147,236,.08)}
.pills input:focus-visible + label{outline:2px solid var(--azure);outline-offset:2px}
.formnote{font-family:var(--mono);font-size:.5625rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--deep);display:flex;align-items:center;gap:.5rem}
.formnote i{width:5px;height:5px;border-radius:50%;background:var(--azure);flex:none;
  animation:beacon 2.6s ease-out infinite}
@media(max-width:900px){.contact{grid-template-columns:1fr}.two{grid-template-columns:1fr}}

/* ---------- sticky bar ---------- */
.sticky{position:fixed;left:var(--rail);right:0;bottom:0;z-index:45;
  background:rgba(7,12,19,.93);backdrop-filter:blur(14px) saturate(140%);
  border-top:1px solid var(--fathom-2);padding:.6rem clamp(.9rem,3vw,1.6rem);
  display:flex;align-items:center;gap:.9rem;
  font-family:var(--mono);font-size:.5625rem;letter-spacing:.11em;text-transform:uppercase;
  transform:translateY(110%);transition:transform .35s cubic-bezier(.16,1,.3,1)}
.sticky.on{transform:translateY(0)}
.sticky::before{content:'';position:absolute;left:0;top:-1px;height:1px;width:var(--read,0%);
  background:linear-gradient(90deg,var(--gold),var(--azure));transition:width .1s linear}

.sticky__ps{color:var(--azure);font-weight:600;flex:none}
.sticky__st{display:flex;align-items:center;gap:.45rem;color:var(--azure);flex:none}
.sticky__st i{width:5px;height:5px;border-radius:50%;background:var(--azure);flex:none;
  animation:beacon 2.6s ease-out infinite}
.sticky__sep{width:1px;height:14px;background:var(--fathom-2);flex:none}
.sticky__m{color:var(--deep);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sticky__m b{color:var(--drift);font-weight:500}
.sticky__clock{color:var(--gold);flex:none;margin-left:auto}
.sticky .btn{flex:none}
@media(max-width:760px){.sticky__m,.sticky__sep,.sticky__clock{display:none}
  .sticky{gap:.6rem;justify-content:space-between}}

footer.site{position:relative;border-top:1px solid var(--fathom);padding-block:3.5rem 1.75rem;
  margin-top:2rem;overflow:hidden}
footer.site::before{content:'';position:absolute;inset:0;z-index:-1;opacity:.5;pointer-events:none;
  background-image:linear-gradient(rgba(26,37,48,.45) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(26,37,48,.45) 1px,transparent 1px);
  background-size:38px 38px;
  mask-image:linear-gradient(to top,#000,transparent 78%);
  -webkit-mask-image:linear-gradient(to top,#000,transparent 78%)}
.foot__cta{display:flex;flex-wrap:wrap;align-items:center;gap:1.5rem;
  padding-bottom:2.5rem;margin-bottom:2.5rem;border-bottom:1px solid var(--fathom)}
.foot__cta h2{font-size:clamp(1.5rem,3vw,2.2rem);max-width:16ch;flex:1;min-width:250px}
.foot__cta p{font-size:.9375rem;max-width:32ch}
.foot__grid{display:grid;grid-template-columns:1.5fr repeat(3,minmax(0,1fr));gap:2rem}
.logo--foot{height:48px;width:auto;display:block;margin-bottom:1.2rem}
.foot__brand p{font-size:.875rem;max-width:34ch;margin-bottom:1.1rem}
.foot__badges{display:flex;flex-wrap:wrap;gap:.4rem}
.foot__badge{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--mono);
  font-size:.5625rem;letter-spacing:.1em;text-transform:uppercase;color:var(--drift);
  border:1px solid var(--fathom);border-radius:3px;padding:.35rem .55rem;background:#070C13}
.foot__badge svg{width:12px;height:12px;stroke:var(--gold);stroke-width:1.5;fill:none;flex:none}
.foot__badge--live{color:var(--azure);border-color:rgba(46,147,236,.3)}
.foot__badge--live i{width:5px;height:5px;border-radius:50%;background:var(--azure);flex:none;
  animation:beacon 2.6s ease-out infinite}
.foot__h{font-family:var(--mono);font-size:.5625rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--gold);margin-bottom:.9rem;display:block}
.foot__grid a{display:flex;align-items:center;gap:.4rem;font-size:.875rem;color:var(--drift);
  padding:.3rem 0;transition:.2s;width:fit-content}
.foot__grid a:hover{color:var(--azure);transform:translateX(3px)}
.foot__base{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;
  margin-top:2.75rem;padding-top:1.5rem;border-top:1px solid var(--fathom)}
.foot__base p{font-size:.8125rem;color:var(--deep);margin:0}
.foot__base nav{margin-left:auto;display:flex;gap:1.25rem}
.foot__base nav a{font-family:var(--mono);font-size:.5625rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--deep);transition:color .2s}
.foot__base nav a:hover{color:var(--azure)}
@media(max-width:820px){.foot__grid{grid-template-columns:1fr 1fr}.foot__brand{grid-column:span 2}}
@media(max-width:430px){
  .brandwrap .logo{height:40px}
  .nav .btn--go{padding:.55rem .65rem;font-size:.5rem}
}
@media(max-width:520px){
  /* keep three link lists side by side — stacking them made the footer enormous */
  .foot__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem;row-gap:1.75rem}
  .foot__brand{grid-column:span 3}
  .foot__brand p{font-size:.8125rem}
  .foot__h{font-size:.5rem;margin-bottom:.5rem}
  .foot__grid a{font-size:.75rem;padding:.22rem 0;line-height:1.35}
  .foot__base nav{margin-left:0}
  footer.site{padding-block:2.25rem 1.25rem}
  .foot__cta{padding-bottom:1.75rem;margin-bottom:1.75rem;gap:1rem}
}
@media(max-width:400px){
  /* the contact column has the longest strings — give it its own row */
  .foot__grid{grid-template-columns:1fr 1fr}
  .foot__grid > div:last-child{grid-column:span 2}
}

/* ---------- reveal ---------- */
.rv{opacity:0;transform:translateY(24px)}
.rv.in{opacity:1;transform:none;transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}

@media(max-width:1080px){.team-grid{grid-template-columns:1fr}}
@media(max-width:520px){
  .person{grid-template-columns:1fr}
  .person__img{min-height:0;aspect-ratio:16/10;border-right:0;border-bottom:1px solid var(--fathom)}
}
@media(max-width:960px){
  /* keep two columns — just narrow the portrait, or the right side goes empty */
  .svc{grid-template-columns:1fr;gap:.5rem}
  .svc__meta{text-align:left}
}


@media(min-width:760px){.util__x{display:inline}}
@media(max-width:1050px){
  .brandwrap .logo{height:53px}
  .nav__cmd{display:none}
  .nav__links{gap:1.1rem}
}
@media(max-width:900px){
  :root{--rail:0px}
  .brandwrap .logo{height:46px}
  .gauge{display:none}
  .progress{display:block}
  .nav__links{display:none}
  .burger{display:grid}
  .sticky{left:0}
  .nav__right{gap:.55rem}
  /* keep the CTA, just make it compact so it fits beside the logo */
  .nav .btn--go{padding:.6rem .8rem;font-size:.5625rem;letter-spacing:.1em;gap:.4rem}
  .nav .btn--go .btn__cur{height:11px}
}
@media(prefers-reduced-motion:reduce){
  .formnote i,.foot__badge--live i,.util__st i,.cfg__foot i,.founder__tag i{animation:none}
  html{scroll-behavior:auto}
  .rv{opacity:1;transform:none}
  *{transition-duration:.01ms!important;animation-duration:.01ms!important}
}

/* ================= production additions ================= */

/* skip link */
.skip{position:absolute;left:-9999px;top:0;z-index:200;background:var(--gold);color:#1A1205;
  font-family:var(--mono);font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;
  padding:.8rem 1.1rem}
.skip:focus{left:0}

/* honeypot — hidden from humans, visible to bots */
.hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;
  opacity:0!important;pointer-events:none}

/* fieldset reset */
.form fieldset{border:0;padding:0;margin:0;min-width:0}
.form legend{font-family:var(--mono);font-size:.5625rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--gold);padding:0;margin-bottom:.5rem}

/* validation */
.err{font-family:var(--mono);font-size:.5625rem;letter-spacing:.1em;text-transform:uppercase;
  color:#FF6B63;margin:.45rem 0 0}
input[aria-invalid="true"],textarea[aria-invalid="true"]{border-color:#FF6B63}
input[aria-invalid="true"]:focus,textarea[aria-invalid="true"]:focus{
  box-shadow:0 0 0 3px rgba(255,107,99,.12)}
.formmsg{font-family:var(--mono);font-size:.5625rem;letter-spacing:.1em;text-transform:uppercase;
  margin:.4rem 0 0;padding:.7rem .85rem;border:1px solid var(--fathom-2);border-radius:4px}
.formmsg.ok{color:var(--azure);border-color:rgba(46,147,236,.4);background:rgba(46,147,236,.06)}
.formmsg.bad{color:#FF6B63;border-color:rgba(255,107,99,.4);background:rgba(255,107,99,.06)}
.btn[aria-busy="true"]{opacity:.7;pointer-events:none}
.btn[aria-busy="true"] .btn__cur{animation:caret .35s steps(1) infinite}
.formmsg{transition:opacity .2s}

/* thank-you page */
.ty{min-height:70vh;display:grid;place-items:center;text-align:center}
.ty__in{max-width:44ch}

/* sections receive focus for keyboard nav — don't draw a box around them */
section[tabindex="-1"]:focus,main[tabindex="-1"]:focus,
section[tabindex="-1"]:focus-visible{outline:none}
