/* One curated appearance. Ivory editorial sections are intentional local scenes. */
html[data-curated-theme="true"] { color-scheme: only dark; background:#070c12; }
html[data-curated-theme="true"] body { background:#070c12; color:#f4eee2; }
body[data-city-v2="true"] :is(.theme-label,#themeToggle) { display:none!important; }
body[data-city-v2="true"] :is(.sw-light,.pw-workshop,.v2-paper) { color-scheme:only light; }
body[data-city-v2="true"] :is(img,video,canvas) { forced-color-adjust:auto; }
body[data-city-v2="true"] .header { background:#070c12e8; backdrop-filter:blur(18px); }
body[data-city-v2="true"] .header nav a:not(.button) { text-decoration:none; transition:color .2s,text-shadow .2s; }
body[data-city-v2="true"] .header nav a:hover { color:#91eef0; text-shadow:0 0 20px #71dce65c; }

/* The supplied logo is visible immediately, outside the film's artwork. */
body[data-city-v2="true"] .city-film-v2 {
  display:grid; grid-template-columns:minmax(0,40%) minmax(0,60%);
  isolation:isolate; height:calc(100svh - var(--city-film-head,64px));
  min-height:650px; overflow:hidden; background:#070c12;
  border-bottom:1px solid #43707955;
}
.v2-opening-copy {
  position:relative; z-index:3; display:flex; flex-direction:column; align-items:flex-start;
  justify-content:center; padding:clamp(30px,4.5vw,110px) 0 clamp(36px,4vw,90px) clamp(24px,5vw,132px);
  min-width:0; background:linear-gradient(90deg,#070c12 65%,#070c1200);
}
.v2-opening-kicker { margin:0 0 22px; color:#88dce4; font-size:clamp(.62rem,.65vw,.83rem); font-weight:600; letter-spacing:.18em; }
.v2-opening-logo { position:relative; width:min(100%,660px); aspect-ratio:1140/745; overflow:hidden; }
.v2-opening-logo svg { display:block; width:100%; height:100%; overflow:hidden; }
.v2-opening-line { margin:22px 0 0; color:#f3f0e7; font-size:clamp(1.1rem,1.5vw,2rem); letter-spacing:-.025em; line-height:1.35; }
.v2-opening-line strong { font-weight:680; }
.v2-opening-description { margin:22px 0 0; color:#b2c7cd; font-size:clamp(.95rem,1.05vw,1.2rem); line-height:1.6; max-width:35ch; }
.v2-opening-actions { display:flex; align-items:center; flex-wrap:wrap; gap:15px 26px; margin-top:30px; }
.v2-primary,.v2-secondary { display:inline-flex; align-items:center; justify-content:space-between; gap:22px; min-height:48px; padding:12px 20px; font-size:.82rem; line-height:1.35; font-weight:550; text-decoration:none; }
.v2-primary { background:#88e2e6; color:#07202c; border:1px solid #a2f5f0; box-shadow:0 0 26px #5ad6d818,inset 0 0 20px #f0ffff22; clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px)); }
.v2-primary:hover { background:#c1fffa; box-shadow:0 0 32px #5ad6d844; }
.v2-secondary { color:#e5f6f2; padding-inline:0; border-bottom:1px solid #78c3c5; }
.v2-secondary:hover { color:#9df8ed; }
.v2-primary:focus-visible,.v2-secondary:focus-visible { outline:3px solid #fff4d9; outline-offset:5px; }
.v2-opening-cue { display:flex; align-items:center; gap:18px; margin:34px 0 0; color:#8fa7af; font-size:.58rem; letter-spacing:.18em; }
.v2-opening-cue span { color:#9ee8e4; font-size:20px; }
body[data-city-v2="true"] .city-film-v2 .city-film-stage { position:relative; width:100%; height:100%; min-height:0; overflow:hidden; }
body[data-city-v2="true"] .city-film-v2 .city-film-stage::after { content:""; position:absolute; inset:0; pointer-events:none; z-index:2; background:linear-gradient(90deg,#070c12 0,#070c1200 22%),linear-gradient(0deg,#070c12 0,#070c1200 18%); }
body[data-city-v2="true"] .city-film-v2 video { position:absolute; width:178.6%; max-width:none; height:100%; left:-78.6%; object-fit:cover; object-position:right center; background:none; }
body[data-city-v2="true"] .city-film-v2 .city-film-readiness { bottom:24px; left:32px; z-index:5; background:#07121ae8; }
body[data-city-v2="true"] .city-film-v2::after { content:""; pointer-events:none; position:absolute; inset:0; z-index:-1; background:radial-gradient(ellipse at 14% 40%,#18415d33,transparent 55%); }

/* Let ultrawide space carry the scene rather than adding empty gutters. */
@media(min-width:1800px) {
  body[data-city-v2="true"] .city-film-v2 { grid-template-columns:38% 62%; }
  .v2-opening-copy { padding-left:clamp(90px,6vw,230px); }
  .v2-opening-logo { width:min(100%,760px); }
  body[data-city-v2="true"] .city-film-v2 video { width:160%; left:-60%; }
  .v2-opening-description { font-size:1.3rem; }
  .v2-opening-actions :is(a) { font-size:.95rem; padding-block:17px; }
}
@media(max-width:1000px) {
  body[data-city-v2="true"] .city-film-v2 { grid-template-columns:43% 57%; min-height:600px; }
  .v2-opening-copy { padding-left:25px; }
  .v2-opening-actions { gap:8px 20px; }
  .v2-opening-cue { margin-top:18px; }
}
@media(max-width:700px) {
  body[data-city-v2="true"] .city-film-v2 { height:auto; min-height:calc(100svh - 64px); display:flex; flex-direction:column; }
  .v2-opening-copy { flex:none; padding:30px 24px 24px; background:#070c12; align-items:flex-start; }
  .v2-opening-kicker { font-size:.57rem; margin-bottom:14px; }
  .v2-opening-logo { width:clamp(180px,55vw,285px); }
  .v2-opening-line { margin-top:14px; font-size:1.08rem; }
  .v2-opening-description { display:none; }
  .v2-opening-actions { margin-top:19px; gap:10px 20px; }
  .v2-opening-actions a { font-size:.73rem; }
  .v2-opening-cue { display:none; }
  body[data-city-v2="true"] .city-film-v2 .city-film-stage { height:55svh; min-height:320px; flex:none; }
  body[data-city-v2="true"] .city-film-v2 video { left:0; top:-90%; width:100%; height:200%; object-fit:cover; object-position:center; }
  body[data-city-v2="true"] .city-film-v2 .city-film-stage::after { background:linear-gradient(0deg,#070c12,transparent 15%),linear-gradient(180deg,#070c12,transparent 10%); }
}
@media(max-height:650px) and (min-width:701px) {
  body[data-city-v2="true"] .city-film-v2 { min-height:560px; height:auto; }
  .v2-opening-logo { width:min(75%,350px); }
  .v2-opening-cue { display:none; }
}
@media(prefers-reduced-motion:reduce) {
  body[data-city-v2="true"] :is(.v2-primary,.v2-secondary,.header nav a) { transition:none; }
}
@media(forced-colors:active) {
  .v2-opening-logo { mix-blend-mode:normal; }
  .v2-primary { clip-path:none; background:ButtonFace; color:ButtonText; border:1px solid ButtonText; }
  .v2-secondary { color:LinkText; }
}
