/* Scroll scenes inspired by the opening panels and photo tunnel of Apartments. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.movements{--night:#202720;background:var(--night);color:#f5f4ee;padding:95px 0 0}
.movements .section-rule{background:#59604f}
.movements .section-heading p{color:#b8c1af}
.movements-intro .section-heading{margin-bottom:65px}
.site-header.on-dark{background:rgba(32,39,32,.93);color:#f5f4ee;box-shadow:none}
.site-header.on-dark .desktop-nav{background:#ffffff08;border-color:#ffffff24}
.site-header.on-dark .desktop-nav a:hover,.site-header.on-dark .desktop-nav a[aria-current]{background:#ffffff16}
.movement-scene{--scene-top:80px;--panel-travel:29vw;--panel-turn:2deg;--copy-scale:1;--scene-progress:1;position:relative;isolation:isolate}
.scene-stage{height:calc(100svh - var(--scene-top));min-height:550px;position:relative;display:grid;place-items:center;overflow:hidden;background:var(--night)}
.has-scene-motion .movement-scene{height:210svh}
.has-scene-motion .scene-stage{position:sticky;top:var(--scene-top)}
.scene-topline{position:absolute;z-index:5;left:48px;right:48px;top:26px;display:flex;justify-content:space-between;gap:20px;color:#bdc5b6}
.scene-copy{position:relative;z-index:1;text-align:center;width:min(490px,43vw);padding-block:60px;transform:scale(var(--copy-scale));transform-origin:center center}
.scene-copy>.eyebrow{color:#c8d2bd;font-size:9px}
.scene-copy h3{font:clamp(75px,7.8vw,124px)/.94 var(--serif);letter-spacing:-.025em;margin:28px 0 24px}
.scene-copy h3 em{color:#d3dac8}
.scene-description{font-size:13px;line-height:1.85;color:#c5cebd;max-width:320px;margin:0 auto 25px}
.scene-copy .pill{font-size:11px;min-height:49px;gap:19px;padding-left:20px}
.scene-copy .pill-icon{width:35px;height:35px;font-size:20px}
.film-button{display:none;width:fit-content;margin:17px auto 0;padding:5px 0;background:none;color:#dce1d4;border:0;border-bottom:1px solid #909a8570;font-size:11px;line-height:1.8}
.has-film-player button.film-button,noscript .film-button{display:block}
.film-button span{margin-right:7px}
.scene-photo{position:absolute;z-index:3;left:50%;top:50%;width:min(40vw,650px);height:min(76%,730px);overflow:hidden;border-radius:10px;will-change:transform;pointer-events:none;background:#535a4e}
.scene-photo img{width:100%;height:100%;object-fit:cover}.scene-photo--right img{object-position:center 18%}
.scene-photo--left{transform:translate(calc(-100% + 36px - var(--panel-travel)),-50%) rotate(calc(-1 * var(--panel-turn)));transform-origin:center center}
.scene-photo--right{transform:translate(calc(-36px + var(--panel-travel)),-50%) rotate(var(--panel-turn));transform-origin:center center}
.movement-scene--couples .scene-photo--left img{height:100%;margin-top:0;object-position:center 50%}
.movement-scene--beyond .scene-photo--left img{object-position:60% center}
.movement-scene--beyond .scene-photo--right img{object-position:62% center}
.scene-stage:focus-within{--panel-travel:29vw!important;--panel-turn:2deg!important;--copy-scale:1!important}
.scene-bottom{position:absolute;z-index:4;bottom:29px;left:48px;right:48px;display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:9px;letter-spacing:.025em;color:#c3ccb9}
.scene-scroll{display:flex;align-items:center;gap:15px}
.scene-scroll span{font-size:17px}
.scene-progress{position:absolute;left:48px;right:48px;bottom:12px;height:1px;background:#ffffff20;z-index:4}
.scene-progress span{display:block;height:100%;background:#c4d2b3;transform-origin:left;transform:scaleX(var(--scene-progress))}
.impact-scroll{position:relative}
.impact-stage{position:relative;min-height:640px;height:100svh;overflow:hidden;background:var(--night);isolation:isolate}
.impact-gallery{--photo-width:50vw;--photo-gap:7.5vw;--gallery-cycle:30s;--gallery-depth:110vw;--gallery-half-gap:clamp(5px,.65vw,10px);position:absolute;inset:13% 0;z-index:0;overflow:hidden;pointer-events:none}
/* Both walls share the same centered perspective; only a thin central seam is clipped. */
.impact-lane{position:absolute;inset:0;perspective:var(--gallery-depth);perspective-origin:50% 50%}
.impact-lane--left{clip-path:inset(0 calc(50% + var(--gallery-half-gap)) 0 0)}
.impact-lane--right{clip-path:inset(0 0 0 calc(50% + var(--gallery-half-gap)))}
.impact-wall{position:absolute;top:0;display:flex;width:max-content;height:100%;transform-style:preserve-3d}
.impact-wall--left{left:-10%;transform-origin:left center;transform:rotateY(80deg)}
.impact-wall--right{right:-10%;transform-origin:right center;transform:rotateY(-80deg)}
.impact-track{display:flex;flex:none;height:100%;width:max-content;animation:gallery-to-left var(--gallery-cycle) linear infinite;animation-delay:-7s;animation-play-state:paused;will-change:transform}
.impact-wall--right .impact-track{animation-name:gallery-to-right}
.impact-gallery.is-running .impact-track{animation-play-state:running}
.impact-frame{flex:none;width:var(--photo-width);height:100%;margin-inline:calc(var(--photo-gap) / 2);overflow:hidden;background:var(--night)}
.impact-frame img{width:100%;height:100%;object-fit:cover;object-position:center 25%;filter:saturate(.72);opacity:.5}
.impact-frame--portrait img{object-position:center 33%}
.impact-frame--speech img{height:122%;object-position:center 5%}
.impact-shade{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,transparent 0%,#20272018 23%,#202720d9 44%,#202720 49%,#202720 51%,#202720d9 56%,#20272018 77%,transparent 100%),linear-gradient(#202720 6%,#20272000 27%,#20272000 74%,#202720 94%)}
@keyframes gallery-to-left{from{transform:translateX(0)}to{transform:translateX(-100%)}}
@keyframes gallery-to-right{from{transform:translateX(0)}to{transform:translateX(100%)}}
.impact-toggle{position:absolute;z-index:3;right:40px;bottom:39px;display:none;align-items:center;gap:8px;border:1px solid #ffffff35;border-radius:30px;padding:9px 14px;background:#202720aa;color:#ced6c5;font-size:10px;line-height:1.3;transition:background .2s}
.has-gallery-controls .impact-toggle{display:flex}
.impact-toggle:hover{background:#3c4936}
.impact-toggle[hidden]{display:none!important}
.impact-content{position:absolute;z-index:2;inset:19% 0 17%;display:flex;flex-direction:column;justify-content:center;text-align:center}
.impact-content h3{color:#cbd4c1;font-size:10px;margin-bottom:47px}
.impact-metrics{display:grid;grid-template-columns:repeat(3,1fr);align-items:start;width:min(1200px,94%);margin:0 auto}
.impact-metrics>div{display:flex;flex-direction:column;align-items:center}
.impact-metrics dt{order:2;font-size:13px;line-height:1.5;margin-top:14px;color:#ecf0e6}
.impact-metrics dd{order:1;font:clamp(90px,11vw,162px)/.85 var(--serif);font-variant-numeric:lining-nums;letter-spacing:-.06em;margin:0;text-shadow:0 3px 35px #151b15}
.impact-signature{margin-top:46px;font:23px/1.45 var(--serif);color:#c3ceb9}
.impact-scroll-hint{position:absolute;z-index:2;bottom:52px;left:20px;right:20px;text-align:center;font-size:9px;letter-spacing:.06em;color:#b7c5aa}
.impact-scroll-hint span{display:inline-block;margin-left:15px;font-size:17px}
.film-dialog{width:min(600px,calc(100vw - 32px));max-height:calc(100svh - 32px);padding:18px;border:1px solid #53604b;background:#202720;color:#f5f4ee;border-radius:10px}
.film-dialog::backdrop{background:#101610db;backdrop-filter:blur(10px)}
.film-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}
.film-top h2{font:27px/1.15 var(--serif)}
.film-close{background:none;border:0;color:inherit;font-size:12px;padding:8px}
.film-dialog video{width:100%;height:min(73svh,780px);object-fit:contain;background:#101710}
@media(max-width:1000px){.scene-copy{width:46vw}.scene-copy h3{font-size:clamp(70px,8.7vw,96px)}.scene-description{font-size:12px;max-width:270px}.scene-topline,.scene-bottom{left:30px;right:30px}.scene-progress{left:30px;right:30px}.impact-metrics dt{font-size:12px}}
@media(max-width:760px){.movements{padding-top:70px}.movements-intro .section-heading{margin-bottom:32px}.movement-scene{--scene-top:80px;--panel-travel:42vw}.has-scene-motion .movement-scene{height:195svh}.scene-stage{min-height:535px}.scene-copy{width:67vw;max-width:370px;padding-block:52px}.scene-copy h3{font-size:clamp(58px,10.5vw,82px);margin:22px 0}.scene-description{font-size:12px;line-height:1.8;max-width:265px}.scene-photo{width:72vw;height:69%;border-radius:7px}.scene-photo--left{transform:translate(calc(-100% + 25px - var(--panel-travel)),-50%) rotate(calc(-1 * var(--panel-turn)))}.scene-photo--right{transform:translate(calc(-25px + var(--panel-travel)),-50%) rotate(var(--panel-turn))}.scene-stage:focus-within{--panel-travel:42vw!important}.scene-topline{top:22px;left:22px;right:22px}.scene-topline .eyebrow{font-size:8px;letter-spacing:.09em}.scene-topline .eyebrow:last-child{display:none}.scene-bottom{bottom:27px;left:22px;right:22px;justify-content:center;font-size:8px}.scene-bottom>span:first-child{display:none}.scene-progress{left:22px;right:22px}.impact-stage{min-height:570px}.impact-gallery{--photo-width:70vw;--photo-gap:12vw;--gallery-depth:135vw;inset:18% 0}.impact-toggle{right:22px;bottom:28px;padding:8px 11px;font-size:9px}.impact-content{inset:17% 0 18%}.impact-content h3{font-size:9px;margin-bottom:38px}.impact-metrics{width:94%;gap:8px}.impact-metrics dd{font-size:clamp(70px,17vw,118px)}.impact-metrics dt{font-size:10px;max-width:90px;margin-top:15px}.impact-signature{font-size:20px;margin:38px 30px 0}.impact-scroll-hint{font-size:8px;bottom:40px;right:110px;left:22px;text-align:left}}
@media(max-width:390px){.scene-copy{width:73vw}.scene-copy h3{font-size:59px}.scene-copy>.eyebrow{font-size:8px}.scene-description{font-size:11px;max-width:230px}.scene-copy .pill{font-size:10px;padding-left:15px;gap:12px}.scene-copy .pill-icon{width:31px;height:31px}.scene-copy .film-button{font-size:10px}.impact-metrics dt{font-size:9px}.impact-signature{font-size:19px}}
@media(max-height:650px) and (min-width:761px){.scene-stage{min-height:480px}.scene-copy{padding-block:42px}.scene-copy h3{font-size:70px;margin:16px 0}.scene-description{font-size:11px;margin-bottom:16px}.scene-copy .pill{min-height:42px}.scene-topline{top:18px}.scene-bottom{bottom:22px}.impact-stage{min-height:530px}}
@media(prefers-reduced-motion:reduce){.movement-scene,.has-scene-motion .movement-scene,.impact-scroll,.has-scene-motion .impact-scroll{height:auto}.scene-stage,.has-scene-motion .scene-stage,.impact-stage,.has-scene-motion .impact-stage{position:relative;top:0}.scene-copy{transform:none}.impact-track{animation:none!important;will-change:auto}.impact-toggle{display:none!important}.scene-progress{display:none}.scene-scroll{display:none}}
