/* Seapex · 星河愿景 — shared site shell (2026-09 restructure)
   Tone: 认真、温暖、好奇、克制. Warm paper, charcoal ink, a little fog blue.
   Used by: / /about /network /products /thinking and their /cn/ twins.
   The founder essay (/exploration/, /cn/exploration/) keeps its own look. */

@font-face {
    font-family: "Seapex Serif";
    src: url("fonts/seapex-serif-sc.woff2?v=30c6869209") format("woff2");
    font-weight: 500; font-style: normal; font-display: swap;
}
@font-face {
    font-family: "Newsreader";
    src: url("fonts/newsreader.woff2?v=175a378682") format("woff2");
    font-weight: 200 800; font-style: normal; font-display: swap;
}

:root {
    color-scheme: light;
    --paper: #F5F1E8;
    --paper-2: #EDE6D6;
    --ink: #202522;
    --ink-2: #474D49;
    --ink-3: #5C615C;
    --rule: rgba(32, 37, 34, 0.14);
    --rule-2: rgba(32, 37, 34, 0.24);
    --mist: #5B9BD5;
    --mist-soft: rgba(91, 155, 213, 0.16);
    --link: #29465C;
    --night: #202522;
    --night-text: #EDE8DC;
    --night-muted: #A3A69E;
    --night-link: #9CC3E6;

    --sans: -apple-system, BlinkMacSystemFont, "SF Pro Text", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", "Source Han Sans SC", sans-serif;
    --serif-zh: "Seapex Serif", "Noto Serif SC", "Source Han Serif SC", "Songti SC", "STSong", serif;
    --serif-en: "Newsreader", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
    --serif: var(--serif-zh);

    --wrap: 1180px;
    --gutter: clamp(20px, 5vw, 56px);
    --band: clamp(88px, 12vw, 152px);
    --ease: cubic-bezier(0.22, 0.61, 0.36, 1);
}
html[lang="en"] { --serif: var(--serif-en); }

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html {
    background: var(--paper);
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    scroll-padding-top: 88px;
}
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }

body {
    min-height: 100vh;
    background: var(--paper);
    color: var(--ink);
    font-family: var(--sans);
    font-size: 17px;
    line-height: 1.85;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-x: clip;
    font-synthesis: none;
}
html[lang="en"] body { line-height: 1.7; }

/* Paper grain: quiet texture, never over text contrast */
body::before {
    content: "";
    position: fixed; inset: 0; z-index: 0; pointer-events: none;
    opacity: 0.05;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .13 0 0 0 0 .14 0 0 0 0 .13 0 0 0 .9 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
}
body > * { position: relative; z-index: 1; }

::selection { background: var(--mist-soft); color: var(--ink); }

a { color: inherit; text-decoration: none; }
:focus-visible { outline: 2px solid var(--link); outline-offset: 4px; border-radius: 4px; }

img, svg { display: block; max-width: 100%; }

.wrap { width: 100%; max-width: calc(var(--wrap) + 2 * var(--gutter)); margin: 0 auto; padding: 0 var(--gutter); }

.skip {
    position: absolute; left: 12px; top: -48px; z-index: 50;
    padding: 8px 14px; border-radius: 999px;
    background: var(--ink); color: var(--paper); font-size: 14px;
}
.skip:focus { top: 12px; }

/* ---------- Type ---------- */
.serif, h1, h2, h3 { font-family: var(--serif); font-weight: 500; }
h1, h2, h3 { color: var(--ink); text-wrap: balance; }

.eyebrow {
    display: block;
    font-family: var(--sans);
    font-size: 12px; font-weight: 500;
    letter-spacing: 0.2em; text-transform: uppercase;
    color: var(--ink-3);
    margin-bottom: 22px;
}

.display {
    font-size: clamp(44px, 6.6vw, 86px);
    line-height: 1.2;
    letter-spacing: -0.01em;
}
html[lang="en"] .display { line-height: 1.04; letter-spacing: -0.022em; font-weight: 400; }

.title {
    font-size: clamp(34px, 4.6vw, 58px);
    line-height: 1.25;
    letter-spacing: -0.005em;
}
html[lang="en"] .title { line-height: 1.08; letter-spacing: -0.018em; font-weight: 400; }

