*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
    --bg:#f2f2ed;--white:#fff;--black:#111;--gray:#777;--light:#e2e2dc;
    --lime:#c8ff00;--lime2:#b0e600;
    --font:system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
}
html{scroll-behavior:smooth}
body{font-family:var(--font);background:var(--bg);color:var(--black);line-height:1.55;overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
ul{list-style:none}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
.lime-text{color:#8ab800}
.lime-text-w{color:var(--lime)}
.chip{display:inline-block;font-size:.75rem;font-weight:600;padding:8px 16px;border-radius:100px;border:1px solid var(--light);background:var(--white)}
.chip-lime{background:var(--lime);border-color:var(--lime)}

/* NAV */
#nav{position:fixed;top:16px;left:50%;transform:translateX(-50%);z-index:200;max-width:calc(100% - 24px)}
.nav-pill{display:flex;align-items:center;gap:6px;padding:6px 8px;border-radius:100px;
    background:linear-gradient(135deg,rgba(255,255,255,.5),rgba(255,255,255,.28) 50%,rgba(255,255,255,.38));
    backdrop-filter:blur(24px) saturate(1.4);-webkit-backdrop-filter:blur(24px) saturate(1.4);
    border:1px solid rgba(255,255,255,.6);
    box-shadow:0 2px 20px rgba(0,0,0,.06),inset 0 1px 0 rgba(255,255,255,.75)}
.nav-logo{font-weight:900;font-size:1rem;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--black);color:var(--lime);border-radius:50%;flex-shrink:0}
.nav-links{display:flex;gap:2px;padding:0 4px;overflow:hidden}
.nav-links a{font-size:.8rem;font-weight:500;color:rgba(0,0,0,.5);padding:8px 12px;border-radius:100px;transition:.2s;white-space:nowrap}
.nav-links a:hover{background:rgba(0,0,0,.06);color:var(--black)}
@media(max-width:860px){.nav-links{display:none}}
.nav-cta{font-size:.78rem;font-weight:700;padding:9px 20px;background:var(--lime);color:var(--black);border-radius:100px;transition:.2s;flex-shrink:0}
.nav-cta:hover{background:var(--lime2)}

/* HERO */
.hero{position:relative;min-height:100vh;display:grid;grid-template-columns:1fr 1.2fr;align-items:center;gap:32px;padding:80px 40px 40px;max-width:1300px;margin:0 auto;overflow:hidden}
.hero-watermark{position:absolute;top:50%;left:50%;transform:translate(-50%,-48%);font-size:clamp(14rem,22vw,24rem);font-weight:900;letter-spacing:-.06em;color:var(--light);opacity:.45;pointer-events:none;user-select:none;line-height:.85;white-space:nowrap;z-index:0}
.hero-grid-bg{position:absolute;inset:0;background-image:linear-gradient(var(--light) 1px,transparent 1px),linear-gradient(90deg,var(--light) 1px,transparent 1px);background-size:4rem 4rem;opacity:.35;z-index:0}
.hero-left{position:relative;z-index:2}
.hero-badge{display:inline-block;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;padding:8px 18px;border-radius:100px;border:1px solid var(--light);color:var(--gray);background:var(--white);margin-bottom:20px}
.h1-small{font-size:clamp(1.1rem,2vw,1.5rem);font-weight:500;color:var(--gray)}
.h1-big{font-size:clamp(4rem,8vw,7.5rem);font-weight:900;letter-spacing:-.07em;line-height:.9;display:block}
.h1-dot{color:var(--lime)}
.hero-desc{font-size:1.05rem;color:var(--gray);margin:24px 0 28px;line-height:1.65;max-width:420px}
.hero-btns{display:flex;gap:10px;flex-wrap:wrap}
.btn-lime{display:inline-flex;align-items:center;gap:8px;padding:16px 38px;background:var(--lime);color:var(--black);font-weight:700;font-size:.9rem;border-radius:100px;transition:.2s}
.btn-lime:hover{background:var(--lime2);transform:translateY(-1px)}
.btn-outline-dark{padding:16px 32px;color:var(--black);font-weight:600;font-size:.9rem;border-radius:100px;border:1px solid var(--light);transition:.2s;display:inline-flex}
.btn-outline-dark:hover{border-color:var(--black)}
.hero-counter{display:flex;align-items:center;gap:10px;margin-top:28px;font-size:.85rem;color:var(--gray)}
.counter-dot{width:8px;height:8px;background:var(--lime);border-radius:50%;animation:blink 2s infinite;flex-shrink:0}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.3}}
.hero-counter strong{color:var(--black)}
.hero-right{position:relative;z-index:2;height:540px}
.hero-cards{position:relative;width:100%;height:100%}
.hc{position:absolute;border-radius:16px;overflow:hidden;box-shadow:0 8px 32px rgba(0,0,0,.1);transition:transform .4s cubic-bezier(.25,.46,.45,.94),box-shadow .4s}
.hc img{width:100%;height:100%;object-fit:cover}
.hc:hover{transform:scale(1.06)!important;box-shadow:0 16px 48px rgba(0,0,0,.18)!important;z-index:10}
.hc1{width:240px;height:310px;top:5%;left:0%;transform:rotate(-6deg)}
.hc2{width:200px;height:260px;top:0%;left:42%;transform:rotate(4deg)}
.hc3{width:220px;height:280px;top:28%;left:52%;transform:rotate(-3deg)}
.hc4{width:180px;height:230px;top:52%;left:5%;transform:rotate(5deg)}
.hc5{width:190px;height:250px;top:48%;left:34%;transform:rotate(-7deg)}

