:root {
  --ink: #092961;
  --ink-strong: #061c45;
  --blue: #0d3b8e;
  --blue-mid: #1764d6;
  --sky: #a6e8ff;
  --sky-pale: #e9f8ff;
  --paper: #f7fbff;
  --mist: #dcebf8;
  --line: rgba(9, 41, 97, 0.16);
  --muted: #537096;
  --lime: #c8fa64;
  --white: #ffffff;
  --shadow: 0 24px 70px rgba(13, 59, 142, 0.13);
  --shell: min(1180px, calc(100vw - 48px));
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; scroll-padding-top: 90px; }

body {
  margin: 0;
  min-width: 320px;
  color: var(--ink);
  background: var(--paper);
  font-family: "Manrope", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body.menu-open { overflow: hidden; }

a { color: inherit; text-decoration: none; }
button { font: inherit; }

.skip-link {
  position: fixed; top: 12px; left: 12px; z-index: 100;
  padding: 10px 14px; border-radius: 8px;
  background: var(--lime); color: var(--ink-strong);
  transform: translateY(-160%); transition: transform .2s ease;
}
.skip-link:focus { transform: translateY(0); }

.page-noise {
  position: fixed; inset: 0; z-index: 20; pointer-events: none; opacity: .06;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E");
}

.shell { width: var(--shell); margin: 0 auto; }
.section { padding: 130px 0; }

.site-header {
  position: sticky; top: 0; z-index: 30;
  border-bottom: 1px solid rgba(255, 255, 255, .15);
  background: rgba(6, 28, 69, .93);
  backdrop-filter: blur(18px);
}

.header-inner { min-height: 80px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }

.brand { display: inline-flex; align-items: center; gap: 12px; color: white; }
.brand-mark { width: 38px; height: 38px; display: grid; grid-template-columns: repeat(3, 1fr); align-items: end; gap: 3px; padding: 8px 7px; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; }
.brand-mark span { display: block; background: var(--sky); border-radius: 99px; }
.brand-mark span:nth-child(1) { height: 42%; }.brand-mark span:nth-child(2) { height: 100%; background: var(--lime); }.brand-mark span:nth-child(3) { height: 68%; }
.brand-copy { display: grid; line-height: 1.08; }
.brand-copy strong { font-family: "Unbounded", sans-serif; font-size: 11px; font-weight: 600; letter-spacing: -.05em; }
.brand-copy span { margin-top: 4px; color: var(--sky); font-family: "DM Mono", monospace; font-size: 9px; letter-spacing: .03em; }

.site-nav { display: flex; align-items: center; gap: 6px; }
.site-nav a { padding: 9px 12px; color: rgba(255,255,255,.75); font-size: 13px; font-weight: 700; transition: color .18s ease, background .18s ease; border-radius: 99px; }
.site-nav a:hover, .site-nav a:focus-visible { color: var(--ink-strong); background: var(--lime); outline: none; }
.menu-toggle { display: none; }

.hero { position: relative; overflow: hidden; padding: 88px 0 0; color: white; background: var(--ink-strong); }
.hero::before { content:""; position:absolute; top:-280px; left:25%; width:850px; aspect-ratio:1; border-radius:50%; background: radial-gradient(circle, rgba(24,111,223,.58) 0%, rgba(24,111,223,.2) 32%, transparent 68%); filter: blur(10px); }
.hero::after { content:""; position:absolute; inset:0; background: linear-gradient(115deg, rgba(6,28,69,.2), transparent 40%), repeating-linear-gradient(90deg, transparent 0 118px, rgba(166,232,255,.04) 119px 120px); pointer-events:none; }
.hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, .93fr) minmax(410px, 1.07fr); align-items: center; min-height: 570px; gap: 20px; }
.hero-copy { padding: 50px 0 85px; }

.overline { display: inline-flex; align-items: center; gap: 9px; margin: 0 0 20px; color: var(--sky); font-family: "DM Mono", monospace; font-size: 11px; font-weight: 500; letter-spacing: .05em; text-transform: uppercase; }
.overline span { display: block; width: 25px; height: 1px; background: currentColor; }
.overline-dark { color: var(--blue-mid); }

