/* A distinct illustration panel beside the copy, with no background blending. */
.cinema{height:auto;min-height:0;max-height:none;padding:100px var(--gutter);background:#f0b90b}
.cinema-sticky{position:relative;top:auto;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:5%;align-items:center;width:100%;max-width:1680px;margin:auto;height:auto;min-height:0;max-height:none;overflow:visible;background:none;isolation:isolate}
.cinema-sticky:after{content:none}
.cinema-copy{position:relative;z-index:2;width:100%;max-width:none;padding:0;color:#191c1e;transform:none}
.cinema-copy:before{content:'';display:block;width:64px;height:3px;background:#191c1e;margin-bottom:30px}
.cinema-copy h2{font-size:clamp(32px,2.9vw,52px);line-height:1.4;letter-spacing:-.045em;text-shadow:none;margin:0;text-wrap:balance}
.cinema-copy>p:last-child{font-size:19px;color:#493717;line-height:1.85;text-shadow:none;margin-top:26px}
.cinema-art{position:relative;min-width:0;width:100%;aspect-ratio:3/2;margin:0;background:#14181a;border:1px solid #2c3027;border-radius:18px;box-shadow:0 25px 65px #6746002e;overflow:hidden;transform:translateY(calc(var(--scene-y,0px)*.12));isolation:isolate}
.cinema-art>.cinema-landscape{position:relative;inset:auto;left:auto;top:auto;bottom:auto;right:auto;display:block;width:100%;height:100%;max-width:none;object-fit:contain;object-position:center;transform:none!important;mask-image:none!important;-webkit-mask-image:none!important;mix-blend-mode:normal;filter:none;opacity:1}
html[lang=en] .cinema-copy h2{font-size:clamp(32px,3.1vw,52px);line-height:1.23;letter-spacing:-.045em}
.motion-off .cinema-art{transform:none}
@media(max-width:1150px) and (min-width:801px){.cinema{padding-top:85px;padding-bottom:85px}.cinema-sticky{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:4%}.cinema-copy h2,html[lang=en] .cinema-copy h2{font-size:34px}.cinema-copy>p:last-child{font-size:17px}}
@media(max-width:800px){
 .cinema{height:auto;min-height:0;max-height:none;padding:65px var(--gutter)}
 .cinema-sticky{position:relative;top:auto;grid-template-columns:minmax(0,1fr);gap:34px;height:auto;min-height:0;max-height:none}
 .cinema-copy{width:100%;max-width:none;padding:0;transform:none}
 .cinema-copy:before{width:48px;height:2px;margin-bottom:22px}
 .cinema-copy h2{font-size:38px;line-height:1.36;max-width:600px}
 .cinema-copy>p:last-child{font-size:17px;margin-top:20px}
 .cinema-art{max-width:680px;margin:0 auto;border-radius:14px;transform:none;box-shadow:0 18px 40px #67460026}
 html[lang=en] .cinema-copy h2{font-size:38px;line-height:1.25;max-width:580px}
}
@media(max-width:500px){.cinema{padding-top:52px;padding-bottom:52px}.cinema-copy h2{font-size:clamp(29px,7.5vw,36px);max-width:100%}.cinema-copy>p:last-child{font-size:16px;margin-top:17px}.cinema-art{border-radius:12px}html[lang=en] .cinema-copy h2{font-size:33px}}
@media(prefers-reduced-motion:reduce){.cinema-art{transform:none}}
/* The transparent outer stroke enlarges each segment's touch area. */
.ring-center,.ring-cross{pointer-events:none}
.ring-button{cursor:pointer;outline:none}
.ring-chart .ring-hit{stroke:transparent;stroke-width:36;fill:none;pointer-events:stroke}
.ring-button:hover [data-segment],.ring-button:focus-visible [data-segment]{opacity:1!important;filter:drop-shadow(0 0 4px #6e4c1970)}
.ring-button:focus-visible .ring-hit{stroke:#513d191c}
.footer-signoff{padding-top:26px;display:flex;align-items:center;justify-content:space-between;gap:18px;color:#b8bba8;font-size:12px;letter-spacing:.04em}
@media(max-width:800px){.footer-signoff{padding-top:22px;flex-wrap:wrap;font-size:11px;gap:10px 24px}}

.ring-chart [data-segment]{pointer-events:none}
/* Pointer light, flowing bridge and selectable story nodes. */
.interactive-scene{will-change:transform;transition:transform .55s cubic-bezier(.2,.7,.2,1),box-shadow .55s;transform-style:preserve-3d}
.scene-viewport{position:relative;width:100%;aspect-ratio:3/2;isolation:isolate;overflow:hidden;touch-action:pan-y}
.scene-viewport>.cinema-landscape{position:relative;inset:auto;width:100%;height:100%;display:block;object-fit:contain;object-position:center;transform:none!important;mask-image:none!important;-webkit-mask-image:none!important;opacity:1}
.scene-viewport:after{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(ellipse at var(--scene-light-x,50%) var(--scene-light-y,40%),#ffe27530,transparent 48%);opacity:0;transition:opacity .4s}
.scene-hover .scene-viewport:after{opacity:1}
.scene-route{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;overflow:visible;fill:none;stroke-linecap:round}
.scene-route-base{stroke:#e4b724;stroke-width:7;opacity:.2}
.scene-route-fill{stroke:#ffe16c;stroke-width:7;stroke-dasharray:100;stroke-dashoffset:72;opacity:.85;transition:stroke-dashoffset 1s cubic-bezier(.2,.7,.2,1);filter:drop-shadow(0 0 6px #eeba19)}
.scene-flow{stroke:#fff4b0;stroke-width:10;stroke-dasharray:18 210;filter:drop-shadow(0 0 9px #f5c725);animation:bridgeFlow 4s linear infinite;opacity:.85}
.scene-hotspots{position:absolute;inset:0;z-index:3;pointer-events:none}
.scene-hotspot{position:absolute;left:var(--node-x);top:var(--node-y);transform:translate(-50%,-50%);width:48px;height:48px;display:grid;place-items:center;pointer-events:auto;touch-action:manipulation;border-radius:50%;outline-offset:5px}
.scene-pin{display:grid;place-items:center;width:36px;height:36px;border:1px solid #f0b90bc9;background:#14181ae8;color:#f7d25a;border-radius:50%;font-size:13px;font-weight:600;box-shadow:0 0 0 5px #f0b90b15;transition:background .25s,color .25s,transform .3s;animation:sceneBeacon 3.2s ease-out infinite}
.scene-hotspot:nth-child(2) .scene-pin{animation-delay:1s}.scene-hotspot:nth-child(3) .scene-pin{animation-delay:2s}
.scene-hotspot:hover .scene-pin,.scene-hotspot:focus-visible .scene-pin,.scene-hotspot.is-active .scene-pin{background:#f0b90b;color:#14181a;transform:scale(1.1);border-color:#ffec9d}
.scene-node-name{position:absolute;bottom:calc(100% + 5px);left:50%;transform:translate(-50%,4px);padding:6px 10px;border:1px solid #f0b90b50;background:#14181af0;color:#ffe38a;border-radius:5px;font-size:13px;line-height:1.4;white-space:nowrap;opacity:0;transition:opacity .25s,transform .25s;pointer-events:none}
.scene-hotspot.is-active .scene-node-name,.scene-hotspot:hover .scene-node-name,.scene-hotspot:focus-visible .scene-node-name{opacity:1;transform:translate(-50%,0)}
.scene-caption{position:relative;padding:20px 25px 23px;border-top:1px solid #f0b90b3d;background:#15191b;color:#eee5c8}
.scene-caption-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:9px}.scene-caption-heading>strong{font-size:18px;font-weight:600;color:#f0b90b}.scene-caption-heading>span{font-size:12px;letter-spacing:.1em;color:#b7b099;font-variant-numeric:tabular-nums}
.scene-caption p{font-size:16px;line-height:1.75;min-height:3.5em;color:#eee5c8}
.scene-still .scene-flow{display:none}.scene-still .scene-pin{animation:none}.scene-still .scene-route-fill{transition:none}.scene-still{transform:none!important}.scene-paused .scene-flow,.scene-paused .scene-pin{animation-play-state:paused!important}
@keyframes bridgeFlow{to{stroke-dashoffset:-456}}
@keyframes sceneBeacon{0%,100%{box-shadow:0 0 0 4px #f0b90b18}65%{box-shadow:0 0 0 13px #f0b90b00}}
@media(min-width:801px){.interactive-scene{aspect-ratio:auto;transform:perspective(1200px) translateY(calc(var(--scene-y,0px)*.12)) rotateX(var(--scene-rx,0deg)) rotateY(var(--scene-ry,0deg))}.scene-hover{box-shadow:0 32px 75px #5b3b0045}}
@media(max-width:800px){.interactive-scene{aspect-ratio:auto;transform:none}.scene-caption{padding:18px 20px 20px}.scene-caption-heading>strong{font-size:17px}.scene-caption p{font-size:15px;min-height:3.5em}.scene-pin{width:33px;height:33px;font-size:12px}.scene-node-name{font-size:12px;padding:5px 8px}}
@media(prefers-reduced-motion:reduce){.scene-flow{display:none}.scene-pin{animation:none}.interactive-scene{transform:none!important}.scene-route-fill{transition:none}}
