/* ============================================================================
   Substrate — "Understorey"
   Built in beew.studio's language: a cool-dark world with light interruptions,
   12px inset rounded frames, a corner-anchored hero with a real void, a
   floating proof card, and exactly one saturated block at depth.
   Translated to Substrate's earth: green-black ground, warm cream light zones,
   and vivid amber where beew runs electric blue.
   ========================================================================== */

:root {
  /* ground */
  --ink:        #080d0a;   /* page ink, cool-warm near-black */
  --ink-2:      #111a15;   /* dark panel */
  --ink-3:      #0d1410;   /* dark panel, second */
  --rule:       #24302a;   /* hairline on dark */
  --rule-soft:  #18211c;

  /* light interruptions, warming and lifting as the page descends */
  --paper-warm: #e5ded0;
  --paper-cool: #e2e4dd;
  --paper:      #efe9dd;
  --paper-hi:   #f5f1e7;
  --card:       #faf6ee;   /* the "white" card */

  /* the one loud thing */
  --amber:      #e8971d;
  --amber-lift: #f3ae3f;

  /* three text colours, and no others */
  --on-dark:    #f7f2e7;
  --on-light:   #080d0a;
  --muted:      #a7b3a9;
  --muted-ink:  #55635a;

  --gut: 64px;
  --r-sm: 8px; --r: 10px; --r-md: 12px; --r-lg: 24px; --r-xl: 48px; --pill: 999px;
  --ease: cubic-bezier(.2,0,0,1);

  color-scheme: dark;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--ink);
  color: var(--on-dark);
  font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  font-size: 16px; line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
img, svg, canvas { display: block; max-width: 100%; }
img { height: auto; }
a { color: inherit; text-decoration: none; }
ul, ol { margin: 0; padding: 0; list-style: none; }
p, h1, h2, h3, figure { margin: 0; }
button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; }
::selection { background: var(--amber); color: var(--ink); }
:focus-visible { outline: 2px solid var(--amber); outline-offset: 3px; border-radius: 4px; }

.sr, .skip {
  position: absolute; width: 1px; height: 1px; overflow: hidden;
  clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap;
}
.skip:focus {
  position: fixed; top: 12px; left: 12px; z-index: 200; width: auto; height: auto;
  clip: auto; clip-path: none; padding: 10px 16px; border-radius: var(--pill);
  background: var(--card); color: var(--on-light); font-weight: 600;
}

.wrap { width: 100%; max-width: 1440px; margin-inline: auto; padding-inline: var(--gut); }

/* ── type ─────────────────────────────────────────────────────────────── */
.h1 {
  font-family: 'Manrope', 'Segoe UI', system-ui, sans-serif;
  font-weight: 700; font-size: 52px; line-height: 1.2; letter-spacing: -.04em;
}
.h2 {
  font-family: 'Manrope', 'Segoe UI', system-ui, sans-serif;
  font-weight: 700; font-size: 42px; line-height: 1.2; letter-spacing: -.04em;
}
.h3, .panel-h, .card-plate h3 {
  font-family: 'Manrope', 'Segoe UI', system-ui, sans-serif;
  font-weight: 600; font-size: 36px; line-height: 1.2; letter-spacing: -.035em;
}
.lead { font-size: 18px; line-height: 1.5; color: var(--muted); max-width: 58ch; }
.eyebrow {
  font-family: 'DM Sans', 'Inter', system-ui, sans-serif;
  font-weight: 500; font-size: 14px; line-height: 1.5; letter-spacing: .1em;
  text-transform: uppercase; color: var(--muted);
  display: flex; align-items: center; gap: 10px;
}
.eb-glyph { color: var(--amber); font-size: 11px; }

/* ── pills, chips, round buttons ──────────────────────────────────────── */
.pill {
  display: inline-flex; align-items: center; gap: 10px;
  height: 42px; padding: 0 24px; border-radius: var(--pill);
  font-size: 14px; font-weight: 500; letter-spacing: .03em;
  text-transform: uppercase; white-space: nowrap;
  transition: transform .22s var(--ease), background-color .22s var(--ease),
              border-color .22s var(--ease), color .22s var(--ease);
}
.pill .chev, .pill .arrow { transition: transform .22s var(--ease); }
.pill:hover .chev, .pill:hover .arrow { transform: translateX(4px); }

.pill--ghost { border: 1px solid rgba(247,242,231,.28); color: var(--on-dark); }
.pill--ghost:hover { border-color: var(--on-dark); background: rgba(247,242,231,.06); }
.pill--ghost .chev { color: var(--amber); }

.pill--primary {
  position: relative; overflow: hidden; height: 56px; padding: 0 28px;
  border-radius: var(--r-xl); background: #0b1310; color: var(--on-dark);
  border: 1px solid rgba(247,242,231,.14);
}
.pill--primary > span { position: relative; z-index: 2; }
.pill--primary .sheen { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 1; }
.pill--primary:hover { transform: translateY(-2px); }