/* SCROLL ANIMATION */
.anim{height:400vh;position:relative}
.anim-sticky{position:sticky;top:0;height:100vh;display:flex;align-items:center;background:var(--bg);overflow:hidden}
.anim-inner{display:grid;grid-template-columns:.48fr .52fr;gap:80px;align-items:center;max-width:1200px;margin:0 auto;padding:0 40px;width:100%}
.anim-canvas-col{display:flex;justify-content:center;gap:12px}
#fc,#fc2{width:100%;max-width:280px;aspect-ratio:9/16;background:transparent}
.anim-text-col{position:relative;min-height:400px;display:flex;flex-direction:column;justify-content:center}
.anim-quote{position:absolute;top:50%;left:0;right:0;transform:translateY(80px);opacity:0;transition:opacity .5s cubic-bezier(.16,1,.3,1),transform .5s cubic-bezier(.16,1,.3,1);pointer-events:none}
.anim-quote.active{opacity:1;transform:translateY(-50%);pointer-events:auto}
.anim-quote h3{font-size:clamp(2rem,3.5vw,3rem);font-weight:700;line-height:1.1;letter-spacing:-.03em;margin-bottom:16px}
.anim-quote p{font-size:1.05rem;color:var(--gray);line-height:1.7;max-width:440px;margin-bottom:24px}
.aq-link{font-size:.9rem;font-weight:700;color:var(--black);display:inline-flex;align-items:center;gap:6px;padding:14px 32px;background:var(--lime);border-radius:100px;transition:.2s}
.aq-link:hover{background:var(--lime2);transform:translateY(-1px)}

.anim-bottom{position:absolute;bottom:24px;left:40px;right:40px;display:flex;align-items:center;gap:16px}
.anim-bottom .anim-prog{flex:1}
.anim-prog{height:3px;background:var(--light);border-radius:2px;overflow:hidden}
.anim-bar{height:100%;width:0%;background:var(--lime);transition:width .05s linear}
.anim-skip{background:none;border:none;font-family:var(--font);font-size:.76rem;color:var(--gray);cursor:pointer;padding:8px 0;transition:color .2s;white-space:nowrap;flex-shrink:0}
.anim-skip:hover{color:var(--black)}

/* SERVICES */
.services{padding:80px 0;background:var(--black);border-radius:28px;margin:0 20px}
.srv-header{margin-bottom:36px}
.srv-header h2{font-size:clamp(1.7rem,3vw,2.5rem);font-weight:700;line-height:1.15;letter-spacing:-.02em;color:var(--white)}
.srv-header p{color:rgba(255,255,255,.5);margin-top:8px;font-size:.95rem}
.srv-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:240px 240px;gap:12px}
.srv-a{grid-column:1;grid-row:1/3}.srv-b{grid-column:2;grid-row:1}.srv-c{grid-column:3;grid-row:1}
.srv-d{grid-column:4;grid-row:1/3}.srv-e{grid-column:2;grid-row:2}.srv-f{grid-column:3;grid-row:2}
.srv-card{position:relative;border-radius:16px;overflow:hidden;cursor:pointer}
.srv-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.srv-card:hover img{transform:scale(1.06)}
.srv-overlay{position:absolute;inset:0;background:linear-gradient(transparent 40%,rgba(0,0,0,.8));display:flex;flex-direction:column;justify-content:flex-end;padding:20px;transition:background .3s}
.srv-card:hover .srv-overlay{background:linear-gradient(transparent 20%,rgba(0,0,0,.85))}
.srv-overlay h3{font-size:1rem;font-weight:700;color:var(--white);margin-bottom:4px}
.srv-overlay p{font-size:.78rem;color:rgba(255,255,255,.7);line-height:1.5}
.srv-stats{display:flex;justify-content:space-between;margin-top:36px;padding-top:28px;border-top:1px solid rgba(255,255,255,.1)}
.srv-stat{text-align:center}
.srv-stat strong{display:block;font-size:1.8rem;font-weight:800;color:var(--lime);letter-spacing:-.02em}
.srv-stat span{font-size:.78rem;color:rgba(255,255,255,.4)}

