/* Self-hosted typefaces. SIL Open Font License, see assets/fonts/LICENSE-*.txt */
@font-face{font-family:"Newsreader";font-style:normal;font-weight:200 800;font-display:swap;
  src:url(/assets/fonts/newsreader-wght.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:"Newsreader";font-style:italic;font-weight:200 800;font-display:swap;
  src:url(/assets/fonts/newsreader-wght-italic.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:"Schibsted Grotesk";font-style:normal;font-weight:400 900;font-display:swap;
  src:url(/assets/fonts/schibsted-grotesk-wght.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:"DM Mono";font-style:normal;font-weight:400;font-display:swap;
  src:url(/assets/fonts/dm-mono-400.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:"DM Mono";font-style:normal;font-weight:500;font-display:swap;
  src:url(/assets/fonts/dm-mono-500.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}

:root{ color-scheme: light dark; }
html,body{ margin:0; padding:0; }
img,svg,video{ max-width:100%; }
[hidden]{ display:none !important; }
a{ color:inherit; text-decoration:none; }
a.nav__a{ display:inline-block; }
a.art__back:hover, a.fndr__li:hover{ text-decoration:underline; }
a.brand{ color:inherit; }
:root{
  --gold:#E8A020; --gold-lit:#FBBF23; --gold-deep:#B87A12;
  --verd-lit:#4FD1D9; --verd:#2A9DA5; --verd-deep:#0F5A61;
  --hero-bg:#060B14; --hero-ink:#F2F6FA; --hero-dim:#93A6B4; --hero-line:rgba(147,166,180,.18);
  --bg:#060B14; --surface:#0D1B2A; --raised:#122035; --sunken:#04080F;
  --ink:#F2F6FA; --ink-2:#B9C7D3; --ink-3:#93A6B4;
  --line:rgba(147,166,180,.16); --line-2:rgba(147,166,180,.30);
  --accent:var(--gold); --accent-ink:#0D1B2A; --accent-soft:rgba(232,160,32,.12);
  --sig:var(--verd-lit); --sig-soft:rgba(79,209,217,.13);
  --glow:radial-gradient(60% 60% at 50% 0%, rgba(232,160,32,.10), transparent 70%);
  --shadow:0 18px 50px -20px rgba(0,0,0,.85);
  --code-bg:rgba(147,166,180,.09); --scrim:rgba(6,11,20,.82);
}
@media (prefers-color-scheme: light){
  :root:not([data-theme="dark"]){
    --bg:#EFF3F6; --surface:#FFFFFF; --raised:#F6F9FB; --sunken:#E3EAEF;
    --ink:#08131C; --ink-2:#33485A; --ink-3:#55697B;
    --line:rgba(8,19,28,.13); --line-2:rgba(8,19,28,.24);
    --accent:#8F5C06; --accent-ink:#FFFFFF; --accent-soft:rgba(232,160,32,.17);
    --sig:var(--verd-deep); --sig-soft:rgba(15,90,97,.10);
    --glow:radial-gradient(60% 60% at 50% 0%, rgba(232,160,32,.16), transparent 70%);
    --shadow:0 16px 40px -22px rgba(8,19,28,.40);
    --code-bg:rgba(8,19,28,.06); --scrim:rgba(239,243,246,.86);
  }
}
:root[data-theme="light"]{
  --bg:#EFF3F6; --surface:#FFFFFF; --raised:#F6F9FB; --sunken:#E3EAEF;
  --ink:#08131C; --ink-2:#33485A; --ink-3:#55697B;
  --line:rgba(8,19,28,.13); --line-2:rgba(8,19,28,.24);
  --accent:#8F5C06; --accent-ink:#FFFFFF; --accent-soft:rgba(232,160,32,.17);
  --sig:var(--verd-deep); --sig-soft:rgba(15,90,97,.10);
  --glow:radial-gradient(60% 60% at 50% 0%, rgba(232,160,32,.16), transparent 70%);
  --shadow:0 16px 40px -22px rgba(8,19,28,.40);
  --code-bg:rgba(8,19,28,.06); --scrim:rgba(239,243,246,.86);
}

*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } }

body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:"Schibsted Grotesk", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size:16px; line-height:1.6; overflow-x:hidden; font-synthesis-weight:none;
}
h1,h2,h3,h4{
  margin:0; font-family:"Newsreader", Georgia, "Times New Roman", serif;
  font-weight:600; letter-spacing:-.014em; text-wrap:balance; line-height:1.1;
}
p{ margin:0; }
a{ color:inherit; }
img,svg{ display:block; max-width:100%; }
button{ font:inherit; color:inherit; }
:focus-visible{ outline:2px solid var(--gold-lit); outline-offset:3px; border-radius:2px; }

.wrap{ width:100%; max-width:1180px; margin-inline:auto; padding-inline:24px; }
.wrap-narrow{ width:100%; max-width:760px; margin-inline:auto; padding-inline:24px; }
@media (max-width:640px){ .wrap,.wrap-narrow{ padding-inline:18px; } }
section{ position:relative; }
.band{ padding-block:clamp(64px,8vw,116px); }
.band--sunken{ background:var(--sunken); border-block:1px solid var(--line); }
.band--surface{ background:var(--surface); border-block:1px solid var(--line); }

.eyebrow{
  font-family:"Schibsted Grotesk", sans-serif;
  font-size:.6875rem; font-weight:600; letter-spacing:.15em; text-transform:uppercase;
  color:var(--accent); margin:0; display:flex; align-items:center; gap:10px;
}
.eyebrow::before{ content:""; width:20px; height:1px; background:var(--accent); flex:none; }
.eyebrow--plain::before{ display:none; }
.display{ font-size:clamp(2.15rem,5.4vw,3.7rem); }
.h2{ font-size:clamp(1.75rem,3.5vw,2.6rem); }
.h3{ font-size:clamp(1.16rem,1.9vw,1.4rem); letter-spacing:-.01em; }
.h4{ font-size:1.06rem; letter-spacing:-.006em; }
.lede{
  font-family:"Newsreader", Georgia, serif;
  font-size:clamp(1.1rem,1.95vw,1.32rem); line-height:1.56; color:var(--ink-2); max-width:60ch;
}
.prose{ font-family:"Newsreader", Georgia, serif; font-size:1.13rem; line-height:1.66; color:var(--ink-2); max-width:64ch; }
.prose + .prose{ margin-top:1em; }
.small{ font-size:.875rem; color:var(--ink-3); line-height:1.6; }
.mono{ font-family:"DM Mono", ui-monospace, SFMono-Regular, Menlo, monospace; font-size:.8125rem; letter-spacing:-.01em; }

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  padding:13px 22px; border-radius:4px; border:1px solid transparent;
  font-family:"Schibsted Grotesk", sans-serif;
  font-size:.9375rem; font-weight:600; letter-spacing:-.005em;
  text-decoration:none; cursor:pointer; white-space:nowrap;
  transition:transform .18s cubic-bezier(.2,.7,.3,1), background-color .18s, border-color .18s, box-shadow .18s, color .18s;
}
.btn:hover{ transform:translateY(-1px); }
.btn:active{ transform:translateY(0); }
.btn--primary{ background:var(--gold); color:#0D1B2A; border-color:var(--gold); box-shadow:0 8px 24px -12px rgba(232,160,32,.85); }
.btn--primary:hover{ background:var(--gold-lit); border-color:var(--gold-lit); box-shadow:0 12px 30px -12px rgba(251,191,35,.9); }
.btn--ghost{ background:transparent; color:var(--ink); border-color:var(--line-2); }
.btn--ghost:hover{ border-color:var(--accent); color:var(--accent); background:var(--accent-soft); }
.btn--onhero{ background:transparent; color:var(--hero-ink); border-color:rgba(242,246,250,.28); }
.btn--onhero:hover{ border-color:var(--verd-lit); color:var(--verd-lit); background:rgba(79,209,217,.10); }
.btn--sm{ padding:9px 15px; font-size:.8125rem; }
.btn .arw{ transition:transform .18s cubic-bezier(.2,.7,.3,1); }
.btn:hover .arw{ transform:translateX(3px); }

.hdr{
  position:sticky; top:0; z-index:60; background:var(--scrim);
  -webkit-backdrop-filter:saturate(180%) blur(14px); backdrop-filter:saturate(180%) blur(14px);
  border-bottom:1px solid var(--line);
}
.hdr__in{ display:flex; align-items:center; gap:18px; height:66px; }
.brand{ display:flex; align-items:center; gap:11px; flex:none; cursor:pointer; background:none; border:0; padding:0; }
.brand__mark{ width:34px; height:34px; flex:none; }
.brand__txt{ display:flex; flex-direction:column; line-height:1; }
.brand__name{ font-family:"Schibsted Grotesk", sans-serif; font-size:1.04rem; font-weight:700; letter-spacing:-.028em; }
.brand__name em{ font-style:normal; color:var(--accent); }
.brand__sub{ font-size:.5625rem; letter-spacing:.19em; text-transform:uppercase; color:var(--ink-3); font-weight:600; margin-top:3px; }
.nav{ display:flex; align-items:center; gap:2px; margin-left:auto; }
.nav__a{
  background:none; border:0; cursor:pointer; padding:8px 12px; border-radius:4px;
  font-size:.875rem; font-weight:500; color:var(--ink-2);
  transition:color .15s, background-color .15s; position:relative;
}
.nav__a:hover{ color:var(--ink); background:var(--code-bg); }
.nav__a[aria-current="page"]{ color:var(--accent); }
.nav__a[aria-current="page"]::after{ content:""; position:absolute; left:12px; right:12px; bottom:2px; height:1.5px; background:var(--accent); border-radius:2px; }
.hdr__act{ display:flex; align-items:center; gap:8px; flex:none; }
.icon-btn{
  width:36px; height:36px; display:grid; place-items:center; background:transparent;
  border:1px solid var(--line); border-radius:4px; cursor:pointer; color:var(--ink-2);
  transition:border-color .15s, color .15s, background-color .15s;
}
.icon-btn:hover{ border-color:var(--accent); color:var(--accent); background:var(--accent-soft); }
.burger{ display:none; }
@media (max-width:1000px){
  .nav{
    position:fixed; inset:66px 0 auto 0; flex-direction:column; align-items:stretch; gap:0;
    background:var(--surface); border-bottom:1px solid var(--line);
    padding:10px 18px 20px; box-shadow:var(--shadow);
    max-height:calc(100dvh - 66px); overflow-y:auto;
  }
  .nav[hidden]{ display:none; }
  .nav__a{ padding:14px 8px; font-size:1rem; text-align:left; border-radius:0; border-bottom:1px solid var(--line); }
  .nav__a[aria-current="page"]::after{ display:none; }
  .burger{ display:grid; }
  .hdr__cta{ display:none; }
}

.hero__canvas{ position:absolute; inset:0; width:100%; height:100%; display:block; }
.hero{ position:relative; background:var(--hero-bg); color:var(--hero-ink); border-bottom:1px solid var(--hero-line); overflow:hidden; }
.hero__veil{
  position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(96% 82% at 8% 44%, rgba(6,11,20,.96) 0%, rgba(6,11,20,.80) 30%, rgba(6,11,20,.18) 62%, transparent 78%),
    linear-gradient(to top, rgba(6,11,20,.86) 0%, transparent 34%);
}
.hero__in{ position:relative; z-index:2; padding-block:clamp(72px,9vw,112px) clamp(52px,6.4vw,78px); display:grid; gap:28px; max-width:680px; }
.hero h1{ font-size:clamp(2.45rem,6.2vw,4.25rem); line-height:1.02; letter-spacing:-.026em; font-weight:500; }
.hero h1 .lit{
  background:linear-gradient(103deg, var(--gold-lit) 8%, var(--gold) 52%, var(--gold-deep) 100%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.hero__sub{ font-family:"Newsreader", Georgia, serif; font-size:clamp(1.08rem,2vw,1.26rem); line-height:1.56; color:var(--hero-dim); max-width:54ch; }
.hero__acts{ display:flex; flex-wrap:wrap; gap:12px; }
.hero__strip{ position:relative; z-index:2; border-top:1px solid var(--hero-line); display:grid; grid-template-columns:repeat(4,1fr); }
.hero__strip > div{ padding:20px 22px; border-left:1px solid var(--hero-line); }
.hero__strip > div:first-child{ border-left:0; padding-left:0; }
.hero__strip dt{ font-size:.625rem; letter-spacing:.15em; text-transform:uppercase; color:var(--hero-dim); font-weight:600; margin-bottom:7px; }
.hero__strip dd{ margin:0; font-size:.9375rem; font-weight:600; color:var(--hero-ink); line-height:1.35; }
@media (max-width:820px){
  .hero__strip{ grid-template-columns:repeat(2,1fr); }
  .hero__strip > div{ border-top:1px solid var(--hero-line); padding-inline:16px; }
  .hero__strip > div:nth-child(-n+2){ border-top:0; }
  .hero__strip > div:nth-child(odd){ border-left:0; padding-left:0; }
  .hero__veil{
    background:linear-gradient(to bottom,
      rgba(6,11,20,.90) 0%, rgba(6,11,20,.88) 40%,
      rgba(6,11,20,.62) 66%, rgba(6,11,20,.40) 82%, rgba(6,11,20,.72) 100%);
  }
}

.shead{ display:grid; gap:16px; margin-bottom:clamp(34px,4.5vw,54px); max-width:64ch; }
.shead--split{ max-width:none; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:clamp(24px,4vw,60px); align-items:end; }
@media (max-width:860px){ .shead--split{ grid-template-columns:1fr; align-items:start; } }

.dossier{ display:grid; gap:0; border-top:1px solid var(--line); }
.dsr{
  display:grid; grid-template-columns:64px minmax(0,1fr) minmax(0,1.15fr) auto;
  gap:clamp(14px,2.4vw,34px); align-items:start; padding:26px 4px;
  border-bottom:1px solid var(--line); border-left:0; border-right:0; border-top:0;
  text-align:left; width:100%; background:none; cursor:pointer; position:relative;
  transition:background-color .2s, padding-inline .2s;
}
.dsr::before{
  content:""; position:absolute; left:0; top:-1px; bottom:-1px; width:2px; background:var(--accent);
  transform:scaleY(0); transform-origin:top; transition:transform .28s cubic-bezier(.2,.7,.3,1);
}
.dsr:hover{ background:var(--code-bg); padding-inline:14px 10px; }
.dsr:hover::before{ transform:scaleY(1); }
.dsr__no{ font-family:"DM Mono", monospace; font-size:.8125rem; color:var(--accent); padding-top:6px; }
.dsr__ttl{ font-family:"Newsreader", Georgia, serif; font-size:1.22rem; font-weight:600; letter-spacing:-.012em; }
.dsr__who{ display:block; margin-top:8px; font-size:.75rem; color:var(--ink-3); letter-spacing:.055em; text-transform:uppercase; font-weight:600; }
.dsr__d{ font-size:.9375rem; color:var(--ink-2); line-height:1.62; padding-top:3px; }
.dsr__pri{ align-self:center; font-family:"DM Mono", monospace; font-size:.6875rem; padding:4px 9px; border-radius:3px; letter-spacing:.06em; white-space:nowrap; background:var(--sig-soft); color:var(--sig); }
@media (max-width:820px){
  .dsr{ grid-template-columns:44px minmax(0,1fr); }
  .dsr__pri{ grid-column:2; justify-self:start; margin-top:2px; }
  .dsr__d{ grid-column:2; }
}

.grid{ display:grid; gap:1px; background:var(--line); border:1px solid var(--line); }
.g2{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.g3{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.g4{ grid-template-columns:repeat(4,minmax(0,1fr)); }
@media (max-width:900px){ .g3,.g4{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:620px){ .g2,.g3,.g4{ grid-template-columns:1fr; } }
.cell{ background:var(--surface); padding:clamp(22px,2.6vw,30px); display:flex; flex-direction:column; gap:11px; transition:background-color .2s; }
.cell--on{ background:var(--raised); }
.cell:hover{ background:var(--raised); }

.phase{
  font-family:"Schibsted Grotesk", sans-serif;
  font-size:.6875rem; font-weight:600; letter-spacing:.11em; text-transform:uppercase;
  color:var(--accent); display:flex; align-items:center; gap:10px;
}
.phase::after{ content:""; height:1px; flex:1; background:var(--line-2); }

.model{ display:flex; flex-direction:column; gap:14px; background:var(--surface); padding:clamp(24px,3vw,34px); }
.model__hd{ display:flex; align-items:baseline; justify-content:space-between; gap:12px; }
.model__tag{ font-family:"DM Mono", monospace; font-size:.625rem; letter-spacing:.1em; color:var(--ink-3); text-transform:uppercase; }
.model ul{ margin:0; padding:0; list-style:none; display:grid; gap:9px; }
.model li{ font-size:.875rem; color:var(--ink-2); padding-left:20px; position:relative; line-height:1.55; }
.model li::before{ content:""; position:absolute; left:0; top:.6em; width:8px; height:1.5px; background:var(--accent); }
.model__best{ margin-top:auto; padding-top:16px; border-top:1px solid var(--line); font-size:.8125rem; color:var(--ink-3); }
.model__best b{ color:var(--ink-2); font-weight:600; }

.chains{ display:grid; gap:1px; background:var(--line); border:1px solid var(--line); }
.chain{ background:var(--surface); padding:18px 22px; display:grid; grid-template-columns:minmax(0,160px) minmax(0,1fr) auto; gap:18px; align-items:center; }
.chain__n{ font-weight:600; font-size:.9375rem; display:flex; align-items:center; gap:10px; }
.chain__sw{ width:9px; height:9px; border-radius:2px; flex:none; }
.chain__a{ color:var(--ink-3); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.chain__t{ font-family:"DM Mono", monospace; font-size:.6875rem; color:var(--ink-3); letter-spacing:.05em; white-space:nowrap; }
@media (max-width:760px){
  .chain{ grid-template-columns:1fr auto; gap:8px 14px; }
  .chain__a{ grid-column:1/-1; font-size:.75rem; white-space:normal; }
}

.callout{ border:1px solid var(--line-2); border-left:3px solid var(--accent); background:var(--accent-soft); padding:20px 22px; border-radius:0 4px 4px 0; display:grid; gap:8px; }
.callout--sig{ border-left-color:var(--sig); background:var(--sig-soft); }
.callout__t{ font-family:"Newsreader", Georgia, serif; font-weight:600; font-size:1.06rem; }
.callout p{ font-size:.9rem; color:var(--ink-2); line-height:1.62; }

.stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
@media (max-width:760px){ .stats{ grid-template-columns:repeat(2,1fr); } }
.stat{ background:var(--surface); padding:clamp(20px,2.6vw,28px); display:grid; gap:6px; align-content:start; }
.stat__v{ font-family:"Newsreader", Georgia, serif; font-size:clamp(1.9rem,3.5vw,2.5rem); font-weight:600; letter-spacing:-.025em; color:var(--accent); font-variant-numeric:tabular-nums; line-height:1; }
.stat__l{ font-size:.8125rem; color:var(--ink-3); line-height:1.45; }

.post{ background:var(--surface); padding:clamp(22px,2.6vw,28px); display:flex; flex-direction:column; gap:12px; text-align:left; border:0; cursor:pointer; transition:background-color .2s; }
.post:hover{ background:var(--raised); }
.post__meta{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; font-family:"DM Mono", monospace; font-size:.6875rem; color:var(--ink-3); letter-spacing:.03em; }
.post__cat{ color:var(--sig); }
.post__t{ font-family:"Newsreader", Georgia, serif; font-size:1.28rem; font-weight:600; line-height:1.26; letter-spacing:-.012em; }
.post__x{ font-size:.9rem; color:var(--ink-2); line-height:1.58; }
.post__more{ margin-top:auto; padding-top:6px; font-size:.8125rem; font-weight:600; color:var(--accent); display:flex; align-items:center; gap:6px; }

.form{ display:grid; gap:18px; }
.frow{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
@media (max-width:620px){ .frow{ grid-template-columns:1fr; } }
.field{ display:grid; gap:7px; }
.field label{ font-size:.8125rem; font-weight:600; color:var(--ink-2); }
.field label .req{ color:var(--accent); }
.field input, .field select, .field textarea{
  font-family:inherit; font-size:.9375rem; color:var(--ink);
  background:var(--bg); border:1px solid var(--line-2); border-radius:4px;
  padding:12px 14px; width:100%;
  transition:border-color .16s, box-shadow .16s, background-color .16s;
}
.field textarea{ resize:vertical; min-height:120px; line-height:1.6; }
.field input:focus, .field select:focus, .field textarea:focus{ outline:none; border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-soft); background:var(--surface); }
.field input::placeholder, .field textarea::placeholder{ color:var(--ink-3); opacity:.72; }
.field__hint{ font-size:.75rem; color:var(--ink-3); line-height:1.5; }
.check{ display:flex; gap:11px; align-items:flex-start; font-size:.8125rem; color:var(--ink-2); line-height:1.55; cursor:pointer; }
.check input{ margin-top:2px; accent-color:var(--gold); width:16px; height:16px; flex:none; }
.turnstile{ display:flex; align-items:center; gap:11px; border:1px solid var(--line-2); border-radius:4px; padding:13px 15px; background:var(--bg); font-size:.8125rem; color:var(--ink-3); }
.turnstile .tick{ width:18px; height:18px; border-radius:3px; background:var(--accent); display:grid; place-items:center; flex:none; color:var(--accent-ink); }
.form__ok{ border:1px solid var(--accent); background:var(--accent-soft); padding:26px; border-radius:4px; display:grid; gap:10px; text-align:center; }

.ftr{ background:var(--sunken); border-top:1px solid var(--line); padding-block:clamp(48px,6vw,72px) 30px; }
.ftr__top{ display:grid; grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr)); gap:clamp(26px,4vw,50px); padding-bottom:38px; border-bottom:1px solid var(--line); }
@media (max-width:900px){ .ftr__top{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .ftr__top{ grid-template-columns:1fr; } }
.ftr h4{ font-family:"Schibsted Grotesk", sans-serif; font-size:.6875rem; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-3); font-weight:600; margin-bottom:14px; }
.ftr ul{ margin:0; padding:0; list-style:none; display:grid; gap:9px; }
.ftr li button, .ftr li a{ background:none; border:0; padding:0; cursor:pointer; text-align:left; font-size:.875rem; color:var(--ink-2); text-decoration:none; transition:color .15s; }
.ftr li button:hover, .ftr li a:hover{ color:var(--accent); }
.ftr__btm{ padding-top:24px; display:flex; flex-wrap:wrap; gap:14px 24px; align-items:center; justify-content:space-between; }
.ftr__legal{ font-size:.75rem; color:var(--ink-3); line-height:1.6; max-width:64ch; }

.r-hidden{ opacity:0; transform:translateY(14px); }
[data-reveal]{ transition:opacity .62s cubic-bezier(.2,.7,.3,1), transform .62s cubic-bezier(.2,.7,.3,1); }
@media (prefers-reduced-motion: reduce){
  .r-hidden{ opacity:1 !important; transform:none !important; }
  [data-reveal]{ transition:none !important; }
  .btn:hover, .dsr:hover{ transform:none; }
}

.page[hidden]{ display:none; }
.tags{ display:flex; flex-wrap:wrap; gap:7px; }
.tag{ font-family:"DM Mono", monospace; font-size:.6875rem; border:1px solid var(--line-2); border-radius:3px; padding:4px 9px; color:var(--ink-3); letter-spacing:.03em; }
.pagehead{ background:var(--surface); border-bottom:1px solid var(--line); padding-block:clamp(48px,6vw,80px); position:relative; overflow:hidden; }
.pagehead::after{ content:""; position:absolute; inset:0; background:var(--glow); pointer-events:none; }
.pagehead > *{ position:relative; z-index:1; }
.skip{ position:absolute; left:-9999px; top:0; z-index:100; background:var(--gold); color:#0D1B2A; padding:10px 16px; font-weight:600; border-radius:0 0 4px 0; }
.skip:focus{ left:0; }
.two{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(28px,5vw,64px); align-items:start; }
@media (max-width:860px){ .two{ grid-template-columns:1fr; } }
.stack{ display:grid; gap:20px; align-content:start; }
.stack-sm{ display:grid; gap:12px; align-content:start; }

.art__meta{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; font-family:"DM Mono", monospace; font-size:.75rem; color:var(--ink-3); letter-spacing:.03em; }
.art__meta .c{ color:var(--sig); }
.art__body{ font-family:"Newsreader", Georgia, serif; font-size:1.19rem; line-height:1.72; color:var(--ink-2); }
.art__body p{ margin:0 0 1.15em; }
.art__body h2{
  font-size:1.72rem; font-weight:600; color:var(--ink);
  margin:2.1em 0 .6em; letter-spacing:-.016em; line-height:1.2;
}
.art__body ul{ margin:0 0 1.3em; padding-left:1.15em; display:grid; gap:.5em; }
.art__body li{ line-height:1.6; }
.art__body strong{ color:var(--ink); font-weight:600; }
.art__body blockquote{
  margin:1.6em 0; padding:20px 24px;
  border-left:3px solid var(--accent); background:var(--accent-soft);
  font-size:1.24rem; line-height:1.5; color:var(--ink); font-style:italic;
}
.art__back{
  background:none; border:0; padding:0; cursor:pointer; color:var(--accent);
  font-family:"Schibsted Grotesk", sans-serif; font-size:.875rem; font-weight:600;
  display:inline-flex; align-items:center; gap:7px;
}
.art__back:hover{ text-decoration:underline; }
.art__foot{ margin-top:44px; padding-top:26px; border-top:1px solid var(--line); display:grid; gap:18px; }
.art__next{ display:grid; gap:1px; background:var(--line); border:1px solid var(--line); grid-template-columns:1fr; margin-top:34px; }

.aw{ overflow-x:auto; }
.aw svg{ min-width:700px; width:100%; height:auto; display:block; }
.aw text{ font-family:"Schibsted Grotesk", sans-serif; }
.aw-cap{ font-size:13px; font-weight:600; letter-spacing:.14em; fill:var(--accent); }
.aw-date{ font-size:19px; font-weight:600; fill:var(--ink); font-family:"Newsreader", Georgia, serif; }
.aw-date-hot{ font-size:19px; font-weight:600; fill:var(--accent); font-family:"Newsreader", Georgia, serif; }
.aw-lab{ font-size:14px; font-weight:600; fill:var(--ink-2); }
.aw-lab-hot{ font-size:14px; font-weight:600; fill:var(--accent); }
.aw-note{ font-size:13px; fill:var(--ink-3); }
.aw-note-hot{ font-size:13px; fill:var(--accent); }
.aw-foot{ font-size:12px; fill:var(--ink-3); }
.aw-axis{ stroke:var(--line-2); stroke-width:2; }
.aw-tick line{ stroke:var(--line-2); stroke-width:2; }
.aw-tick-hot{ stroke:var(--accent); stroke-width:2; }
.aw-dot{ fill:var(--sig); }
.aw-dot-hot{ fill:var(--accent); }
.aw-spine{ stroke:var(--sig); stroke-width:3; fill:none; }
.aw-spine-hot{ stroke:var(--accent); stroke-width:3; stroke-dasharray:7 6; fill:none; }
.aw-hop circle{ fill:var(--sig); }
.aw-peel path{ stroke:var(--accent); stroke-width:2; fill:none; opacity:.7; }
.aw-node-sm circle{ fill:none; stroke:var(--sig); stroke-width:2; }
.aw-ring{ fill:var(--sig-soft); stroke:var(--sig); stroke-width:2; }
.aw-ring-hot{ fill:var(--accent-soft); stroke:var(--accent); stroke-width:2; }
.aw-in{ font-size:15px; font-weight:700; fill:var(--sig); }
.aw-in-hot{ font-size:15px; font-weight:700; fill:var(--accent); }
.aw-panel{ fill:var(--surface); stroke:var(--line-2); stroke-width:1.5; }
.aw-panel-dash{ fill:none; stroke:var(--line-2); stroke-width:1.5; stroke-dasharray:6 5; }

.svc-box{ background:var(--surface); border:1px solid var(--line); padding:clamp(24px,3vw,32px); display:grid; gap:16px; align-content:start; }
.ticks{ margin:0; padding:0; list-style:none; display:grid; gap:12px; }
.ticks li{ font-size:.9375rem; color:var(--ink-2); line-height:1.55; padding-left:28px; position:relative; }
.ticks li::before{
  content:""; position:absolute; left:0; top:.42em; width:14px; height:8px;
  border-left:2px solid var(--accent); border-bottom:2px solid var(--accent);
  transform:rotate(-45deg);
}

.founders{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; background:var(--line); border:1px solid var(--line); }
@media (max-width:760px){ .founders{ grid-template-columns:1fr; } }
.founders--one{ grid-template-columns:1fr; }
.founders--one .fndr{ grid-template-columns:auto minmax(0,1fr); align-items:start; gap:clamp(22px,3vw,36px); }
.founders--one .fndr__top{ display:block; }
.founders--one .fndr__ph{ width:clamp(120px,14vw,168px); height:clamp(120px,14vw,168px); }
.founders--one .fndr__body{ display:grid; gap:12px; }
@media (max-width:620px){
  .founders--one .fndr{ grid-template-columns:1fr; }
  .founders--one .fndr__ph{ width:104px; height:104px; }
}
.fndr{ background:var(--surface); padding:clamp(26px,3.2vw,38px); display:grid; gap:16px; align-content:start; }
.fndr__top{ display:flex; align-items:center; gap:18px; }
.fndr__ph{
  width:88px; height:88px; border-radius:50%; flex:none; object-fit:cover;
  border:1px solid var(--line-2); background:var(--raised);
}
.fndr__id{ display:grid; gap:6px; }
.fndr__nm{ font-family:"Newsreader", Georgia, serif; font-size:1.42rem; font-weight:600; letter-spacing:-.014em; line-height:1.15; }
.fndr__rl{ font-size:.75rem; letter-spacing:.09em; text-transform:uppercase; color:var(--sig); font-weight:600; }
.fndr__bio{ font-family:"Newsreader", Georgia, serif; font-size:1.06rem; line-height:1.62; color:var(--ink-2); }
.fndr__li{
  margin-top:2px; font-size:.8125rem; font-weight:600; color:var(--accent);
  display:inline-flex; align-items:center; gap:6px; text-decoration:none;
}
.fndr__li:hover{ text-decoration:underline; }


.hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }


.fndr__top > picture{ display:contents; }