h1, h2, h3, p { margin-top: 0; }
h1, h2 { font-family: "Unbounded", sans-serif; font-weight: 600; letter-spacing: -.066em; }
h1 { max-width: 690px; margin-bottom: 26px; font-size: clamp(43px, 5.2vw, 77px); line-height: 1.04; }
h1 em, h2 em { color: var(--sky); font-style: normal; }
.hero-lead { max-width: 540px; margin-bottom: 34px; color: rgba(255,255,255,.78); font-size: 18px; line-height: 1.7; }
.hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 24px; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 16px; width: fit-content; min-height: 54px; padding: 12px 19px; border-radius: 4px; font-size: 13px; font-weight: 800; transition: transform .2s ease, background .2s ease, color .2s ease, box-shadow .2s ease; }
.button:hover { transform: translateY(-3px); box-shadow: 0 12px 25px rgba(0,0,0,.16); }
.button span { font-size: 18px; line-height: 1; }
.button-light { color: var(--ink-strong); background: var(--lime); }
.button-blue { color: white; background: var(--blue); }
.text-link { display: inline-flex; align-items: center; gap: 8px; color: white; font-size: 13px; font-weight: 800; }
.text-link span { transition: transform .2s ease; }.text-link:hover span { transform: translateX(4px); }

.signal-map { position: relative; width: min(100%, 560px); justify-self: end; padding: 50px 26px 36px; overflow: hidden; }
.signal-map::before { content:""; position: absolute; inset: 10% 4% 6%; border: 1px solid rgba(166,232,255,.22); border-radius: 45% 55% 50% 50%; transform: rotate(-10deg); }
.signal-map svg { position: relative; z-index: 1; display: block; width: 100%; height: auto; overflow: visible; }
.territory { fill: url(#map-fill); stroke: var(--sky); stroke-width: 2; stroke-dasharray: 5 8; }
.route { fill: none; stroke: rgba(200,250,100,.75); stroke-width: 2; stroke-dasharray: 5 8; animation: routeShift 7s linear infinite; }
.route-b { animation-duration: 8s; }.route-c { animation-duration: 6s; }
.map-points circle { fill: var(--lime); stroke: var(--ink-strong); stroke-width: 5; }.map-points .focus { fill: white; stroke: var(--lime); stroke-width: 6; }
.map-place-labels text { fill:rgba(255,255,255,.76); font-family:"DM Mono",monospace; font-size:8px; letter-spacing:-.03em; paint-order:stroke; stroke:rgba(6,28,69,.58); stroke-width:3px; stroke-linejoin:round; }
.map-caption { position: absolute; top: 70px; left: 55px; z-index: 2; color: white; font-family:"Unbounded",sans-serif; font-size: 16px; line-height: 1.35; letter-spacing: -.06em; }.map-caption span { color: var(--sky); font-family:"DM Mono",monospace; font-size: 9px; letter-spacing: 0; }
.map-chip { position: absolute; z-index: 2; padding: 9px 12px; border: 1px solid rgba(166,232,255,.32); border-radius: 3px; background: rgba(5, 33, 79, .78); backdrop-filter: blur(10px); color: var(--sky); font-family:"DM Mono",monospace; font-size: 9px; }.map-chip b { color: var(--lime); font-size: 17px; font-weight: 500; }
.chip-one { top: 49%; right: 1%; }.chip-two { bottom: 13%; left: 4%; }.map-scale { position:absolute; z-index:2; right:37px; bottom:42px; color:rgba(255,255,255,.55); font-family:"DM Mono",monospace; font-size:8px; }
.hero-baseline { position:relative; z-index:1; display:grid; grid-template-columns: 2fr 1fr 3fr 1.5fr; gap: 7px; width: var(--shell); margin:0 auto; transform:translateY(1px); }.hero-baseline span { display:block; height:8px; background:var(--sky); }.hero-baseline span:nth-child(2), .hero-baseline span:nth-child(4) { background:var(--lime); }

.intro { background: var(--paper); }.intro-grid { display:grid; grid-template-columns: 1fr 4.2fr 2.1fr; gap: 50px; align-items:start; }.section-label { color:var(--blue-mid); font-family:"DM Mono",monospace; font-size:10px; letter-spacing:.04em; text-transform:uppercase; }.intro-main h2 { max-width: 650px; margin:0 0 31px; color:var(--ink-strong); font-size:clamp(31px, 3.6vw, 52px); line-height:1.18; }.intro-main h2 em { color: var(--blue-mid); }.intro-main p { max-width: 630px; margin:0; color:var(--muted); font-size:17px; line-height:1.75; }.quote-card { position:relative; margin-top:45px; padding: 30px 26px 25px; background:var(--sky); color:var(--ink-strong); }.quote-card::after { content:""; position:absolute; right:0; bottom:0; border-style:solid; border-width:0 0 34px 34px; border-color:transparent transparent var(--paper) transparent; }.quote-sign { color:var(--blue); font-family:Georgia,serif; font-size:65px; line-height:.52; }.quote-card p { margin:11px 0 19px; font-family:"Unbounded",sans-serif; font-size:17px; line-height:1.38; letter-spacing:-.06em; }.quote-card > span:last-child { font-family:"DM Mono",monospace; font-size:9px; color:var(--blue); }

.numbers-section { padding: 0 0 130px; background:var(--paper); }.numbers-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }.number-card { min-height:200px; padding: 31px 24px 22px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:white; }.number-card strong { display:block; margin-bottom:17px; color:var(--blue); font-family:"Unbounded",sans-serif; font-size:clamp(24px,2.5vw,35px); letter-spacing:-.08em; }.number-card p { margin:0; color:var(--muted); font-size:13px; font-weight:700; line-height:1.55; }.number-card-blue { background:var(--blue); }.number-card-blue strong { color:var(--lime); }.number-card-blue p { color:rgba(255,255,255,.77); }

.signals { background:var(--sky-pale); border-top:1px solid rgba(13,59,142,.08); }.section-heading { display:flex; align-items:end; justify-content:space-between; gap:50px; margin-bottom:55px; }.section-heading h2 { max-width:640px; margin:14px 0 0; color:var(--ink-strong); font-size:clamp(32px,3.8vw,54px); line-height:1.12; }.section-heading > p { max-width:360px; margin:0 0 3px; color:var(--muted); font-size:15px; line-height:1.65; }.signal-cards { display:grid; grid-template-columns:1.35fr 1fr 1fr; gap:12px; }.signal-card { display:flex; flex-direction:column; min-height:390px; padding:25px; background:white; border:1px solid rgba(9,41,97,.09); transition:transform .25s ease, box-shadow .25s ease; }.signal-card:hover { position:relative; z-index:2; transform:translateY(-7px); box-shadow:var(--shadow); }.signal-card-featured { color:white; background:var(--ink-strong); }.signal-card-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:auto; }.card-index { color:var(--blue-mid); font-family:"DM Mono",monospace; font-size:10px; }.signal-card-featured .card-index { color:var(--sky); }.signal-dot { width:10px; height:10px; border-radius:99px; background:var(--lime); box-shadow:0 0 0 6px rgba(200,250,100,.17); }.signal-card h3 { max-width:310px; margin:44px 0 13px; font-family:"Unbounded",sans-serif; font-size:21px; line-height:1.35; letter-spacing:-.065em; }.signal-card p { margin:0 0 30px; color:var(--muted); font-size:13px; line-height:1.68; }.signal-card-featured p { color:rgba(255,255,255,.7); }.signal-stat { display:flex; align-items:end; gap:12px; margin-top:auto; padding-top:17px; border-top:1px solid var(--line); }.signal-card-featured .signal-stat { border-color:rgba(255,255,255,.15); }.signal-stat b { color:var(--blue); font-family:"Unbounded",sans-serif; font-size:27px; letter-spacing:-.09em; }.signal-card-featured .signal-stat b { color:var(--lime); }.signal-stat span { max-width:150px; color:var(--muted); font-family:"DM Mono",monospace; font-size:9px; line-height:1.45; }.signal-card-featured .signal-stat span { color:var(--sky); }