/* CLASSES */
.classes{padding:80px 0}
.cls-top{margin-bottom:36px}
.cls-intro h2{font-size:clamp(1.7rem,3vw,2.5rem);font-weight:700;line-height:1.15;letter-spacing:-.02em;margin-bottom:8px}
.cls-intro p{color:var(--gray);max-width:440px;line-height:1.6;font-size:.92rem}
.cls-grid{display:grid;grid-template-columns:1.3fr 1fr;grid-auto-rows:auto;gap:14px}
.cls-big{grid-row:span 2}
.cls-item{position:relative;border-radius:18px;overflow:hidden;min-height:180px;display:flex;flex-direction:column}
.cls-item>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.cls-item:hover>img{transform:scale(1.04)}
.cls-content{position:relative;z-index:1;padding:24px;display:flex;flex-direction:column;justify-content:flex-end;flex:1;background:linear-gradient(transparent 20%,rgba(0,0,0,.8))}
.cls-content h3{font-size:1.1rem;font-weight:700;color:var(--white);margin-bottom:6px}
.cls-content p{font-size:.84rem;color:rgba(255,255,255,.7);line-height:1.55;margin-bottom:10px}
.cls-content-dark{background:var(--black);border-radius:18px}
.cls-cta-inner{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;height:100%;padding:8px}
.cls-cta-inner h3{color:var(--white);font-size:1.15rem;margin-bottom:8px}
.cls-cta-inner p{color:rgba(255,255,255,.6);margin-bottom:18px}
.cls-tags{display:flex;gap:8px;margin-bottom:10px}
.cls-tag{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:5px 12px;border-radius:100px;background:var(--lime);color:var(--black)}
.cls-meta{display:flex;gap:12px}
.cls-meta span{font-size:.72rem;color:rgba(255,255,255,.5);font-weight:500}

