/* Lyra AI data room · October 2026 identity
   Layout: white editorial room, generous margins, one flare-orange accent.
   Imagery is warm blurred light (the references), always inside rounded frames, never as page background.
   Type: Newsreader (matches the bold serif wordmark) for display, Geist for text, Geist Mono for labels.
   Single committed light look: every colour is set explicitly. */
:root {
  --white: #FFFFFF;
  --paper: #F6F5F2;
  --paper-2: #EFEDE9;
  --line: #E4E1DC;
  --ink: #141414;
  --ink-2: #3A3936;
  --muted: #75716B;
  --soft: #A7A39C;
  --flare: #FB5104;
  --flare-deep: #D24300;
  --flare-tint: #FFF0E8;
  --good: #2F6B3A;
  --good-tint: #EAF3E8;
  --forest: #123420;
  --forest-2: #1D4A30;
  --forest-tint: #E8EFE9;
  --f-display: "Newsreader", "Iowan Old Style", Georgia, serif;
  --f-body: "Geist", "Helvetica Neue", Arial, sans-serif;
  --f-mono: "Geist Mono", ui-monospace, Menlo, monospace;
  --s-hero: clamp(3rem, 7.6vw, 7.2rem);
  --s-1: clamp(2.3rem, 5vw, 4.4rem);
  --s-2: clamp(1.6rem, 2.6vw, 2.2rem);
  --s-3: clamp(1.2rem, 1.6vw, 1.45rem);
  --r: 22px;
  --r-lg: 32px;
  --nav-h: 64px;
  --ease: cubic-bezier(.16, 1, .3, 1);
  color-scheme: light;
}

* { box-sizing: border-box; }
html { scroll-padding-top: calc(var(--nav-h) + 16px); }
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
body {
  margin: 0; background: var(--white); color: var(--ink);
  font-family: var(--f-body); font-size: 16px; line-height: 1.6; font-weight: 400;
  -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overflow-x: hidden;
}
body::before { content: ""; position: fixed; inset: 0 0 auto; height: env(safe-area-inset-top, 0px); z-index: 70; background: var(--white); }
body.is-locked { overflow: hidden; }
img { max-width: 100%; display: block; }
[hidden] { display: none !important; }
a { color: inherit; }
h1, h2, h3, h4 { margin: 0; text-wrap: balance; font-weight: 400; }
p { margin: 0; }
:focus-visible { outline: 2px solid var(--flare); outline-offset: 3px; border-radius: 6px; }
::selection { background: var(--flare); color: var(--white); }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip { position: absolute; left: -999px; top: 10px; z-index: 300; background: var(--ink); color: var(--white); padding: 8px 14px; border-radius: 999px; }
.skip:focus { left: 16px; }
.select { user-select: all; }
.muted { color: var(--muted); }

/* ---------- type ---------- */
.display { font-family: var(--f-display); font-size: var(--s-1); line-height: 1.02; letter-spacing: -.025em; font-weight: 400; font-variation-settings: "opsz" 72; color: var(--ink); }
.display em, .hero__title em, .letter__lead em, .flywheel__cap em, .pull em, .display-s em { font-style: italic; color: var(--soft); font-weight: 300; }
.display--light, .display--light em { color: var(--white); }
.display--light em { opacity: .78; }
.display-s { font-family: var(--f-display); font-size: var(--s-2); line-height: 1.12; letter-spacing: -.015em; }
.subhead { font-family: var(--f-display); font-size: var(--s-2); line-height: 1.15; letter-spacing: -.015em; }
.lede { font-size: 1.06rem; line-height: 1.65; color: var(--muted); max-width: 54ch; }
.lede--light { color: rgba(255, 255, 255, .86); }
.tag { display: inline-flex; align-items: center; gap: 10px; justify-self: start; align-self: start; padding: 6px 10px; border: 1px solid var(--line); border-radius: 7px; font: 500 .68rem/1 var(--f-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--ink-2); background: var(--white); }
.tag .num { color: var(--flare); }
.tag--light { background: rgba(255, 255, 255, .14); border-color: rgba(255, 255, 255, .35); color: var(--white); backdrop-filter: blur(10px); }
.tag--light .num { color: var(--white); }
.mono { font-family: var(--f-mono); font-size: .74rem; letter-spacing: .06em; color: var(--flare); }
.fine { font-size: .78rem; color: var(--muted); }
.line { overflow: hidden; display: inline-block; vertical-align: top; padding-bottom: .1em; margin-bottom: -.1em; }
.line > span { display: inline-block; }

/* ---------- buttons ---------- */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 1px solid transparent; border-radius: 999px; padding: 13px 22px; font: 500 .9rem/1 var(--f-body); text-decoration: none; cursor: pointer; transition: background .25s, color .25s, border-color .25s, transform .4s var(--ease); }
.btn:hover { transform: translateY(-1px); }
.btn--ink { background: var(--ink); color: var(--white); }
.btn--ink:hover { background: var(--flare); }
.btn--line { background: var(--white); color: var(--ink); border-color: var(--line); }
.btn--line:hover { border-color: var(--ink); }
.btn--white { background: var(--white); color: var(--ink); }
.btn--glass { background: rgba(255, 255, 255, .16); color: var(--white); border-color: rgba(255, 255, 255, .45); backdrop-filter: blur(10px); }
.btn--glass:hover { background: var(--white); color: var(--ink); }
.btn--small { padding: 10px 16px; font-size: .82rem; }

/* ---------- intro / gate ---------- */
.intro { position: fixed; inset: 0; z-index: 200; background: var(--white); display: grid; place-items: center; overflow: auto; padding: 24px max(16px, env(safe-area-inset-right, 0px)) 24px max(16px, env(safe-area-inset-left, 0px)); }
.intro__field { position: absolute; inset: 0; opacity: 0; pointer-events: none; }
.intro__field img { width: 100%; height: 100%; object-fit: cover; }
.intro__stage { position: relative; width: min(560px, 100%); display: grid; gap: 40px; justify-items: center; }
.intro__logo { width: min(420px, 78vw); height: auto; color: var(--ink); overflow: visible; transform-origin: 0 0; }
.il-edge { stroke: var(--ink); stroke-width: 2.4; fill: none; }
.il-node { fill: var(--ink); transform-box: fill-box; transform-origin: center; }
.il-word { color: var(--ink); }
.gate { width: 100%; display: grid; gap: 16px; padding: clamp(24px, 4vw, 36px); border-radius: var(--r-lg); background: rgba(255, 255, 255, .8); border: 1px solid var(--line); backdrop-filter: blur(24px); box-shadow: 0 30px 80px -40px rgba(20, 20, 20, .25); }
.gate__title { font-family: var(--f-display); font-size: clamp(1.8rem, 4vw, 2.5rem); line-height: 1.06; letter-spacing: -.02em; }
.gate__title em { font-style: italic; color: var(--soft); font-weight: 300; }
.gate__lede { color: var(--muted); font-size: .95rem; }
.gate__row { display: flex; gap: 10px; flex-wrap: wrap; }
.gate__row input { flex: 1 1 200px; min-width: 0; padding: 13px 18px; border-radius: 999px; border: 1px solid var(--line); background: var(--white); color: var(--ink); font: 400 1rem var(--f-body); }
.gate__row input:focus { border-color: var(--ink); outline: none; }
.gate__error { color: var(--flare-deep); min-height: 1.2em; font-size: .86rem; }
.gate__fine { font-size: .8rem; color: var(--muted); }

/* ---------- nav ---------- */
.nav { position: fixed; left: 0; right: 0; top: env(safe-area-inset-top, 0px); z-index: 60; height: var(--nav-h); display: flex; align-items: center; gap: 24px; padding-inline: max(20px, env(safe-area-inset-left, 0px)) max(20px, env(safe-area-inset-right, 0px)); background: rgba(255, 255, 255, .84); backdrop-filter: blur(18px) saturate(1.4); border-bottom: 1px solid transparent; transition: border-color .3s; }
.nav.is-scrolled { border-bottom-color: var(--line); }
.nav__logo { display: block; color: var(--ink); flex: none; }
.lockup { display: block; width: 122px; height: auto; }
.nav__links { display: flex; gap: 2px; flex: 1; justify-content: flex-end; min-width: 0; overflow-x: auto; scrollbar-width: none; }
.nav__links::-webkit-scrollbar { display: none; }
.nav__links a { flex: none; padding: 7px 10px; border-radius: 999px; font-size: .8rem; text-decoration: none; color: var(--muted); transition: color .2s, background .2s; }
.nav__links a:hover { color: var(--ink); }
.nav__links a.active { color: var(--ink); background: var(--paper); }
.nav__menu { display: none; margin-left: auto; border: 1px solid var(--line); background: var(--white); border-radius: 999px; padding: 8px 14px; font: 500 .8rem var(--f-body); color: var(--ink); cursor: pointer; }
.progress { position: fixed; left: 0; right: 0; top: calc(env(safe-area-inset-top, 0px) + var(--nav-h)); height: 2px; z-index: 59; pointer-events: none; }
.progress span { display: block; height: 100%; background: var(--flare); transform-origin: 0 50%; transform: scaleX(0); }
.menu { position: fixed; inset: calc(env(safe-area-inset-top, 0px) + var(--nav-h)) 0 0; z-index: 58; background: var(--white); overflow: auto; padding: 24px max(20px, env(safe-area-inset-right, 0px)) 40px max(20px, env(safe-area-inset-left, 0px)); display: grid; gap: 16px; align-content: start; }
.menu__list { list-style: none; margin: 0; padding: 0; }
.menu__list a { display: flex; gap: 16px; align-items: baseline; padding: 14px 2px; border-bottom: 1px solid var(--line); text-decoration: none; font-family: var(--f-display); font-size: 1.6rem; }
.menu__list a span { font: 500 .72rem var(--f-mono); color: var(--flare); }

/* ---------- layout ---------- */
main { display: block; padding-top: var(--nav-h); }
.wrap { max-width: 1240px; margin: 0 auto; padding-inline: max(20px, env(safe-area-inset-left, 0px)) max(20px, env(safe-area-inset-right, 0px)); }
.section { position: relative; padding-block: clamp(96px, 12vw, 168px); }
.section > .wrap { display: grid; gap: clamp(48px, 6vw, 88px); }
.section > .wrap > * { min-width: 0; }
.section--alt { background: var(--paper); }
.head { display: grid; gap: 22px; max-width: 980px; }
.head--split { max-width: none; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); align-items: end; gap: 28px 72px; }
.head--split > div { display: grid; gap: 22px; }
.head--center { justify-items: center; text-align: center; margin-inline: auto; }
.head--center .tag { justify-self: center; }
.head--center .lede { margin-inline: auto; }
.card { background: var(--white); border: 1px solid var(--line); border-radius: var(--r); }
.pill { display: inline-block; font: 500 .66rem var(--f-mono); letter-spacing: .04em; padding: 3px 8px; border-radius: 6px; background: var(--paper); color: var(--muted); vertical-align: middle; }
.pmask { overflow: hidden; position: relative; }
.pimg { width: 100%; height: 118%; object-fit: cover; will-change: transform; }

