/* The motion layer: staged entrance, a shared ribbon motif and touch-first scenes. */
:root{--ease-out:cubic-bezier(.16,1,.3,1);--page-progress:0}
html{scrollbar-gutter:stable}
body{overflow-x:clip}
body.is-loading{overflow-x:clip;overflow-y:auto}
.js body.is-loading{overflow:hidden}
button,a,input{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid var(--blue);outline-offset:6px}
.hero :focus-visible,.events :focus-visible,.journey :focus-visible,.header :focus-visible{outline-color:var(--lime)}
.page-progress{position:fixed;z-index:60;inset:0 0 auto;height:3px;background:var(--lime);transform:scaleX(var(--page-progress));transform-origin:left;pointer-events:none}
.preloader{display:none;transform:none;clip-path:inset(0);transition:clip-path .85s var(--ease-out);gap:24px}
.js .preloader{display:grid}
.preloader.is-hidden{transform:none;clip-path:inset(0 0 100%);pointer-events:none}
.preloader p{display:flex;align-items:center;gap:.025em;position:relative;font-size:clamp(64px,13vw,160px)}
.preloader p>span{display:block;animation:loader-letter .7s var(--ease-out) both}
.preloader p>span:nth-child(2){animation-delay:.07s}
.preloader p>span:nth-child(3){animation-delay:.14s}
.preloader p>span:nth-child(4){animation-delay:.21s}
.preloader p i{position:absolute;right:-.55em;top:-.25em;font:400 .4em Manrope;color:var(--lime);animation:loader-star 1.3s var(--ease-out) both}
.preloader__caption{text-align:center;font-size:11px;letter-spacing:.12em;color:#b8bfd4}
.preloader__brand{position:relative;z-index:2;width:min(68vw,330px);margin:0 auto;animation:loader-logo .85s var(--ease-out) both}
.preloader__brand img{width:100%;height:auto}
.preloader__brand i{position:absolute;top:-.45em;right:-.32em;color:var(--lime);font-size:clamp(20px,4vw,32px);font-style:normal;animation:loader-star 1.3s var(--ease-out) both}
@keyframes loader-logo{from{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:none}}
.preloader__ribbon{position:absolute;width:min(95vw,860px);height:min(80vh,620px);inset:50% auto auto 50%;transform:translate(-50%,-50%);pointer-events:none}
.preloader__ribbon path{stroke:var(--pink);stroke-width:2;stroke-dasharray:1;stroke-dashoffset:1;animation:draw-loader 1.2s .15s var(--ease-out) forwards}
.preloader__skip{position:absolute;right:var(--pad);bottom:35px;min-height:44px;color:#c2c7d5;font-size:11px;background:none;border:0;cursor:pointer}
@keyframes loader-letter{from{opacity:0;transform:translateY(80%) rotate(8deg)}to{opacity:1;transform:none}}
@keyframes loader-star{from{opacity:0;transform:rotate(-150deg) scale(.1)}to{opacity:1;transform:none}}
@keyframes draw-loader{to{stroke-dashoffset:0}}

.hero{isolation:isolate;grid-template-columns:1.08fr .92fr;min-height:100svh;padding-top:140px;padding-bottom:80px}
.hero__glow{width:80vw;height:80vw;right:-38vw;top:-35vw;background:radial-gradient(circle,#1b4bc3 0%,#142751 45%,transparent 68%);filter:none;opacity:.75}
.hero__copy{z-index:6;min-width:0}
.hero h1{font-size:clamp(62px,7.7vw,122px);line-height:1.02;margin:20px 0 25px}
.hero__line{display:block;overflow:hidden;padding-bottom:.12em;margin-bottom:-.1em}
.hero__line>span,.hero__line>em{display:inline-block;transform:translateY(0)}
.hero__spark{width:.48em;height:.48em;fill:var(--lime);margin-left:.1em;vertical-align:.1em}
.hero__lead{font-size:clamp(15px,1.25vw,19px);max-width:530px}
.hero__actions{gap:28px;margin-top:30px}
.hero__actions .button{white-space:nowrap}
.hero__actions .text-link{font-size:12px;gap:14px}
.hero__visual{height:min(76svh,800px);min-height:500px;position:relative;isolation:isolate;align-self:end;transform:translate3d(var(--pointer-x,0px),var(--pointer-y,0px),0);transition:transform 1.2s var(--ease-out)}
.hero__halo{position:absolute;width:112%;aspect-ratio:1;left:-2%;top:9%;border-radius:50%;background:radial-gradient(circle at 32% 30%,#4563ba 0%,#213c83 40%,#142341 72%);box-shadow:inset 0 0 80px #728bda22;transform:rotate(-15deg);z-index:-2}
.hero__halo-line{position:absolute;inset:4% -10% 8% -5%;border:1px solid #ffffff28;border-radius:48% 52% 53% 47%;transform:rotate(18deg);z-index:-1}
.hero__athlete{position:absolute;width:114%;height:107%;object-fit:contain;object-position:center bottom;bottom:-3%;left:-4%;z-index:2;mask-image:linear-gradient(#000 0 84%,transparent 100%);-webkit-mask-image:linear-gradient(#000 0 84%,transparent 100%);filter:drop-shadow(-20px 12px 25px #06102950)}
.hero__ribbon-back{position:absolute;width:148%;height:118%;object-fit:contain;top:-4%;left:-25%;transform:rotate(-22deg) translateY(calc(var(--hero-scroll,0) * -35px));z-index:0;pointer-events:none}
.hero__ribbon-front{position:absolute;width:145%;height:115%;left:-24%;top:0;z-index:3;overflow:visible;pointer-events:none;transform:translateY(calc(var(--hero-scroll,0) * 22px))}
.ribbon-shadow{stroke:#07112c44;stroke-width:20;filter:blur(8px)}
.ribbon-line{stroke:url(#ribbon-color);stroke-width:10;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:0}
.hero__note{z-index:4;width:125px;height:125px;background:var(--lime);right:-3%;bottom:7%;transform:rotate(-10deg);padding:0;box-shadow:0 15px 40px #0002}
.hero__note svg{position:absolute;inset:0;width:100%;height:100%;animation:badge-turn 35s linear infinite;fill:var(--ink)}
.hero__note text{font:800 8.5px Manrope;letter-spacing:1.65px}
.hero__note>span{font-size:48px;line-height:1}
.hero__visual-caption{position:absolute;bottom:0;left:15%;text-transform:uppercase;font-size:8px;letter-spacing:.22em;color:#c5cde7;z-index:5}
.hero__scroll i{position:relative;overflow:hidden;background:#ffffff30}
.hero__scroll i:after{content:"";position:absolute;inset:0;background:var(--lime);transform-origin:left;animation:scroll-tick 2.8s var(--ease-out) infinite}
.js body:not(.is-ready) .hero__line>span,.js body:not(.is-ready) .hero__line>em{transform:translateY(115%) rotate(3deg)}
.js body:not(.is-ready) .hero-enter{opacity:0;transform:translateY(20px)}
.js body:not(.is-ready) .hero__visual{opacity:0;clip-path:inset(18% 0 0 0 round 45% 45% 0 0);transform:translateY(65px) scale(1.04)}
.js body:not(.is-ready) .ribbon-line{stroke-dashoffset:1}
.is-ready .hero__line>span,.is-ready .hero__line>em{transition:transform 1.2s var(--ease-out) .15s}
.is-ready .hero__line:nth-child(2)>span{transition-delay:.27s}
.is-ready .hero__line:nth-child(3)>em{transition-delay:.39s}
.is-ready .hero__spark{animation:hero-star 1.6s .5s var(--ease-out) both}
.is-ready .hero-enter{transition:opacity .9s var(--ease-out) .4s,transform .9s var(--ease-out) .4s}
.is-ready .hero__actions{transition-delay:.55s}
.is-ready .hero__visual{opacity:1;clip-path:inset(-20% -35% -15% -30%);transition:opacity 1.2s var(--ease-out),transform 1.4s var(--ease-out),clip-path 1.4s var(--ease-out)}
.is-ready .ribbon-line{transition:stroke-dashoffset 1.7s var(--ease-out) .5s}
@keyframes hero-star{from{opacity:0;transform:rotate(-100deg) scale(.2)}to{opacity:1;transform:none}}
@keyframes badge-turn{to{transform:rotate(360deg)}}
@keyframes scroll-tick{0%{transform:translateX(-100%)}60%,100%{transform:translateX(100%)}}
.ticker div{animation-duration:46s}

.manifesto{position:relative;overflow:hidden;padding-bottom:155px}
.section-ribbon{position:absolute;bottom:0;left:0;width:100%;height:100px;pointer-events:none}
.draw-path{stroke:var(--blue);stroke-width:2;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--draw-progress,1))}
.js .draw-path{--draw-progress:0}
.stats__quote span{font-size:15px;line-height:1.6}

/* A short scroll scene, driven by native scrolling on every device. */
.journey{position:relative;height:250svh;background:var(--ink);color:white;--scene-progress:0;--scene-draw:0}
.journey__sticky{position:sticky;top:0;height:100svh;min-height:660px;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;gap:5vw;align-items:center;padding:70px var(--pad)}
.journey__copy{position:relative;z-index:3;min-width:0}
.journey .section-label{font-size:9px;letter-spacing:.12em;color:#c2c9df}
.journey h2{font:600 clamp(35px,4.3vw,70px)/1.1 Unbounded;letter-spacing:-.065em;margin:35px 0 40px}
.journey h2 em{font-style:normal;color:var(--lime)}
.journey__stories{min-height:170px}
.journey__story:not([hidden]){animation:story-in .65s var(--ease-out) both}
.journey__story>span{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--pink)}
.journey__story h3{font:500 clamp(21px,2.3vw,33px)/1.2 Unbounded;letter-spacing:-.05em;margin:14px 0}
.journey__story p{color:#adb8d4;line-height:1.7;font-size:14px;max-width:450px}
.journey__steps{display:flex;gap:12px;margin:26px 0}
.journey__steps button{position:relative;flex:1;background:none;color:#9faac4;border:0;border-top:2px solid #ffffff24;text-align:left;padding:14px 0;cursor:pointer;font-size:11px;min-height:56px;transition:color .3s,border-color .3s}
.journey__steps button span{display:block;font:500 12px Unbounded;margin-bottom:7px}
.journey__steps button.is-active{color:var(--lime);border-color:var(--lime)}
.journey__hint{color:#7e8ba9;font-size:9px;letter-spacing:.06em;display:flex;gap:12px;align-items:center}
.journey__hint i{font-style:normal;color:var(--lime);font-size:16px}
.journey__stage{position:relative;height:min(71svh,720px);min-height:430px;min-width:0}
.journey__big-number{position:absolute;right:-8%;top:-14%;font:600 clamp(180px,23vw,350px)/1 Unbounded;letter-spacing:-.12em;color:#ffffff08;z-index:0;transition:transform .6s var(--ease-out)}
.journey__frames{position:absolute;inset:0 5%;border-radius:200px 200px 24px 24px;overflow:hidden;transform:rotate(-3deg);background:#1e2a4c;isolation:isolate}
.journey__frame{position:absolute;inset:0;height:100%;width:100%;object-fit:cover;object-position:center 40%;opacity:0;transform:translateY(8%) scale(1.1);transition:opacity .65s ease,transform 1.1s var(--ease-out)}
.journey__frame.is-active{opacity:1;transform:translateY(calc((var(--scene-progress) - .5) * -16px)) scale(1.04)}
.journey__frame:nth-child(3){object-position:62% center}
.journey__ribbon{position:absolute;inset:-12% -12%;width:124%;height:124%;pointer-events:none;overflow:visible;z-index:2}
.journey__ribbon path{stroke:var(--pink);stroke-width:3;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--scene-draw));filter:drop-shadow(0 0 7px #ff3f9133)}
.journey__tag{position:absolute;bottom:8%;left:0;right:-2%;background:var(--lime);color:var(--ink);padding:16px 20px;transform:rotate(3deg);font-size:11px;font-weight:800;z-index:3}
.journey__tag span{margin-right:14px;font-size:18px;vertical-align:middle}
.journey__progress{position:absolute;left:0;right:0;bottom:0;height:3px;background:#ffffff12}
.journey__progress i{display:block;width:100%;height:100%;background:var(--pink);transform:scaleX(var(--scene-progress));transform-origin:left}
@keyframes story-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

.button{position:relative;will-change:auto;transform:translate3d(var(--magnet-x,0px),var(--magnet-y,0px),0);transition:transform .5s var(--ease-out),box-shadow .3s,background .3s}
.button>span{display:inline-block;transition:transform .35s var(--ease-out)}
.button:hover{transform:translate3d(var(--magnet-x,0px),calc(var(--magnet-y,0px) - 3px),0);box-shadow:0 12px 28px #00000016}
.button:hover>span{transform:translate(3px,-3px)}
.button:active{transform:scale(.97)}
.text-link>span{transition:transform .35s var(--ease-out)}
.text-link:hover>span{transform:translate(4px,2px)}
.program{min-width:0;container-type:inline-size;transform:perspective(900px) rotateX(var(--tilt-y,0deg)) rotateY(var(--tilt-x,0deg));transition:transform .6s var(--ease-out),box-shadow .4s}
.program:hover{transform:perspective(900px) rotateX(var(--tilt-y,0deg)) rotateY(var(--tilt-x,0deg)) translateY(-6px);box-shadow:0 20px 40px #10172f18}
.program__body h3{font-size:clamp(24px,2.6vw,40px);overflow-wrap:normal}
.program .program__body h3{font-size:clamp(21px,8.5cqw,40px);letter-spacing:-.055em;line-height:1.12}
.program>a{transition:transform .4s var(--ease-out),background .3s}
.program:hover>a{transform:rotate(45deg);background:var(--lime)}
.program--lime:hover>a{background:white}
.team__photo{overflow:hidden;border-radius:24px;aspect-ratio:1680 / 2376;height:auto;align-self:center}
.team__photo img{display:block;width:100%;height:auto;object-fit:contain;object-position:center;transform:none;border-radius:inherit}
.team__photo>span{right:16px;top:18px;bottom:auto;max-width:calc(100% - 32px);font-size:10px;transform:rotate(-4deg)}
.events__grid{min-width:0}
.event figcaption b{font-size:clamp(20px,1.9vw,29px);line-height:1.2;letter-spacing:-.04em}
.event img{transition:transform 1.2s var(--ease-out);object-position:center 60%}
.event--wide img{object-position:55% center}
.event figcaption{transition:transform .6s var(--ease-out)}
.event:hover figcaption{transform:translateY(-7px)}
.gallery-controls{display:none}
.branch-list b{font-size:clamp(15px,1.55vw,22px)}
.branch-list a{min-height:100px}
.branch-list i{transition:transform .3s var(--ease-out)}
.branch-list a:hover i{transform:translate(4px,-4px)}
.trial__flower{position:absolute;left:-12%;top:-15%;width:70%;height:135%;pointer-events:none;transform:rotate(-15deg)}
.trial__flower path{stroke:#ffffff55;stroke-width:1.5}
.trial__form label{transition:border-color .3s}
.trial__form label:focus-within{border-color:var(--pink)}
.trial__form input:focus{outline:none}
.trial__form input{font-size:16px}
.footer__top{grid-template-columns:1fr .85fr 1.4fr;gap:20px}
.footer__phone{font-size:clamp(18px,2.3vw,34px)}
.mobile-dock{display:none}
.nav a{position:relative}
.nav a:after{content:"";position:absolute;bottom:-6px;left:0;right:0;height:1px;background:var(--lime);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease-out)}
.nav a:hover:after{transform:scaleX(1)}
.js .reveal{opacity:0}
.js .reveal.is-visible{opacity:1}
body:not(.is-loading) .reveal{will-change:auto}

@media(min-width:761px) and (max-width:1100px){
  .hero{grid-template-columns:1.1fr .9fr}
  .hero h1{font-size:7.4vw}
  .hero__actions{align-items:flex-start;flex-direction:column;gap:24px}
  .hero__visual{min-height:510px}
  .hero__note{width:100px;height:100px;right:-4%}
  .journey__sticky{gap:3vw}
  .journey h2{font-size:4.5vw}
  .journey__tag{font-size:10px}
  .program__body h3{font-size:32px}
}
@media(max-width:1100px){
  .nav{transition:opacity .4s,visibility .4s,transform .6s var(--ease-out);height:100dvh}
  .nav a{opacity:0;transform:translateY(28px);transition:opacity .3s,transform .5s var(--ease-out);transition-delay:0s}
  .header.is-menu-open .nav a{opacity:1;transform:none;transition-delay:calc(var(--nav-index,0) * .055s + .12s)}
  .menu-button{cursor:pointer}
}
@media(max-width:760px){
  :root{--pad:22px}
  html{scrollbar-gutter:auto;scrollbar-width:none}
  html::-webkit-scrollbar{display:none}
  .header{height:76px}
  .logo{font-size:14px}
  .logo svg{width:29px}
  .hero{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"eyebrow" "title" "portrait" "lead" "actions";padding:108px var(--pad) 42px;min-height:0}
  .hero__copy{display:contents}
  .hero .eyebrow{grid-area:eyebrow;font-size:8px;letter-spacing:.13em;margin:0 0 20px;max-width:290px;line-height:1.6}
  .hero h1{grid-area:title;font-size:clamp(40px,13.4vw,84px);line-height:1.01;margin:0;z-index:6;letter-spacing:-.075em;pointer-events:none}
  .hero__spark{width:.44em;height:.44em;margin-left:.2em}
  .hero__visual{grid-area:portrait;height:365px;min-height:0;margin:0 -9px -4px;transform:none!important;z-index:2;isolation:isolate}
  .hero__halo{width:88%;left:10%;top:6%;aspect-ratio:1;border-radius:50% 50% 40% 40%}
  .hero__halo-line{inset:-2% 1% 6% 3%}
  .hero__athlete{height:109%;width:112%;left:0;bottom:-5%;mask-image:linear-gradient(#000 0 80%,transparent 100%);-webkit-mask-image:linear-gradient(#000 0 80%,transparent 100%)}
  .hero__ribbon-back{width:138%;height:125%;left:-13%;top:-15%;transform:rotate(-12deg) translateY(calc(var(--hero-scroll,0) * -25px))}
  .hero__ribbon-front{width:139%;height:125%;left:-22%;top:-9%}
  .ribbon-line{stroke-width:9}
  .hero__note{width:88px;height:88px;right:-2px;bottom:12%}
  .hero__note>span{font-size:34px}
  .hero__visual-caption{font-size:6px;left:2%;bottom:8%;max-width:70px;line-height:1.8}
  .hero__lead{grid-area:lead;font-size:13px;line-height:1.65;max-width:430px;margin:15px 0 0;color:#aebad3;z-index:5}
  .hero__actions{grid-area:actions;flex-direction:column;align-items:stretch;gap:20px;margin-top:24px;z-index:5}
  .hero__actions .button{min-height:58px;font-size:14px;justify-content:space-between;padding:17px 24px}
  .hero__actions .text-link{align-self:center;font-size:11px;gap:16px;opacity:.75}
  .hero__glow{width:160vw;height:160vw;right:-70vw;top:10%}
  .hero__scroll{display:none}
  .ticker{margin-top:calc(-1vw - 2px)}
  .ticker div{font-size:12px;padding:15px 0}
  .section{padding:72px var(--pad)}
  .section h2{font-size:clamp(32px,9.7vw,64px);line-height:1.07;letter-spacing:-.065em}
  .section-label{font-size:8px;letter-spacing:.1em}
  .section-label>span{width:29px;height:29px;flex-shrink:0}
  .manifesto{padding-bottom:112px}
  .manifesto__text{font-size:14px;line-height:1.75}
  .manifesto__text p:first-child{font-size:16px}
  .stats{margin-top:40px}
  .stats article{min-width:0;padding:17px 12px;min-height:145px}
  .stats b{font-size:clamp(38px,11vw,66px)}
  .stats article:nth-child(3){border-top:1px solid var(--line)}
  .stats__quote{grid-column:auto;min-height:145px!important;padding:18px!important}
  .stats__quote span{font-size:11px!important}
  .section-ribbon{height:70px}
  .journey{height:210svh}
  .journey__sticky{height:100svh;min-height:600px;padding:38px var(--pad) 25px;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);gap:18px;align-content:start}
  .journey__copy{display:contents}
  .journey h2,.journey__stage,.journey__stories,.journey__steps,.journey__hint{grid-column:1}
  .journey .section-label{grid-column:1;grid-row:1;font-size:7px;letter-spacing:.06em}
  .journey h2{grid-row:2;align-self:start;margin:0;font-size:clamp(29px,8.6vw,46px);line-height:1.08;z-index:3}
  .journey__stage{grid-row:2;align-self:stretch;height:calc(100% - 92px);min-height:215px;max-height:none;margin-top:82px;margin-left:14%;margin-right:6%}
  .journey__frames{inset:0 6%;border-radius:140px 140px 18px 18px}
  .journey__big-number{font-size:42vw;top:-12%;right:-18%}
  .journey__tag{font-size:8px;left:-10%;right:-9%;bottom:5%;padding:12px 14px}
  .journey__tag span{font-size:13px;margin-right:5px}
  .journey__stories{grid-row:3;min-height:105px;margin-top:0}
  .journey__story>span{font-size:8px}
  .journey__story h3{font-size:clamp(18px,5.2vw,28px);margin:10px 0 7px}
  .journey__story p{font-size:12px;line-height:1.6;margin:0;max-width:none}
  .journey__steps{grid-row:4;gap:12px;margin:0}
  .journey__steps button{font-size:10px;padding:9px 0;min-height:47px}
  .journey__steps button span{font-size:10px;margin-bottom:4px}
  .journey__hint{grid-row:5;font-size:8px;margin-top:-5px}
  .programs{gap:12px}
  .program{min-height:340px;padding:25px;transform:none!important}
  .program--main{min-height:430px}
  .program__body h3{font-size:clamp(22px,6.5vw,38px)}
  .program__body p{font-size:13px}
  .program__index{top:25px;left:25px}
  .team{gap:32px}
  .team__kicker{font-size:17px!important;line-height:1.55!important}
  .team__copy>p{font-size:14px}
  .team__photo{height:auto}
  .team__principles{gap:6px}
  .team__principles span{font-size:10px;padding:9px 12px}
  .events{overflow:hidden;padding-bottom:52px}
  .events .section-head p{font-size:14px}
  .events__grid{display:flex;margin:0 calc(-1 * var(--pad));padding:12px var(--pad) 20px;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--pad);scrollbar-width:none;overscroll-behavior-x:contain}
  .events__grid::-webkit-scrollbar{display:none}
  .event,.event--wide{height:470px;height:min(61svh,520px);min-height:360px;flex:0 0 86%;scroll-snap-align:start;scroll-snap-stop:always}
  .event figcaption{left:22px;right:20px;bottom:26px}
  .event figcaption b{font-size:25px}
  .event figcaption small{font-size:11px;line-height:1.5}
  .events__grid .reveal{opacity:1!important;transform:none!important}
  .gallery-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}
  .gallery-controls__hint{font-size:8px;color:#a5afc9;max-width:90px;line-height:1.5}
  .gallery-dots{display:flex;align-items:center}
  .gallery-dots button{width:25px;height:44px;position:relative;border:0;background:none;cursor:pointer;padding:0}
  .gallery-dots button:after{content:"";width:6px;height:6px;position:absolute;left:50%;top:50%;border-radius:50%;background:#ffffff40;transform:translate(-50%,-50%);transition:background .3s,width .3s}
  .gallery-dots button.is-active:after{background:var(--lime);width:18px;border-radius:10px}
  .gallery-arrows{display:flex;gap:6px}
  .gallery-arrows button{width:44px;height:44px;border:1px solid #ffffff30;color:white;background:none;border-radius:50%;cursor:pointer}
  .branch-list{padding-top:10px}
  .branch-list a{grid-template-columns:25px 1fr 24px;min-height:100px;padding:22px 0;gap:8px 10px}
  .branch-list b{font-size:clamp(16px,4.6vw,24px)}
  .branch-list small{font-size:12px;line-height:1.5}
  .branches__intro p{font-size:14px}
  .trial{margin:0 10px 20px;padding:55px 18px;gap:25px}
  .trial h2{font-size:clamp(30px,9vw,52px);line-height:1.08;overflow-wrap:normal}
  .trial .eyebrow{font-size:8px}
  .trial__copy>p:last-child{font-size:13px}
  .trial__flower{width:140%;height:70%;top:-10%;left:-35%}
  .trial__form{padding:24px 20px}
  .footer{padding:50px var(--pad) 115px}
  .footer__top{grid-template-columns:1fr;gap:25px;padding-bottom:35px}
  .footer__phone{font-size:clamp(18px,5.1vw,28px);text-align:left}
  .footer__bottom{font-size:8px;gap:18px}
  .mobile-dock{position:fixed;display:flex;bottom:calc(12px + env(safe-area-inset-bottom,0px));left:12px;right:12px;z-index:18;background:var(--lime);color:var(--ink);border-radius:18px;padding:15px 18px;align-items:center;justify-content:space-between;gap:15px;box-shadow:0 8px 40px #040b2460;opacity:0;visibility:hidden;transform:translateY(130%);transition:transform .55s var(--ease-out),opacity .4s,visibility .4s}
  .mobile-dock.is-visible{opacity:1;visibility:visible;transform:none}
  .mobile-dock>span{font-size:9px;max-width:95px;line-height:1.5}
  .mobile-dock>b{font-size:13px;white-space:nowrap}
  .mobile-dock i{font-size:18px;font-style:normal;margin-left:12px}
  body.is-menu-open .mobile-dock{visibility:hidden;opacity:0;transform:translateY(130%)}
}
@media(max-width:370px){
  :root{--pad:18px}
  .hero h1{font-size:12.7vw}
  .hero__visual{height:320px}
  .hero__note{width:76px;height:76px}
  .journey__sticky{padding-inline:18px;gap:15px}
  .journey h2{font-size:8.3vw}
  .journey__stage{margin-top:73px;min-height:190px}
  .journey__stories{min-height:115px}
  .hero__actions .button{font-size:12px}
}
@media(max-height:720px) and (max-width:760px){
  .journey__sticky{padding-top:24px;gap:12px;min-height:570px}
  .journey__stage{height:calc(100% - 84px);min-height:175px;margin-top:74px}
  .journey__stories{min-height:112px}
  .journey__hint{display:none}
}
@media(prefers-reduced-motion:reduce){
  .js .preloader{display:none}
  .js body.is-loading{overflow:auto}
  .js body:not(.is-ready) .hero__line>span,.js body:not(.is-ready) .hero__line>em,.js body:not(.is-ready) .hero-enter,.js body:not(.is-ready) .hero__visual{opacity:1;transform:none;clip-path:none}
  .js .reveal,.js .draw-path{opacity:1;--draw-progress:1}
  .hero__ribbon-front,.hero__ribbon-back,.hero__athlete,.team__photo img{transform:none!important}
  .ribbon-line,.js body:not(.is-ready) .ribbon-line{stroke-dashoffset:0}
  .journey{height:auto}
  .journey__sticky{position:relative;height:auto;min-height:0;padding-block:70px}
  .journey__stage{height:480px}
  .journey__ribbon path{stroke-dashoffset:0}
  .journey__hint{display:none}
  .journey__progress{display:none}
}
@media(prefers-reduced-motion:reduce) and (max-width:760px){
  .journey__stage{height:300px;margin-top:85px}
  .journey__stories{margin-top:15px}
}
@media(scripting:none){
  .reveal{opacity:1;transform:none}
  .journey{height:auto}
  .journey__sticky{position:relative;height:auto;min-height:0}
  .journey__steps,.journey__hint{display:none}
}

/* Accessible trial request form states. */
.trial__form select{width:100%;padding:10px 0;border:0;outline:0;background:transparent;font:inherit;font-size:16px;color:var(--ink)}
.trial__form label:has(select){cursor:pointer}
.trial__form .button:disabled{opacity:.55;cursor:wait;transform:none}
.trial__form .trial__consent{display:grid;grid-template-columns:20px 1fr;align-items:start;gap:10px;border:0;padding-top:20px}
.trial__form .trial__consent input{width:18px;height:18px;margin:0;accent-color:var(--pink)}
.trial__form .trial__consent span{text-transform:none;letter-spacing:0;font-size:11px;font-weight:500;line-height:1.55}
.trial__form .trial__trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.trial__form .trial__status[data-state=success]{color:#20834e}
.trial__form .trial__status[data-state=error]{color:#bd275d}
.trial__form .trial__test-note{font-size:9px!important;opacity:.75}
.trial__form .button.is-loading span{animation:button-spin 1s linear infinite}
@keyframes button-spin{to{transform:rotate(360deg)}}
@media(max-width:760px){.trial__form select{font-size:14px}.trial__form .trial__consent{padding-inline:0}}