/* SCHEDULE */
.schedule{margin-top:48px}
.schedule h3{font-size:1.2rem;font-weight:700;margin-bottom:20px}
.sch-hint{display:none;font-size:.72rem;color:var(--gray);text-align:center;margin-bottom:10px}
.schedule-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:8px}
.schedule-table{width:100%;border-collapse:separate;border-spacing:6px 8px;min-width:660px}
.schedule-table th{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--gray);padding:10px 6px;text-align:center}
.schedule-table td{padding:6px 4px;text-align:center;vertical-align:middle;height:48px;background:var(--white);border-radius:10px}
.schedule-table thead th:first-child,.schedule-table td.sch-hour{background:transparent}
.sch-hour{font-size:.82rem;font-weight:700;color:var(--black);text-align:right!important;padding-right:14px!important;white-space:nowrap;width:64px}
.sch-ev{display:inline-block;font-size:.72rem;font-weight:700;padding:7px 16px;border-radius:100px;white-space:nowrap;transition:transform .2s;cursor:pointer}
.sch-ev:hover{transform:scale(1.08)}
.sch-cf{background:var(--lime);color:var(--black)}
.sch-box{background:var(--black);color:var(--white)}
.sch-yoga{background:#e8d5f5;color:#6b3fa0}
.sch-mob{background:#d4edda;color:#2d6a4f}

/* SCHEDULE TOOLTIP */
.sch-tooltip{position:fixed;z-index:300;pointer-events:none;padding:16px 20px;border-radius:16px;min-width:200px;
    background:linear-gradient(135deg,rgba(255,255,255,.55),rgba(255,255,255,.3));
    backdrop-filter:blur(24px) saturate(1.4);-webkit-backdrop-filter:blur(24px) saturate(1.4);
    border:1px solid rgba(255,255,255,.6);box-shadow:0 8px 32px rgba(0,0,0,.1),inset 0 1px 0 rgba(255,255,255,.7);
    opacity:0;transform:translateY(6px);transition:opacity .2s,transform .2s}
.sch-tooltip.vis{opacity:1;transform:translateY(0)}
.sch-tooltip-title{font-size:.85rem;font-weight:800;margin-bottom:10px;display:flex;align-items:center;gap:8px}
.sch-tooltip-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.sch-tooltip-row{display:flex;justify-content:space-between;gap:16px;padding:5px 0;border-bottom:1px solid rgba(0,0,0,.06);font-size:.78rem}
.sch-tooltip-row:last-child{border:none}
.sch-tooltip-row span:first-child{color:var(--gray);font-weight:500}
.sch-tooltip-row span:last-child{font-weight:700;color:var(--black);text-align:right}

/* TRAINERS */
.trainers{padding:80px 0;overflow:hidden}
.tr-header{text-align:center;max-width:500px;margin:0 auto 48px}
.tr-header h2{font-size:clamp(1.7rem,3vw,2.5rem);font-weight:700;line-height:1.15;letter-spacing:-.02em;margin-bottom:10px}
.tr-header p{color:var(--gray);line-height:1.6;font-size:.92rem}
.tr-nav{display:none;justify-content:center;gap:10px;margin-top:20px}
.tr-nav.show{display:flex}
.tr-arr{width:44px;height:44px;border-radius:50%;border:1px solid var(--light);background:var(--white);color:var(--black);font-size:1rem;cursor:pointer;transition:.2s;display:flex;align-items:center;justify-content:center;font-family:var(--font)}
.tr-arr:hover{background:var(--lime);border-color:var(--lime)}
.tr-scroll{overflow-x:auto;padding:0 calc((100vw - 6*240px - 5*24px)/2) 20px;-ms-overflow-style:none;scrollbar-width:none;cursor:grab;-webkit-overflow-scrolling:touch}
@media(max-width:1600px){.tr-scroll{padding:0 40px 20px}}
.tr-scroll::-webkit-scrollbar{display:none}
.tr-scroll:active{cursor:grabbing}
.tr-track{display:flex;gap:24px;width:max-content}
.tr-card{flex-shrink:0;width:240px;transition:transform .35s}
.tr-card:hover{transform:translateY(-6px)}
.tr-card img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:top center;border-radius:18px;background-color:var(--bg);transition:transform .5s}
.tr-card:hover img{transform:scale(1.03)}
.tr-card h3{font-size:.95rem;font-weight:700;margin-top:14px}
.tr-card p{font-size:.78rem;color:var(--gray);text-transform:uppercase;letter-spacing:.06em}

/* REVIEWS */
.reviews{padding:80px 0;overflow:hidden}
.reviews>div>h2{font-size:clamp(1.7rem,3vw,2.5rem);font-weight:700;line-height:1.15;letter-spacing:-.02em;margin-bottom:32px}
.rev-scroll{overflow:hidden;padding:4px 0}
.rev-track{display:flex;gap:16px;width:max-content;animation:rev-slide 35s linear infinite}
.rev-track:hover{animation-play-state:paused}
@keyframes rev-slide{to{transform:translateX(-50%)}}
.rev-card{width:340px;flex-shrink:0;padding:28px;border-radius:18px;border:1px solid var(--light);background:var(--white)}
.rev-stars{color:var(--lime2);font-size:.85rem;margin-bottom:12px;letter-spacing:2px}
.rev-card>p{font-size:.88rem;color:var(--gray);line-height:1.6;font-style:italic;margin-bottom:16px}
.rev-author strong{display:block;font-size:.82rem}
.rev-author span{font-size:.7rem;color:var(--gray)}

/* PRICING */
.pricing{padding:80px 0;background:var(--black);border-radius:28px;margin:0 20px}
.pricing>div>h2{font-size:clamp(1.7rem,3vw,2.5rem);font-weight:700;line-height:1.15;letter-spacing:-.02em;margin-bottom:40px;color:var(--white)}
.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.plan{border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:36px;display:flex;flex-direction:column;position:relative;transition:transform .3s}
.plan:hover{transform:translateY(-4px)}
.plan-feat{border-color:var(--lime);background:linear-gradient(180deg,rgba(200,255,0,.07),transparent 50%)}
.plan-tag{position:absolute;top:-11px;left:50%;transform:translateX(-50%);padding:5px 18px;background:var(--lime);border-radius:100px;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--black);white-space:nowrap}
.plan h3{font-size:1.1rem;font-weight:700;color:var(--white);margin-bottom:6px}
.pp{font-size:2.6rem;font-weight:800;color:var(--white);letter-spacing:-.03em;margin-bottom:24px;line-height:1.1}
.pp span{font-size:.82rem;font-weight:500;color:rgba(255,255,255,.4)}
.plan ul{flex:1;margin-bottom:24px}
.plan li{padding:8px 0;font-size:.84rem;color:rgba(255,255,255,.5);border-bottom:1px solid rgba(255,255,255,.07)}
.pbtn{display:block;text-align:center;padding:14px;border:1px solid rgba(255,255,255,.15);border-radius:100px;font-weight:600;font-size:.86rem;transition:.2s;background:transparent;color:var(--white);cursor:pointer;font-family:var(--font)}
.pbtn:hover{border-color:rgba(255,255,255,.35)}
.pbtn-lime{background:var(--lime);border-color:var(--lime);color:var(--black)}
.pbtn-lime:hover{background:var(--lime2);border-color:var(--lime2)}