.pill--bare { height: 56px; color: var(--on-dark); padding: 0 8px; opacity: .82; }
.pill--bare:hover { opacity: 1; transform: translateX(3px); }

.pill--onblock { border: 1px solid rgba(8,13,10,.5); color: var(--on-light); height: 46px; }
.pill--onblock:hover { background: var(--ink); color: var(--on-dark); border-color: var(--ink); }

.chip {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 12.5px; font-weight: 500; letter-spacing: .06em; text-transform: uppercase;
  padding: 6px 12px; border-radius: var(--r-sm);
}
.round {
  width: 42px; height: 42px; border-radius: var(--pill);
  display: inline-grid; place-items: center; font-size: 18px;
  border: 1px solid rgba(8,13,10,.24); color: var(--on-light);
  transition: transform .22s var(--ease), background-color .22s var(--ease), color .22s var(--ease);
}
.round:hover { background: var(--ink); color: var(--on-dark); transform: translateY(-2px); }
.round[disabled] { opacity: .3; pointer-events: none; }

/* ── header ───────────────────────────────────────────────────────────── */
.head {
  position: fixed; inset: 0 0 auto; z-index: 90; height: 68px;
  background: var(--ink);
  transition: transform .32s var(--ease), background-color .3s var(--ease);
  will-change: transform;
}
.head[data-state="hidden"] { transform: translateY(-100%); }
.head[data-state="lifted"] { background: rgba(8,13,10,.97); box-shadow: 0 1px 0 var(--rule-soft); }
.head-in {
  height: 68px; max-width: 1440px; margin-inline: auto; padding-inline: var(--gut);
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
}
.mark {
  display: inline-flex; align-items: center; gap: 10px;
  font-family: 'Manrope', system-ui, sans-serif; font-weight: 800;
  font-size: 22px; letter-spacing: -.04em;
}
.mark-glyph { width: 22px; height: 22px; color: var(--amber); flex: none; }

.rail {
  position: relative; display: flex; align-items: center; gap: 4px;
  height: 42px; padding: 0 6px; border-radius: var(--r-md);
  border: 1px solid var(--rule);
}
.rail a {
  position: relative; z-index: 2; padding: 0 16px; height: 30px;
  display: inline-flex; align-items: center;
  font-size: 14px; font-weight: 500; letter-spacing: .01em; color: var(--on-dark);
  transition: color .2s var(--ease);
}
.rail-puck {
  position: absolute; z-index: 1; top: 5px; left: 0; height: 30px; width: 0;
  border-radius: var(--r-sm); background: rgba(247,242,231,.09);
  opacity: 0; transition: transform .28s var(--ease), width .28s var(--ease), opacity .2s var(--ease);
}
.rail:hover .rail-puck { opacity: 1; }

.burger { display: none; width: 42px; height: 42px; place-items: center; }
.burger-bars { display: block; width: 22px; }
.burger-bars i {
  display: block; height: 2px; background: var(--on-dark); border-radius: 2px;
  transition: transform .26s var(--ease), opacity .2s var(--ease);
}
.burger-bars i + i { margin-top: 6px; }
.burger[aria-expanded="true"] i:first-child { transform: translateY(4px) rotate(45deg); }
.burger[aria-expanded="true"] i:last-child { transform: translateY(-4px) rotate(-45deg); }

.sheet {
  position: fixed; inset: 68px 0 auto; z-index: 89; background: var(--ink);
  padding: 24px var(--gut) 40px; border-bottom: 1px solid var(--rule);
}
.sheet[hidden] { display: none; }
.sheet-nav { display: grid; gap: 4px; margin-bottom: 20px; }
.sheet-nav a {
  font-family: 'Manrope', system-ui, sans-serif; font-weight: 700;
  font-size: 32px; letter-spacing: -.035em; padding: 8px 0;
  border-bottom: 1px solid var(--rule-soft);
}

/* ── hero ─────────────────────────────────────────────────────────────── */
.hero { padding-top: 68px; }
.hero-panel {
  position: relative; overflow: hidden;
  margin: 0 12px; border-radius: var(--r-lg);
  height: clamp(600px, calc(100vh - 152px), 820px);
  background: #061009;
  transform: scale(.988); opacity: 0;
  transition: transform .8s var(--ease), opacity .6s var(--ease);
}
.is-ready .hero-panel { transform: none; opacity: 1; }
.hero-canvas { position: absolute; inset: 0; width: 100%; height: 100%; }
.grain {
  position: absolute; inset: 0; pointer-events: none; opacity: .5;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/><feColorMatrix type='saturate' values='0'/></filter><rect width='160' height='160' filter='url(%23n)' opacity='.34'/></svg>");
}
.hero-in {
  position: relative; z-index: 2; height: 100%;
  padding: 96px var(--gut) 64px; display: flex; flex-direction: column;
}