.subtitle {
    font-family: var(--serif);
    font-size: clamp(22px, 2.4vw, 30px);
    line-height: 1.5;
    color: var(--ink-2);
}
html[lang="en"] .subtitle { font-weight: 400; line-height: 1.35; }

.lead { font-size: clamp(18px, 1.6vw, 21px); line-height: 1.85; color: var(--ink-2); }
html[lang="en"] .lead { line-height: 1.6; }

.prose { max-width: 680px; }
.prose p + p { margin-top: 1.1em; }
.prose p { color: var(--ink-2); }
.prose strong, .prose b { color: var(--ink); font-weight: 600; }

/* ---------- Actions ---------- */
.actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 26px; margin-top: 40px; }

.btn {
    display: inline-flex; align-items: center; gap: 10px;
    min-height: 48px; padding: 12px 24px;
    border-radius: 999px;
    background: var(--ink); color: var(--paper);
    font-size: 15px; font-weight: 500; line-height: 1.2; letter-spacing: 0.02em;
    transition: background-color .3s var(--ease), transform .3s var(--ease);
}
.btn:hover { background: #343B37; }
.btn .arr, .more .arr { width: 16px; height: 16px; flex: none; transition: transform .3s var(--ease); }
.btn:hover .arr, .more:hover .arr { transform: translateX(3px); }

.more {
    display: inline-flex; align-items: center; gap: 8px;
    min-height: 44px;
    color: var(--link);
    font-size: 15px; font-weight: 500; letter-spacing: 0.02em;
    text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.35em;
    text-decoration-color: rgba(41, 70, 92, 0.35);
    transition: text-decoration-color .3s var(--ease);
}
.more:hover { text-decoration-color: var(--link); }

.status {
    display: inline-flex; align-items: center; gap: 10px;
    padding: 6px 14px 6px 12px;
    border: 1px solid var(--rule-2); border-radius: 999px;
    font-size: 13px; line-height: 1.4; letter-spacing: 0.08em; color: var(--ink-2);
}
.status::before {
    content: ""; width: 7px; height: 7px; border-radius: 50%;
    background: var(--mist);
    box-shadow: 0 0 0 4px var(--mist-soft);
}
@media (prefers-reduced-motion: no-preference) {
    .status::before { animation: breathe 3.6s var(--ease) infinite; }
}
@keyframes breathe {
    0%, 100% { box-shadow: 0 0 0 3px var(--mist-soft); }
    50% { box-shadow: 0 0 0 7px rgba(91, 155, 213, 0.06); }
}

/* ---------- Nav ---------- */
.site-nav {
    position: sticky; top: 0; z-index: 40;
    background: rgba(245, 241, 232, 0.9);
    -webkit-backdrop-filter: saturate(1.1) blur(14px);
    backdrop-filter: saturate(1.1) blur(14px);
    border-bottom: 1px solid transparent;
    transition: border-color .3s var(--ease);
}
.site-nav.scrolled { border-bottom-color: var(--rule); }
.site-nav .wrap { display: flex; align-items: center; justify-content: space-between; height: 68px; gap: 24px; }

.logo { display: inline-flex; align-items: baseline; gap: 10px; font-size: 18px; font-weight: 600; letter-spacing: 0.12em; color: var(--ink); }
html[lang="zh-CN"] .logo { font-family: var(--serif); font-weight: 500; }
.logo small { font-size: 12px; font-weight: 400; letter-spacing: 0.18em; color: var(--ink-3); }

.nav-links { display: flex; align-items: center; gap: clamp(18px, 2.4vw, 34px); }
.nav-links a { position: relative; font-size: 15px; color: var(--ink-2); padding: 8px 0; transition: color .25s var(--ease); }
.nav-links a:hover { color: var(--ink); }
.nav-links a[aria-current="page"] { color: var(--ink); }
.nav-links a[aria-current="page"]::after {
    content: ""; position: absolute; left: 0; right: 0; bottom: 2px; height: 1px; background: var(--ink);
}
.nav-links .lang { padding-left: clamp(18px, 2.4vw, 34px); border-left: 1px solid var(--rule-2); letter-spacing: 0.06em; }

.menu { display: none; position: relative; }
.menu summary {
    list-style: none; cursor: pointer;
    display: inline-flex; align-items: center; gap: 10px;
    min-height: 44px; padding: 0 4px;
    font-size: 15px; color: var(--ink);
}
.menu summary::-webkit-details-marker { display: none; }
.menu .bars { width: 18px; height: 10px; position: relative; }
.menu .bars::before, .menu .bars::after {
    content: ""; position: absolute; left: 0; right: 0; height: 1.5px; background: var(--ink);
    transition: transform .3s var(--ease), top .3s var(--ease);
}
.menu .bars::before { top: 0; }
.menu .bars::after { top: 8px; }
.menu[open] .bars::before { top: 4px; transform: rotate(45deg); }
.menu[open] .bars::after { top: 4px; transform: rotate(-45deg); }
.menu-panel {
    position: fixed; left: 0; right: 0; top: 68px;
    padding: 12px var(--gutter) 28px;
    background: var(--paper);
    border-bottom: 1px solid var(--rule);
    box-shadow: 0 24px 40px -28px rgba(32, 37, 34, 0.35);
    max-height: calc(100dvh - 68px); overflow-y: auto; overscroll-behavior: contain;
}
.menu-panel a { display: block; padding: 14px 0; font-size: 19px; color: var(--ink); border-bottom: 1px solid var(--rule); }
.menu-panel a[aria-current="page"] { font-weight: 600; }
.menu-panel .lang { border-bottom: 0; color: var(--ink-3); font-size: 15px; letter-spacing: 0.06em; }

@media (max-width: 900px) {
    .nav-links { display: none; }
    .menu { display: block; }
}

/* ---------- Bands ---------- */
main { display: block; }
.band { padding: var(--band) 0; }
.band + .band { border-top: 1px solid var(--rule); }
.band.tint { background: var(--paper-2); border-top: 0; }
.band.tint + .band { border-top: 0; }

/* ---------- Hero (home) ---------- */
.hero { padding: clamp(32px, 5vw, 64px) 0 clamp(56px, 8vw, 104px); }
.hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
    align-items: stretch; align-content: center;
    gap: clamp(32px, 5vw, 72px);
    min-height: min(680px, calc(100svh - 68px - 96px));
}
.hero-copy { padding: clamp(8px, 2vw, 24px) 0; }
.hero-copy .lead { margin-top: 30px; max-width: 34em; }
.first-step-line {
    display: flex; align-items: flex-start; gap: 14px;
    margin-top: 22px;
    font-family: var(--serif);
    font-size: clamp(20px, 2vw, 25px); line-height: 1.5; color: var(--ink);
    text-wrap: balance;
}
.first-step-line::before { content: ""; width: 28px; height: 1px; margin-top: calc(0.75em - 0.5px); background: var(--ink); flex: none; }
/* The tree takes the height of the text column: canopy level with the eyebrow, ground level with the buttons. */
.hero-art { position: relative; display: flex; justify-content: center; margin: clamp(8px, 2vw, 24px) 0; }
.hero-art .tree { position: absolute; inset: 0; width: 100%; height: 100%; }