/* CONTACT */
.contact{padding:80px 0}
.contact-hero{text-align:center;max-width:560px;margin:0 auto 48px}
.contact-hero h2{font-size:clamp(1.7rem,3vw,2.5rem);font-weight:700;line-height:1.15;letter-spacing:-.02em;margin-bottom:12px}
.contact-hero p{color:var(--gray);line-height:1.65;margin-bottom:24px}
.contact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:32px}
.cg-card{background:var(--white);border:1px solid var(--light);border-radius:16px;padding:24px}
.cg-card strong{display:block;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--lime2);margin-bottom:8px}
.cg-card span{font-size:.88rem;line-height:1.6;color:var(--black)}
.cg-socials{display:flex;gap:10px}
.social-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:var(--bg);border:1px solid var(--light);color:var(--black);transition:.2s}
.social-icon:hover{background:var(--black);color:var(--lime);border-color:var(--black)}
.contact-map{border-radius:20px;overflow:hidden;height:320px;background:var(--light)}
.contact-map iframe{width:100%;height:100%}

/* FOOTER */
footer{border-top:1px solid var(--light);padding:20px 0}
.foot{display:flex;justify-content:space-between;align-items:center}
.foot span:last-child{font-size:.76rem;color:var(--gray)}

/* ============ TABLET ============ */
@media(max-width:1024px){
    .nav-links{display:none}
    .hero{grid-template-columns:1fr;text-align:center;padding:80px 20px 20px;gap:10px;min-height:auto}
    .h1-big{font-size:clamp(3rem,10vw,5rem)}
    .hero-watermark{font-size:clamp(6rem,16vw,14rem)}
    .hero-desc{margin-left:auto;margin-right:auto;max-width:460px}
    .hero-counter{justify-content:center}
    .hero-btns{justify-content:center}
    .hero-right{height:240px;margin:0 auto;width:100%;max-width:600px}
    .hc1{width:130px;height:168px;left:2%;top:5%;transform:rotate(-6deg)}
    .hc2{width:120px;height:155px;left:21%;top:0%;transform:rotate(3deg)}
    .hc3{width:125px;height:162px;left:42%;top:8%;transform:rotate(-3deg)}
    .hc4{width:115px;height:149px;left:63%;top:2%;transform:rotate(5deg)}
    .hc5{width:110px;height:143px;left:80%;top:10%;transform:rotate(-4deg)}
    .anim-sticky{padding:0}
    .anim-inner{display:flex;flex-direction:column;height:100%;padding:20px 20px 50px;gap:0;justify-content:center}
    .anim-canvas-col{order:1;flex-shrink:0;gap:8px;width:100%;justify-content:center}
    #fc,#fc2{max-width:30%;width:30%;aspect-ratio:9/16;height:auto}
    .anim-text-col{order:2;flex:0 0 auto;min-height:0;display:flex;align-items:flex-start;justify-content:center;position:relative;width:100%;height:220px;margin-top:12px}
    .anim-quote{position:absolute;top:0;left:0;right:0;transform:translateY(30px)}
    .anim-quote.active{transform:translateY(0)}
    .anim-quote h3{font-size:clamp(1.6rem,4vw,2.2rem);margin-bottom:10px}
    .anim-quote p{font-size:1rem}
    .anim-bottom{left:20px;right:20px;bottom:14px}
    .srv-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto;gap:10px}
    .srv-a,.srv-b,.srv-c,.srv-d,.srv-e,.srv-f{grid-column:auto;grid-row:auto}
    .srv-card{min-height:160px;height:160px}
    .srv-stats{flex-wrap:wrap;gap:20px;justify-content:center}
    .cls-grid{grid-template-columns:1fr}.cls-big{grid-row:auto}
    .sch-hint{display:block}
    .tr-scroll{padding:0 20px 16px}
    .tr-track{gap:16px}
    .tr-card{width:200px}
    /* tr-nav visibility handled by JS */
    .pricing-grid{grid-template-columns:1fr;max-width:380px;margin:0 auto}
    .pricing{margin:0 12px;border-radius:20px}
    .contact-grid{grid-template-columns:1fr 1fr}
    .services{margin:0 12px;border-radius:20px}
}

