/* Givonic is the only brand font. Local lookup works where it is installed;
   licensed WOFF2 Regular and SemiBold files are required for the final site. */
@font-face{font-family:Givonic;src:local('Givonic Regular'),local('Givonic');font-weight:400;font-display:swap}
@font-face{font-family:Givonic;src:local('Givonic SemiBold');font-weight:600;font-display:swap}
:root{--ink:#000;--body:#444;--muted:#999;--paper:#fff;--pink:#e01a7b;--gutter:6.77vw;--gap:2.083vw;--ease:cubic-bezier(.19,1,.22,1);--h1:clamp(3.5rem,5.208vw,6.25rem);--h2:clamp(2.25rem,3.333vw,4rem);--h3:clamp(2rem,2.917vw,3.5rem);--h5:clamp(1.375rem,1.667vw,2rem);--text:clamp(1.125rem,1.146vw,1.375rem)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:5rem}body{margin:0;color:var(--ink);background:var(--paper);font-family:Givonic,Arial,sans-serif;font-size:var(--text);line-height:1.4;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;color:inherit;background:none;border:0}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--pink);outline-offset:6px}img{display:block}h1,h2,h3,p{margin:0}h2{font-weight:600;line-height:1.06;font-size:var(--h2);letter-spacing:-.025em}h3{font-weight:600;font-size:var(--h5);line-height:1.2;letter-spacing:-.02em}p{color:var(--body)}.container{width:calc(100% - 2*var(--gutter));max-width:1662px;margin-inline:auto}.wide{margin-inline:2.35vw;border-radius:16px;overflow:hidden}.section-space{margin-bottom:10.416vw}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:clamp(.875rem,1.04vw,1.25rem);font-weight:400;color:#777;line-height:1.6;display:block}.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}.skip-link{position:fixed;z-index:120;top:10px;left:10px;padding:12px;background:#fff;transform:translateY(-150%)}.skip-link:focus{transform:none}.roll{display:grid;overflow:hidden;line-height:1.3}.roll>span{grid-area:1/1;transition:transform .75s var(--ease)}.roll>span+span{transform:translateY(125%)}a:hover .roll>span:first-child{transform:translateY(-125%)}a:hover .roll>span+span{transform:translateY(0)}.arrow{display:inline-block;font-size:1.4em;transition:transform .75s var(--ease)}.text-link{display:inline-flex;align-items:center;gap:16px;width:max-content;max-width:100%;font-size:var(--text)}.text-link:hover .arrow{transform:translateX(8px)}.text-link:hover{color:var(--pink)}.pill{background:#000;color:#fff;display:inline-flex;align-items:center;justify-content:center;padding:14px 32px;border-radius:100px;transition:background .5s var(--ease);font-size:var(--text)}.pill:hover{background:var(--pink)}
/* Shared header and reveal menu */
.header{position:absolute;left:var(--gutter);right:var(--gutter);top:2.864vw;z-index:60;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;color:#fff}.menu-toggle{display:flex;align-items:center;gap:23px;padding:10px 0;justify-self:start;min-width:44px;min-height:44px}.menu-label{text-transform:uppercase;font-size:1rem;letter-spacing:.2em;transform:translateY(2px)}.burger{width:38px;height:20px;display:block;position:relative}.burger:before,.burger:after{content:'';position:absolute;width:100%;height:2px;left:0;background:currentColor;transition:transform .6s var(--ease),top .6s var(--ease)}.burger:before{top:2px}.burger:after{top:18px}.menu-toggle[aria-expanded=true] .burger:before{top:10px;transform:rotate(45deg)}.menu-toggle[aria-expanded=true] .burger:after{top:10px;transform:rotate(-45deg)}.wordmark{width:409px;height:28px;transform:scale(var(--logo-scale,1));transform-origin:center}.brand{width:21.3vw;max-width:409px;display:flex;justify-content:center}.contact-pill{justify-self:end;font-size:clamp(.95rem,1.042vw,1.25rem);padding:12px 24px}.mobile-mark{display:none}.menu{border:0;max-width:none;max-height:none;width:100%;height:100dvh;background:#080808;color:#fff;padding:0;overflow:auto;inset:0;margin:0}.menu::backdrop{background:#080808}.menu[open]{animation:menu-in .8s var(--ease) both}.menu-inner{padding:150px var(--gutter) 60px}.menu nav{display:flex;flex-direction:column;max-width:1000px;margin:35px 0}.menu nav a{font-size:clamp(2.3rem,5vw,6rem);line-height:1.25;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #333;padding:8px 0;transition:color .3s,transform .6s var(--ease)}.menu nav a:hover{color:var(--pink);transform:translateX(12px)}.menu nav a span{font-size:1rem;letter-spacing:.12em;color:#999}.menu-email{font-size:var(--text)}body.menu-open .header{position:fixed}body.menu-open .menu-toggle{position:fixed;z-index:100;left:var(--gutter);top:2.864vw;color:#fff}body.menu-open .menu-toggle{isolation:isolate}/* button is moved into dialog while open for top-layer interaction */
@keyframes menu-in{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0)}}
/* Exact Figma loader path and keyframes */
.loader{display:none;position:fixed;inset:0;background:#000;z-index:110;place-items:center;pointer-events:none}.js:not(.intro-complete) .loader{display:grid}.loader-mark{width:472px;height:451px;transform:scale(.53)}.loader-mark svg{width:472px;height:451px}.loader path{animation:kf_134_8398_path-trim_0 3.8s linear forwards}
@keyframes kf_134_8398_path-trim_0{0%{animation-timing-function:ease-in-out;stroke-dasharray:0 1;stroke-dashoffset:0;visibility:hidden}47.368%{stroke-dasharray:1 1;stroke-dashoffset:0;visibility:visible}52.632%{animation-timing-function:ease-in-out;stroke-dasharray:1 1;stroke-dashoffset:0;visibility:visible}100%{stroke-dasharray:0 1;stroke-dashoffset:-1;visibility:hidden}}
.loader.leaving{display:grid!important;animation:curtain .9s var(--ease) forwards}
/* Hero */
.hero{position:relative;height:56.3vw;max-height:1081px;min-height:620px;background:#14201f;overflow:hidden}.hero-images,.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%}.hero-image{object-fit:cover;opacity:0;transform:scale(1.04);transition:opacity .95s var(--ease),transform 1.8s var(--ease)}.hero-image.active{opacity:1;transform:scale(1)}.hero-shade{background:linear-gradient(0deg,rgba(0,12,13,.35),transparent 65%);pointer-events:none}.hero-sectors{position:absolute;bottom:4.5%;left:var(--gutter);display:flex;flex-direction:column;align-items:flex-start;gap:.3vw}.hero-sectors :is(a,button){font-size:var(--h1);font-weight:600;line-height:.9;letter-spacing:.2em;text-transform:uppercase;color:#777;transition:color .6s var(--ease),transform .85s var(--ease)}.hero-sectors :is(a,button).active,.hero-sectors :is(a,button):hover{color:#fff}.hero-sectors :is(a,button):hover{transform:translateX(10px)}.hero-caption{position:absolute;bottom:6.5%;right:var(--gutter);color:#fff;font-size:var(--text)}.mobile-headline,.mobile-intro{display:none}.js:not(.intro-complete) .hero-sectors :is(a,button){opacity:0;transform:translateY(45px)}.intro-complete .hero-sectors :is(a,button){animation:hero-copy 1.1s var(--ease) both}.intro-complete .hero-sectors :is(a,button):nth-child(2){animation-delay:.12s}.intro-complete .hero-sectors :is(a,button):nth-child(3){animation-delay:.24s}@keyframes hero-copy{from{opacity:0;transform:translateY(50px)}to{opacity:1;transform:none}}
/* Services */
.services{padding-top:10.416vw}.intro-half{width:48%;margin-left:auto}.intro-half p{margin-top:2.5vw;max-width:749px;font-size:var(--text);line-height:1.3}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap);margin-top:6.04vw}.service-column{display:flex;flex-direction:column;gap:5.208vw}.service-column:nth-child(2){padding-top:5.99vw}.service-column:nth-child(3){padding-top:2.55vw}.image-wrap{position:relative;overflow:hidden;border-radius:16px;background:#eee}.image-wrap>img{width:100%;height:100%;object-fit:cover;transition:transform 1.25s var(--ease),filter .8s var(--ease)}.image-link{display:block}.image-link:hover img{transform:scale(1.055)}.image-action{position:absolute;right:20px;top:20px;color:#fff;font-size:36px;opacity:0;transform:translate(-10px,10px);transition:opacity .55s,transform .8s var(--ease)}.image-link:hover .image-action,.image-link:focus-visible .image-action{opacity:1;transform:none}.service h3{margin-top:1.875vw}.service p{margin-top:1.35vw;line-height:1.3;max-width:97%}.service .image-wrap img{height:auto}.sector-feature{display:grid;grid-template-columns:708fr 812fr;gap:7.4vw;align-items:center}.feature-copy{display:flex;flex-direction:column;align-items:flex-start;gap:5.208vw}.feature-copy h2{font-size:var(--h3);line-height:1.2}.sector-feature>.image-wrap{aspect-ratio:812/761}
/* Coaches */
.center-heading{text-align:center;margin-bottom:4.166vw}.center-heading h2{font-size:var(--h3);line-height:1.12}.filters{display:inline-flex;padding:2px;background:#f5f5f5;border-radius:100px;margin-top:2.5vw}.filters button{font-size:clamp(1rem,1.042vw,1.25rem);padding:11px 32px;border-radius:100px;transition:color .35s,background .35s}.filters button[aria-pressed=true]{background:#000;color:#fff}.filters button:hover{background:var(--pink);color:#fff}.coach-track{display:flex;gap:var(--gap);overflow-x:auto;padding-inline:var(--gutter);scroll-padding-inline:var(--gutter);scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:20px}.coach-track::-webkit-scrollbar{display:none}.coach-card{flex:0 0 20.05vw;min-width:245px;scroll-snap-align:start;transition:opacity .4s,transform .6s var(--ease)}.coach-card .image-wrap{aspect-ratio:385/459}.coach-card:first-child .image-wrap img{object-position:left}.coach-card:last-child .image-wrap img{object-position:right}.coach-card h3{margin:1.667vw 0 8px}.tags{display:flex;flex-wrap:wrap;list-style:none;gap:8px;padding:0;margin:0}.tags li{background:#f5f5f5;border-radius:100px;padding:6px 16px;font-size:clamp(.875rem,.885vw,1.0625rem);color:#111}.carousel-controls{display:flex;justify-content:center;gap:20px;margin-top:3vw}.round-arrow{font-size:32px;padding:0 6px;line-height:1;transition:transform .5s var(--ease),color .4s,opacity .4s;min-width:44px;min-height:44px}.round-arrow:hover{color:var(--pink);opacity:.4;transform:translateX(4px)}.round-arrow:first-child:hover{transform:translateX(-4px)}.coach-track.changing .coach-card{opacity:.15;transform:translateY(10px)}
/* Editorial panels */
.film-feature{position:relative;aspect-ratio:1830/1055;background:#151515;color:white}.film-feature>img,.coach-banner>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.feature-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.74),transparent 65%)}.film-content{position:absolute;inset:5.1vw 4.42vw;display:flex;flex-direction:column;justify-content:space-between}.film-content>.eyebrow{color:#ccc}.film-content>div{display:flex;justify-content:space-between;align-items:flex-end;gap:40px}.film-content h2{font-size:var(--h3);font-weight:400;line-height:1.2;max-width:52%;letter-spacing:-.02em}.film-content .text-link{flex-shrink:0}.team .intro-half{margin-bottom:5.052vw}.team .intro-half h2{font-size:var(--h3);line-height:1.12;margin-top:2.5vw}.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap)}.team-card .image-wrap{aspect-ratio:527/629}.team-name{display:flex;justify-content:space-between;align-items:center;margin-top:2.6vw;padding-right:2vw}.linkedin{font-weight:bold;font-family:Arial,sans-serif;font-size:24px;letter-spacing:-.07em}.team-card>.eyebrow{margin-top:0.4vw}.productions{position:relative;display:grid;grid-template-columns:39% 61%;min-height:51.6vw}.production-list{padding:0;margin:0;list-style:none;z-index:2}.production-list a{display:inline-block;font-weight:600;font-size:clamp(2rem,3.54vw,4.25rem);line-height:1.2;white-space:nowrap;letter-spacing:-.03em;margin-bottom:1.7vw;transition:color .4s,transform .8s var(--ease)}.production-list a.selected{color:#ccc}.production-list a:hover,.production-list a:focus-visible{color:var(--pink);transform:translateX(14px)}.production-visual{padding-top:2.4vw}.production-visual>.image-wrap{aspect-ratio:1005/660}.production-caption{width:59%;margin:5.46vw 0 0 auto}.production-caption h3{margin-bottom:3.125vw}.coach-banner{position:relative;aspect-ratio:1830/901;background:#152321;color:#fff}.banner-copy{position:absolute;inset:4.42vw;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start}.banner-copy h2{font-weight:400;font-size:clamp(2.1rem,3.125vw,3.75rem);line-height:1.2;max-width:42%;letter-spacing:-.02em}.banner-copy .eyebrow{color:#ccc}.coach-banner.section-space{margin-bottom:7.29vw}
/* Footer */
footer{padding-bottom:3.75vw}.footer-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap)}.footer-grid>div{display:flex;flex-direction:column;align-items:flex-start;gap:1.4vw}.footer-grid a,.footer-grid address{font-size:var(--text);font-style:normal;line-height:1.3}.footer-grid a{transition:color .3s}.footer-grid a:hover{color:var(--pink)}.footer-grid .email{text-decoration:underline;overflow-wrap:anywhere}.socials{display:flex;align-items:center;gap:16px;font-size:28px}.socials span:first-child{font-family:Arial;font-weight:bold}.footer-bottom{display:flex;justify-content:space-between;gap:24px;margin-top:5.208vw;font-size:clamp(.875rem,1.146vw,1.375rem)}
/* Motion remains progressive: content is visible when JavaScript is unavailable. */
.reveal{transition:opacity 1s var(--ease),transform 1.15s var(--ease)}.js .reveal.waiting{opacity:0;transform:translateY(48px)}.reveal.in-view{opacity:1;transform:none}
@media(min-width:1921px){.header{left:calc((100vw - 1662px)/2);right:calc((100vw - 1662px)/2)}.hero-sectors{left:calc((100vw - 1662px)/2)}.hero-caption{right:calc((100vw - 1662px)/2)}.service-grid{gap:40px}.services{padding-top:200px}.section-space{margin-bottom:200px}}
@media(max-width:1600px){.wordmark{--logo-scale:.78}}@media(max-width:1200px){.wordmark{--logo-scale:.65}.hero-caption{max-width:260px}.footer-grid{grid-template-columns:1fr 1fr;row-gap:48px}.feature-copy{gap:40px}.service p{font-size:1.0625rem}.film-content h2{max-width:65%}.production-list a{font-size:3.1vw}.hero{min-height:580px}.coach-card{flex-basis:28vw}}
@media(max-width:760px){:root{--gutter:24px;--gap:20px;--h2:2.35rem;--h3:2rem;--h5:1.5rem;--text:1.125rem}.header{top:24px;left:24px;right:24px;grid-template-columns:1fr 1fr 1fr}.brand{width:80px;max-width:none}.wordmark{display:none}.mobile-mark{display:block;width:151px;height:132px;transform:scale(.48);flex:none}.brand{height:70px}.contact-pill,.menu-label{display:none}.burger{width:30px}.hero{height:calc(100svh - 40px);min-height:660px;max-height:900px}.hero-image{object-position:64% center}.hero-shade{background:linear-gradient(0deg,rgba(0,10,12,.95),transparent 65%)}.hero-sectors,.hero-caption{display:none}.mobile-headline{display:block;position:absolute;bottom:50px;left:var(--gutter);right:var(--gutter);font-size:clamp(2.25rem,8.75vw,3rem);line-height:1.2;letter-spacing:-.025em;color:#fff}.mobile-intro{display:block;padding:44px var(--gutter)}.mobile-intro p{font-size:1.75rem;line-height:1.2;color:#000;margin-bottom:20px}.mobile-intro .pill{width:100%;padding:12px}.services{padding-top:50px}.intro-half{width:100%;margin:0}.intro-half p{margin-top:26px;font-size:1.125rem}.intro-half h2 br{display:none}.service-grid{grid-template-columns:1fr;margin-top:48px;gap:44px}.service-column{display:contents}.service{order:0}.service:nth-child(2){order:1}.service .image-wrap{max-height:440px}.service .image-wrap>img{height:100%;min-height:260px;object-fit:cover}.service h3{margin-top:22px}.service p{margin-top:14px;font-size:1.125rem;max-width:100%}.section-space{margin-bottom:80px}.wide{margin-inline:16px;border-radius:12px}.sector-feature{grid-template-columns:1fr;gap:32px}.feature-copy{gap:28px}.feature-copy h2{font-size:2rem;line-height:1.2}.sector-feature>.image-wrap{aspect-ratio:1.1}.center-heading{padding-inline:var(--gutter);margin-bottom:34px}.center-heading h2{font-size:2rem}.center-heading h2 br{display:none}.filters{margin-top:24px;width:100%;justify-content:stretch}.filters button{flex:1;min-width:0;min-height:44px;padding:8px 0}.coach-card{min-width:0;flex-basis:76vw}.coach-card h3{margin:22px 0 18px}.coach-card .image-wrap{aspect-ratio:385/459}.carousel-controls{margin-top:24px}.film-feature{aspect-ratio:auto;height:640px}.film-feature>img{object-position:48% center}.film-content{inset:30px 24px}.film-content>div{display:block}.film-content h2{max-width:100%;font-size:2rem}.film-content .text-link{margin-top:28px}.team .intro-half{margin-bottom:32px}.team .intro-half h2{margin-top:20px}.team-grid{grid-template-columns:1fr;gap:44px}.team-card .image-wrap{max-height:520px}.team-name{margin-top:22px;padding:0}.team-card>.eyebrow{margin-top:8px}.productions{display:flex;flex-direction:column;gap:24px}.production-list a{font-size:clamp(1.4rem,5.2vw,2rem);white-space:normal;margin-bottom:12px}.production-visual{padding:0}.production-caption{width:100%;margin-top:26px}.production-caption h3{margin-bottom:24px}.coach-banner{aspect-ratio:auto;height:580px}.coach-banner>img{object-position:60% center}.coach-banner:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,10,12,.85),transparent 90%)}.banner-copy{inset:28px 24px;z-index:1}.banner-copy h2{font-size:2.3rem;max-width:100%;margin-top:auto;margin-bottom:32px}.coach-banner.section-space{margin-bottom:64px}.footer-grid{gap:36px 20px}.footer-grid>div{gap:18px}.footer-grid>div:last-child{grid-column:1/-1}.footer-bottom{flex-direction:column;margin-top:44px;font-size:.875rem;gap:16px}footer{padding-bottom:32px}.menu-inner{padding:140px 24px 40px}.menu nav a{font-size:2.15rem;padding:12px 0}.menu-email{font-size:1rem}body.menu-open .menu-toggle{top:38px;left:24px}.loader-mark{width:min(188.8px,70vw);height:min(180.4px,66.88vw);transform:none}.loader-mark svg{width:100%;height:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-delay:0s!important;transition-duration:.01ms!important}.loader{display:none!important}.js .reveal.waiting{opacity:1;transform:none}.js:not(.intro-complete) .hero-sectors :is(a,button){opacity:1;transform:none}}
/* Homepage motion review — revision 2 */
@keyframes curtain{from{transform:translateY(0)}to{transform:translateY(100%)}}
.pill,.filters button{display:inline-flex;align-items:center;justify-content:center;text-align:center;line-height:1.2;min-height:48px}
.pill .roll{position:relative;display:block;line-height:1.2;text-align:center}
.pill .roll>span{display:block}.pill .roll>span+span{position:absolute;inset:0}
@media(max-width:760px){.contact-pill[data-mobile-label] .roll{display:none}.contact-pill[data-mobile-label]::after{content:attr(data-mobile-label)}}
.card-link{display:block;height:100%;border-radius:16px}.card-link .image-wrap:after{content:'';position:absolute;inset:0;background:rgba(0,0,0,.6);opacity:0;transition:opacity .6s var(--ease);pointer-events:none}
.card-link:hover .image-wrap:after,.card-link:focus-visible .image-wrap:after{opacity:1}
.card-link:hover .image-wrap>img,.card-link:focus-visible .image-wrap>img{transform:scale(1.045)}
.card-link .image-action{z-index:2;right:18px;top:18px;line-height:0;width:29px;height:29px;transform:translate(-8px,8px)}
.card-link .image-action img{width:29px;height:29px;transform:none!important}
.card-link:hover .image-action,.card-link:focus-visible .image-action{opacity:1;transform:none}
.card-link h3{transition:color .4s}.card-link:hover h3,.card-link:focus-visible h3{color:var(--pink)}
.team-card .card-link>.eyebrow{margin-top:1.406vw}
.sector-scroll{position:relative}.sector-pin{display:grid;grid-template-columns:1fr 1fr;gap:30px 7.4vw;align-items:center;min-height:85svh;padding-block:5vh}
.js .sector-scroll{height:300svh}.js .sector-pin{position:sticky;top:0;height:100svh;min-height:0;grid-template-rows:1fr auto;align-content:center;padding-block:10svh}
.sector-copy-stack{display:grid;align-items:center}.sector-copy{grid-area:1/1;display:flex;flex-direction:column;gap:clamp(24px,3vw,60px);opacity:0;visibility:hidden;transform:translateY(28px);transition:opacity .65s var(--ease),transform .9s var(--ease),visibility .65s}
.sector-copy.active{opacity:1;visibility:visible;transform:none}.sector-copy h2{font-size:var(--h3);line-height:1.15}.sector-image-stack{position:relative;aspect-ratio:812/761;max-height:72svh;width:100%;align-self:center}
.sector-image-stack>img{position:absolute;inset:0;opacity:0;transform:scale(1.07);transition:opacity .8s var(--ease),transform 1.4s var(--ease)}.sector-image-stack>img.active{opacity:1;transform:scale(1)}
.sector-steps{display:flex;gap:24px;align-items:center;grid-column:1/-1}.sector-steps button{font-size:14px;text-transform:uppercase;letter-spacing:.15em;color:#888;padding:10px 0;border-bottom:2px solid transparent}.sector-steps button[aria-pressed=true]{color:#000;border-color:#000}
.coach-track{scroll-snap-type:none;overflow-anchor:none;scroll-behavior:auto;touch-action:pan-x pan-y;position:relative}.coach-track.is-static{justify-content:center;flex-wrap:wrap}.coach-set{display:flex;gap:var(--gap);flex:none}.coach-set .coach-card{width:20.05vw;flex:0 0 20.05vw;min-width:245px}.carousel-pause{display:grid;place-items:center;min-width:44px;min-height:44px;font-size:22px}.carousel-pause:hover{color:var(--pink)}
.productions{align-items:start;min-height:0}.production-list li{min-height:22vh;display:flex;align-items:center}.production-list a{margin:0;white-space:normal;font-size:clamp(1.75rem,3.1vw,4.25rem)}.production-list a.selected{color:var(--pink);transform:translateX(10px)}
.production-visual{position:sticky;top:10vh;padding-top:0}.production-media{position:relative;max-height:52vh;background:#111}.production-media>.production-image{position:absolute;inset:0;opacity:0;transform:scale(1.05);transition:opacity .65s var(--ease),transform 1.2s var(--ease)}.production-media>.production-image.active{opacity:1;transform:scale(1)}
.production-missing{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:30px;text-align:center;color:#aaa;font-size:14px}.production-missing[hidden]{display:none}.production-missing-title{font-size:clamp(24px,3vw,48px);color:#fff;line-height:1.1}
.production-caption{margin-top:32px;width:65%}.production-caption h3{margin-bottom:24px;font-size:clamp(20px,1.6vw,32px)}
@media(max-width:1200px){.coach-set .coach-card{width:28vw;flex-basis:28vw}}
@media(max-width:760px){.team-card .card-link>.eyebrow{margin-top:12px}.js .sector-pin{grid-template-columns:1fr;grid-template-rows:1fr 38svh auto;gap:20px;padding-block:24px;height:100svh}.sector-copy{gap:16px}.sector-copy h2{font-size:clamp(22px,5.7vw,30px);line-height:1.12}.sector-copy .eyebrow{font-size:12px}.sector-copy .text-link{font-size:16px}.sector-image-stack{height:38svh;aspect-ratio:auto}.sector-steps{gap:28px}.sector-steps button{padding:8px 0}.coach-set .coach-card{width:76vw;flex-basis:76vw;min-width:0}.production-visual{order:-1;top:16px;width:100%;z-index:3;background:#fff;padding-bottom:16px}.production-media{height:32svh;aspect-ratio:auto!important}.production-caption{width:100%;margin-top:16px}.production-caption h3{font-size:18px;margin-bottom:10px}.production-caption .text-link{font-size:16px}.production-list{width:100%}.production-list li{min-height:22svh}.production-list a{font-size:26px}.productions{gap:30px}}
@media(prefers-reduced-motion:reduce){.js .sector-scroll{height:auto}.js .sector-pin{position:relative;height:auto;min-height:75svh}.sector-copy,.sector-image-stack>img,.production-media>.production-image{transform:none}.coach-track{scroll-behavior:auto}}

/* Synchronized hero headlines and autoplay control. */
.hero-caption{display:grid;width:30ch;max-width:36%;line-height:1.35}
.hero-copy{grid-area:1/1;opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .95s var(--ease),transform .95s var(--ease),visibility .95s}
.hero-copy.active{opacity:1;visibility:visible;transform:none}
.hero-pause{position:absolute;right:var(--gutter);bottom:19%;color:#fff;border:1px solid #ffffff80;border-radius:40px;padding:10px 18px;min-height:44px;font-size:14px;z-index:2;background:#0003}
.hero-pause:hover{background:#fff;color:#000}
@media(max-width:760px){.hero-caption{display:none}.mobile-headline{display:grid;bottom:92px}.hero-pause{bottom:24px;right:24px}.hero-sectors{display:flex;flex-direction:row;gap:18px;left:24px;right:auto;bottom:28px;top:auto}.hero-sectors :is(a,button){font-size:16px;line-height:44px;letter-spacing:0}.hero-sectors :is(a,button):hover{transform:none}}

/* Full-screen hero follows the visible viewport, including mobile browser chrome. */
.hero{height:100vh;height:100dvh;min-height:0;max-height:none}

/* Review refinements: original icons, sliding filter pill and compact credits. */
.round-arrow{display:grid;place-items:center;padding:8px;min-width:48px;min-height:48px}
.round-arrow img{width:37px;height:28px}
.socials img{display:block;flex:none}
.filters{position:relative;isolation:isolate}
.filters .filter-pill{position:absolute;top:0;left:0;border-radius:100px;background:#000;pointer-events:none;z-index:0;transition:transform .5s var(--ease),width .5s var(--ease),height .5s var(--ease)}
.filters button{position:relative;z-index:1}
.js .filters button,.js .filters button:hover,.js .filters button[aria-pressed=true]{background:transparent;color:#111}
.js .filters button.pill-highlight{color:#fff}
.productions{grid-template-columns:minmax(0,34fr) minmax(0,66fr);gap:36px}
.production-list li{min-height:0;padding:0 0 20px}
.production-list a{margin:0;font-size:clamp(1.6rem,2.8vw,3.4rem);line-height:1.15}
.production-media{max-height:none!important;aspect-ratio:1005/720!important}
.production-caption{margin-top:clamp(64px,7vw,120px);width:75%}
.production-visual{top:5vh}
@media(max-width:760px){.productions{display:flex;gap:32px}.production-list li{min-height:0;padding-bottom:18px}.production-list a{font-size:26px}.production-media{height:42svh;aspect-ratio:auto!important}.production-caption{margin-top:44px;width:100%}.production-visual{position:relative;top:auto}.mobile-headline{bottom:100px}}

.coach-card img[src$="ben-furey-original.jpg"]{position:absolute;max-width:none;width:119.16%;height:128.15%;left:-9.58%;top:-16.2%;object-fit:fill}

/* Menu choreography: lines gather and rotate, curtain descends, copy lifts in. */
.menu{background:transparent;isolation:isolate}
.menu::backdrop{background:transparent}
.menu[open]{animation:none;clip-path:none}
.menu::before{content:'';position:fixed;inset:0;background:#080808;z-index:0;pointer-events:none}
.menu[open]::before{animation:nav-curtain-in .65s cubic-bezier(.76,0,.24,1) .18s both}
.menu-inner{position:relative;z-index:1}
.menu[open] .menu-inner{animation:nav-content-in .65s var(--ease) .85s both}
.menu[open] .menu-toggle[aria-expanded=true] .burger:before{animation:burger-cross-top .65s var(--ease) both}
.menu[open] .menu-toggle[aria-expanded=true] .burger:after{animation:burger-cross-bottom .65s var(--ease) both}
.menu.is-closing::before{animation:nav-curtain-out .55s cubic-bezier(.76,0,.24,1) .1s both}
.menu.is-closing .menu-inner{animation:nav-content-out .25s ease both;pointer-events:none}
.menu.is-closing .burger:before{animation:burger-lines-top .5s var(--ease) both}
.menu.is-closing .burger:after{animation:burger-lines-bottom .5s var(--ease) both}
@keyframes nav-curtain-in{from{transform:translateY(-100%)}to{transform:translateY(0)}}
@keyframes nav-curtain-out{from{transform:translateY(0)}to{transform:translateY(-100%)}}
@keyframes nav-content-in{from{opacity:0;transform:translateY(32px)}to{opacity:1;transform:translateY(0)}}
@keyframes nav-content-out{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-16px)}}
@keyframes burger-cross-top{0%{top:2px;transform:rotate(0)}40%{top:10px;transform:rotate(0)}100%{top:10px;transform:rotate(45deg)}}
@keyframes burger-cross-bottom{0%{top:18px;transform:rotate(0)}40%{top:10px;transform:rotate(0)}100%{top:10px;transform:rotate(-45deg)}}
@keyframes burger-lines-top{0%{top:10px;transform:rotate(45deg)}50%{top:10px;transform:rotate(0)}100%{top:2px;transform:rotate(0)}}
@keyframes burger-lines-bottom{0%{top:10px;transform:rotate(-45deg)}50%{top:10px;transform:rotate(0)}100%{top:18px;transform:rotate(0)}}

/* Reserve header columns when the toggle moves into the dialog's top layer. */
html{scrollbar-gutter:stable}
.header>.menu-toggle{grid-column:1;grid-row:1}
.header>.menu-toggle:focus-visible{outline:0;box-shadow:none}
.header>.menu-toggle:focus-visible .menu-label{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.header>.brand{grid-column:2;grid-row:1;justify-self:center}
.header>.contact-pill{grid-column:3;grid-row:1}
body.menu-open .menu .ue-nav-top>.menu-toggle{left:var(--toggle-left);top:var(--toggle-top);margin:0}
.menu-label{min-width:5ch;text-align:left}
.menu[open] .menu-toggle[aria-expanded=true] .burger:before,.menu[open] .menu-toggle[aria-expanded=true] .burger:after{animation-duration:.42s}

/* The same moving pill turns pink only for a clicked selection. */
.filters .filter-pill{transition:transform .5s var(--ease),width .5s var(--ease),height .5s var(--ease),background-color .3s}
.filters .filter-pill.is-selected{background:var(--pink)}

/* Optical alignment accounts for the typeface's extra space below the glyphs. */
.pill,.filters button{align-items:center;justify-content:center;line-height:1}
.pill .roll{line-height:1.2;top:.08em}
.pill>.button-label,.filters .filter-label{display:block;line-height:1.2;transform:translateY(.08em);pointer-events:none}

/* Figma production shelf: titles extend across the photograph on a single line. */
.production-list{position:relative;z-index:2;min-width:0;overflow:visible}
.production-list li{overflow:visible}
.production-list a{white-space:nowrap;flex-shrink:0;width:max-content;max-width:none}
.production-visual{z-index:1;min-width:0}
@media(max-width:760px){.production-list a{font-size:clamp(1rem,4.5vw,1.625rem)}}
@media(max-width:760px){.productions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:16px;align-items:start}.production-visual{display:contents}.production-media{grid-column:2;height:25svh;min-height:180px;max-height:240px}.production-caption{grid-column:1/-1;width:100%;margin-top:14px}.production-caption .text-link{display:flex;width:100%;justify-content:flex-start}.production-list{width:auto}.production-list li{padding-bottom:12px}.production-list a{width:auto;max-width:100%;white-space:normal;font-size:clamp(1rem,4vw,1.125rem);line-height:1.15}}

/* Original Figma 29 × 22 text-link arrow, inheriting the link colour. */
.text-link .arrow{display:inline-block;flex:none;width:29px;height:22px;font-size:inherit;background:currentColor;-webkit-mask:url('text-link-arrow.svg') center/contain no-repeat;mask:url('text-link-arrow.svg') center/contain no-repeat;vertical-align:middle}

/* Subsequent page entries retain the curtain without replaying the logo. */
html[data-page-reveal=true] .loader-mark{display:none}

/* Keep each service column's card spacing independent of neighboring heights. */
.service-column{min-width:0;gap:5.208vw;padding-top:0}
.service-column:nth-child(2),.service-column:nth-child(3){padding-top:0}
.service-grid.staggered>.service-column:nth-child(2){padding-top:6vw}
.service-grid.staggered>.service-column:nth-child(3){padding-top:2.55vw}
@media(max-width:760px){
 .service-column{display:contents}
 .service-grid>.service-column>.service{order:var(--service-order)}
 .service-grid.staggered>.service-column:nth-child(2),.service-grid.staggered>.service-column:nth-child(3){padding-top:0}
}

@media(max-width:760px){
 .header{grid-template-columns:44px minmax(0,1fr) auto;column-gap:8px}
 .header>.menu-toggle{grid-column:1;grid-row:1}
 .header>.brand{position:absolute;left:50%;top:50%;width:66px;height:58px;grid-column:auto;grid-row:auto;transform:translate(-50%,-50%)}
 .header>.brand>.mobile-mark{width:66px;height:58px;transform:none}
 .header>.contact-pill{grid-column:3;grid-row:1;display:inline-flex;justify-self:end;white-space:nowrap;min-height:44px;padding:8px 18px;font-size:clamp(.8rem,3.8vw,.95rem);line-height:1.2}
 .header>.contact-pill .roll{white-space:nowrap}
}

 @media(max-width:760px){
  .sector-copy{gap:10px}
  .sector-copy h2{font-size:clamp(1.5rem,7.2vw,1.75rem);line-height:1.05;padding-block:10px}
  .filters button{min-height:44px}
   .coach-track{padding-inline:12vw;scroll-padding-inline:12vw}
   .coach-card{scroll-snap-align:center}
  }

/* Keep photo-backed CTAs readable without changing links on light sections. */
.film-feature .text-link,.coach-banner .text-link{color:#fff}
@media(max-width:760px){.coach-card h3{margin-bottom:8px}}
.service-size-large .image-wrap{aspect-ratio:527/620}.service-size-medium .image-wrap{aspect-ratio:527/440}.service-size-small .image-wrap{aspect-ratio:527/360}.service .image-wrap>img{height:100%;min-height:0;object-fit:cover}
.coach-track .coach-card h3{margin-bottom:8px}
@media(max-width:760px){.filters{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;width:100%;padding:0;background:transparent;border-radius:0}.filters button{flex:0 0 auto;min-width:0;min-height:44px;padding:8px 14px;background:#f5f5f5}.filters button[aria-pressed=true]{background:#000;color:#fff}.filters button:hover{background:var(--pink);color:#fff}.js .filters button:not(.pill-highlight){background:#f5f5f5;color:#111}.js .filters button.pill-highlight{background:transparent;color:#fff}}
@media(max-width:760px){.footer-grid{grid-template-columns:1fr;gap:24px 0}.footer-grid>div{gap:12px}.footer-grid>div:last-child{grid-column:auto}}
