/* One authored film stage. Existing page components retain industrial.css. */
.brand-film{position:relative;background:var(--bg)}
.brand-film .film-stage{height:100svh;min-height:640px;max-height:none;padding:0;overflow:hidden;isolation:isolate}
.film-media{position:absolute;inset:0;clip-path:inset(23% 16% 23% 16%);overflow:hidden;background:var(--bg)}
.film-shot{position:absolute;inset:0;visibility:hidden;pointer-events:none}
.film-shot.is-current{visibility:visible}
.film-shot picture,.film-shot img,.film-shot video{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.film-shot video{opacity:0}.film-shot.video-ready video{opacity:1}
.film-shade{position:absolute;inset:0;pointer-events:none;opacity:0;background:linear-gradient(90deg,rgba(10,18,12,.85),rgba(10,18,12,.12) 75%),linear-gradient(0deg,rgba(10,18,12,.92),transparent 38%,transparent 70%,rgba(10,18,12,.45))}
.film-opening{position:absolute;inset:0;pointer-events:none}
.brand-film .hero-intro{top:calc(var(--nav) + 38px)}
.brand-film .hero-aside{font-size:clamp(18px,1.5vw,27px);width:21%;top:48%}
.brand-film .hero-aside-right{width:23%}
.brand-film .hero-wordmark{bottom:53px}
.film-captions{position:absolute;inset:0;display:none;pointer-events:none}
.film-caption{position:absolute;left:var(--pad);top:35%;right:var(--pad);opacity:0;visibility:hidden;transform:translateY(18px)}
.film-caption h2{font-size:clamp(58px,6.3vw,110px);line-height:1.04;max-width:17ch;text-shadow:0 3px 24px #07100770}
.film-caption .eyebrow{margin-bottom:25px;color:var(--text);font-size:11px;letter-spacing:.1em}
.film-caption .eyebrow::before{content:'';display:inline-block;width:6px;height:6px;margin-right:14px;background:var(--yellow);vertical-align:2px}
.film-caption .film-subline{font-size:16px;font-weight:500;max-width:42ch;color:var(--text);margin-top:28px}
.film-caption .text-link{margin-top:28px;pointer-events:auto}
.film-curtain{position:absolute;inset:0;pointer-events:none;overflow:hidden;display:none;z-index:5}
.film-reflection{position:absolute;inset:-8% auto -8% 0;width:240%;background:linear-gradient(100deg,transparent 0%,rgba(30,44,29,.75) 12%,#10190f 25%,#10190f 75%,rgba(30,44,29,.75) 86%,transparent 100%);transform:translateX(-101%);will-change:transform}
.film-curtain.is-light .film-reflection{background:linear-gradient(100deg,transparent 0%,rgba(182,193,162,.7) 12%,#dce1d2 25%,#dce1d2 75%,rgba(182,193,162,.7) 86%,transparent 100%)}
.film-toolbar{position:absolute;bottom:0;left:0;right:0;height:53px;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:0 2.4%;z-index:8;background:rgba(17,23,15,.92);border-top:1px solid var(--line)}
.film-direction,.film-skip{font-size:10px;white-space:nowrap}.film-direction span,.film-skip span{font-size:16px;margin-left:18px}
.film-chapters{display:none;align-items:stretch;height:100%;gap:18px}.film-chapters button{position:relative;display:flex;align-items:center;gap:8px;padding:0 8px;color:var(--muted);font:500 10px 'Plus Jakarta Sans',sans-serif}
.film-chapters button i{height:2px;position:absolute;bottom:0;left:0;right:0;background:var(--accent);transform:scaleX(0);transform-origin:left}
.film-chapters button[aria-current]{color:var(--text)}.film-chapters button:hover{color:var(--yellow)}
.film-context{position:absolute;bottom:70px;right:2.4%;z-index:7;font:400 9px/1.4 'Plus Jakarta Sans',sans-serif;color:var(--muted);display:none}
.film-readable{display:none;position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);padding:0;margin:0}
.film-stills{display:grid;gap:0;padding:0 var(--pad) 64px}
.film-still{display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:center;padding:50px 0;border-top:1px solid var(--line)}
.film-still img{width:100%;aspect-ratio:16/10;object-fit:cover}.film-still h2{font-size:clamp(32px,4vw,64px);margin:20px 0}.film-still>div>p:last-child{font-size:15px;font-weight:500;color:var(--muted)}
.film-stills>.text-link{justify-self:start}
.film-enhanced .brand-film{height:calc(100svh + 1100svh * var(--film-scroll-length,1))}
.film-enhanced .brand-film .film-stage{position:sticky;top:0;min-height:0}
.film-enhanced .film-captions,.film-enhanced .film-curtain{display:block}
.film-enhanced .film-chapters{display:flex}
.film-enhanced .film-stills{display:none}
.energy-outlook{position:relative;min-height:650px;height:90svh;max-height:1100px;isolation:isolate;overflow:hidden}
.energy-outlook>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.energy-outlook::before{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#11170fcc,#11170f66);z-index:-1}
.outlook-copy{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:80px var(--pad)}
.outlook-copy h2{font-size:clamp(64px,8.5vw,146px);margin:30px 0}.outlook-copy>p:last-of-type{font-size:16px}.outlook-copy .text-link{margin-top:28px}
@media(max-width:1200px){.film-chapter-name{display:none}.film-chapters{gap:12px}.film-chapters button{padding-inline:14px}.film-caption h2{font-size:7vw}.film-caption{top:33%}}
@media(max-width:760px){
 .brand-film .film-stage{height:90svh;min-height:620px}
 .brand-film .hero-intro{top:110px}.brand-film .hero-intro h1{font-size:clamp(29px,8vw,45px)}
 .brand-film .film-media{clip-path:inset(27% 0 25% 0)}
 .brand-film .film-shot img{object-position:56% center}
 .brand-film .hero-aside{top:77%;left:24px;font-size:15px;width:auto}
 .brand-film .hero-aside-right{left:auto;right:24px;width:auto}
 .brand-film .hero-wordmark{bottom:64px}
 .film-toolbar{padding:0 24px;height:48px}.film-direction,.film-skip{font-size:9px}.film-direction span,.film-skip span{margin-left:9px}
 .film-stills{padding-inline:24px;padding-bottom:50px}.film-still{display:block;padding:28px 0 40px}.film-still>div{padding-top:25px}.film-still .eyebrow{font-size:10px}.film-still h2{font-size:38px;margin:20px 0}.film-still>div>p:last-child{font-size:14px}.film-still img{aspect-ratio:4/3}
 .energy-outlook{height:78svh;min-height:560px}.outlook-copy h2{font-size:58px}.outlook-copy>p:last-of-type{font-size:14px;max-width:25ch}
}
/* These are the same live gates used by brand-film.js. */
@media (prefers-reduced-motion: reduce){
 .film-enhanced .brand-film{height:auto}.film-enhanced .brand-film .film-stage{position:relative;min-height:620px}
 .film-enhanced .film-stills{display:grid}.film-captions,.film-chapters,.film-curtain,.film-context,.film-shot video{display:none!important}
 .film-opening{opacity:1!important;transform:none!important}.film-media{clip-path:inset(23% 16% 23% 16%)!important;transform:none!important}.film-shade{opacity:0!important}
 .film-shot{visibility:hidden!important;transform:none!important}.film-shot:first-child{visibility:visible!important}
}
@media(max-width:760px){html:not(.film-enhanced) .film-media{clip-path:inset(27% 0 25% 0)!important}}
@media(prefers-reduced-motion:reduce){.brand-film .hero-intro,.brand-film .hero-aside{transform:none!important;opacity:1!important}}
@media(max-height:640px) and (min-width:761px){.film-caption{top:29%}.film-caption h2{font-size:clamp(38px,5.5vw,80px)}.film-caption .eyebrow{margin-bottom:16px}.film-caption .film-subline{margin-top:18px}.film-context{bottom:60px}.film-caption .text-link{margin-top:12px}}

.film-enhanced .film-readable{display:block}
.film-frame{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;pointer-events:none;transform:translateZ(0)}
.frame-ready .film-frame{opacity:1}

@media(max-width:760px) and (max-height:740px){html:not(.film-enhanced) .brand-film .film-media{clip-path:inset(31% 0 25% 0)!important}}