/* ---------- hero ---------- */
.hero { padding-top: clamp(56px, 8vw, 110px); padding-bottom: clamp(40px, 6vw, 80px); }
.hero__head { display: grid; justify-items: center; text-align: center; gap: 28px; }
.hero__head .tag { justify-self: center; }
.hero__title { font-family: var(--f-display); font-size: var(--s-hero); line-height: .94; letter-spacing: -.04em; font-weight: 400; font-variation-settings: "opsz" 72; }
.hero__lede { max-width: 60ch; color: var(--muted); font-size: clamp(1rem, 1.4vw, 1.12rem); }
.hero__media { margin-top: clamp(48px, 6vw, 80px); padding-inline: max(20px, env(safe-area-inset-left, 0px)) max(20px, env(safe-area-inset-right, 0px)); }
.hero__frame { position: relative; max-width: 1240px; margin: 0 auto; aspect-ratio: 16 / 8.2; max-height: 78vh; border-radius: var(--r-lg); overflow: hidden; will-change: transform; transform-origin: 50% 0; }
.hero__img { position: absolute; inset: -10% 0; width: 100%; height: 120%; object-fit: cover; will-change: transform; }
.hero__mark { position: absolute; left: 50%; top: 50%; width: clamp(110px, 14vw, 190px); height: auto; color: var(--white); transform: translate(-50%, -50%); filter: drop-shadow(0 10px 30px rgba(120, 30, 0, .25)); }
.chip-stat { position: absolute; display: grid; gap: 2px; padding: 14px 16px; min-width: 170px; max-width: 220px; border-radius: 16px; background: rgba(255, 255, 255, .92); backdrop-filter: blur(14px); box-shadow: 0 20px 50px -24px rgba(90, 20, 0, .45); will-change: transform; }
.chip-stat b { font-family: var(--f-display); font-weight: 400; font-size: clamp(1.4rem, 2.4vw, 2rem); line-height: 1; letter-spacing: -.02em; }
.chip-stat span { font-size: .76rem; color: var(--muted); line-height: 1.35; }
.cs1 { left: 5%; top: 9%; }
.cs2 { right: 6%; top: 14%; }
.cs3 { left: 9%; bottom: 10%; }
.cs4 { right: 8%; bottom: 13%; }

/* ---------- contents ---------- */
.contents { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.6fr); gap: 40px 80px; padding-block: clamp(56px, 7vw, 96px); }
.contents__head { display: grid; gap: 16px; align-content: start; }
.contents__intro { font-family: var(--f-display); font-size: var(--s-3); line-height: 1.35; color: var(--ink-2); max-width: 30ch; }
.contents__list { list-style: none; margin: 0; padding: 0; columns: 2; column-gap: 40px; }
.contents__list li { break-inside: avoid; }
.contents__list a { display: grid; grid-template-columns: 40px minmax(0, 1fr) auto; gap: 8px; align-items: baseline; padding: 14px 0; border-top: 1px solid var(--line); text-decoration: none; transition: padding .4s var(--ease); }
.contents__list a:hover { padding-left: 8px; }
.contents__list a:hover .arrow { color: var(--flare); transform: translateX(3px); }
.contents__list .n { font: 500 .72rem var(--f-mono); color: var(--flare); }
.contents__list .t { font-family: var(--f-display); font-size: 1.22rem; }
.contents__list .arrow { color: var(--soft); transition: transform .3s var(--ease), color .2s; }

/* ---------- strip ---------- */
.strip { overflow: hidden; border-block: 1px solid var(--line); padding-block: 18px; background: var(--white); }
.strip__track { display: flex; align-items: center; gap: 28px; width: max-content; animation: marquee 70s linear infinite; font-family: var(--f-display); font-size: 1.12rem; color: var(--ink-2); white-space: nowrap; }
.strip__track i { width: 7px; height: 7px; border-radius: 50%; background: var(--flare); flex: none; }
@keyframes marquee { to { transform: translateX(-50%); } }

/* ---------- 01 founders ---------- */
.founders { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(24px, 5vw, 72px); align-items: start; }
.founder { margin: 0; display: grid; gap: 24px; }
.founder--alt { margin-top: clamp(0px, 10vw, 140px); }
.founder__photo { aspect-ratio: 4 / 5; max-width: 100%; border-radius: var(--r-lg); background: var(--paper); }
.founder__photo .pimg { height: 116%; }
.founder__role { font: 500 .7rem var(--f-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--flare); }
.founder h3 { font-family: var(--f-display); font-size: clamp(1.7rem, 2.6vw, 2.2rem); letter-spacing: -.02em; margin-block: 6px 12px; }
.founder figcaption > p:last-child { color: var(--muted); font-size: .96rem; max-width: 58ch; }

.letter { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.5fr); border-radius: var(--r-lg); background: var(--paper); overflow: hidden; }
.letter__media { min-height: 320px; }
.letter__media .pimg { position: absolute; inset: -9% 0 auto; }
.letter__body { padding: clamp(28px, 5vw, 64px); display: grid; gap: 26px; }
.letter__lead { font-family: var(--f-display); font-size: clamp(1.45rem, 2.6vw, 2.15rem); line-height: 1.18; letter-spacing: -.015em; }
.letter__cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px 32px; color: var(--ink-2); font-size: .94rem; }
.letter__sign { font-family: var(--f-display); font-style: italic; font-size: 1.25rem; }

.proof { position: relative; min-height: 760px; }
.proof__center { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); text-align: center; display: grid; gap: 18px; justify-items: center; width: min(560px, 90%); z-index: 2; }
.proof__center .tag { justify-self: center; }
.proof__title { font-family: var(--f-display); font-size: clamp(2.1rem, 4.4vw, 3.8rem); line-height: 1.02; letter-spacing: -.025em; }
.proof__title span { color: var(--soft); font-style: italic; font-weight: 300; }
.ptile { position: absolute; z-index: 1; width: 200px; padding: 18px; border-radius: 20px; background: var(--white); border: 1px solid var(--line); display: grid; gap: 22px; font-size: .82rem; line-height: 1.4; color: var(--ink-2); box-shadow: 0 24px 50px -36px rgba(20, 20, 20, .35); overflow: hidden; will-change: transform; }
.ptile b { position: relative; font-family: var(--f-display); font-weight: 400; font-size: 1.9rem; line-height: 1; letter-spacing: -.02em; color: var(--ink); }
.ptile span { position: relative; }
.ptile--flare { background: var(--flare); border-color: var(--flare); color: rgba(255, 255, 255, .92); }
.ptile--flare b { color: var(--white); }
.ptile--soft { background: var(--paper); }
.ptile--img { border: 0; color: rgba(255, 255, 255, .94); }
.ptile--img b { color: var(--white); }
.ptile--img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.pt1 { left: 0; top: 6%; }
.pt2 { left: 19%; top: 0; width: 220px; }
.pt3 { right: 18%; top: 2%; }
.pt4 { right: 0; top: 12%; }
.pt5 { left: 2%; top: 42%; }
.pt6 { right: 3%; top: 44%; }
.pt7 { left: 6%; bottom: 2%; }
.pt8 { left: 27%; bottom: 6%; }
.pt9 { right: 28%; bottom: 3%; }
.pt10 { right: 2%; bottom: 0; width: 220px; }

/* ---------- 02 story (horizontal) ---------- */
.story { overflow: hidden; }
.story__pin { display: block; }
.story__pin > .story__track { margin-top: 56px; }
.story__head { display: grid; gap: 22px; }
.story__track { list-style: none; margin: 0; padding: 0 max(20px, calc((100vw - 1200px) / 2)); display: flex; gap: 18px; width: max-content; will-change: transform; }
.story__track li { width: min(360px, 78vw); flex: none; padding: 28px; border-radius: var(--r); background: var(--white); border: 1px solid var(--line); display: grid; gap: 12px; align-content: start; min-height: 260px; position: relative; }
.story__track li::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: var(--ink); margin-bottom: 8px; }
.story__track li.is-now { background: var(--flare); border-color: var(--flare); color: var(--white); }
.story__track li.is-now::before { background: var(--white); }
.story__track li.is-now p, .story__track li.is-now .when { color: rgba(255, 255, 255, .9); }
.when { font: 500 .72rem var(--f-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--flare); }
.story__track h4 { font-family: var(--f-display); font-size: 1.55rem; line-height: 1.1; letter-spacing: -.015em; }
.story__track p { color: var(--muted); font-size: .92rem; }

