.hero-photo{isolation:isolate}.face-hotspot{position:absolute;z-index:8;width:22px;height:22px;transform:translate(-50%,-50%);border-radius:50%;border:1px solid #fff9;background:#ffffff30;box-shadow:0 0 0 4px #ffffff08;display:grid;place-items:center;padding:0;transition:background .25s,box-shadow .25s}.face-hotspot:after{content:'';height:4px;width:4px;border-radius:50%;background:white}.face-hotspot[aria-pressed=true]{background:#bd12348a;box-shadow:0 0 0 6px #ffffff15}.face-hotspot:hover,.face-hotspot:focus-visible{background:#bd1234;box-shadow:0 0 0 7px #ffffff40}.modules{position:relative}.modules details[open]:before{display:none}.program-rail-fill{position:absolute;left:-1px;top:0;width:1px;background:var(--red);height:0;pointer-events:none}.program-rail-dot{position:absolute;left:-6px;top:0;width:11px;height:11px;border:3px solid #f0d7df;background:var(--red);border-radius:50%;box-shadow:0 0 0 3px #fff;pointer-events:none;transition:opacity .2s}
@supports(interpolate-size:allow-keywords){.modules details{interpolate-size:allow-keywords}.modules details::details-content{block-size:0;overflow:hidden;opacity:0;transition:block-size .34s cubic-bezier(.2,.65,.3,1),opacity .25s ease,content-visibility .34s allow-discrete}.modules details[open]::details-content{block-size:auto;opacity:1}.modules .module-body{animation:none}}
.motion-story{position:relative;background:#fff;isolation:isolate;overflow-anchor:none}.motion-scene{position:sticky;top:0;width:100%;isolation:isolate;overflow:clip;--story-p:0}.motion-scene .hero{position:absolute;inset:17px 17px auto;margin:0;height:calc(100svh - 34px);z-index:2;will-change:filter,opacity,transform;transform-origin:50% 60%}.motion-scene .hero-inner{height:100%;min-height:0;max-height:none}.motion-scene .hero-copy{padding-top:clamp(112px,20svh,185px)}.motion-scene .hero h1{font-size:clamp(34px,3.4vw,56px);margin-top:20px;margin-bottom:20px}.motion-scene .hero-copy p{margin-bottom:20px}.motion-scene .hero-copy .button{min-height:45px}.motion-scene .hero-word,.motion-scene .results-word{visibility:hidden}.motion-word{position:absolute;left:0;top:0;white-space:nowrap;pointer-events:none;line-height:.75;letter-spacing:-.08em;font-weight:450;will-change:transform;transform-origin:0 0;z-index:3}.motion-scene .results{position:relative;z-index:4;padding:55px 5.3% 30px;max-width:1460px;opacity:0;overflow:visible;pointer-events:none}.motion-scene .results-stage{padding-top:175px;min-height:0}.motion-scene .results-heading h2{font-size:clamp(37px,4vw,58px)}.motion-scene .results .reveal{transition:none;opacity:1;transform:none}.motion-scene .results .result-card{will-change:transform,opacity;min-height:335px}.motion-scene .results .result-card:nth-child(2),.motion-scene .results .result-card:nth-child(4){margin-top:55px}.motion-scene .results-note{margin-top:25px}.motion-past-hero .header{pointer-events:none}.motion-scene .floating-course{top:31%}.motion-scene .floating-caption{top:75%}
@media(max-width:1000px){.motion-scene .results{padding-top:40px}.motion-scene .results-stage{padding-top:135px}.motion-scene .results .result-card{min-height:310px}.motion-scene .hero-copy{padding-top:145px}}
@media(max-width:899px){.face-hotspot{display:none}}
@media(prefers-reduced-motion:reduce){.modules details::details-content{transition:none}.face-hotspot,.program-rail-dot{transition:none}}

.motion-scene .results-word{transform:none}

.motion-scene .hero-word{bottom:-62px}

.motion-hero-controls{position:absolute;z-index:5;top:17px;left:17px;right:17px;max-width:1500px;margin:0 auto;height:calc(100svh - 34px);pointer-events:none;transform-origin:50% 60%;will-change:filter,opacity}.motion-hero-controls .floating-course,.motion-hero-controls .floating-caption{pointer-events:auto}

/* Source-image geometry: positioned by the same cover transform as the hotspots. */
.hero-photo .face-lines{inset:auto;pointer-events:none;stroke-linecap:round;stroke-linejoin:round}
.hero-photo .zone{fill:none}

/* A fixed-size glyph layer scales on the compositor; only its red overlay fades. */
.motion-word-light{display:block;color:#fff}
.motion-word-red{position:absolute;inset:0;color:var(--red);opacity:0;will-change:opacity}
.motion-scene .results-word{font-weight:500;letter-spacing:-.075em}
.motion-scene .result-card{backdrop-filter:blur(10px)}
