:root{
  --ink:#07111f;--ink-2:#0c1b2f;--blue:#0b64e8;--blue-bright:#2c82ff;--cyan:#55dcf4;--sky:#dceaff;
  --paper:#f7f8f5;--white:#fff;--muted:#667080;--line:#dfe3e8;--green:#23c96b;
  --radius-sm:14px;--radius:24px;--radius-lg:34px;--shadow:0 22px 60px rgba(7,17,31,.12);
  --container:1160px;--gutter:clamp(1rem,4vw,2rem);--ease:cubic-bezier(.2,.8,.2,1);--font-main:"Montserrat",Arial,sans-serif;
}
body{font-family:var(--font-main);background:var(--paper);color:var(--ink);overflow-x:hidden}
body.has-dock{padding-bottom:calc(82px + env(safe-area-inset-bottom))}
.container{width:min(calc(100% - (var(--gutter) * 2)),var(--container));margin-inline:auto}
.section{padding:clamp(4.7rem,11vw,8.5rem) 0}.section--compact{padding:clamp(3rem,7vw,5.2rem) 0}
.skip-link{position:fixed;z-index:999;top:.5rem;left:.5rem;transform:translateY(-150%);background:var(--white);padding:.8rem 1rem;border-radius:.5rem;box-shadow:var(--shadow)}.skip-link:focus{transform:none}
.eyebrow{font-size:.69rem;font-weight:900;letter-spacing:.2em;color:var(--blue);margin-bottom:1rem}.eyebrow--light{color:#a7c7ff}.eyebrow--blue{color:#72aaff}
h1,h2,h3,.brand{font-family:var(--font-main);font-weight:900;letter-spacing:-.035em}
h2{font-size:clamp(2.75rem,12vw,6.7rem);letter-spacing:-.025em}h2 span{color:var(--blue)}h2 em{font-style:normal;color:var(--blue-bright)}
.section-heading{margin-bottom:2.3rem}.section-heading>p:last-child{margin-top:1.25rem;color:var(--muted);max-width:34rem}
.brand{display:inline-flex;align-items:center;line-height:.88}.brand__logo{width:clamp(4.5rem,20vw,6.2rem);height:auto;filter:drop-shadow(0 8px 22px rgba(0,0,0,.28))}.brand__logo--footer{width:5.5rem}.brand--light{color:var(--white)}
.button{min-height:54px;padding:.9rem 1.2rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:.85rem;font-size:.77rem;font-weight:900;letter-spacing:.075em;transition:transform .25s var(--ease),background .25s,color .25s,box-shadow .25s;cursor:pointer;text-align:center}.button svg,.outline-link svg{width:1.1rem;height:1.1rem;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.button:hover{transform:translateY(-2px)}.button:active{transform:scale(.98)}.button--primary{color:var(--white);background:var(--blue);box-shadow:0 12px 28px rgba(11,100,232,.3)}.button--primary:hover{background:var(--blue-bright)}.button--glass{color:var(--white);background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.35);backdrop-filter:blur(12px)}.button--white{color:var(--ink);background:var(--white)}.button--dark{color:var(--white);background:var(--ink)}.button--whatsapp{color:var(--ink);background:#4de486}.button--whatsapp svg{width:1.25rem;height:1.25rem;fill:currentColor}.button--wide{width:100%}
:focus-visible{outline:3px solid #f5bc3d;outline-offset:4px}
.hero{min-height:100svh;position:relative;display:flex;flex-direction:column;color:var(--white);background:var(--ink);isolation:isolate;overflow:hidden}.hero__media,.hero__shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.hero__media{background:linear-gradient(140deg,#061120 0%,#0d315e 60%,#0956bc 130%)}.hero__shade{z-index:-1;background:linear-gradient(180deg,rgba(3,8,15,.48),rgba(3,8,15,.12) 30%,rgba(3,8,15,.92) 92%),linear-gradient(90deg,rgba(3,8,15,.5),transparent 70%)}
.hero__top{padding-top:max(1.35rem,env(safe-area-inset-top));display:flex;align-items:center;justify-content:space-between;gap:1rem}.hero__location{font-size:.66rem;letter-spacing:.06em;font-weight:700;display:flex;align-items:center;gap:.35rem;color:rgba(255,255,255,.8)}.hero__location svg{width:1rem;height:1rem;fill:currentColor}
.hero__content{margin-top:auto;margin-bottom:7rem}.hero__brand-label{font-weight:500;letter-spacing:.08em;text-transform:none}.hero h1{width:max-content;max-width:100%;font-size:clamp(1.55rem,8.4vw,4.75rem);font-weight:900;line-height:.96;letter-spacing:-.04em}.hero h1>span{display:block;white-space:nowrap}.hero h1>span+span{margin-top:.08em}.hero h1 em{display:inline-block;position:relative;isolation:isolate;padding:0 .15em;font-style:normal;color:#fff}.hero h1 em::before{content:"";position:absolute;z-index:-1;inset:.04em -.02em -.02em;background:linear-gradient(135deg,var(--blue-bright),var(--blue));clip-path:polygon(4% 8%,100% 0,96% 92%,0 100%);transform:rotate(-1deg);box-shadow:0 .12em .35em rgba(11,100,232,.28)}.hero__values{margin-top:1.05rem;color:rgba(255,255,255,.78);font-size:clamp(.72rem,2.8vw,1rem);font-weight:600;line-height:1.4;letter-spacing:.09em;white-space:nowrap}.hero__word{display:inline-block;min-width:9.5ch;text-align:center;color:#58a0ff;opacity:1;transform:translateY(0);transition:opacity .36s var(--ease),transform .36s var(--ease);will-change:opacity,transform}.hero__word.is-changing{opacity:0;transform:translateY(5px)}.hero__lead{font-size:clamp(1rem,4vw,1.25rem);max-width:31rem;margin-top:.85rem;color:rgba(255,255,255,.8)}.hero__actions{display:grid;gap:.7rem;margin-top:1.8rem}.hero__scroll{position:absolute;left:50%;bottom:1.4rem;transform:translateX(-50%);display:flex;align-items:center;gap:.7rem;font-size:.55rem;font-weight:900;letter-spacing:.2em;color:rgba(255,255,255,.66)}.hero__scroll i{width:1.5rem;height:2.5rem;border:1px solid rgba(255,255,255,.45);border-radius:99px;position:relative}.hero__scroll i::after{content:"";width:3px;height:7px;background:#fff;border-radius:3px;position:absolute;top:6px;left:50%;transform:translateX(-50%);animation:scroll-dot 1.8s ease-in-out infinite}@keyframes scroll-dot{0%,100%{opacity:.35;transform:translate(-50%,0)}50%{opacity:1;transform:translate(-50%,10px)}}
.welcome{background:var(--white)}.welcome h2{font-size:clamp(2.5rem,10vw,4.4rem)}.welcome h2 span{color:var(--muted)}.status-card{margin-top:2rem;border:1px solid var(--line);background:var(--paper);border-radius:var(--radius-sm);padding:1rem 1.1rem;display:flex;align-items:center;gap:.8rem;max-width:25rem}.status-card__dot{width:.65rem;height:.65rem;border-radius:50%;background:#9aa3ae;box-shadow:0 0 0 5px rgba(154,163,174,.14)}.status-card.is-open .status-card__dot{background:var(--green);box-shadow:0 0 0 5px rgba(35,201,107,.13)}.status-card strong,.status-card small{display:block}.status-card strong{font-size:.86rem}.status-card small{font-size:.73rem;color:var(--muted);margin-top:.2rem}
.club{background:var(--ink)}.club__card{background:linear-gradient(145deg,#10243e,#07111f 67%);color:var(--white);padding:clamp(1.4rem,6vw,4rem);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-lg);box-shadow:0 30px 90px rgba(0,0,0,.28);position:relative;overflow:hidden}.club__glow{position:absolute;width:25rem;height:25rem;background:radial-gradient(circle,rgba(31,116,255,.34),transparent 65%);top:-12rem;right:-10rem;pointer-events:none}.club__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:4rem}.club__badge{font-size:.58rem;letter-spacing:.16em;font-weight:900;background:rgba(83,150,255,.14);color:#9cc2ff;border:1px solid rgba(115,169,255,.24);border-radius:99px;padding:.55rem .8rem}.club__monogram{width:3.4rem;height:3.4rem;border:1px solid rgba(255,255,255,.25);display:grid;place-items:center;border-radius:50%;font-family:var(--font-main)}.club h2{font-size:clamp(3rem,13vw,7.2rem);max-width:13ch}.club__intro{color:#9ca9ba;max-width:32rem;margin-top:1.2rem}.club__price{display:flex;align-items:baseline;gap:.35rem;margin:2.5rem 0 1.8rem}.club__price span{font-size:1.1rem;font-weight:900}.club__price strong{font-family:var(--font-main);font-size:clamp(4.4rem,20vw,8rem);line-height:.8;letter-spacing:-.03em}.club__price small{color:#9ca9ba}.club__benefits{border-block:1px solid rgba(255,255,255,.12);padding:1.2rem 0;display:grid;gap:1rem}.club__benefits li{display:flex;gap:.7rem;align-items:flex-start;color:#d9e0ea;font-size:.88rem}.club__benefits svg{width:1.2rem;height:1.2rem;flex:none;color:#6ba7ff;fill:none;stroke:currentColor;stroke-width:2}.club__actions{margin-top:1.4rem}.text-button{width:100%;padding:1.25rem 0 0;text-align:center;font-size:.75rem;color:#a8b2c0;text-decoration:underline;text-underline-offset:4px;cursor:pointer}.text-button span{display:inline-block;margin-left:.35rem;font-size:1rem;text-decoration:none;transition:transform .25s}.text-button[aria-expanded="true"] span{transform:rotate(45deg)}.club__details{margin-top:1.2rem;padding:1.2rem;background:rgba(255,255,255,.06);border-radius:var(--radius-sm);color:#bdc7d4;font-size:.85rem}.club__details small{display:block;color:#7390b3;margin-top:.6rem;font-family:monospace}
.services{background:var(--paper)}.services__grid{display:grid;gap:.8rem}.service-card{background:var(--white);border:1px solid #e6e8eb;border-radius:var(--radius);padding:1.3rem;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;transition:transform .3s var(--ease),box-shadow .3s}.service-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.service-card__number{font-family:var(--font-main);font-size:.8rem;color:#9aa3ae}.service-card__icon{width:3rem;height:3rem;border-radius:14px;background:#edf4ff;color:var(--blue);display:grid;place-items:center}.service-card__icon svg{width:1.5rem;height:1.5rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.service-card h3{font-size:1.08rem;font-family:var(--font-main);letter-spacing:.01em}.service-card p{font-size:.74rem;color:var(--muted);margin-top:.3rem}.service-card__meta{font-size:.7rem;color:var(--blue);font-weight:800;margin-top:.55rem}.service-card__action{width:2.7rem;height:2.7rem;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;transition:background .2s,color .2s}.service-card__action:hover{background:var(--blue);color:#fff}.service-card__action svg{width:1rem;fill:none;stroke:currentColor;stroke-width:2}
.booking{background:linear-gradient(var(--paper) 50%,var(--white) 50%)}.booking__card{background:var(--blue);color:var(--white);border-radius:var(--radius-lg);padding:clamp(1.5rem,7vw,4rem);position:relative;overflow:hidden;box-shadow:0 28px 65px rgba(11,100,232,.22)}.booking__card::after{content:"";position:absolute;right:-5rem;top:-6rem;width:18rem;height:18rem;border:3rem solid rgba(255,255,255,.06);border-radius:50%}.booking__icon{width:3.4rem;height:3.4rem;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.2);border-radius:16px;display:grid;place-items:center;margin-bottom:3.6rem}.booking__icon svg{width:1.6rem;height:1.6rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.booking h2{font-size:clamp(2.9rem,12vw,6.6rem);position:relative;z-index:1}.booking h2 em{color:#b8d4ff}.booking__copy>p:last-child{color:#d8e6ff;margin:1.2rem 0 1.7rem;max-width:31rem}.booking__card>small{display:block;text-align:center;margin-top:.9rem;color:#bfd6fb;font-size:.64rem}
.experience{background:var(--white);overflow:hidden}.experience__track{display:grid;grid-auto-flow:column;grid-auto-columns:82%;gap:.85rem;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:inline mandatory;padding-bottom:1rem;scrollbar-width:none}.experience__track::-webkit-scrollbar{display:none}.gallery-card{height:clamp(25rem,118vw,35rem);border-radius:var(--radius);overflow:hidden;position:relative;scroll-snap-align:center;background:linear-gradient(145deg,#0c2443,#07111f);isolation:isolate}.gallery-card::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,8,14,.9),transparent 52%)}.gallery-card__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.gallery-card__placeholder{position:absolute;inset:0;display:grid;place-items:center;color:rgba(255,255,255,.08);font-family:Impact,"Arial Narrow",sans-serif;font-size:7rem;transform:rotate(-10deg)}.gallery-card__content{position:absolute;z-index:1;left:1.3rem;right:1.3rem;bottom:1.3rem;color:#fff}.gallery-card__content span{font-size:.58rem;letter-spacing:.17em;color:#8fbdff;font-weight:900}.gallery-card__content h3{font-size:1.65rem;margin-top:.35rem}.gallery-card__content small{display:block;margin-top:.35rem;color:rgba(255,255,255,.55);font-size:.62rem}.experience__hint{display:flex;justify-content:space-between;align-items:center;margin-top:.6rem;color:#8a929c;font-size:.58rem;font-weight:800;letter-spacing:.14em}.experience__hint div{width:5rem;height:2px;background:#e0e3e6;position:relative}.experience__hint i{position:absolute;left:0;top:0;width:36%;height:100%;background:var(--blue)}
.reviews{background:var(--paper)}.reviews__track{display:grid;grid-auto-flow:column;grid-auto-columns:88%;gap:.8rem;overflow:auto;scroll-snap-type:inline mandatory;padding-bottom:1.5rem;scrollbar-width:none}.reviews__track::-webkit-scrollbar{display:none}.review-card{scroll-snap-align:center;background:var(--white);border:1px solid #e6e8eb;border-radius:var(--radius);padding:1.5rem;display:flex;flex-direction:column}.review-card__stars{display:flex;gap:.18rem;color:#f3b728}.review-card__stars svg{width:1rem;height:1rem;fill:currentColor}.review-card blockquote{font-size:1rem;font-weight:600;line-height:1.55;margin:1.3rem 0 1.7rem}.review-card__author{margin-top:auto;padding-top:1rem;border-top:1px solid #edf0f2}.review-card cite{display:block;font-style:normal;font-size:.75rem;font-weight:800;color:var(--ink)}.review-card small{display:block;font-size:.6rem;color:#8a94a2;margin-top:.35rem}.outline-link{margin-top:1.4rem;min-height:54px;border:1px solid #cfd4da;border-radius:99px;padding:.9rem 1.2rem;display:flex;align-items:center;justify-content:center;gap:.7rem;font-size:.7rem;font-weight:900;letter-spacing:.07em}
.location{background:var(--white)}.location__grid{display:grid;gap:1rem}.map-card,.hours-card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--paper)}.map-card{padding:clamp(.7rem,2vw,1rem);box-shadow:0 24px 60px rgba(7,17,31,.09)}.map-card__visual{height:220px;border-radius:18px;background:#dbe7f3;position:relative;overflow:hidden;isolation:isolate}.map-card__visual iframe{position:absolute;inset:0;width:100%;height:100%;border:0;pointer-events:none;filter:saturate(.9) contrast(1.03)}.map-card__visual::after{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(180deg,rgba(7,17,31,.02),rgba(7,17,31,.22));pointer-events:none}.map-card__map-link{position:absolute;z-index:2;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;cursor:pointer}.map-card__map-link:focus-visible{outline:3px solid #fff;outline-offset:-5px}.map-card__pin{position:absolute;left:50%;top:43%;width:3rem;height:3rem;color:#fff;background:var(--blue);border:3px solid #fff;border-radius:50% 50% 50% 0;transform:translate(-50%,-50%) rotate(-45deg);display:grid;place-items:center;box-shadow:0 12px 28px rgba(7,17,31,.32)}.map-card__pin svg{width:1.45rem;fill:currentColor;transform:rotate(45deg)}.map-card__label{position:absolute;left:50%;top:calc(43% + 2.45rem);transform:translateX(-50%);min-width:9.6rem;background:rgba(7,17,31,.92);color:#fff;padding:.55rem .75rem;border:1px solid rgba(255,255,255,.15);border-radius:10px;text-align:center;box-shadow:0 12px 30px rgba(7,17,31,.24);backdrop-filter:blur(12px)}.map-card__label small,.map-card__label strong{display:block}.map-card__label small{font-size:.45rem;font-weight:900;letter-spacing:.14em;color:#8fbdff}.map-card__label strong{margin-top:.18rem;font-size:.78rem;letter-spacing:.02em}.map-card__body{display:flex;gap:.8rem;align-items:flex-start;padding:1.2rem .3rem}.icon-circle{width:2.7rem;height:2.7rem;border-radius:50%;background:#e7f0ff;color:var(--blue);display:grid;place-items:center;flex:none}.icon-circle svg{width:1.25rem;height:1.25rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.map-card__body .icon-circle svg{fill:currentColor;stroke:none}.map-card__body strong{font-size:.95rem}.map-card address{font-size:.77rem;color:var(--muted);line-height:1.5;margin-top:.3rem}.map-card.reveal .map-card__visual iframe{opacity:0;transform:scale(1.02);transition:opacity .8s var(--ease) .08s,transform .9s var(--ease) .08s}.map-card.reveal.is-visible .map-card__visual iframe{opacity:1;transform:none}.map-card.reveal .map-card__pin{opacity:0;transform:translate(-50%,calc(-50% + 8px)) rotate(-45deg);transition:opacity .55s var(--ease) .25s,transform .65s var(--ease) .25s}.map-card.reveal.is-visible .map-card__pin{opacity:1;transform:translate(-50%,-50%) rotate(-45deg)}.map-card.reveal .map-card__label,.map-card.reveal .map-card__body{opacity:0;transform:translateY(6px);transition:opacity .55s var(--ease) .34s,transform .6s var(--ease) .34s}.map-card.reveal .map-card__label{transform:translate(-50%,6px)}.map-card.reveal.is-visible .map-card__label{opacity:1;transform:translate(-50%,0)}.map-card.reveal.is-visible .map-card__body{opacity:1;transform:none}.hours-card{padding:1.5rem;background:linear-gradient(155deg,#0c1b2f 0%,var(--ink) 58%,#06101e 100%);color:#fff;position:relative}.hours-card::after{content:"";position:absolute;width:11rem;height:11rem;border:2rem solid rgba(44,130,255,.07);border-radius:50%;right:-5.5rem;top:-5rem;pointer-events:none}.hours-card__heading{display:flex;align-items:center;gap:.9rem;padding-bottom:1.25rem;border-bottom:1px solid rgba(255,255,255,.12);position:relative;z-index:1}.hours-card__heading .icon-circle{background:rgba(80,150,255,.14);color:#7eb2ff}.hours-card__heading small{display:block;margin-bottom:.35rem;color:#78aefb;font-size:.55rem;font-weight:900;letter-spacing:.18em}.hours-card h3{font-size:1.15rem;line-height:1.08}.hours-card dl{display:grid;gap:.65rem;margin-top:1.15rem;position:relative;z-index:1}.hours-card__row{min-height:4.1rem;padding:.75rem .85rem;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.045);border-radius:14px;display:flex;align-items:center;justify-content:space-between;gap:1rem}.hours-card__row dt span,.hours-card__row dt small{display:block}.hours-card__row dt span{color:#8ab9ff;font-size:.58rem;font-weight:900;letter-spacing:.14em}.hours-card__row dt small{margin-top:.3rem;color:#8897aa;font-size:.6rem}.hours-card__row dd{color:#fff;font-size:1rem;font-weight:900;letter-spacing:-.01em;text-align:right;white-space:nowrap}.hours-card__row.is-closed{min-height:3.25rem;background:transparent}.hours-card__row.is-closed dd{color:#758398;font-size:.75rem}.hours-card>p{display:flex;align-items:flex-start;gap:.45rem;font-size:.61rem;line-height:1.5;color:#758398;margin-top:1rem}.hours-card>p span{color:#4f94ff;font-size:.5rem;margin-top:.18rem}
.contact{background:var(--white);padding-top:1rem}.contact__card{background:var(--ink);color:#fff;padding:clamp(1.6rem,8vw,4.5rem);border-radius:var(--radius-lg);position:relative;overflow:hidden}.contact__ring{position:absolute;width:18rem;height:18rem;border:3rem solid rgba(38,119,243,.18);border-radius:50%;right:-8rem;top:-7rem}.contact h2{font-size:clamp(2.8rem,12vw,6rem);position:relative}.contact>p,.contact__card>p:not(.eyebrow){color:#9faaba;margin:1rem 0 1.5rem}.contact .button{position:relative}
.instagram{background:var(--white)}.instagram h2{font-size:clamp(2.3rem,9vw,4rem)}.instagram__link{display:flex;align-items:center;gap:.8rem;margin-top:1.6rem;padding:1rem 0;border-block:1px solid var(--line);font-size:.8rem;font-weight:800}.instagram__link>svg{width:1.1rem;margin-left:auto;fill:none;stroke:currentColor;stroke-width:2}.instagram__link .icon-circle svg{stroke-width:1.7}
.footer{background:#050b14;color:#fff;padding:3rem 0 calc(2rem + env(safe-area-inset-bottom))}.footer__inner{display:grid;gap:2.2rem}.footer__info{font-size:.75rem;color:#97a3b4;line-height:1.7}.footer__info strong{display:block;color:#fff}.footer__info div{display:flex;gap:1.2rem;margin-top:.6rem}.footer__info a{text-decoration:underline;text-underline-offset:3px}.footer__inner>p{font-size:.65rem;color:#596577}
.mobile-dock{position:fixed;z-index:50;left:.65rem;right:.65rem;bottom:.65rem;display:grid;grid-template-columns:repeat(3,1fr);background:rgba(7,17,31,.94);color:#fff;border:1px solid rgba(255,255,255,.13);border-radius:21px;padding:.4rem .35rem calc(.4rem + env(safe-area-inset-bottom));box-shadow:0 18px 45px rgba(0,0,0,.3);backdrop-filter:blur(18px);transform:translateY(calc(130% + env(safe-area-inset-bottom)));opacity:0;transition:transform .35s var(--ease),opacity .35s;pointer-events:none}.mobile-dock.is-visible{transform:translateY(0);opacity:1;pointer-events:auto}.mobile-dock a{min-height:53px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.28rem;border-radius:15px;font-size:.61rem;font-weight:800;color:#aab5c5}.mobile-dock a:first-child{background:var(--blue);color:#fff}.mobile-dock svg{width:1.15rem;height:1.15rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.toast{position:fixed;z-index:100;left:50%;bottom:calc(95px + env(safe-area-inset-bottom));width:min(calc(100% - 2rem),24rem);transform:translate(-50%,1rem);padding:.9rem 1rem;background:#fff;color:var(--ink);border-radius:14px;box-shadow:0 15px 50px rgba(0,0,0,.24);font-size:.75rem;font-weight:700;opacity:0;pointer-events:none;transition:.25s var(--ease)}.toast.is-visible{opacity:1;transform:translate(-50%,0)}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease)}.reveal.is-visible{opacity:1;transform:none}
@media (min-width:600px){.hero__actions{grid-template-columns:max-content max-content}.welcome__grid{display:flex;justify-content:space-between;align-items:end}.status-card{margin:0}.services__grid{grid-template-columns:repeat(2,1fr)}.experience__track{grid-auto-columns:55%}.reviews__track{grid-auto-columns:46%}.contact .button{width:max-content;padding-inline:1.7rem}}
@media (min-width:900px){body.has-dock{padding-bottom:0}.hero{min-height:780px;height:100svh;max-height:1000px}.hero__content{margin-bottom:8rem}.club__card{display:grid;grid-template-columns:1.15fr .85fr;column-gap:4rem}.club__top{grid-column:1/-1}.club__copy{grid-column:1}.club__price{grid-column:1}.club__benefits{grid-column:2;grid-row:2 / span 2;align-content:center}.club__actions,.club__details{grid-column:2}.services__grid{grid-template-columns:repeat(3,1fr)}.service-card{grid-template-columns:auto 1fr;min-height:12.5rem;align-content:start}.service-card__action{grid-column:2;justify-self:end;align-self:end}.service-card__number{position:absolute;opacity:0}.section-heading--split{display:flex;align-items:end;justify-content:space-between}.section-heading--split>p{padding-bottom:.8rem}.experience__track{grid-auto-columns:32%;gap:1.1rem}.gallery-card{height:34rem}.reviews__track{grid-auto-flow:row;grid-template-columns:repeat(2,1fr);overflow:visible;gap:1rem}.outline-link{width:max-content;margin-inline:auto}.location__grid{grid-template-columns:1.4fr .6fr}.map-card__visual{height:22rem}.hours-card{display:flex;flex-direction:column}.hours-card dl{flex:1}.instagram__inner{display:flex;justify-content:space-between;align-items:end}.instagram__link{width:25rem;margin:0}.footer__inner{grid-template-columns:1fr 1fr auto;align-items:end}.mobile-dock{display:none}.toast{bottom:2rem}}
@media (max-width:350px){.hero__location{display:none}.club__price strong{font-size:3.9rem}.service-card{gap:.7rem;padding:1rem}.service-card__icon{width:2.6rem;height:2.6rem}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}

/* Catálogo de serviços */
.visually-hidden{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}
body.sheet-open{overflow:hidden}
.club__plans{display:grid;gap:.8rem;margin:2rem 0 1.4rem}.club-plan{padding:1rem;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.045);border-radius:18px;display:flex;flex-direction:column;transition:border-color .25s,background .25s}.club-plan:has(.club-plan__details-button[aria-expanded="true"]){border-color:rgba(105,164,255,.38);background:rgba(70,135,235,.075)}.club-plan__summary{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem}.club-plan__summary span{max-width:12ch;font-size:.72rem;font-weight:900;line-height:1.25;letter-spacing:.06em;text-transform:uppercase}.club-plan__summary strong{color:#fff;font-size:1.05rem;line-height:1;text-align:right;white-space:nowrap}.club-plan__details-button{min-height:44px;margin-top:.8rem;padding:.65rem 0;border-top:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:space-between;gap:1rem;color:#aeb9c8;font-size:.7rem;font-weight:700;cursor:pointer;text-align:left}.club-plan__details-button i{font-style:normal;color:#75aaff;font-size:1rem;transition:transform .25s}.club-plan__details-button[aria-expanded="true"] i{transform:rotate(180deg)}.club-plan__details{padding:.85rem;margin-bottom:.8rem;border-radius:12px;background:rgba(255,255,255,.055);color:#aeb9c8;font-size:.72rem;line-height:1.55}.club-plan__details strong{color:#fff}.club-plan__subscribe{min-height:50px;margin-top:auto;padding-inline:.85rem;font-size:.66rem}.club-plan__subscribe svg{flex:none}
.services__media{aspect-ratio:16/9;display:grid;grid-template-columns:repeat(3,1fr);gap:3px;position:relative;overflow:hidden;margin-bottom:1rem;border-radius:var(--radius);background:var(--ink);box-shadow:0 20px 50px rgba(7,17,31,.16)}.services__media::after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14),inset 0 -4rem 5rem rgba(3,8,14,.16)}.services__media img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease),filter .4s}.services__media img:nth-child(1){object-position:58% 52%}.services__media img:nth-child(2){object-position:50% 42%}.services__media img:nth-child(3){object-position:50% 50%}.services__media:hover img{filter:saturate(1.06) contrast(1.03)}.services__media:hover img:nth-child(2){transform:scale(1.025)}
.services__grid{display:grid;grid-template-columns:1fr;gap:.85rem}.service-feature{min-height:19rem;padding:1.25rem;border:1px solid #dce2e8;background:linear-gradient(155deg,#fff 0%,#fbfcfe 100%);border-radius:var(--radius);display:flex;flex-direction:column;align-items:stretch;position:relative;overflow:hidden;box-shadow:0 8px 24px rgba(7,17,31,.045);transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s}.service-feature::before{content:"";position:absolute;width:12rem;height:12rem;right:-8rem;bottom:-9rem;border-radius:50%;background:rgba(11,100,232,.06);transition:transform .55s var(--ease)}.service-feature:hover{transform:translateY(-5px);border-color:#b9cff0;box-shadow:0 22px 52px rgba(7,17,31,.12)}.service-feature:active{transform:translateY(-1px) scale(.995)}.service-feature:hover::before{transform:scale(1.25)}.service-feature__top{min-height:3.4rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;position:relative;z-index:1}.service-feature__icon{width:3.35rem;height:3.35rem;display:grid;place-items:center;border-radius:16px;background:#e8f1ff;color:var(--blue);box-shadow:inset 0 0 0 1px rgba(11,100,232,.04);transition:opacity .45s var(--ease),transform .4s var(--ease),background .3s,color .3s}.service-feature.reveal .service-feature__icon{opacity:0;transform:translateY(8px)}.service-feature.reveal.is-visible .service-feature__icon{opacity:1;transform:none}.service-feature.reveal.is-visible:hover .service-feature__icon{transform:translateY(-2px) rotate(-3deg);background:var(--blue);color:#fff}.service-feature__icon svg{width:1.55rem;height:1.55rem;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.service-feature__badge{padding:.48rem .65rem;border-radius:999px;background:#dceaff;color:#0751ba;font-size:.5rem;font-weight:900;letter-spacing:.12em}.service-feature__copy{margin-top:1.35rem;position:relative;z-index:1}.service-feature__intent{display:block;margin-bottom:.55rem;color:var(--blue);font-size:.58rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.service-feature h3{font-family:var(--font-main);font-size:1.1rem;text-transform:uppercase;letter-spacing:-.01em;line-height:1.15}.service-feature p{font-size:.76rem;color:var(--muted);line-height:1.55;margin-top:.55rem;max-width:35ch}.service-feature__includes{display:flex;align-items:center;gap:.45rem;margin-top:.85rem;color:#405064;font-size:.65rem;font-weight:800}.service-feature__includes svg{width:1rem;height:1rem;flex:none;fill:none;stroke:var(--blue);stroke-width:2.3}.service-feature__action{min-height:48px;width:100%;margin-top:auto;padding:.75rem .8rem .75rem 1rem;border-radius:14px;background:#edf4ff;color:#0757cb;display:flex;align-items:center;justify-content:space-between;gap:.75rem;font-size:.66rem;font-weight:900;text-align:left;cursor:pointer;position:relative;z-index:2;transition:background .25s,color .25s,transform .25s}.service-feature__action i{width:2rem;height:2rem;border-radius:50%;background:#fff;display:grid;place-items:center;flex:none;font-style:normal;box-shadow:0 4px 12px rgba(7,17,31,.08);transition:transform .3s var(--ease)}.service-feature__action svg{width:1rem;fill:none;stroke:currentColor;stroke-width:2.2}.service-feature__action:hover{background:var(--blue);color:#fff}.service-feature__action:active{transform:scale(.985)}.service-feature__action:hover i{transform:translateX(3px);color:var(--blue)}.service-feature--featured{background:linear-gradient(145deg,#0a192b,#06101d);color:#fff;border-color:#0b213c;box-shadow:0 18px 42px rgba(7,17,31,.2)}.service-feature--featured::before{background:rgba(44,130,255,.16)}.service-feature--featured::after{content:"";position:absolute;width:9rem;height:9rem;border:2rem solid rgba(38,116,232,.1);border-radius:50%;right:-3.5rem;top:-4rem}.service-feature--featured .service-feature__icon{background:rgba(80,150,255,.14);color:#78b2ff}.service-feature--featured.reveal.is-visible:hover .service-feature__icon{background:#2277ed;color:#fff}.service-feature--featured .service-feature__badge{background:rgba(75,143,247,.16);color:#9bc5ff;border:1px solid rgba(112,169,255,.18)}.service-feature--featured .service-feature__intent{color:#7fb4ff}.service-feature--featured p{color:#a8b4c4}.service-feature--featured .service-feature__includes{color:#d6e0ed}.service-feature--featured .service-feature__action{background:#1769de;color:#fff}.service-feature--featured .service-feature__action i{color:#1769de}
.services__all-button{width:100%;min-height:58px;margin-top:.8rem;padding:1rem 1.2rem;border:1px solid #cfd5dc;border-radius:999px;display:flex;align-items:center;justify-content:center;gap:.7rem;font-size:.7rem;font-weight:900;letter-spacing:.075em;cursor:pointer;transition:background .25s,color .25s}.services__all-button:hover{background:var(--ink);color:#fff}.services__all-button svg{width:1rem;fill:none;stroke:currentColor;stroke-width:2.2}
.services__conversion{margin-top:1rem;padding:1.25rem;background:#e8f1ff;border-radius:var(--radius);display:grid;gap:1rem;align-items:center}.services__conversion span{font-size:.63rem;font-weight:900;letter-spacing:.14em;color:var(--blue)}.services__conversion p{font-size:.79rem;color:#546174;margin-top:.35rem}.services__conversion .button{width:100%}
.services-sheet{position:fixed;z-index:90;inset:0;display:grid;align-items:end;isolation:isolate}.services-sheet[hidden]{display:none}.services-sheet__backdrop{position:absolute;z-index:-1;inset:0;width:100%;height:100%;background:rgba(2,7,14,.72);opacity:0;cursor:pointer;transition:opacity .32s var(--ease)}.services-sheet__panel{width:100%;height:min(88dvh,880px);background:var(--paper);border-radius:28px 28px 0 0;display:flex;flex-direction:column;transform:translateY(102%);transition:transform .32s var(--ease);box-shadow:0 -24px 70px rgba(0,0,0,.25);outline:0;overflow:hidden;padding-bottom:env(safe-area-inset-bottom)}.services-sheet.is-open .services-sheet__backdrop{opacity:1}.services-sheet.is-open .services-sheet__panel{transform:translateY(0)}.services-sheet__handle{width:2.7rem;height:4px;border-radius:99px;background:#c5cbd2;margin:.7rem auto .4rem;flex:none}.services-sheet__header{padding:.65rem 1.1rem 1rem;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex:none}.services-sheet__header .eyebrow{margin-bottom:.5rem}.services-sheet__header h2{font-family:Impact,"Arial Narrow",sans-serif;font-size:2.2rem;letter-spacing:0}.services-sheet__header p:last-child{font-size:.73rem;color:var(--muted);margin-top:.3rem}.services-sheet__close{width:2.7rem;height:2.7rem;border:1px solid var(--line);background:#fff;border-radius:50%;display:grid;place-items:center;cursor:pointer;flex:none}.services-sheet__close svg{width:1.1rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.service-search{min-height:50px;margin:0 1.1rem 1rem;padding:0 .9rem;border:1px solid #d9dee4;background:#fff;border-radius:14px;display:flex;align-items:center;gap:.65rem;flex:none}.service-search>svg{width:1.15rem;fill:none;stroke:#778291;stroke-width:1.8}.service-search input{min-width:0;flex:1;border:0;outline:0;background:transparent;font-size:.83rem;color:var(--ink)}.service-search input::placeholder{color:#8d97a4}.service-search button{width:2rem;height:2rem;border-radius:50%;cursor:pointer;color:#7a8491;font-size:1.2rem}.services-sheet__content{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 1.1rem 2rem}.service-category+ .service-category{margin-top:1.5rem}.service-category h3{font-family:Arial,"Helvetica Neue",sans-serif;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--blue);padding:.45rem 0}.service-category ul{background:#fff;border:1px solid #e2e5e9;border-radius:18px;overflow:hidden}.service-category li+li{border-top:1px solid #edf0f2}.service-category a{min-height:54px;padding:.8rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.82rem;font-weight:700;transition:background .2s}.service-category a:hover{background:#f2f6fb}.service-category a>span{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex:1}.service-category a small{color:var(--blue);font-size:.7rem}.service-category a>svg{width:1rem;fill:none;stroke:#87919e;stroke-width:2}.services-sheet__empty{margin:auto;padding:2rem;text-align:center;color:var(--muted);font-size:.82rem}.services-sheet__footer{padding:.8rem 1.1rem 1rem;background:linear-gradient(transparent,#f7f8f5 20%);flex:none}
@media (min-width:600px){.services__grid{grid-template-columns:repeat(2,1fr)}.services__conversion{grid-template-columns:1fr auto}.services__conversion .button{width:max-content}}
@media (min-width:900px){.services__grid{grid-template-columns:repeat(2,1fr)}.services__media{aspect-ratio:21/7}.service-feature{min-height:20rem;padding:1.5rem}.services-sheet{align-items:center;padding:1rem}.services-sheet__panel{max-width:660px;height:min(86dvh,820px);margin-inline:auto;border-radius:28px}.services-sheet__content{padding-inline:1.5rem}.services-sheet__header{padding-inline:1.5rem}.service-search{margin-inline:1.5rem}.services-sheet__footer{padding-inline:1.5rem}.club__plans{grid-column:1;align-self:start}.club__benefits{grid-column:2;grid-row:2 / span 2}}
@media (max-width:350px){.services-sheet__header h2{font-size:1.9rem}.service-feature{min-height:13rem}.club-plan strong{font-size:1.25rem}}

/* Mantém Montserrat também nos componentes com tipografia própria. */
.gallery-card__placeholder,.services__media>span,.services-sheet__header h2,.service-feature h3,.service-category h3{font-family:var(--font-main)}

/* Variação compacta da marca */
.club__monogram{width:3.4rem;height:4.5rem;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible;flex:none}
.club__monogram img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 7px 16px rgba(0,0,0,.34)) drop-shadow(0 0 12px rgba(44,130,255,.16))}
.gallery-card__placeholder-logo{position:absolute;z-index:0;left:50%;top:50%;width:32%;height:auto;transform:translate(-50%,-50%) rotate(-7deg);opacity:.11;filter:drop-shadow(0 12px 30px rgba(0,0,0,.35))}

@media (min-width:900px){.club__plans{grid-column:1/-1;grid-template-columns:repeat(3,1fr);align-self:start}.club-plan__summary{align-items:flex-start;flex-direction:column}.club-plan__summary strong{text-align:left}}

/* Intro cinematográfica Stylo Real */
html.intro-pending,html.intro-pending body{overflow:hidden}
.brand-intro{display:none;position:fixed;z-index:1000;inset:0;overflow:hidden;pointer-events:auto;color:#fff;font-family:var(--font-main)}
html.intro-pending .brand-intro{display:block}
.brand-intro__panel{position:absolute;z-index:0;left:0;width:100%;height:calc(50% + 1px);background:#020407;will-change:transform}
.brand-intro__panel--top{top:0}.brand-intro__panel--bottom{bottom:0}
.brand-intro__stage{position:absolute;z-index:1;inset:0;overflow:hidden}
.brand-intro__spark{position:absolute;z-index:3;left:50%;top:calc(50% - clamp(3.8rem,9vw,6.2rem));width:clamp(2.4rem,8vw,4.8rem);height:2px;border-radius:99px;background:var(--blue-bright);box-shadow:0 0 18px rgba(44,130,255,.58);opacity:0;transform:translateX(-50%) scaleX(0);transform-origin:center}
.brand-intro__mark{position:absolute;z-index:2;left:50%;top:50%;width:min(90vw,46rem);transform:translate(-50%,-86%);text-align:center;opacity:0}
.brand-intro__mark strong,.brand-intro__mark small{display:block}
.brand-intro__mark strong{font-size:clamp(1.8rem,8.8vw,4.6rem);font-weight:900;line-height:.92;letter-spacing:-.045em;white-space:nowrap}
.brand-intro__mark strong span{position:relative}.brand-intro__mark strong span::after{content:"";position:absolute;left:.04em;right:.04em;bottom:-.07em;height:.065em;min-height:2px;background:var(--blue-bright);border-radius:99px}
.brand-intro__mark small{margin-top:clamp(.8rem,2vw,1.15rem);font-size:clamp(.48rem,1.7vw,.72rem);font-weight:600;letter-spacing:.48em;color:#9ba8b8}
.brand-intro__mark--final{color:#fff;clip-path:inset(0 100% 0 0)}
.brand-intro__cut-line{position:absolute;z-index:4;left:0;top:50%;width:100%;height:1px;background:linear-gradient(90deg,transparent 0%,#2c82ff 16%,#dceaff 74%,transparent 100%);opacity:0;transform:scaleX(0);transform-origin:left;box-shadow:0 0 12px rgba(44,130,255,.42)}
.brand-intro__clipper{position:absolute;z-index:5;left:50%;top:50%;width:clamp(5rem,16vw,8.2rem);height:auto;overflow:visible;opacity:0;filter:drop-shadow(0 14px 22px rgba(0,0,0,.5));will-change:transform}
.brand-intro.is-running .brand-intro__spark{animation:intro-spark .28s var(--ease) .2s forwards}
.brand-intro.is-running .brand-intro__mark--base{animation:intro-mark-base .24s ease-out .4s forwards}
.brand-intro.is-running .brand-intro__mark--final{animation:intro-mark-reveal .72s linear .6s forwards}
.brand-intro.is-running .brand-intro__cut-line{animation:intro-cut-line .76s linear .58s forwards}
.brand-intro.is-running .brand-intro__clipper{animation:intro-clipper-pass .78s cubic-bezier(.38,.02,.19,1) .56s forwards}
.brand-intro.is-running .brand-intro__blade{animation:intro-blade-vibrate .08s steps(2,end) .58s 10}
.brand-intro.is-running .brand-intro__stage{animation:intro-stage-out .18s ease 1.36s forwards}
.brand-intro.is-running .brand-intro__panel--top{animation:intro-panel-top .46s cubic-bezier(.72,0,.2,1) 1.38s forwards}
.brand-intro.is-running .brand-intro__panel--bottom{animation:intro-panel-bottom .46s cubic-bezier(.72,0,.2,1) 1.38s forwards}
.brand-intro.is-complete{visibility:hidden;pointer-events:none}
@keyframes intro-spark{0%{opacity:0;transform:translateX(-50%) scaleX(0)}35%{opacity:1}100%{opacity:1;transform:translateX(-50%) scaleX(1)}}
@keyframes intro-mark-base{from{opacity:0;transform:translate(-50%,calc(-86% + 5px))}to{opacity:.25;transform:translate(-50%,-86%)}}
@keyframes intro-mark-reveal{0%{opacity:1;clip-path:inset(0 100% 0 0)}100%{opacity:1;clip-path:inset(0 0 0 0)}}
@keyframes intro-cut-line{0%{opacity:0;transform:scaleX(0)}8%{opacity:1}88%{opacity:1}100%{opacity:.75;transform:scaleX(1)}}
@keyframes intro-clipper-pass{0%{opacity:0;transform:translate3d(calc(-50vw - 100%),-45%,0)}5%{opacity:1}94%{opacity:1}100%{opacity:0;transform:translate3d(calc(50vw + 16%),-45%,0)}}
@keyframes intro-blade-vibrate{0%,100%{transform:translateY(0)}25%{transform:translateY(1px)}50%{transform:translateY(0)}75%{transform:translateY(-1px)}}
@keyframes intro-stage-out{to{opacity:0}}
@keyframes intro-panel-top{to{transform:translateY(-101%)}}
@keyframes intro-panel-bottom{to{transform:translateY(101%)}}
@media (max-width:430px){.brand-intro__clipper{width:clamp(4.8rem,23vw,6.1rem)}.brand-intro__mark{width:94vw}.brand-intro__mark small{letter-spacing:.4em}}
@media (prefers-reduced-motion:reduce){.brand-intro.is-reduced .brand-intro__spark,.brand-intro.is-reduced .brand-intro__cut-line,.brand-intro.is-reduced .brand-intro__clipper,.brand-intro.is-reduced .brand-intro__mark--final{display:none}.brand-intro.is-reduced .brand-intro__mark--base{opacity:1;transform:translate(-50%,-86%);animation:none}.brand-intro.is-reduced .brand-intro__stage,.brand-intro.is-reduced .brand-intro__panel{animation:none}}