/* ---------- 03 value cards ---------- */
.vcards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.vcard { display: grid; gap: 14px; align-content: start; }
.vcard__media { aspect-ratio: 3 / 3.6; border-radius: var(--r); margin-bottom: 8px; }
.vcard__media .pimg { position: absolute; inset: -9% 0 auto; }
.vcard h3 { font-family: var(--f-display); font-size: 1.4rem; line-height: 1.12; letter-spacing: -.015em; }
.vcard > p { color: var(--muted); font-size: .9rem; }
.facts { list-style: none; margin: 0; padding: 0; display: grid; font-size: .84rem; color: var(--ink-2); }
.facts li { padding: 8px 0; border-top: 1px solid var(--line); }
.ui { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 78%; padding: 16px; border-radius: 14px; background: rgba(255, 255, 255, .95); box-shadow: 0 24px 50px -24px rgba(80, 20, 0, .5); display: grid; gap: 8px; font-size: .78rem; }
.ui__k { font: 500 .62rem var(--f-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.ui__big { font-family: var(--f-display); font-size: 1.9rem; line-height: 1; }
.ui__big small { font-size: .9rem; color: var(--muted); }
.ui__bar { height: 6px; border-radius: 6px; background: var(--paper-2); overflow: hidden; }
.ui__bar span { display: block; height: 100%; background: var(--flare); }
.ui__s { color: var(--muted); font-size: .74rem; }
.ui__row { display: flex; justify-content: space-between; padding: 6px 0; border-top: 1px solid var(--line); }
.ui__row b { font-weight: 600; color: var(--flare-deep); }
.ui__v { font-size: .9rem; }
.ui__v b { font-family: var(--f-display); font-size: 1.6rem; font-weight: 400; }
.ui--people { background: transparent; box-shadow: none; justify-items: center; gap: 12px; }
.ui__tip { font-size: .72rem; padding: 6px 10px; border-radius: 8px; background: rgba(255, 255, 255, .95); }
.avatars { display: flex; }
.avatars i { width: 54px; height: 54px; border-radius: 50%; display: grid; place-items: center; font: italic 400 1.1rem var(--f-display); background: var(--white); border: 3px solid rgba(255, 255, 255, .6); margin-left: -12px; box-shadow: 0 10px 20px -10px rgba(0, 0, 0, .4); }
.avatars i:first-child { margin-left: 0; background: var(--flare); color: var(--white); }

.flywheel { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 40px; align-items: center; padding: clamp(24px, 4vw, 48px); border-radius: var(--r-lg); border: 1px solid var(--line); }
.flywheel__svg { width: 100%; height: auto; overflow: visible; }
.fw-edges path { fill: none; stroke: var(--ink); stroke-width: 1.4; }
.fw-edges .fw-axis { stroke: var(--line); stroke-dasharray: 3 5; }
.fw-nodes circle { fill: var(--ink); }
.fw-nodes .fw-hub { fill: var(--flare); }
.fw-nodes text { font: 500 15px var(--f-body); fill: var(--ink); }
.fw-nodes text.sm { font-size: 12px; font-weight: 400; fill: var(--muted); }
.fw-nodes text.fw-c { font: 400 26px var(--f-display); fill: var(--ink); }
.flywheel__cap { font-family: var(--f-display); font-size: clamp(1.3rem, 2.2vw, 1.8rem); line-height: 1.25; letter-spacing: -.01em; }

/* ---------- 04 product ---------- */
.stagefield { position: relative; margin: clamp(48px, 6vw, 80px) auto; max-width: 1400px; padding: clamp(36px, 7vw, 110px) clamp(16px, 6vw, 90px); }
.stagefield__bg { position: absolute; inset: 0 max(20px, env(safe-area-inset-left, 0px)); border-radius: var(--r-lg); }
.stagefield__bg .pimg { position: absolute; inset: -9% 0 auto; }
.device { position: relative; max-width: 1080px; margin: 0 auto; border-radius: 30px; background: #26201C; padding: 12px; box-shadow: 0 50px 100px -50px rgba(80, 20, 0, .7); will-change: transform; }
.device__bar { display: flex; align-items: center; gap: 7px; padding: 4px 8px 12px; }
.device__bar span { width: 9px; height: 9px; border-radius: 50%; background: rgba(255, 255, 255, .25); }
.device__bar em { margin-left: 10px; font: 400 .72rem var(--f-mono); font-style: normal; color: rgba(255, 255, 255, .55); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.device__screen { background: var(--white); border-radius: 20px; padding: clamp(18px, 3vw, 34px); display: grid; gap: 22px; }
.pipeline { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; }
.pipeline button { border: 1px solid var(--line); background: var(--white); border-radius: 12px; padding: 12px 6px 10px; cursor: pointer; display: grid; gap: 4px; justify-items: center; font: 500 .66rem var(--f-mono); color: var(--muted); letter-spacing: .06em; text-transform: uppercase; transition: background .25s, color .25s, border-color .25s; }
.pipeline button b { font: 400 1.3rem var(--f-display); color: var(--ink); letter-spacing: 0; text-transform: none; }
.pipeline button[aria-selected="true"] { background: var(--flare); border-color: var(--flare); color: var(--white); }
.pipeline button[aria-selected="true"] b { color: var(--white); }
.stage { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 28px; align-items: start; min-height: 230px; }
.stage h4 { font-family: var(--f-display); font-size: 1.7rem; letter-spacing: -.015em; margin-bottom: 8px; }
.stage p { color: var(--muted); font-size: .95rem; }
.stage__human { margin-top: 16px; display: inline-flex; gap: 8px; align-items: center; font: 500 .7rem var(--f-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--ink); padding: 7px 10px; border: 1px solid var(--line); border-radius: 7px; }
.stage__human::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--flare); }
.stage__mock { border-radius: 16px; background: var(--paper); padding: 12px; display: grid; gap: 8px; font-size: .84rem; }
.mock-row { display: flex; justify-content: space-between; gap: 10px; align-items: center; padding: 11px 13px; border-radius: 11px; background: var(--white); }
.mock-row strong { font-weight: 500; }
.mock-row small { color: var(--muted); }
.mock-tag { font: 500 .66rem var(--f-mono); padding: 4px 8px; border-radius: 6px; background: var(--flare-tint); color: var(--flare-deep); white-space: nowrap; }

.scorer { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: clamp(28px, 5vw, 72px); align-items: start; }
.scorer__intro { display: grid; gap: 18px; }
.scorer__intro > p { color: var(--muted); }
.weights { display: grid; gap: 12px; }
.weight { display: grid; grid-template-columns: 110px minmax(0, 1fr) 44px; gap: 12px; align-items: center; font-size: .88rem; }
.weight output { font: 500 .8rem var(--f-mono); text-align: right; }
.weights__sum { font-size: .82rem; color: var(--muted); }
input[type="range"] { -webkit-appearance: none; appearance: none; width: 100%; height: 26px; background: transparent; cursor: pointer; }
input[type="range"]::-webkit-slider-runnable-track { height: 3px; border-radius: 3px; background: linear-gradient(90deg, var(--ink) var(--p, 50%), var(--line) var(--p, 50%)); }
input[type="range"]::-moz-range-track { height: 3px; border-radius: 3px; background: var(--line); }
input[type="range"]::-moz-range-progress { height: 3px; background: var(--ink); }
input[type="range"]::-webkit-slider-thumb { -webkit-appearance: none; width: 18px; height: 18px; margin-top: -7.5px; border-radius: 50%; background: var(--white); border: 1.5px solid var(--ink); box-shadow: 0 2px 6px rgba(0, 0, 0, .12); transition: transform .2s; }
input[type="range"]:active::-webkit-slider-thumb { transform: scale(1.15); background: var(--flare); border-color: var(--flare); }
input[type="range"]::-moz-range-thumb { width: 16px; height: 16px; border-radius: 50%; background: var(--white); border: 1.5px solid var(--ink); }
.candidate { padding: clamp(20px, 3vw, 30px); display: grid; gap: 20px; box-shadow: 0 40px 80px -60px rgba(20, 20, 20, .35); }
.cand__head { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 14px; align-items: center; }
.cand__avatar { width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center; background: var(--paper); font: italic 400 1.1rem var(--f-display); }
.cand__name { font-weight: 500; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.cand__meta { font-size: .82rem; color: var(--muted); }
.cand__match { display: grid; justify-items: end; }
.cand__match span { font-family: var(--f-display); font-size: 2.6rem; line-height: 1; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.cand__match small { font: 500 .62rem var(--f-mono); color: var(--muted); text-transform: uppercase; letter-spacing: .1em; }
.axes { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; }
.axis { display: grid; gap: 7px; }
.axis__top { display: flex; justify-content: space-between; gap: 10px; font-size: .88rem; }
.axis__top b { font-weight: 500; }
.axis__band { font: 500 .62rem var(--f-mono); padding: 2px 7px; border-radius: 5px; background: var(--good-tint); color: var(--good); margin-left: 6px; }
.axis__band--meets { background: var(--paper); color: var(--ink-2); }
.axis__track { position: relative; height: 6px; border-radius: 6px; background: var(--paper-2); }
.axis__fill { position: absolute; inset: 0 auto 0 0; border-radius: 6px; background: var(--flare); transition: width .6s var(--ease); }
.axis__min { position: absolute; top: -4px; bottom: -4px; width: 2px; background: var(--ink); }
.axis__why { font-size: .82rem; color: var(--muted); }
.axis__why code { font: 500 .7rem var(--f-mono); background: var(--paper); color: var(--ink-2); padding: 1px 6px; border-radius: 5px; }
.axis__contrib { font: 500 .78rem var(--f-mono); color: var(--flare-deep); }
.notice { font-size: .78rem; color: var(--muted); padding-top: 14px; border-top: 1px solid var(--line); }

/* ---------- 05 why ---------- */
.problems { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 32px; }
.problems li { padding-top: 22px; border-top: 1px solid var(--ink); display: grid; gap: 12px; align-content: start; }
.problems h3 { font-family: var(--f-display); font-size: 1.45rem; line-height: 1.12; letter-spacing: -.015em; }
.problems p { color: var(--muted); font-size: .92rem; }
.personas { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-top: -40px; }
.persona { position: relative; border-radius: var(--r); overflow: hidden; min-height: 400px; padding: 22px; display: grid; align-content: end; gap: 10px; color: var(--white); isolation: isolate; }
.persona > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform 1.4s var(--ease); }
.persona::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(0, 0, 0, 0) 35%, rgba(40, 14, 4, .5)); }
.persona:hover > img { transform: scale(1.08); }
.persona__who { font: 500 .66rem var(--f-mono); letter-spacing: .1em; text-transform: uppercase; color: rgba(255, 255, 255, .88); }
.persona h4 { font-family: var(--f-display); font-size: 1.55rem; line-height: 1.1; letter-spacing: -.015em; }
.persona p { font-size: .86rem; color: rgba(255, 255, 255, .92); }
.persona__chip { position: absolute; top: 18px; left: 18px; font-size: .76rem; font-weight: 500; padding: 8px 12px; border-radius: 10px; background: rgba(255, 255, 255, .95); color: var(--ink); box-shadow: 0 10px 30px -14px rgba(0, 0, 0, .35); max-width: calc(100% - 36px); }
.persona--fog { color: var(--ink); }
.persona--fog::after { background: linear-gradient(180deg, rgba(255, 255, 255, 0) 35%, rgba(255, 255, 255, .55)); }
.persona--fog p, .persona--fog .persona__who { color: var(--ink-2); }

/* ---------- 06 market ---------- */
.pxstats { display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 1.6fr); gap: 40px 64px; }
.pxstats__copy { display: grid; gap: 16px; align-content: start; font-size: .98rem; color: var(--ink-2); }
.pxstats__kicker { font-weight: 500; color: var(--ink); }
.pxstats--community { grid-template-columns: minmax(0, 1fr); }
.pxstats__rows { display: grid; gap: 26px; }
.pxrow { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 28px; align-items: center; }
.pxgrid { display: grid; grid-template-columns: repeat(32, minmax(0, 1fr)); gap: 3px; }
.pxgrid i { aspect-ratio: 1; border-radius: 2px; background: var(--paper-2); }
.section--alt .pxgrid i { background: #E8E5E0; }
.pxrow__num { display: grid; gap: 6px; padding-bottom: 14px; border-bottom: 1px solid var(--ink); }
.pxrow__num b { font-family: var(--f-display); font-weight: 400; font-size: clamp(2.6rem, 5vw, 4.4rem); line-height: .95; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.pxrow__num span { font-size: .84rem; color: var(--muted); max-width: 40ch; }
.pxrow__num a { color: var(--ink-2); }

.sizer { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(28px, 4vw, 64px); align-items: center; padding: clamp(24px, 4vw, 44px); border-radius: var(--r-lg); background: var(--paper); }
.sizer__controls { display: grid; gap: 14px; }
.fields { display: grid; gap: 16px; }
.field { display: grid; gap: 2px; }
.field__top { display: flex; justify-content: space-between; gap: 12px; font-size: .86rem; }
.field__top output { font: 500 .78rem var(--f-mono); white-space: nowrap; }
.field__hint { font-size: .74rem; color: var(--muted); }
.sizer__out { display: grid; gap: 20px; justify-items: center; }
.rings { position: relative; width: min(320px, 76vw); aspect-ratio: 1; max-width: 100%; }
.ring { position: absolute; border-radius: 50%; left: 50%; bottom: 0; transform: translateX(-50%); transition: width .6s var(--ease), height .6s var(--ease); }
.r1 { width: 100%; height: 100%; background: var(--white); border: 1px solid var(--line); }
.r2 { background: url("img/field-amber.jpg") center / cover; }
.r3 { background: var(--flare); }
.sizer__dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 0; width: 100%; }
.sizer__dl div { display: grid; gap: 2px; }
.sizer__dl dt { font: 500 .62rem var(--f-mono); text-transform: uppercase; letter-spacing: .08em; color: var(--muted); display: flex; gap: 6px; align-items: center; }
.sizer__dl dt i { width: 8px; height: 8px; border-radius: 50%; display: inline-block; }
.sizer__dl dd { margin: 0; font-family: var(--f-display); font-size: 1.7rem; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.sizer__dl small { font-size: .74rem; color: var(--muted); }
.signals { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: -40px; }
.signal { padding: 24px; border-radius: var(--r); border: 1px solid var(--line); display: grid; gap: 10px; align-content: start; transition: border-color .3s, transform .5s var(--ease); background: var(--white); }
.signal:hover { border-color: var(--ink); transform: translateY(-3px); }
.signal__big { font-family: var(--f-display); font-size: 2.3rem; line-height: 1; letter-spacing: -.025em; }
.signal h4 { font-weight: 500; font-size: .98rem; }
.signal p { color: var(--muted); font-size: .86rem; }
.signal a, .signal .src { font: 400 .68rem var(--f-mono); color: var(--soft); }
.whynow { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 28px 64px; padding-top: 40px; border-top: 1px solid var(--line); }
.whynow > div { display: grid; gap: 16px; align-content: start; }
.whynow__list { margin: 0; padding-left: 1.2em; display: grid; gap: 18px; color: var(--ink-2); }
.whynow__list li::marker { font-family: var(--f-mono); color: var(--flare); font-size: .8rem; }
.whynow__list b { font-weight: 500; color: var(--ink); }
.toolate { position: relative; border-radius: var(--r-lg); overflow: hidden; color: var(--white); margin-top: -40px; }
.toolate__media { position: absolute; inset: 0; }
.toolate__media .pimg { position: absolute; inset: -9% 0 auto; }
.toolate__body { position: relative; padding: clamp(28px, 5vw, 64px); display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 22px 48px; align-items: end; }
.toolate__body .tag { grid-column: 1 / -1; }
.toolate__text { font-family: var(--f-display); font-size: clamp(1.2rem, 2vw, 1.6rem); line-height: 1.3; max-width: 46ch; }
.countdown { display: flex; gap: 8px; }
.countdown div { text-align: center; padding: 12px 14px; border-radius: 14px; background: rgba(255, 255, 255, .94); color: var(--ink); min-width: 78px; }
.countdown b { display: block; font-family: var(--f-display); font-weight: 400; font-size: 2rem; line-height: 1.05; font-variant-numeric: tabular-nums; }
.countdown span { font: 500 .58rem var(--f-mono); text-transform: uppercase; letter-spacing: .1em; color: var(--muted); }
.countdown__note { grid-column: 1 / -1; font-size: .78rem; color: rgba(255, 255, 255, .88); }

/* ---------- 07 competition ---------- */
.versus { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.vs { position: relative; border-radius: var(--r-lg); padding: 28px; min-height: 420px; overflow: hidden; display: grid; align-content: end; gap: 14px; isolation: isolate; text-align: center; }
.vs__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -1; }
.vs--fog { color: var(--ink); }
.vs--flare { color: var(--white); }
.vs h3 { font-family: var(--f-display); font-size: clamp(2.2rem, 4.4vw, 3.4rem); letter-spacing: -.03em; position: absolute; left: 0; right: 0; top: 46%; transform: translateY(-50%); }
.vs p { font-size: .9rem; max-width: 48ch; margin-inline: auto; }
.vs--fog p { color: var(--ink-2); }
.vs--flare p { color: rgba(255, 255, 255, .94); }
.vs__tags { position: absolute; top: 20px; left: 0; display: flex; gap: 8px; width: max-content; animation: marquee 28s linear infinite; }
.vs__tags span { font-size: .78rem; padding: 7px 12px; border-radius: 8px; white-space: nowrap; }
.vs--fog .vs__tags span { background: rgba(255, 255, 255, .72); color: var(--ink-2); }
.vs--flare .vs__tags span { background: rgba(255, 255, 255, .22); color: var(--white); }
.compmap { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 28px; align-items: center; }
.compmap__plot { overflow-x: auto; }
#compmap { width: 100%; min-width: 320px; height: auto; display: block; }
.cm-axis { stroke: var(--line); }
.cm-axis--main { stroke: var(--ink); }
.cm-label { font: 500 10.5px var(--f-mono); fill: var(--muted); letter-spacing: .06em; text-transform: uppercase; }
.cm-quad { font: italic 300 16px var(--f-display); fill: var(--soft); }
.cm-dot { cursor: pointer; }
.cm-dot circle { fill: var(--white); stroke: var(--ink); stroke-width: 1.4; }
.cm-dot text { font: 400 12px var(--f-body); fill: var(--ink); }
.cm-dot.is-lyra circle { fill: var(--flare); stroke: var(--flare); }
.cm-dot.is-lyra text { font-weight: 600; }
.cm-dot.on circle { fill: var(--ink); }
.cm-dot.is-lyra.on circle { fill: var(--flare-deep); }
.cm-dot:focus { outline: none; }
.cm-dot:focus-visible circle { stroke: var(--flare); stroke-width: 3; }
.compmap__card { padding: 26px; display: grid; gap: 10px; }
.compmap__card h4 { font-family: var(--f-display); font-size: 1.8rem; letter-spacing: -.02em; }
.compmap__card p { color: var(--muted); font-size: .92rem; }
.compmap__card .win { color: var(--ink); }
.compmap__card .win b { font-weight: 500; color: var(--flare-deep); }
.table-wrap { overflow-x: auto; }
.comp-table, .vs-table { width: 100%; min-width: 720px; border-collapse: collapse; font-size: .9rem; }
.comp-table th, .comp-table td, .vs-table th, .vs-table td { text-align: left; padding: 16px 14px; border-bottom: 1px solid var(--line); vertical-align: top; }
.comp-table thead th, .vs-table thead th { font: 500 .64rem var(--f-mono); text-transform: uppercase; letter-spacing: .1em; color: var(--muted); border-bottom-color: var(--ink); }
.comp-table td:first-child { font-weight: 500; white-space: nowrap; }
.comp-table td:nth-child(2), .comp-table td:nth-child(3) { color: var(--muted); }
.pull { margin: 0 auto; font-family: var(--f-display); font-weight: 400; font-size: clamp(1.7rem, 3.6vw, 3rem); line-height: 1.15; letter-spacing: -.02em; max-width: 26ch; text-align: center; }

/* ---------- 08 tech ---------- */
.arch { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 20px; }
.arch__steps { display: grid; }
.arch__steps button { display: grid; grid-template-columns: 40px minmax(0, 1fr) auto; gap: 10px; align-items: center; text-align: left; padding: 17px 4px; border: 0; border-top: 1px solid var(--line); background: transparent; color: var(--muted); cursor: pointer; font: 400 1.02rem var(--f-body); transition: color .25s, padding .4s var(--ease); }
.arch__steps button:last-child { border-bottom: 1px solid var(--line); }
.arch__steps button span { font: 500 .72rem var(--f-mono); color: var(--soft); }
.arch__steps button::after { content: "→"; color: var(--soft); opacity: 0; transition: opacity .2s; }
.arch__steps button[aria-selected="true"] { color: var(--ink); padding-left: 10px; }
.arch__steps button[aria-selected="true"] span { color: var(--flare); }
.arch__steps button[aria-selected="true"]::after { opacity: 1; color: var(--flare); }
.arch__detail { padding: clamp(22px, 3vw, 34px); display: grid; gap: 14px; align-content: start; }
.arch__detail h4 { font-family: var(--f-display); font-size: 1.9rem; letter-spacing: -.02em; }
.arch__detail p { color: var(--ink-2); }
.ticks { list-style: none; margin: 0; padding: 0; display: grid; font-size: .88rem; color: var(--ink-2); }
.ticks li { padding: 9px 0; border-top: 1px solid var(--line); display: flex; gap: 10px; }
.ticks li::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--flare); margin-top: .6em; flex: none; }
.graph { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px; align-items: center; }
.graph__copy { display: grid; gap: 18px; }
.graph__canvas { padding: 18px; background: var(--paper); border: 0; }
.graph__svg { width: 100%; height: auto; }
.g-edge { stroke: #DCD8D2; stroke-width: 1.6; fill: none; transition: stroke .4s, stroke-width .4s; }
.g-edge.on { stroke: var(--flare); stroke-width: 2.4; }
.g-node text { font: 400 11.5px var(--f-body); fill: var(--ink-2); }
.g-node--c circle { fill: var(--ink); }
.g-node--j circle { fill: var(--white); stroke: var(--ink); stroke-width: 1.6; }
.g-hub { font: italic 400 15px var(--f-display); fill: var(--muted); }
.explain { margin: 0; font: 400 .78rem/1.75 var(--f-mono); padding: 18px; border-radius: 16px; background: var(--paper); color: var(--ink); overflow-x: auto; white-space: pre; }
.explain .plus { color: var(--flare-deep); }
.explain .zero { color: var(--soft); }
.vs-table tbody th { font-weight: 500; white-space: nowrap; }
.vs-table td:nth-child(2) { color: var(--soft); }
.vs-table td:nth-child(3) { color: var(--ink); }
.vs-table td:nth-child(3)::before { content: ""; display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--flare); margin-right: 10px; vertical-align: middle; }
.stack { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; margin-top: -40px; }
.stack li { padding: 8px 13px; border-radius: 8px; border: 1px solid var(--line); font: 400 .74rem var(--f-mono); color: var(--ink-2); }

