.movie-view {
  --world-accent: #d7190b;
  --world-deep: #210503;
  min-height: 100svh;
  overflow-x: clip;
  background:
    radial-gradient(circle at 78% 9%, color-mix(in srgb, var(--world-accent) 12%, transparent), transparent 28rem),
    linear-gradient(115deg, transparent 40%, rgba(255,255,255,.012) 40.1%, transparent 40.3%),
    var(--color-bg);
  animation: world-arrive 620ms var(--ease-out) both;
}
.movie-view[hidden] { display:none; }
.movie-view[data-tone="emerald"] { --world-accent:#23a26d;--world-deep:#031d14; }.movie-view[data-tone="silver"] { --world-accent:#9aa3aa;--world-deep:#15191b; }
.movie-view[data-tone="sky"] { --world-accent:#3f8fbc;--world-deep:#041723; }.movie-view[data-tone="amber"] { --world-accent:#c98125;--world-deep:#211103; }
.movie-view[data-tone="violet"] { --world-accent:#864fa3;--world-deep:#17051e; }.movie-view[data-tone="rust"] { --world-accent:#a94d2c;--world-deep:#210a04; }
.movie-view[data-tone="ember"] { --world-accent:#e05225;--world-deep:#260802; }.movie-view[data-tone="azure"] { --world-accent:#227bb6;--world-deep:#031c2c; }
.movie-view[data-tone="sand"] { --world-accent:#b58b50;--world-deep:#21180c; }.movie-view[data-tone="steel"] { --world-accent:#6f8393;--world-deep:#101820; }
.movie-view[data-tone="olive"] { --world-accent:#7c824a;--world-deep:#17190a; }.movie-view[data-tone="midnight"] { --world-accent:#4f659b;--world-deep:#070d21; }
.movie-view[data-tone="teal"] { --world-accent:#2f9189;--world-deep:#031c1b; }.movie-view[data-tone="moss"] { --world-accent:#67834d;--world-deep:#101a08; }
.movie-view[data-tone="bronze"] { --world-accent:#9b6a3d;--world-deep:#211307; }

.movie-header,.movie-page,.movie-footer { width:min(calc(100% - clamp(2rem,8vw,8rem)),var(--content-max));margin-inline:auto; }
.movie-header { display:flex;align-items:center;justify-content:space-between;min-height:7rem;border-bottom:1px solid var(--color-border); }
.movie-breadcrumb { display:flex;min-width:0;align-items:center;justify-content:flex-end;gap:.55rem;color:#4f4f4f;font-size:.58rem;letter-spacing:.11em;text-transform:uppercase; }
.movie-breadcrumb button { padding:.45rem 0;background:transparent;color:var(--color-muted);cursor:pointer;font:inherit;text-transform:inherit;letter-spacing:inherit; }
.movie-breadcrumb button:hover,.movie-breadcrumb button:focus-visible { color:var(--color-white); }
.movie-breadcrumb > span:last-child { max-width:18rem;overflow:hidden;color:var(--world-accent);text-overflow:ellipsis;white-space:nowrap; }

.movie-hero { display:grid;grid-template-columns:minmax(0,1.05fr) minmax(24rem,.95fr);grid-template-areas:"copy art";gap:clamp(3rem,8vw,9rem);align-items:center;min-height:min(58rem,calc(100svh - 7rem));padding:clamp(4rem,8vh,7rem) 0 clamp(6rem,11vh,9rem);border-bottom:1px solid var(--color-border); }
.movie-hero__copy { grid-area:copy;position:relative;z-index:2; }
.movie-back { padding:.65rem 0;border-bottom:1px solid var(--color-border);background:transparent;color:var(--color-muted);cursor:pointer;font-size:var(--font-xs);letter-spacing:.13em;text-transform:uppercase; }
.movie-back:hover { color:var(--color-white);border-color:var(--world-accent); }
.movie-hero__path { margin-top:clamp(3rem,7vh,5rem);color:var(--world-accent);font-size:.65rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase; }
.movie-hero h2 { max-width:10ch;margin-top:var(--space-3);color:var(--color-white);font-size:clamp(4.6rem,9.5vw,10rem);font-weight:510;letter-spacing:-.072em;line-height:.78;overflow-wrap:anywhere; }
.movie-hero__meta { margin-top:var(--space-5);color:var(--color-muted);font-size:var(--font-xs);font-weight:700;letter-spacing:.18em;text-transform:uppercase; }
.movie-save { display:flex;align-items:center;gap:var(--space-4);margin-top:var(--space-5); }
.movie-save button { padding:.8rem 0;border-bottom:1px solid var(--color-border);background:transparent;color:var(--color-muted);cursor:pointer;font-size:.62rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase; }
.movie-save button:hover,.movie-save button:focus-visible,.movie-save button[aria-pressed="true"] { border-color:var(--world-accent);color:var(--color-white); }
.movie-save button[aria-pressed="true"] [data-save-symbol] { color:var(--world-accent); }
.movie-save p { min-height:1em;color:#666;font-size:.58rem;letter-spacing:.08em; }
.movie-hero__question { max-width:44rem;margin-top:clamp(3.5rem,8vh,6rem);padding-top:var(--space-4);border-top:1px solid color-mix(in srgb,var(--world-accent) 40%,var(--color-border)); }
.movie-kicker { color:var(--world-accent);font-size:.62rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase; }
.movie-hero__question h3 { margin-top:var(--space-3);color:var(--color-text);font-size:clamp(1.6rem,2.8vw,3rem);font-weight:480;letter-spacing:-.035em;line-height:1.08; }

.movie-hero__art { grid-area:art;position:relative;isolation:isolate;display:flex;align-items:flex-end;aspect-ratio:4/5;padding:clamp(1.5rem,4vw,3.5rem);overflow:hidden;border:1px solid color-mix(in srgb,var(--world-accent) 34%,var(--color-border));background:radial-gradient(circle at 70% 24%,color-mix(in srgb,var(--world-accent) 54%,transparent),transparent 23%),linear-gradient(145deg,var(--world-deep),#030303 68%);box-shadow:0 40px 100px rgba(0,0,0,.55),0 0 70px color-mix(in srgb,var(--world-accent) 12%,transparent); }
.movie-hero__art::before { position:absolute;inset:7%;content:"";border:1px solid rgba(255,255,255,.08);clip-path:polygon(0 0,100% 0,100% 62%,62% 100%,0 100%); }
.movie-hero__art::after { position:absolute;inset:0;z-index:-1;content:"";opacity:.2;background-image:radial-gradient(rgba(255,255,255,.55) .6px,transparent .7px);background-size:5px 5px;mask-image:linear-gradient(to bottom,black,transparent 70%); }
.movie-art__gate { position:absolute;top:15%;left:19%;width:51%;height:61%;border:1px solid color-mix(in srgb,var(--world-accent) 72%,white 5%);box-shadow:inset 0 0 60px color-mix(in srgb,var(--world-accent) 11%,transparent),0 0 40px color-mix(in srgb,var(--world-accent) 12%,transparent);transform:perspective(30rem) rotateY(-16deg); }
.movie-art__gate::before,.movie-art__gate::after { position:absolute;inset:11%;content:"";border:1px solid rgba(255,255,255,.08); }.movie-art__gate::after { inset:23%;border-color:color-mix(in srgb,var(--world-accent) 30%,transparent); }
.movie-art__orbit { position:absolute;top:11%;right:-18%;width:72%;aspect-ratio:1;border:1px solid rgba(255,255,255,.09);border-radius:50%;box-shadow:0 0 60px color-mix(in srgb,var(--world-accent) 10%,transparent); }
.movie-art__ray { position:absolute;top:-16%;left:61%;width:1px;height:125%;background:linear-gradient(transparent,rgba(255,255,255,.33),transparent);transform:rotate(24deg); }
.movie-hero__art strong { position:relative;z-index:3;max-width:8ch;color:rgba(255,255,255,.9);font-size:clamp(2.3rem,5vw,5.2rem);font-weight:500;letter-spacing:-.06em;line-height:.82;text-transform:uppercase; }
.movie-hero__backdrop { z-index:0;filter:saturate(.78) contrast(1.08); }
.movie-hero__art.has-cinema-image::after { z-index:1;opacity:1;background:linear-gradient(90deg,rgba(0,0,0,.28),transparent 55%),linear-gradient(to top,rgba(0,0,0,.9),transparent 68%),radial-gradient(circle at center,transparent 22%,rgba(0,0,0,.46) 100%);mask-image:none; }
.movie-art__gate,.movie-art__orbit,.movie-art__ray { z-index:2; }
.movie-hero__art.has-cinema-image .movie-art__gate,.movie-hero__art.has-cinema-image .movie-art__orbit,.movie-hero__art.has-cinema-image .movie-art__ray { opacity:.2; }
.movie-poster { position:absolute;right:clamp(1rem,3vw,2.4rem);bottom:clamp(1rem,3vw,2.4rem);z-index:5;width:clamp(6rem,13vw,9rem);aspect-ratio:2/3;overflow:hidden;border:1px solid rgba(255,255,255,.25);background:var(--world-deep);box-shadow:0 18px 50px rgba(0,0,0,.65);opacity:0;transform:translateY(8px);transition:opacity 420ms var(--ease-out),transform 420ms var(--ease-out); }
.movie-hero__art.has-cinema-poster .movie-poster { opacity:1;transform:none; }
.movie-hero__art.has-cinema-poster strong { max-width:5.5ch;padding-right:7rem; }

.movie-concept { display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(3rem,9vw,10rem);padding:clamp(7rem,13vw,12rem) 0;border-bottom:1px solid var(--color-border); }
.movie-concept h3 { max-width:20ch;margin-top:var(--space-4);color:var(--color-white);font-size:clamp(2.5rem,5vw,5.5rem);font-weight:480;letter-spacing:-.055em;line-height:.98; }
.movie-concept article:last-child { align-self:end;padding-top:var(--space-5);border-top:1px solid var(--color-border); }
.movie-concept article:last-child > p:last-child { margin-top:var(--space-4);color:var(--color-text);font-size:clamp(1.15rem,2vw,1.6rem);line-height:1.55; }
.movie-mechanisms { display:grid;grid-template-columns:1fr 1fr;gap:var(--space-7);padding:clamp(6rem,11vw,10rem) 0;border-bottom:1px solid var(--color-border); }
.movie-mechanisms h3 { max-width:12ch;margin-top:var(--space-3);color:var(--color-white);font-size:clamp(2.3rem,4.5vw,4.5rem);font-weight:500;letter-spacing:-.05em;line-height:1; }
.movie-mechanism-list { display:flex;flex-direction:column;justify-content:center;gap:var(--space-3); }
.movie-mechanism { display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);padding:1.35rem 0;border-top:1px solid var(--color-border);color:var(--color-muted);font-size:.72rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase; }
.movie-mechanism.is-current { color:var(--color-white);border-color:var(--world-accent); }
.movie-mechanism em { color:var(--world-accent);font-size:.55rem;font-style:normal; }
.movie-origin { position:relative;padding:clamp(7rem,14vw,13rem) 0;overflow:hidden;border-bottom:1px solid var(--color-border);text-align:center; }
.movie-cinema { display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(3rem,9vw,10rem);padding:clamp(6rem,11vw,10rem) 0;border-bottom:1px solid var(--color-border); }
.movie-cinema[hidden] { display:none; }
.movie-cinema__heading h3 { max-width:10ch;margin-top:var(--space-3);color:var(--color-white);font-size:clamp(2.4rem,4.8vw,5rem);font-weight:500;letter-spacing:-.055em;line-height:.96; }
.movie-cinema__body > p { max-width:52rem;color:var(--color-text);font-size:clamp(1.05rem,1.8vw,1.35rem);line-height:1.7; }
.movie-cinema__facts { display:grid;grid-template-columns:2fr 1fr 1fr;gap:var(--space-4);margin:var(--space-7) 0 0; }
.movie-cinema__facts div { padding-top:var(--space-3);border-top:1px solid var(--color-border); }
.movie-cinema__facts dt { color:var(--world-accent);font-size:.56rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase; }
.movie-cinema__facts dd { margin:var(--space-2) 0 0;color:var(--color-muted);font-size:.72rem;letter-spacing:.07em;text-transform:uppercase; }
.movie-origin::before { position:absolute;top:0;left:50%;width:1px;height:5rem;content:"";background:linear-gradient(var(--world-accent),transparent); }
.movie-origin h3 { max-width:23ch;margin:var(--space-5) auto 0;color:var(--color-white);font-size:clamp(2.4rem,5.2vw,5.5rem);font-weight:480;letter-spacing:-.055em;line-height:.98; }
.movie-signals { display:grid;grid-template-columns:.75fr 1.25fr;gap:var(--space-7);padding:clamp(5rem,9vw,8rem) 0;border-bottom:1px solid var(--color-border); }
.movie-energy { display:flex;align-items:center;gap:var(--space-4);margin-top:var(--space-4);color:var(--color-white);font-size:1.2rem;text-transform:uppercase; }
.movie-energy > span { display:flex;gap:.55rem; }.movie-energy i { width:.55rem;height:.55rem;border:1px solid #555;border-radius:50%; }.movie-energy i.is-on { border-color:var(--world-accent);background:var(--world-accent);box-shadow:0 0 12px color-mix(in srgb,var(--world-accent) 55%,transparent); }
.movie-moods { display:flex;flex-wrap:wrap;gap:.6rem;margin:var(--space-4) 0 0;padding:0;list-style:none; }
.movie-moods li { padding:.75rem 1rem;border:1px solid var(--color-border);color:var(--color-muted);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase; }
.movie-entry { padding:clamp(8rem,15vw,14rem) 0;text-align:center; }
.movie-entry h3 { margin-top:var(--space-4);color:var(--color-white);font-size:clamp(3rem,7vw,7.5rem);font-weight:480;letter-spacing:-.065em; }
.movie-entry button { margin-top:var(--space-7);padding:1.2rem 1.5rem;border:1px solid var(--world-accent);background:var(--world-accent);color:#fff;cursor:pointer;font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;transition:background var(--duration-fast),box-shadow var(--duration-fast); }
.movie-entry button:hover,.movie-entry button:focus-visible { background:transparent;box-shadow:0 0 35px color-mix(in srgb,var(--world-accent) 22%,transparent); }
.movie-footer { display:flex;justify-content:space-between;gap:var(--space-4);padding:var(--space-5) 0 var(--space-7);border-top:1px solid var(--color-border);color:#555;font-size:.58rem;letter-spacing:.15em;text-transform:uppercase; }
.movie-footer button { background:transparent;color:#777;cursor:pointer;font:inherit;text-transform:inherit;letter-spacing:inherit; }

.viewing-dialog { position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:var(--space-4); }
.viewing-dialog[hidden] { display:none; }
.viewing-dialog__backdrop { position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(0,0,0,.87);backdrop-filter:blur(7px);cursor:default; }
.viewing-dialog__panel { position:relative;width:min(100%,42rem);padding:clamp(2.5rem,7vw,5.5rem);border:1px solid var(--color-border);background:linear-gradient(145deg,color-mix(in srgb,var(--world-accent) 7%,#0a0a0a),#080808);box-shadow:0 35px 100px #000;text-align:center; }
.viewing-dialog__close { position:absolute;top:1rem;right:1rem;width:2.75rem;height:2.75rem;background:transparent;color:var(--color-muted);cursor:pointer;font-size:1.7rem; }
.viewing-dialog h2 { margin-top:var(--space-4);color:var(--color-white);font-size:clamp(2.4rem,6vw,4.7rem);font-weight:500;letter-spacing:-.055em;line-height:.95; }
.viewing-dialog__panel > p:not(.movie-kicker) { margin-top:var(--space-4);color:var(--color-muted);font-size:.7rem;letter-spacing:.15em;text-transform:uppercase; }
.viewing-dialog__return { margin-top:var(--space-6);padding:.8rem 0;border-bottom:1px solid var(--world-accent);background:transparent;color:var(--color-white);cursor:pointer;font-size:.65rem;letter-spacing:.14em;text-transform:uppercase; }
body.is-viewing-open { overflow:hidden; }

@keyframes world-arrive { from { opacity:0;transform:translateY(15px); } to { opacity:1;transform:none; } }
@media (max-width:1024px) { .movie-hero { grid-template-columns:minmax(0,1fr) minmax(20rem,.8fr);gap:3rem; }.movie-hero h2 { font-size:clamp(4rem,9vw,7rem); } }
@media (max-width:768px) {
  .movie-header { min-height:5.5rem; }.movie-breadcrumb { max-width:70%;overflow:hidden;white-space:nowrap; }.movie-breadcrumb button,.movie-breadcrumb > span { flex:0 0 auto; }
  .movie-hero { grid-template-columns:1fr;grid-template-areas:"art" "copy";gap:3.5rem;padding:2rem 0 6rem; }.movie-hero__art { width:min(100%,32rem);margin-inline:auto;aspect-ratio:5/4; }.movie-hero__path { margin-top:3rem; }.movie-hero h2 { font-size:clamp(4rem,16vw,7rem); }
  .movie-concept,.movie-mechanisms,.movie-cinema,.movie-signals { grid-template-columns:1fr; }.movie-concept article:last-child { align-self:auto; }.movie-signals { gap:3rem; }.movie-cinema__facts { grid-template-columns:1fr 1fr; }
}
@media (max-width:430px) { .movie-header { align-items:flex-start;padding:1.3rem 0;gap:1rem; }.movie-breadcrumb { max-width:66%;justify-content:flex-start;overflow-x:auto; }.movie-hero__art { aspect-ratio:4/3; }.movie-poster { width:5.5rem; }.movie-hero__art.has-cinema-poster strong { padding-right:4.5rem; }.movie-hero h2 { font-size:clamp(3.6rem,20vw,5.7rem); }.movie-hero__question h3 { font-size:1.55rem; }.movie-cinema__facts { grid-template-columns:1fr; }.movie-footer { flex-direction:column; } }
@media (prefers-reduced-motion:reduce) { .movie-view { animation:none; }.movie-entry button,.cinema-image,.movie-poster { transition:none; } }