.tags { display: flex; flex-wrap: wrap; gap: 8px; }
.tags li {
  height: 34px; padding: 0 16px; border-radius: var(--pill);
  border: 1px solid rgba(247,242,231,.34); display: inline-flex; align-items: center;
  font-size: 13.5px; font-weight: 500; letter-spacing: .03em; text-transform: uppercase;
  transition: border-color .22s var(--ease), background-color .22s var(--ease);
}
.tags li:hover { border-color: var(--on-dark); background: rgba(247,242,231,.08); }
.tags-more { width: 34px; padding: 0 !important; justify-content: center; }

.h1 { margin-top: 44px; max-width: 15ch; }
.ln { display: block; overflow: hidden; }
.ln > span { display: block; }
.hero-ctas { display: flex; align-items: center; gap: 16px; margin-top: 40px; }
.hero-foot {
  margin-top: auto; display: flex; align-items: flex-end;
  justify-content: space-between; gap: 40px;
}
.hero-lead { font-size: 18px; line-height: 1.45; max-width: 470px; font-weight: 500; }

/* the floating proof card — beew's best cheap idea */
.proof {
  flex: none; width: 380px; padding: 4px; border-radius: var(--r-md);
  background: var(--card); color: var(--on-light);
  display: flex; gap: 16px; align-items: stretch;
  box-shadow: 0 20px 50px rgba(0,0,0,.34);
  transition: transform .24s var(--ease), box-shadow .24s var(--ease);
}
.proof:hover { transform: translateY(-4px); box-shadow: 0 26px 60px rgba(0,0,0,.42); }
.proof-shot { position: relative; flex: none; width: 116px; height: 116px; border-radius: var(--r-sm); overflow: hidden; }
.proof-shot img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease); }
.proof:hover .proof-shot img { transform: scale(1.05); }
.proof-fig {
  position: absolute; left: 8px; bottom: 8px;
  font-family: 'Manrope', system-ui, sans-serif; font-weight: 800; font-size: 17px;
  letter-spacing: -.03em; color: var(--card);
  text-shadow: 0 1px 10px rgba(0,0,0,.7);
}
.proof-body { padding: 12px 12px 12px 0; display: grid; align-content: center; gap: 6px; }
.proof-body b { font-size: 14.5px; font-weight: 600; letter-spacing: -.01em; }
.proof-body > span { font-size: 14px; line-height: 1.5; color: var(--muted-ink); }
.proof-body em {
  display: block; margin-top: 4px; font-style: normal; font-size: 11.5px; font-weight: 600; letter-spacing: .08em;
  text-transform: uppercase; color: var(--muted-ink);
}

/* ── evidence ticker (beew's client marquee, carrying findings) ───────── */
.ticker {
  margin: 12px 12px 0; height: 48px; border-radius: var(--r);
  border: 1px solid var(--rule-soft); overflow: hidden; display: flex; align-items: center;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 9%, #000 91%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 9%, #000 91%, transparent);
}
.ticker-track { display: flex; gap: 0; white-space: nowrap; will-change: transform; animation: drift linear infinite; }
@keyframes drift { from { transform: translate3d(0,0,0); } to { transform: translate3d(-50%,0,0); } }
.ticker-track span {
  display: inline-flex; align-items: center; gap: 10px; padding: 0 34px;
  font-size: 13px; font-weight: 500; letter-spacing: .06em; text-transform: uppercase;
}
.ticker-track b { font-weight: 600; color: var(--on-dark); }
.ticker-track i { font-style: normal; color: var(--muted); }
.ticker-track u { text-decoration: none; color: var(--amber); }

/* ── work: the dealt deck ─────────────────────────────────────────────── */
.work { position: relative; padding-top: 120px; }
.work-head {
  display: grid; grid-template-columns: 1fr auto; align-items: end;
  gap: 20px 40px; padding-bottom: 56px;
}
.work-head .eyebrow { grid-column: 1 / -1; margin-bottom: 18px; }
.work-head .h2 { max-width: 20ch; }

.stack { position: relative; }
.panel { position: sticky; top: 0; height: 640px; overflow: hidden; }
.panel-in {
  position: relative; height: 100%; max-width: 1440px; margin-inline: auto;
  padding: 60px 0 0 88px; display: grid; grid-template-columns: minmax(320px, 33%) 1fr;
  gap: 40px;
}
.panel-in::before { content: ""; position: absolute; left: 64px; top: 0; bottom: 0; width: 1px; background: var(--hair); }

.panel--warm { background: var(--paper-warm); color: var(--on-light); --hair: rgba(8,13,10,.16); }
.panel--cool { background: var(--paper-cool); color: var(--on-light); --hair: rgba(8,13,10,.16); }
.panel--dark { background: var(--ink-2); color: var(--on-dark); --hair: var(--rule); }

