/* ============================================================
   site.css — the shared base. Tokens and chips are copied
   verbatim from spine.html; the chips are the brand.
   Each home-page variation layers its own stylesheet on top.
   ============================================================ */
:root{
  --paper:#F7F8F5; --paper-2:#EFF1EC; --ink:#1A2421; --ink-2:#45514C; --ink-3:#6E7A74;
  --line:#D6DBD4; --line-2:#C3CAC2;
  --committed:#0E6B5B; --committed-soft:#E1EEEA;
  --planned:#8A6B2D; --planned-soft:#F2ECDD;
  --flag:#8C4A2F; --flag-soft:#F4E7DF;
  --disp:"Schibsted Grotesk",Verdana,sans-serif;
  --body:"Source Serif 4",Georgia,serif;
  --mono:"IBM Plex Mono","Courier New",monospace;
  --wrap:1120px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--paper);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.62;
  text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
img,svg{max-width:100%}
img{height:auto;display:block}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--disp);letter-spacing:-.015em;line-height:1.15}
:focus-visible{outline:2.5px solid var(--committed);outline-offset:3px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 28px}
.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:var(--paper);
  padding:12px 18px;font-family:var(--mono);font-size:13px;z-index:100}
.skip:focus{left:0}

/* ---------- chips: copied from the spine ---------- */
.chip{display:inline-block;font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.05em;
  padding:2.5px 9px 2px;border-radius:2px;vertical-align:2px;white-space:nowrap}
.chip.c{background:var(--committed);color:#fff}
.chip.c2{background:var(--committed-soft);color:var(--committed);border:1px solid var(--committed)}
.chip.p{background:transparent;color:var(--planned);border:1px solid var(--planned)}

/* ---------- kicker ---------- */
.kicker{font-family:var(--mono);font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}

/* ---------- nav ---------- */
.site-nav{border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:50}
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:66px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--disp);
  font-weight:800;font-size:18px;letter-spacing:-.02em}
.brand .mark{width:29px;height:24px;display:inline-block;flex:none;
  background:url("data:image/png;base64,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") center/contain no-repeat}
.nav-links{display:flex;align-items:center;gap:26px}
.nav-links a{text-decoration:none;font-family:var(--disp);font-weight:500;font-size:15px;color:var(--ink-2);
  padding:6px 0;border-bottom:1.5px solid transparent}
.nav-links a:hover{color:var(--ink)}
.nav-links a.nav-cta{font-weight:600;color:var(--paper);background:var(--committed);
  padding:9px 16px;border:none;border-radius:2px}
