/* Approved composition: 01 / 02 / 05, with opposing directions for 08. */
.intro-wide{padding:0;height:clamp(720px,62.5vw,1080px);container-type:inline-size;--intro-progress:1;--cut:calc(46.875cqw - 10.15625cqw * var(--intro-progress))}.intro-wide>.section-number{position:absolute;top:32px;left:var(--gutter);z-index:3}.intro-wide-photo{position:absolute;inset:0 0 0 var(--cut);overflow:hidden}.intro-wide-photo img{object-position:50% 37%;transform:scale(calc(1.1 - .1 * var(--intro-progress)))}.intro-wide-photo figcaption{position:absolute;bottom:24px;left:24px;color:var(--paper);font-size:14px}.intro-wide h2{position:absolute;left:3.125cqw;top:calc(31.25% - 3% * var(--intro-progress));font-size:18.75cqw;line-height:.94;width:calc(100% - 6.25cqw);max-width:none;white-space:nowrap;background:linear-gradient(90deg,var(--ink) 0 calc(var(--cut) - 3.125cqw),var(--paper) calc(var(--cut) - 3.125cqw) 100%);background-clip:text;-webkit-background-clip:text;color:transparent;z-index:2}.intro-wide-copy{position:absolute;left:var(--gutter);bottom:64px;width:28.125cqw;font-size:16px;line-height:1.9}.intro-wide-copy .section-lead{margin:0 0 24px}.intro-wide-copy .text-link{margin-top:24px}
.cinema{padding:0}.cinema-heading{padding:32px var(--gutter);position:relative;z-index:3}.cinema-heading .section-number{margin-bottom:24px}.cinema-heading h2{font-size:clamp(64px,8.125vw,156px);white-space:nowrap}.cinema-heading .section-lead{position:absolute;top:24px;right:var(--gutter);margin:0;font-size:16px}.cinema-viewport{overflow:clip}.cinema-track{position:relative;display:grid;gap:64px;padding:0 var(--gutter)}.cinema-scene{position:relative}.cinema-frame{position:relative;display:grid;grid-template-columns:1.2fr 1fr;gap:24px 64px;align-items:center}.cinema-photo{grid-row:1/3;height:480px;overflow:hidden}.cinema-photo img{object-position:center}.cinema-frame h3{font:700 clamp(64px,10vw,176px)/.94 Oswald,sans-serif;letter-spacing:-.04em;align-self:end}.cinema-copy{align-self:start;font-size:16px}.cinema-count{display:block;font:700 14px/1 Oswald,sans-serif;color:var(--blue);margin-bottom:20px}.cinema-copy .text-link{margin-top:16px}.cinema-meter{display:none}.cinema{padding-bottom:var(--section-gap)}
.team-wide{padding:0 0 var(--section-gap)}.team-wide-scene{position:relative;height:clamp(420px,43.75vw,840px);--team-progress:1}.team-wide-photo{position:absolute;inset:0 calc(10vw * (1 - var(--team-progress)));overflow:hidden}.team-wide-photo img{object-position:50% 35%;transform:scale(calc(1.08 - .08 * var(--team-progress)))}.team-wide-scene>.section-number{position:absolute;left:var(--gutter);top:32px;z-index:2}.team-wide h2{position:absolute;left:3.125vw;bottom:calc(-.24em - 20px * (1 - var(--team-progress)));font-size:17.03125vw;line-height:.94;max-width:94%;white-space:nowrap}.team-wide-details{padding-top:clamp(100px,10vw,160px)}.team-wide-intro{display:grid;grid-template-columns:1.4fr 1fr;gap:64px;align-items:end;margin-bottom:48px}.team-wide-intro .section-lead{margin:0 0 20px}.team-wide-intro .staff-hours{margin:0}.team-wide-intro .staff-hours strong{font-size:48px}.team-wide .team-roles{grid-template-columns:1fr 1fr;gap:64px}.team-wide .team-roles p{max-width:30em}
.contact-cross{padding:0;height:clamp(820px,64vw,1100px);position:relative}.contact-cross>.section-number{position:absolute;left:var(--gutter);top:32px;z-index:3}.contact-cross h2{overflow:clip;position:absolute;inset:0;width:100%;max-width:none;pointer-events:none}.cross-row{overflow:clip;display:block;position:absolute;width:100%;left:0;text-align:center;line-height:1}.cross-word{display:block;width:100%;will-change:transform}.cross-upper{top:6%;font-size:13.828125vw}.cross-lower{bottom:0;font-size:min(23.4375vw,430px)}.contact-cross-copy{position:absolute;top:34%;left:50%;transform:translateX(-50%);width:min(480px,calc(100% - 48px));z-index:3;text-align:center}.contact-cross-copy .section-lead{margin:0 0 8px}.contact-cross-copy .trial-price{justify-content:center;gap:8px;margin:0 0 20px}.contact-cross-copy .trial-price strong{font-size:32px}.contact-cross-copy .primary-link{min-height:64px;width:auto;min-width:300px;margin:auto;font-size:16px}.contact-terms{font-size:14px;line-height:1.7;margin-top:16px!important;max-width:none!important}.prices{padding-block:clamp(80px,7vw,128px)}.news{padding-block:80px}
@media(min-width:1024px) and (min-height:700px) and (prefers-reduced-motion:no-preference){
 .motion-ready .program-entry{height:220svh}.motion-ready .cinema{position:sticky;top:0;height:100svh;padding:0}.cinema-heading{position:absolute;inset:0 0 auto;height:22.5svh;background:var(--ink);padding-block:4svh}.cinema-heading .section-number{margin-bottom:3svh}.cinema-heading h2{font-size:min(8.125vw,13svh)}.cinema-heading .section-lead{top:4.5svh}
 .cinema-viewport{height:100%}.cinema-track{display:flex;width:max-content;gap:0;height:100%;padding:0}.cinema-scene{width:100vw;flex:0 0 100vw;height:100%;overflow:hidden}.cinema-frame{position:absolute;left:50%;transform:translateX(-50%);width:min(100%,160svh);height:100%;display:block;container-type:size}.cinema-photo,.cinema-frame h3,.cinema-copy{position:absolute}.cinema-photo{grid-row:auto}.cinema-frame h3{font-size:24.21875cqw}.cinema-lift .cinema-photo{left:5.9375cqw;top:24cqh;width:32.8125cqw;height:70cqh}.cinema-lift h3{left:42.96875cqw;top:31.875cqh}.cinema-lift .cinema-copy{left:44.14cqw;bottom:7cqh}
 .cinema-reset .cinema-photo{left:3.75cqw;top:25.5cqh;width:57.96875cqw;height:61.875cqh}.cinema-reset h3{left:62.89cqw;top:38.75cqh;font-size:14.0625cqw}.cinema-reset .cinema-copy{left:64cqw;bottom:9.5cqh}.cinema-reset .text-link{font-size:14px}
 .cinema-together .cinema-photo{left:23.4375cqw;top:23.25cqh;width:66.875cqw;height:71.25cqh}.cinema-together h3{left:3.75cqw;top:55.625cqh;font-size:15.9375cqw}.cinema-together .cinema-copy{left:3.75cqw;bottom:5cqh}.cinema-count{margin-bottom:16px}.cinema-copy .text-link{min-height:48px;margin-top:12px}.cinema-together .cinema-count{margin-bottom:8px}.cinema-together .text-link{margin-top:0}.cinema-meter{display:block;position:absolute;left:var(--gutter);right:var(--gutter);bottom:0;height:2px;background:var(--rule)}.cinema-meter i{height:100%;width:100%;display:block;background:var(--paper);transform:scaleX(var(--progress,0));transform-origin:left}
}
@media(max-width:1023px){.intro-wide{height:auto;display:flex;flex-direction:column;padding-top:80px}.intro-wide>.section-number{top:24px}.intro-wide h2{position:relative;inset:auto;order:0;font-size:16vw;width:auto;margin:0 var(--gutter) 24px;white-space:normal;background:none;color:var(--ink)}.intro-wide-photo{position:relative;inset:auto;order:1;height:75vw;max-height:720px;margin-left:var(--gutter)!important}.intro-wide-photo img{object-position:50% 40%;transform:none}.intro-wide-photo figcaption{background:var(--ink);padding:8px 12px;left:0;bottom:0}.intro-wide-copy{position:relative;inset:auto;order:2;width:auto;padding:40px var(--gutter) 64px}.cinema-heading h2{font-size:8vw}.cinema-heading .section-lead{position:static;margin-top:24px}.cinema-photo{height:440px}.cinema-frame{gap:24px 40px}.cinema-frame h3{font-size:10vw}.cinema-reset .cinema-frame,.cinema-together .cinema-frame{grid-template-columns:1fr}.cinema-reset .cinema-photo,.cinema-together .cinema-photo{grid-row:auto;height:auto;aspect-ratio:3/2}.cinema-reset .cinema-copy,.cinema-together .cinema-copy{margin-top:0}.team-wide-scene{height:56vw;min-height:360px}.team-wide-details{padding-top:96px}.team-wide .team-roles{gap:40px}.team-wide-intro{gap:40px}.contact-cross{height:820px}.cross-upper{font-size:14vw;top:64px}.cross-lower{font-size:34vw}.contact-cross-copy{top:32%}}
@media(max-width:767px){.intro-wide h2{font-size:24vw;line-height:.94;margin-bottom:24px}.intro-wide h2 span{display:block}.intro-wide-photo{height:116vw;max-height:660px}.intro-wide-copy{font-size:16px;padding-top:32px}.intro-wide-photo figcaption{font-size:12px}.cinema-heading{padding:56px var(--gutter) 32px}.cinema-heading h2{font-size:17vw;white-space:normal;max-width:6em}.cinema-heading .section-lead{font-size:18px}.cinema-track{gap:64px}.cinema-frame{display:block}.cinema-photo{height:auto;aspect-ratio:3/4;margin-bottom:24px!important}.cinema-reset .cinema-photo,.cinema-together .cinema-photo{aspect-ratio:3/2}.cinema-frame h3{font-size:20vw;margin-bottom:24px}.cinema-together h3{font-size:17vw}.cinema-count{margin-bottom:12px}.cinema-copy{font-size:16px}.cinema-copy .text-link{font-size:16px}.team-wide-scene{height:86vw;min-height:0}.team-wide-photo{inset:0}.team-wide-photo img{object-position:center;transform:none}.team-wide h2{font-size:16.5vw;left:var(--gutter);max-width:calc(100% - 48px);bottom:-.2em}.team-wide-details{padding-top:64px}.team-wide-intro,.team-wide .team-roles{grid-template-columns:1fr;gap:32px}.team-wide-intro{margin-bottom:40px}.team-wide-intro .staff-hours strong{font-size:48px}.team-wide .team-roles article{padding-left:40px}.contact-cross{height:740px}.cross-upper{top:72px;font-size:16vw}.cross-lower{bottom:24px;font-size:52vw}.contact-cross-copy{top:220px}.contact-cross-copy .primary-link{width:100%;min-width:0}.contact-terms br{display:none}.contact-cross-copy .section-lead{font-size:18px}.news{padding-block:64px}}
@media(prefers-reduced-motion:reduce){.cross-word{transform:none!important}.intro-wide-photo img,.team-wide-photo img{transform:none}.cinema-track{transform:none!important}.team-wide-photo{inset:0}}

