:root { --ink:#10251f; --muted:#587068; --soft:#eaf0eb; --line:#cedbd3; --paper:#fbfcf8; --lime:#c9e760; --leaf:#245a48; --navy:#10233a; --night:#0c1d1a; --sand:#f1eddf; --blue:#a9c8e9; --blue-line:#9bb8d1; --serif:Georgia,"Times New Roman",serif; --sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans); line-height:1.55; } a { color:inherit; }.shell { width:min(1160px,calc(100% - 48px)); margin:0 auto; }.skip-link { position:fixed; z-index:30; top:-50px; left:18px; padding:8px 12px; color:var(--night); background:var(--lime); border-radius:4px; font-weight:700; }.skip-link:focus { top:14px; }
.site-header { position:sticky; top:0; z-index:20; background:rgba(251,252,248,.94); border-bottom:1px solid rgba(16,37,31,.1); backdrop-filter:blur(16px); }.nav { min-height:72px; display:flex; align-items:center; justify-content:space-between; gap:24px; }.brand { display:inline-flex; align-items:center; gap:11px; font-weight:750; text-decoration:none; letter-spacing:-.02em; }.brand-mark { display:grid; width:31px; height:31px; place-items:center; color:var(--night); background:var(--lime); border-radius:50%; font-family:var(--serif); font-weight:700; } nav { display:flex; gap:22px; } nav a { color:var(--muted); text-decoration:none; font-size:14px; font-weight:650; } nav a:hover { color:var(--leaf); }
.hero { overflow:hidden; padding:94px 0 84px; color:#f5f5ea; background:radial-gradient(circle at 78% 25%,rgba(201,231,96,.24),transparent 23%),radial-gradient(circle at 90% 80%,rgba(41,123,103,.35),transparent 33%),var(--night); }.hero-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(270px,.65fr); gap:72px; align-items:center; }.eyebrow { margin:0 0 13px; color:var(--leaf); font-size:11px; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }.hero .eyebrow,.inverse .eyebrow { color:var(--lime); } h1,h2,h3,p { margin-top:0; } h1,h2 { font-family:var(--serif); letter-spacing:-.045em; line-height:1.04; } h1 { max-width:680px; margin-bottom:22px; font-size:clamp(48px,6.5vw,78px); font-weight:500; } h1 em,h2 em { color:var(--lime); font-weight:500; }.hero-copy { max-width:595px; margin-bottom:32px; color:#c5d2c7; font-size:19px; }.hero-actions { display:flex; flex-wrap:wrap; gap:12px; }.button { display:inline-flex; align-items:center; gap:9px; min-height:45px; padding:0 17px; border:1px solid transparent; border-radius:4px; font-size:14px; font-weight:750; text-decoration:none; }.button-primary { color:var(--night); background:var(--lime); }.button-primary:hover { background:#deef99; }.button-quiet { color:#e7eee8; border-color:rgba(231,238,232,.4); }.button-quiet:hover { border-color:var(--lime); color:var(--lime); }.hero-panel { padding:26px; border:1px solid rgba(201,231,96,.3); background:rgba(9,31,26,.55); }.panel-kicker { margin-bottom:15px; color:var(--lime); font-size:11px; letter-spacing:.13em; font-weight:800; text-transform:uppercase; }.hero-panel ol { display:grid; gap:16px; margin:0; padding:0; list-style:none; }.hero-panel li { display:grid; grid-template-columns:30px 1fr; gap:12px; color:#e4ece1; font-size:14px; }.hero-panel li span { color:var(--lime); font-weight:800; }
.sector-strip { border-bottom:1px solid var(--line); background:var(--sand); }.sector-grid { display:grid; grid-template-columns:.7fr .9fr 1.7fr; }.sector-grid>div { padding:23px 24px 22px; border-right:1px solid var(--line); }.sector-grid>div:first-child { padding-left:0; }.sector-grid>div:last-child { border:0; }.metric-label { display:block; margin-bottom:4px; color:var(--muted); font-size:10px; letter-spacing:.12em; font-weight:800; text-transform:uppercase; }.sector-grid strong { font-size:14px; }
.section { padding:100px 0; }.section-heading { display:grid; grid-template-columns:1.2fr .8fr; gap:48px; align-items:end; margin-bottom:34px; }.section-heading h2 { max-width:730px; margin:0; font-size:clamp(35px,4vw,52px); font-weight:500; }.section-heading>p { max-width:420px; margin:0; color:var(--muted); font-size:14px; }.research-table-head,.research-row { display:grid; grid-template-columns:64px minmax(220px,1fr) minmax(240px,1.4fr) 190px 35px; gap:16px; align-items:center; }.research-table-head { padding:0 20px 10px; color:var(--muted); border-bottom:1px solid var(--line); font-size:10px; letter-spacing:.12em; font-weight:800; text-transform:uppercase; }.research-row { min-height:108px; padding:18px 20px; border-bottom:1px solid var(--line); background:transparent; color:var(--ink); text-decoration:none; transition:background .16s ease,padding .16s ease; }.research-row:hover { padding-left:27px; background:#f0f5ee; }.research-index { color:var(--leaf); font-family:var(--serif); font-size:23px; }.research-company strong { display:block; font-family:var(--serif); font-size:24px; line-height:1.05; font-weight:500; }.research-company span,.research-focus { color:var(--muted); font-size:12px; }.research-focus { max-width:390px; }.discussion-signal { display:inline-flex; width:max-content; padding:4px 7px; color:var(--leaf); background:#e8f1dc; font-size:10px; letter-spacing:.08em; font-weight:800; text-transform:uppercase; }.discussion-signal.elevated { color:#1d5a63; background:#dceef0; }.discussion-signal.event { color:#7a4b12; background:#fff0ce; }.discussion-signal.lower { color:#6b5a47; background:#ece8e0; }.row-arrow { color:var(--leaf); font-size:24px; text-align:right; }
.method-section { padding:100px 0; color:#ebf1ea; background:var(--navy); }.inverse>p { color:#b7c8c0; }.method-heading { grid-template-columns:1fr; }.workflow-frame { overflow-x:auto; padding:15px 0 5px; }.workflow-graphic { display:block; min-width:930px; width:100%; height:auto; }.flow-line path { fill:none; stroke:var(--blue-line); stroke-width:2; stroke-linecap:square; stroke-linejoin:round; vector-effect:non-scaling-stroke; }.flow-label { fill:#b8cfdf; font-family:var(--sans); font-size:12px; font-weight:800; letter-spacing:2px; }.flow-node rect { fill:var(--blue); stroke:#88afd4; stroke-width:1.3; vector-effect:non-scaling-stroke; }.flow-node.emphasis rect,.flow-node.output rect { fill:#b8d4ed; stroke:#79a6d0; }.flow-node.input rect { fill:#c1dbef; }.flow-node text { fill:#18364e; text-anchor:middle; font-family:var(--sans); font-size:14px; font-weight:700; }
footer { padding:32px 0; color:#b9c7bd; background:var(--night); }.footer-grid { display:grid; grid-template-columns:.8fr 1.5fr .7fr; gap:40px; align-items:start; font-size:12px; }.footer-grid strong { display:block; color:#fff; font-family:var(--serif); font-size:18px; font-weight:500; }.footer-grid span { display:block; }.footer-grid p { margin:0; }
.note-page { min-height:100vh; }.note-top { background:var(--night); color:#eef3e9; }.note-topbar { display:flex; justify-content:space-between; align-items:center; min-height:68px; border-bottom:1px solid rgba(255,255,255,.15); }.back-link { color:var(--lime); font-size:13px; font-weight:800; text-decoration:none; }.note-label { color:#b7c8c0; font-size:12px; }.note-hero { padding:74px 0 64px; }.note-meta { margin-bottom:14px; color:var(--lime); font-size:12px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }.note-hero h1 { margin-bottom:16px; color:#fff; font-size:clamp(48px,7vw,82px); }.note-hero h1 span { color:var(--lime); }.note-lede { max-width:780px; margin:0; color:#c5d2c7; font-family:var(--serif); font-size:25px; line-height:1.35; }.note-snapshot { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--line); background:var(--sand); }.note-snapshot div { padding:20px; border-right:1px solid var(--line); }.note-snapshot div:last-child { border:0; }.note-snapshot span { display:block; color:var(--muted); font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }.note-snapshot strong { display:block; margin-top:4px; font-size:18px; }.note-body { padding:80px 0 95px; }.note-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }.note-grid article { min-height:195px; padding:22px; border:1px solid var(--line); background:#fff; }.note-grid article:first-child { border-top:4px solid var(--lime); }.note-grid h2 { margin:0 0 12px; color:var(--leaf); font-family:var(--sans); font-size:12px; letter-spacing:.11em; text-transform:uppercase; }.note-grid p,.note-grid ul { margin:0; color:#40554c; font-size:14px; }.note-grid ul { padding-left:18px; }.note-grid li+li { margin-top:7px; }.note-evidence { margin-top:58px; padding-top:36px; border-top:1px solid var(--line); }.note-evidence h2 { margin-bottom:14px; font-family:var(--serif); font-size:34px; font-weight:500; }.evidence-links { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }.evidence-links a { padding:14px 0; border-bottom:1px solid var(--line); color:var(--leaf); font-size:13px; font-weight:750; text-decoration:none; }.evidence-links a:hover { text-decoration:underline; text-underline-offset:4px; }
@media(max-width:800px){.shell{width:min(100% - 32px,1160px)}.nav{min-height:62px}.brand{font-size:13px}nav{gap:13px}nav a{font-size:12px}.hero{padding:65px 0 58px}.hero-grid,.section-heading,.footer-grid{grid-template-columns:1fr;gap:30px}.hero-panel{max-width:520px}.sector-grid{grid-template-columns:1fr}.sector-grid>div{padding:17px 0;border-right:0;border-bottom:1px solid var(--line)}.sector-grid>div:last-child{border-bottom:0}.section,.method-section{padding:70px 0}.research-table-head{display:none}.research-row{grid-template-columns:40px 1fr 24px;gap:12px;min-height:122px;padding:17px 0}.research-row:hover{padding-left:7px}.research-company strong{font-size:22px}.research-focus,.discussion-signal{grid-column:2}.row-arrow{grid-column:3;grid-row:1}.note-snapshot,.note-grid,.evidence-links{grid-template-columns:1fr}.note-snapshot div{border-right:0;border-bottom:1px solid var(--line)}.note-snapshot div:last-child{border-bottom:0}.note-body{padding:55px 0 70px}.note-hero{padding:55px 0}.note-lede{font-size:21px}.workflow-graphic{min-width:900px}.footer-grid{gap:16px}}

.featured-row { background:linear-gradient(90deg,rgba(201,231,96,.17),rgba(201,231,96,.03)); border-top:1px solid var(--line); }
.featured-row .research-company strong { color:var(--leaf); }
.discussion-signal.thematic { color:var(--night); background:var(--lime); }

/* In vivo CAR-T thematic report */
.theme-page { overflow:hidden; }
.theme-hero { color:#eef3e9; background:radial-gradient(circle at 84% 22%,rgba(201,231,96,.24),transparent 22%),radial-gradient(circle at 72% 88%,rgba(36,90,72,.5),transparent 35%),var(--night); }
.theme-hero-grid { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(290px,.55fr); gap:70px; align-items:end; padding:80px 0 82px; }
.theme-hero h1 { max-width:820px; margin-bottom:22px; font-size:clamp(52px,7.5vw,92px); }
.theme-hero h1 em { color:var(--lime); }
.theme-hero .note-lede { max-width:810px; }
.theme-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:31px; }
.conviction-card { padding:25px; border:1px solid rgba(201,231,96,.34); background:rgba(7,27,23,.65); }
.conviction-card>strong { display:block; margin-bottom:24px; color:#fff; font-family:var(--serif); font-size:25px; line-height:1.25; font-weight:500; }
.conviction-card dl { margin:0; }
.conviction-card dl div { display:grid; grid-template-columns:1fr auto; gap:18px; padding:12px 0; border-top:1px solid rgba(255,255,255,.12); }
.conviction-card dt { color:#9fb2aa; font-size:11px; }
.conviction-card dd { margin:0; color:var(--lime); font-size:11px; font-weight:800; text-align:right; }
.theme-strip { background:var(--lime); }
.theme-strip-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.theme-strip-grid div { min-height:92px; padding:20px; border-right:1px solid rgba(12,29,26,.18); }
.theme-strip-grid div:first-child { padding-left:0; }
.theme-strip-grid div:last-child { border:0; }
.theme-strip-grid span { display:block; color:#43563d; font-size:9px; font-weight:850; letter-spacing:.13em; text-transform:uppercase; }
.theme-strip-grid strong { display:block; margin-top:5px; color:var(--night); font-family:var(--serif); font-size:17px; font-weight:600; }
.report-section { padding:92px 0; }
.report-kicker { margin-bottom:19px; color:var(--leaf); font-size:10px; font-weight:850; letter-spacing:.16em; text-transform:uppercase; }
.report-opening-grid { display:grid; grid-template-columns:.95fr 1.05fr; gap:70px; align-items:start; }
.report-opening h2,.report-title-row h2,.anchor-grid h2,.report-sources h2,.pitch-section-head h2,.pitch-evidence h2 { margin:0; font-family:var(--serif); font-size:clamp(38px,4.8vw,60px); font-weight:500; line-height:1.05; letter-spacing:-.045em; }
.lead-copy p { color:#40554c; font-family:var(--serif); font-size:19px; line-height:1.55; }
.lead-copy p:last-child { margin-bottom:0; }
.decision-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:52px; }
.decision-grid article { min-height:210px; padding:24px; border:1px solid var(--line); background:#fff; }
.decision-grid article:first-child { border-top:4px solid var(--lime); }
.decision-grid article>span,.architecture-grid article>span { color:var(--leaf); font-family:var(--serif); font-size:22px; }
.decision-grid h3,.platform-card h3,.update-list h3,.company-map-card h3,.scenario-grid h3,.architecture-grid h3,.objection-grid h3 { margin:20px 0 10px; font-family:var(--serif); font-size:22px; line-height:1.17; font-weight:600; }
.decision-grid p { margin:0; color:var(--muted); font-size:13px; }
.report-band { color:#eaf1e9; background:var(--navy); }
.report-heading { align-items:start; }
.mechanism-flow { display:grid; gap:14px; margin-top:28px; }
.flow-column { display:flex; align-items:center; gap:12px; padding:20px; border:1px solid rgba(255,255,255,.16); }
.flow-column>span { flex:0 0 74px; color:var(--lime); font-size:10px; font-weight:850; letter-spacing:.13em; text-transform:uppercase; }
.flow-column b { padding:10px 12px; color:#eff4ed; background:rgba(255,255,255,.07); font-size:12px; font-weight:700; }
.flow-column i { color:#84a39a; font-style:normal; }
.muted-flow { opacity:.67; }
.live-flow { border-color:rgba(201,231,96,.5); background:rgba(201,231,96,.06); }
.band-caption { max-width:850px; margin:24px 0 0; color:#abc0b7; font-size:13px; }
.report-title-row { display:grid; grid-template-columns:1.15fr .65fr; gap:60px; align-items:end; margin-bottom:38px; }
.report-title-row p { margin:0; color:var(--muted); font-size:14px; }
.platform-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.platform-card { padding:29px; border:1px solid var(--line); background:#fff; }
.platform-card.viral { border-top:5px solid #8fb7db; }
.platform-card.lnp { border-top:5px solid var(--lime); }
.platform-top { display:flex; justify-content:space-between; gap:15px; }
.platform-top span { color:var(--muted); font-size:10px; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.platform-top strong { color:var(--leaf); font-size:10px; text-transform:uppercase; }
.platform-card ul { margin:20px 0 23px; padding-left:18px; color:#40554c; font-size:14px; }
.platform-card li+li { margin-top:10px; }
.platform-verdict { margin:0; padding-top:18px; border-top:1px solid var(--line); color:var(--leaf); font-family:var(--serif); font-size:17px; }
.fieldwork-section { background:var(--sand); }
.update-list { display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.update-list article { min-height:220px; padding:27px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:rgba(255,255,255,.45); }
.status { display:inline-block; padding:4px 7px; font-size:9px; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.status.held { color:#225b43; background:#dcebd7; }
.status.revised { color:#7b4d11; background:#f4dfb9; }
.status.caution { color:#68464a; background:#ecd9dd; }
.update-list p { margin:0; color:var(--muted); font-size:13px; }
.company-map { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.company-map-card { min-height:285px; padding:25px; border:1px solid var(--line); background:#fff; }
.company-map-card.anchor { border-top:5px solid var(--lime); }
.company-map-card.high-beta { border-top:5px solid #8fb7db; }
.company-map-card:last-child { grid-column:1 / -1; min-height:auto; }
.company-map-head { display:flex; justify-content:space-between; gap:20px; align-items:start; margin-bottom:22px; }
.company-map-head span { color:var(--muted); font-size:10px; font-weight:800; letter-spacing:.08em; }
.company-map-head h3 { margin:4px 0 0; font-size:27px; }
.company-map-head>b { padding:5px 7px; color:var(--leaf); background:#e8f1dc; font-size:9px; letter-spacing:.08em; text-transform:uppercase; }
.company-map-card p { margin:0 0 10px; color:#40554c; font-size:13px; }
.company-map-card p:last-child { margin-bottom:0; }
.private-watch { display:grid; grid-template-columns:230px 1fr; gap:25px; margin-top:18px; padding:20px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.private-watch span { color:var(--leaf); font-size:10px; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.private-watch p { margin:0; color:var(--muted); font-size:13px; }
.anchor-section { color:#ecf1ea; background:var(--night); }
.anchor-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:80px; }
.anchor-grid h2 { color:#fff; }
.anchor-lede { margin:24px 0 31px; color:#b8c7bd; font-family:var(--serif); font-size:19px; line-height:1.5; }
.anchor-points { display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid rgba(255,255,255,.16); border-left:1px solid rgba(255,255,255,.16); }
.anchor-points article { min-height:180px; padding:23px; border-right:1px solid rgba(255,255,255,.16); border-bottom:1px solid rgba(255,255,255,.16); }
.anchor-points span { color:var(--lime); font-size:9px; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.anchor-points p { margin:12px 0 0; color:#c1cdc5; font-size:13px; }
.evidence-scorecard { border:1px solid var(--line); background:#fff; }
.evidence-scorecard>div { display:grid; grid-template-columns:1.05fr 1.45fr .55fr; gap:22px; align-items:center; padding:17px 20px; border-bottom:1px solid var(--line); }
.evidence-scorecard>div:last-child { border:0; }
.evidence-scorecard .score-head { color:var(--muted); background:var(--sand); font-size:9px; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.evidence-scorecard b { font-family:var(--serif); font-size:15px; font-weight:600; }
.evidence-scorecard span { color:var(--muted); font-size:12px; }
.evidence-scorecard strong { font-size:10px; letter-spacing:.07em; text-transform:uppercase; }
.evidence-scorecard .positive { color:#245a48; }
.evidence-scorecard .uncertain { color:#8a5b21; }
.scenario-section { background:var(--soft); }
.scenario-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.scenario-grid article { min-height:315px; padding:25px; border:1px solid var(--line); background:#fff; }
.scenario-grid article.base { border-top:5px solid var(--lime); }
.scenario-grid>article>span { color:var(--leaf); font-size:9px; font-weight:850; letter-spacing:.13em; text-transform:uppercase; }
.scenario-grid p { color:var(--muted); font-size:13px; }
.scenario-grid b { display:block; margin-top:24px; color:var(--leaf); font-size:10px; text-transform:uppercase; }
.report-sources h2 { margin-bottom:17px; }
.source-note { max-width:780px; color:var(--muted); font-size:13px; }
.report-links { margin-top:22px; }

/* Interview stock-pitch bank */
.pitch-body { background:#f6f7f2; }
.pitch-header { position:sticky; top:0; z-index:20; background:rgba(246,247,242,.94); border-bottom:1px solid var(--line); backdrop-filter:blur(14px); }
.pitch-nav { display:flex; justify-content:space-between; align-items:center; min-height:68px; }
.pitch-nav>div { display:flex; gap:20px; }
.pitch-nav>div a { color:var(--muted); font-size:12px; font-weight:700; text-decoration:none; }
.pitch-hero { color:#eef3e9; background:radial-gradient(circle at 78% 28%,rgba(201,231,96,.27),transparent 24%),var(--night); }
.pitch-hero-grid { display:grid; grid-template-columns:1.2fr .55fr; gap:70px; align-items:end; padding:82px 0 78px; }
.pitch-hero h1 { max-width:790px; font-size:clamp(51px,7vw,86px); }
.pitch-hero h1 em { color:var(--lime); }
.pitch-position { padding:24px; border:1px solid rgba(201,231,96,.35); background:rgba(5,27,22,.62); }
.pitch-position span { display:block; color:#9fb2aa; font-size:9px; font-weight:850; letter-spacing:.13em; text-transform:uppercase; }
.pitch-position strong { display:block; margin:5px 0; color:var(--lime); font-family:var(--serif); font-size:23px; font-weight:500; }
.pitch-position p { margin:0 0 22px; color:#c1cdc5; font-size:12px; }
.pitch-position p:last-child { margin-bottom:0; }
.pitch-toolbar { position:sticky; top:68px; z-index:15; border-bottom:1px solid var(--line); background:var(--lime); }
.toolbar-inner { display:grid; grid-template-columns:180px 1fr 150px; gap:16px; align-items:center; min-height:66px; }
.toolbar-inner label { color:var(--night); font-size:10px; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.toolbar-inner input { width:100%; padding:10px 14px; border:1px solid rgba(16,37,31,.24); border-radius:3px; outline:none; background:rgba(255,255,255,.65); color:var(--ink); font:inherit; font-size:13px; }
.toolbar-inner input:focus { border-color:var(--leaf); box-shadow:0 0 0 2px rgba(36,90,72,.12); }
.toolbar-inner span { color:#41523b; font-size:10px; text-align:right; }
.pitch-section { padding:86px 0; }
.pitch-section-head { display:grid; grid-template-columns:1.2fr .55fr; gap:60px; align-items:end; margin-bottom:35px; }
.pitch-section-head>p { margin:0; color:var(--muted); font-size:13px; }
.script-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:15px; }
.script-card { padding:25px; border:1px solid var(--line); background:#fff; }
.script-card.wide-script { grid-column:1 / -1; }
.script-card>div { display:flex; justify-content:space-between; align-items:center; margin-bottom:18px; }
.script-card>div span { color:var(--leaf); font-size:9px; font-weight:850; letter-spacing:.13em; text-transform:uppercase; }
.copy-script { padding:5px 9px; border:1px solid var(--line); border-radius:3px; color:var(--leaf); background:transparent; font:inherit; font-size:10px; font-weight:800; cursor:pointer; }
.copy-script:hover { border-color:var(--leaf); }
.script-card p { margin:0; color:#40554c; font-family:var(--serif); font-size:17px; line-height:1.55; }
.numbers-section { color:#edf2e9; background:var(--navy); }
.number-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid rgba(255,255,255,.17); border-left:1px solid rgba(255,255,255,.17); }
.number-grid div { min-height:130px; padding:22px; border-right:1px solid rgba(255,255,255,.17); border-bottom:1px solid rgba(255,255,255,.17); }
.number-grid strong { display:block; color:var(--lime); font-family:var(--serif); font-size:31px; font-weight:500; }
.number-grid span { display:block; margin-top:8px; color:#b4c5bc; font-size:11px; }
.numbers-footnote { margin:20px 0 0; color:#9fb2aa; font-size:11px; }
.architecture-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.architecture-grid article { min-height:190px; padding:20px; border:1px solid var(--line); background:#fff; }
.architecture-grid article:last-child { grid-column:span 2; }
.architecture-grid h3 { margin:17px 0 8px; font-size:19px; }
.architecture-grid p { margin:0; color:var(--muted); font-size:12px; }
.question-section { background:#fff; }
.question-group { margin-top:46px; }
.question-group:first-of-type { margin-top:0; }
.question-group>h3 { margin:0 0 13px; color:var(--leaf); font-size:11px; font-weight:850; letter-spacing:.13em; text-transform:uppercase; }
.question-card { border-top:1px solid var(--line); }
.question-card:last-child { border-bottom:1px solid var(--line); }
.question-card summary { position:relative; padding:19px 42px 19px 0; color:var(--ink); font-family:var(--serif); font-size:20px; font-weight:600; cursor:pointer; list-style:none; }
.question-card summary::-webkit-details-marker { display:none; }
.question-card summary::after { content:'+'; position:absolute; right:8px; top:15px; color:var(--leaf); font-family:var(--sans); font-size:25px; font-weight:400; }
.question-card[open] summary::after { content:'−'; }
.question-card p { max-width:850px; margin:0; padding:0 0 22px; color:var(--muted); font-size:14px; }
.trap-section { color:#edf2e9; background:var(--night); }
.trap-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:1px; background:rgba(255,255,255,.15); }
.trap-grid article { min-height:210px; padding:22px; background:var(--night); }
.trap-grid s { color:#efc1b5; font-family:var(--serif); font-size:17px; text-decoration-thickness:1px; }
.trap-grid p { margin:19px 0 0; color:#b8c7bd; font-size:12px; }
.objection-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.objection-grid article { min-height:235px; padding:25px; border:1px solid var(--line); background:#fff; }
.objection-grid span { color:var(--leaf); font-size:9px; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.objection-grid p { margin:0; color:var(--muted); font-size:13px; }
.practice-section { background:var(--sand); }
.practice-grid { display:grid; grid-template-columns:.65fr 1.35fr; gap:70px; }
.practice-grid h2 { font-family:var(--serif); font-size:clamp(38px,4.8vw,60px); line-height:1.05; font-weight:500; letter-spacing:-.045em; }
.practice-grid ol { display:grid; gap:0; margin:0; padding:0; list-style:none; }
.practice-grid li { display:grid; grid-template-columns:50px 1fr; gap:16px; padding:17px 0; border-top:1px solid var(--line); color:#40554c; font-size:14px; }
.practice-grid li:last-child { border-bottom:1px solid var(--line); }
.practice-grid li span { color:var(--leaf); font-family:var(--serif); font-size:20px; }
.pitch-evidence h2 { margin-bottom:20px; }
[hidden] { display:none !important; }

@media(max-width:900px){
  .theme-hero-grid,.pitch-hero-grid,.report-opening-grid,.anchor-grid,.pitch-section-head,.practice-grid{grid-template-columns:1fr;gap:35px}
  .theme-strip-grid,.number-grid{grid-template-columns:repeat(2,1fr)}
  .theme-strip-grid div:nth-child(2){border-right:0}.theme-strip-grid div:nth-child(-n+2){border-bottom:1px solid rgba(12,29,26,.18)}
  .report-title-row{grid-template-columns:1fr;gap:20px;align-items:start}
  .decision-grid,.scenario-grid{grid-template-columns:1fr}
  .platform-grid,.company-map,.update-list{grid-template-columns:1fr}
  .company-map-card:last-child{grid-column:auto}
  .anchor-points{grid-template-columns:1fr}
  .architecture-grid{grid-template-columns:repeat(2,1fr)}
  .architecture-grid article:last-child{grid-column:auto}
  .trap-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:650px){
  .theme-hero-grid,.pitch-hero-grid{padding:58px 0}
  .theme-hero h1,.pitch-hero h1{font-size:46px}
  .theme-strip-grid,.number-grid,.script-grid,.architecture-grid,.objection-grid{grid-template-columns:1fr}
  .theme-strip-grid div{padding:17px 0;border-right:0;border-bottom:1px solid rgba(12,29,26,.18)}
  .script-card.wide-script{grid-column:auto}
  .flow-column{align-items:flex-start;flex-wrap:wrap}.flow-column i{display:none}.flow-column b{font-size:11px}
  .private-watch{grid-template-columns:1fr;gap:8px}
  .evidence-scorecard .score-head{display:none}.evidence-scorecard>div{grid-template-columns:1fr;gap:8px}
  .anchor-points{grid-template-columns:1fr}
  .pitch-nav>div{gap:10px}.pitch-nav>div a{font-size:10px}
  .toolbar-inner{grid-template-columns:1fr;gap:8px;padding:12px 0}.toolbar-inner span{text-align:left}.pitch-toolbar{position:static}
  .trap-grid{grid-template-columns:1fr}
  .question-card summary{font-size:18px}
}
