/* MoluscoTV: editorial display, monochrome canvas, signature red. */
@font-face{font-family:'Space Mono';src:url('/assets/space-mono.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
:root{--background:#000;--foreground:#f5f5f5;--surface:#101010;--muted:#191919;--line:#303030;--dim:#ccc;--primary:#EE1111;--accent:#EE1111;--rail:64px}
html{scrollbar-color:#555 #000;scroll-snap-type:none}
body{font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}
h1,h2,h3{letter-spacing:.01em;text-wrap:balance}
h1{font-size:clamp(48px,5.2vw,82px);line-height:1;margin-bottom:22px}
h2{font-size:34px}
.slide{padding:64px clamp(28px,5vw,90px) 106px;border-bottom:1px solid var(--line)}
.inner{max-width:1320px;min-width:0}
.slide-heading{border-left:4px solid var(--primary);padding-left:24px;margin-bottom:36px}
.slide-heading>p{font-family:Arial,Helvetica,sans-serif;font-size:clamp(18px,1.6vw,23px);line-height:1.5;max-width:66ch;margin-bottom:0}
.rail{padding:24px 0;background:#000;border-color:#242424}
.rail-label,.slide-footer,.counter,.hud select,.site-brand,.minor-title,.partners strong small,thead th,.flow li:before{font-family:'Space Mono',monospace;font-weight:400}
.rail-label{color:#9a9a9a;letter-spacing:1.4px;font-size:8px}
.rail nav button{width:44px}
.rail nav i{border-radius:0;background:#555}
.rail button[aria-current] i{border-radius:0;width:5px}
.slide-footer{color:#9a9a9a;font-size:9px;letter-spacing:.6px;margin-top:38px;padding-top:18px}
.cover-layout{grid-template-columns:1.03fr 1fr;gap:clamp(32px,5vw,80px)}
.cover h1{font-size:clamp(86px,9vw,144px);line-height:.88;margin:36px 0 26px;letter-spacing:-.01em}
.cover h1 em{color:var(--primary);-webkit-text-stroke:0}
.cover h2{font-family:'Bebas Neue',sans-serif;font-size:clamp(27px,2.7vw,42px);line-height:1.08;max-width:22ch}
.cover p{font-size:clamp(17px,1.45vw,20px);line-height:1.6;max-width:44ch}
.partners{gap:18px}
.partners strong{font-family:Arial,Helvetica,sans-serif;font-size:17px;font-weight:700;letter-spacing:-.5px}
.partners strong small{font-size:8px;letter-spacing:1.5px}
.partners b span{color:var(--primary)}
.cover figure{border:0;border-top:4px solid var(--primary)}
.cover figure img{filter:none}
.cover figcaption{background:var(--primary);padding:16px 20px;font-size:24px;line-height:1.15}
.primary{border-radius:0;min-height:48px;padding:14px 22px;font-family:'Space Mono',monospace;font-size:12px;gap:24px;transition:background .18s ease}
.primary:hover{background:#c80d0d}
.blocks{gap:30px}
.blocks article{border-top:2px solid #383838;padding-top:24px}
.blocks h2{margin-bottom:14px}
.block-icon{color:var(--primary);width:28px;height:28px;margin-bottom:20px}
.blocks p,.blocks ul{font-size:17px;line-height:1.65}
.blocks.four{column-gap:48px;row-gap:32px}
.stats{border-block:1px solid var(--line);padding:26px 0;margin-bottom:36px}
.stats>div{gap:10px;padding:0 28px;justify-content:flex-start}
.stats b{color:var(--primary);font-size:clamp(36px,4vw,64px);line-height:1.05}
.stats span{font-size:25px;max-width:100%;color:#f5f5f5}
.step-number{font-size:64px;margin-bottom:20px}
.note{border-left:3px solid var(--primary);border-top:0;background:#101010;padding:18px 22px;font-size:14px;line-height:1.65;max-width:none;color:#bdbdbd}
.table-wrap{border-color:#333;border-top:3px solid var(--primary)}
thead th{background:#181818;color:#f5f5f5;font-size:11px;letter-spacing:.5px;padding-block:16px}
th,td{padding:18px 22px;vertical-align:top}
tbody th{font-weight:700;color:#f5f5f5}
tbody tr:nth-child(2n){background:#0d0d0d}
table{font-size:16px;line-height:1.55}
.resources a{color:#f5f5f5;font-family:'Space Mono',monospace;font-size:12px;text-decoration-color:var(--primary);text-decoration-thickness:2px;text-underline-offset:7px;min-height:44px}
.resources a:hover{color:var(--primary)}
.microsite{border-top:4px solid var(--primary);background:#0c0c0c}
.timeline-grid article{border-color:var(--primary)}
.timeline-grid article:before{border-radius:0}
.budget-list article{border-top:1px solid #333;padding:23px 0}
.budget-list h2{font-size:32px}
.budget-list p{font-size:18px}
.total{background:#141414;border-left:4px solid var(--primary);padding:24px;font-size:18px}
.hud{border-radius:0;background:#0c0c0c;box-shadow:0 6px 25px #0009;gap:6px;padding:6px;bottom:16px;right:20px}
.hud button,.chapter-menu header button{border-radius:0;width:44px;height:44px;flex-shrink:0}
.hud button:hover:not(:disabled){background:var(--primary);border-color:var(--primary)}
.hud select{height:44px;background:#0c0c0c;width:220px;font-size:10px}
.counter{font-size:10px;padding-inline:7px}
.chapter-menu{background:#0c0c0c;border-top:3px solid var(--primary);bottom:82px}
.chapter-menu>button{min-height:48px}
.chapter-menu>button[aria-current]{color:#fff;border-left:3px solid var(--primary);padding-left:10px}
:is(button,a,select):focus-visible{outline:2px solid #fff;outline-offset:4px}
@media(min-width:901px){.stats{grid-template-columns:repeat(3,1fr)}.blocks.three,.steps-grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:651px) and (max-width:1050px){.cover-layout{gap:30px}.cover h1{font-size:clamp(76px,10vw,110px)}.cover h2{font-size:29px}.partners{flex-wrap:wrap;gap:12px}.slide{padding-inline:32px}.timeline-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){
 :root{--rail:36px}
 .rail{padding-block:16px}.rail nav button{width:34px}.rail-label{font-size:7px}
 .slide{padding:38px 20px 105px}.slide-heading{padding-left:16px;margin-bottom:28px;border-left-width:3px}
 h1{font-size:44px}.slide-heading>p{font-size:17px}.cover-layout{grid-template-columns:1fr;gap:30px}
 .cover h1{font-size:clamp(75px,20vw,110px);margin:30px 0 24px}.cover h2{font-size:30px}
 .cover p{font-size:16px}.partners{gap:12px;flex-wrap:wrap}.partners strong{font-size:14px}.partners strong small{font-size:7px}
 .cover figure{max-width:none}.cover figcaption{font-size:21px;padding:14px 16px}
 .blocks h2{font-size:29px}.blocks p,.blocks ul{font-size:16px}.blocks.four{gap:24px}
 .stats{gap:20px;padding-block:20px}.stats>div{padding:0 0 20px}.stats>div:last-child{padding-bottom:0}.stats b{font-size:48px}.stats span{font-size:24px}
 .note{padding:16px;font-size:13px}.slide-footer{font-size:7px;gap:10px}
 .hud{left:44px;right:8px;bottom:8px;gap:2px;padding:4px;justify-content:space-between}
 .hud button{width:38px;height:44px}.hud select{width:80px;min-width:0;flex:1;font-size:9px;padding:0 3px}.counter{font-size:9px;padding:0 3px}
 .chapter-menu{width:calc(100vw - 52px);right:8px;bottom:68px;max-height:70svh}
 .budget-list p{font-size:16px}.table-wrap{max-width:100%}.storyboard-board figcaption{font-size:13px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media print{.slide{padding:32px}.presentation{padding:0}.cover h1{font-size:90px}}