.vision-statement { position:relative; overflow:hidden; color:white; background:var(--blue); }.vision-statement::before { content:""; position:absolute; width:620px; height:620px; left:-160px; bottom:-410px; border:1px solid rgba(166,232,255,.5); border-radius:50%; box-shadow:0 0 0 38px rgba(166,232,255,.09), 0 0 0 76px rgba(166,232,255,.07), 0 0 0 114px rgba(166,232,255,.05); }.vision-statement-inner { position:relative; padding:110px 0; }.statement { max-width:1060px; margin:0; font-family:"Unbounded",sans-serif; font-size:clamp(30px,4.2vw,61px); font-weight:500; letter-spacing:-.075em; line-height:1.2; }.statement strong { color:var(--lime); font-weight:600; }

.solutions { background:white; }.section-heading-split { margin-bottom:52px; }.solution-list { border-top:1px solid var(--line); }.solution { border-bottom:1px solid var(--line); }.solution-trigger { display:grid; grid-template-columns:84px 1fr 38px; width:100%; padding:25px 0; border:0; background:transparent; color:var(--ink-strong); text-align:left; cursor:pointer; }.solution-trigger:hover .solution-title { color:var(--blue-mid); }.solution-no { padding-top:8px; color:var(--blue-mid); font-family:"DM Mono",monospace; font-size:10px; }.solution-title { font-family:"Unbounded",sans-serif; font-size:clamp(20px,2.25vw,31px); font-weight:600; line-height:1.28; letter-spacing:-.065em; transition:color .18s ease; }.solution-symbol { align-self:center; display:grid; place-items:center; width:34px; height:34px; border:1px solid var(--line); border-radius:50%; color:var(--blue); font-size:23px; font-weight:300; transition:transform .2s ease, background .2s ease, color .2s ease; }.solution-trigger[aria-expanded="true"] .solution-symbol { color:var(--ink-strong); background:var(--lime); border-color:var(--lime); transform:rotate(45deg); }.solution-body { display:grid; grid-template-columns:84px minmax(0, 1fr) minmax(195px,.46fr); gap:0; padding:0 0 30px; }.solution-body p { grid-column:2; max-width:630px; margin:0; color:var(--muted); font-size:15px; line-height:1.72; }.solution-tag { align-self:start; justify-self:end; padding:10px 12px; color:var(--blue); background:var(--sky-pale); font-family:"DM Mono",monospace; font-size:9px; line-height:1.4; }