/* ---------- 09 gtm ---------- */
.motions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.motion { padding: clamp(22px, 3vw, 34px); display: grid; gap: 16px; align-content: start; }
.motion h3 { font-family: var(--f-display); font-size: 1.7rem; letter-spacing: -.02em; }
.steps { margin: 0; padding-left: 1.2em; display: grid; gap: 12px; color: var(--muted); }
.steps li::marker { font-family: var(--f-mono); color: var(--flare); font-size: .8rem; }
.steps b { color: var(--ink); font-weight: 500; }
.motion__proof { font-size: .9rem; padding: 14px 16px; border-radius: 12px; background: var(--flare-tint); color: var(--ink); }
.partners { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 20px; }
.partner { padding: 12px 0; border-top: 1px solid var(--line); display: grid; gap: 2px; }
.partner b { font-weight: 500; font-size: .9rem; }
.partner span { font-size: .78rem; color: var(--muted); }

/* ---------- 10 model ---------- */
.scen { display: inline-flex; flex-wrap: wrap; gap: 2px; padding: 4px; border-radius: 999px; background: var(--paper); justify-self: start; margin-bottom: -48px; }
.scen button { border: 0; background: transparent; padding: 10px 18px; border-radius: 999px; font: 500 .86rem var(--f-body); color: var(--muted); cursor: pointer; }
.scen button[aria-checked="true"] { background: var(--white); color: var(--ink); box-shadow: 0 2px 10px -4px rgba(0, 0, 0, .18); }
.scen button.custom { font-style: italic; }
.kpis { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); border-top: 1px solid var(--ink); }
.kpi { padding: 18px 16px 4px 0; display: grid; gap: 6px; align-content: start; }
.kpi + .kpi { padding-left: 16px; border-left: 1px solid var(--line); }
.kpi__lbl { font: 500 .62rem var(--f-mono); text-transform: uppercase; letter-spacing: .08em; color: var(--muted); }
.kpi__val { font-family: var(--f-display); font-size: clamp(1.6rem, 2.4vw, 2.2rem); line-height: 1; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.kpi__sub { font-size: .74rem; color: var(--muted); }
.kpi--warn .kpi__val { color: var(--flare-deep); }
.kpi--good .kpi__val { color: var(--good); }
.modelgrid { display: grid; grid-template-columns: minmax(260px, 330px) minmax(0, 1fr); gap: 18px; align-items: start; margin-top: -32px; }
.assump { position: sticky; top: calc(env(safe-area-inset-top, 0px) + var(--nav-h) + 16px); max-height: calc(100vh - var(--nav-h) - 40px); overflow: auto; padding: 20px; display: grid; gap: 22px; overscroll-behavior: contain; }
.assump fieldset { border: 0; margin: 0; padding: 0; display: grid; gap: 14px; }
.assump legend { font-family: var(--f-display); font-size: 1.15rem; margin-bottom: 4px; display: flex; gap: 8px; align-items: center; }
.assump legend i { width: 9px; height: 9px; border-radius: 3px; display: inline-block; }
.charts { display: grid; gap: 14px; min-width: 0; }
.chart { position: relative; padding: 20px 20px 12px; }
.chart__head { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; align-items: baseline; margin-bottom: 10px; }
.chart__head h3 { font-family: var(--f-display); font-size: 1.25rem; }
.legend { display: flex; flex-wrap: wrap; gap: 12px; font-size: .76rem; color: var(--muted); }
.legend span { display: inline-flex; gap: 6px; align-items: center; }
.legend i { width: 9px; height: 9px; border-radius: 3px; display: inline-block; }
.legend i.line { height: 2px; border-radius: 0; }
.chart__svg { width: 100%; height: 300px; display: block; overflow: visible; }
.chart__svg--short { height: 220px; }
.c-grid { stroke: var(--paper-2); }
.c-zero { stroke: var(--soft); }
.c-tick { font: 400 10px var(--f-mono); fill: var(--muted); }
.c-hit { fill: transparent; cursor: crosshair; }
.c-hl { fill: rgba(20, 20, 20, .04); }
.tip { position: absolute; z-index: 5; pointer-events: none; min-width: 200px; padding: 12px 14px; border-radius: 14px; background: var(--white); border: 1px solid var(--line); color: var(--ink); font-size: .78rem; box-shadow: 0 20px 40px -20px rgba(0, 0, 0, .3); display: grid; gap: 4px; }
.tip b { font-family: var(--f-display); font-weight: 400; font-size: 1.05rem; }
.tip div { display: flex; justify-content: space-between; gap: 14px; font-variant-numeric: tabular-nums; }
.tip i { width: 8px; height: 8px; border-radius: 2px; display: inline-block; margin-right: 6px; }
.table-details summary { cursor: pointer; padding: 16px 20px; font-weight: 500; font-size: .9rem; }
.num-table { width: 100%; min-width: 900px; border-collapse: collapse; font: 400 .74rem var(--f-mono); }
.num-table th, .num-table td { padding: 8px 10px; text-align: right; border-top: 1px solid var(--line); white-space: nowrap; }
.num-table th:first-child, .num-table td:first-child { text-align: left; position: sticky; left: 0; background: var(--white); font-family: var(--f-body); font-weight: 500; }
.num-table thead th { color: var(--muted); font-weight: 500; }
.num-table tr.sep td { border-top: 1px solid var(--ink); font-weight: 600; }
.num-table .neg { color: var(--flare-deep); }

/* ---------- 11 roadmap ---------- */
.years { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.years div { padding: 0 0 10px; border-bottom: 1px solid var(--ink); display: grid; gap: 2px; }
.years span { font: 500 .62rem var(--f-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.years b { font-family: var(--f-display); font-weight: 400; font-size: 1.15rem; }
.quarters { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 6px; margin-top: -60px; }
.quarters button { padding: 12px 4px 10px; border-radius: 12px; border: 1px solid var(--line); background: var(--white); color: var(--muted); cursor: pointer; display: grid; gap: 8px; justify-items: center; font: 500 .66rem var(--f-mono); letter-spacing: .04em; transition: background .25s, color .25s, border-color .25s; }
.quarters button:hover { border-color: var(--ink); color: var(--ink); }
.quarters .qbar { width: 60%; height: 48px; display: flex; align-items: end; }
.quarters .qbar span { width: 100%; border-radius: 3px 3px 0 0; background: var(--paper-2); transition: height .6s var(--ease), background .25s; }
.quarters button[aria-selected="true"] { background: var(--ink); border-color: var(--ink); color: var(--white); }
.quarters button[aria-selected="true"] .qbar span { background: var(--flare); }
.qpanel { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 28px; padding: clamp(22px, 3vw, 40px); min-height: 380px; margin-top: -60px; }
.qpanel__head { grid-column: 1 / -1; display: grid; gap: 10px; }
.qpanel__head h3 { font-family: var(--f-display); font-size: clamp(1.9rem, 3.6vw, 2.9rem); line-height: 1; letter-spacing: -.025em; }
.qpanel__head h3 em { color: var(--soft); font-weight: 300; }
.qpanel__theme { font: 500 .7rem var(--f-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--flare); }
.qgroups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; align-content: start; }
.qgroup h4 { font: 500 .64rem var(--f-mono); text-transform: uppercase; letter-spacing: .1em; color: var(--muted); margin-bottom: 8px; }
.qgroup ul { list-style: none; margin: 0; padding: 0; display: grid; }
.qgroup li { font-size: .9rem; color: var(--ink-2); padding: 7px 0; border-top: 1px solid var(--line); }
.qgroup li.key { color: var(--ink); font-weight: 500; display: flex; gap: 10px; }
.qgroup li.key::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--flare); margin-top: .55em; flex: none; }
.qkpis { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; align-content: start; }
.qkpis div { padding: 14px; border-radius: 14px; background: var(--paper); display: grid; gap: 2px; }
.qkpis span { font: 500 .6rem var(--f-mono); text-transform: uppercase; letter-spacing: .1em; color: var(--muted); }
.qkpis b { font-family: var(--f-display); font-weight: 400; font-size: 1.6rem; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.qkpis small { font-size: .72rem; color: var(--muted); }
.qkpis__note { grid-column: 1 / -1; font-size: .74rem; color: var(--muted); }
.qnav { display: flex; justify-content: space-between; gap: 10px; margin-top: -60px; }

/* ---------- 12 team ---------- */
.people { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 28px; }
.person { padding: 20px 0; border-top: 1px solid var(--line); display: grid; gap: 8px; align-content: start; }
.person__mono { width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center; font: italic 400 1.05rem var(--f-display); color: var(--ink); background: var(--paper); margin-bottom: 6px; }
.person__mono.is-founder { background: var(--flare); color: var(--white); }
.person__tag { font: 500 .62rem var(--f-mono); text-transform: uppercase; letter-spacing: .1em; color: var(--muted); }
.person h4 { font-family: var(--f-display); font-size: 1.35rem; letter-spacing: -.015em; }
.person p { font-size: .86rem; color: var(--muted); }
.hiring { display: grid; grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr); gap: 40px; align-items: start; }
.hiring__head { display: grid; gap: 16px; position: sticky; top: calc(env(safe-area-inset-top, 0px) + var(--nav-h) + 24px); }
.hiring__sum { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.hiring__sum div { padding: 14px; border-radius: 14px; background: var(--paper); display: grid; gap: 2px; }
.hiring__sum span { font: 500 .6rem var(--f-mono); text-transform: uppercase; letter-spacing: .1em; color: var(--muted); }
.hiring__sum b { font-family: var(--f-display); font-weight: 400; font-size: 1.5rem; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.hires { list-style: none; margin: 0; padding: 0; display: grid; }
.hire { display: grid; grid-template-columns: 76px minmax(0, 1fr) auto; gap: 16px; align-items: center; padding: 16px 0; border-top: 1px solid var(--line); transition: opacity .3s; }
.hire.off { opacity: .45; }
.hire__q { font: 500 .7rem var(--f-mono); color: var(--flare); }
.hire__role { font-weight: 500; font-size: .95rem; }
.hire__why { font-size: .82rem; color: var(--muted); margin-top: 2px; }
.hire__meta { font: 400 .68rem var(--f-mono); color: var(--soft); margin-top: 4px; }
.switch { position: relative; width: 44px; height: 24px; border-radius: 999px; border: 0; background: var(--paper-2); cursor: pointer; transition: background .25s; flex: none; }
.switch::after { content: ""; position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%; background: var(--white); box-shadow: 0 1px 3px rgba(0, 0, 0, .2); transition: transform .35s var(--ease); }
.switch[aria-checked="true"] { background: var(--ink); }
.switch[aria-checked="true"]::after { transform: translateX(20px); }

/* ---------- 13 round ---------- */
.roundcard { position: relative; border-radius: var(--r-lg); overflow: hidden; color: var(--white); min-height: 440px; display: grid; align-content: end; }
.roundcard__media { position: absolute; inset: 0; }
.roundcard__media .pimg { position: absolute; inset: -9% 0 auto; }
.roundcard__body { position: relative; padding: clamp(28px, 5vw, 64px); display: grid; gap: 20px; max-width: 860px; }
.pillars { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 28px; }
.pillar { padding-top: 20px; border-top: 1px solid var(--ink); display: grid; gap: 10px; align-content: start; }
.pillar h3 { font-family: var(--f-display); font-size: 1.45rem; letter-spacing: -.015em; }
.pillar p { font-size: .9rem; color: var(--muted); }
.captable { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 32px 48px; padding: clamp(22px, 4vw, 44px); }
.captable__out { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 24px; align-items: center; }
.donut { width: 180px; max-width: 100%; aspect-ratio: 1; border-radius: 50%; position: relative; }
.donut::after { content: attr(data-label); position: absolute; inset: 22%; border-radius: 50%; background: var(--white); display: grid; place-items: center; text-align: center; font: 400 1.1rem/1.2 var(--f-display); color: var(--ink); padding: 6px; }
.captable__dl { margin: 0; display: grid; }
.captable__dl div { display: flex; justify-content: space-between; gap: 12px; padding: 9px 0; border-top: 1px solid var(--line); font-size: .9rem; }
.captable__dl dt { display: flex; gap: 8px; align-items: center; color: var(--muted); }
.captable__dl dt i { width: 9px; height: 9px; border-radius: 3px; }
.captable__dl dd { margin: 0; font: 500 .84rem var(--f-mono); }
.funds { grid-column: 1 / -1; display: grid; gap: 16px; padding-top: 24px; border-top: 1px solid var(--line); }
.funds__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.funds__list li { display: grid; grid-template-columns: minmax(160px, 1fr) minmax(0, 2.4fr) 80px; gap: 16px; align-items: center; font-size: .9rem; }
.funds__list .fbar { height: 8px; border-radius: 8px; background: var(--paper); overflow: hidden; }
.funds__list .fbar span { display: block; height: 100%; border-radius: 8px; background: var(--flare); }
.funds__list b { text-align: right; font: 500 .82rem var(--f-mono); }
.funds__list small { display: block; color: var(--muted); font-size: .76rem; }

/* ---------- 14 docs ---------- */
.docfilter { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: -40px; }
.docfilter button { padding: 9px 15px; border-radius: 999px; border: 1px solid var(--line); background: var(--white); font: 500 .82rem var(--f-body); color: var(--muted); cursor: pointer; }
.docfilter button[aria-selected="true"] { background: var(--ink); color: var(--white); border-color: var(--ink); }
.docs { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 36px; }
.doc { display: grid; grid-template-columns: 40px minmax(0, 1fr) auto; gap: 16px; align-items: center; padding: 16px 0; border-top: 1px solid var(--line); }
.doc__icon { width: 38px; height: 46px; border-radius: 6px; border: 1px solid var(--line); background: var(--white); display: grid; place-items: end center; padding-bottom: 5px; font: 500 .52rem var(--f-mono); letter-spacing: .04em; color: var(--muted); position: relative; }
.doc__icon::before { content: ""; position: absolute; top: 6px; left: 7px; right: 7px; height: 2px; background: var(--paper-2); box-shadow: 0 5px 0 var(--paper-2), 0 10px 0 var(--paper-2); }
.doc__title { font-weight: 500; font-size: .93rem; }
.doc__desc { font-size: .78rem; color: var(--muted); }
.doc__side { display: grid; gap: 6px; justify-items: end; }
.status { font: 500 .6rem var(--f-mono); letter-spacing: .04em; text-transform: uppercase; padding: 3px 7px; border-radius: 5px; white-space: nowrap; }
.status--ok { background: var(--good-tint); color: var(--good); }
.status--sign { background: var(--flare-tint); color: var(--flare-deep); }
.status--prog { background: var(--paper); color: var(--ink-2); }
.status--req { background: var(--white); color: var(--muted); border: 1px solid var(--line); }
.doc__btn { font: 500 .78rem var(--f-body); color: var(--ink); text-decoration: underline; text-underline-offset: 3px; background: none; border: 0; cursor: pointer; padding: 0; }
.doc__btn:hover { color: var(--flare); }

/* ---------- closing ---------- */
.closing { padding-block: 24px 40px; display: grid; gap: 20px; }
.closing__frame { position: relative; margin-inline: max(20px, env(safe-area-inset-left, 0px)) max(20px, env(safe-area-inset-right, 0px)); border-radius: var(--r-lg); overflow: hidden; min-height: 80vh; display: grid; place-items: center; text-align: center; color: var(--white); }
.closing__img { position: absolute; inset: -9% 0 auto; width: 100%; height: 118%; object-fit: cover; }
.closing__inner { position: relative; display: grid; gap: 24px; justify-items: center; padding: 60px 20px; max-width: 900px; }
.closing__logo { width: min(320px, 70vw); height: auto; color: var(--white); }
.closing__contact { font-size: 1rem; color: rgba(255, 255, 255, .92); }
.closing__cta { display: flex; gap: 10px; flex-wrap: wrap; justify-content: center; }

.toast { position: fixed; left: 50%; bottom: calc(20px + env(safe-area-inset-bottom, 0px)); transform: translateX(-50%); z-index: 120; background: var(--ink); color: var(--white); padding: 12px 18px; border-radius: 12px; font-size: .86rem; max-width: calc(100% - 32px); }

/* ---------- responsive ---------- */
@media (max-width: 1180px) {
  .nav__links { display: none; }
  .nav__menu { display: inline-flex; }
  .vcards, .personas { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .people, .pillars, .problems { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
  .kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .kpi:nth-child(4) { padding-left: 0; border-left: 0; }
  .modelgrid { grid-template-columns: minmax(0, 1fr); }
  .assump { position: static; max-height: none; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .quarters { grid-template-columns: repeat(6, minmax(0, 1fr)); margin-top: 0; }
  .years { display: none; }
  .proof { min-height: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
  .proof__center { position: static; transform: none; grid-column: 1 / -1; width: 100%; margin-bottom: 20px; }
  .ptile { position: relative; inset: auto; width: auto; }
  .contents { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 820px) {
  .head--split, .founders, .letter, .letter__cols, .flywheel, .scorer, .stage, .sizer, .whynow, .versus, .compmap, .arch, .graph, .motions, .qpanel, .hiring, .captable, .docs, .pxstats, .pxrow, .toolate__body { grid-template-columns: minmax(0, 1fr); }
  .founder--alt { margin-top: 0; }
  .founders { gap: 56px; }
  .letter__media { min-height: 220px; }
  .pipeline { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .hiring__head { position: static; }
  .captable__out { grid-template-columns: minmax(0, 1fr); justify-items: center; }
  .captable__dl { width: 100%; }
  .assump { grid-template-columns: minmax(0, 1fr); }
  .signals { grid-template-columns: minmax(0, 1fr); }
  .hero__frame { aspect-ratio: 4 / 5; }
  .cs1 { left: 5%; top: 5%; } .cs2 { right: 5%; top: 24%; } .cs3 { left: 5%; bottom: 22%; } .cs4 { right: 5%; bottom: 5%; }
  .chip-stat { min-width: 0; max-width: 46%; padding: 10px 12px; }
  .contents__list { columns: 1; }
  .countdown { flex-wrap: wrap; }
  .scen, .docfilter, .stack, .signals, .toolate, .quarters, .qpanel, .qnav, .modelgrid, .personas { margin-top: 0; margin-bottom: 0; }
}
@media (max-width: 560px) {
  .vcards, .personas, .people, .pillars, .problems, .kpis, .partners, .qgroups, .proof { grid-template-columns: minmax(0, 1fr); }
  .kpi + .kpi { padding-left: 0; border-left: 0; }
  .quarters { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .sizer__dl { grid-template-columns: minmax(0, 1fr); }
  .sizer__dl .sz-total, .sizer__dl .sz-share, .sizer__dl .sz-tam { grid-column: auto; }
  .weight { grid-template-columns: 92px minmax(0, 1fr) 40px; }
  .funds__list li { grid-template-columns: minmax(0, 1fr) 70px; }
  .funds__list .fbar { grid-column: 1 / -1; grid-row: 2; }
  .hire { grid-template-columns: minmax(0, 1fr) auto; }
  .hire__q { grid-column: 1 / -1; }
  .doc { grid-template-columns: 38px minmax(0, 1fr); }
  .doc__side { grid-column: 2; justify-items: start; grid-auto-flow: column; justify-content: start; gap: 12px; align-items: center; }
  .persona { min-height: 320px; }
  .chip-stat b { font-size: 1.2rem; }
  .chip-stat span { font-size: .68rem; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
}

/* ---------- v3: forest touches ---------- */
.tag--forest { background: var(--forest-tint); border-color: #CFDDD2; color: var(--forest); }
.tag--forest-light { background: rgba(255, 255, 255, .08); border-color: rgba(255, 255, 255, .28); color: #DCE8DF; }
.tag--forest-light .num { color: #FF9A62; }
.section--forest { background: var(--forest); color: #E9F0EB; overflow: hidden; }
.section--forest::before { content: ""; position: absolute; inset: -20% -10% auto auto; width: 60vw; height: 60vw; border-radius: 50%; background: radial-gradient(circle, rgba(251, 81, 4, .28), rgba(251, 81, 4, 0) 62%); pointer-events: none; }
.section--forest .wrap { position: relative; }
.section--forest p { color: rgba(233, 240, 235, .82); }
.section--forest .display-s em, .section--forest .display em { color: #FFB07F; opacity: 1; }

/* roles */
.roles { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.4fr); gap: 28px 64px; align-items: start; padding-top: 12px; }
.roles__head { display: grid; gap: 14px; }
.roles__head .subhead em { font-style: italic; color: var(--soft); }
.roles__rows { display: grid; gap: 16px; }
.roles__row { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 16px; align-items: start; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.roles__when { font: 500 .66rem/2.6 var(--f-mono); text-transform: uppercase; letter-spacing: .1em; color: var(--muted); }
.chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.chips li { padding: 8px 14px; border-radius: 999px; background: var(--flare-tint); color: var(--flare-deep); font-size: .86rem; font-weight: 500; }
.chips--soft li { background: var(--white); color: var(--ink-2); border: 1px dashed var(--line); }
.chips--forest li { background: var(--forest-tint); color: var(--forest); }

/* life cv */
.lifecv { display: grid; gap: clamp(36px, 5vw, 64px); margin-top: clamp(80px, 10vw, 140px); }
.lifecv .head--split .lede { justify-self: end; }
.flow { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 0; counter-reset: f; }
.flow li { position: relative; display: grid; align-content: start; gap: 10px; padding: 22px 18px 0 0; border-top: 1px solid var(--line); }
.flow li::before { content: ""; position: absolute; top: -5px; left: 0; width: 9px; height: 9px; border-radius: 50%; background: var(--flare); }
.flow li:nth-child(4)::before { background: var(--forest); }
.flow .mono { font: 500 .66rem var(--f-mono); color: var(--muted); }
.flow h4 { font-family: var(--f-display); font-weight: 500; font-size: 1.2rem; letter-spacing: -.01em; }
.flow p { font-size: .86rem; line-height: 1.55; color: var(--muted); }
.constel { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 24px 48px; align-items: center; padding: clamp(22px, 3.5vw, 40px); }
.constel__controls { display: grid; gap: 14px; }
.constel__label { font-weight: 500; }
.constel__out { font: 500 .8rem var(--f-mono); color: var(--muted); min-height: 1.2em; }
.constel__aff { display: grid; gap: 4px; padding: 16px 18px; border-radius: 16px; background: var(--forest); color: #E9F0EB; }
.constel__aff span { font: 500 .62rem var(--f-mono); text-transform: uppercase; letter-spacing: .1em; opacity: .75; }
.constel__aff b { font-family: var(--f-display); font-weight: 400; font-size: 2.4rem; line-height: 1; letter-spacing: -.02em; }
#constellation { width: 100%; height: auto; }
.cs-h { font: 500 11px var(--f-mono); text-transform: uppercase; letter-spacing: .1em; fill: var(--muted); }
.cs-edge { fill: none; stroke: var(--line); transition: stroke .4s; }
.cs-edge.on { stroke: var(--flare); stroke-opacity: .55; }
.cs-node circle { transition: r .4s var(--ease); }
.cs-node text { font: 13px var(--f-body); fill: var(--soft); }
.cs-t circle { fill: var(--paper-2); stroke: var(--line); }
.cs-t.on circle { fill: var(--forest); stroke: none; }
.cs-t.on text { fill: var(--ink); }
.cs-c circle { fill: var(--flare); }
.cs-c text { fill: var(--ink); }

/* manifesto + evidence */
.manifesto { display: grid; gap: 32px; }
.manifesto__lead { font-family: var(--f-display); font-size: clamp(1.7rem, 3.4vw, 2.9rem); line-height: 1.12; letter-spacing: -.02em; max-width: 28ch; }
.manifesto__cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px 40px; }
.manifesto__cols p { font-size: 1rem; line-height: 1.7; color: var(--ink-2); }
.manifesto__cols p:first-child::first-letter { font-family: var(--f-display); font-size: 3.2em; float: left; line-height: .9; padding: 4px 8px 0 0; color: var(--flare); }
.manifesto__sign { font: 500 .72rem var(--f-mono); text-transform: uppercase; letter-spacing: .1em; color: var(--muted); }
.evidence { display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); gap: 28px 56px; padding: clamp(24px, 4vw, 48px); border-radius: var(--r-lg); background: var(--white); border: 1px solid var(--line); }
.evidence__num { display: grid; gap: 12px; align-content: start; }
.evidence__num b { font-family: var(--f-display); font-weight: 400; font-size: clamp(4rem, 9vw, 7.5rem); line-height: .9; letter-spacing: -.04em; color: var(--forest); }
.evidence__num span { color: var(--muted); max-width: 30ch; }
.evidence__copy { display: grid; gap: 14px; }
.evidence__copy p:not(.tag) { line-height: 1.65; color: var(--ink-2); }
.src { font: 400 .72rem var(--f-mono); color: var(--muted); text-decoration: underline; text-underline-offset: 3px; }
.src--light { color: rgba(233, 240, 235, .7); }

/* market sizer bar */
.sizer__out { justify-items: stretch; }
.sizer__bar { display: flex; height: 22px; border-radius: 999px; overflow: hidden; gap: 2px; background: var(--white); }
.sizer__bar span { transition: flex .6s var(--ease); min-width: 3px; }
.sizer__dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sizer__dl .sz-total, .sizer__dl .sz-share, .sizer__dl .sz-tam { grid-column: 1 / -1; }
.sizer__dl .sz-tam { padding-bottom: 14px; border-bottom: 1px solid var(--line); }
.sizer__dl .sz-tam dd { color: var(--muted); }
.sizer__dl .sz-total dd { font-size: clamp(2.2rem, 4vw, 3.2rem); }
.sizer__dl .sz-share { padding: 14px 16px; border-radius: 14px; background: var(--forest); }
.sizer__dl .sz-share dt, .sizer__dl .sz-share small { color: rgba(233, 240, 235, .75); }
.sizer__dl .sz-share dd { color: var(--white); }

/* worries */
.worries__head { display: grid; gap: 14px; max-width: 760px; }
.worries { display: grid; gap: 0; border-top: 1px solid var(--line); }
.worry { display: grid; grid-template-columns: minmax(0, .8fr) repeat(2, minmax(0, 1fr)) minmax(0, 1.3fr); gap: 20px 32px; padding: 28px 0; border-bottom: 1px solid var(--line); }
.worry header { display: grid; gap: 6px; align-content: start; }
.worry header .mono { font: 500 .66rem var(--f-mono); color: var(--flare); }
.worry h4 { font-family: var(--f-display); font-weight: 500; font-size: 1.3rem; line-height: 1.15; }
.worry p { font-size: .9rem; line-height: 1.6; color: var(--ink-2); }
.worry__k { font: 500 .62rem var(--f-mono) !important; text-transform: uppercase; letter-spacing: .1em; color: var(--muted) !important; margin-bottom: 6px; }
.worry__plan { padding: 16px 18px; border-radius: 14px; background: var(--forest-tint); }
.worry__plan .worry__k { color: var(--forest) !important; }
.worry__plan p { color: var(--forest); }

/* research */
.indep { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.4fr); gap: 28px 64px; padding-bottom: clamp(36px, 5vw, 64px); border-bottom: 1px solid rgba(255, 255, 255, .14); }
.indep__head { display: grid; gap: 16px; align-content: start; }
.indep__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 36px; }
.indep__list li { color: rgba(233, 240, 235, .8); line-height: 1.6; font-size: .95rem; padding-top: 14px; border-top: 1px solid rgba(255, 255, 255, .18); }
.indep__list b { display: block; color: var(--white); font-family: var(--f-display); font-weight: 500; font-size: 1.2rem; margin-bottom: 6px; }
.hypo { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.3fr); gap: 32px 56px; align-items: start; }
.hypo__copy { display: grid; gap: 16px; }
.hypo__copy p { line-height: 1.7; }
.hypo__lead { font-family: var(--f-display); font-size: clamp(1.4rem, 2.4vw, 1.9rem); line-height: 1.2; color: var(--white) !important; }
.hypo__q { font-family: var(--f-display); font-style: italic; font-size: 1.25rem; line-height: 1.35; color: #FFB07F !important; padding-left: 16px; border-left: 2px solid var(--flare); }
.sandbox { background: #0D2718; border-color: rgba(255, 255, 255, .12); padding: 14px; display: grid; gap: 12px; }
.sandbox__bar { display: flex; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.seg { display: inline-flex; gap: 2px; padding: 4px; border-radius: 999px; background: rgba(255, 255, 255, .08); }
.seg button { border: 0; background: transparent; padding: 8px 16px; border-radius: 999px; font: 500 .82rem var(--f-body); color: rgba(233, 240, 235, .7); cursor: pointer; }
.seg button[aria-checked="true"] { background: var(--white); color: var(--forest); }
.sandbox .btn--line { background: transparent; color: #E9F0EB; border-color: rgba(255, 255, 255, .25); }
#sandbox { width: 100%; height: auto; border-radius: 14px; background: #0A2014; display: block; }
.sandbox__stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.sandbox__stats div { display: grid; gap: 2px; padding: 10px 12px; border-radius: 12px; background: rgba(255, 255, 255, .05); }
.sandbox__stats span { font: 500 .6rem var(--f-mono); text-transform: uppercase; letter-spacing: .1em; color: rgba(233, 240, 235, .6); }
.sandbox__stats b { font-family: var(--f-display); font-weight: 400; font-size: 1.6rem; color: var(--white); font-variant-numeric: tabular-nums; }
.sandbox__legend { font-size: .76rem; display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.dot { width: 9px; height: 9px; border-radius: 50%; display: inline-block; }
.dot--flare { background: var(--flare); }
.dot--forest { background: #7FC39A; margin-left: 8px; }
.rplan { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.rplan li { display: grid; gap: 8px; padding-top: 18px; border-top: 1px solid rgba(255, 255, 255, .18); }
.rplan .mono { font: 500 .66rem var(--f-mono); color: #FF9A62; text-transform: uppercase; letter-spacing: .1em; }
.rplan h4 { font-family: var(--f-display); font-weight: 500; font-size: 1.3rem; color: var(--white); }

/* valuation */
.pillars--six { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px 28px; }
.bench { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px 56px; padding: clamp(24px, 4vw, 44px); border-radius: var(--r-lg); background: rgba(255, 255, 255, .96); color: var(--ink); }
.bench__copy { display: grid; gap: 14px; align-content: start; }
.bench__list { margin: 0; display: grid; gap: 0; }
.bench__list div { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.bench__list div:first-child dd { color: var(--flare); }
.bench__list div:last-child { border-bottom: 0; }
.bench__list dt { font-size: .9rem; color: var(--ink-2); }
.bench__list dd { margin: 0; font-family: var(--f-display); font-size: 1.7rem; letter-spacing: -.02em; white-space: nowrap; text-align: right; }
.bench__list small { display: block; font: 400 .66rem var(--f-mono); color: var(--muted); }
.bench .fine { grid-column: 1 / -1; }
.bench .fine a { color: var(--muted); }

@media (max-width: 1180px) {
  .flow { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 32px; }
  .worry { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .worry header { grid-column: 1 / -1; }
}
@media (max-width: 820px) {
  .roles, .constel, .manifesto__cols, .evidence, .indep, .hypo, .bench, .rplan, .pillars--six { grid-template-columns: minmax(0, 1fr); }
  .flow { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .indep__list { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 560px) {
  .flow, .worry { grid-template-columns: minmax(0, 1fr); }
  .roles__row { grid-template-columns: minmax(0, 1fr); gap: 6px; }
  .sandbox__stats b { font-size: 1.2rem; }
  .bench__list div { flex-direction: column; gap: 4px; }
  .bench__list dd { text-align: left; }
}

/* ---------- phones: dock, rails, folds ---------- */
.dock, .swipe, .fold, .sizer__toggle, .hires__more { display: none; }
@media (max-width: 820px) {
  .section { padding-block: 72px; }
  .section > .wrap { gap: 44px; }
  body { padding-bottom: calc(76px + env(safe-area-inset-bottom, 0px)); }

  .dock { display: grid; grid-template-columns: 48px minmax(0, 1fr) 48px; align-items: center; gap: 4px; position: fixed; z-index: 57;
    left: 12px; right: 12px; bottom: calc(12px + env(safe-area-inset-bottom, 0px)); height: 56px; padding: 4px; border-radius: 999px;
    background: rgba(255, 255, 255, .94); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); border: 1px solid var(--line);
    box-shadow: 0 14px 40px -18px rgba(90, 20, 0, .45); transform: translateY(130%); transition: transform .45s var(--ease); overflow: hidden; }
  .dock.on { transform: none; }
  .dock__btn { height: 48px; border-radius: 999px; border: 0; background: var(--paper); color: var(--ink); font-size: 1.1rem; cursor: pointer; }
  .dock__btn:disabled { opacity: .35; }
  .dock__label { height: 48px; border: 0; background: transparent; display: flex; align-items: center; justify-content: center; gap: 8px; min-width: 0; font: 500 .92rem var(--f-body); color: var(--ink); cursor: pointer; }
  .dock__n { font: 500 .7rem var(--f-mono); color: var(--flare); }
  .dock__t { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .dock__bar { position: absolute; left: 24px; right: 24px; bottom: 3px; height: 2px; border-radius: 2px; background: var(--paper-2); overflow: hidden; }
  .dock__bar span { display: block; height: 100%; background: var(--flare); transform-origin: 0 50%; transform: scaleX(0); }
  .toast { bottom: calc(84px + env(safe-area-inset-bottom, 0px)); }

  .swipe { display: flex; align-items: center; gap: 6px; justify-self: end; margin: 0 0 -28px; font: 500 .68rem var(--f-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
  .swipe span { color: var(--flare); }
  .rail { display: flex !important; grid-template-columns: none !important; gap: 12px !important; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory;
    margin-inline: -20px; padding: 4px 20px 8px; scroll-padding-inline: 20px; scrollbar-width: none; width: auto !important; }
  .rail::-webkit-scrollbar { display: none; }
  .rail > * { flex: 0 0 min(84%, 340px); scroll-snap-align: start; min-width: 0; }
  .story__pin > .story__track { margin-top: 32px; }
  .story__track.rail { will-change: auto; transform: none !important; }
  .flow.rail > li { padding: 22px 18px; border: 1px solid var(--line); border-radius: var(--r); background: var(--white); }
  .flow.rail > li::before { top: 22px; left: auto; right: 18px; }
  .problems.rail > li, .pillars--six.rail > .pillar { padding: 20px; border-radius: var(--r); background: var(--white); border: 1px solid var(--line); }
  .section--alt .problems.rail > li { background: var(--white); }
  .rplan.rail > li { padding: 18px; border-radius: var(--r); border: 1px solid rgba(255, 255, 255, .18); }
  .signals.rail > .signal { height: auto; }

  .fold { display: inline-flex; align-items: center; gap: 6px; margin-left: auto; padding: 8px 12px; min-height: 36px; border-radius: 999px; border: 1px solid var(--line); background: var(--white); font: 500 .74rem var(--f-body); color: var(--ink-2); cursor: pointer; }
  .fold::after { content: "+"; font-size: 1rem; line-height: 1; }
  .open > header .fold::after, .open > legend .fold::after { content: "−"; }
  .worry { padding: 18px 0; gap: 14px; }
  .worry header { display: flex; align-items: center; gap: 12px; cursor: pointer; }
  .worry header h4 { font-size: 1.15rem; }
  .worry:not(.open) > div { display: none; }
  .assump fieldset legend { width: 100%; cursor: pointer; }
  .assump fieldset:not(.open) > :not(legend) { display: none; }
  .assump { gap: 14px; }
  .assump fieldset + fieldset { padding-top: 12px; border-top: 1px solid var(--line); }
  .sizer__toggle, .hires__more { display: inline-flex; justify-self: start; }
  .sizer:not(.open) #sizer-inputs { display: none; }
  .sizer__out { order: -1; }
  .hires:not(.all) > li:nth-child(n+6) { display: none; }
  .hires__more { margin-top: 16px; }

  .people { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 22px 16px !important; }
  .proof { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; }
  .ptile { padding: 16px; }
  .ptile b { font-size: 1.6rem; }
  .quarters { grid-template-columns: none !important; display: flex; overflow-x: auto; scroll-snap-type: x mandatory; margin-inline: -20px; padding: 2px 20px 6px; scrollbar-width: none; }
  .quarters::-webkit-scrollbar { display: none; }
  .quarters button { flex: 0 0 64px; scroll-snap-align: center; }
  .kpis { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 18px 14px; }
  .kpi { padding-left: 0 !important; border-left: 0 !important; }
}
@media (pointer: coarse) {
  input[type="range"] { height: 40px; }
  input[type="range"]::-webkit-slider-thumb { width: 26px; height: 26px; margin-top: -11.5px; }
  input[type="range"]::-moz-range-thumb { width: 24px; height: 24px; }
  .switch { width: 52px; height: 30px; }
  .switch::after { width: 24px; height: 24px; }
  .switch[aria-checked="true"]::after { transform: translateX(22px); }
  .btn, .scen button, .seg button, .docfilter button, .nav__menu, .qnav button { min-height: 44px; }
  .field__hint, .fine { font-size: .8rem; }
}
@media (max-width: 560px) {
  .tag { font-size: .7rem; }
  .sizer__dl dt, .kpi__lbl, .worry__k, .hire__meta { font-size: .68rem !important; }
}

/* ---------- 14 chat with us ---------- */
.btn--flare { background: var(--flare); color: var(--white); }
.btn--flare:hover { background: var(--flare-deep); }
.section--chat { background: linear-gradient(180deg, var(--white), var(--flare-tint) 140%); }
.chat { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.6fr); gap: 24px; align-items: start; }
.chat__who { display: grid; gap: 12px; position: sticky; top: calc(var(--nav-h) + 24px); }
.who { display: grid; grid-template-columns: 84px minmax(0, 1fr); gap: 16px; align-items: center; padding: 12px; border-radius: var(--r); border: 1px solid var(--line); background: var(--white); text-align: left; cursor: pointer; transition: border-color .25s, box-shadow .25s, transform .25s var(--ease); }
.who img { width: 84px; height: 84px; border-radius: 16px; object-fit: cover; object-position: 50% 20%; filter: grayscale(.2); }
.who__txt { display: grid; gap: 2px; }
.who__txt b { font-family: var(--f-display); font-weight: 500; font-size: 1.5rem; line-height: 1; }
.who__txt small { font: 500 .66rem var(--f-mono); text-transform: uppercase; letter-spacing: .1em; color: var(--muted); }
.who__txt em { font-style: normal; font-size: .86rem; color: var(--ink-2); margin-top: 4px; }
.who:hover { border-color: var(--soft); }
.who[aria-checked="true"] { border-color: var(--flare); box-shadow: 0 18px 40px -26px rgba(251, 81, 4, .7); transform: translateY(-2px); }
.who[aria-checked="true"] img { filter: none; }
.who[data-who="kris"][aria-checked="true"] { border-color: var(--forest); box-shadow: 0 18px 40px -26px rgba(18, 52, 32, .6); }
.chat__note { font-size: .78rem; color: var(--muted); line-height: 1.5; padding: 4px 4px 0; }
.chat__note a { color: var(--ink-2); }
.chat__box { display: grid; grid-template-rows: auto minmax(0, 1fr) auto auto; height: min(680px, 78vh); overflow: hidden; box-shadow: 0 30px 70px -50px rgba(90, 20, 0, .5); }
.chat__head { display: flex; align-items: center; gap: 12px; padding: 14px 16px; border-bottom: 1px solid var(--line); }
.chat__head > div { display: grid; flex: 1; min-width: 0; }
.chat__head b { font-family: var(--f-display); font-weight: 500; font-size: 1.15rem; }
.chat__head small { font-size: .78rem; color: var(--muted); }
.chat__avatar img { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; object-position: 50% 20%; display: block; }
.chat__log { overflow-y: auto; padding: 18px 16px; display: flex; flex-direction: column; gap: 12px; overscroll-behavior: contain; background: var(--paper); }
.msg { display: flex; gap: 10px; align-items: flex-end; max-width: 88%; flex-wrap: wrap; }
.msg p { padding: 12px 15px; border-radius: 18px; font-size: .94rem; line-height: 1.55; white-space: pre-wrap; }
.msg--bot img { width: 28px; height: 28px; border-radius: 50%; object-fit: cover; object-position: 50% 20%; flex: none; }
.msg--bot p { background: var(--white); border: 1px solid var(--line); border-bottom-left-radius: 6px; flex: 1; min-width: 0; color: var(--ink); }
.msg--me { align-self: flex-end; }
.msg--me p { background: var(--ink); color: var(--white); border-bottom-right-radius: 6px; }
.msg p.is-thinking { color: var(--muted); font-style: italic; }
.msg__handoff { margin-left: 38px; border: 0; background: none; padding: 2px 0; font: 500 .8rem var(--f-body); color: var(--flare-deep); cursor: pointer; text-decoration: underline; text-underline-offset: 3px; flex-basis: 100%; text-align: left; }
.chat__chips { display: flex; gap: 8px; overflow-x: auto; padding: 12px 16px 4px; scrollbar-width: none; border-top: 1px solid var(--line); background: var(--white); }
.chat__chips::-webkit-scrollbar { display: none; }
.chip { flex: none; padding: 9px 14px; border-radius: 999px; border: 1px solid var(--line); background: var(--white); font: 500 .82rem var(--f-body); color: var(--ink-2); cursor: pointer; }
.chip:hover { border-color: var(--ink); }
.chip--spec { background: var(--flare-tint); border-color: #FFD3BC; color: var(--flare-deep); }
[data-voice="kris"] .chip--spec { background: var(--forest-tint); border-color: #CFDDD2; color: var(--forest); }
.chip--fun::before { content: "✦ "; }
.chat__form { display: flex; gap: 8px; padding: 10px 12px 12px; background: var(--white); align-items: flex-end; }
.chat__form textarea { flex: 1; resize: none; min-height: 46px; max-height: 140px; padding: 12px 14px; border-radius: 22px; border: 1px solid var(--line); font: 400 .95rem/1.4 var(--f-body); color: var(--ink); background: var(--paper); }
.chat__form textarea:focus { outline: 2px solid var(--flare); outline-offset: 1px; background: var(--white); }
@media (max-width: 820px) {
  .chat { grid-template-columns: minmax(0, 1fr); }
  .chat__who { position: static; grid-template-columns: 1fr 1fr; gap: 10px; }
  .chat__note { grid-column: 1 / -1; }
  .who { grid-template-columns: minmax(0, 1fr); padding: 10px; gap: 10px; }
  .who img { width: 100%; height: auto; aspect-ratio: 1; }
  .who__txt b { font-size: 1.25rem; }
  .who__txt em { font-size: .78rem; }
  .chat__box { height: min(620px, 74svh); }
  .msg { max-width: 94%; }
  .chat__form textarea { font-size: 16px; }
}
.funds__list li.funds__sum { padding-top: 12px; border-top: 1px solid var(--line); font-weight: 500; }
.funds__list li.funds__sum b { font-size: .92rem; }
.captable__dl .cap__note { grid-column: 1 / -1; }
.captable__dl .cap__note dt { text-transform: none; letter-spacing: 0; font: 400 .76rem/1.45 var(--f-body); color: var(--muted); }

/* chapter jumps land below the fixed nav */
main section[id] { scroll-margin-top: calc(env(safe-area-inset-top, 0px) + var(--nav-h)); }

/* ---------- 06 investors in conversation ---------- */
.investors { display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 2.3fr); gap: 16px; align-items: stretch; }
.investors__count { display: grid; align-content: center; gap: 8px; padding: 28px; background: var(--forest); border-color: var(--forest); color: #E9F0EB; }
.investors__count b { font-family: var(--f-display); font-weight: 400; font-size: clamp(3.4rem, 6vw, 5rem); line-height: .9; color: var(--white); }
.investors__count span { font-size: 1rem; }
.investors__count small { font-size: .76rem; opacity: .7; }
.investors__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.inv { display: grid; grid-template-columns: 48px minmax(0, 1fr); grid-template-rows: auto auto; gap: 4px 14px; align-items: center; padding: 18px; border-radius: var(--r); background: var(--white); border: 1px solid var(--line); }
.inv__mono { grid-row: span 2; width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center; background: var(--flare-tint); color: var(--flare-deep); font: 500 .9rem var(--f-mono); }
.inv div { display: grid; gap: 2px; min-width: 0; }
.inv b { font-family: var(--f-display); font-weight: 500; font-size: 1.15rem; line-height: 1.15; }
.inv div span { font-size: .84rem; color: var(--muted); }
.inv__type { justify-self: start; font: 500 .62rem var(--f-mono); font-style: normal; text-transform: uppercase; letter-spacing: .1em; padding: 4px 8px; border-radius: 6px; background: var(--paper); color: var(--ink-2); }
.interest { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px 56px; padding: clamp(24px, 4vw, 44px); align-items: start; }
.interest__copy { display: grid; gap: 14px; }
.interest__fields { display: grid; gap: 14px; }
.ifield { display: grid; gap: 6px; font-size: .86rem; font-weight: 500; }
.ifield small { font-weight: 400; color: var(--muted); }
.ifield input, .ifield select { font: 400 1rem var(--f-body); padding: 13px 14px; border-radius: 12px; border: 1px solid var(--line); background: var(--paper); color: var(--ink); min-height: 48px; width: 100%; }
.ifield input:focus, .ifield select:focus { outline: 2px solid var(--flare); outline-offset: 1px; background: var(--white); }
.interest .btn { justify-self: start; }
@media (max-width: 1180px) { .investors__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 820px) {
  .investors, .interest { grid-template-columns: minmax(0, 1fr); }
  .investors__count { grid-template-columns: auto 1fr; align-items: center; gap: 4px 16px; padding: 20px; }
  .investors__count b { grid-row: span 2; font-size: 3.2rem; }
  .ifield input, .ifield select { font-size: 16px; }
}
@media (max-width: 560px) { .investors__list { grid-template-columns: minmax(0, 1fr); } .inv { padding: 14px; } }

/* ---------- visitor: name at the gate, greeting, about you ---------- */
.gate__name { padding: 13px 18px; border-radius: 999px; border: 1px solid var(--line); background: var(--white); color: var(--ink); font: 400 1rem var(--f-body); width: 100%; }
.gate__name:focus { border-color: var(--ink); outline: none; }
.hero__hello { justify-self: center; display: flex; flex-wrap: wrap; justify-content: center; align-items: baseline; gap: 4px 10px; font-family: var(--f-display); font-size: clamp(1.4rem, 2.6vw, 2rem); letter-spacing: -.015em; color: var(--ink); }
.hero__hello span { font-family: var(--f-body); font-size: .92rem; color: var(--muted); letter-spacing: 0; }
.hero__notyou { border: 0; background: none; padding: 0; font: 400 .78rem var(--f-body); color: var(--soft); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.you { padding: 0; overflow: hidden; }
.you summary { list-style: none; display: grid; gap: 2px; padding: 14px 16px; cursor: pointer; }
.you summary::-webkit-details-marker { display: none; }
.you summary::after { content: "+"; position: absolute; right: 16px; top: 12px; font-size: 1.2rem; color: var(--muted); }
.you { position: relative; }
.you[open] summary::after { content: "−"; }
.you__t { font-family: var(--f-display); font-weight: 500; font-size: 1.15rem; }
.you summary small { font-size: .78rem; color: var(--muted); padding-right: 20px; }
.you__fields { display: grid; gap: 12px; padding: 0 16px 16px; }
.you__fields label { display: grid; gap: 6px; font-size: .82rem; font-weight: 500; }
.you__fields input, .you__fields select, .you__fields textarea { font: 400 .92rem var(--f-body); padding: 10px 12px; border-radius: 12px; border: 1px solid var(--line); background: var(--paper); color: var(--ink); width: 100%; resize: vertical; }
.you__fields input:focus, .you__fields select:focus, .you__fields textarea:focus { outline: 2px solid var(--flare); outline-offset: 1px; background: var(--white); }
.you__chips { display: flex; flex-wrap: wrap; gap: 6px; }
.you__chips .chip { padding: 6px 10px; font-size: .74rem; }
@media (max-width: 820px) {
  .chat__who .you { grid-column: 1 / -1; }
  .gate__name, .you__fields input, .you__fields select, .you__fields textarea { font-size: 16px; }
}

/* ---------- consent at the gate ---------- */
.gate__consent { display: flex; gap: 10px; align-items: flex-start; font-size: .8rem; line-height: 1.45; color: var(--ink-2); cursor: pointer; }
.gate__consent input { width: 18px; height: 18px; margin-top: 1px; accent-color: var(--flare); flex: none; }

/* ---------- company, in plain steps ---------- */
.simple-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.simple-steps li { display: grid; gap: 10px; align-content: start; padding: 20px; border-radius: var(--r); background: var(--white); border: 1px solid var(--line); }
.simple-steps .mono { width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: var(--flare); color: var(--white); font: 500 .85rem var(--f-mono); }
.simple-steps li:nth-child(4) .mono { background: var(--forest); }
.simple-steps p { font-size: 1rem; line-height: 1.45; color: var(--ink); }
.pointer { font-size: .95rem; color: var(--muted); }
.pointer a { color: var(--flare-deep); }

/* ---------- investors: no names ---------- */
.backers { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.backer { display: grid; gap: 12px; align-content: start; padding: 28px; }
.backer h3 { font-family: var(--f-display); font-weight: 500; font-size: 1.6rem; line-height: 1.1; }
.backer p { color: var(--muted); }
.backer--cta { background: var(--forest); border-color: var(--forest); }
.backer--cta h3 { color: var(--white); }
.backer--cta p { display: flex; flex-wrap: wrap; gap: 8px; }

/* ---------- FAQs ---------- */
.faq { display: grid; border-top: 1px solid var(--line); }
.faq__item { border-bottom: 1px solid var(--line); }
.faq__item summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: 16px; align-items: center; padding: 20px 2px; font-family: var(--f-display); font-size: clamp(1.15rem, 2vw, 1.4rem); line-height: 1.25; }
.faq__item summary::-webkit-details-marker { display: none; }
.faq__item summary::after { content: "+"; flex: none; width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; border: 1px solid var(--line); background: var(--white); font: 400 1.1rem var(--f-body); color: var(--ink-2); }
.faq__item[open] summary::after { content: "−"; }
.faq__item p { padding: 0 2px 22px; max-width: 70ch; font-size: 1rem; line-height: 1.65; color: var(--ink-2); }

@media (max-width: 1180px) { .simple-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 820px) { .backers { grid-template-columns: minmax(0, 1fr); } .simple-steps { grid-template-columns: minmax(0, 1fr); } .simple-steps li { grid-template-columns: 32px minmax(0, 1fr); align-items: center; padding: 14px 16px; } }

/* ---------- what is an FDE ---------- */
.fde-explainer { display: grid; grid-template-columns: minmax(0, .5fr) minmax(0, 2fr); gap: 16px 40px; padding: clamp(22px, 3.5vw, 36px); align-items: start; }
.fde-explainer__body { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 32px; }
.fde-explainer__body p { font-size: 1.02rem; line-height: 1.55; color: var(--ink); }
.fde-explainer__body b { font-weight: 600; }
@media (max-width: 820px) { .fde-explainer, .fde-explainer__body { grid-template-columns: minmax(0, 1fr); } }
