@font-face{font-family:"Bricolage Grotesque";src:url("/assets/bricolage.woff2") format("woff2");font-weight:200 800;font-stretch:75% 100%;font-display:swap}
:root{
  --ink:#1E2B55; --ink-soft:#4A5578; --amber:#FFB627; --amber-deep:#9A5B00;
  --bg:#F4F6FB; --surface:#FFFFFF; --line:#DCE1EC;
  --font:"Bricolage Grotesque", "Segoe UI", system-ui, sans-serif;
  --wrap:1080px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--surface);color:var(--ink);font-family:var(--font);font-optical-sizing:auto;
  font-size:1.0625rem;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--ink)}
a:focus-visible,.button:focus-visible{outline:3px solid var(--amber);outline-offset:3px;border-radius:4px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:#fff;padding:8px 12px;z-index:10}
.skip:focus{left:8px}

/* Type */
h1,h2,h3{font-stretch:88%;font-weight:750;line-height:1.08;letter-spacing:-.015em;margin:0}
h1{font-size:clamp(2.4rem,5.6vw,4.1rem);max-width:13ch}
h2{font-size:clamp(1.75rem,3.2vw,2.4rem);margin-bottom:.75rem}
h3{font-size:1.25rem;line-height:1.2;margin-bottom:.35rem}
p{margin:0 0 1rem;max-width:62ch}

/* Header */
.site-header{border-bottom:1px solid var(--line);background:var(--surface)}
.bar{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:76px}
.brand img{height:44px;width:auto}
nav{display:flex;gap:28px}
nav a{text-decoration:none;font-weight:500;color:var(--ink-soft)}
nav a:hover{color:var(--ink)}

/* Hero */
.hero{padding:88px 0 96px;background:var(--bg)}
.hero-grid{display:grid;grid-template-columns:1fr auto;gap:56px;align-items:center}
.lede{font-size:1.25rem;line-height:1.55;color:var(--ink-soft);margin:1.5rem 0 2rem;max-width:40ch}
.hero-die{width:clamp(180px,24vw,280px);transform:rotate(-9deg);filter:drop-shadow(0 18px 24px rgba(30,43,85,.18))}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px 28px}
.button{display:inline-block;background:var(--amber);color:var(--ink);font-weight:700;text-decoration:none;
  padding:14px 24px;border-radius:10px;border:2px solid var(--ink);box-shadow:0 3px 0 var(--ink)}
.button:hover{background:#FFC24A}
.button:active{transform:translateY(2px);box-shadow:0 1px 0 var(--ink)}
.text-link{font-weight:600;text-underline-offset:4px}
.status{margin-top:2rem;font-size:.95rem;color:var(--ink-soft)}

/* Sections */
.section{padding:88px 0}
.section-alt{background:var(--bg)}

/* Steps: die faces as sequence markers */
.steps{list-style:none;padding:0;margin:2.5rem 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.face{width:48px;height:48px;margin-bottom:18px}
.face rect{fill:var(--amber);stroke:var(--ink);stroke-width:2.5}
.face circle{fill:var(--ink)}
.steps p{color:var(--ink-soft)}

/* Report */
.report-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:56px;align-items:start}
.note{color:var(--ink-soft)}
.report{margin:0;background:var(--surface);border:2px solid var(--ink);border-radius:14px;overflow:hidden}
.report div{display:grid;grid-template-columns:11rem 1fr;gap:16px;padding:16px 22px;border-top:1px solid var(--line)}
.report div:first-child{border-top:0}
.report dt{font-weight:700}
.report dd{margin:0;color:var(--ink-soft)}

/* Audience */
.audience{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:2rem}
.audience p{color:var(--ink-soft)}

/* Partners band */
.partners{background:var(--ink);color:#fff}
.partners h2,.partners h3{color:#fff}
.partners p{color:#D5DAE8}
.partners-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.partners .button{margin-top:.75rem;border-color:var(--amber);box-shadow:none}
.terms h3{font-size:1.1rem;margin-top:1.4rem}
.terms h3:first-child{margin-top:0}

/* Founder */
.founder p{font-size:1.125rem}

/* Footer */
.site-footer{background:#141D3B;color:#C3CAE0;padding:44px 0;font-size:.95rem}
.site-footer a{color:#fff}
.foot img{margin-bottom:18px}
.foot-links{display:flex;gap:24px;flex-wrap:wrap}

/* Privacy page */
.doc{padding:64px 0 88px}
.doc h1{font-size:clamp(2rem,4vw,2.8rem);max-width:none;margin-bottom:1.5rem}
.doc h2{font-size:1.4rem;margin:2rem 0 .5rem}

@media (max-width:860px){
  .hero{padding:56px 0 64px}
  .hero-grid,.report-grid,.partners-grid{grid-template-columns:1fr;gap:36px}
  .hero-die{order:-1;width:130px;margin-left:12px}
  .steps,.audience{grid-template-columns:1fr;gap:32px}
  .section{padding:64px 0}
  nav{gap:18px;font-size:.95rem}
}
@media (max-width:560px){
  nav{display:none}
  .report div{grid-template-columns:1fr;gap:4px}
}