.research { color:white; background:var(--ink-strong); }.research-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:100px; }.section-label-light { color:var(--sky); }.research-lead h2 { max-width:560px; margin:20px 0 27px; color:white; font-size:clamp(31px,3.8vw,51px); line-height:1.18; }.research-lead h2 em { color:var(--lime); }.research-lead p { max-width:530px; margin:0; color:rgba(255,255,255,.7); font-size:15px; line-height:1.75; }.research-timeline { display:grid; gap:0; margin:0; padding:0; list-style:none; border-top:1px solid rgba(166,232,255,.25); }.research-timeline li { display:grid; grid-template-columns:56px 1fr; gap:18px; padding:23px 0; border-bottom:1px solid rgba(166,232,255,.25); }.research-timeline li > span { color:var(--lime); font-family:"DM Mono",monospace; font-size:10px; }.research-timeline b { display:block; margin-bottom:8px; color:white; font-size:15px; }.research-timeline p { margin:0; color:var(--sky); font-size:13px; line-height:1.6; }

.closing { padding:110px 0; background:var(--paper); }.closing-panel { display:grid; grid-template-columns:1.35fr .8fr auto; align-items:end; gap:38px; padding:52px; background:white; box-shadow:var(--shadow); }.closing-panel h2 { max-width:550px; margin:0; color:var(--ink-strong); font-size:clamp(27px,3vw,43px); line-height:1.23; }.closing-panel > p { margin:0; color:var(--muted); font-size:14px; line-height:1.7; }.closing-panel .button { white-space:nowrap; }

