/* Exact logo colors first. Background/surface/muted are shades of its dark hue. */
:root{--primary:#FF3131;--secondary:#23363A;--accent:#FF3131;--bg:#0B1112;--surface:#142023;--text:#FFFFFF;--muted:#B1BABD;--line:rgba(177,186,189,.18);--display:'Barlow Condensed','Arial Narrow',Impact,sans-serif;--body:'DM Sans',Arial,sans-serif;--radius:4px;--gutter:clamp(1rem,4.2vw,5rem);--section-space:clamp(4rem,7.5vw,8rem)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--body);font-size:1rem;line-height:1.65;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}button{color:inherit}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--display);line-height:1;letter-spacing:-.015em}h2{font-size:clamp(2.8rem,5.3vw,5.3rem);font-weight:700}h3{font-size:1.65rem;font-weight:600}::selection{background:var(--primary);color:var(--bg)}:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.container{width:min(100% - var(--gutter)*2,1440px);margin-inline:auto}.section{padding-block:var(--section-space)}.icon{display:inline-block;width:24px;height:24px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}.icon-definitions{position:absolute;width:0;height:0;overflow:hidden}.eyebrow{font-size:.68rem;font-weight:700;letter-spacing:.18em;line-height:1.7;display:flex;align-items:center;gap:10px}.section-label{color:var(--muted);margin-bottom:22px}.red-text{color:var(--primary)}.outline-text{color:transparent;-webkit-text-stroke:1px var(--muted)}.muted-heading{color:var(--muted)}.button{min-height:54px;display:inline-flex;align-items:center;justify-content:center;gap:28px;border:1px solid var(--primary);background:var(--primary);color:var(--bg);padding:14px 24px;font-weight:700;font-size:.85rem;border-radius:var(--radius);transition:transform .25s,box-shadow .25s,background .25s}.button:hover{transform:translateY(-3px);box-shadow:0 10px 30px rgba(255,49,49,.18)}.button:active{transform:translateY(0)}.button .icon{width:21px;height:21px}.button-small{min-height:46px;font-size:.76rem;padding:11px 18px;gap:18px}.button-outline{color:var(--text);background:transparent;border-color:var(--line)}.button-outline:hover{border-color:var(--primary);background:rgba(255,49,49,.05)}.text-link{display:inline-flex;align-items:center;gap:20px;min-height:44px;font-size:.85rem;font-weight:600}.text-link:hover{color:var(--accent)}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:1rem;top:1rem;background:var(--text);color:var(--bg);padding:10px;z-index:100;transform:translateY(-150%)}.skip-link:focus{transform:none}
/* Navigation */
.navbar{position:fixed;inset:0 0 auto;z-index:30;border-bottom:1px solid transparent;transition:background .3s,border-color .3s;padding-top:env(safe-area-inset-top)}.navbar.scrolled,.navbar:has(.menu-toggle[aria-expanded=true]){background:rgba(11,17,18,.94);backdrop-filter:blur(16px);border-bottom-color:var(--line)}.nav-inner{height:90px;display:flex;align-items:center;justify-content:space-between;gap:25px}.logo-panel{display:flex;align-items:center;justify-content:center;width:97px;height:65px;padding:4px 8px;background:#fff;border-radius:2px}.logo-panel img{width:69px;max-height:100%;object-fit:contain}.desktop-nav{display:flex;align-items:center;gap:clamp(18px,2.4vw,38px)}.desktop-nav a{display:flex;align-items:center;min-height:44px;color:var(--muted);font-size:.8rem;transition:color .2s}.desktop-nav a:hover{color:var(--text)}.menu-toggle{display:none;width:46px;height:46px;border:1px solid var(--line);background:transparent;align-items:center;justify-content:center;flex-direction:column;gap:7px}.menu-toggle span{display:block;width:20px;height:1px;background:var(--text);transition:transform .3s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.mobile-nav{display:none}
/* Hero */
.hero{position:relative;min-height:100dvh;padding-top:calc(115px + env(safe-area-inset-top));display:flex;flex-direction:column;justify-content:center;overflow:hidden;background:radial-gradient(ellipse at 77% 48%,rgba(255,49,49,.075),transparent 50%),var(--bg)}.hero-grid{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;flex:1;gap:18px;padding-block:30px}.hero-copy{position:relative;z-index:2;animation:heroEnter .9s ease both}.hero-copy .eyebrow{color:var(--muted);margin-bottom:25px}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--primary);box-shadow:0 0 14px rgba(255,49,49,.4)}.eyebrow-divider{color:var(--primary);margin-inline:3px}h1{font-size:clamp(3.6rem,6.9vw,7.1rem);font-weight:700;line-height:.94;letter-spacing:-.012em}.phone-break{display:none}.hero-subtext{max-width:380px;color:var(--muted);font-size:.95rem;line-height:1.75;margin-top:28px}.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}.hero-note{display:flex;gap:12px;align-items:center;color:var(--muted);margin-top:30px;font-size:.6rem;letter-spacing:.14em}.mini-lines{display:flex;align-items:flex-end;gap:3px;height:15px}.mini-lines i{width:3px;background:var(--muted);height:8px}.mini-lines i:nth-child(2){height:12px}.mini-lines i:nth-child(3){height:15px}.mini-lines i:nth-child(4){height:10px}.hero-art{position:relative;width:100%;aspect-ratio:1/1;min-width:0;perspective:1000px;animation:heroEnter 1.2s ease both}.art-grid{position:absolute;inset:12% 0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:62px 62px;opacity:.2;mask-image:radial-gradient(ellipse,#000,transparent 70%)}.orbit{position:absolute;inset:13%;border:1px solid rgba(255,49,49,.2);border-radius:50%;transform:rotateX(48deg) rotateZ(-30deg)}.orbit-two{inset:4%;transform:rotateY(50deg) rotateZ(25deg);border-color:var(--line)}.hero-art::after{content:'';position:absolute;inset:22%;background:var(--primary);filter:blur(100px);opacity:.09;z-index:0;pointer-events:none}.dumbbell-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:1;animation:float 7s ease-in-out infinite;filter:drop-shadow(0 35px 30px rgba(0,0,0,.45))}#hero-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:2;opacity:0;transition:opacity .8s}.hero-art.webgl-ready #hero-canvas{opacity:1}.hero-art.webgl-ready .dumbbell-fallback{opacity:0}.art-label{position:absolute;font-size:.58rem;letter-spacing:.16em;line-height:1.8;color:var(--muted);z-index:3}.art-label-top{top:2%;right:3%}.art-label-top b{color:var(--text);font-weight:500}.art-label-bottom{bottom:1%;left:9%}.art-cross{position:absolute;top:24%;left:2%;color:var(--primary);font-size:2rem;font-weight:400}.hero-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-block:24px;font-size:.58rem;letter-spacing:.16em;color:var(--muted)}.hero-bottom a{display:flex;gap:22px;min-height:44px;align-items:center}.hero-bottom a span{font-size:1.2rem;color:var(--text)}.brand-strip{overflow:hidden;border-block:1px solid var(--line);background:var(--primary);color:var(--bg);padding:18px 0}.brand-strip>div{white-space:nowrap;text-align:center;font-family:var(--display);font-size:1.4rem;letter-spacing:.08em;font-weight:600}.brand-strip span{margin-inline:35px}
/* About + cards */
.about-top{display:grid;grid-template-columns:1fr .8fr;gap:clamp(30px,6vw,110px)}.about-copy{padding-top:38px;color:var(--muted);font-size:.91rem}.about-copy p+p{margin-top:18px}.about-copy .text-link{color:var(--text);margin-top:18px}.achievements{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line);margin-top:55px;background:linear-gradient(120deg,rgba(35,54,58,.25),transparent);backdrop-filter:blur(8px)}.achievement{padding:24px;display:flex;flex-direction:column;align-items:flex-start;border-right:1px solid var(--line)}.achievement:last-child{border:0}.achievement>.icon{color:var(--accent);width:24px;margin-bottom:20px}.achievement strong{font-family:var(--display);font-size:clamp(2rem,3vw,3rem);font-weight:600;line-height:1.1;white-space:nowrap}.achievement strong small{font-size:1.5rem;color:var(--muted)}.achievement>span{font-size:.74rem;color:var(--muted);margin-top:9px}.achievement .claim-note{font-size:.62rem;margin-top:4px}.rating-pending{color:var(--muted);font-size:.7rem;margin-top:20px}.section-top{display:flex;justify-content:space-between;gap:32px;align-items:flex-end;margin-bottom:42px}.section-top>p{color:var(--muted);font-size:.84rem;line-height:1.8;max-width:350px;padding-bottom:6px}.branches-section{background:linear-gradient(180deg,rgba(35,54,58,.18),rgba(35,54,58,.05));border-block:1px solid var(--line)}.branches-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.branch-card{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:border-color .3s,transform .3s}.branch-card:hover{border-color:rgba(255,49,49,.45);transform:translateY(-4px)}.branch-info{padding:30px}.branch-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.branch-index{font-size:.62rem;letter-spacing:.14em;color:var(--primary)}.branch-card-top>.icon{color:var(--muted)}.branch-info h3{font-size:2.6rem}.branch-name{font-size:.72rem;color:var(--muted);margin-top:5px}.branch-details{margin-block:24px;display:grid;gap:16px;font-size:.8rem;color:var(--muted)}.branch-detail{display:flex;gap:14px;align-items:flex-start}.branch-detail>.icon{width:18px;height:18px;margin-top:3px;color:var(--accent)}.branch-detail span{max-width:360px}.branch-detail a:hover{color:var(--text)}.placeholder-text{font-size:.69rem}.branch-info .button{width:100%;min-height:47px;justify-content:space-between}.map-wrap{position:relative;border-top:1px solid var(--line);background:var(--surface);aspect-ratio:16/8}.map-wrap iframe{display:block;width:100%;height:100%;border:0}.map-label{font-size:.62rem;color:var(--muted);padding:8px 30px;background:var(--bg)}.program-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.program-card{position:relative;border:1px solid var(--line);padding:30px;min-width:0;transition:background .3s,border-color .3s,transform .3s}.program-card:hover{background:var(--surface);border-color:rgba(255,49,49,.35);transform:translateY(-4px)}.program-card>.icon{width:35px;height:35px;color:var(--accent);margin-bottom:38px}.card-number{position:absolute;right:25px;top:24px;font-size:.66rem;color:var(--muted);letter-spacing:.14em}.program-card h3{font-size:1.65rem;margin-bottom:16px}.program-card p{color:var(--muted);font-size:.8rem;line-height:1.85;min-height:70px}.program-card a{display:flex;min-height:44px;margin-top:18px;justify-content:space-between;align-items:center;font-size:.75rem;font-weight:600}.program-card a .icon{width:18px}.supplements{position:relative;display:flex;align-items:center;gap:30px;padding:32px 38px;border:1px solid rgba(255,49,49,.3);background:linear-gradient(115deg,rgba(255,49,49,.08),var(--bg));overflow:hidden}.supplement-mark{font-family:var(--display);font-size:6rem;line-height:.9;color:var(--primary);font-weight:500}.supplements .eyebrow{color:var(--muted);margin-bottom:10px}.supplements h2{font-size:clamp(1.9rem,3vw,2.7rem)}.supplements p:last-child{color:var(--muted);font-size:.85rem;margin-top:8px}.supplements .text-link{margin-left:auto;white-space:nowrap}.franchise-panel{display:grid;grid-template-columns:1.2fr 1fr;padding:clamp(30px,5vw,70px);gap:20px;border:1px solid var(--line);background:radial-gradient(ellipse at 80% 50%,rgba(255,49,49,.12),transparent 60%),var(--surface);overflow:hidden}.franchise-panel .eyebrow{color:var(--muted);margin-bottom:24px}.franchise-panel h2{font-size:clamp(3rem,5.5vw,5.5rem)}.franchise-panel p:not(.eyebrow){max-width:420px;margin-top:24px;font-size:.85rem;color:var(--muted)}.franchise-panel .button{margin-top:30px}.franchise-art{position:relative;display:flex;align-items:center;justify-content:center}.franchise-art>span{font-family:var(--display);font-size:clamp(15rem,28vw,27rem);font-weight:800;line-height:.8;color:transparent;-webkit-text-stroke:1px rgba(255,49,49,.4);transform:rotate(-8deg)}.franchise-art::before,.franchise-art::after{content:'';position:absolute;width:80%;aspect-ratio:1;border:1px solid var(--line);transform:rotate(15deg)}.franchise-art::after{transform:rotate(-15deg);width:70%}.franchise-coordinate{position:absolute;bottom:0;right:0;font-size:.58rem;color:var(--muted);letter-spacing:.16em}.trainer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.trainer-photo{aspect-ratio:6/7;position:relative;background:var(--surface);overflow:hidden}.trainer-photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.trainer-card:hover img{transform:scale(1.035)}.trainer-photo>span{position:absolute;bottom:16px;left:18px;font-size:.55rem;letter-spacing:.14em;color:var(--muted)}.trainer-caption{padding:22px 0;border-bottom:1px solid var(--line)}.trainer-caption h3{font-size:1.6rem;margin-bottom:6px}.trainer-caption>span{font-size:.65rem;color:var(--muted)}
/* Reviews: native horizontal scrolling provides touch swipe. */
.reviews-section{background:rgba(35,54,58,.16);border-block:1px solid var(--line)}.review-summary{display:flex;flex-direction:column;font-size:.7rem;gap:7px;padding-bottom:5px;color:var(--muted)}.review-summary strong{font-family:var(--display);font-size:1.4rem;color:var(--text)}.review-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:20px}.branch-toggle{display:flex;border:1px solid var(--line);padding:4px;border-radius:3px}.branch-toggle button{min-height:44px;padding:8px 20px;background:transparent;border:0;color:var(--muted);font-size:.75rem;border-radius:2px}.branch-toggle button.active{background:var(--primary);color:var(--bg);font-weight:700}.slider-controls{display:flex;gap:8px}.slider-controls button{width:44px;height:44px;background:transparent;border:1px solid var(--line);display:grid;place-items:center}.slider-controls button:first-child{transform:rotate(180deg)}.slider-controls button:hover{border-color:var(--primary)}.slider-controls button:disabled{opacity:.3;cursor:default}.sample-notice{font-size:.68rem;color:var(--muted);padding-block:5px 20px}.review-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--secondary) transparent;padding-bottom:14px;overscroll-behavior-x:contain}.review-card{flex:0 0 calc((100% - 40px)/3);min-width:0;padding:28px;background:var(--bg);border:1px solid var(--line);scroll-snap-align:start;display:flex;flex-direction:column}.review-card .quote-mark{font-family:var(--display);font-size:5rem;line-height:.6;color:var(--primary);margin-top:10px}.review-card blockquote{margin:15px 0 28px;font-size:.85rem;line-height:1.9;overflow-wrap:anywhere}.review-author{display:flex;gap:12px;align-items:center;margin-top:auto}.review-avatar{width:40px;height:40px;display:grid;place-items:center;background:var(--surface);color:var(--muted);font-size:.72rem;border-radius:50%;flex-shrink:0;object-fit:cover}.review-author strong{font-size:.77rem;display:block}.review-author small{display:block;font-size:.61rem;color:var(--muted)}.review-label{font-size:.58rem;color:var(--muted);letter-spacing:.08em;margin-top:22px}.review-stars{color:var(--primary);font-size:1.1rem;letter-spacing:.1em}.review-source{display:inline-flex;font-size:.65rem;min-height:44px;align-items:center;gap:8px}.reviews-bottom{border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:15px;padding-top:15px;font-size:.65rem;color:var(--muted)}.reviews-bottom>div{display:flex;gap:20px;flex-wrap:wrap}.reviews-bottom a{min-height:44px;display:inline-flex;gap:6px;align-items:center}.reviews-bottom a>.icon{width:16px;height:16px}.google-attribution{font-family:var(--body);font-style:normal;font-weight:400;font-size:12px;letter-spacing:normal;white-space:nowrap;color:var(--text)}.gallery-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;grid-template-rows:repeat(2,minmax(180px,1fr));gap:18px}.gallery-item{position:relative;min-width:0;aspect-ratio:4/3;background:var(--surface);overflow:hidden}.gallery-tall{grid-row:span 2;aspect-ratio:auto}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.gallery-item:hover img{transform:scale(1.04)}.gallery-item::after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(11,17,18,.9))}.gallery-item figcaption{position:absolute;bottom:18px;left:20px;right:16px;z-index:1;display:flex;flex-direction:column;gap:4px;font-size:.58rem;letter-spacing:.12em}.gallery-item figcaption small{color:var(--muted);font-size:.53rem}
/* Contact */
.contact-section{border-top:1px solid var(--line);background:radial-gradient(ellipse at 5% 30%,rgba(255,49,49,.045),transparent 60%)}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(30px,6vw,100px)}.contact-copy>p:not(.eyebrow){font-size:.88rem;color:var(--muted);margin-top:26px}.contact-phone{display:flex;gap:13px;align-items:center;margin-block:26px;min-height:44px;font-size:1.1rem}.contact-phone>.icon{color:var(--primary);width:21px}.contact-copy>p.contact-footnote{font-size:.66rem;margin-top:14px}.contact-form{position:relative;background:rgba(20,32,35,.5);border:1px solid var(--line);padding:clamp(22px,3vw,40px)}.contact-form h3{font-size:2rem;margin-bottom:12px}.form-note{color:var(--muted);font-size:.68rem;line-height:1.8;margin-bottom:25px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-field{display:flex;flex-direction:column;gap:8px;margin-bottom:14px;min-width:0}.form-field label{font-size:.72rem;color:var(--muted)}.form-field label span{color:var(--primary)}.form-field input,.form-field textarea,.form-field select{width:100%;min-height:48px;min-width:0;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:2px;padding:12px 14px;font-size:.8rem;transition:border-color .2s}.form-field textarea{resize:vertical;min-height:116px}.form-field input::placeholder,.form-field textarea::placeholder{color:var(--muted);opacity:.7}.form-field [aria-invalid=true]{border-color:var(--primary)}.form-field input:focus,.form-field textarea:focus,.form-field select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.field-error{font-size:.66rem;color:var(--text);min-height:0}.field-error:not(:empty){border-left:2px solid var(--primary);padding-left:7px}.form-submit{width:100%;justify-content:space-between}.form-submit:disabled{cursor:wait;opacity:.7;transform:none}.form-feedback{font-size:.75rem;color:var(--muted);margin-top:12px}.form-feedback[data-state=success]{color:var(--text)}.form-feedback[data-state=error]{border-left:2px solid var(--primary);padding-left:10px}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
/* Footer */
.footer{padding-block:55px 20px;border-top:1px solid var(--line)}.footer-top{display:grid;grid-template-columns:1.2fr .8fr 1fr 1.1fr;gap:30px;padding-bottom:45px}.footer-brand .logo-panel{width:110px;height:85px}.footer-brand .logo-panel img{width:90px}.footer-brand p{font-family:var(--display);font-size:1.25rem;line-height:1.2;margin-top:20px}.social-links{display:flex;gap:8px;margin-top:20px}.social-links a,.social-links button{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line);background:transparent}.social-links .icon{width:19px}.footer-note{display:block;font-size:.65rem;color:var(--muted);max-width:200px}.footer h3{font-family:var(--body);font-size:.64rem;font-weight:700;letter-spacing:.08em;margin-bottom:18px;line-height:1.5}.footer-links{display:flex;flex-direction:column}.footer-links a{color:var(--muted);font-size:.75rem;min-height:44px;display:flex;align-items:center}.footer-address p{color:var(--muted);font-size:.75rem;line-height:1.9}.footer-address a{min-height:44px;display:flex;align-items:center;font-size:.7rem;margin-top:7px}.footer a:hover{color:var(--accent)}.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);padding-block:18px;font-size:.58rem;color:var(--muted);letter-spacing:.03em;padding-bottom:calc(18px + env(safe-area-inset-bottom))}.footer-bottom a{display:flex;align-items:center;min-height:44px}.floating-whatsapp{position:fixed;z-index:25;bottom:calc(22px + env(safe-area-inset-bottom));right:calc(24px + env(safe-area-inset-right));min-height:52px;display:flex;align-items:center;gap:12px;background:var(--primary);color:var(--bg);padding:13px 17px;border-radius:4px;box-shadow:0 8px 30px rgba(0,0,0,.4);transition:transform .2s}.floating-whatsapp span{font-size:.72rem;font-weight:700}.floating-whatsapp:hover{transform:translateY(-4px)}.floating-whatsapp .icon{width:24px;height:24px}.js .reveal{opacity:0;transform:translateY(24px);transition:opacity .7s,transform .7s}.js .reveal.visible{opacity:1;transform:none}@keyframes heroEnter{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes float{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-15px) rotate(1deg)}}
/* Mobile-first fluid components; layout changes at the requested device widths. */
@media(min-width:1536px){.hero-grid{gap:50px}.hero-art{max-width:660px}.hero{min-height:min(100dvh,1100px)}h1{font-size:7.8rem}.hero-subtext{font-size:1.05rem;max-width:420px}}
@media(min-width:1280px){.program-card{padding:36px}.hero-copy{padding-block:20px}}
@media(max-width:1023px){.desktop-nav{display:none}.menu-toggle{display:flex}.nav-visit{margin-left:auto}.nav-inner{height:80px}.mobile-nav{display:flex;position:absolute;top:calc(80px + env(safe-area-inset-top));inset-inline:0;background:var(--bg);border-bottom:1px solid var(--line);flex-direction:column;padding:20px var(--gutter) 30px;visibility:hidden;opacity:0;transform:translateY(-8px);transition:opacity .25s,transform .25s,visibility .25s;max-height:calc(100dvh - 80px - env(safe-area-inset-top));overflow-y:auto}.mobile-nav.open{visibility:visible;opacity:1;transform:none}.mobile-nav a{font-family:var(--display);font-size:1.8rem;padding:12px 0;min-height:50px;border-bottom:1px solid var(--line)}.mobile-nav a:last-child{color:var(--primary)}.hero{padding-top:100px}.hero-grid{grid-template-columns:1.05fr 1fr;gap:0}h1{font-size:clamp(3.8rem,7.1vw,6rem)}.hero-copy .eyebrow{font-size:.57rem;gap:7px}.hero-actions{gap:10px}.hero-actions .button{padding:12px 16px;font-size:.75rem;gap:16px}.art-label{font-size:.5rem}.about-top{grid-template-columns:1fr 1fr;gap:35px}.achievement{padding:22px}.achievement strong{font-size:2.6rem}.achievement>span{font-size:.65rem}.program-grid{grid-template-columns:repeat(2,1fr)}.trainer-grid{gap:18px}.review-card{flex-basis:calc((100% - 20px)/2)}.footer-top{grid-template-columns:repeat(2,1fr);gap:35px}.franchise-panel{grid-template-columns:1.2fr .8fr}.section-top>p{max-width:250px}.contact-grid{grid-template-columns:.8fr 1.2fr;gap:30px}.form-row{grid-template-columns:1fr;gap:0}}
@media(max-width:767px){:root{--gutter:1.3rem}.hero{min-height:100dvh;padding-top:100px}.hero-grid{grid-template-columns:1fr;gap:0;padding-block:20px 0}.hero-copy .eyebrow{font-size:.6rem;margin-bottom:22px}h1{font-size:clamp(3.7rem,10.9vw,6.2rem);max-width:620px}.hero-subtext{max-width:360px;font-size:.85rem;margin-top:22px}.hero-actions{margin-top:24px}.hero-note{margin-top:22px}.hero-art{width:86%;max-width:470px;margin:-8px auto 0;aspect-ratio:1.25}.art-label-top{top:8%;right:0}.art-label-bottom{bottom:0;left:3%}.orbit{inset:8% 18%}.orbit-two{inset:3% 9%}.hero-bottom{padding-block:10px;font-size:.5rem;gap:15px}.hero-bottom>a{gap:9px}.hero-bottom>span{max-width:160px}.about-top{grid-template-columns:1fr;gap:25px}.about-copy{padding-top:0;max-width:560px}.achievements{grid-template-columns:1fr 1fr;margin-top:35px}.achievement{padding:22px}.achievement:nth-child(2){border-right:0}.achievement:nth-child(-n+2){border-bottom:1px solid var(--line)}.achievement strong{font-size:2.8rem}.section-top{flex-direction:column;align-items:flex-start;gap:20px;margin-bottom:30px}.section-top>p{max-width:100%;font-size:.8rem}.branches-grid{grid-template-columns:1fr;gap:20px}.branch-info{padding:25px}.branch-info h3{font-size:2.8rem}.program-card{padding:25px}.program-card>.icon{margin-bottom:28px}.program-card h3{font-size:1.5rem}.supplements{padding:28px;flex-wrap:wrap;gap:18px}.supplement-mark{font-size:4rem}.supplements>div:nth-child(2){flex:1}.supplements .text-link{margin-left:0}.franchise-panel{grid-template-columns:1fr;position:relative;padding:35px 28px}.franchise-panel>div:first-child{z-index:1}.franchise-panel p:not(.eyebrow){max-width:90%}.franchise-art{position:absolute;right:-30px;bottom:45px;width:200px;opacity:.25}.franchise-art>span{font-size:17rem}.franchise-coordinate{display:none}.trainer-grid{grid-template-columns:repeat(2,1fr)}.trainer-card:last-child{grid-column:span 2;max-width:calc(50% - 9px);width:100%;justify-self:center}.trainer-caption h3{font-size:1.3rem}.trainer-caption>span{font-size:.57rem}.review-summary{border-left:2px solid var(--primary);padding-left:15px}.review-card{flex-basis:85%;padding:25px}.reviews-bottom{align-items:flex-start;flex-direction:column;gap:8px}.reviews-bottom>div{gap:8px 20px}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto}.gallery-tall{grid-column:span 2;grid-row:auto;aspect-ratio:16/10}.gallery-item{aspect-ratio:1}.gallery-item figcaption{left:12px;bottom:12px;font-size:.5rem}.contact-grid{grid-template-columns:1fr;gap:35px}.form-row{grid-template-columns:1fr 1fr;gap:18px}.footer-top{gap:35px 25px}.footer-bottom{flex-wrap:wrap;font-size:.55rem;padding-bottom:90px}.footer-bottom>span:nth-child(2){display:none}.floating-whatsapp{right:16px;bottom:calc(16px + env(safe-area-inset-bottom));padding:13px;min-width:52px;justify-content:center}.floating-whatsapp span{display:none}}
@media(max-width:479px){:root{--gutter:1rem}.nav-inner{gap:12px;height:74px}.logo-panel{width:80px;height:58px}.logo-panel img{width:65px}.nav-visit{display:none}.mobile-nav{top:calc(74px + env(safe-area-inset-top))}.hero{padding-top:94px}.hero-copy .eyebrow{font-size:.53rem;gap:6px}.eyebrow-divider{margin-inline:0}h1{font-size:clamp(3.2rem,11.5vw,5rem)}.phone-break{display:block}.hero-actions .button{font-size:.72rem;gap:12px;min-height:50px;padding:12px 15px}.hero-art{width:100%;aspect-ratio:1.42;margin-top:8px;min-height:190px}.art-label-top{font-size:.45rem;right:3%;top:4%}.art-label-bottom{font-size:.43rem;bottom:4%;left:3%}.hero-note{font-size:.52rem}.hero-bottom{font-size:.43rem}.brand-strip{padding:13px 0}.brand-strip>div{font-size:1.1rem}.brand-strip span{margin-inline:20px}h2{font-size:clamp(2.55rem,10vw,3.8rem)}.achievement{padding:19px 15px}.achievement strong{font-size:2.4rem}.program-grid{grid-template-columns:1fr}.program-card p{min-height:0}.program-card>.icon{margin-bottom:24px}.program-card h3{font-size:1.8rem}.supplements{padding:25px 20px}.supplement-mark{display:none}.supplements h2{font-size:2rem}.franchise-panel{padding:30px 22px}.franchise-panel h2{font-size:3.2rem}.franchise-panel .button{gap:15px;font-size:.75rem;padding-inline:16px}.trainer-grid{grid-template-columns:1fr}.trainer-card:last-child{grid-column:auto;max-width:none}.trainer-photo{aspect-ratio:5/4}.trainer-photo img{object-position:center 32%}.trainer-caption h3{font-size:1.7rem}.trainer-caption>span{font-size:.65rem}.branch-toggle button{padding-inline:13px;font-size:.7rem}.review-toolbar{gap:8px}.slider-controls{gap:5px}.slider-controls button{width:44px}.review-card{flex-basis:100%}.gallery-grid{gap:12px}.form-row{grid-template-columns:1fr;gap:0}.footer-top{grid-template-columns:1fr 1fr;gap:30px 18px}.footer-brand{grid-column:span 2}.footer-links{grid-column:span 2;display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.footer-links h3{grid-column:span 2}.footer-address h3{font-size:.56rem}.footer-address p{font-size:.67rem}.footer-bottom{gap:6px}.contact-form{padding:22px 18px}.form-field input,.form-field textarea,.form-field select{font-size:1rem}}
/* Short landscape screens: content stays in normal flow and never crops. */
@media(max-width:1023px) and (orientation:landscape) and (max-height:600px){.hero{min-height:100dvh;padding-top:94px}.hero-grid{grid-template-columns:1.15fr .85fr;padding-block:20px;gap:15px}h1{font-size:clamp(2.7rem,6.1vw,4.1rem)}.phone-break{display:none}.hero-copy .eyebrow{margin-bottom:14px;font-size:.5rem}.hero-subtext{margin-top:18px;font-size:.78rem}.hero-art{width:100%;margin:0;aspect-ratio:1;min-height:0}.hero-note{display:none}.hero-actions{margin-top:18px}.hero-actions .button{min-height:46px;font-size:.67rem;padding:10px 12px;gap:8px}.art-label{font-size:.4rem}.hero-bottom{padding-block:7px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.js .reveal{opacity:1;transform:none}.dumbbell-fallback{animation:none}.hero-art.webgl-ready .dumbbell-fallback{opacity:1}#hero-canvas{display:none}}

@media(min-width:768px) and (max-width:1023px){.achievements{grid-template-columns:repeat(3,1fr)}.achievement:nth-child(-n+3){border-bottom:1px solid var(--line)}.achievement:nth-child(3){border-right:0}.achievement strong{font-size:2.5rem}}
@media(max-width:767px){.achievement:nth-child(4){border-right:0}.achievement:last-child{grid-column:span 2;border-top:1px solid var(--line);align-items:center}.achievement:nth-child(3){border-right:1px solid var(--line)}}

/* Self-hosted Google Fonts; the complete site retains typography offline. */
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/barlow-condensed-0.woff2) format('truetype');
}
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/fonts/barlow-condensed-1.woff2) format('truetype');
}
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(assets/fonts/barlow-condensed-2.woff2) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/dm-sans-3.woff2) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/dm-sans-4.woff2) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/dm-sans-5.woff2) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/fonts/dm-sans-6.woff2) format('truetype');
}

@media(max-width:479px){.review-toolbar{flex-wrap:wrap}.slider-controls{margin-left:auto}}
