/* User-selected typefaces. Original files preserved in /Fonts.
   Webfont licence confirmation is a pre-publication gate; this is a local preview. */
@font-face{font-family:'Ogg';src:url('fonts/ogg-roman.otf') format('opentype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'Good Vibes Pro';src:url('fonts/GoodVibesCyr.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
:root{--display:'Ogg',Georgia,serif;--accent-face:'Good Vibes Pro',cursive}
.hero h1{font-family:var(--display);font-weight:400;font-synthesis:none;letter-spacing:-.035em;font-size:clamp(44px,6.7vw,82px);line-height:1.13}
h2{font-family:var(--display);font-weight:400;font-synthesis:none;letter-spacing:-.025em;font-size:clamp(36px,4.8vw,54px);line-height:1.17}
.script-accent{font-family:var(--accent-face);font-style:normal;font-weight:400;font-synthesis:none;letter-spacing:0;color:#c3d8fa;text-shadow:0 0 14px #8ab8ff38,0 0 32px #8ab8ff14;font-size:1.22em;display:inline-block;line-height:.9;padding:0 .09em 0 .02em}
.hero h1 .script-accent{font-size:1.27em;padding-left:.04em}
.access-card h3{font-family:var(--display);font-weight:400;font-size:32px;letter-spacing:-.025em}
.case-dialog h2{font-size:32px;letter-spacing:-.015em}
.closing-line p{font-family:var(--display);font-size:35px;letter-spacing:-.02em}
/* Small technical labels stay secondary, but actual reading copy stays at 14px+. */
.niche p,.access-card ul{font-size:14px}
.niche p{min-height:100px}
.niche-tag,.access-label,.founder-caption,.engine-toolbar,.engine-footer{font-size:11px}
.section-disclaimer,.proof-note,.access-card small{font-size:12px}
.quiet-button{min-height:44px;padding-inline:8px}
.button-small{min-height:40px;font-size:13px}
@media(max-width:900px){.hero h1{font-size:64px}.niche p{min-height:65px}}
@media(max-width:600px){.hero h1{font-size:clamp(34px,9.1vw,52px);line-height:1.22;margin-inline:-4px}.hero h1 .script-accent{font-size:1.28em}.hero-eyebrow{font-size:11px;flex-wrap:wrap;max-width:300px;margin:auto;row-gap:3px}.hero h1>span{white-space:nowrap}h2{font-size:36px}.hero-copy,.principle p,.section-heading>p:last-child,.niche p,.access-card ul{font-size:14px}.niche-grid{grid-template-columns:1fr}.niche{border-right:0;border-bottom:1px solid var(--line);padding:26px}.niche:last-child{border-bottom:0}.niche p{min-height:0;max-width:300px}.niche h3{font-size:18px}.niche>.icon{margin-bottom:17px}.niche-tag{font-size:11px}.access-label{font-size:11px}.node{font-size:10px}.engine-toolbar,.engine-footer{font-size:9px}.section-disclaimer,.proof-note{font-size:12px}.access-card small{font-size:12px}.closing-line p{font-size:32px}.founder-caption{font-size:10px}.hero-footnote{font-size:12px}.nav-shell .button{min-height:44px}.access-card h3{font-size:31px}}
.motion-paused .case-viewport{overflow-x:auto;scrollbar-width:thin}
.motion-paused .case-track{transform:none!important}
.motion-paused .case-group[aria-hidden]{display:none}
.gallery-controls{display:flex;align-items:center;justify-content:flex-end;gap:6px}
.gallery-controls [data-gallery-prev],.gallery-controls [data-gallery-next]{width:44px;font-size:20px}
@media(max-width:600px){.gallery-controls{justify-content:flex-start}}
.case-viewport{max-width:1920px;margin-inline:auto}
@media(max-width:600px){.hero-announcement{display:none}}
@media(max-width:350px){.source-nodes{width:82px}.destination-nodes{width:88px}.node{font-size:9px}.engine-core{width:58px;height:66px}}