.site-footer { padding:44px 0; color:rgba(255,255,255,.65); background:#04152f; }.footer-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:100px; }.brand-footer { margin-bottom:22px; }.site-footer p { max-width:490px; margin:0; font-size:12px; line-height:1.7; }.footer-meta { display:grid; align-content:start; gap:21px; }.footer-meta a { width:fit-content; color:var(--sky); font-family:"DM Mono",monospace; font-size:11px; }

.reveal { opacity:0; transform:translateY(22px); transition:opacity .7s cubic-bezier(.2,.65,.2,1), transform .7s cubic-bezier(.2,.65,.2,1); }.reveal.is-visible { opacity:1; transform:translateY(0); }

@keyframes routeShift { to { stroke-dashoffset:-52; } }

@media (max-width: 860px) {
  :root { --shell: min(100% - 32px, 680px); }
  .section { padding:88px 0; }
  .site-nav { position:fixed; inset:80px 0 auto; display:grid; gap:3px; padding:18px 16px 22px; background:var(--ink-strong); border-top:1px solid rgba(255,255,255,.14); box-shadow:0 18px 35px rgba(0,0,0,.18); transform:translateY(-130%); opacity:0; pointer-events:none; transition:transform .24s ease, opacity .24s ease; }.site-nav a { padding:14px 10px; font-size:16px; }.site-nav.is-open { transform:translateY(0); opacity:1; pointer-events:auto; }
  .menu-toggle { display:flex; align-items:center; gap:10px; border:0; color:white; background:transparent; cursor:pointer; }.menu-label { font-family:"DM Mono",monospace; font-size:10px; text-transform:uppercase; }.menu-icon { display:grid; gap:5px; }.menu-icon i { display:block; width:18px; height:1px; background:var(--lime); transition:transform .2s ease; }.menu-toggle[aria-expanded="true"] i:first-child { transform:translateY(3px) rotate(45deg); }.menu-toggle[aria-expanded="true"] i:last-child { transform:translateY(-3px) rotate(-45deg); }
  .hero { padding-top:35px; }.hero-grid { grid-template-columns:1fr; min-height:0; }.hero-copy { padding:45px 0 20px; }.signal-map { justify-self:center; max-width:590px; padding-top:20px; }.map-caption { top:47px; }.hero-baseline { width:100%; }
  .intro-grid { grid-template-columns:1fr; gap:22px; }.intro-main { grid-row:2; }.quote-card { width:min(100%, 360px); margin-top:0; grid-row:3; }
  .numbers-section { padding-bottom:88px; }.numbers-grid { grid-template-columns:repeat(2,1fr); }.number-card { min-height:165px; }
  .section-heading { display:grid; align-items:start; gap:22px; margin-bottom:35px; }.section-heading > p { max-width:510px; }.signal-cards { grid-template-columns:1fr; gap:10px; }.signal-card { min-height:300px; }.signal-card h3 { margin-top:37px; }.vision-statement-inner { padding:82px 0; }
  .solution-body { grid-template-columns:62px 1fr; }.solution-trigger { grid-template-columns:62px 1fr 34px; }.solution-body p { grid-column:2; }.solution-tag { grid-column:2; justify-self:start; margin-top:18px; }.research-grid { grid-template-columns:1fr; gap:48px; }.closing-panel { grid-template-columns:1fr; align-items:start; padding:35px 28px; gap:27px; }.footer-grid { grid-template-columns:1fr; gap:28px; }
}

@media (max-width: 480px) {
  :root { --shell: min(100% - 28px, 500px); }
  .header-inner { min-height:72px; }.brand-mark { width:34px; height:34px; }.brand-copy strong { font-size:9px; }.brand-copy span { font-size:8px; }.hero { padding-top:17px; } h1 { font-size:39px; }.hero-lead { font-size:16px; }.hero-actions { align-items:flex-start; flex-direction:column; gap:17px; }.signal-map { width:112%; margin-left:-6%; padding:11px 0 21px; }.map-caption { top:32px; left:28px; font-size:12px; }.map-chip { padding:6px 8px; }.map-chip b { font-size:13px; }.chip-one { top:45%; right:1%; }.chip-two { bottom:9%; left:4%; }.map-scale { bottom:28px; right:23px; font-size:7px; }
  .intro-main h2, .section-heading h2, .research-lead h2 { font-size:29px; }.intro-main p { font-size:15px; }.numbers-grid { grid-template-columns:1fr 1fr; }.number-card { min-height:150px; padding:23px 15px; }.number-card strong { font-size:24px; }.number-card p { font-size:11px; }.signal-card { padding:20px; }.solution-trigger { grid-template-columns:39px 1fr 31px; padding:20px 0; }.solution-no { font-size:9px; }.solution-title { font-size:18px; }.solution-body { grid-template-columns:39px 1fr; padding-bottom:22px; }.solution-body p { font-size:13px; }.statement { font-size:30px; }.research-timeline li { grid-template-columns:40px 1fr; gap:8px; }.closing { padding:70px 0; }.closing-panel { padding:28px 21px; }.closing-panel h2 { font-size:27px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }.reveal { opacity:1; transform:none; transition:none; }.route { animation:none; }.button, .signal-card, .solution-symbol, .text-link span { transition:none; }
}

/* Full-document reader */
.research-link { display:inline-flex; align-items:center; gap:9px; margin-top:30px; color:var(--lime); font-size:13px; font-weight:800; }.research-link span { font-size:18px; transition:transform .2s ease; }.research-link:hover span { transform:translateX(5px); }
.document-page { background:#f2f8ff; }.site-nav .is-current { color:var(--ink-strong); background:var(--lime); }.document-hero { position:relative; overflow:hidden; padding:96px 0 74px; color:white; background:var(--ink-strong); }.document-hero::after { content:""; position:absolute; inset:0; pointer-events:none; background:repeating-linear-gradient(90deg, transparent 0 114px, rgba(166,232,255,.06) 115px 116px), radial-gradient(circle at 89% 15%, rgba(31,112,214,.48), transparent 24%); }.document-hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:1.3fr .7fr; align-items:end; gap:70px; }.document-hero h1 { max-width:720px; margin:0 0 23px; font-size:clamp(39px,5vw,68px); }.document-lead { max-width:665px; margin:0; color:rgba(255,255,255,.74); font-size:16px; line-height:1.75; }.document-status { display:grid; justify-items:start; width:220px; padding:22px 24px; border:1px solid rgba(166,232,255,.36); background:rgba(12,57,137,.45); box-shadow:15px 15px 0 rgba(166,232,255,.08); }.document-status span { color:var(--sky); font-family:"DM Mono",monospace; font-size:9px; line-height:1.4; text-transform:uppercase; }.document-status strong { margin:12px 0 -6px; color:var(--lime); font-family:"Unbounded",sans-serif; font-size:63px; letter-spacing:-.1em; }.document-status i { display:block; width:100%; height:1px; margin:18px 0 12px; background:rgba(166,232,255,.3); }.document-status b { color:white; font-family:"DM Mono",monospace; font-size:12px; font-weight:500; }
.reader-section { padding:70px 0 110px; }.reader-layout { display:grid; grid-template-columns:242px minmax(0, 1fr); align-items:start; gap:60px; }.reader-nav-wrap { position:sticky; top:105px; }.reader-nav-label { margin:0 0 16px; color:var(--blue-mid); font-family:"DM Mono",monospace; font-size:10px; letter-spacing:.05em; text-transform:uppercase; }.reader-nav { display:grid; border-top:1px solid var(--line); }.reader-nav button { display:grid; grid-template-columns:29px 1fr; align-items:center; gap:5px; padding:13px 3px; border:0; border-bottom:1px solid var(--line); color:var(--muted); background:transparent; text-align:left; font-size:12px; font-weight:800; line-height:1.35; cursor:pointer; transition:color .18s ease, background .18s ease, padding .18s ease; }.reader-nav button span { color:var(--blue-mid); font-family:"DM Mono",monospace; font-size:9px; font-weight:400; }.reader-nav button:hover { color:var(--blue); }.reader-nav button[aria-selected="true"] { padding-left:10px; color:var(--ink-strong); background:white; box-shadow:inset 3px 0 var(--lime); }.reader-nav .pdf-tab { margin-top:12px; border:1px solid rgba(13,59,142,.18); color:var(--blue); }.reader-nav .pdf-tab[aria-selected="true"] { background:var(--blue); color:white; box-shadow:none; }.reader-nav .pdf-tab[aria-selected="true"] span { color:var(--lime); }.download-link { display:flex; align-items:center; gap:8px; width:fit-content; margin-top:23px; color:var(--blue); font-family:"DM Mono",monospace; font-size:10px; font-weight:500; }.download-link span { color:var(--blue-mid); font-size:16px; }
.reader-content { min-width:0; }.reader-panel { position:relative; padding:4px 0 36px; animation:panelIn .32s ease both; }.panel-kicker { margin:0 0 15px; color:var(--blue-mid); font-family:"DM Mono",monospace; font-size:10px; letter-spacing:.05em; text-transform:uppercase; }.reader-panel h2 { max-width:900px; margin:0 0 28px; color:var(--ink-strong); font-size:clamp(29px,3.4vw,48px); line-height:1.19; }.panel-intro { max-width:760px; margin:0 0 32px; color:var(--muted); font-size:16px; line-height:1.75; }.prose-grid { display:grid; grid-template-columns:minmax(0, 1fr) 260px; gap:40px; }.prose-grid p, .long-copy p { color:var(--muted); font-size:15px; line-height:1.8; }.prose-grid p:last-child, .long-copy p:last-child { margin-bottom:0; }.panel-note { display:grid; align-content:start; gap:10px; padding:20px; border-top:4px solid var(--lime); background:var(--blue); color:white; }.panel-note b { font-family:"Unbounded",sans-serif; font-size:13px; letter-spacing:-.06em; }.panel-note span { color:var(--sky); font-size:12px; line-height:1.6; }.context-strip { display:grid; grid-template-columns:repeat(3,1fr); margin-top:36px; border-top:1px solid var(--line); border-left:1px solid var(--line); }.context-strip article { min-height:151px; padding:18px 16px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:white; }.context-strip span { display:block; margin-bottom:15px; color:var(--blue-mid); font-family:"DM Mono",monospace; font-size:9px; }.context-strip b { display:block; margin-bottom:9px; color:var(--ink-strong); font-size:13px; line-height:1.4; }.context-strip p { margin:0; color:var(--muted); font-size:11px; line-height:1.55; }.source-page { margin-top:38px; padding-top:15px; border-top:1px solid var(--line); color:var(--muted); font-family:"DM Mono",monospace; font-size:9px; }
.data-table-wrap { margin:29px 0 26px; overflow-x:auto; }.data-table-wrap table { width:100%; min-width:560px; border-collapse:collapse; background:white; }.data-table-wrap caption { padding:13px 16px; color:var(--ink-strong); background:var(--sky); text-align:left; font-family:"Unbounded",sans-serif; font-size:11px; letter-spacing:-.05em; }.data-table-wrap th, .data-table-wrap td { padding:13px 15px; border:1px solid var(--line); color:var(--muted); text-align:left; font-size:12px; line-height:1.45; }.data-table-wrap th { color:var(--blue); font-size:10px; }.data-table-wrap td:first-child { color:var(--ink-strong); font-weight:800; }.data-table-wrap small { display:block; margin-top:7px; color:var(--muted); font-family:"DM Mono",monospace; font-size:9px; }.fact-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin:26px 0 35px; }.fact-grid article { padding:20px 15px; background:var(--blue); }.fact-grid strong { display:block; margin-bottom:12px; color:var(--lime); font-family:"Unbounded",sans-serif; font-size:22px; letter-spacing:-.09em; }.fact-grid span { color:var(--sky); font-size:10px; line-height:1.55; }.long-copy { max-width:850px; }.long-copy h3 { margin:0 0 13px; color:var(--ink-strong); font-family:"Unbounded",sans-serif; font-size:16px; letter-spacing:-.06em; }
.needs-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }.needs-grid article { min-height:184px; padding:22px; border:1px solid var(--line); background:white; }.needs-grid span { color:var(--blue-mid); font-family:"DM Mono",monospace; font-size:10px; }.needs-grid h3 { margin:25px 0 10px; color:var(--ink-strong); font-family:"Unbounded",sans-serif; font-size:16px; letter-spacing:-.06em; }.needs-grid p { margin:0; color:var(--muted); font-size:12px; line-height:1.66; }.cycle-list { display:grid; grid-template-columns:repeat(4,1fr); gap:0; margin:31px 0; padding:0; list-style:none; }.cycle-list li { position:relative; min-height:145px; padding:18px 14px 18px 20px; border:1px solid var(--line); background:white; }.cycle-list li:not(:last-child)::after { content:"→"; position:absolute; z-index:1; top:50%; right:-12px; display:grid; place-items:center; width:24px; height:24px; border-radius:50%; background:var(--lime); color:var(--ink-strong); transform:translateY(-50%); font-size:14px; }.cycle-list b { display:block; margin-bottom:12px; color:var(--blue); font-family:"Unbounded",sans-serif; font-size:13px; letter-spacing:-.06em; }.cycle-list span { color:var(--muted); font-size:11px; line-height:1.55; }
.gap-matrix { display:grid; margin:33px 0; border-top:1px solid var(--line); border-left:1px solid var(--line); }.gap-matrix article { display:grid; grid-template-columns:1.1fr 1.2fr .55fr; }.gap-matrix article > * { padding:15px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); color:var(--muted); font-size:12px; line-height:1.55; }.gap-matrix .gap-heading > * { color:var(--blue); background:var(--sky); font-family:"DM Mono",monospace; font-size:9px; text-transform:uppercase; }.gap-matrix b { color:var(--ink-strong); background:#f5ffdf; font-family:"DM Mono",monospace; font-size:10px; }.vision-columns { display:grid; grid-template-columns:repeat(2,1fr); gap:11px; margin-bottom:34px; }.vision-columns article { padding:28px; background:var(--ink-strong); }.vision-columns article:last-child { background:var(--blue); }.vision-columns span { color:var(--lime); font-family:"DM Mono",monospace; font-size:9px; text-transform:uppercase; }.vision-columns h3 { margin:26px 0 13px; color:white; font-family:"Unbounded",sans-serif; font-size:18px; line-height:1.4; letter-spacing:-.06em; }.vision-columns p { margin:0; color:var(--sky); font-size:13px; line-height:1.7; }
.proposal-group { margin:32px 0; }.proposal-group h3 { margin:0; padding:14px 16px; color:white; background:var(--blue); font-family:"Unbounded",sans-serif; font-size:13px; letter-spacing:-.06em; }.proposal-list { display:grid; gap:0; margin:0; padding:0 0 0 37px; border:1px solid var(--line); background:white; }.proposal-list li { padding:14px 15px 14px 5px; border-bottom:1px solid var(--line); color:var(--blue-mid); font-family:"DM Mono",monospace; font-size:11px; }.proposal-list li:last-child { border-bottom:0; }.proposal-list b { display:block; margin-bottom:6px; color:var(--ink-strong); font-family:"Manrope",sans-serif; font-size:13px; line-height:1.45; }.proposal-list span { display:block; color:var(--muted); font-family:"Manrope",sans-serif; font-size:12px; line-height:1.6; }.method-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }.method-grid article { padding:25px; border:1px solid var(--line); background:white; }.method-grid h3 { margin:0 0 13px; color:var(--blue); font-family:"Unbounded",sans-serif; font-size:14px; line-height:1.4; letter-spacing:-.06em; }.method-grid p { margin:0; color:var(--muted); font-size:12px; line-height:1.7; }.pdf-actions { display:flex; align-items:center; flex-wrap:wrap; gap:22px; margin-bottom:26px; }.text-link-dark { color:var(--blue); }.pdf-viewer { display:block; width:100%; height:980px; border:1px solid var(--line); background:white; }.pdf-panel { min-height:1000px; }
@keyframes panelIn { from { opacity:0; transform:translateY(9px); } to { opacity:1; transform:translateY(0); } }

