.cinema{position:relative;background:#f1efe9;color:#0b1215;isolation:isolate}
@font-face{font-family:SourceSerif;src:url('assets/SourceSerif4-Regular.ttf') format('truetype');font-weight:200 900;font-style:normal;font-display:swap}
@font-face{font-family:SourceSerif;src:url('assets/SourceSerif4-Italic.ttf') format('truetype');font-weight:200 900;font-style:italic;font-display:swap}
.cinema-sr-title{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.cinema-stage{position:relative;height:calc(100svh - 80px);min-height:600px;overflow:hidden}
.cinema-backdrop{position:absolute;inset:0;background:radial-gradient(ellipse at 77% 35%,#fffdf7 0%,#ecece7 50%,#d8dedc 100%)}
.cinema-canvas{position:absolute;inset:0;opacity:0;transition:opacity .7s;touch-action:pan-y}
.cinema-canvas canvas{display:block;width:100%;height:100%}
.cinema-fallback{position:absolute;width:48%;height:100%;right:0;object-fit:contain;object-position:center;transition:opacity .5s}
.cinema-type{position:absolute;font-family:Clash,Arial,sans-serif;font-size:27vw;font-weight:600;letter-spacing:-.075em;line-height:.8;left:-1vw;bottom:6%;color:transparent;-webkit-text-stroke:1px #0b121512;pointer-events:none;transform:translate3d(0,0,0)}
.cinema-captions{position:absolute;inset:0;pointer-events:none}
.cinema-caption{position:absolute;left:6vw;top:50%;width:42%;max-width:700px;transform:translateY(-50%);opacity:0;visibility:hidden}
.cinema-caption.current{opacity:1;visibility:visible}
.cinema-caption h1,.cinema-caption h2{font-family:Cormorant,Georgia,serif;font-size:clamp(5rem,10.5vw,11rem);font-weight:400;letter-spacing:-.06em;line-height:.86;margin:1.8rem 0 2rem}
.cinema-caption em{font-weight:400;color:#c80e16}
.cinema-caption .eyebrow{font-size:.75rem!important;letter-spacing:.13em}
.cinema-dek{font-size:1rem;line-height:1.6;max-width:350px;margin:1rem 0}
.cinema-date{font-size:.75rem;line-height:1.5;opacity:.75;margin-top:2rem}
.cinema-bottom{position:absolute;left:6vw;right:6vw;bottom:3.25rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;font-size:.8rem;z-index:3}
.cinema-instruction{display:none}.cinema-skip{border-bottom:1px solid;padding:.5rem 0;text-decoration:none;pointer-events:auto;min-height:44px}
.cinema-motion{display:none;color:inherit;font-size:.75rem;border:0;border-bottom:1px solid;background:transparent;padding:.5rem 0;min-height:44px;margin-left:auto;margin-right:2rem}.cinema-active .cinema-motion{display:block}
.cinema-nav{display:none;position:absolute;right:2rem;top:50%;transform:translateY(-50%);z-index:4}
.cinema-nav button{color:inherit;display:flex;align-items:center;gap:.6rem;background:transparent;border:0;padding:.7rem .4rem;min-height:44px;min-width:44px}
.cinema-nav button span{font-size:.75rem;opacity:.5}.cinema-nav button i{display:block;width:3px;height:16px;background:currentColor;opacity:.25;transition:height .4s,opacity .4s}
.cinema-nav [aria-current] i{height:30px;opacity:1}.cinema-nav [aria-current] span{opacity:1}
.cinema-credit{position:absolute;left:6vw;bottom:.7rem;font-size:.75rem;opacity:.6;z-index:3}
.cinema-travel{display:none}
.cinema-active .cinema-stage{position:sticky;top:0;height:100svh;min-height:0}
.cinema-active .cinema-travel{display:block;margin-top:-100svh;pointer-events:none}
.cinema-active .cinema-step{height:95svh}
.cinema-active .cinema-canvas{opacity:1}.cinema-active .cinema-fallback{opacity:0;pointer-events:none}
.cinema-active .cinema-nav{display:block}.cinema-active .cinema-instruction{display:block}
.cinema[data-world="3"]{color:#fff1df}.cinema[data-world="3"] .cinema-backdrop{background:#130d0c}
.cinema[data-world="3"] .cinema-type{-webkit-text-stroke-color:#fff1df1a}.cinema[data-world="3"] .cinema-caption em{color:#ffe77b}
.cinema[data-world="2"] .cinema-backdrop{background:radial-gradient(ellipse at 60% 30%,#e7f2ef,#9dbdc0)}
.cinema[data-world="4"] .cinema-backdrop{background:radial-gradient(ellipse at 77% 35%,#fff5df,#fdd5ba)}
.cinema-backdrop{transition:background .7s}
.photo{perspective:1100px}.photo img{transform:translate3d(0,var(--photo-y,0px),0) rotateX(var(--photo-r,0deg));transform-origin:center;will-change:auto}
.chapter-heading h2{transform:translate3d(0,var(--heading-y,0px),0)}
.reduce-motion .photo img,.reduce-motion .chapter-heading h2{transform:none!important}
@media(max-width:1000px){.cinema-caption{left:5vw;width:46%}.cinema-caption h1,.cinema-caption h2{font-size:11vw}.cinema-dek{font-size:.95rem;max-width:280px}.cinema-nav{right:.8rem}.cinema-bottom,.cinema-credit{left:5vw;right:5vw}}
@media(max-width:700px){
 .cinema-stage{min-height:740px;height:calc(100svh - 65px)}
 .cinema-caption{left:1.5rem;top:2rem;transform:none!important;width:calc(100% - 3rem);max-width:none}
 .cinema-caption h1,.cinema-caption h2{font-size:clamp(4.4rem,16vw,6.2rem);line-height:.86;margin:.8rem 0 1rem}
 .cinema-caption .eyebrow{font-size:.75rem!important;margin-bottom:.8rem!important}
 .cinema-dek{font-size:.875rem;max-width:320px;line-height:1.45}.cinema-date{display:none}
 .cinema-fallback{height:51%;width:78%;right:0;top:43%;object-fit:contain}
 .cinema-type{font-size:29vw;bottom:20%}.cinema-credit{font-size:.75rem;left:1.5rem;bottom:.4rem;max-width:270px;line-height:1.4}
 .cinema-bottom{left:1.5rem;right:1.5rem;bottom:2.8rem;font-size:.75rem}
 .cinema-instruction{max-width:155px;line-height:1.5}.cinema-nav{right:.5rem;top:65%}.cinema-nav button{gap:.4rem}
 .cinema-motion{position:absolute;right:0;bottom:3rem;margin:0}.cinema-bottom{align-items:end}
 .cinema-active .cinema-step{height:110svh}
}
@media(prefers-reduced-motion:reduce){.cinema-canvas,.cinema-fallback{transition:none}.photo img,.chapter-heading h2{transform:none!important}}
@media print{.cinema-stage{height:650px;position:relative!important}.cinema-travel,.cinema-nav,.cinema-canvas,.cinema-bottom{display:none!important}.cinema-fallback{opacity:1!important}.cinema-caption{opacity:0!important;visibility:hidden!important}.cinema-caption:first-child{opacity:1!important;visibility:visible!important}.cinema{color:#0b1215!important}}

/* Director revision: align editorial serif with the shared Fuori Formato model. */
.cinema-caption h1,.cinema-caption h2,.intro>p:not(.eyebrow),.prose,.chapter-number,.chapter-heading h2,.persistence h3>strong,.readout strong,.sea-comparison strong,.volume-output strong,.risk-row>strong,.season-total strong,.return-room h2,.method h2{font-family:SourceSerif,Georgia,serif;font-optical-sizing:auto}
.cinema-caption h1,.cinema-caption h2{font-size:clamp(4.8rem,8.6vw,9.2rem);line-height:.97;letter-spacing:-.055em}
.chapter-heading h2{letter-spacing:-.035em;font-size:clamp(3rem,6.2vw,6.5rem);line-height:1.04}
.prose{font-size:1.32rem;line-height:1.6}.intro>p:not(.eyebrow){font-size:clamp(1.4rem,2.3vw,1.8rem);line-height:1.5}
@media(max-width:700px){.cinema-caption h1,.cinema-caption h2{font-size:clamp(3.7rem,14vw,5.3rem)}.chapter-heading h2{font-size:3.1rem}.prose{font-size:1.25rem;line-height:1.6}.intro>p:not(.eyebrow){font-size:1.4rem}}

/* Approved opening: the recovered photograph remains static and uncropped. */
.hero h1{font-family:SourceSerif,Georgia,serif;font-optical-sizing:auto;font-size:clamp(4.8rem,8.6vw,9.2rem);line-height:.97;letter-spacing:-.055em}
.hero-image{background:#e8e7e2}.hero-image img{object-fit:contain;min-height:0;height:100%;max-height:calc(100svh - 80px)}
@media(max-width:700px){.hero h1{font-size:clamp(3.7rem,17vw,6rem)}.hero-image img{height:auto;max-height:none;width:100%}}

/* Preserve the canonical Clash 600 wordmark: no compressed tracking or flex shrink. */
.wordmark{font-family:Clash,Arial,sans-serif;font-weight:600;font-synthesis:none;letter-spacing:0;line-height:1;white-space:nowrap;flex-shrink:0}
.masthead{gap:1.75rem}
.masthead .wordmark{font-size:2rem;padding-block:.3rem}
.masthead>span{font-size:.75rem;line-height:1.2;letter-spacing:.12em;padding-left:1.75rem;border-left:1px solid #0b121530}
@media(max-width:700px){.masthead{gap:.8rem;min-height:76px;height:auto;padding-block:.85rem;flex-wrap:wrap}.masthead .wordmark{font-size:1.65rem}.masthead>span{font-size:.7rem;padding-left:.8rem;letter-spacing:.08em}.masthead button{font-size:.75rem;max-width:none}}
