/* One original flowing brand mark, scaled for each context. */
.hero-brand .nrg-flow{width:76px;height:5px}
.division-top .nrg-flow{display:inline-block}
.eyebrow:before,.dark .eyebrow:before{height:4px;border-radius:0}
.cinema-edge{line-height:0}
@media(max-width:520px){.hero-brand .nrg-flow{width:57px;height:4px}.division-top .nrg-flow{width:44px;height:4px}}

/* Each project photograph owns the whole stage. No tilted or stacked cards. */
@media(min-width:801px){
 .journey{height:380svh;--journey-top:88px}
 .journey-sticky{position:sticky;top:var(--journey-top);height:calc(100svh - var(--journey-top));min-height:480px;max-height:none;max-width:none;width:100%;padding:0;display:flex;align-items:center;isolation:isolate;overflow:hidden}
 .journey-stage{position:absolute;inset:0;width:100%;height:100%;perspective:none;z-index:-2;background:#102820}
 .scene-image{inset:0;border-radius:0;opacity:0;visibility:hidden;transform:none;transition:none;will-change:auto;overflow:hidden}
 .scene-image.active{opacity:1;visibility:visible;transform:none;z-index:1;animation:scene-arrive .9s cubic-bezier(.18,.65,.2,1) both}
 .scene-image:after{display:none}
 .scene-image picture,.scene-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:58% 50%;mask-image:none}
 .scene-image:before{content:'';position:absolute;inset:0;pointer-events:none;z-index:1;background:linear-gradient(90deg,#071a15dc 0%,#071a15b8 19%,#071a1575 38%,#071a150a 70%),linear-gradient(0deg,#102820d9,transparent 28%,transparent 80%,#10282055)}
 .journey-copy{align-self:center;display:block;width:min(510px,43vw);margin-left:max(var(--gutter),calc((100vw - 1440px)/2));padding-block:40px;color:#fff;text-shadow:0 2px 28px #061b1733}
 .scene-text.active{animation:scene-copy .65s .08s var(--ease) both}
 .scene-number{color:#d3e4d4;font-size:11px;letter-spacing:.14em;font-weight:650}
 .scene-text h3{font-size:clamp(36px,4.15vw,64px);line-height:1.04;letter-spacing:-.055em;margin:24px 0}
 .scene-text p{color:#e5ede7;font-size:17px;line-height:1.75;max-width:380px}
 .journey-controls{margin-top:36px;gap:11px}
 .journey-controls a{background:#ffffff10;backdrop-filter:blur(16px);border-color:#ffffff50;color:#fff;box-shadow:inset 0 1px 1px #ffffff26;transition:background .2s,transform .2s}
 .journey-controls a:hover{transform:translateY(-2px);background:#ffffff26}
 .journey-controls a.active{background:#ffffffed;border-color:#fff;color:#132622}
 .journey-controls a:focus-visible{outline:2px solid #fff;outline-offset:4px}
 .journey-skip{display:block;color:#e1e9e3;margin-top:24px;text-shadow:none}
 .scene-caption{left:auto;right:var(--gutter);bottom:32px;background:#10282080;color:#fff;border:1px solid #ffffff30;font-size:11px;padding:12px 20px;z-index:2}
 .scene-anchor{scroll-margin-top:0}
 .scene-anchor:nth-child(2){top:20.5%}.scene-anchor:nth-child(3){top:41%}.scene-anchor:nth-child(4){top:61.5%}
}
@keyframes scene-arrive{from{opacity:0;transform:scale(1.055);filter:blur(3px)}to{opacity:1;transform:scale(1);filter:blur(0)}}
@keyframes scene-copy{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@media(min-width:801px) and (max-height:720px){.journey-copy{padding-block:25px}.scene-text h3{font-size:42px;margin:15px 0}.scene-text p{font-size:15px;line-height:1.65}.journey-controls{margin-top:22px}.journey-skip{margin-top:16px}.scene-caption{bottom:20px}}
@media(max-width:800px){
 .journey-mobile{max-width:none;padding:35px 0 0}
 .mobile-scene{display:block;margin:0;padding-bottom:80px}
 .mobile-scene>div:first-child{border-radius:0;overflow:hidden;position:relative}
 .mobile-scene picture{display:block;width:100%}
 .mobile-scene img{display:block;width:100%;height:56svh;min-height:310px;max-height:580px;aspect-ratio:auto;object-fit:cover;mask-image:linear-gradient(#000 0 73%,#000b 88%,transparent)}
 .mobile-scene>div+div{position:relative;padding:0 var(--gutter);margin:-12px auto 0;max-width:640px}
 .mobile-scene h3{font-size:clamp(32px,5vw,44px);line-height:1.08;margin:17px 0}
 .mobile-scene p{font-size:16px;line-height:1.75;color:#d7e4da}
 .mobile-scene .scene-number{font-size:10px;letter-spacing:.14em;color:#bcd2c0}
}
@media(prefers-reduced-motion:reduce){
 .journey{height:auto}.journey-sticky{display:none}.journey-mobile{display:block}.scene-image.active,.scene-text.active{animation:none}
 .mobile-scene.reveal{opacity:1!important;transform:none!important}
}
@media print{.journey{height:auto}.journey-sticky{display:none}.journey-mobile{display:block}.mobile-scene{break-inside:avoid}}
