/* Columbus: architectural calm, evidence on paper. Reading never depends on motion. */
:root{--col-paper:#f5f1e8;--col-ink:#252720}
body{background:var(--col-paper);color:var(--col-ink)}
.scene{margin:24px 0 40px;position:relative;min-width:0}
.scene-frame{position:relative;overflow:hidden;background:#252720;aspect-ratio:21/9}
.scene picture,.scene img,.scene-film{display:block;width:100%;height:100%;object-fit:cover}
.scene picture{position:absolute;inset:0}.scene img{aspect-ratio:auto}
.scene-home .scene-frame{aspect-ratio:16/9}
.scene-film{position:absolute;inset:0;opacity:0;pointer-events:none}.scene-film.is-playing{opacity:1}
.scene-veil{position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,rgba(14,19,16,.88),rgba(14,19,16,.55) 45%,transparent 85%)}
.scene:not(.scene-home) .scene-veil{background:linear-gradient(0deg,rgba(14,19,16,.4),transparent 60%)}
.scene .scene-title{position:absolute;left:33%;right:7%;bottom:14%;margin:0;max-width:22ch;color:#fffdf6;font-size:clamp(2rem,4.2vw,3.75rem);line-height:1.08;font-weight:400;letter-spacing:-.035em;opacity:1;transform:none;text-wrap:balance}
.scene figcaption{font-size:.72rem;line-height:1.5;color:#66665b;margin-top:8px}
.scene-line{position:absolute;left:8%;bottom:12%;width:19%;height:1px;background:#e3c58c;transform-origin:left}
.scene-play{position:absolute;z-index:2;left:20px;top:20px;color:#fff;background:#252720;border:1px solid #f5f1e8;padding:10px 14px;min-height:44px;font:inherit;cursor:pointer}
.film-status{position:absolute;left:20px;top:66px;color:white;background:#252720;font-size:.8rem;margin:0;max-width:80%}.film-status:empty{display:none}
.home .opening.columbus-opening{display:block;padding-top:0;min-height:0}.columbus-opening .scene{margin-top:0}.columbus-opening .opening-copy{max-width:760px;margin-left:33%;padding-top:0}.columbus-opening .hero-media{display:none}
.title-block{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-left:1px solid #b9b5a8;border-top:1px solid #b9b5a8;margin:32px 0 56px}
.title-block>div{padding:24px;border-bottom:1px solid #b9b5a8;border-right:1px solid #b9b5a8}
.title-block dt{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:#66665b;margin-bottom:16px}.title-block dd{margin:0;font-size:.95rem;line-height:1.65}
.content-page>.scene .scene-frame,.reading>.scene .scene-frame{max-height:380px}.content-opening{padding-top:20px}.scenic-close{margin:64px 0 24px;border-top:1px solid #b9b5a8;padding:32px 0}.scenic-close h2{max-width:24ch}.contact-atmosphere{margin-top:70px}.contact-atmosphere .scene-title{font-size:clamp(1.7rem,3.6vw,3rem)}
.scene-play:focus-visible{outline:3px solid #fff;outline-offset:4px}
@media(max-width:767px){.scene-frame,.scene-home .scene-frame{aspect-ratio:4/5}.scene .scene-title{left:8%;right:8%;bottom:14%;font-size:clamp(1.8rem,7.5vw,3rem)}.scene-line{bottom:9%}.columbus-opening .opening-copy{margin-left:0}.title-block{grid-template-columns:1fr}.scene{margin-bottom:28px}.title-block>div{padding:20px}.content-page>.scene .scene-frame,.reading>.scene .scene-frame{aspect-ratio:16/9;max-height:none}.contact-atmosphere .scene-frame{aspect-ratio:4/3}}
@media(prefers-reduced-motion:reduce){.scene *{animation:none!important;transition:none!important}}
.content-page>.scene:has(.scene-title) .scene-frame{max-height:none}
@media(max-width:767px){.content-page>.scene:has(.scene-title) .scene-frame{aspect-ratio:4/5}.content-page>.scene .scene-title{font-size:clamp(1.65rem,7vw,2.5rem)}}
.scene:has(.scene-title) .scene-veil{background:linear-gradient(0deg,rgba(14,19,16,.88),rgba(14,19,16,.68) 70%,rgba(14,19,16,.12))}
.scene:not(:has(.scene-title)) .scene-veil{background:transparent}
@media(min-width:768px){.page-frame{max-width:1216px;padding-left:48px;padding-right:48px}.scene .scene-title{font-size:clamp(2rem,3.7vw,3.5rem)}}
@media(max-width:340px){.page-frame{padding-left:16px;padding-right:16px}}
