/* The bundled Montserrat is a static regular face. Register it accurately here
   so bold kinetic type receives browser weight synthesis. */
@font-face{font-family:'Montserrat Motion';src:url('assets/montserrat.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
.impact-section{position:relative;background:var(--navy);color:var(--cream);padding:48px 4vw 150px}
.impact-word-rail{position:sticky;top:80px;height:132px;z-index:8;pointer-events:none;background:var(--navy);color:var(--cream)}
.impact-word{position:relative;display:flex;align-items:center;white-space:nowrap;margin:0;font-family:'Montserrat Motion',var(--sans);font-size:clamp(64px,8.8vw,128px);font-weight:700;line-height:1.2;letter-spacing:-.065em}
.impact-letter{display:inline-block;transform-origin:left center;will-change:transform}
.impact-index{display:block;font-size:11px;letter-spacing:.12em;margin-top:8px}
.impact-intro{width:min(560px,48%);margin:6vh 0 13vh auto}
.impact-intro h3{font-family:var(--sans);font-weight:500;font-size:clamp(32px,3.6vw,58px);letter-spacing:-.055em;line-height:1.08;margin-bottom:32px}
.impact-intro p{max-width:49ch;font-size:16px;line-height:1.7;color:var(--oatmeal)}
.impact-gallery{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:2vw;row-gap:12vh}
.impact-entry--one{grid-column:1/8;grid-row:1}
.impact-entry--two{grid-column:9/13;grid-row:1;margin-top:35vh}
.impact-entry--three{grid-column:2/9;grid-row:2;margin-top:7vh}
.impact-entry-heading{display:flex;gap:18px;align-items:baseline}
.impact-entry-heading>span{font-size:12px;color:var(--orange)}
.impact-entry h3{font-family:var(--sans);font-size:clamp(28px,3.2vw,52px);font-weight:500;letter-spacing:-.045em;line-height:1.1;margin:0}
.impact-entry>p{font-size:15px;max-width:42ch;color:var(--oatmeal);margin:16px 0 25px}
.impact-media{position:relative;overflow:hidden;margin:0;aspect-ratio:1.2;background:var(--slate);transform-origin:center top}
.impact-media img{width:100%;height:100%;object-fit:cover;transform-origin:center;will-change:transform}
.impact-media--two{aspect-ratio:.76;background:var(--navy)}
.impact-media--two img,.impact-media--three img{object-fit:cover;padding:0}
.impact-media--three{aspect-ratio:1.5;background:var(--terracotta)}
.impact-ready .impact-media{will-change:clip-path,transform}
.fluid-cue.is-touch{display:block!important;max-width:32ch}
.fluid-spill{position:absolute;top:0;left:50%;transform:translateX(-50%);width:min(100%,1600px);height:190px;z-index:5;pointer-events:none}
@media(max-width:767px){
 .impact-section{padding:32px 20px 80px}
 .impact-word-rail{top:80px;height:87px}
 .impact-word{font-size:clamp(42px,12vw,68px)}
 .impact-intro{width:100%;margin:10vh 0 12vh}
 .impact-intro h3{font-size:clamp(30px,8.4vw,44px)}
 .impact-intro p{font-size:15px}
 .impact-gallery{grid-template-columns:minmax(0,1fr);gap:70px}
 .impact-entry--one,.impact-entry--two,.impact-entry--three{grid-column:1;grid-row:auto;margin:0}
 .impact-entry--two{width:84%;justify-self:end}
 .impact-entry--three{width:92%}
 .impact-entry h3{font-size:34px}
 .impact-entry>p{font-size:14px}
 .object-stage{height:210svh}
 .object-scene{touch-action:pan-y}
 .fluid-spill{height:100px}
}
@media(prefers-reduced-motion:reduce){
 .impact-word-rail{position:relative;top:0}
 .impact-letter,.impact-media,.impact-media img{transform:none!important;clip-path:none!important;will-change:auto}
 .object-stage{height:auto;min-height:100svh}
}

.impact-media[data-geometry="3d"]{background:var(--slate)}.impact-media--two[data-geometry="3d"]{background:var(--navy)}.impact-media--three[data-geometry="3d"]{background:#0C1F4B}

.impact-media[data-geometry="3d"]{background:var(--slate)}.impact-media--two[data-geometry="3d"]{background:var(--navy)}.impact-media--three[data-geometry="3d"]{background:#0C1F4B}
