:root{--teal:#00A1AA;--lime:#9BE100;--dark:#003C41;--paper:#F9FEFF;--ink:#0D1A1C;--muted:#637476;--line:#D8E6E7;--pad:5.208333%;--font:'Unbounded',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#eaf3f4;color:var(--ink);font-family:var(--font);font-weight:300}.page-shell{max-width:1440px;margin:0 auto;background:#fff;overflow:hidden;box-shadow:0 0 40px rgba(0,60,65,.06)}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}.header{height:114px;padding:26px var(--pad) 0;display:grid;grid-template-columns:300px 1fr 162px;align-items:start;background:#fff;position:relative;z-index:20}.logo{width:256px;height:72px;display:flex;align-items:center}.logo img{max-width:100%;max-height:72px;display:block}.nav{display:flex;gap:44px;justify-content:flex-end;align-items:center;padding-top:31px;padding-right:55px}.nav a{font-size:11px;font-weight:500;text-transform:uppercase;white-space:nowrap}.nav a:hover{color:var(--teal)}.pill{border-radius:999px;display:inline-flex;align-items:center;justify-content:center;text-transform:uppercase;font-weight:500}.cta-top{height:39px;background:var(--teal);color:#fff;font-size:13px;margin-top:19px;line-height:1}.menu-button{display:none;background:none;border:0;width:46px;height:46px}.menu-button span{display:block;width:26px;height:2px;background:var(--dark);margin:7px auto}.kicker{font-size:11px;font-weight:500;color:var(--teal);line-height:1}.kicker.light{color:#fff}.kicker.dark{color:var(--dark)}
.hero{height:880px;background:var(--paper);position:relative;overflow:hidden}.hero-copy{position:absolute;left:var(--pad);top:126px;z-index:3}.hero h1{font-size:clamp(50px,4.16vw,60px);font-weight:500;line-height:1.19;margin:28px 0 44px;letter-spacing:-.025em}.hero h1 em{font-style:normal;color:var(--teal)}.hero-copy>p{font-size:18px;font-weight:200;line-height:1.5;margin:0}.hero-visual{position:absolute;right:-6%;top:-1px;width:73%;height:881px;clip-path:polygon(18% 0,100% 0,100% 100%,0 100%)}.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:52% 50%}.hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(16deg,var(--paper) 4%,rgba(249,254,255,0) 44%)}.hero-actions{display:flex;gap:26px;margin-top:87px}.hero-actions .pill{height:54px;padding:0 31px;font-size:18px}.lime{background:var(--lime);color:var(--dark)}.outline{border:1.6px solid var(--dark);background:rgba(255,255,255,.18)}.free-class{position:absolute;right:9.7%;bottom:135px;z-index:4;display:flex;align-items:center;gap:32px;font-size:21px;font-weight:500;text-transform:uppercase}.free-class-text{display:block;line-height:1;transform:translateY(-2px)}.round-arrow{width:53px;height:53px;display:block;flex:0 0 53px}.marquee{height:96px;background:var(--dark);color:#fff;display:flex;align-items:center;overflow:hidden}.marquee-track{display:flex;width:max-content;will-change:transform;animation:marquee-scroll 24s linear infinite}.marquee-track span{display:block;flex:none;font-size:34px;font-weight:500;white-space:nowrap}@keyframes marquee-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.why{height:720px;background:var(--paper);position:relative;padding:68px var(--pad);overflow:hidden}.why-title h2{font-size:47.5px;line-height:1.2;font-weight:500;margin:28px 0 0}.why-copy{position:absolute;left:52.78%;top:112px;width:41.4%;z-index:3}.big-copy{font-size:23.5px;line-height:1.5;font-weight:200;margin:0}.metrics{display:grid;grid-template-columns:repeat(3,1fr);margin-top:34px;align-items:end}.metrics div{text-align:center}.metrics strong{display:block;font-size:62px;color:var(--dark);font-weight:400;line-height:1}.metrics small{display:block;font-size:11px;color:var(--muted);margin-top:5px}.thin-line{height:1px;background:var(--line);margin-top:61px}.note{font-size:17.7px;line-height:1.5;color:var(--muted);font-weight:200;margin-top:31px}.why-photo{position:absolute;left:-3%;bottom:-54px;width:52%;height:403px;clip-path:polygon(0 0,84% 0,100% 100%,0 100%)}.why-photo img{width:100%;height:100%;object-fit:cover;object-position:center 43%}.why-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,var(--paper) 4%,rgba(249,254,255,0) 55%)}
.trainers{min-height:900px;background:#fff;padding:43px var(--pad) 74px;display:grid;grid-template-columns:42.3% 1fr;gap:10.5%;position:relative}.trainers-left h2{font-size:32px;line-height:1.2;font-weight:500;margin:31px 0 35px}.main-trainer-photo{width:100%;max-width:542px;height:480px;border-radius:24px;overflow:hidden;background:var(--paper)}.main-trainer-photo img{width:100%;height:100%;object-fit:cover;object-position:center 30%;transition:opacity .25s}.trainers-left h3{font-size:23.8px;font-weight:700;margin:18px 0 0}.trainers-intro{font-size:16px;line-height:1.55;color:var(--dark);font-weight:200;margin:54px 0 107px}.trainer-carousel-wrap{position:relative;display:grid;grid-template-columns:18px 1fr 18px;align-items:center;gap:20px}.trainer-carousel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:31px;min-height:245px}.trainer-thumb{background:none;border:0;padding:0;text-align:left;opacity:.62;transition:.2s}.trainer-thumb.active{opacity:1}.trainer-thumb img{width:100%;height:208px;object-fit:cover;border-radius:27px;display:block}.trainer-thumb span{display:block;font-size:12.7px;color:var(--muted);margin-top:13px}.carousel-arrow{border:0;background:none;padding:0;width:18px;height:34px}.carousel-arrow img{width:100%;height:100%;object-fit:contain}.trainer-card{margin-top:48px;background:#101A1C;color:#F0F6F7;border-radius:30px;padding:33px 36px 24px;min-height:229px}.trainer-credential{font-size:11.5px;font-weight:700;color:#AADE00;line-height:1.45}.trainer-text{font-size:18px;font-weight:200;line-height:1.42;margin-top:20px;overflow:hidden;transition:max-height .35s}.trainer-text.collapsed{max-height:76px}.trainer-text.expanded{max-height:none;overflow:visible}.trainer-text p{margin:0 0 12px}.trainer-more{display:flex;align-items:center;justify-content:center;width:58px;height:24px;margin:9px auto 0;padding:0;border:0;background:none;color:#fff}.trainer-more img{width:47px;height:14px;display:block;transition:.25s}.trainer-more[aria-expanded="true"] img{transform:rotate(180deg)}
.directions{height:1100px;background:var(--dark);padding:52px var(--pad) 64px;color:#fff}.directions-head{display:flex;justify-content:space-between;align-items:flex-start}.directions-head h2{font-size:43px;line-height:1.2;font-weight:500;margin:38px 0 0}.directions-head>p{font-size:15px;color:#B7D2D3;margin:50px 0 0}.feature-directions{display:grid;grid-template-columns:1fr 1fr;gap:38px;margin-top:47px}.feature-card{height:344px;background:#fff;border:0;padding:0;text-align:left;overflow:hidden;color:var(--ink);position:relative}.feature-card>img{position:absolute;left:0;top:0;width:100%;height:260px;object-fit:cover;display:block}.feature-card>span{position:absolute;left:0;right:0;top:260px;height:84px;background:#fff;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;padding:14px 19px 0}.feature-card b{font-size:21px;font-weight:400}.feature-card small{font-size:11.5px;color:var(--teal);margin-top:5px;grid-column:1}.feature-card i{font-size:21px;font-style:normal;grid-row:1/3;grid-column:2;align-self:center}.direction-grid{display:grid;grid-template-columns:repeat(3,1fr);column-gap:30px;row-gap:0;margin-top:81px}.direction-item{height:184px;border-top:1px solid #2D6569;background:none;color:#fff;border-left:0;border-right:0;border-bottom:0;padding:19px 0 0;display:grid;grid-template-columns:55px 1fr 35px;text-align:left;align-content:start}.direction-item i{font-size:12px;color:var(--lime);font-style:normal;font-weight:500}.direction-item b{font-size:18px;font-weight:400}.direction-item small{display:block;color:#B7D2D3;font-size:12px;margin-top:9px}.direction-item .arrow{font-size:20px;text-align:right}.direction-item:hover b,.direction-item:hover .arrow{color:var(--lime)}
.schedule{height:760px;padding:54px var(--pad) 0;background:#fff}.schedule-head{display:flex;align-items:flex-start;justify-content:space-between;margin-top:44px}.schedule-head h2{font-size:41.5px;line-height:1.2;font-weight:500;margin:0}.schedule-head span{font-size:13px;margin-top:4px}.schedule-list{margin-top:26px;border-top:1px solid var(--ink)}.schedule-row{height:67px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:7.5% 15.3% 1fr 160px;align-items:center}.schedule-row i{font-size:11.5px;font-style:normal;font-weight:700;color:var(--teal)}.schedule-row strong{font-size:24.8px;font-weight:500}.schedule-row>span{font-size:14.3px}.schedule-row a{justify-self:end;background:var(--teal);color:#fff;border-radius:999px;padding:7px 13px;font-size:11.5px}
.prices{height:780px;background:var(--paper);padding:44px var(--pad) 0}.prices-head{display:flex;justify-content:space-between;align-items:flex-start;margin-top:29px}.prices-head h2{font-size:48px;line-height:1.2;font-weight:500;margin:0}.prices-head p{font-size:16px;color:var(--teal);margin:0}.price-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:27px;margin-top:50px}.price{height:362px;border:1px solid var(--teal);border-radius:25px;background:#fff;padding:19px 17px;display:flex;flex-direction:column}.price.featured{background:var(--lime);border-color:var(--lime)}.price i{font-style:normal;font-size:11.7px;color:var(--teal);font-weight:700}.price.featured i{color:var(--dark)}.price h3{font-size:17.5px;line-height:1.28;font-weight:400;margin:36px 0 0;min-height:66px}.price strong{font-size:17.5px;color:var(--teal);font-weight:500;margin-top:27px}.price.featured strong{font-size:23.4px;color:var(--dark)}.price p{font-size:11.7px;color:var(--muted);margin-top:auto}.price a{font-size:10.7px;font-weight:500;margin-top:37px}.faq{height:760px;background:#fff;padding:51px var(--pad) 0;display:grid;grid-template-columns:42% 1fr;gap:6.8%;position:relative;overflow:hidden}.faq-title h2{font-size:39.5px;line-height:1.2;font-weight:500;margin:29px 0 0}.faq-photo{position:absolute;left:-9%;bottom:-8px;width:52%;height:424px;clip-path:polygon(0 0,84% 0,100% 100%,0 100%)}.faq-photo img{width:100%;height:100%;object-fit:cover;object-position:center 38%}.faq-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#fff 1%,rgba(255,255,255,0) 62%)}.faq-list{display:grid;grid-template-columns:1fr 1fr;column-gap:32px;align-content:start;padding-top:34px}.faq-item{border-bottom:1px solid var(--line);min-height:89px}.faq-q{width:100%;min-height:88px;border:0;background:none;padding:0;display:grid;grid-template-columns:1fr 34px;align-items:center;text-align:left;font-size:14px;font-weight:500;color:var(--ink)}.faq-q span:last-child{font-family:var(--font);font-size:21px;color:var(--teal);text-align:right}.faq-a{font-size:12px;line-height:1.55;font-weight:200;color:var(--muted);max-height:0;overflow:hidden;transition:.35s;padding-right:28px}.faq-item.open .faq-a{max-height:380px;padding-bottom:20px}.faq-item.open .faq-q span:last-child{transform:rotate(45deg)}
.signup{height:760px;background:var(--lime);padding:46px var(--pad);display:grid;grid-template-columns:51% 1fr;gap:4%;color:var(--ink)}.signup-copy h2{font-size:48px;line-height:1.2;font-weight:500;margin:34px 0 25px}.signup-copy p{font-size:16px;line-height:1.5;color:var(--dark);font-weight:200;margin:0}.signup-copy ul{list-style:none;padding:0;margin:58px 0 0}.signup-copy li{font-size:21px;font-weight:500;margin:15px 0}.signup-copy li:before{content:'+';color:#fff;margin-right:24px}.signup-form{width:100%;max-width:494px;height:615px;background:#fff;border-radius:29px;padding:39px 31px 25px;justify-self:end}.signup-form h3{font-size:24px;color:var(--dark);font-weight:500;margin:0 0 20px}.signup-form label{display:block;font-size:10.3px;color:#61787C;font-weight:500;margin-top:20px}.signup-form input,.signup-form textarea{width:100%;border:1px solid #D9E8E9;border-radius:14px;margin-top:10px;padding:0 16px;font-size:11px;font-weight:300;color:var(--muted);outline:none;background:#fff}.signup-form input{height:51px}.signup-form textarea{height:73px;padding-top:17px;resize:none}.signup-form input:focus,.signup-form textarea:focus{border-color:var(--teal)}.signup-form button{width:100%;height:49px;border:0;border-radius:999px;background:var(--teal);color:#fff;font-size:15px;font-weight:500;margin-top:46px}.footer{height:420px;background:#F8FFFF;padding:47px var(--pad) 0}.footer-top{display:grid;grid-template-columns:34% 18.8% 21% 1fr}.footer-logo img{width:240px;max-height:70px}.footer-col{display:flex;flex-direction:column;align-items:flex-start}.footer-col h4{font-size:12px;color:#AADE00;font-weight:500;margin:21px 0 25px}.footer-col a{font-size:13px;margin:0 0 16px}.footer-col.contacts .phone{font-size:18px;margin-bottom:8px}.footer-col p{font-size:14px;line-height:1.25;font-weight:200;margin:0 0 12px}.socials{display:flex;gap:12px}.socials a{width:48px;height:32px;border-radius:999px;background:var(--teal);color:#fff;display:grid;place-items:center;font-size:11px;margin:0}.docs a{font-size:11px;margin-bottom:26px}.footer-bottom{border-top:1px solid #AACBCD;margin-top:40px;height:78px;display:flex;justify-content:space-between;align-items:center;font-size:12px}.direction-modal{width:min(720px,92vw);border:0;border-radius:30px;padding:45px;background:#fff;color:var(--ink);box-shadow:0 30px 80px rgba(0,60,65,.28)}.direction-modal::backdrop{background:rgba(0,35,40,.65);backdrop-filter:blur(4px)}.modal-close{position:absolute;right:22px;top:15px;background:none;border:0;font-size:34px;color:var(--teal)}.modal-kicker{font-size:11px;color:var(--teal);font-weight:500}.direction-modal h2{font-size:36px;margin:20px 0 8px}.direction-modal h3{font-size:18px;color:var(--dark);font-weight:400}.direction-modal p{font-size:16px;line-height:1.65;font-weight:200}.modal-accent{font-size:12px;color:var(--teal);margin:22px 0}.direction-modal .pill{height:48px;padding:0 24px}.mobile-nav{display:none}
@media(max-width:1100px){.header{grid-template-columns:240px 1fr 150px}.nav{gap:20px;padding-right:24px}.hero h1{font-size:50px}.hero-copy>p{font-size:16px}.free-class{font-size:16px}.why-copy{left:50%}.trainer-carousel{gap:18px}.directions-head h2{font-size:38px}.price-grid{gap:14px}.price h3{font-size:15px}.price strong{font-size:14px}}
@media(max-width:860px){body{background:#fff}.page-shell{box-shadow:none}.header{height:86px;padding:14px 22px;grid-template-columns:1fr auto}.logo{width:210px;height:58px}.nav,.cta-top{display:none}.menu-button{display:block}.hero{height:auto;min-height:900px}.hero-copy{left:24px;right:24px;top:80px}.hero h1{font-size:44px}.hero-copy>p{font-size:14px}.hero-visual{top:430px;right:-12%;width:112%;height:470px}.hero-actions{margin-top:36px;flex-wrap:wrap}.hero-actions .pill{font-size:13px;height:46px}.free-class{bottom:28px;left:24px;right:auto;font-size:13px}.marquee{height:72px}.marquee div{font-size:24px}.why{height:auto;min-height:920px;padding:52px 24px}.why-title h2{font-size:38px}.why-copy{position:static;width:100%;margin-top:46px}.big-copy{font-size:18px}.why-photo{left:-18%;bottom:-12px;width:94%;height:330px}.metrics{max-width:540px}.trainers{padding:48px 24px 60px;grid-template-columns:1fr;gap:35px}.main-trainer-photo{max-width:none;height:520px}.trainers-intro{margin:0 0 35px}.trainer-carousel{grid-template-columns:repeat(2,1fr)}.directions{height:auto;padding:48px 24px}.directions-head{display:block}.directions-head h2{font-size:35px}.directions-head>p{margin-top:20px}.feature-directions{grid-template-columns:1fr}.direction-grid{grid-template-columns:1fr 1fr;margin-top:54px}.schedule{height:auto;padding:50px 24px 60px}.schedule-head span{display:none}.schedule-head h2{font-size:38px}.schedule-row{grid-template-columns:50px 100px 1fr 140px}.prices{height:auto;padding:45px 24px 60px}.prices-head h2{font-size:40px}.price-grid{grid-template-columns:repeat(2,1fr)}.faq{height:auto;min-height:900px;padding:50px 24px 340px;grid-template-columns:1fr}.faq-list{grid-template-columns:1fr 1fr;padding-top:0}.faq-photo{width:80%;height:330px}.signup{height:auto;padding:50px 24px;grid-template-columns:1fr;gap:38px}.signup-copy h2{font-size:42px}.signup-form{justify-self:start;max-width:600px}.footer{height:auto;padding:40px 24px 0}.footer-top{grid-template-columns:1fr 1fr;row-gap:30px}.footer-bottom{margin-top:30px}.mobile-nav{display:flex;position:fixed;inset:86px 0 auto;background:#fff;z-index:100;flex-direction:column;padding:28px 24px;gap:20px;transform:translateY(-140%);transition:.3s;box-shadow:0 20px 40px rgba(0,60,65,.12)}.mobile-nav.open{transform:translateY(0)}.mobile-nav a{font-size:16px}.mobile-nav .pill{height:46px;max-width:230px}}
@media(max-width:560px){.hero{min-height:850px}.hero h1{font-size:34px}.hero-copy>p br{display:none}.hero-visual{top:420px;height:400px}.free-class{font-size:11px}.round-arrow{width:42px;height:42px}.why-title h2,.schedule-head h2{font-size:32px}.metrics strong{font-size:44px}.metrics small{font-size:9px}.main-trainer-photo{height:420px}.trainer-carousel-wrap{grid-template-columns:16px 1fr 16px}.trainer-carousel{gap:10px}.trainer-thumb img{height:160px}.trainer-card{padding:28px 25px}.directions-head h2{font-size:30px}.feature-card{height:310px}.feature-card>img{height:220px}.feature-card>span{top:220px;height:90px}.direction-grid{grid-template-columns:1fr}.direction-item{height:118px}.schedule-row{grid-template-columns:42px 82px 1fr}.schedule-row a{grid-column:3;justify-self:start;margin-bottom:8px}.schedule-row{height:88px}.prices-head{display:block}.prices-head p{margin-top:20px}.price-grid{grid-template-columns:1fr}.faq-list{grid-template-columns:1fr}.faq{padding-bottom:320px}.signup-copy h2{font-size:32px}.signup-copy p br{display:none}.signup-copy li{font-size:16px}.signup-form{padding:30px 22px}.footer-top{grid-template-columns:1fr}.footer-bottom{font-size:9px;gap:10px}.direction-modal{padding:35px 25px}.direction-modal h2{font-size:28px}}

@media (prefers-reduced-motion:reduce){.marquee-track{animation-duration:60s}}

/* Mobile refinement — iPhone/compact smartphones */
.keep-together{white-space:nowrap}
@media(max-width:600px){
  body{overflow-x:hidden}
  .page-shell{width:100%;max-width:none;overflow:hidden}
  h1,h2,h3,p{overflow-wrap:normal;word-break:normal}
  h1,h2{ text-wrap:balance }
  p{ text-wrap:pretty }

  /* Header + burger */
  .header{height:78px;padding:10px 20px;align-items:center}
  .logo{width:178px;height:54px}
  .logo img{max-height:54px}
  .menu-button{width:44px;height:44px}
  .mobile-nav{inset:78px 0 auto;padding:24px 22px}

  /* 01 — Hero: copy -> photo -> CTAs, no overlap */
  .hero{
    min-height:0;
    height:auto;
    padding:28px 24px 44px;
    display:flex;
    flex-direction:column;
    overflow:hidden;
  }
  .hero-copy{display:contents}
  .hero .kicker{order:1;font-size:10.5px;margin:0 0 22px}
  .hero h1{order:2;font-size:31px;line-height:1.16;letter-spacing:-.035em;margin:0 0 28px}
  .hero-copy>p{order:3;font-size:14px;line-height:1.55;margin:0 0 24px;max-width:340px}
  .hero-copy>p br{display:none}
  .hero-visual{
    order:4;
    position:relative;
    inset:auto;
    width:calc(100% + 48px);
    margin-left:-24px;
    height:330px;
    clip-path:polygon(20% 0,100% 0,100% 100%,0 100%);
    flex:none;
  }
  .hero-visual img{object-position:53% 48%}
  .hero-visual:after{background:linear-gradient(0deg,var(--paper) 2%,rgba(249,254,255,0) 54%)}
  .hero-actions{
    order:5;
    margin:24px 0 0;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:12px;
    width:100%;
  }
  .hero-actions .pill{height:46px;font-size:12px;padding:0 22px;white-space:nowrap;justify-content:flex-start;width:auto;min-width:0}
  .hero-actions .lime{min-width:0}
  .hero-actions .outline{min-width:0}
  .free-class{
    order:6;
    position:relative;
    inset:auto;
    margin:14px 0 0 22px;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:14px;
    font-size:11px;
    line-height:1.15;
    width:max-content;
    max-width:none;
    white-space:nowrap;
  }
  .free-class-text{transform:none;max-width:none;white-space:nowrap}
  .round-arrow{width:42px;height:42px;flex-basis:42px}

  /* Marquee */
  .marquee{height:62px}
  .marquee-track span{font-size:22px}

  /* 02 — Why: keep all content in normal flow */
  .why{
    min-height:0;
    height:auto;
    padding:44px 24px 0;
    display:flex;
    flex-direction:column;
    overflow:hidden;
  }
  .why-title{order:1}
  .why-title h2{font-size:30px;line-height:1.17;margin:24px 0 0}
  .why-copy{order:2;position:static;width:100%;margin:34px 0 0}
  .big-copy{font-size:15.5px;line-height:1.55;margin:0}
  .big-copy br{display:none}
  .metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:34px;width:100%;max-width:none}
  .metrics strong{font-size:44px;text-align:center}
  .metrics small{font-size:8px;line-height:1.25;text-align:center;white-space:nowrap}
  .thin-line{margin-top:30px}
  .note{font-size:13px;line-height:1.5;margin:23px 0 0}
  .note br{display:none}
  .why-photo{
    order:3;
    position:relative;
    inset:auto;
    width:calc(100% + 48px);
    height:270px;
    margin:30px 0 0 -24px;
    clip-path:polygon(0 0,86% 0,100% 100%,0 100%);
  }
  .why-photo img{object-position:center 43%}

  /* 03 — Trainers: title -> intro -> carousel -> main photo -> name -> card */
  .trainers{
    min-height:0;
    padding:44px 24px 54px;
    display:flex;
    flex-direction:column;
    gap:0;
  }
  .trainers-left,.trainers-right{display:contents}
  .trainers-left>.kicker{order:1}
  .trainers-left>h2{order:2;font-size:30px;line-height:1.17;margin:24px 0 28px}
  .trainers-intro{order:3;font-size:14px;line-height:1.55;margin:0 0 30px}
  .trainer-carousel-wrap{order:4;margin:0 0 32px;grid-template-columns:16px 1fr 16px;gap:11px}
  .trainer-carousel{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-height:0}
  .trainer-thumb img{height:154px;border-radius:22px}
  .trainer-thumb span{font-size:10px;line-height:1.25;margin-top:9px}
  .main-trainer-photo{order:5;width:100%;height:420px;max-width:none;border-radius:24px}
  .trainers-left>h3{order:6;font-size:23px;line-height:1.2;margin:18px 0 0}
  .trainer-card{order:7;margin:28px 0 0;padding:28px 25px 20px;min-height:0}
  .trainer-credential{font-size:10.5px}
  .trainer-text{font-size:16px;line-height:1.45}
  .trainer-text.collapsed{max-height:70px}
  .trainer-text.expanded{max-height:none;overflow:visible}
  .trainer-more{margin-top:12px}

  /* 04 — Directions */
  .directions{padding:44px 24px 50px}
  .directions-head h2{font-size:28px;line-height:1.18;margin-top:28px;letter-spacing:-.02em}
  .directions-head>p{font-size:13px;line-height:1.45;margin-top:24px}
  .feature-directions{margin-top:36px;gap:22px}
  .feature-card{height:300px}
  .feature-card>img{height:214px}
  .feature-card>span{top:214px;height:86px}
  .feature-card b{font-size:18px}
  .direction-grid{grid-template-columns:1fr;margin-top:46px}
  .direction-item{height:110px}

  /* 05 — Schedule: each day is one clean row */
  .schedule{padding:44px 24px 54px}
  .schedule-head{margin-top:30px}
  .schedule-head h2{font-size:30px;line-height:1.17}
  .schedule-list{margin-top:28px}
  .schedule-row{
    height:66px;
    grid-template-columns:28px 70px minmax(0,1fr) 91px;
    column-gap:11px;
    align-items:center;
  }
  .schedule-row i{font-size:9.5px}
  .schedule-row strong{font-size:19px;line-height:1;white-space:nowrap}
  .schedule-row>span{font-size:10.7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .schedule-row a{
    grid-column:auto;
    justify-self:end;
    margin:0;
    padding:6px 8px;
    font-size:8px;
    line-height:1;
    white-space:nowrap;
  }

  /* Prices */
  .prices{padding:44px 24px 54px}
  .prices-head h2{font-size:32px}

  /* 07 — FAQ: questions first, image afterwards in document flow */
  .faq{
    min-height:0;
    height:auto;
    padding:44px 24px 0;
    display:flex;
    flex-direction:column;
    overflow:hidden;
  }
  .faq-title{display:contents}
  .faq-title>.kicker{order:1}
  .faq-title>h2{order:2;font-size:30px;line-height:1.17;margin:24px 0 28px}
  .faq-list{order:3;display:grid;grid-template-columns:1fr;padding:0;width:100%}
  .faq-item{min-height:72px}
  .faq-q{min-height:72px;font-size:12px;line-height:1.35;grid-template-columns:1fr 28px;gap:12px}
  .faq-a{font-size:11.5px;line-height:1.55;padding-right:10px}
  .faq-item.open .faq-a{max-height:700px;padding-bottom:18px}
  .faq-photo{
    order:4;
    position:relative;
    inset:auto;
    width:calc(100% + 48px);
    height:270px;
    margin:28px 0 0 -24px;
    clip-path:polygon(0 0,86% 0,100% 100%,0 100%);
  }

  /* 08 — Signup: spacing and wrapping */
  .signup{padding:44px 24px 52px;gap:34px}
  .signup-copy h2{font-size:30px;line-height:1.17;margin:27px 0 26px;letter-spacing:-.02em}
  .signup-copy p{font-size:14px;line-height:1.55;margin:0;max-width:338px}
  .signup-copy p br{display:none}
  .signup-copy ul{margin-top:36px}
  .signup-copy li{
    font-size:14px;
    line-height:1.35;
    margin:15px 0;
    display:grid;
    grid-template-columns:28px 1fr;
    align-items:start;
    text-align:left;
  }
  .signup-copy li:before{margin-right:0}
  .signup-copy li:nth-child(3){white-space:nowrap;font-size:12.5px;letter-spacing:-.025em}
  .signup-form{max-width:none;height:auto;padding:30px 22px 28px}
  .signup-form h3{font-size:26px;line-height:1.2}
  .signup-form button{margin-top:32px}

  /* Footer */
  .footer{padding:36px 24px 0}
}

@media(max-width:380px){
  .hero h1{font-size:29px}
  .directions-head h2{font-size:26px}
  .schedule-row{grid-template-columns:24px 64px minmax(0,1fr) 84px;column-gap:9px}
  .schedule-row strong{font-size:17px}
  .schedule-row>span{font-size:9.8px}
  .schedule-row a{font-size:7.4px;padding:6px 6px}
  .signup-copy h2{font-size:28px}
  .signup-copy li:nth-child(3){font-size:11.7px}
}

