@font-face{font-family:"TL Montserrat";font-style:normal;font-weight:400 800;font-display:swap;src:url("https://preview.traininglab.pt/assets/_vinext_fonts/montserrat-242f68767b79/montserrat-2f5adf11.woff2") format("woff2")}
:root{--black:#303131;--ink:#303131;--paper:#eee;--white:#fff;--gold:#a9915f;--gold2:#dad3bd;--muted:#9b9a9a;--line:#ffffff29;--gutter:4vw}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#0c0d0c;color:#fff;font-family:"TL Montserrat",Montserrat,Arial,sans-serif;font-synthesis:none;-webkit-font-smoothing:antialiased}a{color:inherit}h1,h2,h3,p{margin-top:0}.section-light{background:var(--paper);color:var(--ink)}.section-dark{background:var(--black);color:#fff}.micro,.eyebrow{letter-spacing:.21em;text-transform:uppercase;font-size:11px;font-weight:800}.eyebrow{color:var(--gold2)}
.main-header{z-index:20;height:90px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;position:absolute;inset:0 0 auto;color:#fff;border-bottom:1px solid var(--line)}.official-logo{width:161px;display:block;line-height:0}.official-logo img{width:100%;height:auto;display:block}.main-header nav{display:flex;align-items:center;gap:24px;font-size:13px}.main-header nav>a{color:#fff;text-decoration:none}.main-header nav>a:not(.nav-cta):not(.nav-store){padding:36px 0 30px;border-bottom:2px solid transparent}.main-header nav>a:hover{color:var(--gold2);border-color:var(--gold)}.nav-store,.nav-cta{padding:13px 18px;font-weight:700}.nav-store{background:var(--gold);color:#171717!important}.nav-cta{border:1px solid #ffffff59}.lang-switch{display:flex;gap:8px;margin-left:4px;font-size:10px}.lang-switch a{opacity:.55;text-decoration:none}.lang-switch a.is-active{opacity:1;color:var(--gold2)}.menu-toggle{display:none;background:none;border:0;color:#fff;width:40px;height:40px}.menu-toggle span{height:1px;background:currentColor;display:block;margin:7px 0}
.home-hero{height:100svh;min-height:850px;position:relative;overflow:hidden}.home-hero-image{position:absolute;inset:0;width:100%;height:100%;display:block}.home-hero-image img{width:100%;height:100%;object-fit:cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#000000ed,#000000a8 42%,#0000001f 78%),linear-gradient(#0000 50%,#00000080)}.home-hero-content{z-index:2;width:min(720px,58vw);padding:155px 4vw 80px;position:relative}.home-hero-content h1{margin:28px 0 32px;font-size:clamp(58px,6.7vw,106px);font-weight:800;line-height:.94;letter-spacing:-.07em;text-transform:uppercase}.home-hero-content h1>span{display:block;white-space:nowrap}.hero-gold{color:var(--gold2)}.home-hero-content>p:not(.eyebrow){max-width:570px;margin:0 0 32px;color:#d4d4cf;font-size:19px;line-height:1.55}.gold-button,.dark-button{width:max-content;min-width:220px;padding:18px 22px;display:flex;align-items:center;justify-content:space-between;gap:40px;border:0;font-size:14px;font-weight:800;text-decoration:none}.gold-button{background:var(--gold);color:#171717!important}.dark-button{background:var(--ink);color:#fff!important}
.intro-grid{display:grid;grid-template-columns:22% 1fr;padding:130px 4vw}.section-label{padding-top:8px;color:#777b73;font-size:10px;font-weight:800;letter-spacing:.2em}.intro-grid h2,.section-head h2,.content-grid h2,.closing-cta h2{margin:28px 0 42px;font-size:clamp(38px,4.8vw,70px);font-weight:800;line-height:.98;letter-spacing:-.055em;text-transform:uppercase}.intro-grid h2 em,.section-head h2 em{color:var(--gold2);font-style:normal}.lead{max-width:900px;color:#555951;font-size:20px;line-height:1.65}.text-link{display:inline-block;margin-top:25px;padding-bottom:6px;border-bottom:1px solid var(--ink);color:var(--ink);font-size:13px;font-weight:800;text-decoration:none}.pillars{display:grid;grid-template-columns:repeat(3,1fr);background:var(--gold);color:#111}.pillars article{min-height:380px;padding:45px 4vw;display:flex;flex-direction:column;border-right:1px solid #0003}.pillars article:last-child{border-right:0}.pillars span{font-size:10px;letter-spacing:.16em}.pillars h3{margin:auto 0 18px;font-size:clamp(38px,4vw,62px);font-weight:800;letter-spacing:-.06em}.pillars p{margin:0;color:#4a3d29;line-height:1.6}
.method-section,.content-section,.experience-section,.plans-section,.form-section,.club-contact,.faq-section,.testimonials{padding:110px 4vw}.method-copy{max-width:1250px;margin:auto}.method-copy>h2{font-size:clamp(48px,6vw,88px);line-height:.95;letter-spacing:-.06em;text-transform:uppercase}.method-copy>p{max-width:820px;font-size:19px;line-height:1.65;color:#d0d0cb}.method-points,.experience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:60px}.method-points>div,.experience-grid>div{padding:34px;border:1px solid #ffffff22}.method-points b,.experience-grid b{color:var(--gold2);font-size:12px}.method-points h3,.experience-grid h3{font-size:30px;margin:60px 0 14px}.club-showcase{padding:130px 4vw;background:#0c0d0c}.section-head{display:grid;grid-template-columns:22% 1fr}.section-head h2{font-size:clamp(45px,6vw,85px);color:#fff}.home-club-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2px}.home-club-card{height:540px;padding:26px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;text-decoration:none}.home-club-card .club-photo{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform .5s}.home-club-card:hover .club-photo{transform:scale(1.04)}.card-shade{position:absolute;inset:0;background:linear-gradient(#0000 38%,#000000d6)}.home-club-card>span,.home-club-card>div:last-child{z-index:2;position:relative}.home-club-card>span{font-size:10px}.home-club-card p{margin:0;font-size:10px;letter-spacing:.08em;text-transform:uppercase;max-width:80%}.home-club-card h3{margin:8px 0 18px;font-size:clamp(36px,4vw,60px);font-weight:800;line-height:1;letter-spacing:-.06em;text-transform:uppercase}.home-club-card b{color:var(--gold2);font-size:12px}.testimonials{text-align:center}.testimonial-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;max-width:1200px;margin:40px auto 0}.testimonial-grid blockquote{margin:0;padding:45px;background:#fff;font-size:22px;line-height:1.5}.testimonial-grid cite{display:block;margin-top:24px;font-size:12px;font-style:normal;color:#777}.franchise-banner{min-height:720px;padding:100px 4vw;display:flex;align-items:center;position:relative;overflow:hidden}.franchise-banner>img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.franchise-banner>div{position:absolute;inset:0;background:linear-gradient(90deg,#000000ed,#00000059)}.franchise-banner article{z-index:2;max-width:870px;position:relative}.franchise-banner h2,.franchise-banner h1{margin:28px 0;font-size:clamp(46px,5.7vw,82px);font-weight:800;line-height:.92;letter-spacing:-.07em;text-transform:uppercase}.franchise-banner h2 em,.franchise-banner h1 em{color:var(--gold2);font-style:normal}.franchise-banner p:not(.eyebrow){max-width:640px;margin-bottom:35px;font-size:18px;line-height:1.6}.faq-section{max-width:none}.faq-section>.micro{display:block;margin-bottom:34px}.faq-section details{max-width:1000px;margin:auto;border-top:1px solid #bbb;padding:22px 0}.faq-section details:last-child{border-bottom:1px solid #bbb}.faq-section summary{font-size:22px;font-weight:700;cursor:pointer}.faq-section details p{color:#555;line-height:1.7}.closing-cta{text-align:center;display:flex;flex-direction:column;align-items:center;padding:130px 4vw}.closing-cta h2{max-width:1000px}.footer{color:#a6a9a2;background:#0c0d0c;grid-template-columns:2fr 1fr 1fr;gap:60px;padding:85px 4vw 30px;display:grid}.footer .official-logo{width:260px;margin-bottom:25px}.footer h4{margin:0 0 20px;color:var(--gold2);font-size:11px;letter-spacing:.16em;text-transform:uppercase}.footer>div{display:flex;flex-direction:column;gap:12px;font-size:13px}.footer a{text-decoration:none}.footer-bottom{grid-column:1/-1!important;margin-top:35px;padding-top:24px!important;display:flex!important;flex-direction:row!important;justify-content:space-between;border-top:1px solid #2c2d2a;font-size:10px!important;letter-spacing:.13em}
.page-hero{padding:190px 4vw 110px}.page-hero h1{font-size:clamp(60px,8vw,120px);text-transform:uppercase;letter-spacing:-.07em;line-height:.9}.page-hero p{max-width:780px;font-size:20px;line-height:1.6;color:#d0d0cb}.content-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:start}.content-grid>div:last-child{font-size:19px;line-height:1.7;color:#666}.club-showcase--page{padding-top:70px}.club-hero{min-height:760px;position:relative;display:flex;align-items:flex-end;overflow:hidden}.club-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.club-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#000c,#0003),linear-gradient(#0000,#000a)}.club-hero-copy{position:relative;z-index:2;padding:170px 4vw 80px;max-width:900px}.club-hero-copy h1{font-size:clamp(64px,8vw,120px);line-height:.9;text-transform:uppercase;letter-spacing:-.07em}.club-hero-copy>p:not(.eyebrow){font-size:22px;max-width:700px;line-height:1.5}.lead-small{font-size:24px!important;color:#222!important}.modality-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:35px}.modality-grid>div{background:#fff;padding:28px;font-size:18px;font-weight:700}.plans-section{background:#f5f4ef;color:#222}.section-head-simple{max-width:1000px;margin-bottom:45px}.section-head-simple h2{font-size:clamp(36px,4vw,60px);line-height:1.05}.plans-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.plan-card{background:#fff;border:1px solid #ddd;padding:34px;display:flex;flex-direction:column;min-height:470px}.plan-name{font-weight:800;text-transform:uppercase;letter-spacing:.08em}.plan-price{font-size:50px;font-weight:800;margin:18px 0}.plan-price small{display:block;font-size:14px;font-weight:400}.plan-card ul{padding-left:20px;line-height:1.8}.plan-commitment{margin-top:auto;color:#777;font-size:13px}.club-contact{display:grid;grid-template-columns:1fr 1fr;gap:80px}.club-contact h2{font-size:30px;line-height:1.4}.club-contact a{color:var(--ink)}.form-section{display:grid;grid-template-columns:1fr 1fr;gap:80px}.form-section h2{font-size:clamp(36px,4vw,62px);line-height:1.05}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid label{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:700}.form-grid input,.form-grid textarea,.form-grid select{width:100%;padding:14px;background:transparent;border:1px solid currentColor;color:inherit;font:inherit}.form-grid select option{color:#111;background:#fff}.form-full{grid-column:1/-1}.consent{flex-direction:row!important;align-items:flex-start}.consent input{width:auto;margin-top:3px}.form-status{margin-top:14px}.tl-hp{position:absolute!important;left:-9999px!important}.news-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2px}.news-grid article{background:#fff;padding:40px}.news-grid h2{font-size:34px}
@media(max-width:1260px) and (min-width:951px){.main-header nav{gap:14px}.main-header nav>a:not(.nav-cta):not(.nav-store){font-size:12px}.nav-store,.nav-cta{padding:12px 12px}.lang-switch{gap:5px}}
@media(max-width:950px){.main-header{height:74px;padding:0 22px}.official-logo{z-index:22;width:126px;position:relative}.menu-toggle{z-index:22;display:block;position:relative}.main-header nav{visibility:hidden;pointer-events:none;background:#303131;flex-direction:column;align-items:flex-start;gap:0;padding:110px 28px 38px;display:flex;position:fixed;inset:0;overflow-y:auto;transform:translate(100%);transition:transform .3s}.main-header nav.open{visibility:visible;pointer-events:auto;transform:none}.main-header nav>a:not(.nav-cta):not(.nav-store){width:100%;padding:18px 0;border-bottom:1px solid #4a4b4b;font-size:22px}.nav-store,.nav-cta{width:100%;margin-top:18px;text-align:center}.lang-switch{margin-top:24px;font-size:16px}.home-hero{min-height:760px}.home-hero-content{width:100%;padding:120px 22px 70px}.home-hero-content h1{font-size:clamp(52px,12vw,78px)}.intro-grid,.section-head{grid-template-columns:1fr}.section-label{margin-bottom:35px}.pillars,.home-club-grid,.testimonial-grid,.method-points,.experience-grid,.plans-grid,.modality-grid,.content-grid,.club-contact,.form-section,.footer,.news-grid{grid-template-columns:1fr}.pillars article{min-height:260px;border-right:0;border-bottom:1px solid #0003}.home-club-card{height:440px}.club-showcase,.content-section,.experience-section,.plans-section,.form-section,.club-contact,.faq-section,.testimonials{padding:80px 22px}.footer>div:first-child{grid-column:auto}.footer-bottom{grid-column:auto!important}.form-section{gap:35px}.club-hero-copy{padding-left:22px;padding-right:22px}}
@media(max-width:560px){.home-hero-content h1{font-size:48px}.gold-button,.dark-button{width:100%;min-width:0}.intro-grid{padding:90px 22px}.intro-grid h2,.closing-cta h2{font-size:36px}.club-showcase{padding:80px 22px}.home-club-card{height:380px}.franchise-banner{padding:80px 18px}.franchise-banner h2,.franchise-banner h1{font-size:40px}.closing-cta{padding:90px 22px}.footer{display:flex;flex-direction:column;padding:65px 22px 25px}.footer-bottom{flex-direction:column!important}.page-hero{padding:140px 22px 80px}.club-hero{min-height:680px}.club-hero-copy h1{font-size:52px}.form-grid{grid-template-columns:1fr}.form-full{grid-column:auto}}


/* V1.1 — páginas completas e QA com preview */
.coming-soon-overlay{
    position:absolute!important;
    z-index:3!important;
    inset:50% auto auto 50%!important;
    width:58%!important;
    height:auto!important;
    max-height:72%!important;
    object-fit:contain!important;
    transform:translate(-50%,-50%)!important;
    mix-blend-mode:screen;
    pointer-events:none;
}
.home-club-card:hover .coming-soon-overlay{transform:translate(-50%,-50%)!important}
.club-location-label{margin:0 0 12px;color:var(--gold2);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.13em}
.coming-soon-badge{display:inline-block;margin-bottom:18px;padding:9px 12px;background:var(--gold);color:#171717;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.13em}

.about-points{display:grid;grid-template-columns:repeat(4,1fr);margin-top:70px;border-top:1px solid #cfcfc9;border-bottom:1px solid #cfcfc9}
.about-points article{min-height:150px;padding:24px 24px 24px 0;display:flex;flex-direction:column;gap:45px;border-right:1px solid #cfcfc9}
.about-points article:not(:first-child){padding-left:24px}
.about-points article:last-child{border-right:0}
.about-points span{font-size:10px;color:#777;letter-spacing:.14em}
.about-points strong{font-size:16px;text-transform:uppercase}

.section-copy{max-width:820px;color:#d0d0cb;font-size:18px;line-height:1.65}
.experience-eyebrow,.plans-eyebrow,.schedule-eyebrow{color:var(--gold2);margin-top:40px}
.experience-grid--four{grid-template-columns:repeat(4,1fr)}
.experience-grid--four>div{min-height:310px}
.experience-grid--four h3{font-size:25px}

.benefits-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:50px}
.benefits-grid article{padding:34px;background:#fff;border:1px solid #ddd;min-height:250px}
.benefits-grid span{font-size:11px;color:#777}
.benefits-grid h3{font-size:28px;margin:50px 0 14px}
.benefits-grid p{color:#555;line-height:1.65}

.team-section{display:grid;grid-template-columns:minmax(320px,.8fr) 1.2fr;min-height:650px}
.team-image{min-height:650px;overflow:hidden}
.team-image img{width:100%;height:100%;object-fit:cover}
.team-copy{padding:90px 7vw;display:flex;flex-direction:column;justify-content:center}
.team-copy h2{font-size:clamp(60px,7vw,110px);margin:18px 0 12px;text-transform:uppercase;letter-spacing:-.06em;line-height:.9}
.team-copy>p:not(.micro):not(.team-role){max-width:700px;line-height:1.7;color:#d0d0cb}
.team-role{color:var(--gold2);font-weight:700}

.schedule-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;padding:110px 4vw;align-items:center}
.schedule-copy h2{font-size:clamp(45px,5vw,76px);line-height:.95;letter-spacing:-.055em;text-transform:uppercase}
.schedule-copy>p:not(.micro):not(.eyebrow){font-size:18px;line-height:1.7;color:#555}
.schedule-image{display:block;max-height:700px;overflow:hidden;border:1px solid #ddd;background:#fff}
.schedule-image img{width:100%;height:100%;object-fit:contain;display:block}

.plans-note{max-width:900px;margin:28px 0 0;color:#777;font-size:12px;line-height:1.6}
.plan-activation{color:#777;font-size:13px}

.club-details{padding:95px 4vw;display:grid;grid-template-columns:.85fr 1.15fr;gap:80px}
.club-details-title h2{font-size:clamp(42px,5vw,72px);line-height:.95;text-transform:uppercase;letter-spacing:-.055em}
.club-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px}
.club-details-grid span{display:block;margin-bottom:9px;color:var(--gold2);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.14em}
.club-details-grid p{margin:0;line-height:1.6}
.club-details-grid a{text-decoration:none}
.club-details-grid small{display:block;color:#9c9c97;font-size:10px;margin-top:4px}

.location-section{padding:95px 4vw;background:#111;color:#fff}
.location-head{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:40px}
.location-head h2{font-size:clamp(42px,5vw,70px);margin:10px 0 16px;text-transform:uppercase;letter-spacing:-.055em}
.location-head p{color:#c6c6c1}
.map-shell{min-height:430px;background:#e6e6e2;border:1px solid #333;position:relative;overflow:hidden}
.map-placeholder{min-height:430px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;color:#333;text-align:center;padding:40px}
.map-placeholder .dark-button{cursor:pointer}
.map-shell iframe{width:100%;height:430px;border:0;display:block}

.other-clubs-band{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:24px 4vw;background:var(--gold);color:#171717;font-size:13px;font-weight:800}
.other-clubs-band a{text-decoration:none}

.section-subtitle{font-size:34px;line-height:1.15;margin:0 0 24px}
.vision-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:50px}
.vision-grid article{border:1px solid #ffffff22;padding:42px;min-height:320px}
.vision-grid span{color:var(--gold2);font-size:11px;font-weight:700;letter-spacing:.13em}
.vision-grid h3{font-size:35px;margin:80px 0 18px}
.vision-grid p{color:#d0d0cb;line-height:1.65}
.concept-disciplines h3{font-size:clamp(30px,3vw,50px)}
.values-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;margin-top:50px}
.values-grid article{padding:30px 26px;background:#fff;border:1px solid #ddd;min-height:280px}
.values-grid span{color:#777;font-size:10px}
.values-grid h3{font-size:24px;margin:80px 0 16px}
.values-grid p{color:#555;line-height:1.6}
.community-cta{padding:120px 4vw}
.community-cta h2{max-width:1050px;font-size:clamp(46px,6vw,88px);line-height:.95;text-transform:uppercase;letter-spacing:-.06em;margin:25px 0}
.community-cta>p:not(.micro){max-width:820px;color:#d0d0cb;font-size:18px;line-height:1.7;margin-bottom:30px}

.franchise-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:60px;border-top:1px solid #ccc;border-bottom:1px solid #ccc}
.franchise-stats article{padding:28px;border-right:1px solid #ccc}
.franchise-stats article:last-child{border-right:0}
.franchise-stats strong{display:block;font-size:36px}
.franchise-stats span{display:block;margin-top:8px;color:#666;font-size:12px;line-height:1.4}
.support-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:55px}
.support-grid article{padding:34px;border:1px solid #ffffff22;min-height:220px}
.support-grid span{color:var(--gold2);font-size:11px}
.support-grid h3{font-size:26px;margin:70px 0 0}
.faq-title{max-width:900px;margin:0 auto 45px;font-size:clamp(42px,5vw,70px);text-transform:uppercase;letter-spacing:-.055em;line-height:.95}

.contact-clubs{padding:100px 4vw}
.contact-club-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2px}
.contact-club-grid article{background:#fff;padding:40px;min-height:310px;border:1px solid #ddd}
.contact-club-grid h2{font-size:35px;margin:12px 0 25px}
.contact-club-grid a{color:var(--ink)}

@media(max-width:950px){
    .about-points,.experience-grid--four,.benefits-grid,.values-grid,.franchise-stats,.support-grid,.contact-club-grid{grid-template-columns:1fr 1fr}
    .about-points article{border-bottom:1px solid #cfcfc9}
    .team-section,.schedule-section,.club-details{grid-template-columns:1fr}
    .team-image{min-height:520px}
    .club-details{gap:45px}
    .vision-grid{grid-template-columns:1fr}
    .location-head{align-items:flex-start;flex-direction:column}
}
@media(max-width:560px){
    .about-points,.experience-grid--four,.benefits-grid,.values-grid,.franchise-stats,.support-grid,.contact-club-grid,.club-details-grid{grid-template-columns:1fr}
    .about-points article,.about-points article:not(:first-child){padding:24px 0;border-right:0}
    .team-copy{padding:70px 22px}
    .schedule-section,.club-details,.location-section,.community-cta,.contact-clubs{padding-left:22px;padding-right:22px}
    .schedule-section{gap:35px}
    .location-head .gold-button{width:100%}
    .other-clubs-band{align-items:flex-start;flex-direction:column;padding-left:22px;padding-right:22px}
    .coming-soon-overlay{width:75%!important}
}

/* V3 — Viana Pilates branding, gallery, compact team, trial class and configurable timetable */
.screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.club-brand-logo{display:block;width:min(560px,68vw);height:auto;margin:24px 0 28px;object-fit:contain;object-position:left center}
.club-hero--viana .club-hero-copy{max-width:860px}

.pilates-gallery{padding:110px 4vw;display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:center}
.pilates-gallery-copy{max-width:650px}
.pilates-gallery-logo{display:block;width:min(420px,100%);height:auto;margin:0 0 42px}
.pilates-gallery-copy h2{font-size:clamp(42px,5vw,72px);line-height:.95;letter-spacing:-.055em;text-transform:uppercase;margin:16px 0 24px}
.pilates-gallery-copy>p:not(.micro){font-size:18px;line-height:1.7;color:#555}
.pilates-gallery-images{display:grid;grid-template-columns:1.25fr .75fr;gap:16px;align-items:stretch}
.pilates-gallery-image{margin:0;min-height:500px;overflow:hidden;background:#ddd}
.pilates-gallery-image--wide{min-height:590px}
.pilates-gallery-image img{display:block;width:100%;height:100%;object-fit:cover}

.team-section--compact{display:block;min-height:0;padding:100px 4vw}
.team-shell{width:min(1180px,100%);margin:auto;display:grid;grid-template-columns:minmax(280px,380px) 1fr;gap:70px;align-items:center}
.team-section--compact .team-image{min-height:0;height:auto;aspect-ratio:4/5;border:1px solid #ffffff18;overflow:hidden;background:#111}
.team-section--compact .team-image img{width:100%;height:100%;object-fit:cover;object-position:center top}
.team-section--compact .team-copy{padding:0;display:block}
.team-section--compact .team-copy h2{font-size:clamp(52px,6vw,86px);margin:18px 0 12px}
.team-section--compact .team-copy>p:not(.micro):not(.team-role){max-width:680px}
.team-brand-logo{display:block;width:min(330px,72%);height:auto;margin:0 0 44px;object-fit:contain;object-position:left center}

.trial-section{padding:90px 4vw;background:var(--gold);color:#171717;display:flex;align-items:flex-end;justify-content:space-between;gap:60px}
.trial-section-copy{max-width:900px}
.trial-section h2{font-size:clamp(44px,5.5vw,80px);line-height:.94;letter-spacing:-.06em;text-transform:uppercase;margin:18px 0 22px}
.trial-section-copy>p:not(.micro){max-width:700px;font-size:18px;line-height:1.65;color:#4a3d29}
.trial-section .gold-button{flex:0 0 auto;background:#171717;color:#fff!important;min-width:255px}

@media(max-width:950px){
  .pilates-gallery{grid-template-columns:1fr;padding:80px 22px;gap:40px}
  .pilates-gallery-images{grid-template-columns:1fr 1fr}
  .pilates-gallery-image,.pilates-gallery-image--wide{min-height:420px}
  .team-section--compact{padding:80px 22px}
  .team-shell{grid-template-columns:minmax(240px,320px) 1fr;gap:45px}
  .trial-section{padding:70px 22px;align-items:flex-start;flex-direction:column}
}

@media(max-width:700px){
  .club-brand-logo{width:min(420px,88vw)}
  .pilates-gallery-images{grid-template-columns:1fr}
  .pilates-gallery-image,.pilates-gallery-image--wide{min-height:340px}
  .team-shell{grid-template-columns:1fr;gap:34px}
  .team-section--compact .team-image{width:min(360px,100%);justify-self:center}
  .team-brand-logo{width:min(310px,90%)}
  .trial-section .gold-button{width:100%;min-width:0}
}


/* V4 — Viana Pilates image refresh and smaller team portrait */
.pilates-gallery-images--mosaic{grid-template-columns:1.12fr .88fr;grid-template-rows:repeat(2,minmax(240px,1fr));align-items:stretch}
.pilates-gallery-image--hero{grid-row:1 / span 2;min-height:0}
.pilates-gallery-images--mosaic .pilates-gallery-image{min-height:0}
.pilates-gallery-images--mosaic .pilates-gallery-image img{object-position:center center}
.team-shell{grid-template-columns:minmax(240px,320px) 1fr;gap:56px}
.team-section--compact .team-image{aspect-ratio:3 / 4;max-width:320px;justify-self:start}
.team-section--compact .team-copy h2{font-size:clamp(46px,5.2vw,74px)}
.team-section--compact .team-copy>p:not(.micro):not(.team-role){max-width:720px}
@media(max-width:950px){
  .pilates-gallery-images--mosaic{grid-template-columns:1fr 1fr;grid-template-rows:auto auto}
  .pilates-gallery-image--hero{grid-column:1 / -1;grid-row:auto;min-height:360px}
  .team-shell{grid-template-columns:minmax(220px,280px) 1fr;gap:36px}
}
@media(max-width:700px){
  .pilates-gallery-images--mosaic{grid-template-columns:1fr}
  .pilates-gallery-image--hero{grid-column:auto;min-height:320px}
  .team-section--compact .team-image{max-width:280px;justify-self:center}
}


/* V5 — compact media blocks and CMS-friendly proportions */
.pilates-gallery{gap:54px;padding-top:90px;padding-bottom:90px}
.pilates-gallery-images--mosaic{height:430px;grid-template-columns:1.2fr .8fr;grid-template-rows:207px 207px;gap:16px}
.pilates-gallery-images--mosaic .pilates-gallery-image{height:100%;min-height:0}
.pilates-gallery-image--hero{grid-row:1 / 3;height:430px}
.pilates-gallery-images--mosaic img{object-fit:cover}
.team-section--compact{padding-top:84px;padding-bottom:84px}
.team-shell{grid-template-columns:minmax(220px,280px) 1fr;gap:50px}
.team-section--compact .team-image{width:280px;max-width:100%;aspect-ratio:3/4}
.team-section--compact .team-copy h2{font-size:clamp(42px,4.5vw,68px)}
@media(max-width:950px){.pilates-gallery-images--mosaic{height:auto;grid-template-rows:320px 220px}.pilates-gallery-image--hero{height:320px;grid-column:1/-1;grid-row:auto}.team-shell{grid-template-columns:minmax(200px,250px) 1fr}}
@media(max-width:700px){.pilates-gallery-images--mosaic{grid-template-columns:1fr;grid-template-rows:260px 200px 200px}.pilates-gallery-image--hero{height:260px}.team-shell{grid-template-columns:1fr}.team-section--compact .team-image{width:240px}}


/* CMS V6 */
.tl-campaign-banner{position:relative;z-index:30;display:flex;align-items:center;justify-content:center;gap:18px;padding:10px 4vw;background:var(--gold);color:#171717;font-size:12px}.tl-campaign-banner span{font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.tl-campaign-banner strong{font-size:13px}.tl-campaign-banner a{font-weight:800;text-decoration:none;border-bottom:1px solid currentColor}.gallery-size-small .pilates-gallery-image--hero{max-height:340px}.gallery-size-small .pilates-gallery-image{max-height:165px}.gallery-size-medium .pilates-gallery-image--hero{max-height:430px}.gallery-size-medium .pilates-gallery-image{max-height:207px}.gallery-size-large .pilates-gallery-image--hero{max-height:580px}.gallery-size-large .pilates-gallery-image{max-height:282px}@media(max-width:700px){.tl-campaign-banner{flex-wrap:wrap;gap:8px 14px;text-align:center}.gallery-size-small .pilates-gallery-image,.gallery-size-small .pilates-gallery-image--hero,.gallery-size-medium .pilates-gallery-image,.gallery-size-medium .pilates-gallery-image--hero,.gallery-size-large .pilates-gallery-image,.gallery-size-large .pilates-gallery-image--hero{max-height:320px}}

/* V8 — ordered club sections */
.tl-club-page{display:flex;flex-direction:column;width:100%;}
.tl-club-page>.club-hero,.tl-club-page>.tl-club-section,.tl-club-page>.other-clubs-band{width:100%;}

/* V11 — Legal centre */
.legal-page{min-height:100vh}.legal-hero{padding:180px 4vw 80px}.legal-hero h1{max-width:1100px;margin:20px 0 20px;font-size:clamp(52px,7vw,96px);line-height:.92;letter-spacing:-.065em;text-transform:uppercase}.legal-meta{margin:0;color:#c5c4bf;font-size:13px}.legal-layout{display:grid;grid-template-columns:260px minmax(0,850px);gap:80px;align-items:start;max-width:1280px;margin:auto;padding:90px 4vw 130px}.legal-nav{position:sticky;top:30px;display:flex;flex-direction:column;border-top:1px solid #c9c9c4}.legal-nav a{padding:15px 0;border-bottom:1px solid #c9c9c4;color:#676963;text-decoration:none;font-size:13px;font-weight:700}.legal-nav a.is-active{color:#111}.legal-content{font-size:16px;line-height:1.75;color:#444}.legal-content h2{margin:58px 0 16px;color:#262727;font-size:30px;line-height:1.15}.legal-content h2:first-child{margin-top:0}.legal-content h3{margin:32px 0 10px;color:#303131;font-size:20px}.legal-content ul{padding-left:22px}.legal-content a{color:#222}.legal-contact-box{margin-top:70px;padding:25px 28px;background:#fff;border:1px solid #d4d4ce;display:flex;justify-content:space-between;gap:20px}.legal-table-wrap{overflow:auto}.legal-entities table{width:100%;border-collapse:collapse;background:#fff}.legal-entities th,.legal-entities td{padding:13px 14px;border:1px solid #d7d7d1;text-align:left;vertical-align:top;font-size:13px}.legal-entities th{background:#e5e4de;color:#303131}.consent a{text-decoration:underline}.consent-optional{opacity:.92}
@media(max-width:850px){.legal-hero{padding:140px 22px 65px}.legal-layout{grid-template-columns:1fr;gap:45px;padding:65px 22px 90px}.legal-nav{position:static}.legal-contact-box{flex-direction:column}.legal-content h2{font-size:26px}}

/* V12 — global CMS structure, recruitment and 404 */
.footer-socials{display:flex!important;flex-direction:row!important;flex-wrap:wrap;gap:14px!important;margin-top:10px}.footer-socials a{color:#d6d4cb}
.recruitment-hero{min-height:720px;position:relative;display:flex;align-items:flex-end;overflow:hidden}.recruitment-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.recruitment-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#000000e8,#00000078 52%,#00000020),linear-gradient(#0000 55%,#0009)}.recruitment-hero-copy{position:relative;z-index:2;padding:170px 4vw 80px;max-width:930px}.recruitment-hero-copy h1{font-size:clamp(58px,7.5vw,112px);line-height:.9;letter-spacing:-.07em;text-transform:uppercase;margin:20px 0 28px}.recruitment-hero-copy>p:not(.micro){font-size:21px;line-height:1.6;max-width:720px;color:#e0dfda}.recruitment-intro{padding-top:100px;padding-bottom:100px}.recruitment-form-section{padding:110px 4vw;display:grid;grid-template-columns:.82fr 1.18fr;gap:80px;align-items:start}.recruitment-form-copy{position:sticky;top:28px}.recruitment-form-copy h2{font-size:clamp(42px,5vw,72px);line-height:.95;letter-spacing:-.055em;text-transform:uppercase;margin:18px 0 24px}.recruitment-form-copy>p:not(.micro){color:#d0d0cb;font-size:17px;line-height:1.7}.tl-recruitment-form{background:#fff;color:#303131;padding:38px}.tl-recruitment-form input[type=file]{width:100%;padding:12px;border:1px solid #cfcfc9;background:#f6f5f1}.error-404-page{min-height:100vh;padding:200px 4vw 120px;display:flex;align-items:center}.error-404-inner{max-width:900px}.error-404-inner h1{font-size:clamp(64px,8vw,118px);line-height:.9;letter-spacing:-.07em;text-transform:uppercase;margin:18px 0 28px}.error-404-inner>p:not(.micro){font-size:20px;line-height:1.65;color:#d0d0cb;max-width:680px;margin-bottom:34px}
@media(max-width:950px){.recruitment-form-section{grid-template-columns:1fr;gap:42px;padding:80px 22px}.recruitment-form-copy{position:static}.recruitment-hero-copy{padding-left:22px;padding-right:22px}.tl-recruitment-form{padding:28px}.error-404-page{padding-left:22px;padding-right:22px}}
@media(max-width:560px){.recruitment-hero{min-height:680px}.recruitment-hero-copy h1{font-size:clamp(48px,14vw,70px)}.tl-recruitment-form{padding:22px}.error-404-inner h1{font-size:clamp(52px,15vw,76px)}}


/* V13 — PRE-PRODUCTION RESPONSIVE / ACCESSIBILITY QA */
html.tl-menu-open,html.tl-menu-open body{overflow:hidden}
.skip-link{position:fixed;left:14px;top:14px;z-index:99999;background:#fff;color:#111;padding:10px 14px;font-weight:800;text-decoration:none;transform:translateY(-180%);transition:transform .2s}
.skip-link:focus{transform:none}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #d8bd7c;outline-offset:3px}
.main-header nav a[aria-current="page"]:not(.nav-cta):not(.nav-store){color:var(--gold2);border-color:var(--gold)}
button[disabled],.gold-button[aria-busy="true"],.dark-button[aria-busy="true"]{opacity:.62;cursor:wait}
.form-status{min-height:22px;margin-top:16px;font-size:13px;line-height:1.45}
.form-status.is-success{color:#8bd49b}.section-light .form-status.is-success{color:#176b2b}
.form-status.is-error{color:#ffaaa4}.section-light .form-status.is-error{color:#a52e28}
.tl-lead-form input,.tl-lead-form select,.tl-lead-form textarea,.tl-recruitment-form input,.tl-recruitment-form select,.tl-recruitment-form textarea{font-size:16px}
img{max-width:100%}

/* tablet: preserve hierarchy without desktop-scale blocks */
@media(max-width:1100px) and (min-width:701px){
  .home-hero{min-height:720px;height:auto}.home-hero-content{width:min(720px,78vw)}
  .home-club-card{height:460px}
  .club-hero{min-height:680px}.club-hero-copy h1{font-size:clamp(60px,8vw,92px)}
  .plans-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-card{min-height:430px}
  .experience-grid--four{grid-template-columns:repeat(2,minmax(0,1fr))}
  .benefits-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer{grid-template-columns:1.3fr 1fr 1fr;gap:36px}
}

@media(max-width:950px){
  .main-header{position:absolute}.main-header nav{z-index:21}
  .main-header nav>a:not(.nav-cta):not(.nav-store){font-size:clamp(20px,4vw,28px)}
  .home-hero{height:auto;min-height:720px}.home-hero-content{min-height:720px;display:flex;flex-direction:column;justify-content:flex-end;padding-top:130px}
  .home-hero-content>p:not(.eyebrow){font-size:17px}
  .method-copy>h2{font-size:clamp(44px,8vw,72px)}
  .method-points,.experience-grid{margin-top:38px}
  .method-points h3,.experience-grid h3{margin-top:30px}
  .franchise-banner{min-height:620px}
  .content-grid{gap:34px}.lead-small{font-size:20px!important}
  .club-hero{min-height:650px}.club-hero-copy{padding-top:130px;padding-bottom:60px;max-width:760px}.club-hero-copy>p:not(.eyebrow){font-size:19px}
  .plans-grid{grid-template-columns:1fr 1fr}.plan-card{min-height:0}
  .schedule-section{gap:38px}.schedule-image{max-height:520px}
  .location-section,.club-details{padding-top:75px;padding-bottom:75px}
  .recruitment-hero{min-height:650px}
}

@media(max-width:700px){
  :root{--gutter:22px}
  .main-header{height:70px}.official-logo{width:118px}
  .home-hero{min-height:650px}.home-hero-content{min-height:650px;padding:110px 22px 54px}.home-hero-content h1{font-size:clamp(43px,13.2vw,60px);line-height:.93}.home-hero-content h1>span{white-space:normal}
  .intro-grid,.method-section,.club-showcase,.testimonials,.faq-section,.content-section,.experience-section,.plans-section,.form-section,.club-contact{padding-top:68px;padding-bottom:68px}
  .intro-grid h2,.section-head h2,.content-grid h2,.closing-cta h2{font-size:clamp(34px,10vw,48px)}
  .lead{font-size:17px}.section-label{margin-bottom:22px}
  .pillars article{min-height:230px;padding:34px 22px}.pillars h3{font-size:43px}
  .method-copy>h2{font-size:clamp(40px,11vw,54px)}.method-copy>p{font-size:17px}
  .method-points>div,.experience-grid>div{padding:26px 22px}.method-points h3,.experience-grid h3{font-size:26px}
  .section-head{gap:0}.section-head h2{margin-bottom:28px}
  .home-club-card{height:330px;padding:20px}.home-club-card h3{font-size:clamp(34px,11vw,48px)}
  .testimonial-grid blockquote{padding:30px 24px;font-size:18px}
  .franchise-banner{min-height:580px;padding:64px 22px}.franchise-banner h2,.franchise-banner h1{font-size:clamp(38px,11vw,52px)}.franchise-banner p:not(.eyebrow){font-size:16px}
  .faq-section summary{font-size:18px}.faq-section details{padding:18px 0}
  .closing-cta{padding:78px 22px}
  .footer{gap:32px}.footer .official-logo{width:200px}.footer-bottom{gap:8px}
  .club-hero{min-height:590px}.club-hero-copy{padding:120px 22px 48px}.club-hero-copy h1{font-size:clamp(46px,14vw,68px)}.club-hero-copy>p:not(.eyebrow){font-size:17px}
  .club-brand-logo{width:min(340px,84vw);margin:18px 0 22px}
  .about-points{margin-top:34px}.about-points article{min-height:0}
  .experience-grid--four,.benefits-grid,.plans-grid,.club-details-grid{grid-template-columns:1fr}
  .experience-grid--four>div{min-height:0}.benefits-grid article{min-height:0}.benefits-grid h3{margin-top:32px}
  .plan-card{padding:28px 22px}.plan-price{font-size:44px}
  .schedule-section{padding:68px 22px}.schedule-copy h2{font-size:clamp(40px,11vw,54px)}.schedule-image{max-height:none}
  .club-details,.location-section{padding:68px 22px}.club-details-title h2,.location-head h2{font-size:clamp(38px,11vw,52px)}
  .map-shell,.map-placeholder,.map-shell iframe{min-height:330px;height:330px}
  .trial-section{padding:64px 22px}.trial-section h2{font-size:clamp(40px,11vw,54px)}
  .team-section--compact{padding:68px 22px}.team-section--compact .team-image{width:min(250px,78vw)}.team-section--compact .team-copy h2{font-size:clamp(44px,13vw,62px)}
  .pilates-gallery{padding:68px 22px}.pilates-gallery-logo{width:min(310px,88vw);margin-bottom:30px}.pilates-gallery-copy h2{font-size:clamp(38px,11vw,50px)}
  .pilates-gallery-images--mosaic{grid-template-rows:230px 170px 170px}.pilates-gallery-image--hero{height:230px}
  .form-grid{gap:18px}.tl-lead-form,.tl-recruitment-form{width:100%}.gold-button,.dark-button{min-height:52px}
  .recruitment-hero{min-height:590px}.recruitment-hero-copy{padding-top:120px;padding-bottom:48px}.recruitment-form-section{padding:68px 22px}.tl-recruitment-form{padding:24px 18px}
  .legal-content{overflow-wrap:anywhere}.legal-content table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .other-clubs-band{font-size:12px}
}

@media(max-width:390px){
  .home-hero-content h1{font-size:42px}.club-hero-copy h1{font-size:44px}.home-club-card{height:300px}.home-club-card h3{font-size:36px}
  .gold-button,.dark-button{padding:16px 18px;gap:18px}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Final pre-production: campaign/header stacking */
.tl-campaign-banner{min-height:38px}
@media(max-width:700px){.tl-campaign-banner{padding-top:9px;padding-bottom:9px}}


/* V16 — FINAL VISUAL QA / POLISH */
:root{--content-max:1440px;--content-readable:1180px}
body{overflow-x:hidden}.tl-site main{overflow:hidden}
.main-header{padding-left:max(4vw,24px);padding-right:max(4vw,24px)}
.main-header nav{gap:20px}.main-header nav>a,.lang-switch a{transition:color .18s ease,border-color .18s ease,background .18s ease,opacity .18s ease}
.nav-cta:hover{background:#ffffff12}.nav-store:hover{background:#c0a66c!important;color:#111!important}
.gold-button,.dark-button{transition:transform .18s ease,filter .18s ease,background .18s ease}
.gold-button:hover,.dark-button:hover{transform:translateY(-1px);filter:brightness(1.04)}
.gold-button:active,.dark-button:active{transform:none}

/* institutional heroes now honour the CMS image field */
.page-hero{min-height:520px;position:relative;display:flex;align-items:flex-end;padding:170px 4vw 88px;overflow:hidden}
.page-hero-inner{position:relative;z-index:2;width:min(100%,var(--content-readable))}
.page-hero--image .page-hero-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.page-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#000000e8 0%,#0000009c 48%,#00000045 80%),linear-gradient(0deg,#0000006b 0%,transparent 45%)}
.page-hero h1{max-width:1100px;font-size:clamp(54px,6.6vw,98px);overflow-wrap:anywhere}
.page-hero p{max-width:760px}
.institutional-intro{padding-top:82px;padding-bottom:82px}
.section-copy{max-width:800px;font-size:17px;line-height:1.7;color:inherit;opacity:.82}

/* tighter rhythm: less oversized imagery and more controlled reading widths */
.home-hero{min-height:760px;max-height:940px}
.home-hero-content{width:min(760px,62vw);padding-top:145px}
.home-hero-content h1{font-size:clamp(56px,6.2vw,94px)}
.club-showcase{padding-top:105px;padding-bottom:105px}
.home-club-grid{max-width:var(--content-max);margin:0 auto}
.home-club-card{height:470px}
.club-hero{min-height:690px;max-height:860px}
.club-hero-copy{padding-bottom:64px}
.club-hero-copy h1{font-size:clamp(58px,7vw,104px)}
.content-section,.experience-section,.plans-section,.form-section,.faq-section,.testimonials{padding-top:92px;padding-bottom:92px}
.content-grid{max-width:var(--content-max);margin-left:auto;margin-right:auto}
.section-head-simple{max-width:920px}

/* Viana Pilates: editorial gallery rather than giant photography */
.pilates-gallery{padding-top:78px;padding-bottom:78px;gap:48px}
.pilates-gallery-images--mosaic{height:360px;grid-template-rows:172px 172px}
.pilates-gallery-image--hero{height:360px}
.gallery-size-small .pilates-gallery-images--mosaic{height:300px;grid-template-rows:142px 142px}
.gallery-size-small .pilates-gallery-image--hero{height:300px;max-height:300px}
.gallery-size-small .pilates-gallery-image{max-height:142px}
.gallery-size-medium .pilates-gallery-image--hero{max-height:360px}
.gallery-size-medium .pilates-gallery-image{max-height:172px}
.gallery-size-large .pilates-gallery-images--mosaic{height:460px;grid-template-rows:222px 222px}
.gallery-size-large .pilates-gallery-image--hero{height:460px;max-height:460px}
.gallery-size-large .pilates-gallery-image{max-height:222px}
.team-section--compact{padding-top:76px;padding-bottom:76px}.team-shell{max-width:1080px}.team-section--compact .team-image{width:250px}.team-section--compact .team-copy h2{font-size:clamp(40px,4.2vw,62px)}

/* cards / plans */
.plan-card{min-height:420px;padding:30px}.plan-card .dark-button{margin-top:22px}
.contact-club-grid{max-width:var(--content-max);margin:0 auto;gap:12px}.contact-club-grid article{min-height:280px}.contact-card-lines{display:flex;flex-direction:column;gap:7px;margin-bottom:18px}.contact-card-lines a{text-decoration:none}.contact-card-lines a:hover{text-decoration:underline}

/* forms: consistent controls and readable widths */
.form-section{grid-template-columns:minmax(280px,.85fr) minmax(440px,1.15fr);gap:64px;align-items:start}
.form-section>div,.recruitment-form-section>div,.tl-recruitment-form{min-width:0}
.tl-lead-form,.tl-recruitment-form{max-width:760px}
.form-grid input,.form-grid select,.form-grid textarea{min-height:52px;border-color:#8c8c87;border-radius:0;transition:border-color .18s ease,box-shadow .18s ease}
.form-grid textarea{min-height:132px;resize:vertical}
.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:#8d7544;box-shadow:0 0 0 1px #8d7544;outline:0}
.consent{font-weight:500!important;line-height:1.45}.consent input{min-height:0!important}
.form-status.is-success,.form-status.is-error{font-weight:700}

/* schedule and map are useful, not dominant */
.schedule-section{padding-top:86px;padding-bottom:86px;gap:54px}.schedule-image{max-height:560px}
.map-shell,.map-placeholder,.map-shell iframe{min-height:380px;height:380px}

/* recruitment */
.recruitment-hero{min-height:650px}.recruitment-form-section{padding-top:88px;padding-bottom:88px}.recruitment-form-copy{top:24px}.tl-recruitment-form{padding:32px}

/* footer */
.footer{padding-top:68px;gap:46px}.footer .official-logo{width:220px}.footer a:hover{color:#fff}.footer-socials a:hover{color:var(--gold2)}

@media(max-width:1100px) and (min-width:701px){
  .home-club-card{height:410px}.club-hero{min-height:620px}.page-hero{min-height:470px;padding-top:145px}.page-hero h1{font-size:clamp(52px,7vw,78px)}
  .pilates-gallery-images--mosaic{height:auto;grid-template-columns:1.25fr .75fr;grid-template-rows:250px 180px}.pilates-gallery-image--hero{height:250px;grid-column:1/-1;grid-row:auto}
  .form-section{grid-template-columns:1fr;gap:36px}.tl-lead-form{max-width:none}
}
@media(max-width:700px){
  .main-header{padding-left:20px;padding-right:20px}.home-hero{min-height:610px;max-height:none}.home-hero-content{min-height:610px;width:100%;padding:104px 20px 48px}.home-hero-content h1{font-size:clamp(40px,12.6vw,56px)}
  .page-hero{min-height:430px;padding:118px 20px 56px}.page-hero h1{font-size:clamp(40px,12vw,56px);line-height:.93}.page-hero p{font-size:16px}
  .club-showcase,.content-section,.experience-section,.plans-section,.form-section,.faq-section,.testimonials{padding-top:58px;padding-bottom:58px}
  .home-club-card{height:300px}.home-club-card h3{font-size:clamp(32px,10vw,43px)}
  .club-hero{min-height:540px;max-height:none}.club-hero-copy{padding:110px 20px 42px}.club-hero-copy h1{font-size:clamp(42px,13vw,60px)}
  .pilates-gallery{padding:58px 20px;gap:32px}.pilates-gallery-images--mosaic,.gallery-size-small .pilates-gallery-images--mosaic,.gallery-size-large .pilates-gallery-images--mosaic{height:auto;grid-template-columns:1fr;grid-template-rows:220px 150px 150px}.pilates-gallery-image--hero,.gallery-size-small .pilates-gallery-image--hero,.gallery-size-medium .pilates-gallery-image--hero,.gallery-size-large .pilates-gallery-image--hero{height:220px;max-height:220px}.gallery-size-small .pilates-gallery-image,.gallery-size-medium .pilates-gallery-image,.gallery-size-large .pilates-gallery-image{height:150px;max-height:150px}
  .team-section--compact{padding:58px 20px}.team-section--compact .team-image{width:220px}.team-brand-logo{margin-bottom:28px}
  .schedule-section,.club-details,.location-section{padding:58px 20px}.schedule-image{max-height:430px}.map-shell,.map-placeholder,.map-shell iframe{min-height:300px;height:300px}
  .trial-section{padding:56px 20px}.form-section{grid-template-columns:1fr;gap:30px}.tl-lead-form{max-width:none}.form-grid{grid-template-columns:1fr}.form-full{grid-column:auto}
  .recruitment-hero{min-height:540px}.recruitment-hero-copy{padding:110px 20px 44px}.recruitment-form-section{padding:58px 20px}.tl-recruitment-form{padding:20px}
  .footer{padding:56px 20px 24px}.footer .official-logo{width:180px}.footer-bottom{margin-top:18px}
  .institutional-intro{padding-top:58px;padding-bottom:58px}
}
@media(max-width:390px){.home-club-card{height:280px}.club-hero{min-height:510px}.page-hero{min-height:410px}.team-section--compact .team-image{width:200px}}