.panel-l { display: flex; flex-direction: column; align-items: flex-start; }
.panel-client {
  font-size: 14px; font-weight: 500; letter-spacing: .06em; text-transform: uppercase;
}
.panel-chips { margin-top: 12px; display: flex; flex-wrap: wrap; gap: 6px; }
.chip--sector, .chip--rel { background: rgba(8,13,10,.07); color: inherit; }
.chip--rel { color: var(--muted-ink); }
.panel--dark .chip--sector, .panel--dark .chip--rel { background: rgba(247,242,231,.09); }
.panel--dark .chip--rel { color: var(--muted); }
.panel-h { margin-top: 20px; max-width: 15ch; }
.chip--result {
  margin-top: 22px; padding: 9px 14px 9px 12px; border-radius: var(--r-sm);
  background: var(--ink); color: var(--on-dark);
  border-left: 3px solid var(--amber); letter-spacing: .05em;
}
.chip--result em {
  font-style: normal; color: var(--muted); font-size: 11px; letter-spacing: .09em;
}
.panel--dark .chip--result { background: var(--card); color: var(--on-light); }
.panel--dark .chip--result em { color: var(--muted-ink); }
.panel-note {
  margin-top: 24px; max-width: 42ch; font-size: 15.5px; line-height: 1.55;
  color: var(--muted-ink);
}
.panel--dark .panel-note { color: var(--muted); }
.panel-services {
  margin-top: auto; padding-bottom: 56px;
  font-size: 12px; font-weight: 500; letter-spacing: .09em; text-transform: uppercase;
  color: var(--muted-ink);
}
.panel--dark .panel-services { color: var(--muted); }

.panel-r { position: relative; }
.plane {
  position: absolute; border-radius: var(--r-md);
  transition: transform .5s var(--ease);
}
.plane--photo { left: 190px; top: 0; width: 860px; overflow: hidden; box-shadow: 0 30px 70px rgba(0,0,0,.28); }
.plane--photo img { width: 100%; height: 468px; object-fit: cover; }
.plane--sheet {
  left: 0; top: 148px; width: 520px; padding: 22px 24px 26px;
  background: var(--card); color: var(--on-light);
  box-shadow: 0 30px 70px rgba(0,0,0,.3);
}
.panel--dark .plane--sheet { background: var(--ink-3); color: var(--on-dark); border: 1px solid var(--rule); }
.panel:not(.panel--warm) .plane--sheet { left: 40px; top: 44px; }
/* body copy never bleeds: the slip is right-anchored inside the content column,
   the imagery layer keeps the off-edge bleed. */
.plane--slip {
  left: auto; right: var(--gut); top: 392px;
  width: min(540px, calc(100% - var(--gut))); padding: 18px 22px;
  background: var(--ink); color: var(--on-dark); border-radius: var(--r-md);
  box-shadow: 0 24px 50px rgba(0,0,0,.34);
}
.panel--dark .plane--slip { background: var(--card); color: var(--on-light); }
.panel:hover .plane--photo { transform: translate(-6px, -4px); }
.panel:hover .plane--sheet { transform: translate(6px, -6px); }
.panel:hover .plane--slip { transform: translate(10px, -3px); }