@media (max-width: 900px) {
    .hero-grid { grid-template-columns: 1fr; min-height: 0; gap: 8px; }
    .hero-art { position: static; margin: 0; }
    .hero-art .tree { position: static; height: auto; max-width: 360px; max-height: 44vh; }
}

/* ---------- Split layout ---------- */
.split { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(28px, 6vw, 96px); align-items: start; }
.split .subtitle { margin-top: 18px; }
.split > h2.title { font-size: clamp(30px, 3.3vw, 44px); line-height: 1.35; text-wrap: pretty; }
html[lang="en"] .split > h2.title { line-height: 1.12; }
.hero + .band { padding-top: clamp(56px, 8vw, 104px); }
.split .prose .status { margin-top: 30px; }
@media (max-width: 900px) { .split { grid-template-columns: 1fr; } }

.center-col { max-width: 760px; }
.center-col .lead { margin-top: 26px; }

/* ---------- Page head (inner pages) ---------- */
.page-head { padding: clamp(56px, 9vw, 120px) 0 clamp(40px, 6vw, 72px); }
.page-head .subtitle { margin-top: 20px; }
.page-head .lead { margin-top: 28px; max-width: 36em; }
.page-head + .band { padding-top: clamp(8px, 2vw, 32px); }
.page-head-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 0.8fr); gap: clamp(28px, 6vw, 88px); align-items: end; }
.page-head-grid .art { display: flex; justify-content: center; }
.page-head-grid .tree { width: 100%; max-width: 360px; height: auto; }
@media (max-width: 900px) {
    .page-head-grid { grid-template-columns: 1fr; }
    .page-head-grid .tree { max-width: 260px; }
}