/* 01–02: press the photo edge outward, then release the close crop. */
@media(prefers-reduced-motion:no-preference){
 .motion-ready .intro-wide-photo,.motion-ready .cinema-photo{clip-path:inset(0 calc(24% * (1 - var(--photo-enter,1))) 0 0)}
 .motion-ready .intro-wide-photo img,.motion-ready .cinema-photo img{transform:translateX(calc(-4% * (1 - var(--photo-enter,1)))) scale(calc(1 + .2 * (1 - var(--photo-enter,1))))}
}
@media(max-width:1023px) and (prefers-reduced-motion:no-preference){
 .motion-ready .intro-wide{overflow:clip}
 .motion-ready .intro-wide h2 span{display:inline-block;transform:translateX(calc(-24px * (1 - var(--intro-progress,1))))}
 .motion-ready .intro-wide h2 span:last-child{transform:translateX(calc(24px * (1 - var(--intro-progress,1))))}
}
@media(max-width:767px) and (prefers-reduced-motion:no-preference){
 .motion-ready .intro-wide h2 span{display:block;width:fit-content;max-width:100%}
}

/* 08: shared FV rhythm; upper row moves right, lower row moves left. */
.closing-track{display:flex;width:max-content;gap:max(48px,6vw);will-change:transform;text-align:left}
.closing-copy{display:flex;flex:0 0 auto;white-space:nowrap}
.closing-glyph{display:inline-block;transform-origin:50% 87%;will-change:transform}
.cross-lower .closing-glyph{transform-origin:50% 19%}
@media(prefers-reduced-motion:reduce){
 .closing-track{width:100%;transform:none!important;justify-content:center}
 .closing-copy:not(:first-child){display:none}
 .closing-glyph{transform:none!important}
}