.sheet-top {
  display: flex; justify-content: space-between; gap: 16px;
  font-size: 11.5px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase;
  color: var(--muted-ink); padding-bottom: 14px; border-bottom: 1px solid rgba(8,13,10,.14);
}
.panel--dark .sheet-top { color: var(--muted); border-bottom-color: var(--rule); }
.plate li {
  display: grid; grid-template-columns: auto 1fr; align-items: baseline; gap: 4px 14px;
  padding: 14px 0; border-bottom: 1px solid rgba(8,13,10,.1);
}
.panel--dark .plate li { border-bottom-color: var(--rule-soft); }
.plate li:last-child { border-bottom: 0; }
.plate b {
  font-family: 'Manrope', system-ui, sans-serif; font-weight: 700; font-size: 30px;
  letter-spacing: -.035em; font-variant-numeric: tabular-nums;
}
.plate span { font-size: 14px; line-height: 1.4; color: var(--muted-ink); }
.panel--dark .plate span { color: var(--muted); }
.plate em {
  grid-column: 2; font-style: normal; font-size: 11px; font-weight: 600;
  letter-spacing: .09em; text-transform: uppercase; color: var(--amber);
}
.panel--warm .plate em, .panel--cool .plate em { color: #8a6413; }
.plate--tight li { padding: 10px 0; }
.plate--tight b { font-size: 24px; }
.sheet-foot {
  margin-top: 16px; padding-top: 14px; border-top: 1px solid rgba(8,13,10,.1);
  font-size: 13px; color: var(--muted-ink);
}
.panel--dark .sheet-foot { border-top-color: var(--rule-soft); color: var(--muted); }
.sheet-foot b { font-family: 'Manrope', system-ui, sans-serif; font-size: 17px; letter-spacing: -.02em; color: inherit; }

.slip-k { font-size: 11.5px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.panel--dark .slip-k { color: var(--muted-ink); }
.slip-v { margin-top: 8px; font-size: 13.5px; line-height: 1.5; }
.slip-fan { margin-top: 14px; width: 100%; height: 62px; color: currentColor; opacity: .5; }

.ruleset { padding: 16px 0 10px; }
.ruleset-h { font-size: 13px; color: var(--muted); }
.panel--warm .ruleset-h, .panel--cool .ruleset-h { color: var(--muted-ink); }
.ruleset-h b { font-family: 'Manrope', system-ui, sans-serif; font-size: 22px; letter-spacing: -.03em; color: inherit; }
.ruleset-grid { display: grid; grid-template-columns: repeat(32, 1fr); gap: 4px; margin-top: 14px; max-width: 340px; }
.ruleset-grid i { display: block; height: 20px; border-radius: 1px; background: rgba(8,13,10,.14); }
.ruleset-grid i.on { background: var(--amber); }
.panel--dark .ruleset-grid i { background: rgba(247,242,231,.14); }

.dial { width: 100%; height: 132px; margin: 18px 0 4px; }
.dial-arc { stroke-dasharray: 346; stroke-dashoffset: 121; }
.dial-scale {
  display: flex; justify-content: space-between;
  font-size: 11.5px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--muted);
}
.panel--warm .dial-scale, .panel--cool .dial-scale { color: var(--muted-ink); }

.stack-rail {
  position: fixed; left: 24px; top: 50%; z-index: 20; transform: translateY(-50%);
  display: none; align-items: center; gap: 8px; writing-mode: vertical-rl;
  font-size: 12px; font-weight: 600; letter-spacing: .16em;
  color: var(--muted); transition: color .2s var(--ease);
}
.stack-rail.on { display: flex; }
.stack-rail.is-light { color: var(--muted-ink); }
.stack-rail b { color: var(--amber); font-weight: 700; }
.stack-rail i { display: block; width: 1px; height: 26px; background: currentColor; opacity: .5; }

/* ── the layer: staggered four-up (beew's services) ───────────────────── */
.layer { background: var(--paper); color: var(--on-light); padding: 118px 0 104px; }
.layer .eyebrow { color: var(--muted-ink); }
.layer-head { display: grid; grid-template-columns: 25% 1fr; gap: 40px; align-items: start; }
.layer-head-r { max-width: 760px; }
.layer-head .lead { margin-top: 22px; color: var(--muted-ink); font-size: 17px; }
.four {
  margin-top: 84px; padding-inline: 24px; display: grid;
  grid-template-columns: repeat(4, 1fr); gap: 10px; align-items: start;
}
.card {
  border-radius: var(--r-sm); overflow: hidden; min-height: 500px;
  display: flex; flex-direction: column;
  transition: transform .28s var(--ease), box-shadow .28s var(--ease);
}
.card:nth-child(even) { transform: translateY(-48px); }
.card:hover { transform: translateY(-4px); box-shadow: 0 24px 60px rgba(8,13,10,.16); }
.card:nth-child(even):hover { transform: translateY(-52px); box-shadow: 0 24px 60px rgba(8,13,10,.16); }
.card--paper { background: var(--card); color: var(--on-light); }
.card--amber { background: var(--amber); color: var(--on-light); }
.card--ink { background: var(--ink); color: var(--on-dark); }
.card-well { position: relative; height: 260px; overflow: hidden; }
.card-well--img img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease); }
.card:hover .card-well--img img { transform: scale(1.04); }
.card-well .art { width: 100%; height: 100%; opacity: .9; }
.card--paper .card-well .art { color: #1d3a2b; }
.card--amber .card-well .art { color: rgba(8,13,10,.72); }
.card--ink .card-well .art { color: #4e6a58; }
.card-plate { padding: 26px 24px 30px; display: grid; gap: 10px; align-content: start; }
.card-k {
  font-family: 'DM Sans', system-ui, sans-serif; font-size: 12px; font-weight: 500;
  letter-spacing: .1em; text-transform: uppercase; opacity: .62;
}
.card-plate h3 { font-size: 28px; }
.card-plate p:last-child { font-size: 15px; line-height: 1.5; opacity: .74; }

/* ── evidence + simulated pass ────────────────────────────────────────── */
.ev { background: var(--ink); padding: 112px 0 118px; }
.ev-in { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
.ev-r .h2 { margin-top: 20px; max-width: 16ch; }
.ev-r .lead { margin-top: 20px; font-size: 17px; }
.ev-figs { margin-top: 40px; display: grid; gap: 0; }
.ev-figs li { padding: 18px 0; border-top: 1px solid var(--rule); display: grid; grid-template-columns: 190px 1fr; gap: 20px; align-items: baseline; }
.ev-figs li:last-child { border-bottom: 1px solid var(--rule); }
.ev-figs b {
  font-family: 'Manrope', system-ui, sans-serif; font-weight: 700; font-size: 42px;
  letter-spacing: -.04em; font-variant-numeric: tabular-nums;
}
.ev-figs span { font-size: 15px; color: var(--muted); }
.ev-figs em {
  display: block; margin-top: 4px; font-style: normal; font-size: 11px; font-weight: 600;
  letter-spacing: .1em; text-transform: uppercase; color: var(--amber);
}
.ev-note { margin-top: 26px; font-size: 14.5px; line-height: 1.6; color: var(--muted); max-width: 54ch; }

.sim { border: 1px solid var(--rule); border-radius: var(--r-md); background: var(--ink-3); padding: 22px 24px 20px; }
.sim-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.sim-k { font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.chip--sim { background: rgba(232,151,29,.14); color: var(--amber); font-size: 11px; letter-spacing: .1em; }
.sim-stages { margin-top: 20px; display: grid; gap: 10px; }
.sim-stages li { display: grid; grid-template-columns: 92px 1fr; gap: 14px; align-items: center; font-size: 12.5px; letter-spacing: .04em; text-transform: uppercase; color: var(--muted); }
.sim-stages li.done { color: var(--on-dark); }
.sim-stages li.active { color: var(--amber); }
.sim-bar { position: relative; height: 2px; background: var(--rule); overflow: hidden; }
.sim-bar i { position: absolute; inset: 0; transform-origin: 0 50%; background: currentColor; transform: scaleX(0); transition: transform .5s linear; }
.sim-feed { margin-top: 22px; border-top: 1px solid var(--rule); }
.sim-feed li {
  display: grid; grid-template-columns: 74px 1fr auto; gap: 14px; align-items: baseline;
  padding: 9px 0; border-bottom: 1px solid var(--rule-soft);
  font-size: 12.5px; color: var(--muted);
  animation: rowin .3s var(--ease) both;
}
@keyframes rowin { from { opacity: 0; transform: translateY(-6px); } }
.sim-feed b { font-weight: 600; color: var(--muted); letter-spacing: .05em; }
.sim-feed span { color: var(--on-dark); }
.sim-feed u { text-decoration: none; font-variant-numeric: tabular-nums; color: var(--muted); }
.sim-foot { margin-top: 14px; font-size: 12px; color: var(--muted); opacity: .8; }

/* ── method: the ruled list ───────────────────────────────────────────── */
.method { background: var(--ink-2); padding: 116px 0 104px; }
.method-head { display: grid; grid-template-columns: 25% 1fr; gap: 40px; align-items: start; }
.method-head-r { max-width: 760px; }
.method-head .lead { margin-top: 22px; font-size: 17px; }
.rows { margin-top: 88px; }
.rows li { position: relative; border-top: 1px solid var(--rule); }
.rows li:last-child { border-bottom: 1px solid var(--rule); }
.rows li::after {
  content: ""; position: absolute; left: 0; right: 0; top: -1px; height: 1px;
  background: var(--amber); transform: scaleX(0); transform-origin: 0 50%;
  transition: transform .32s var(--ease);
}
.rows li:hover::after { transform: scaleX(1); }
.row-in {
  display: grid; grid-template-columns: 25% 1fr 200px 40px; gap: 24px; align-items: baseline;
  padding: 30px 0 34px;
}
.row-n { font-size: 13px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.row-n b { color: var(--amber); font-weight: 600; margin-right: 10px; }
.row-b { transition: transform .32s var(--ease); }
.rows li:hover .row-b { transform: translateX(4px); }
.row-b h3 { font-family: 'Manrope', system-ui, sans-serif; font-weight: 600; font-size: 28px; letter-spacing: -.03em; line-height: 1.2; }
.row-b p { margin-top: 10px; font-size: 15px; color: var(--muted); max-width: 56ch; }
.row-t { font-size: 13px; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.row-a { justify-self: end; font-size: 18px; color: var(--amber); transition: transform .32s var(--ease); }
.rows li:hover .row-a { transform: translateX(6px); }

/* ── team: the paged track ────────────────────────────────────────────── */
.team { background: var(--paper-hi); color: var(--on-light); padding: 116px 0 108px; }
.team-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; }
.team-head .h2 { max-width: 24ch; }
.team-pager { display: flex; gap: 8px; flex: none; }
.track-vp { margin-top: 60px; padding-left: max(24px, calc((100vw - 1440px) / 2 + 64px)); overflow: hidden; }
.track { display: flex; gap: 10px; transition: transform .5s var(--ease); }
.tcard {
  flex: none; width: 400px; min-height: 460px; border-radius: var(--r-md);
  background: var(--card); border: 1px solid rgba(8,13,10,.1); padding: 34px;
  display: flex; flex-direction: column;
}
.tcard--wide { width: 620px; padding: 4px; background: transparent; border: 0; }
.tcard-tile {
  flex: 1; border-radius: var(--r); background: var(--amber); color: var(--on-light);
  padding: 34px; display: flex; flex-direction: column; justify-content: flex-end; gap: 14px;
}
.tcard-tile-k { font-family: 'Manrope', system-ui, sans-serif; font-weight: 700; font-size: 32px; letter-spacing: -.035em; line-height: 1.2; }
.tcard-tile-b { font-size: 16px; line-height: 1.5; max-width: 40ch; }
.tcard-q { margin-top: 14px; font-size: 16px; line-height: 1.5; color: var(--muted-ink); }
.tcard-foot { margin-top: auto; padding-top: 24px; border-top: 1px solid rgba(8,13,10,.12); display: flex; align-items: center; gap: 14px; }
.tcard-av {
  width: 40px; height: 40px; border-radius: var(--pill); flex: none;
  display: grid; place-items: center; background: var(--ink); color: var(--card);
  font-size: 13px; font-weight: 600; letter-spacing: .02em;
}
.tcard-name { font-family: 'Manrope', system-ui, sans-serif; font-weight: 600; font-size: 17px; letter-spacing: -.02em; }
.tcard-role { font-size: 13.5px; color: var(--muted-ink); }
.tcard-k { font-size: 11.5px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--muted-ink); }
.tcard-h { margin-top: 14px; font-family: 'Manrope', system-ui, sans-serif; font-weight: 600; font-size: 24px; letter-spacing: -.03em; line-height: 1.25; }

/* ── the one loud block ───────────────────────────────────────────────── */
.close { background: var(--amber); color: var(--on-light); padding: 130px 0 120px; text-align: center; }
.close-h {
  font-family: 'Manrope', system-ui, sans-serif; font-weight: 700; font-size: 48px;
  line-height: 1.2; letter-spacing: -.04em; max-width: 20ch; margin-inline: auto;
}
.close-b { margin: 22px auto 0; max-width: 58ch; font-size: 17px; line-height: 1.5; }
.close .pill--onblock { margin-top: 36px; }
.close-k { margin-top: 70px; font-size: 11.5px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; opacity: .82; }
.close-marks {
  margin-top: 22px; display: flex; flex-wrap: wrap; justify-content: center; gap: 14px 48px;
}
.close-marks li { font-family: 'Manrope', system-ui, sans-serif; font-weight: 700; font-size: 18px; letter-spacing: -.02em; }

/* ── footer ───────────────────────────────────────────────────────────── */
.foot { background: var(--ink); padding-top: 96px; overflow: hidden; }
.foot h3 { font-family: 'Manrope', system-ui, sans-serif; font-weight: 600; font-size: 22px; letter-spacing: -.03em; }
.foot-band { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; padding-bottom: 56px; }
.foot-band + .foot-band { border-top: 1px solid var(--rule); padding-top: 56px; }
.foot-a { max-width: 420px; }
.foot-line { margin: 20px 0 26px; font-size: 15px; line-height: 1.55; color: var(--muted); }
.foot-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
.foot-links { margin-top: 18px; display: grid; gap: 12px; }
.foot-links a, .foot-links li { font-size: 15px; color: var(--muted); }
.foot-links a { transition: color .2s var(--ease), transform .2s var(--ease); display: inline-block; }
.foot-links a:hover { color: var(--on-dark); transform: translateX(3px); }
.chips { margin-top: 18px; display: flex; flex-wrap: wrap; gap: 8px; }
.chips li a, .chips li span {
  display: inline-flex; align-items: center; height: 32px; padding: 0 14px;
  border: 1px solid var(--rule); border-radius: var(--pill);
  font-size: 12px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; color: var(--muted);
  transition: border-color .2s var(--ease), color .2s var(--ease);
}
.chips li a:hover { border-color: var(--on-dark); color: var(--on-dark); }
.foot-band--3 { align-items: end; }
.foot-legal { justify-self: end; text-align: right; font-size: 13px; color: var(--muted); display: grid; gap: 6px; }
.wordmark {
  font-family: 'Manrope', system-ui, sans-serif; font-weight: 800; font-size: 250px;
  letter-spacing: -.05em; line-height: .8; color: #1a241e; white-space: nowrap;
  margin: 20px 0 -66px; padding-left: 40px;
  -webkit-mask-image: linear-gradient(180deg, #000 30%, transparent 96%);
  mask-image: linear-gradient(180deg, #000 30%, transparent 96%);
}

/* ── load-in choreography ─────────────────────────────────────────────── */
/* Animations, not transitions: a finished load-in must hand the element's
   transform back so hover states stay live. `backwards` fill does that. */
body:not(.is-ready) [data-in] { opacity: 0; }
body:not(.is-ready) .ln > span { transform: translateY(105%); }
.is-ready [data-in] {
  animation: rise .7s var(--ease) backwards;
  animation-delay: calc(var(--d, 0) * 1ms);
}
.is-ready .ln > span {
  animation: lift .84s var(--ease) backwards;
  animation-delay: calc(var(--d, 0) * 1ms);
}
@keyframes rise { from { opacity: 0; transform: translateY(16px); } }
@keyframes lift { from { transform: translateY(105%); } }
[data-in="1"] { --d: 220; } [data-in="2"] { --d: 300; } [data-in="3"] { --d: 370; }
[data-in="4"] { --d: 500; } [data-in="5"] { --d: 580; } [data-in="6"] { --d: 660; }

/* ── responsive ───────────────────────────────────────────────────────── */
@media (max-width: 1180px) {
  :root { --gut: 40px; }
  .h1 { font-size: 44px; }
  .h2 { font-size: 34px; }
  .panel-in { grid-template-columns: 38% 1fr; padding-left: 64px; }
  .panel-in::before { left: 40px; }
  .plane--photo { width: 520px; }
  .plane--sheet { width: 420px; left: 180px; }
  .panel:not(.panel--warm) .plane--sheet { left: 20px; }
  .plane--slip { left: auto; right: var(--gut); }
  .ev-in { gap: 48px; }
  .four { grid-template-columns: repeat(2, 1fr); gap: 10px 10px; }
  .card:nth-child(even) { transform: none; }
  .card:nth-child(even):hover { transform: translateY(-4px); }
  .wordmark { font-size: 160px; margin-bottom: -44px; }
}

@media (max-width: 900px) {
  :root { --gut: 24px; }
  .rail, .head-cta { display: none; }
  .burger { display: grid; }
  .hero-panel { margin: 0 16px; border-radius: 28px; height: auto; min-height: calc(100vh - 140px); }
  .hero-in { padding: 34px 22px 22px; }
  /* at 390 the amber bloom sits directly under the lede: a localised ground
     wash inside the radius-24 panel, not a full-panel scrim */
  .hero-in::before {
    content: ""; position: absolute; inset: auto 0 0 0; height: 64%; z-index: -1;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(6,16,9,0) 0%, rgba(6,16,9,.55) 34%, rgba(6,16,9,.86) 100%);
  }
  .h1 { font-size: 31px; letter-spacing: -.035em; margin-top: 26px; max-width: none; }
  .hero-ctas { margin-top: 28px; gap: 8px; }
  .pill--primary { height: 52px; padding: 0 22px; }
  .pill--bare { height: 52px; }
  .hero-foot { flex-direction: column; align-items: stretch; gap: 22px; margin-top: 44px; }
  .hero-lead { font-size: 16px; max-width: none; }
  .proof { width: 100%; }
  .ticker { margin: 12px 16px 0; }

  .work { padding-top: 80px; }
  .work-head { grid-template-columns: 1fr; padding-bottom: 40px; }
  .work-head-cta { justify-self: start; }
  .panel { height: auto; min-height: 0; position: relative; padding-bottom: 52px; }
  .panel-in { grid-template-columns: 1fr; padding: 44px 24px 0 44px; gap: 24px; }
  .panel-in::before { left: 24px; }
  .panel-h { font-size: 28px; max-width: none; }
  .panel-note { margin-top: 16px; }
  .panel-services { margin-top: 24px; padding-bottom: 0; }
  .panel-r { min-height: 0; margin-top: 20px; }
  .plane { position: relative; left: auto !important; top: auto !important; width: auto !important; transition: none; }
  .plane--photo { margin-right: -24px; }
  .plane--photo img { height: 210px; }
  .plane--sheet { margin: -40px -24px 0 18px; padding: 18px 20px 20px; }
  .plane--slip { display: none; }
  .panel:hover .plane--photo, .panel:hover .plane--sheet { transform: none; }
  .stack-rail { display: none !important; }

  .layer, .method, .team, .ev { padding: 80px 0 88px; }
  .layer-head, .method-head { grid-template-columns: 1fr; gap: 18px; }
  .four { margin-top: 44px; padding-inline: 16px; grid-template-columns: 1fr; }
  .card { min-height: 0; }
  .card-well { height: 220px; }

  .ev-in { grid-template-columns: 1fr; gap: 44px; }
  .ev-l { order: 2; }
  .ev-figs li { grid-template-columns: 1fr; gap: 4px; }
  .ev-figs b { font-size: 34px; }

  .rows { margin-top: 44px; }
  .row-in { grid-template-columns: 1fr auto; gap: 8px 16px; padding: 22px 0 26px; }
  .row-n { grid-column: 1 / -1; }
  .row-t { grid-column: 1; font-size: 12px; }
  .row-b { grid-column: 1 / -1; }
  .row-b h3 { font-size: 22px; }
  .row-a { grid-row: 3; grid-column: 2; align-self: center; }

  .team-head { flex-direction: column; align-items: flex-start; gap: 24px; }
  .track-vp { padding-left: 24px; margin-top: 36px; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
  .track-vp::-webkit-scrollbar { display: none; }
  .track { transform: none !important; padding-right: 24px; }
  .tcard { width: 78vw; min-height: 400px; scroll-snap-align: start; padding: 26px; }
  .tcard--wide { width: 78vw; }
  .team-pager { display: none; }

  .close { padding: 88px 0 84px; }
  .close-h { font-size: 34px; }
  .close-marks { gap: 12px 26px; }
  .close-marks li { font-size: 15px; }

  .foot { padding-top: 64px; }
  .foot-band, .foot-cols { grid-template-columns: 1fr; gap: 34px; }
  .foot-band + .foot-band { padding-top: 40px; }
  .foot-legal { justify-self: start; text-align: left; }
  .wordmark { font-size: 84px; padding-left: 20px; margin-bottom: -22px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .001ms !important; animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
  }
  [data-in], .ln > span, .hero-panel { opacity: 1 !important; transform: none !important; }
}