.nav-links a.nav-cta:hover{background:#0A5749;color:var(--paper)}
body[data-page="platform"] a[data-nav="platform"],
body[data-page="roadmap"] a[data-nav="roadmap"],
body[data-page="approach"] a[data-nav="approach"],
body[data-page="who"] a[data-nav="who"],
body[data-page="about"] a[data-nav="about"]{color:var(--ink);border-bottom-color:var(--committed)}
.nav-toggle{display:none;background:none;border:1px solid var(--line-2);width:42px;height:38px;
  cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:4px;border-radius:2px}
.nav-toggle span{display:block;width:18px;height:1.5px;background:var(--ink)}

/* ---------- footer ----------
   One row of three, then a rule, then the copyright. The three used to be a
   brand block of 89px, a link stack of 184px and a legend of 49px sharing a top
   line, so two of them ended as stubs a hundred pixels above the row's floor.
   The six links in one column were the whole cause of that height. */
.site-foot{border-top:2px solid var(--ink);margin-top:0;background:var(--paper-2)}
.foot-inner{display:grid;grid-template-columns:minmax(260px,1.5fr) auto auto;gap:36px 60px;
  padding-top:52px;padding-bottom:34px;align-items:start}
.foot-name{font-family:var(--disp);font-weight:800;font-size:19px;letter-spacing:-.02em}
.foot-from{font-family:var(--disp);font-weight:500;font-size:14px;color:var(--ink-2);margin-top:8px;max-width:360px}
.foot-from b{color:var(--ink);font-weight:700}
/* Two columns of three, which brings the block within a few pixels of the brand
   beside it and reads as a footer's navigation rather than a list running away
   down the page. Filled column by column, so reading down each one keeps the nav
   bar's order; filled by row it would run Platform, Twelve questions, About. */
.foot-links{display:grid;grid-auto-flow:column;grid-template-rows:repeat(3,auto);
  gap:11px 40px;justify-content:start}
.foot-links a{text-decoration:none;font-family:var(--disp);font-size:14.5px;color:var(--ink-2);
  white-space:nowrap}
.foot-links a:hover{color:var(--ink);text-decoration:underline}
/* The note takes its own line under the two marks rather than wrapping around
   them, so the legend reads as one block whatever the two marks are called. */
.foot-legend{display:flex;flex-wrap:wrap;gap:9px;align-items:center;max-width:250px}
.foot-note{flex-basis:100%;font-family:var(--mono);font-size:11px;color:var(--ink-2);
  letter-spacing:.04em;line-height:1.5;margin-top:2px}
.foot-base{font-family:var(--mono);font-size:11.5px;color:var(--ink-2);letter-spacing:.05em;
  border-top:1px solid var(--line-2);padding-top:20px;padding-bottom:28px}

/* ---------- shared page furniture ---------- */
.page-head{padding:70px 0 40px;border-bottom:1px solid var(--line)}
.page-head h1{font-size:clamp(34px,5vw,54px);font-weight:800;margin:14px 0 0}
.page-head .lede{max-width:660px;margin-top:20px;font-size:19.5px;line-height:1.55;color:var(--ink-2)}
.stub{padding:80px 0 120px}
.stub p{max-width:640px;color:var(--ink-2)}

@media (max-width:860px){
  .nav-toggle{display:flex}
  .nav-links{display:none;position:absolute;left:0;right:0;top:100%;background:var(--paper);
    border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;padding:8px 28px 20px}
  .nav-links.open{display:flex}
  .nav-links a{padding:13px 0;border-bottom:1px solid var(--line)}
  .nav-links a.nav-cta{margin-top:14px;text-align:center;padding:13px 16px}
  .site-nav{position:relative}
  /* Stacked, the legend was a 250px block sitting in a full-width column with
     490px of nothing beside it. It gives up the cap it needs only in the row. */
  .foot-inner{grid-template-columns:1fr;gap:30px;padding-top:44px}
  /* Capped, because two equal columns across a 768px column put 250px of nothing
     between "Platform" and "Who it is for". */
  .foot-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px;
    justify-content:stretch;max-width:430px}
  .foot-legend{max-width:none}
}
@media (max-width:520px){
  body{font-size:16.5px}
  /* Longhand, for the same reason as `.v7 .wrap`: as a shorthand this reset the
     footer's own vertical padding to zero on every page below 520px. */
  .wrap{padding-left:20px;padding-right:20px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{animation-duration:.01ms !important;transition-duration:.01ms !important}
}

/* ============================================================
   Request access. The one page on the site that asks the
   reader for something, so it says what it is asking for
   first and what they can ask to see beside it.
   ============================================================ */
.req{padding:56px 0 110px}
.req-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:start}
.req h2{font-family:var(--disp);font-size:24px;font-weight:800;margin-bottom:12px}
.req-lede{color:var(--ink-2);max-width:38em}
.venues{list-style:none;margin:26px 0 0;counter-reset:v}
.venues li{counter-increment:v;padding:16px 0 16px 44px;border-top:1px solid var(--line);position:relative}
.venues li::before{content:counter(v,decimal-leading-zero);position:absolute;left:0;top:18px;
  font-family:var(--mono);font-size:12px;color:var(--committed);font-weight:600}
