/* ═══════════════════════════════════════════════════════════
   WORKERZ LLC — site.css
   Palette sampled from the Saddar floor: warm charcoal, oak,
   warm paper. Night = Workerz. Paper = the client.
   Display type: Nevan (unicase). Body: Manrope. Data: JetBrains Mono.
   ═══════════════════════════════════════════════════════════ */

@font-face{font-family:'Manrope';src:url('../fonts/manrope-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Manrope';src:url('../fonts/manrope-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Manrope';src:url('../fonts/manrope-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Manrope';src:url('../fonts/manrope-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Manrope';src:url('../fonts/manrope-800.woff2') format('woff2');font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:'JetBrains Mono';src:url('../fonts/jbmono-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'JetBrains Mono';src:url('../fonts/jbmono-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'JetBrains Mono';src:url('../fonts/jbmono-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}

@font-face{
  font-family:'Nevan';
  src:url('../fonts/nevan.woff2') format('woff2'),
      url('../fonts/nevan.woff') format('woff');
  font-weight:400;font-style:normal;font-display:swap;
}

:root{
  --night:#12100E; --night-2:#1A1714; --night-3:#242019; --night-4:#2E2822;
  --paper:#F4F0E8; --paper-2:#EAE4D8; --paper-3:#DED7C8;
  --ink:#141109; --ink-2:#443C31;

  --oak:#C6A882; --oak-2:#DCC3A0; --oak-dim:#8A7355;
  --signal:#F2661C; --signal-2:#FF8340;
  --live:#3FA96B;

  --nline:rgba(255,255,255,.11); --nline-2:rgba(255,255,255,.20);
  --pline:#D6CDBA; --pline-2:#C4B99F;
  --nsoft:rgba(255,255,255,.66); --ndim:rgba(255,255,255,.42);
  --psoft:#5C5346; --pdim:#8A8071;

  --disp:'Nevan',system-ui,sans-serif;
  --body:'Manrope',system-ui,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,monospace;
  --pad:clamp(18px,4.5vw,72px);
  --max:1400px;
  --e:cubic-bezier(.19,.9,.22,1);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--body);font-size:17px;line-height:1.6;background:var(--night);color:#fff;
  -webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img,svg{display:block;max-width:100%}
:focus-visible{outline:2px solid var(--signal);outline-offset:3px}
::selection{background:var(--signal);color:#fff}
.wrap{max-width:var(--max);margin:0 auto;padding-inline:var(--pad);position:relative}

/* ── type ─────────────────────────────────────────── */
h1,h2{font-family:var(--disp);font-weight:400;text-transform:uppercase;line-height:.94;letter-spacing:.012em}
h1{font-size:clamp(30px,5.2vw,68px)}
h2{font-size:clamp(23px,3.2vw,42px)}
h3{font-family:var(--body);font-weight:700;font-size:20px;line-height:1.24;letter-spacing:-.018em}
.lbl{font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;font-weight:500;display:block}
.lede{font-size:clamp(16.5px,1.5vw,19.5px);line-height:1.56;max-width:60ch}
.num{font-family:var(--mono);font-variant-numeric:tabular-nums;font-weight:500;letter-spacing:-.045em}
.quote{font-family:var(--disp);font-weight:400;text-transform:uppercase;line-height:1.06;letter-spacing:.015em}

/* ── ground ───────────────────────────────────────── */
.night{background:var(--night);color:#fff}
.night .lede{color:var(--nsoft)} .night .lbl{color:var(--signal)}
.day{background:var(--paper);color:var(--ink)}
.day .lede{color:var(--psoft)} .day .lbl{color:var(--signal)}
.day-2{background:var(--paper-2)}

/* ── header ───────────────────────────────────────── */
header{position:sticky;top:0;z-index:200;backdrop-filter:blur(20px) saturate(150%);
  background:rgba(18,16,14,.72);border-bottom:1px solid var(--nline);color:#fff;transition:.4s var(--e)}
header.light{background:rgba(244,240,232,.82);border-bottom-color:var(--pline);color:var(--ink)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:18px;height:76px}
.brand{display:flex;align-items:center;gap:13px}
.brand svg{width:34px;color:#fff;flex:none;transition:color .3s var(--e)}
header.light .brand svg{color:var(--ink)}
.brand b{font-family:var(--disp);font-weight:400;font-size:25px;letter-spacing:.1em;line-height:1;display:block}
.brand small{display:block;font-family:var(--mono);font-size:8px;font-weight:700;letter-spacing:.155em;margin-top:5px;opacity:.62;white-space:nowrap}
.menu{display:flex;gap:1px;list-style:none}
.menu a{display:block;padding:9px 13px;font-size:13px;font-weight:600;opacity:.7;position:relative;transition:opacity .25s var(--e)}
.menu a::after{content:'';position:absolute;left:13px;right:13px;bottom:1px;height:2px;background:var(--signal);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--e)}
.menu a:hover,.menu a.on{opacity:1}
.menu a:hover::after,.menu a.on::after{transform:scaleX(1)}
.burger{display:none;background:none;border:1px solid currentColor;color:inherit;opacity:.65;padding:10px 13px;cursor:pointer;font-family:var(--mono);font-size:10px;letter-spacing:.16em;border-radius:2px}

/* ── buttons ──────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--body);font-weight:700;font-size:14px;
  padding:14px 25px;border-radius:999px;transition:.35s var(--e);border:1.5px solid transparent;cursor:pointer}
.btn .ar{transition:transform .35s var(--e)}
.btn:hover .ar{transform:translateX(5px)}
.btn-p{background:var(--signal);color:#fff}
.btn-p:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(242,102,28,.3);background:var(--signal-2)}
.btn-o{border-color:currentColor;opacity:.72}
.btn-o:hover{opacity:1;border-color:var(--signal);color:var(--signal);transform:translateY(-2px)}

/* ── reveal ───────────────────────────────────────── */
.rv{opacity:0;transform:translateY(24px);transition:opacity .85s var(--e),transform .85s var(--e)}
.rv.in{opacity:1;transform:none}
.mask .ln{display:block;overflow:hidden}
.mask .ln>span{display:block;transform:translateY(108%);transition:transform 1.05s var(--e)}
.mask.in .ln>span{transform:none}
.mask .ln:nth-child(2)>span{transition-delay:.1s}
.mask .ln:nth-child(3)>span{transition-delay:.2s}
.d1{transition-delay:.1s}.d2{transition-delay:.2s}.d3{transition-delay:.3s}.d4{transition-delay:.4s}

section{position:relative;padding:clamp(60px,7.5vw,116px) 0}
.head{margin-bottom:clamp(30px,4vw,52px)}
.head h2{margin-top:14px;max-width:20ch}
.head .lede{margin-top:18px}
.head .row{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}

/* ── home hero ────────────────────────────────────── */
.hero{padding:clamp(48px,7vw,96px) 0 clamp(40px,5vw,72px);position:relative;overflow:hidden}
.hero::before{content:'';position:absolute;left:-10%;top:-30%;width:70vw;height:70vw;max-width:900px;max-height:900px;
  background:radial-gradient(circle,rgba(242,102,28,.15),transparent 62%);pointer-events:none}
.lock3d{perspective:1100px;perspective-origin:50% 42%}
.wordmark{display:flex;align-items:flex-start;gap:clamp(14px,2.4vw,34px);
  transform-style:preserve-3d;transition:transform .9s var(--e);will-change:transform}
.wordmark svg{width:clamp(64px,10vw,146px);flex:none;margin-top:clamp(2px,.6vw,10px);
  filter:drop-shadow(2px 3px 0 rgba(0,0,0,.55)) drop-shadow(6px 9px 16px rgba(0,0,0,.55))}
.wmcol{display:inline-block;transform:translateZ(26px)}
.wordmark .wm{position:relative;display:block;font-family:var(--disp);font-weight:400;
  font-size:clamp(54px,12.4vw,182px);line-height:.84;letter-spacing:.035em}
.wm-extrude,.wm-face{display:block;font:inherit;letter-spacing:inherit;line-height:inherit}
/* extruded body sitting behind the face */
.wm-extrude{position:absolute;inset:0;color:#241E18;z-index:1;
  text-shadow:
    1px 1px 0 #2A231C, 2px 2px 0 #282119, 3px 3px 0 #251F18, 4px 4px 0 #231D16,
    5px 5px 0 #211B15, 6px 6px 0 #1F1913, 7px 7px 0 #1C1711, 8px 8px 0 #1A1510,
    9px 9px 0 #18130E, 10px 10px 0 #16110D, 11px 11px 0 #140F0B, 12px 12px 0 #120E0A,
    13px 14px 24px rgba(0,0,0,.75)}
/* lit face with a specular sweep */
.wm-face{position:relative;z-index:2;
  background:linear-gradient(168deg,#FFFFFF 0%,#FFFDFA 26%,#D9CFC2 47%,#FFFFFF 62%,#EFE7DC 84%,#CBBFAE 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent}
/* slogan is centred against the wordmark only, not the whole lockup */
.slogan{display:block;text-align:center;font-family:var(--mono);font-weight:700;
  font-size:clamp(9px,1.62vw,23px);letter-spacing:.235em;color:var(--oak);
  margin-top:clamp(10px,1.5vw,20px);text-transform:uppercase;white-space:nowrap;
  text-indent:.235em}
.hero .lede{margin-top:clamp(24px,3vw,36px);font-size:clamp(17px,1.7vw,22px)}
.cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}

/* ── page hero (interior) ─────────────────────────── */
.phero{padding:clamp(50px,6.5vw,96px) 0 clamp(34px,4vw,56px);position:relative;overflow:hidden;border-bottom:1px solid var(--pline)}
.phero::before{content:'';position:absolute;left:-8%;top:-40%;width:60vw;height:60vw;max-width:760px;max-height:760px;
  background:radial-gradient(circle,rgba(242,102,28,.10),transparent 64%);pointer-events:none}
.crumb{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--pdim)}
.night.phero{border-bottom-color:var(--nline)}
.night .crumb{color:var(--ndim)} .night .crumb span{color:var(--nline-2)}
.crumb a:hover{color:var(--signal)} .crumb span{margin:0 9px;color:var(--pline-2)}
.phero h1{margin-top:20px;max-width:17ch}
.phero .lede{margin-top:20px}

/* ── figures ──────────────────────────────────────── */
.figs{display:grid;grid-template-columns:repeat(4,1fr)}
.figs.five{grid-template-columns:repeat(5,1fr)}
.fig{padding:6px clamp(14px,2vw,32px);border-left:1px solid var(--nline)}
.fig:first-child{border-left:none;padding-left:0}
.day .fig{border-left-color:var(--pline)}
.fig .v{font-size:clamp(30px,4vw,54px);line-height:1;color:#fff}
.day .fig .v{color:var(--ink)}
.fig .v em{font-style:normal;color:var(--signal)}
.fig .k{font-size:13px;color:var(--ndim);margin-top:10px;line-height:1.4;font-weight:500}
.day .fig .k{color:var(--pdim)}

/* ── ticker ───────────────────────────────────────── */
.tickwrap{border-block:1px solid var(--nline);overflow:hidden;padding:14px 0}
.day .tickwrap,.tickwrap.on-day{border-block-color:var(--pline)}
.tick{display:flex;gap:38px;width:max-content;animation:sl 48s linear infinite}
.tickwrap:hover .tick{animation-play-state:paused}
@keyframes sl{to{transform:translateX(-50%)}}
.tick i{font-style:normal;font-family:var(--mono);font-size:11px;letter-spacing:.19em;text-transform:uppercase;
  color:var(--ndim);display:flex;align-items:center;gap:38px;white-space:nowrap}
.tick i::after{content:'';width:3px;height:3px;background:var(--signal);border-radius:50%}

/* ── cards ────────────────────────────────────────── */
.g2{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.g5{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}

.c{border-radius:16px;padding:28px 26px;position:relative;overflow:hidden;display:block;
  transition:transform .45s var(--e),box-shadow .45s var(--e),border-color .45s var(--e),background .45s var(--e)}
.night .c{background:var(--night-2);border:1px solid var(--nline)}
.night .c:hover{background:var(--night-3);border-color:var(--nline-2);transform:translateY(-5px)}
.day .c{background:#fff;border:1px solid var(--pline)}
.day .c:hover{transform:translateY(-5px);box-shadow:0 22px 50px rgba(20,17,9,.10);border-color:var(--pline-2)}
.c::after{content:'';position:absolute;left:0;right:0;top:0;height:2px;background:var(--signal);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--e)}
.c:hover::after{transform:scaleX(1)}
.c h3{margin:14px 0 10px}
.c p{font-size:14.6px;line-height:1.56}
.night .c p{color:var(--nsoft)} .day .c p{color:var(--psoft)}
.c ul{list-style:none;margin-top:18px;font-size:14.2px}
.c li{padding:9px 0 9px 20px;position:relative}
.night .c li{border-top:1px solid var(--nline);color:var(--nsoft)}
.day .c li{border-top:1px solid var(--paper-2);color:var(--ink-2)}
.c li::before{content:'';position:absolute;left:0;top:17px;width:8px;height:1.5px;background:var(--signal)}
.c .idx{position:absolute;top:24px;right:26px;font-family:var(--mono);font-size:10px;letter-spacing:.12em;color:var(--pdim)}
.night .c .idx{color:var(--ndim)}
.c .more{margin-top:20px;font-family:var(--mono);font-size:10.5px;letter-spacing:.15em;text-transform:uppercase;color:var(--signal);display:flex;align-items:center;gap:8px}
.c .more .ar{transition:transform .35s var(--e)}
.c:hover .more .ar{transform:translateX(5px)}
.tag{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:9.5px;letter-spacing:.17em;text-transform:uppercase;font-weight:500;color:var(--live)}
.tag.ready{color:var(--oak-dim)}
.dot{width:7px;height:7px;border-radius:50%;background:var(--live);flex:none;animation:pl 2.4s infinite}
.tag.ready .dot{background:var(--oak-dim);animation:none}
@keyframes pl{0%{box-shadow:0 0 0 0 rgba(63,169,107,.5)}70%{box-shadow:0 0 0 10px rgba(63,169,107,0)}100%{box-shadow:0 0 0 0 rgba(63,169,107,0)}}

.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{border:1px solid var(--pline);background:#fff;padding:9px 17px;border-radius:999px;font-size:12.5px;
  color:var(--ink-2);font-family:var(--mono);letter-spacing:.07em;text-transform:uppercase;transition:.3s var(--e)}
.night .chip{background:var(--night-2);border-color:var(--nline);color:var(--nsoft)}
.chip:hover{border-color:var(--signal);color:var(--signal);transform:translateY(-2px)}
a.chip{cursor:pointer}
a.chip::after{content:' \2192';opacity:0;transition:opacity .25s var(--e)}
a.chip:hover::after{opacity:1}

/* ── pipeline flow ────────────────────────────────── */
.flow{display:grid;grid-template-columns:repeat(5,1fr);gap:0;align-items:stretch}
.flow>.c{border-radius:0;margin-right:26px;overflow:visible}
.flow>.c:first-child{border-top-left-radius:16px;border-bottom-left-radius:16px}
.flow>.c:last-child{border-top-right-radius:16px;border-bottom-right-radius:16px;margin-right:0}
.flow>.c::before{content:'→';position:absolute;right:-20px;top:50%;transform:translateY(-50%);
  font-size:19px;color:var(--oak);z-index:3;pointer-events:none;transition:transform .35s var(--e),color .35s var(--e)}
.flow>.c:last-child::before{display:none}
.flow>.c:hover::before{color:var(--signal);transform:translateY(-50%) translateX(3px)}
.flow>.c:hover{transform:translateY(-5px);z-index:2}

/* ── venture logo ─────────────────────────────────── */
.vlogo{display:inline-block;background:#fff;border-radius:14px;padding:20px 26px;margin-bottom:26px;
  transition:transform .4s var(--e),box-shadow .4s var(--e)}
.vlogo img{width:clamp(180px,20vw,250px);height:auto}
.vlogo:hover{transform:translateY(-3px);box-shadow:0 18px 44px rgba(0,0,0,.4)}

/* ── media ────────────────────────────────────────── */
.shot{border-radius:16px;overflow:hidden;position:relative;background:var(--night-2)}
.shot img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--e)}
.shot:hover img{transform:scale(1.03)}
.shot figcaption{position:absolute;left:0;right:0;bottom:0;padding:22px;
  background:linear-gradient(transparent,rgba(18,16,14,.9));font-family:var(--mono);font-size:10.5px;
  letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.85)}
.shot figcaption b{color:var(--oak-2);font-weight:500}
.shot.tall img{aspect-ratio:4/5}
.shot.wide img{aspect-ratio:21/9}
.deck-badge{position:absolute;top:18px;left:18px;background:rgba(18,16,14,.78);backdrop-filter:blur(8px);
  border:1px solid var(--nline-2);border-radius:999px;padding:7px 15px;font-family:var(--mono);
  font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--oak-2)}

/* wall-quote block */
.wallq{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(26px,4vw,60px);align-items:center}
.wallq .quote{font-size:clamp(26px,4.2vw,58px)}
.wallq .quote em{font-style:normal;color:var(--signal)}
.wallq .src{margin-top:22px;font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--pdim)}
.night .wallq .src{color:var(--ndim)}

/* ── split ────────────────────────────────────────── */
.split{display:grid;grid-template-columns:1.06fr .94fr;gap:clamp(28px,4vw,60px);align-items:center}
.spec{border-top:1px solid var(--pline)}
.night .spec{border-top-color:var(--nline)}
.spec div{display:flex;gap:16px;font-family:var(--mono);font-size:11.5px;padding:12px 0;letter-spacing:.04em;
  border-bottom:1px solid var(--pline);color:var(--ink-2)}
.night .spec div{border-bottom-color:var(--nline);color:var(--nsoft)}
.spec span{color:var(--signal);min-width:122px;flex:none;font-size:10px;letter-spacing:.15em;text-transform:uppercase;padding-top:2px}

/* ── process steps ────────────────────────────────── */
.steps{border-top:1px solid var(--pline)}
.step{display:grid;grid-template-columns:82px 1fr;gap:clamp(16px,3vw,40px);padding:28px 0;
  border-bottom:1px solid var(--pline);transition:padding-left .4s var(--e)}
.step:hover{padding-left:12px}
.step .n{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--signal);padding-top:5px}
.step h3{margin-bottom:10px}
.step p{color:var(--psoft);font-size:15px;max-width:72ch}
.step ul{list-style:none;margin-top:14px;display:grid;gap:0;max-width:72ch}
.step li{font-size:14.4px;color:var(--ink-2);padding:8px 0 8px 20px;position:relative;border-top:1px solid var(--paper-2)}
.step li::before{content:'';position:absolute;left:0;top:16px;width:8px;height:1.5px;background:var(--oak)}

/* ── closing band ─────────────────────────────────── */
.close{text-align:center}
.close h2{max-width:28ch;margin:16px auto 0}
.close .lede{margin:22px auto 0}
.close .cta{justify-content:center}

/* ── footer ───────────────────────────────────────── */
footer{border-top:1px solid var(--nline);background:var(--night-2);padding:54px 0 30px;font-size:14px;color:var(--ndim)}
.fg{display:grid;grid-template-columns:1.7fr 1fr 1fr 1.3fr;gap:clamp(22px,4vw,52px)}
.fg h4{font-family:var(--mono);font-size:10px;letter-spacing:.19em;text-transform:uppercase;color:var(--signal);margin-bottom:15px;font-weight:500}
.fg ul{list-style:none;display:grid;gap:10px}
.fg a:hover{color:#fff}
.fbot{margin-top:44px;padding-top:22px;border-top:1px solid var(--nline);display:flex;justify-content:space-between;
  gap:18px;flex-wrap:wrap;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase}

/* ── vision & mission ─────────────────────────────── */
.vm{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.vm>div{border:1px solid var(--pline);background:#fff;border-radius:16px;
  padding:clamp(26px,3.4vw,44px);position:relative}
.night .vm>div{background:var(--night-2);border-color:var(--nline)}
.vm h3{font-family:var(--disp);font-weight:400;text-transform:uppercase;
  font-size:clamp(22px,2.8vw,34px);letter-spacing:.014em;margin-bottom:18px;line-height:1}
.vm p{font-size:16.5px;line-height:1.64;color:var(--psoft)}
.night .vm p{color:var(--nsoft)}
.vm .rule{width:46px;height:2px;background:var(--signal);margin-bottom:20px}

/* ── milestones ───────────────────────────────────── */
.mile{border-top:1px solid var(--pline)}
.night .mile{border-top-color:var(--nline)}
.mile>div{display:grid;grid-template-columns:150px 1fr;gap:clamp(14px,3vw,40px);
  padding:22px 0;border-bottom:1px solid var(--pline);transition:padding-left .4s var(--e)}
.night .mile>div{border-bottom-color:var(--nline)}
.mile>div:hover{padding-left:10px}
.mile b{font-family:var(--mono);font-size:12px;letter-spacing:.12em;color:var(--signal);
  font-weight:500;padding-top:3px}
.mile p{font-size:15.5px;color:var(--psoft);max-width:74ch}
.night .mile p{color:var(--nsoft)}

/* ── venture hero panel ───────────────────────────── */
.vhero{display:grid;grid-template-columns:auto 1fr;gap:clamp(24px,4vw,56px);align-items:center;
  border:1px solid var(--nline);border-radius:22px;padding:clamp(26px,4vw,52px);
  background:linear-gradient(135deg,rgba(242,102,28,.10),var(--night-2) 60%)}
.vhero .plate{background:#fff;border-radius:16px;padding:22px 28px;flex:none}
.vhero .plate img{width:clamp(190px,17vw,260px);height:auto}
.vhero h2{margin-bottom:16px}
@media(max-width:900px){.vhero{grid-template-columns:1fr}}

/* ── build log ────────────────────────────────────── */
.log{display:grid;gap:0;border-top:1px solid var(--nline)}
.log>div{display:grid;grid-template-columns:56px 1fr;gap:clamp(16px,3vw,34px);
  padding:24px 0;border-bottom:1px solid var(--nline);transition:padding-left .4s var(--e)}
.log>div:hover{padding-left:10px}
.log .n{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--signal);padding-top:5px}
.log h3{margin-bottom:9px}
.log p{font-size:15.2px;color:var(--nsoft);max-width:74ch}
@media(max-width:900px){.log>div{grid-template-columns:1fr;gap:6px}}

/* ── service index chips ──────────────────────────── */
.svcnav{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.svcnav a{display:inline-flex;align-items:center;gap:9px;border:1px solid var(--pline);background:#fff;
  padding:10px 17px;border-radius:999px;font-family:var(--mono);font-size:11.5px;letter-spacing:.09em;
  text-transform:uppercase;color:var(--ink-2);transition:.3s var(--e)}
.svcnav a b{color:var(--signal);font-weight:500}
.svcnav a:hover{border-color:var(--signal);color:var(--signal);transform:translateY(-2px)}

/* ── service block ────────────────────────────────── */
.svcblock{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,4vw,64px);align-items:start}
.svcblock .stagemark{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--signal);display:block;margin-bottom:16px}
.svcblock h2{margin-bottom:18px}
.svcblock .lede+.lede{margin-top:16px}
.svcblock .panel{border:1px solid var(--pline);background:#fff;border-radius:16px;padding:clamp(24px,3vw,36px)}
.night .svcblock .panel{background:var(--night-2);border-color:var(--nline)}
.svcblock .panel h3{margin-bottom:4px}
.svcblock .panel ul{list-style:none;margin-top:16px;font-size:14.6px}
.svcblock .panel li{padding:10px 0 10px 20px;position:relative;border-top:1px solid var(--paper-2);color:var(--ink-2)}
.night .svcblock .panel li{border-top-color:var(--nline);color:var(--nsoft)}
.svcblock .panel li::before{content:'';position:absolute;left:0;top:18px;width:8px;height:1.5px;background:var(--signal)}
@media(max-width:900px){.svcblock{grid-template-columns:1fr}}

/* ── faq ──────────────────────────────────────────── */
.faq{border-top:1px solid var(--pline)}
.night .faq{border-top-color:var(--nline)}
.faq details{border-bottom:1px solid var(--pline)}
.night .faq details{border-bottom-color:var(--nline)}
.faq summary{padding:22px 0;cursor:pointer;font-family:var(--body);font-weight:700;font-size:18px;
  list-style:none;display:flex;justify-content:space-between;gap:22px;align-items:center;
  transition:color .25s var(--e);letter-spacing:-.015em}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:var(--signal)}
.faq summary::after{content:'+';font-family:var(--mono);color:var(--signal);font-size:21px;
  transition:transform .35s var(--e);flex:none;line-height:1}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 0 24px;color:var(--psoft);font-size:15.4px;max-width:82ch;line-height:1.62}
.night .faq details p{color:var(--nsoft)}

/* ── open roles ───────────────────────────────────── */
.roles{border-top:1px solid var(--pline)}
.night .roles{border-top-color:var(--nline)}
.rolerow{display:grid;grid-template-columns:1.15fr 1fr auto;gap:clamp(16px,3vw,40px);align-items:center;
  padding:26px 0;border-bottom:1px solid var(--pline);transition:padding-left .4s var(--e)}
.rolerow:hover{padding-left:12px}
.rolerow h3{margin-bottom:8px}
.rolerow .meta{font-family:var(--mono);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--signal)}
.rolerow p{font-size:14.8px;color:var(--psoft);max-width:56ch}
@media(max-width:900px){.rolerow{grid-template-columns:1fr;gap:10px}.rolerow .btn{justify-self:start}}

/* ── life gallery ─────────────────────────────────── */
.gal{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.gal figure{border-radius:16px;overflow:hidden;position:relative;background:var(--night-2);margin:0}
.gal img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;transition:transform .9s var(--e)}
.gal figure:hover img{transform:scale(1.04)}
.gal figcaption{position:absolute;left:0;right:0;bottom:0;padding:16px;
  background:linear-gradient(transparent,rgba(18,16,14,.9));font-family:var(--mono);font-size:10px;
  letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.85)}
@media(max-width:900px){.gal{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.gal{grid-template-columns:1fr}}

/* ── big typographic statement ────────────────────── */
.statement{text-align:center;padding-block:clamp(56px,7vw,110px)}
.statement .quote{font-size:clamp(28px,5.6vw,78px);line-height:1.02}
.statement .quote em{font-style:normal;color:var(--signal)}
.statement .lede{margin:26px auto 0}
.statement .cta{justify-content:center}

/* ── forms ────────────────────────────────────────── */
form{display:grid;gap:16px}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
label{font-family:var(--mono);font-size:10px;letter-spacing:.15em;color:var(--pdim);
  text-transform:uppercase;display:block;margin-bottom:9px}
.night label{color:var(--ndim)}
input,select,textarea{width:100%;background:var(--paper);border:1px solid var(--pline);color:var(--ink);
  padding:14px 16px;border-radius:8px;font-family:var(--body);font-size:15.5px;
  transition:border-color .25s var(--e),background .25s var(--e)}
.night input,.night select,.night textarea{background:var(--night);border-color:var(--nline);color:#fff}
input:focus,select:focus,textarea:focus{border-color:var(--signal);outline:none;background:#fff}
.night input:focus,.night select:focus,.night textarea:focus{background:var(--night-2)}
input::placeholder,textarea::placeholder{color:#A79C89}
textarea{resize:vertical;min-height:124px;line-height:1.55}
input[type=file]{padding:12px;font-family:var(--mono);font-size:12.5px;color:var(--psoft);cursor:pointer}
select{appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23F2661C' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 16px center;padding-right:42px}
button[type=submit]{background:var(--signal);color:#fff;border:none;padding:16px;font-family:var(--body);
  font-weight:700;font-size:15px;border-radius:999px;cursor:pointer;transition:.3s var(--e);justify-self:start;
  padding-inline:34px}
button[type=submit]:hover{background:var(--signal-2);transform:translateY(-2px);
  box-shadow:0 14px 34px rgba(242,102,28,.3)}
.fnote{font-size:13px;color:var(--pdim)}
.night .fnote{color:var(--ndim)}
@media(max-width:700px){.f2{grid-template-columns:1fr}}

/* ── leadership ───────────────────────────────────── */
.leader{display:grid;grid-template-columns:300px 1fr;gap:clamp(26px,4vw,56px);align-items:start;
  padding:clamp(28px,4vw,48px) 0;border-bottom:1px solid var(--nline)}
.day .leader{border-bottom-color:var(--pline)}
.leader:last-child{border-bottom:none}
.portrait{aspect-ratio:4/5;border:1px solid var(--nline);border-radius:16px;overflow:hidden;position:relative;
  display:grid;place-items:center;background:linear-gradient(150deg,var(--night-3),var(--night-2))}
.day .portrait{border-color:var(--pline);background:linear-gradient(150deg,var(--paper-2),var(--paper-3))}
.portrait img{width:100%;height:100%;object-fit:cover}
.portrait .initials{font-family:var(--disp);font-weight:400;font-size:clamp(38px,4.4vw,62px);
  letter-spacing:.05em;color:var(--oak);line-height:1}
.portrait::after{content:attr(data-note);position:absolute;bottom:12px;left:0;right:0;text-align:center;
  font-family:var(--mono);font-size:8.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ndim)}
.day .portrait::after{color:var(--pdim)}
.leader .who h3{font-size:clamp(22px,2.6vw,30px);font-family:var(--disp);font-weight:400;
  text-transform:uppercase;letter-spacing:.014em;line-height:1}
.leader .role{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--signal);margin-top:12px}
.leader blockquote{margin:22px 0 0;font-size:clamp(16px,1.55vw,18.5px);line-height:1.66;color:var(--nsoft);
  border-left:2px solid var(--oak-dim);padding-left:clamp(18px,2vw,26px)}
.day .leader blockquote{color:var(--psoft)}
@media(max-width:900px){.leader{grid-template-columns:1fr}.portrait{max-width:220px}}

/* ── manager grid ─────────────────────────────────── */
.mgr{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.mgr .card{text-align:left}
.mgr .portrait{aspect-ratio:1;border-radius:14px;margin-bottom:16px}
.mgr .portrait .initials{font-size:clamp(26px,2.6vw,36px)}
.mgr h3{font-size:18px}
.mgr .role{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--signal);margin-top:8px}
@media(max-width:900px){.mgr{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.mgr{grid-template-columns:1fr}}

/* ── CEO message ──────────────────────────────────── */
.ceomsg{display:grid;grid-template-columns:290px 1fr;gap:clamp(28px,4vw,60px);align-items:start}
.ceomsg .body p{font-size:clamp(16px,1.55vw,18.5px);line-height:1.68;color:var(--psoft)}
.night .ceomsg .body p{color:var(--nsoft)}
.ceomsg .body p+p{margin-top:20px}
.ceomsg .sign{margin-top:30px;padding-top:22px;border-top:1px solid var(--pline)}
.night .ceomsg .sign{border-top-color:var(--nline)}
.ceomsg .sign b{display:block;font-family:var(--disp);font-weight:400;text-transform:uppercase;
  font-size:clamp(19px,2.1vw,25px);letter-spacing:.014em;line-height:1}
.ceomsg .sign span{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.15em;
  text-transform:uppercase;color:var(--signal);margin-top:11px}
.ceomsg .sign em{display:block;font-style:normal;font-family:var(--mono);font-size:9.5px;
  letter-spacing:.19em;text-transform:uppercase;color:var(--pdim);margin-top:8px}
.night .ceomsg .sign em{color:var(--ndim)}
@media(max-width:900px){.ceomsg{grid-template-columns:1fr}.ceomsg .portrait{max-width:220px}}

/* ── deck video loops ─────────────────────────────── */
.decks{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.vidshot{position:relative;border-radius:16px;overflow:hidden;background:var(--night-2);
  border:1px solid var(--nline)}
.day .vidshot{border-color:var(--pline)}
.vidshot video{width:100%;height:100%;object-fit:cover;aspect-ratio:16/9;display:block}
.vidshot figcaption{position:absolute;left:0;right:0;bottom:0;padding:18px;
  background:linear-gradient(transparent,rgba(18,16,14,.92));font-family:var(--mono);font-size:10.5px;
  letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.88)}
.vidshot figcaption b{color:var(--oak-2);font-weight:500}
.vidshot .live-dot{position:absolute;top:16px;left:16px;display:inline-flex;align-items:center;gap:8px;
  background:rgba(18,16,14,.72);backdrop-filter:blur(8px);border:1px solid var(--nline-2);
  border-radius:999px;padding:7px 14px;font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;
  text-transform:uppercase;color:#fff}
@media(max-width:900px){.decks{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.vidshot video{display:none}
  .vidshot{background-size:cover;background-position:center;aspect-ratio:16/9}}

/* ── office cards with maps ───────────────────────── */
.offices{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.officecard{border:1px solid var(--pline);background:#fff;border-radius:16px;overflow:hidden;
  transition:transform .45s var(--e),box-shadow .45s var(--e)}
.night .officecard{background:var(--night-2);border-color:var(--nline)}
.officecard:hover{transform:translateY(-4px);box-shadow:0 22px 50px rgba(20,17,9,.12)}
.officecard .map{position:relative;aspect-ratio:16/9;border-bottom:1px solid var(--pline);
  background:var(--night-2);display:grid;place-items:center;overflow:hidden}
.night .officecard .map{border-bottom-color:var(--nline)}
/* designed fallback — visible whenever the embed can't load */
.officecard .map::before{content:'';position:absolute;inset:0;opacity:.5;
  background-image:linear-gradient(var(--nline) 1px,transparent 1px),linear-gradient(90deg,var(--nline) 1px,transparent 1px);
  background-size:34px 34px}
.officecard .map .fallback{position:relative;z-index:1;text-align:center;padding:20px;display:block;
  transition:transform .4s var(--e)}
.officecard:hover .map .fallback{transform:translateY(-3px)}
.officecard .map .fallback em{display:inline-block;font-style:normal;font-family:var(--mono);font-size:10px;
  letter-spacing:.15em;text-transform:uppercase;color:var(--signal);margin-top:16px;
  border:1px solid var(--nline-2);border-radius:999px;padding:8px 16px;transition:.3s var(--e)}
.officecard .map .fallback:hover em{border-color:var(--signal);background:rgba(242,102,28,.1)}
/* the live map sits on top; if it can't load, the panel behind shows instead */
.officecard .map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;
  z-index:2;filter:grayscale(.28) contrast(1.04)}
.officecard .map .fallback svg{width:42px;color:var(--signal);margin:0 auto 16px}
.officecard .map .fallback b{display:block;font-family:var(--disp);font-weight:400;text-transform:uppercase;
  font-size:clamp(20px,2.2vw,26px);letter-spacing:.02em;color:#fff}
.officecard .map .fallback span{display:block;font-family:var(--mono);font-size:9.5px;letter-spacing:.17em;
  text-transform:uppercase;color:var(--ndim);margin-top:9px}


.officecard .body{padding:clamp(22px,2.6vw,32px)}
.officecard .flag{font-family:var(--mono);font-size:10px;letter-spacing:.19em;text-transform:uppercase;
  color:var(--signal);margin-bottom:12px;display:block}
.officecard h3{font-size:21px;margin-bottom:12px}
.officecard address{font-style:normal;font-size:15.4px;line-height:1.6;color:var(--psoft)}
.night .officecard address{color:var(--nsoft)}
.officecard .lines{margin-top:18px;border-top:1px solid var(--paper-2);padding-top:16px;display:grid;gap:9px}
.night .officecard .lines{border-top-color:var(--nline)}
.officecard .lines a{display:flex;align-items:center;gap:11px;font-size:15px;color:var(--ink-2)}
.night .officecard .lines a{color:var(--nsoft)}
.officecard .lines a:hover{color:var(--signal)}
.officecard .lines span{font-family:var(--mono);font-size:9.5px;letter-spacing:.15em;text-transform:uppercase;
  color:var(--pdim);min-width:52px}
.night .officecard .lines span{color:var(--ndim)}
@media(max-width:900px){.offices{grid-template-columns:1fr}}

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

/* anchored targets must clear the sticky header when linked to */
[id]{scroll-margin-top:104px}

/* ── responsive ───────────────────────────────────── */
@media(max-width:1240px){
  .flow{grid-template-columns:repeat(2,1fr);gap:14px}
  .flow>.c{border-radius:16px!important;margin-right:0}
  .flow>.c::before{display:none}
}
@media(max-width:1080px){.fg{grid-template-columns:1fr 1fr}.g5,.g4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){
  .menu,.nav>.btn{display:none}
  .burger{display:block}
  .menu.open{display:block;position:fixed;top:76px;left:0;right:0;bottom:0;background:var(--night);
    padding:18px var(--pad);z-index:220;overflow-y:auto;color:#fff}
  .menu.open a{padding:17px 0;font-size:16px;border-bottom:1px solid var(--nline);opacity:.9}
  .g2,.g3,.split,.wallq,.vm,.vhero{grid-template-columns:1fr}
  .mile>div{grid-template-columns:1fr;gap:6px}
  .figs,.figs.five{grid-template-columns:repeat(2,1fr);gap:22px 0}
  .fig{border-left:none;padding-left:0}
  .fig:nth-child(2),.fig:nth-child(4){border-left:1px solid var(--nline);padding-left:20px}
  .day .fig:nth-child(2),.day .fig:nth-child(4){border-left-color:var(--pline)}
  .step{grid-template-columns:1fr;gap:8px}
}
@media(max-width:600px){
  .figs,.figs.five,.g5,.g4,.fg,.flow{grid-template-columns:1fr}
  .fig{border-left:none!important;padding-left:0!important}
  .wordmark{gap:12px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  html{scroll-behavior:auto}.rv{opacity:1;transform:none}.mask .ln>span{transform:none}
}

/* ═══════════════════════════════════════════════════════════
   MOTION LAYER — smooth scroll, overlay menu, pinned pipeline
   ═══════════════════════════════════════════════════════════ */
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}

/* ── cursor bubble ────────────────────────────────── */
#bub{position:fixed;top:0;left:0;z-index:190;pointer-events:none;display:grid;place-items:center;
  width:96px;height:96px;border-radius:50%;background:var(--signal);color:#fff;
  font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;text-align:center;
  transform:translate(-50%,-50%) scale(0);transition:transform .4s var(--e);will-change:transform}
#bub.on{transform:translate(-50%,-50%) scale(1)}

/* ── full-screen menu ─────────────────────────────── */
#ovl{position:fixed;inset:0;z-index:210;pointer-events:none;background:rgba(8,7,6,0);
  backdrop-filter:blur(0px);transition:background .5s var(--e),backdrop-filter .5s var(--e)}
#ovl.open{pointer-events:auto;background:rgba(8,7,6,.55);backdrop-filter:blur(6px)}
.ovl-panel{position:absolute;top:0;right:0;bottom:0;width:min(430px,92vw);background:var(--night);
  border-left:1px solid var(--nline);transform:translateX(101%);transition:transform .6s var(--e);
  display:flex;flex-direction:column;justify-content:center;padding:88px clamp(26px,4vw,48px) 34px;overflow-y:auto}
#ovl.open .ovl-panel{transform:none}
.ovl-in{display:flex;flex-direction:column;gap:30px}
.ovl-nav{list-style:none;display:grid;gap:0}
.ovl-nav li{border-bottom:1px solid var(--nline)}
.ovl-nav a{font-family:var(--body);font-weight:700;font-size:17px;letter-spacing:-.01em;color:#fff;
  display:flex;justify-content:space-between;align-items:center;padding:15px 0;
  opacity:0;transform:translateX(22px);transition:opacity .5s var(--e),transform .5s var(--e),color .25s}
.ovl-nav a::after{content:'→';color:var(--signal);opacity:0;transform:translateX(-6px);transition:.3s var(--e)}
.ovl-nav a:hover::after{opacity:1;transform:none}
#ovl.open .ovl-nav a{opacity:1;transform:none}
.ovl-nav li:nth-child(1) a{transition-delay:.18s}.ovl-nav li:nth-child(2) a{transition-delay:.24s}
.ovl-nav li:nth-child(3) a{transition-delay:.30s}.ovl-nav li:nth-child(4) a{transition-delay:.36s}
.ovl-nav li:nth-child(5) a{transition-delay:.42s}.ovl-nav li:nth-child(6) a{transition-delay:.48s}
.ovl-nav li:nth-child(7) a{transition-delay:.54s}
.ovl-nav a:hover{color:var(--signal)}
.ovl-foot{display:grid;gap:18px;padding-top:6px;
  opacity:0;transform:translateY(14px);transition:.55s var(--e) .5s}
#ovl.open .ovl-foot{opacity:1;transform:none}
.ovl-foot div .lbl{color:var(--signal);margin-bottom:8px}
.ovl-foot a{color:var(--nsoft);font-size:14.5px}
.ovl-foot .lbl{font-size:9.5px}
.ovl-foot a:hover{color:#fff}
.menutoggle{display:inline-flex;align-items:center;gap:10px;background:none;border:1px solid currentColor;
  color:inherit;padding:11px 18px;border-radius:999px;cursor:pointer;font-family:var(--mono);
  font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;transition:.3s var(--e)}
.menutoggle:hover{border-color:var(--signal);color:var(--signal)}
#ovl .menutoggle{position:absolute;top:22px;right:clamp(26px,4vw,48px);border-color:rgba(255,255,255,.3);color:#fff;z-index:4}

/* ── pinned pipeline ──────────────────────────────── */
.pinwrap{position:relative;padding:0}
.pinstage{position:sticky;top:0;height:100vh;display:flex;align-items:center;overflow:hidden;padding-top:76px}
.railmask{overflow:hidden;margin-top:clamp(24px,3vw,44px);perspective:1200px;perspective-origin:50% 50%}
.rail{display:flex;gap:20px;width:max-content;will-change:transform;transform-style:preserve-3d}
.rail>.c{transform-style:preserve-3d;will-change:transform,opacity;backface-visibility:hidden}
.rail>.c{width:clamp(280px,25vw,400px);flex:none;border-radius:16px;margin:0;overflow:visible;position:relative}
.rail>.c::before{content:'';position:absolute;right:-13px;top:50%;width:6px;height:6px;border-top:1.5px solid var(--oak);
  border-right:1.5px solid var(--oak);transform:translateY(-50%) rotate(45deg);transition:border-color .3s var(--e)}
.rail>.c:last-child::before{display:none}
.rail>.c:hover::before{border-color:var(--signal)}
.pinbar{height:2px;background:var(--pline);margin-top:clamp(22px,3vw,40px);position:relative;overflow:hidden}
.pinbar span{position:absolute;inset:0;background:var(--signal);transform-origin:left;transform:scaleX(0)}
.pincount{display:flex;justify-content:space-between;margin-top:12px;font-family:var(--mono);
  font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--pdim)}
.pincount b{color:var(--signal);font-weight:500}

@media(max-width:900px){
  .pinwrap{height:auto!important;padding:clamp(60px,7.5vw,116px) 0}
  .pinstage{position:static;height:auto;display:block;overflow:visible}
  .railmask{overflow:visible}
  .rail{display:grid;grid-template-columns:1fr;gap:14px;width:auto;transform:none!important}
  .rail>.c{width:auto}
  .rail>.c::before{display:none}
  .pinbar,.pincount{display:none}
  #bub{display:none}
}
@media(prefers-reduced-motion:reduce){
  #ovl{transition:none}
  .pinwrap{height:auto!important;padding:clamp(60px,7.5vw,116px) 0}
  .pinstage{position:static;height:auto;display:block}
  .rail{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));width:auto;transform:none!important}
  .rail>.c{width:auto}
}