/* ---------- Network film ---------- */
.network-film { padding-top: clamp(8px, 2vw, 32px); }
.network-film-player {
    display: block; width: 100%; height: auto; aspect-ratio: 16 / 9;
    max-height: 80svh; object-fit: contain;
    background: #111; border-radius: 16px;
}
.network-film-player:fullscreen { max-height: none; border-radius: 0; }
@media (max-width: 600px) { .network-film-player { border-radius: 10px; } }

.closing {
    margin-top: 56px; padding-top: 36px;
    border-top: 1px solid var(--rule);
}
.closing p { font-family: var(--serif); font-size: clamp(20px, 2vw, 25px); line-height: 1.7; color: var(--ink); }
html[lang="en"] .closing p { line-height: 1.45; }
.closing p.status { margin-top: 26px; font-family: var(--sans); font-size: 13px; line-height: 1.4; color: var(--ink-2); }

/* ---------- Vision ---------- */
.horizon { width: 100%; height: auto; margin-top: clamp(40px, 6vw, 72px); }
.vision-sentence {
    font-family: var(--serif);
    font-size: clamp(26px, 3.2vw, 40px); line-height: 1.6; color: var(--ink);
    max-width: 24em; text-wrap: balance;
}
html[lang="en"] .vision-sentence { line-height: 1.3; font-weight: 400; max-width: 22em; }

/* ---------- Products ---------- */
.group { padding-top: clamp(48px, 6vw, 80px); }
.group-head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; padding-bottom: 18px; border-bottom: 1px solid var(--rule-2); }
.group-head h2 { font-size: clamp(22px, 2.2vw, 28px); line-height: 1.4; }
.group-head p { font-size: 14px; color: var(--ink-3); }

.product-title { display: inline-block; max-width: 100%; min-height: 44px; vertical-align: top; }
.product-title:hover, .product-title:focus-visible {
    color: var(--link);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.16em;
}
.product-title:hover .alias, .product-title:focus-visible .alias { color: var(--link); }