@media (max-width:860px) {
  .document-hero { padding:72px 0 55px; }.document-hero-grid { grid-template-columns:1fr auto; gap:25px; }.document-status { width:170px; padding:17px; }.document-status strong { font-size:48px; }.reader-layout { grid-template-columns:1fr; gap:32px; }.reader-nav-wrap { position:relative; top:auto; }.reader-nav { grid-template-columns:repeat(3,1fr); border-left:1px solid var(--line); }.reader-nav button { grid-template-columns:22px 1fr; min-height:51px; padding:9px; border-top:0; border-left:0; border-right:1px solid var(--line); }.reader-nav button[aria-selected="true"] { padding-left:9px; box-shadow:inset 0 3px var(--lime); }.reader-nav .pdf-tab { margin:0; }.download-link { margin-top:16px; }.fact-grid { grid-template-columns:repeat(2,1fr); }.cycle-list { grid-template-columns:repeat(2,1fr); }.cycle-list li:nth-child(2)::after { display:none; }.cycle-list li:nth-child(3)::after { display:grid; }.pdf-viewer { height:730px; }
}

@media (max-width:480px) {
  .document-hero { padding:54px 0 43px; }.document-hero-grid { grid-template-columns:1fr; }.document-hero h1 { font-size:37px; }.document-lead { font-size:14px; }.document-status { width:100%; grid-template-columns:auto auto 1fr; align-items:center; gap:8px; padding:14px; }.document-status strong { margin:0; font-size:35px; }.document-status i { display:none; }.document-status b { justify-self:end; }.reader-section { padding:45px 0 70px; }.reader-nav { grid-template-columns:repeat(2,1fr); }.reader-nav button { font-size:11px; }.reader-panel h2 { font-size:28px; }.panel-intro { font-size:14px; }.prose-grid { grid-template-columns:1fr; gap:18px; }.context-strip { grid-template-columns:1fr; }.context-strip article { min-height:0; }.fact-grid, .needs-grid, .vision-columns, .method-grid { grid-template-columns:1fr; }.cycle-list { grid-template-columns:1fr; }.cycle-list li { min-height:0; }.cycle-list li:not(:last-child)::after { top:auto; bottom:-12px; right:auto; left:50%; transform:translateX(-50%) rotate(90deg); }.gap-matrix { overflow-x:auto; }.gap-matrix article { width:620px; }.pdf-viewer { height:560px; }.pdf-panel { min-height:0; }.pdf-actions { align-items:flex-start; flex-direction:column; gap:14px; }
}