.venues b{display:block;font-family:var(--disp);font-size:16.5px}
.venues span{display:block;margin-top:4px;color:var(--ink-2);font-size:15.5px;line-height:1.55}
.req-note{margin-top:26px;padding-top:18px;border-top:1px solid var(--line);
  color:var(--ink-2);font-size:15.5px}

/* Honeypot. Off-screen rather than display:none, because some bots skip hidden fields. */
.hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}

.req-form form{background:var(--paper-2);border:1px solid var(--line);border-radius:14px;padding:26px}
.req-form .f{display:block;margin-bottom:16px;font-family:var(--mono);font-size:10.5px;
  letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3)}
.req-form input,.req-form select{display:block;width:100%;margin-top:7px;padding:10px 12px;
  font-family:var(--body);font-size:16px;letter-spacing:0;text-transform:none;color:var(--ink);
  background:#fff;border:1px solid var(--line-2);border-radius:9px}
.req-form input:focus,.req-form select:focus{border-color:var(--committed);outline:none;
  box-shadow:0 0 0 3px var(--committed-soft)}
.req-form .btn{width:100%;margin-top:6px;padding:13px 22px;border:0;border-radius:980px;
  background:var(--committed);color:#fff;font-family:var(--disp);font-size:16px;font-weight:700;
  cursor:pointer}
.req-form .btn:hover{background:#0B5748}
.req-form .f-note{margin:14px 0 0;font-size:14px;color:var(--ink-3);line-height:1.55}

@media (max-width:860px){
  .req-grid{grid-template-columns:1fr;gap:40px}
  .req{padding:44px 0 80px}
}

/* ============================================================
   The twelve questions, and who it is for. Two pages that are
   lists a reader takes into a room, so both are set as numbered
   runs rather than as cards.
   ============================================================ */
.qs{padding:56px 0 110px}
.qtheme{display:grid;grid-template-columns:minmax(220px,.62fr) 1fr;gap:44px;
  padding:40px 0;border-top:1px solid var(--line)}
.qtheme:first-child{border-top:0;padding-top:8px}
.qt-head{position:sticky;top:88px}
.qt-head h2{font-family:var(--disp);font-size:26px;font-weight:800}
.qt-head p{margin-top:12px;color:var(--ink-2);font-size:15.5px;line-height:1.6}
.qlist{list-style:none;margin:0}
.qlist li{display:grid;grid-template-columns:44px 1fr;gap:0 14px;padding:0 0 26px}
.qlist li:last-child{padding-bottom:0}
.q-no{font-family:var(--mono);font-size:12px;font-weight:600;color:var(--committed);padding-top:5px}
.q-body h3{font-family:var(--disp);font-size:18.5px;font-weight:700;line-height:1.35}
.q-why{margin-top:7px;color:var(--ink-2);font-size:16px}
.q-strong{margin-top:8px;padding:10px 14px;background:var(--committed-soft);border-radius:9px;
  font-size:15.5px;color:var(--ink)}
.q-strong b{font-family:var(--disp);font-size:12px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--committed);display:block;margin-bottom:3px}
.qs-close{margin-top:44px;padding-top:26px;border-top:1px solid var(--line);
  color:var(--ink-2);font-size:16.5px}
/* The printable sheet. An action rather than a sentence, because it is the one
   thing on the page a reader takes away with them. */
.qs-take{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;margin-top:14px}
.qs-take .take-link{font-family:var(--disp);font-weight:600;font-size:16.5px;
  color:var(--committed);text-decoration:none}
.qs-take .take-link::after{content:" \2192"}
.qs-take .take-link:hover{text-decoration:underline}
.qs-take .take-note{color:var(--ink-3);font-size:15px}

.kinds{padding:56px 0 110px}
.kindlist{list-style:none;margin:0;counter-reset:k;max-width:820px}
.kindlist li{counter-increment:k;padding:22px 0 22px 52px;border-top:1px solid var(--line);position:relative}
.kindlist li:first-child{border-top:0}
.kindlist li::before{content:counter(k,decimal-leading-zero);position:absolute;left:0;top:25px;
  font-family:var(--mono);font-size:12px;font-weight:600;color:var(--committed)}
.kindlist b{display:block;font-family:var(--disp);font-size:19px}
.kindlist span{display:block;margin-top:6px;color:var(--ink-2);font-size:16px;line-height:1.6}
.kinds-note{margin-top:34px;padding-top:22px;border-top:1px solid var(--line);
  max-width:820px;color:var(--ink-2);font-size:16px}

@media (max-width:860px){
  .qtheme{grid-template-columns:1fr;gap:24px}
  .qt-head{position:static}
  .qs,.kinds{padding:44px 0 80px}
}

/* ============================================================
   The catalog, the roadmap, and the about page.
   ============================================================ */
.cat{padding:56px 0 110px}
.cat-block{margin-top:48px}
.cat-block:first-child{margin-top:8px}
.cat h2{font-family:var(--disp);font-size:24px;font-weight:800}
.cat-sub{margin-top:10px;max-width:46em;color:var(--ink-2);font-size:16px}
.applist{list-style:none;margin:26px 0 0;display:grid;grid-template-columns:repeat(2,1fr);gap:0 42px}
.applist li{display:grid;grid-template-columns:20px 1fr auto;gap:0 12px;align-items:start;
  padding:11px 0;border-bottom:1px solid var(--line)}
.applist b{display:block;font-family:var(--disp);font-size:16px;font-weight:700;line-height:1.25}
.applist span{display:block;font-size:14px;color:var(--ink-2);margin-top:2px}
.applist .mk-pad{display:block;width:20px}
.cat-key{display:flex;align-items:center;justify-content:center;gap:8px 22px;flex-wrap:wrap;
  margin-top:36px;font-size:14px;color:var(--ink-3)}
.cat-key .key-item{white-space:nowrap}

.lanes{padding:56px 0 110px}
.lanegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.lane{border:1px solid var(--line);border-radius:14px;padding:22px}
.lane-head{display:grid;grid-template-columns:18px 1fr;gap:0 12px;align-items:start;
  padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:14px}
.lane-head h2{font-family:var(--disp);font-size:19px;font-weight:800}
.lane-head span{display:block;margin-top:3px;font-size:13.5px;color:var(--ink-3)}
.lane ul{list-style:none;margin:0}
.lane li{padding:7px 0;font-size:15px;color:var(--ink-2);line-height:1.5}
.lanes-note{margin-top:34px;padding-top:22px;border-top:1px solid var(--line);
  color:var(--ink-2);font-size:16px;max-width:52em}

.why{padding:56px 0 20px}
.why h2{font-family:var(--disp);font-size:26px;font-weight:800;margin-bottom:16px}
.why p{max-width:44em;margin-bottom:16px;color:var(--ink-2)}
.honesty{padding:36px 0 110px}
.honesty h2{font-family:var(--disp);font-size:24px;font-weight:800}
.honlist{list-style:none;margin:24px 0 0;counter-reset:h;max-width:820px}
.honlist li{counter-increment:h;padding:20px 0 20px 52px;border-top:1px solid var(--line);position:relative}
.honlist li::before{content:counter(h,decimal-leading-zero);position:absolute;left:0;top:23px;
  font-family:var(--mono);font-size:12px;font-weight:600;color:var(--committed)}
.honlist b{display:block;font-family:var(--disp);font-size:18px}
.honlist span{display:block;margin-top:5px;color:var(--ink-2);font-size:16px;line-height:1.6}
.hon-note{margin-top:30px;padding-top:20px;border-top:1px solid var(--line);
  max-width:820px;color:var(--ink-2);font-size:16px}

@media (max-width:860px){
  .applist,.lanegrid{grid-template-columns:1fr}
  .cat,.lanes,.honesty{padding-bottom:80px}
}