/* ============ MOBILE ============ */
@media(max-width:640px){
    .nav-pill{padding:5px 6px}.nav-cta{padding:8px 14px;font-size:.72rem}

    /* Hero mobile rebuild */
    .hero{padding:80px 16px 20px;gap:12px;min-height:auto}
    .hero-badge{font-size:.65rem;padding:6px 14px;margin-bottom:10px}
    .h1-small{font-size:.9rem}
    .h1-big{font-size:clamp(2.6rem,14vw,4rem)}
    .hero-watermark{font-size:clamp(4rem,20vw,7rem);opacity:.3}
    .hero-desc{font-size:.88rem;margin:12px 0 16px;max-width:340px}
    .hero-btns{flex-direction:row;justify-content:center;gap:8px}
    .btn-lime{padding:12px 24px;font-size:.85rem}
    .btn-outline-dark{padding:12px 20px;font-size:.85rem}
    .hero-counter{font-size:.78rem;margin-top:14px}
    .hero-right{height:220px;margin:0 auto;width:100%;max-width:320px;position:relative}
    .hero-cards{position:relative;width:100%;height:100%}
    .hc{border-radius:12px}
    .hc1{width:105px;height:136px;left:0%;top:5%;transform:rotate(-5deg)}
    .hc2{width:95px;height:123px;left:24%;top:0%;transform:rotate(3deg)}
    .hc3{width:100px;height:130px;left:50%;top:8%;transform:rotate(-2deg)}
    .hc4{width:88px;height:114px;left:74%;top:3%;transform:rotate(5deg)}
    .hc5{display:none}

    /* Animation mobile */
    .anim-sticky{padding:0}
    .anim-inner{display:flex;flex-direction:column;height:100%;padding:20px 20px 50px;gap:0;justify-content:center}
    .anim-canvas-col{order:1;flex-shrink:0;gap:6px;width:100%;justify-content:center}
    #fc,#fc2{max-width:42%;width:42%;aspect-ratio:9/16;height:auto}
    .anim-text-col{order:2;flex:0 0 auto;min-height:0;display:flex;align-items:flex-start;justify-content:center;position:relative;width:100%;height:200px;margin-top:8px}
    .anim-quote{position:absolute;top:0;left:0;right:0;transform:translateY(30px)}
    .anim-quote.active{transform:translateY(0)}
    .anim-quote h3{font-size:clamp(1.3rem,5vw,1.7rem);margin-bottom:8px}
    .anim-quote p{font-size:clamp(.85rem,2.8vw,.95rem);margin-bottom:10px;line-height:1.5}
    .aq-link{padding:10px 20px;font-size:.8rem}
    .anim-bottom{left:16px;right:16px;bottom:10px}

    /* Services mobile — equal sizes */
    .srv-grid{grid-template-columns:1fr 1fr!important;gap:8px}
    .srv-card{min-height:140px;height:140px}

    /* Classes */
    .cls-item{min-height:160px}

    /* Contact */
    .contact-grid{grid-template-columns:1fr}
    .contact-map{height:240px}

    /* Reviews */
    .rev-card{width:280px}

    /* Trainers */
    .tr-card{width:180px}
    .tr-scroll{padding:0 16px 16px}
}
