/* A quiet editorial entrance lets the original films retain their complete frame. */
.hero.hero-cinema { display:block; height:auto; min-height:0; background:#fffdfa; color:#261f19; overflow:hidden; }
.cinema-intro { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(340px,.7fr); align-items:center; gap:clamp(32px,5vw,80px); padding:32px 5.5vw; }
.hero .cinema-heading .eyebrow { color:#9a7444; margin:0 0 23px; letter-spacing:.21em; font-size:9px; }
.hero .cinema-heading h1 { color:#261f19; font-size:clamp(54px,5.5vw,84px); line-height:.88; letter-spacing:-.055em; text-shadow:none; white-space:normal; margin:0; }
.hero .cinema-heading h1 em { margin-left:.34em; display:inline-block; color:#a97b45; font-weight:400; }
.cinema-invitation { padding:19px 23px; border:1px solid #e9e0d5; border-left:3px solid #b88c55; background:#fbfaf7; }
.cinema-invitation-kicker { margin:0 0 8px; color:#90683c; text-transform:uppercase; letter-spacing:.15em; font-family:var(--sans); font-size:10px; }
.cinema-invitation h2 { margin:0; color:#261f19; font-family:var(--serif); font-size:clamp(28px,2.5vw,38px); font-weight:400; letter-spacing:-.035em; line-height:1; }
.cinema-invitation .cinema-invitation-copy { max-width:470px; margin:10px 0 14px; color:#685d50; font-family:var(--serif); font-size:15px; line-height:1.4; }
.cinema-link { display:flex; align-items:center; justify-content:space-between; gap:30px; width:100%; min-height:48px; padding:13px 15px; border:1px solid #354e47; background:#354e47; color:#fffdfa; text-transform:uppercase; font-size:8px; letter-spacing:.14em; transition:background-color .2s,color .2s; }
.cinema-link:hover { background:#263e36; border-color:#263e36; color:#fff; }
.cinema-link img { filter:brightness(0) invert(1); }
.cinema-link img,.cinema-footnote a img { width:16px; height:16px; transition:transform .2s; }
.cinema-link:hover img,.cinema-footnote a:hover img { transform:translateX(4px); }
.cinema-stage { position:relative; background:#15343c; }
.cinema-video { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:contain; }
.cinema-toolbar { position:absolute; left:0; bottom:0; right:0; display:flex; justify-content:space-between; align-items:center; padding:23px 5.5vw; color:#fff9ed; background:linear-gradient(transparent,rgba(8,25,30,.74)); }
.cinema-toolbar p { display:flex; flex-direction:column; gap:5px; margin:0; }
.cinema-toolbar p>span:first-child { font-family:var(--serif); font-size:24px; letter-spacing:-.02em; }
.cinema-film-note { font-size:9px; letter-spacing:.08em; opacity:.86; }
.cinema-playback { position:absolute; top:24px; right:5.5vw; z-index:2; border:1px solid #fff9ed80; border-radius:30px; padding:12px 18px; min-width:100px; min-height:44px; background:#142d3566; color:#fff9ed; font-size:10px; letter-spacing:.08em; cursor:pointer; backdrop-filter:blur(8px); }
.cinema-playback:hover { background:#fff9ed; color:#17323b; }
.cinema-footnote { display:flex; justify-content:space-between; align-items:center; padding:22px 5.5vw; border-top:1px solid #e3dbd0; border-bottom:1px solid #dcd2c5; background:#fff; }
.cinema-footnote>span { font-family:var(--serif); font-size:19px; font-style:italic; color:#8a6840; }
.cinema-footnote a { display:flex; align-items:center; gap:25px; text-transform:uppercase; font-size:9px; letter-spacing:.13em; }
.hero-cinema a:focus-visible,.hero-cinema button:focus-visible { outline:2px solid #a88751; outline-offset:5px; }
.promise-strip { background:#354e47; border-block:1px solid #647970; padding:0 3vw; }
.promise-strip p { display:grid; grid-template-columns:42px minmax(0,1fr); grid-template-rows:auto auto; gap:5px 14px; align-content:center; align-items:center; margin:0; padding:24px 2vw; border-right:1px solid #647970; background:transparent; text-transform:none; letter-spacing:0; }
.promise-strip p span { display:grid; place-items:center; width:42px; height:42px; grid-row:1 / 3; margin:0; border:1px solid #c7b991; border-radius:50%; color:#e5d6b1; font-family:var(--serif); font-size:18px; font-style:italic; background:#415b51; }
.promise-strip p strong { color:#faf7ef; font-family:var(--serif); text-transform:none; letter-spacing:-.015em; font-size:22px; font-weight:400; line-height:1.05; }
.promise-strip p small { color:#e3e8de; font-family:var(--sans); font-size:11px; line-height:1.4; }
@media(min-width:701px) and (max-width:1050px) {
 .cinema-intro { grid-template-columns:minmax(0,1.2fr) minmax(310px,.8fr); padding:28px 4vw; gap:28px; }
 .hero .cinema-heading h1 { font-size:6.6vw; }
 .hero .cinema-heading .eyebrow { font-size:7px; }
 .cinema-invitation { padding:18px; }
 .cinema-invitation .cinema-invitation-copy { font-size:14px; }
 .cinema-link { font-size:7px; gap:16px; }
 .promise-strip { padding:0 2vw; }
 .promise-strip p { grid-template-columns:30px minmax(0,1fr); gap:5px 10px; padding:20px 12px; }
 .promise-strip p span { width:30px; height:30px; font-size:15px; }
 .promise-strip p strong { font-size:18px; }
}
@media(max-width:700px) {
 .cinema-intro { display:none; }
 .hero .cinema-heading .eyebrow { font-size:7px; letter-spacing:.16em; margin-bottom:17px; }
 .hero .cinema-heading h1 { font-size:clamp(44px,12.8vw,60px); line-height:.9; white-space:normal; }
 .hero .cinema-heading h1 em { margin-left:.15em; }
 .cinema-invitation { margin-top:22px; padding:16px 18px; }
 .cinema-invitation h2 { font-size:29px; }
 .cinema-invitation .cinema-invitation-copy { margin:9px 0 12px; font-size:14px; }
 .cinema-link { margin:0; font-size:7px; gap:18px; }
 .cinema-video { aspect-ratio:9/16; }
 .cinema-toolbar { padding:45px 20px 20px; }
 .cinema-toolbar p>span:first-child { font-size:22px; }
 .cinema-film-note { display:none; }
 .cinema-playback { top:16px; right:16px; padding:10px 14px; min-width:91px; font-size:9px; }
 .cinema-footnote { padding:20px; }
 .cinema-footnote>span { font-size:15px; max-width:145px; }
 .cinema-footnote a { font-size:8px; max-width:150px; gap:12px; }
 .promise-strip { display:none; }
 .promise-strip p { grid-template-columns:1fr; gap:6px; padding:18px 12px; border-color:#647970; align-content:start; }
 .promise-strip p span { grid-row:auto; width:28px; height:28px; margin-bottom:3px; font-size:13px; }
 .promise-strip p strong { font-size:19px; }
 .promise-strip p small { font-size:11px; }
}
@media(prefers-reduced-motion:reduce) { .hero-cinema * { animation:none!important; transition:none!important; } }