.item {
    display: grid;
    grid-template-columns: minmax(0, 4fr) minmax(0, 6fr) minmax(0, 3fr);
    gap: 16px clamp(20px, 3vw, 48px);
    padding: 30px 0;
    border-bottom: 1px solid var(--rule);
    align-items: start;
}
.item h3 { font-size: clamp(24px, 2.4vw, 30px); line-height: 1.3; }
.item .alias { display: block; margin-top: 6px; font-family: var(--sans); font-size: 13px; font-weight: 400; line-height: 1.85; letter-spacing: 0.08em; color: var(--ink-3); }
.item .kind { display: block; font-size: 13px; letter-spacing: 0.08em; color: var(--ink-3); margin-bottom: 6px; }
.item p { color: var(--ink-2); }
.item .meta { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.item .meta .more { min-height: 32px; }
.tag { font-size: 13px; letter-spacing: 0.06em; color: var(--ink-3); }

.feature {
    display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px 48px; align-items: end;
    margin-top: 28px;
    padding: clamp(28px, 4vw, 48px);
    background: var(--paper-2);
    border-radius: 20px;
}
.feature h3 { font-size: clamp(30px, 3.4vw, 44px); line-height: 1.25; }
html[lang="en"] .feature h3 { line-height: 1.1; font-weight: 400; }
.feature .subtitle { margin-top: 12px; font-size: clamp(19px, 1.9vw, 23px); }
.feature p.desc { margin-top: 18px; max-width: 34em; color: var(--ink-2); }
.feature .meta { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }

@media (max-width: 900px) {
    .item { grid-template-columns: 1fr; gap: 10px; padding: 26px 0; }
    .feature { grid-template-columns: 1fr; }
}

/* ---------- Reflections ---------- */
.reading { max-width: 720px; }
.reading p {
    font-family: var(--serif);
    font-size: clamp(18px, 1.55vw, 20px);
    line-height: 2.05;
    color: var(--ink);
}
html[lang="en"] .reading p { line-height: 1.75; font-weight: 400; }
.reading p + p { margin-top: 1.2em; }
.reading strong { font-weight: 600; color: var(--ink); }
.facts { list-style: none; counter-reset: fact; }
.facts li { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 8px; padding: 22px 0; border-top: 1px solid var(--rule); }
.facts li:last-child { border-bottom: 1px solid var(--rule); }
.facts i { font-style: normal; font-family: var(--sans); font-size: 13px; letter-spacing: 0.08em; color: var(--ink-3); padding-top: 6px; }
.facts b { font-weight: 600; }
.reading .actions { margin-top: 48px; }
.reading p.note, .note { margin-top: 40px; font-family: var(--sans); font-size: 14px; line-height: 1.7; color: var(--ink-3); }
.reading .note + .actions { margin-top: 16px; }

/* ---------- Footer ---------- */
.site-footer { background: var(--night); color: var(--night-text); padding: clamp(64px, 8vw, 104px) 0 36px; }
.site-footer a { transition: color .25s var(--ease); }
.site-footer a:hover { color: var(--night-link); }
.site-footer :focus-visible { outline-color: var(--night-link); }
.foot-grid { display: grid; grid-template-columns: minmax(0, 2.2fr) repeat(3, minmax(0, 1fr)); gap: 40px; }
.foot-brand .name { font-size: 18px; font-weight: 600; letter-spacing: 0.12em; }
.foot-brand .name small { font-weight: 400; letter-spacing: 0.18em; color: var(--night-muted); margin-left: 8px; font-size: 13px; }
.foot-brand p { margin-top: 18px; max-width: 22em; font-family: var(--serif); font-size: 19px; line-height: 1.75; color: var(--night-text); }
html[lang="en"] .foot-brand p { line-height: 1.45; }
.foot-col h2 { font-family: var(--sans); font-size: 12px; font-weight: 500; letter-spacing: 0.2em; text-transform: uppercase; color: var(--night-muted); margin-bottom: 14px; }
.foot-col a, .foot-col span { display: block; padding: 5px 0; font-size: 15px; color: var(--night-text); }
.foot-col span.current { color: var(--night-muted); }
.foot-legal {
    margin-top: 64px; padding-top: 24px;
    border-top: 1px solid rgba(237, 232, 220, 0.14);
    display: flex; flex-wrap: wrap; gap: 8px 20px;
    font-size: 13px; color: var(--night-muted);
}
.foot-legal a:hover { color: var(--night-text); }
@media (max-width: 900px) {
    .foot-grid { grid-template-columns: 1fr 1fr; }
    .foot-brand { grid-column: 1 / -1; }
}
@media (max-width: 420px) { .foot-grid { grid-template-columns: 1fr; } }

/* ---------- Reveal (fail-safe: content is hidden only after site.js has started) ---------- */
@media (prefers-reduced-motion: no-preference) {
    .reveal-ready .reveal { opacity: 0; transform: translateY(18px); transition: opacity .9s var(--ease), transform .9s var(--ease); }
    .reveal-ready .reveal.in { opacity: 1; transform: none; }
    .reveal-ready .reveal.d1 { transition-delay: .08s; }
    .reveal-ready .reveal.d2 { transition-delay: .16s; }
    .reveal-ready .reveal.d3 { transition-delay: .24s; }
}

/* ---------- Tree motif ---------- */
.tree .t-br { stroke: var(--ink); stroke-opacity: 0.62; }
.tree .t-star { fill: var(--mist); opacity: 0.5; }
.tree .t-fill { fill: var(--mist); }
.tree .t-ring { fill: var(--paper); stroke: var(--link); stroke-width: 1.3; }
.tree .t-arc { stroke: var(--mist); stroke-opacity: 0.4; stroke-dasharray: 2 6; stroke-width: 1; }
.tree .t-pass { fill: var(--link); }
.tree .t-answer { fill: none; stroke: var(--mist); stroke-width: 1.2; opacity: 0; }

@media (prefers-reduced-motion: no-preference) {
    .tree .t-br {
        stroke-dasharray: 1 1; stroke-dashoffset: 1;
        animation: t-grow 1.1s var(--ease) forwards;
        animation-delay: calc(var(--d) * 0.34s + 0.15s);
    }
    .tree .t-node { opacity: 0; transform-box: fill-box; transform-origin: center; animation: t-appear .7s var(--ease) forwards; animation-delay: calc(2.1s + var(--i) * 0.09s); }
    .tree .t-star { opacity: 0; animation: t-far 2.4s ease-out forwards, t-twinkle 6s ease-in-out infinite; animation-delay: calc(2.6s + var(--i) * 0.07s), calc(5s + var(--i) * 0.4s); }
    .tree .t-arc { opacity: 0; animation: t-far 1.6s ease-out 3s forwards; }
    .tree .t-answer { transform-box: fill-box; transform-origin: center; animation: t-answer 7s var(--ease) 3.2s infinite; }
}
@media (prefers-reduced-motion: reduce) {
    .tree .t-pass, .tree .t-answer { display: none; }
}
@keyframes t-grow { to { stroke-dashoffset: 0; } }
@keyframes t-appear { from { opacity: 0; transform: scale(0.4); } to { opacity: 1; transform: scale(1); } }
@keyframes t-far { from { opacity: 0; } to { opacity: 0.5; } }
@keyframes t-twinkle { 0%, 100% { opacity: 0.5; } 50% { opacity: 0.22; } }
@keyframes t-answer {
    0%, 54% { opacity: 0; transform: scale(1); }
    58% { opacity: 0.9; transform: scale(1); }
    80% { opacity: 0; transform: scale(2.6); }
    100% { opacity: 0; transform: scale(2.6); }
}

/* ---------- Founder's note on the Vision page (#founder) ---------- */
.founder-note { scroll-margin-top: 72px; }
.founder-note .prose p { font-family: var(--serif); font-size: clamp(18px, 1.55vw, 20px); line-height: 2; color: var(--ink); }
html[lang="en"] .founder-note .prose p { line-height: 1.7; }
.founder-note .prose .signature { margin-top: 28px; font-family: var(--sans); font-size: 14px; line-height: 1.5; letter-spacing: 0.04em; color: var(--ink-3); }

/* ---------- 2026-09-27 depth rewrite (§27) ---------- */
.hero-copy .hero-note { margin-top: 14px; max-width: 34em; color: var(--ink-2); }
.item .q { margin-bottom: 8px; font-family: var(--serif); font-size: clamp(17px, 1.5vw, 19px); line-height: 1.6; color: var(--ink); }
.facts li > p { margin: 0; }
.facts b { display: block; margin-bottom: 6px; font-family: var(--serif); font-size: clamp(18px, 1.6vw, 20px); font-weight: 500; line-height: 1.5; color: var(--ink); }
.split .prose > .facts:first-child > li:first-child { border-top: 0; padding-top: 0; }
.prose .facts + p { margin-top: 28px; }
.prose p + .facts { margin-top: 20px; }
.scenario-label { font-family: var(--sans); font-size: 13px; line-height: 1.7; letter-spacing: 0.02em; color: var(--ink-3); }
.page-head .page-intro { margin-top: 16px; max-width: 40em; color: var(--ink-2); }

/* ---------- Utilities ---------- */
.mt-s { margin-top: 18px; }
.mt-m { margin-top: 32px; }
.band-end { height: clamp(72px, 9vw, 120px); }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Latest founder note, sized for reading in both languages. */
.latest-note .note-list-meta{font-size:16px;color:var(--ink-2)}
.latest-note .note-list-title{font-size:clamp(27px,2.5vw,34px);line-height:1.55;margin:18px 0;text-wrap:pretty}
.latest-note .note-list-title a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px;text-decoration-color:var(--rule)}
.latest-note .prose>p:not(.note-list-meta){font-size:20px;line-height:1.9}
.latest-note .btn{font-size:17px;min-height:44px}
@media(max-width:650px){.latest-note .prose>p:not(.note-list-meta){font-size:18px}}
