.wild-cinema { --wc-ice:#e5eff1; --wc-ink:#123e50; background:var(--wc-ice); color:#fff; overflow:hidden; }
.wild-cinema * { box-sizing:border-box; }
.wc-scene,.wc-coast { position:relative; isolation:isolate; overflow:hidden; }
.wc-scene { min-height:740px; height:100svh; }
.wc-media { position:absolute; inset:-3%; z-index:-3; transform:scale(var(--scene-scale,1)); }
.wc-media img,.wc-media video { width:100%; height:100%; object-fit:cover; display:block; }
.wc-shade { position:absolute; inset:0; z-index:-2; background:linear-gradient(180deg,rgba(6,44,59,.06) 15%,rgba(6,44,59,.18) 42%,rgba(6,44,59,.75)); }
.wc-opening { min-height:850px; height:110svh; }
.wc-opening::before { content:""; position:absolute; inset:0 0 auto; height:34%; z-index:-1; background:linear-gradient(#fbfdfd,rgba(251,253,253,.5) 34%,transparent); }
.wc-fog { position:absolute; inset:-10% -15%; z-index:0; pointer-events:none; opacity:var(--fog,0); background:radial-gradient(ellipse at 22% 35%,#fbfdfd 15%,transparent 65%),radial-gradient(ellipse at 80% 15%,#fbfdfd 15%,transparent 65%); filter:blur(30px); transform:translateY(calc(var(--scene-enter,1) * -9%)); }
.wc-opening-copy { position:absolute; inset:auto 7vw 12%; z-index:1; }
.wc-opening h2 { margin:0; font-family:Garamond,"Times New Roman",serif; font-weight:400; font-size:clamp(76px,11vw,165px); line-height:.85; letter-spacing:-.045em; }
.wc-opening h2 span,.wc-opening h2 em { display:block; }
.wc-opening h2 span { font-size:.65em; margin-bottom:14px; }
.wc-opening h2 em { font-weight:400; }
.wc-opening-copy>p { max-width:590px; margin:35px 0 0 auto; font-size:clamp(18px,1.7vw,24px); line-height:1.5; }
.wc-motion { position:absolute; bottom:22px; right:6vw; z-index:3; color:white; border:0; border-bottom:1px solid #ffffff80; padding:12px 2px; background:transparent; font:inherit; font-size:10px; text-transform:uppercase; letter-spacing:.16em; cursor:pointer; }
.wc-motion:focus-visible { outline:2px solid white; outline-offset:5px; }
.wc-mountains { height:105svh; }
.wc-mountains .wc-media img { object-position:50% 45%; }
.wc-mountains .wc-shade { background:linear-gradient(90deg,rgba(7,41,52,.65),transparent 80%),linear-gradient(0deg,rgba(7,41,52,.3),transparent 60%); }
.wc-ridge { position:absolute; inset:0; z-index:0; pointer-events:none; background:var(--wc-ice); clip-path:polygon(0 0,100% 0,100% 8%,68% 20%,40% 4%,0 30%); transform:translateY(calc(var(--scene-enter,1) * -100%)); }
.wc-story-copy { position:absolute; z-index:1; bottom:12%; left:7vw; right:7vw; }
.wc-number { display:block; margin-bottom:28px; font-size:11px; letter-spacing:.2em; }
.wc-story-copy p { max-width:650px; margin:0; font-family:Garamond,"Times New Roman",serif; font-size:clamp(39px,4.8vw,72px); line-height:1.04; letter-spacing:-.025em; }
.wc-story-copy em { font-weight:400; }
.wc-line { position:absolute; bottom:0; left:0; width:100%; height:20%; pointer-events:none; opacity:.6; }
.wc-line path { fill:none; stroke:#e6f4f6; stroke-width:1; stroke-dasharray:1400; stroke-dashoffset:calc(1400 * (1 - var(--scene-enter,1))); }
.wc-coasts { display:grid; grid-template-columns:1fr 1fr; background:var(--wc-ice); }
.wc-coast { min-height:760px; height:92svh; }
.wc-coast .wc-story-copy { left:5vw; right:4vw; }
.wc-coast .wc-story-copy p { font-size:clamp(38px,4.1vw,62px); }
.wc-coast-right { margin-top:110px; margin-bottom:-110px; z-index:1; }
.wc-coast-right .wc-media { transform:translateY(calc((1 - var(--scene-enter,1)) * 35px)) scale(1.08); }
.wc-mission { position:relative; isolation:isolate; min-height:1050px; padding:240px 7vw 140px; display:grid; grid-template-columns:1.1fr 1fr; gap:7vw; align-items:start; background:var(--wc-ice); color:var(--wc-ink); }
.wc-mission-photo { margin-left:-7vw; height:650px; overflow:hidden; transform:translateY(calc((1 - var(--scene-enter,1)) * 45px)); }
.wc-mission-photo img { width:100%; height:100%; object-fit:cover; object-position:43% 50%; display:block; }
.wc-mission-copy { padding-top:30px; }
.wc-mission-copy p { margin:0; font-family:Garamond,"Times New Roman",serif; font-size:clamp(28px,3.15vw,47px); line-height:1.18; letter-spacing:-.015em; }
.wc-mission-copy strong { font-weight:400; font-style:italic; }
.wc-mission-copy .wc-because { margin-top:40px; max-width:450px; font-family:"Century Gothic",Futura,sans-serif; font-size:clamp(17px,1.4vw,21px); line-height:1.65; letter-spacing:0; }
.wc-field-photo { position:relative; grid-column:2; width:78%; margin:-120px 0 -40px auto; overflow:hidden; transform:translateY(calc((1 - var(--scene-enter,1)) * -25px)); }
.wc-field-photo img { width:100%; height:auto; display:block; }
.wc-finale { height:100svh; min-height:760px; }
.wc-finale::before { content:""; position:absolute; inset:0 0 auto; height:28%; background:linear-gradient(var(--wc-ice),transparent); z-index:-1; }
.wc-finale-copy { position:absolute; inset:auto 6vw 14%; text-align:center; }
.wc-finale-copy>p:first-child { max-width:610px; margin:0 auto 38px; font-size:clamp(18px,1.75vw,25px); line-height:1.5; }
.wc-last-line { margin:0; font-family:Garamond,"Times New Roman",serif; font-size:clamp(58px,7.8vw,120px); letter-spacing:-.04em; line-height:.94; }
.wc-last-line em { font-weight:400; }
@media(max-width:760px) {
 .wc-scene { min-height:650px; height:90svh; }
 .wc-opening { min-height:730px; }
 .wc-opening-copy { inset:auto 26px 13%; }
 .wc-opening h2 { font-size:clamp(66px,15vw,110px); }
 .wc-opening-copy>p { margin-top:30px; font-size:18px; }
 .wc-story-copy { left:26px; right:26px; bottom:13%; }
 .wc-story-copy p { font-size:clamp(39px,9vw,62px); }
 .wc-coasts { display:block; }
 .wc-coast { height:80svh; min-height:590px; }
 .wc-coast-right { margin:0; }
 .wc-coast .wc-story-copy { left:26px; right:26px; }
 .wc-coast .wc-story-copy p { font-size:clamp(38px,9vw,60px); }
 .wc-mission { display:flex; flex-direction:column; min-height:0; padding:65px 26px 70px; gap:35px; }
 .wc-mission-photo { margin:0 -26px; height:440px; width:calc(100% + 52px); }
 .wc-mission-copy { padding-top:0; }
 .wc-mission-copy p { font-size:32px; }
 .wc-field-photo { width:82%; margin:0 0 0 auto; }
 .wc-finale-copy { inset:auto 24px 15%; }
 .wc-last-line { font-size:clamp(49px,11vw,80px); }
}
@media(prefers-reduced-motion:reduce) {
 .wc-media,.wc-coast-right .wc-media,.wc-mission-photo,.wc-field-photo { transform:none!important; }
 .wc-fog,.wc-ridge { display:none; }
 .wc-line path { stroke-dashoffset:0; }
}
