/* New promotion components only. Shared site styles remain untouched. */
body.subpage[data-page="promotion"] .promo-hero{background:radial-gradient(ellipse at 90% 15%,#f4dfd1,transparent 52%),#f4f6fa;padding-block:72px;min-height:650px}
body.subpage .promo-collage{position:relative;padding:20px 8px 112px 30px;min-width:0}
body.subpage .promo-hero-player{border:7px solid white;border-radius:10px;box-shadow:0 22px 65px #13223926;transform:rotate(-3deg)}
body.subpage .promo-player{position:relative;background:#080d15;border-radius:7px;overflow:hidden;color:white}
body.subpage .promo-player>img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;display:block;filter:brightness(.8)}
body.subpage .promo-watermark{position:absolute;left:13%;top:39%;font-size:13px;color:#ffffff75;animation:promo-watermark-drift 22s ease-in-out infinite alternate;pointer-events:none}
@keyframes promo-watermark-drift{to{transform:translate(35px,22px)}}
body.subpage .promo-play{position:absolute;inset:0;display:grid;place-content:center;font-size:24px;color:white;text-shadow:0 2px 12px #000}
body.subpage .promo-player-foot{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#070c16ed);padding:30px 18px 16px;display:flex;justify-content:space-between;gap:12px;font-size:13px}
body.subpage .promo-hero-widget{position:absolute;right:0;bottom:45px;width:72%;background:white;padding:24px;border:1px solid var(--line);border-radius:9px;box-shadow:0 15px 40px #14263e1c}
body.subpage .promo-overline{display:block;text-transform:uppercase;font-size:11px;font-weight:700;letter-spacing:.12em;color:var(--muted);margin-bottom:9px}
body.subpage .promo-hero-widget h3{margin-bottom:18px}
body.subpage .promo-hero-widget>strong{font-size:13px}
body.subpage .promo-mini-times{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap;font-size:13px}
body.subpage .promo-mini-times span{background:#f4f6fa;padding:7px 10px;border-radius:4px}
body.subpage .promo-mini-times span:last-child{color:var(--orange);background:#fff0e9}
body.subpage .promo-hero-order{position:absolute;left:0;right:12%;bottom:-12px;background:white;padding:18px;display:flex;gap:13px;align-items:center;border:1px solid var(--line);box-shadow:0 15px 30px #14263e15;border-radius:8px;font-size:13px}
body.subpage .promo-hero-order div{flex:1;min-width:0}
body.subpage .promo-hero-order div span{display:block;color:var(--muted);margin-top:3px}
body.subpage .promo-success{color:#278662;background:#e8f6ef;border-radius:50%;padding:5px 10px}
body.subpage .promo-section .p-split{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:60px}
body.subpage .promo-section .p-copy{order:0}
body.subpage .promo-section .p-copy>p{margin:20px 0}
body.subpage .promo-section .p-feature-visual{padding:0;min-width:0}
body.subpage .promo-screener,body.subpage .promo-film-web,body.subpage .promo-shop{background:white;border:1px solid #e0e6ee;border-radius:10px;box-shadow:0 22px 60px #12233e12;overflow:hidden;color:var(--ink)}
body.subpage .promo-screener .promo-player{border-radius:0}
body.subpage .promo-watch{padding:24px}
body.subpage .promo-watch h3{font-size:16px;margin-bottom:12px}
body.subpage .promo-person{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 16px;padding:14px 0;border-top:1px solid var(--line);font-size:13px}
body.subpage .promo-person>div>span{display:block;color:var(--muted)}
body.subpage .promo-sent{color:var(--muted);text-align:right}
body.subpage .promo-pill{color:#28705c;background:#edf7f1;padding:3px 8px;border-radius:4px;justify-self:start}
body.subpage .promo-person progress{width:100%;height:6px;align-self:center;accent-color:var(--orange);border:0;border-radius:4px;background:#edf0f4}
body.subpage progress::-webkit-progress-bar{background:#edf0f4;border-radius:4px}body.subpage progress::-webkit-progress-value{background:var(--orange);border-radius:4px}
body.subpage .promo-demo-label{display:block;font-size:11px;letter-spacing:.07em;text-transform:uppercase;text-align:center;margin-top:18px;color:var(--muted)}
body.subpage .p-dark .promo-demo-label{color:#aeb9ca}
body.subpage .promo-film-banner{position:relative;min-height:255px;color:white;background:#10212b;display:flex;align-items:end;padding:28px}
body.subpage .promo-film-banner>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.55)}
body.subpage .promo-film-banner>div{position:relative}
body.subpage .promo-film-banner .promo-overline{color:#d5ddd9}
body.subpage .promo-film-banner h3{font-size:30px;font-weight:500;letter-spacing:-.04em}
body.subpage .promo-trailer{display:inline-block;border:1px solid #ffffff80;border-radius:4px;font-size:13px;padding:7px 12px;margin-top:16px}
body.subpage .promo-widget{padding:26px}
body.subpage .promo-widget h3{margin-bottom:16px}
body.subpage .promo-city{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px}
body.subpage .promo-city select{font:inherit;border:1px solid var(--line);background:white;padding:10px;border-radius:4px;min-width:0;color:var(--ink)}
body.subpage .promo-dates{display:flex;flex-wrap:wrap;gap:7px;margin:18px 0;font-size:13px}
body.subpage .promo-dates span{padding:8px;border:1px solid var(--line);border-radius:4px}
body.subpage .promo-dates .selected{color:#ad3d0b;border-color:#ffc4a6;background:#fff4ed}
body.subpage .promo-cinema{display:flex;flex-wrap:wrap;align-items:center;gap:10px;border-top:1px solid var(--line);padding-top:18px;font-size:13px}
body.subpage .promo-cinema>div{flex:1 1 110px}body.subpage .promo-cinema>div>span{display:block;color:var(--muted)}
body.subpage .promo-time{border:1px solid var(--line);padding:8px;border-radius:4px}
body.subpage .promo-ticket{padding:9px 11px;background:#17483e;color:white;border-radius:4px}
body.subpage p.promo-widget-note{font-size:13px;color:var(--muted);margin-top:18px}
body.subpage .promo-shop{padding:26px;position:relative}
body.subpage .promo-shop-head{display:flex;align-items:center;gap:20px;margin-bottom:26px}
body.subpage .promo-shop-head>img{width:80px;height:120px;object-fit:cover;border-radius:4px}
body.subpage .promo-shop-head>div{min-width:0}
body.subpage .promo-shop-head p{font-size:13px;color:var(--muted);margin-top:8px}
body.subpage .promo-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
body.subpage .promo-options>div{border:1px solid var(--line);border-radius:5px;padding:14px 10px;font-size:13px;display:flex;flex-direction:column;gap:10px}
body.subpage .promo-options>div.selected{border-color:var(--orange);background:#fff8f3}
body.subpage .promo-options span{color:var(--muted);flex:1}body.subpage .promo-options b{font-size:22px}
body.subpage .promo-buyer{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px;font-size:13px}
body.subpage .promo-buyer input{display:block;width:100%;min-width:0;margin-top:6px;padding:11px 10px;border:1px solid #dbe2eb;border-radius:4px;font:inherit;background:#fff}
body.subpage .promo-checkout{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:22px}
body.subpage .promo-checkout>span{font-size:11px;color:var(--muted)}
body.subpage .promo-confirm{display:flex;align-items:center;gap:10px;background:#edf8f1;color:#286448;border:1px solid #d5eadf;padding:13px;margin-top:22px;border-radius:5px;font-size:13px}
/* Homepage band shares the lower board's --v coordinate scale, with its own relative positioning. */
body.home-page .promo-band{position:relative;min-height:calc(340 * var(--v));padding:calc(34 * var(--v)) calc(38 * var(--v)) calc(38 * var(--v));background:#f4f6fa}
body.home-page .promo-band-heading{text-align:center}
body.home-page .promo-band-heading .eyebrow{position:static;font-size:calc(8 * var(--v));margin:0 0 calc(10 * var(--v))}
body.home-page .promo-band h2{position:static;width:auto;height:auto;margin:0;font-size:calc(28 * var(--v));line-height:1.12;letter-spacing:calc(-1.1 * var(--v))}
body.home-page .promo-band-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:calc(14 * var(--v));margin-top:calc(24 * var(--v))}
body.home-page .promo-band-card{min-width:0;border:1px solid var(--line);background:white;border-radius:calc(6 * var(--v));overflow:hidden;transition:transform .2s,box-shadow .2s}
body.home-page .promo-band-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px #14263e15}
body.home-page .promo-band-card>img{position:static;display:block;width:100%;height:calc(114 * var(--v));object-fit:cover;object-position:top}
body.home-page .promo-band-card>div{padding:calc(15 * var(--v))}
body.home-page .promo-band h3{position:static;margin:0;font-size:calc(14 * var(--v));line-height:1.3}
body.home-page .promo-band p{position:static;width:auto;margin:calc(8 * var(--v)) 0;font-size:calc(10 * var(--v));color:var(--muted);line-height:1.6}
body.home-page .promo-band-link{display:block;color:var(--orange);font-weight:650;font-size:calc(9 * var(--v));margin-top:calc(14 * var(--v))}
@media(max-width:900px){body.subpage .promo-section .p-split{grid-template-columns:1fr;gap:36px}body.subpage .promo-section .p-copy{max-width:650px}body.subpage .promo-collage{margin-block:15px 35px}}
@media(max-width:700px){body.subpage[data-page="promotion"] .promo-hero{padding-block:40px}body.subpage .promo-collage{padding:12px 0 150px 12px}body.subpage .promo-hero-widget{width:88%;bottom:70px;padding:18px}body.subpage .promo-hero-order{right:0;bottom:0;padding:14px}body.subpage .promo-player-foot{flex-wrap:wrap;font-size:13px;padding:20px 12px 12px}body.subpage .promo-watch,body.subpage .promo-widget,body.subpage .promo-shop{padding:18px}body.subpage .promo-options{grid-template-columns:1fr}body.subpage .promo-options>div{display:grid;grid-template-columns:minmax(0,1fr) auto}body.subpage .promo-options span{grid-column:1}body.subpage .promo-options b{grid-column:2;grid-row:1/3;align-self:center}body.subpage .promo-buyer{grid-template-columns:1fr}body.subpage .promo-checkout{align-items:stretch;flex-direction:column}body.subpage .promo-shop-head{gap:14px}body.subpage .promo-shop-head>img{width:65px;height:98px}body.home-page .promo-band{padding:40px 16px;min-height:0}body.home-page .promo-band-heading .eyebrow{font-size:11px;margin-bottom:12px}body.home-page .promo-band h2{font-size:30px;letter-spacing:-1px}body.home-page .promo-band-cards{grid-template-columns:minmax(0,1fr);gap:20px;margin-top:26px}body.home-page .promo-band-card{border-radius:8px}body.home-page .promo-band-card>img{height:auto;aspect-ratio:16/9}body.home-page .promo-band-card>div{padding:20px}body.home-page .promo-band h3{font-size:20px}body.home-page .promo-band p{font-size:15px;margin:10px 0}body.home-page .promo-band-link{font-size:13px;margin-top:18px}}
@media(prefers-reduced-motion:reduce){body.subpage .promo-watermark{animation:none}body.home-page .promo-band-card{transition:none}}
body.subpage .promo-film-banner>img.promo-banner-poster{position:relative;inset:auto;width:72px;height:108px;object-fit:cover;filter:none;border:1px solid #ffffff40;border-radius:3px;margin-right:18px;flex-shrink:0;box-shadow:0 8px 20px #0004}
@media(max-width:400px){body.subpage .promo-film-banner{padding:20px;flex-wrap:wrap;gap:16px}body.subpage .promo-film-banner>img.promo-banner-poster{width:55px;height:83px;margin:0}body.subpage .promo-film-banner h3{font-size:24px}}
@media(min-width:901px){body.subpage #widget .p-split{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}body.subpage #widget .p-copy{order:2}}
body.subpage[data-page="promotion"] .promo-section .p-copy{order:0}
@media(min-width:901px){body.subpage[data-page="promotion"] #widget .p-copy{order:2}}
body.subpage[data-page="promotion"] .site-footer small{white-space:normal;max-width:100%;overflow-wrap:anywhere}
@media(min-width:901px) and (max-width:1200px){body.subpage[data-page="promotion"] .site-header .main-nav{gap:12px}body.subpage[data-page="promotion"] .site-header .header-actions .login{display:none}body.subpage[data-page="promotion"] .site-header .header-inner{gap:16px}}
@media(min-width:901px) and (max-width:1200px){body.subpage[data-page="promotion"] .site-header .header-actions>.btn{display:none}}
/* Use native list markers: the shared checks expect icon children. */
body.subpage[data-page="promotion"] .promo-section .p-checks{list-style:disc;padding-left:20px}
body.subpage[data-page="promotion"] .promo-section .p-checks li{display:list-item;padding-left:4px}
body.subpage[data-page="promotion"] .promo-section .p-checks li::marker{color:var(--orange)}
