/* One space, one forward camera movement. The ordinary flow is the fallback.
 * Dal 15/09 una schermata sola dopo il portale: titolo a sinistra, paragrafo a destra (impaginazione «B, editoriale»), due astronauti. */
.manifesto{position:relative;isolation:isolate;min-height:100svh;background:#000;color:#f6f6f4;padding:130px var(--gutter) 110px;overflow:clip}
.space-intro{display:grid;grid-template-columns:1.15fr .85fr;grid-template-rows:auto auto;align-items:center;column-gap:6vw;justify-items:start;text-align:left;max-width:1400px;margin:0 auto;min-height:calc(100svh - 240px)}   /* stessa altezza del palco anche senza viaggio: le righe si distendono allo stesso modo e il paragrafo scende sotto il titolo */
.space-intro .chapter{grid-column:1;grid-row:1;align-self:end;color:#a9adad;font-size:12px;letter-spacing:.16em;margin-bottom:26px}
.manifesto .space-intro h2{grid-column:1;grid-row:2;align-self:start;font:400 clamp(56px,8.2vw,150px)/.98 Arial,Helvetica,sans-serif;letter-spacing:-.065em}
.space-lead{grid-column:2;grid-row:2;align-self:center;max-width:40ch;color:#a9adad;font-size:clamp(17px,1.45vw,22px);line-height:1.5;letter-spacing:-.015em}
.space-lead p+p{margin-top:18px}
.space-lead strong{color:#f6f6f4;font-weight:400}
/* Gli sticker: due astronauti col completo. Statici (15/09); la reattività viene dopo. Sotto il testo (z-index -1 nel contesto di .space-intro), mai sopra. */
.space-sticker{position:absolute;z-index:-1;pointer-events:none;user-select:none;height:var(--sticker-h,36svh);width:auto}
.space-sticker img{display:block;height:100%;width:auto}
.space-sticker--a{--sticker-h:27svh;left:8vw;bottom:3svh;transform:rotate(-4deg)}   /* sotto il titolo, rivolto verso destra */
.space-sticker--b{--sticker-h:24svh;left:49vw;top:8svh;transform:rotate(9deg)}   /* sopra il paragrafo */
@media(max-width:1100px){
 .space-intro{grid-template-columns:1fr;grid-template-rows:auto auto auto;align-content:center}   /* le righe insieme al centro: con «normal» (= stretch) i tre auto si stiravano e fra titolo e paragrafo restavano 130–250 px di nero sul telefono (audit del 23/09) */
 .space-lead{grid-column:1;grid-row:3;max-width:44ch;margin-top:28px}
 .manifesto .space-intro h2{font-size:clamp(48px,9.5vw,110px)}
 .space-sticker--b{--sticker-h:20svh;left:auto;right:4vw;top:10svh}
 .space-sticker--a{--sticker-h:22svh;left:auto;right:6vw;bottom:4svh}
}
@media(max-width:700px){.space-sticker{display:none}}
.origin-story{position:relative;height:156svh;background:#000}   /* palco (100svh) + la corsa appiccicata (56svh, la fermata del testo): alla fermata il palco si stacca e scorre via col dito. origin.js riscrive l'altezza in pixel interi (1,56 × 923 = 1439,88: il mezzo pixel sposterebbe le giunture, cupola.cjs). Prima 200svh: fra la fermata (56svh) e lo sblocco dello sticky (100svh) restavano 44svh di scroll a schermo fermo — «non si muove subito» (23/09) */
.origin-stage{position:sticky;top:0;height:100svh;overflow:clip;isolation:isolate;background:#000}
.origin-stage>.hero{position:absolute;inset:0;height:100svh;min-height:100svh;background:var(--paper)}
.origin-stage .particle-window{transform-origin:center;will-change:transform}
.origin-stage .particle-window.is-travelling{cursor:default}
.origin-stage .hero-heading,.origin-stage .hero-baseline{position:relative;z-index:1}
.origin-stage>.manifesto{position:absolute;inset:0;height:100%;min-height:0;padding:0;background:transparent;pointer-events:none;perspective:1000px;perspective-origin:50% 50%;overflow:visible}
.origin-stage .space-intro{position:absolute;inset:0;width:100%;max-width:none;margin:0;padding:85px 7vw 65px;will-change:transform,opacity;backface-visibility:hidden;opacity:0;transform:translateZ(-2800px)}
.origin-anchor{position:absolute;top:56svh;width:1px;height:1px;scroll-margin-top:0}
.origin-stars{position:absolute;inset:0;pointer-events:none;opacity:0}
.origin-stars i{position:absolute;width:2px;height:2px;border-radius:50%;background:#adb8c6}
.origin-stars i:nth-child(3n){width:1px;height:1px;opacity:.55}
@media(max-width:700px){
 .origin-stage .particle-window{min-height:0}
 .manifesto{padding:110px var(--gutter) 90px}
 .manifesto .space-intro h2{font-size:clamp(44px,12.8vw,86px);line-height:1.02}
 .space-intro .chapter{font-size:10px;margin-bottom:20px}
 .space-lead{font-size:15px;max-width:34ch;margin-top:22px}
 .origin-stage .space-intro{padding:80px var(--gutter) 65px}
}
@media(max-height:550px) and (min-width:701px){
 .origin-stage>.hero{display:flex;flex-direction:column;padding-top:90px}
 .origin-stage .hero-heading{flex-shrink:0;padding-bottom:16px}
 .origin-stage .particle-window{flex:1 1 auto;min-height:80px;max-height:none;aspect-ratio:auto}
 .origin-stage .hero-baseline{flex-shrink:0;min-height:44px}
 .manifesto .space-intro h2{font-size:14svh}
 .space-intro .chapter{margin-bottom:12px}
 .space-lead{font-size:13px}
 .origin-stage .space-intro{padding:75px 7vw 20px}
}
