@font-face{font-family:VL Display;src:local("Arial Black");font-display:swap}
:root{
  --ink:#050505;--ink-2:#0b0b0b;--paper:#f2f1ed;--white:#fff;--muted:#9c9c98;
  --line-dark:rgba(0,0,0,.16);--line-light:rgba(255,255,255,.18);
  --shell:min(1280px,calc(100vw - 72px));--header-h:86px;--ease:cubic-bezier(.22,.72,.18,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px;background:var(--ink)}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Arial,Helvetica,sans-serif;font-size:16px;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;z-index:9998;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.94' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E")}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
button{color:inherit}
img{display:block;max-width:100%}
::selection{background:#111;color:#fff}
.shell{width:var(--shell);margin-inline:auto}
.section{padding:clamp(96px,11vw,168px) 0}
.section--dark{background:var(--ink);color:var(--white)}
.section--paper{background:#e8e7e2}
.skip-link{position:fixed;z-index:10000;left:10px;top:10px;padding:12px 15px;background:#fff;color:#000;transform:translateY(-160%);transition:transform .2s}
.skip-link:focus{transform:translateY(0)}

/* Loader, cursor and progress */
.site-loader{position:fixed;inset:0;z-index:10001;display:grid;place-content:center;gap:22px;background:#050505;color:#fff;transition:clip-path .85s var(--ease) .05s;clip-path:inset(0)}
.site-loader.is-done{clip-path:inset(0 0 100% 0);pointer-events:none}
.loader-brand{display:flex;gap:.2em;font:900 clamp(44px,8vw,116px)/.8 "VL Display",Impact,sans-serif;letter-spacing:-.085em;text-transform:uppercase}
.loader-brand span:last-child{color:transparent;-webkit-text-stroke:1px #fff}
.loader-line{width:min(440px,70vw);height:1px;background:#333;overflow:hidden}
.loader-line i{display:block;width:100%;height:100%;background:#fff;transform:translateX(-100%);animation:loader 1s var(--ease) forwards}
.loader-city{font-size:9px;letter-spacing:.3em;text-align:right;color:#888}
@keyframes loader{to{transform:translateX(0)}}
.scroll-progress{position:fixed;z-index:1000;top:0;left:0;width:100%;height:2px;pointer-events:none}
.scroll-progress span{display:block;width:100%;height:100%;background:#fff;transform:scaleX(0);transform-origin:left}
.cursor-dot,.cursor-ring{position:fixed;z-index:10002;top:0;left:0;border-radius:50%;pointer-events:none;opacity:0;mix-blend-mode:difference}
.cursor-dot{width:5px;height:5px;background:#fff}
.cursor-ring{width:32px;height:32px;border:1px solid #fff;transition:width .22s,height .22s,background .22s}
body.cursor-ready .cursor-dot,body.cursor-ready .cursor-ring{opacity:1}
.cursor-ring.is-hover{width:54px;height:54px;background:rgba(255,255,255,.12)}

/* Announcement and navigation */
.offer-bar{position:relative;z-index:110;background:#fff;color:#050505;border-bottom:1px solid #d6d6d4}
.offer-bar[hidden]{display:none}
.offer-bar__inner{width:var(--shell);min-height:38px;margin:auto;display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:28px;font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.offer-bar__tag{font-weight:900}.offer-bar p{margin:0;display:flex;align-items:center;gap:10px}.offer-bar p strong{font-size:12px}.offer-bar p i{width:1px;height:12px;background:#aaa}.offer-bar__date{color:#777}.offer-bar a{font-weight:900;border-left:1px solid #ccc;padding-left:22px}.offer-bar a span{margin-left:5px}
.site-header{position:absolute;z-index:100;top:38px;left:0;width:100%;height:var(--header-h);padding:0 max(36px,calc((100vw - 1280px)/2));display:flex;align-items:center;gap:34px;color:#fff;border-bottom:1px solid var(--line-light);transition:background .3s,transform .4s var(--ease),top .3s}
.site-header.is-sticky{position:fixed;top:0;background:rgba(5,5,5,.92);backdrop-filter:blur(16px)}
.site-header.is-hidden{transform:translateY(-105%)}
.brand{display:inline-flex;align-items:center;gap:13px;flex:none}
.brand__mark{width:42px;height:42px;display:grid;place-items:center;border:1px solid currentColor;font:900 14px/1 "VL Display",Arial Black,sans-serif;letter-spacing:-.09em}
.brand__mark img{display:block;width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.site-header .brand__mark img,.brand--footer .brand__mark img,.space-detail .brand__mark img{filter:invert(1);mix-blend-mode:screen}
.brand__copy{display:flex;flex-direction:column;gap:5px;line-height:1}
.brand__copy strong{font-size:13px;letter-spacing:.09em}.brand__copy small{font-size:8px;letter-spacing:.42em;color:#a8a8a8}
.desktop-nav{margin-left:auto;display:flex;gap:27px;font-size:11px;font-weight:700}
.desktop-nav a{position:relative;padding:8px 0;color:#d4d4d4;transition:color .2s}
.desktop-nav a::after{content:"";position:absolute;left:0;bottom:2px;width:100%;height:1px;background:#fff;transform:scaleX(0);transform-origin:right;transition:transform .3s var(--ease)}
.desktop-nav a:hover,.desktop-nav a.active{color:#fff}.desktop-nav a:hover::after,.desktop-nav a.active::after{transform:scaleX(1);transform-origin:left}
.header-status{display:flex;align-items:center;gap:8px;margin-left:12px;font-size:9px;letter-spacing:.08em;color:#aaa;white-space:nowrap}
.header-status i,.club-opening i{display:block;flex:none;width:8px;height:8px;border-radius:50%;background:#aaa}
.club-opening[data-state="open"] i{background:#4ade80;box-shadow:0 0 0 3px rgb(74 222 128 / 14%)}
.club-opening[data-state="closed"] i{background:#f87171;box-shadow:0 0 0 3px rgb(248 113 113 / 14%)}
.header-status i{width:6px;height:6px;background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.12)}
.header-status.is-closed i{background:#777;box-shadow:none}
.hero-identity{display:flex;align-items:center;flex-wrap:wrap;gap:12px 22px}
.club-opening{display:inline-flex;align-items:center;gap:9px;white-space:nowrap;color:#fff;font-size:14px;font-weight:600;line-height:1.4;letter-spacing:.02em}
.header-cta{height:42px;min-width:142px;padding:0 15px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fff;color:#000;font-size:10px;font-weight:900;overflow:hidden}
.header-cta i,.button i{font-style:normal;transition:transform .25s var(--ease)}
.header-cta:hover i,.button:hover i{transform:translate(3px,-3px)}
.menu-toggle{display:none;width:44px;height:44px;padding:0 11px;border:1px solid var(--line-light);background:transparent;cursor:pointer}
.menu-toggle span{display:block;height:1px;margin:7px 0;background:#fff;transition:transform .28s var(--ease)}
.menu-toggle.active span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle.active span:last-child{transform:translateY(-4px) rotate(-45deg)}
.mobile-nav{position:fixed;z-index:90;inset:0;padding:140px 30px 35px;background:#050505;color:#fff;display:flex;flex-direction:column;visibility:hidden;opacity:0;transform:translateY(-20px);transition:opacity .35s,transform .45s var(--ease),visibility .35s}
.mobile-nav.open{visibility:visible;opacity:1;transform:none}
.mobile-nav__index{font-size:9px;color:#777;letter-spacing:.18em}.mobile-nav>nav{margin:auto 0;display:grid}
.mobile-nav>nav a{display:flex;align-items:center;gap:20px;padding:13px 0;border-bottom:1px solid var(--line-light);font:900 clamp(38px,12vw,70px)/1 "VL Display",Impact,sans-serif;letter-spacing:-.06em;text-transform:uppercase}
.mobile-nav>nav a span{font:500 9px/1 Arial,sans-serif;color:#777;letter-spacing:.1em}
.mobile-nav__foot{display:flex;justify-content:space-between;gap:20px;color:#999;font-size:10px}

/* Hero */
.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;background:#050505;color:#fff}
.hero__media{position:absolute;inset:0;background-image:none;background-size:cover;background-position:center 42%;filter:saturate(.78) contrast(1.08) brightness(.64);transform:scale(1.05);will-change:transform}
.hero__veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.93) 0%,rgba(0,0,0,.64) 47%,rgba(0,0,0,.18) 82%),linear-gradient(0deg,rgba(0,0,0,.82) 0%,transparent 43%),radial-gradient(circle at 78% 20%,transparent,rgba(0,0,0,.32) 65%)}
.hero__grid{position:relative;z-index:2;display:grid;grid-template-columns:1fr auto;align-items:end;gap:60px;padding-top:calc(var(--header-h) + 92px);padding-bottom:165px}
.kicker{display:inline-flex;align-items:center;gap:11px;font-size:9px;font-weight:800;letter-spacing:.2em;color:#bbb}.kicker>span{width:35px;height:1px;background:currentColor}.kicker--dark{color:#666}
.hero h1{margin:24px 0 24px;font:900 clamp(76px,12.2vw,176px)/.72 "VL Display",Impact,Arial Black,sans-serif;letter-spacing:-.09em;text-transform:uppercase}
.title-line{display:block;overflow:hidden;padding-right:.1em}.title-line i{display:block;font-style:normal;transform:translateY(120%);animation:title-in 1s var(--ease) .9s forwards}.title-line:nth-child(2) i{animation-delay:1.04s}
.title-line.outline{color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.82)}
@keyframes title-in{to{transform:none}}
.hero-reveal{opacity:0;transform:translateY(16px);animation:fade-up .75s var(--ease) 1.25s forwards}.hero__lead.hero-reveal{animation-delay:1.32s}.hero__actions.hero-reveal{animation-delay:1.4s}.hero__side.hero-reveal{animation-delay:1.48s}
@keyframes fade-up{to{opacity:1;transform:none}}
.hero__lead{max-width:600px;margin:0 0 30px;color:#c6c6c6;font-size:clamp(15px,1.4vw,19px);line-height:1.7}
.hero__actions{display:flex;flex-wrap:wrap;gap:10px}
.button{position:relative;min-height:52px;padding:0 20px;display:inline-flex;align-items:center;justify-content:space-between;gap:35px;border:1px solid transparent;font-size:10px;font-weight:900;letter-spacing:.055em;text-transform:uppercase;cursor:pointer;transition:background .25s,color .25s,border-color .25s;overflow:hidden}
.button--light{background:#fff;color:#000;border-color:#fff}.button--light:hover{background:#dadada;border-color:#dadada}
.button--line{color:#fff;border-color:rgba(255,255,255,.4);background:transparent}.button--line:hover{background:#fff;color:#000;border-color:#fff}
.button--dark{background:#050505;color:#fff;border-color:#050505}.button--dark:hover{background:transparent;color:#050505}
.button--full{width:100%}
.hero__side{min-width:190px;padding:22px 0 5px 26px;border-left:1px solid var(--line-light);display:grid;gap:22px}.hero__side-label,.hero__side-no{font-size:8px;line-height:1.6;letter-spacing:.2em;color:#888}.hero__side strong{font:900 28px/1 "VL Display",Impact,sans-serif;letter-spacing:-.04em}.hero__side-no{text-align:right}
.hero__footer{position:absolute;z-index:3;left:0;right:0;bottom:0;border-top:1px solid var(--line-light);background:rgba(0,0,0,.28);backdrop-filter:blur(8px)}
.hero__facts{min-height:112px;display:grid;grid-template-columns:repeat(3,1fr) 1.1fr}
.hero__facts>div,.scroll-cue{padding:24px 28px;border-left:1px solid var(--line-light);display:flex;flex-direction:column;justify-content:space-between}.hero__facts>div:first-child{border-left:0;padding-left:0}.hero__facts span{font-size:8px;letter-spacing:.15em;color:#888;text-transform:uppercase}.hero__facts strong{font:900 clamp(22px,2.4vw,34px)/1 "VL Display",Impact,sans-serif;letter-spacing:-.05em}.scroll-cue{flex-direction:row;align-items:center;border-right:1px solid var(--line-light);padding-right:16px}.scroll-cue i{position:relative;width:42px;height:42px;border:1px solid var(--line-light);border-radius:50%}.scroll-cue i::before{content:"";position:absolute;left:50%;top:9px;width:1px;height:22px;background:#fff}.scroll-cue i::after{content:"";position:absolute;left:calc(50% - 3px);bottom:9px;width:6px;height:6px;border-right:1px solid #fff;border-bottom:1px solid #fff;transform:rotate(45deg)}

/* Reusable headings */
.section-label{display:grid;grid-template-columns:auto auto 1fr auto;align-items:center;gap:16px;margin-bottom:clamp(48px,6vw,82px);font-size:8px;letter-spacing:.18em;color:#666}.section-label>span{color:#111}.section-label p{margin:0;font-weight:900;color:#111}.section-label i{height:1px;background:var(--line-dark)}.section-label small{font-size:8px}.section-label--light{color:#6f6f6f}.section-label--light>span,.section-label--light p{color:#fff}.section-label--light i{background:var(--line-light)}
.section-heading{display:grid;grid-template-columns:1.35fr .65fr;gap:90px;align-items:end;margin-bottom:65px}.section-heading h2,.offers__heading h2,.faq__intro h2,.contact__header h2{margin:0;font:900 clamp(58px,8.2vw,116px)/.82 "VL Display",Impact,sans-serif;letter-spacing:-.075em;text-transform:uppercase}.section-heading h2 span,.offers__heading h2 span{color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.72)}.section-heading p{margin:0;color:#aaa;font-size:15px;line-height:1.75}
.text-link{display:inline-flex;align-items:center;gap:42px;padding-bottom:7px;border-bottom:1px solid #111;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.text-link span{font-size:16px}.text-link--light{border-color:#fff}

/* Manifesto */
.manifesto__layout{display:grid;grid-template-columns:1.35fr .65fr;gap:70px;align-items:end}.manifesto__headline{padding-bottom:30px}
.display-copy{margin:0;font:900 clamp(51px,7.2vw,108px)/.84 "VL Display",Impact,sans-serif;letter-spacing:-.075em;text-transform:uppercase}.outline-dark{color:transparent;-webkit-text-stroke:1.25px #111}.display-copy.indent{padding-left:10%}
.manifesto__text{padding:0 0 16px 30px;border-left:1px solid var(--line-dark)}.manifesto__text p{color:#666;font-size:14px;line-height:1.72}.manifesto__text .lead{margin-top:0;color:#111;font-size:18px;line-height:1.65}.manifesto__text .text-link{margin-top:20px}
.benefit-grid{margin-top:90px;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line-dark);border-left:1px solid var(--line-dark)}
.benefit-card{position:relative;min-height:320px;padding:25px;display:flex;flex-direction:column;overflow:hidden;border-right:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark);transition:background .3s,color .3s}.benefit-card:hover{background:#050505;color:#fff}.benefit-card>span{font-size:8px;font-weight:800;letter-spacing:.14em;color:#777}.benefit-card h3{margin:auto 0 12px;max-width:220px;font-size:22px;letter-spacing:-.035em}.benefit-card p{position:relative;z-index:2;margin:0;color:#6e6e6e;font-size:13px;line-height:1.65}.benefit-card:hover p{color:#aaa}.benefit-card>i{position:absolute;right:-5px;top:15px;font:900 110px/1 "VL Display",Impact,sans-serif;font-style:normal;letter-spacing:-.1em;color:transparent;-webkit-text-stroke:1px rgba(0,0,0,.07);transition:transform .4s var(--ease)}.benefit-card:hover>i{-webkit-text-stroke-color:rgba(255,255,255,.12);transform:translateY(-4px)}
.ticker{overflow:hidden;border-top:1px solid #222;border-bottom:1px solid #222;background:#050505;color:#fff}.ticker__track{width:max-content;height:118px;display:flex;align-items:center;gap:35px;animation:ticker 26s linear infinite}.ticker__track span{font:900 62px/1 "VL Display",Impact,sans-serif;letter-spacing:-.06em;color:transparent;-webkit-text-stroke:1px #727272}.ticker__track i{font-style:normal;font-size:18px}@keyframes ticker{to{transform:translateX(-50%)}}

/* Spaces */
.space-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#2b2b2b;border:1px solid #2b2b2b}.space-card{position:relative;min-height:540px;overflow:hidden;background:#121212;transform-style:preserve-3d}.space-card--wide{grid-column:span 2}.space-card img{position:absolute;inset:-2%;width:104%;height:104%;object-fit:cover;filter:saturate(.8) contrast(1.06) brightness(.7);transition:filter .6s,transform .8s var(--ease);will-change:transform}.space-card:hover img{filter:saturate(.92) contrast(1.04) brightness(.8);transform:scale(1.035)}.space-card__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.48),transparent 38%,rgba(0,0,0,.9))}.space-card__top{position:absolute;left:25px;right:25px;top:24px;display:flex;justify-content:space-between;font-size:8px;letter-spacing:.14em;color:#ccc}.space-card__top i{font-style:normal;color:#999}.space-card__copy{position:absolute;left:25px;right:25px;bottom:25px;display:grid;grid-template-columns:auto 1fr;gap:21px;align-items:end}.space-card__number{font:900 38px/.8 "VL Display",Impact,sans-serif;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.7)}.space-card h3{margin:0;font:900 clamp(30px,3.7vw,54px)/.9 "VL Display",Impact,sans-serif;letter-spacing:-.055em;text-transform:uppercase}.space-card p{max-width:450px;margin:10px 0 0;color:#b4b4b4;font-size:12px;line-height:1.6}

/* Goal lab */
.goal-lab{background:#f6f5f1}.goal-lab__layout{display:grid;grid-template-columns:.85fr 1.15fr;border:1px solid var(--line-dark);min-height:610px}.goal-lab__nav{display:grid;align-content:center;border-right:1px solid var(--line-dark)}.goal-lab__nav button{min-height:92px;padding:0 25px;display:grid;grid-template-columns:35px 1fr auto;align-items:center;gap:10px;border:0;border-bottom:1px solid var(--line-dark);background:transparent;text-align:left;font-size:18px;font-weight:750;cursor:pointer;transition:background .25s,color .25s}.goal-lab__nav button:first-child{border-top:1px solid var(--line-dark)}.goal-lab__nav button span{font-size:8px;color:#777}.goal-lab__nav button i{font-style:normal;font-size:13px;opacity:.35}.goal-lab__nav button:hover,.goal-lab__nav button[aria-selected="true"]{background:#050505;color:#fff}.goal-lab__nav button[aria-selected="true"] span{color:#888}.goal-lab__nav button[aria-selected="true"] i{opacity:1}
.goal-panel{position:relative;padding:clamp(40px,6vw,85px);display:flex;flex-direction:column;justify-content:center;overflow:hidden;background:#e9e8e3}.goal-panel.is-changing>*:not(.goal-panel__index){opacity:0;transform:translateY(8px)}.goal-panel>*:not(.goal-panel__index){transition:opacity .25s,transform .25s}.goal-panel__code{font-size:8px;letter-spacing:.18em;color:#666}.goal-panel h2{position:relative;z-index:2;max-width:680px;margin:22px 0;font:900 clamp(43px,5vw,72px)/.9 "VL Display",Impact,sans-serif;letter-spacing:-.06em;text-transform:uppercase}.goal-panel>p{position:relative;z-index:2;max-width:620px;margin:0;color:#555;line-height:1.7}.goal-panel__meta{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;margin:35px 0;border-top:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark)}.goal-panel__meta div{padding:16px 18px 16px 0;display:grid;gap:8px}.goal-panel__meta div+div{padding-left:18px;border-left:1px solid var(--line-dark)}.goal-panel__meta span{font-size:8px;letter-spacing:.12em;color:#777;text-transform:uppercase}.goal-panel__meta strong{font-size:12px}.goal-panel .button{align-self:flex-start}.goal-panel__index{position:absolute;right:-20px;bottom:-45px;font:900 260px/.8 "VL Display",Impact,sans-serif;letter-spacing:-.1em;color:transparent;-webkit-text-stroke:1px rgba(0,0,0,.08)}

/* Coaching */
.coaching__panel{display:grid;grid-template-columns:.78fr 1.22fr;min-height:720px;background:#f7f6f2;border:1px solid var(--line-dark)}.coaching__visual{position:relative;overflow:hidden;padding:32px;background:#050505;color:#fff}.coaching__visual::after{content:"";position:absolute;width:90%;aspect-ratio:1;left:5%;top:15%;border:1px solid #333;border-radius:50%}.coaching__stamp{position:relative;z-index:2;display:inline-grid;place-items:center;width:130px;height:130px;border:1px solid #555;border-radius:50%;font-size:9px;line-height:1.5;letter-spacing:.12em;text-align:center;transform:rotate(-9deg)}.coaching__word{position:absolute;z-index:2;left:-7%;top:42%;font:900 clamp(100px,14vw,210px)/.7 "VL Display",Impact,sans-serif;letter-spacing:-.1em;color:transparent;-webkit-text-stroke:1px #777;transform:rotate(-90deg)}.coaching__coordinate{position:absolute;z-index:2;right:30px;bottom:28px;font-size:8px;color:#777;letter-spacing:.2em}.coaching__copy{padding:clamp(45px,6vw,85px)}.coaching__copy h2{margin:23px 0;font:900 clamp(48px,6.2vw,91px)/.85 "VL Display",Impact,sans-serif;letter-spacing:-.07em;text-transform:uppercase}.coaching__copy h2 em{font-style:normal;color:transparent;-webkit-text-stroke:1px #111}.coaching__copy>p{max-width:700px;color:#555;font-size:15px;line-height:1.75}.coaching__copy ul{list-style:none;margin:35px 0;padding:0;border-top:1px solid var(--line-dark)}.coaching__copy li{display:grid;grid-template-columns:38px .85fr 1.15fr;gap:15px;align-items:center;padding:17px 0;border-bottom:1px solid var(--line-dark)}.coaching__copy li span{font-size:8px;color:#777}.coaching__copy li strong{font-size:13px}.coaching__copy li p{margin:0;color:#666;font-size:12px;line-height:1.5}.coaching__actions{display:flex;align-items:center;flex-wrap:wrap;gap:25px}

/* Offers */
.offers{background:#080808}.offers__heading{display:grid;grid-template-columns:1.25fr .55fr;gap:90px;align-items:end;margin-bottom:70px}.offers__heading>div p{margin:0 0 25px;color:#a8a8a8;font-size:14px;line-height:1.75}.offer-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#292929;border:1px solid #292929}.offer-card{min-height:590px;padding:28px;display:flex;flex-direction:column;background:#0d0d0d;color:#fff}.offer-card--featured{background:#fff;color:#050505}.offer-card__top{display:flex;justify-content:space-between;font-size:8px;letter-spacing:.15em;color:#888}.offer-card__top i{font-style:normal}.offer-card__price{margin:75px 0 25px;display:flex;align-items:flex-end;gap:10px}.offer-card__price strong{font:900 clamp(85px,9vw,130px)/.7 "VL Display",Impact,sans-serif;letter-spacing:-.1em}.offer-card__price span{font-size:10px;font-weight:900}.offer-card__symbol{height:157px;margin:52px 0 5px;font:900 180px/.72 "VL Display",Impact,sans-serif;letter-spacing:-.12em;color:transparent;-webkit-text-stroke:1px #888}.offer-card__symbol--small{font-size:120px;line-height:1}.offer-card h3{margin:0 0 28px;font-size:24px;letter-spacing:-.035em}.offer-card ul{list-style:none;margin:0 0 32px;padding:0;border-top:1px solid currentColor}.offer-card li{padding:12px 0;border-bottom:1px solid currentColor;color:#aaa;font-size:12px}.offer-card--featured li{color:#555}.offer-card .button{margin-top:auto}.offer-card--featured .button--light{background:#050505;color:#fff;border-color:#050505}.offer-card--featured .button--light:hover{background:#333}.offers__note{max-width:850px;margin:24px 0 0;color:#777;font-size:9px;line-height:1.6}

/* FAQ */
.faq{background:#f4f3ef}.faq__layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:90px}.faq__intro{position:sticky;top:120px;align-self:start}.faq__intro .section-label{margin-bottom:45px}.faq__intro h2{font-size:clamp(48px,5.8vw,84px)}.faq__intro>p{max-width:440px;margin:26px 0;color:#666;font-size:14px;line-height:1.7}.accordion{border-top:1px solid var(--line-dark)}.accordion details{border-bottom:1px solid var(--line-dark)}.accordion summary{position:relative;min-height:100px;padding:0 55px 0 0;display:grid;grid-template-columns:44px 1fr;align-items:center;list-style:none;cursor:pointer;font-size:17px;font-weight:750}.accordion summary::-webkit-details-marker{display:none}.accordion summary span{font-size:8px;color:#777}.accordion summary i{position:absolute;right:2px;top:38px;width:22px;height:22px}.accordion summary i::before,.accordion summary i::after{content:"";position:absolute;left:0;top:10px;width:22px;height:1px;background:#111;transition:transform .25s}.accordion summary i::after{transform:rotate(90deg)}.accordion details[open] summary i::after{transform:rotate(0)}.accordion details>p{margin:-15px 0 30px;padding:0 55px 0 44px;color:#666;font-size:14px;line-height:1.75}

/* Contact */
.contact{padding-bottom:110px}.contact__header{display:grid;grid-template-columns:.42fr 1fr;gap:60px;align-items:start;margin-bottom:85px}.contact__header h2{font-size:clamp(65px,10vw,145px)}.contact__header h2 em{font-style:normal;color:transparent;-webkit-text-stroke:1px #888}.contact__layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:80px}.contact__info>p{max-width:510px;margin:0 0 35px;color:#aaa;font-size:15px;line-height:1.75}.contact__links{border-top:1px solid var(--line-light)}.contact__links>a,.contact__links>div{min-height:72px;padding:15px 0;display:grid;grid-template-columns:90px 1fr auto;gap:15px;align-items:center;border-bottom:1px solid var(--line-light)}.contact__links span{font-size:8px;color:#777;letter-spacing:.13em;text-transform:uppercase}.contact__links strong{font-size:12px;line-height:1.5}.contact__links i{font-style:normal}.contact-form{padding:clamp(28px,4vw,55px);border:1px solid var(--line-light);background:#0c0c0c}.form-heading{display:flex;justify-content:space-between;gap:20px;margin-bottom:38px}.form-heading span{font-size:8px;color:#777;letter-spacing:.15em}.form-heading strong{font-size:17px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 16px}.form-grid label{display:grid;gap:8px}.form-grid label>span{font-size:8px;font-weight:800;letter-spacing:.12em;color:#999;text-transform:uppercase}.form-wide{grid-column:1/-1}.form-grid input:not([type="checkbox"]),.form-grid select,.form-grid textarea{width:100%;border:0;border-bottom:1px solid #3d3d3d;border-radius:0;background:transparent;color:#fff;outline:none;padding:12px 0;transition:border-color .2s}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:#fff}.form-grid input::placeholder,.form-grid textarea::placeholder{color:#555}.form-grid select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#777 50%),linear-gradient(135deg,#777 50%,transparent 50%);background-position:calc(100% - 12px) 50%,calc(100% - 7px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.form-grid option{color:#000}.form-grid textarea{resize:vertical;min-height:90px}.form-grid .consent{display:flex;align-items:flex-start;gap:10px;margin:4px 0 8px}.consent input{margin:1px 0 0;accent-color:#fff}.form-grid .consent span{line-height:1.5;letter-spacing:0;text-transform:none;font-weight:500}.form-status{min-height:16px;margin:14px 0 0;font-size:11px}.form-status.is-error{color:#f5b3b3}.form-help{margin:8px 0 0;color:#666;font-size:8px;line-height:1.5}

/* Footer */
.footer{background:#020202;color:#fff;border-top:1px solid #252525}.footer__top{min-height:190px;display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:45px;border-bottom:1px solid #222}.brand--footer .brand__mark{width:62px;height:62px;font-size:18px}.brand--footer .brand__copy strong{font-size:17px}.footer__top>p{font:900 26px/1 "VL Display",Impact,sans-serif;letter-spacing:-.04em}.footer__back{display:flex;align-items:center;gap:22px;color:#888;font-size:9px;text-transform:uppercase}.footer__back i{width:48px;height:48px;display:grid;place-items:center;border:1px solid #444;border-radius:50%;font-style:normal;color:#fff}.footer__grid{padding:65px 0;display:grid;grid-template-columns:repeat(4,1fr);gap:40px}.footer__grid>div{display:flex;flex-direction:column;gap:10px}.footer__grid>div>span{margin-bottom:13px;color:#666;font-size:8px;letter-spacing:.15em}.footer__grid a,.footer__grid p{margin:0;color:#aaa;font-size:12px;line-height:1.55}.footer__grid a:hover{color:#fff}.footer__grid strong{font:900 27px/1 "VL Display",Impact,sans-serif}.footer__bottom{min-height:75px;display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:center;border-top:1px solid #222;color:#666;font-size:8px;letter-spacing:.06em}.footer__bottom div{display:flex;gap:20px}.footer__bottom>span:last-child{text-align:right}.floating-call{display:none}

/* Reveal */
.reveal{opacity:0;transform:translateY(25px);transition:opacity .8s var(--ease) var(--delay,0ms),transform .8s var(--ease) var(--delay,0ms)}.reveal.is-visible{opacity:1;transform:none}.no-js .reveal{opacity:1;transform:none}

@media (max-width:1120px){
  :root{--shell:min(100% - 44px,1100px)}
  .header-status{display:none}.desktop-nav{gap:18px}.header-cta{min-width:125px}
  .manifesto__layout,.section-heading,.offers__heading{grid-template-columns:1fr;gap:35px}.manifesto__text{max-width:670px;margin-left:auto}.benefit-grid{grid-template-columns:1fr 1fr}.space-card{min-height:470px}.goal-lab__layout{grid-template-columns:.72fr 1.28fr}.coaching__panel{grid-template-columns:.7fr 1.3fr}.contact__layout{gap:45px}
}

@media (max-width:900px){
  :root{--header-h:74px}
  .offer-bar__inner{grid-template-columns:auto 1fr auto}.offer-bar__date{display:none}.site-header{top:38px;padding:0 22px}.site-header.is-sticky{top:0}.desktop-nav,.header-cta{display:none}.menu-toggle{display:block;margin-left:auto}.mobile-nav{padding-top:130px}
  .hero__grid{grid-template-columns:1fr;padding-bottom:160px}.hero__side{display:none}.hero__facts{grid-template-columns:repeat(3,1fr)}.scroll-cue{display:none}.hero__facts>div:nth-child(3){border-right:1px solid var(--line-light)}
  .section-heading p{max-width:610px}.space-grid{grid-template-columns:1fr 1fr}.space-card--wide{grid-column:span 1}.space-card{min-height:480px}
  .goal-lab__layout{grid-template-columns:1fr}.goal-lab__nav{grid-template-columns:1fr 1fr;border-right:0;border-bottom:1px solid var(--line-dark)}.goal-lab__nav button{min-height:74px;border-right:1px solid var(--line-dark)}.goal-panel{min-height:520px}
  .coaching__panel{grid-template-columns:1fr}.coaching__visual{min-height:420px}.coaching__word{top:52%;left:-10%;transform:rotate(0)}
  .offer-cards{grid-template-columns:1fr 1fr}.offer-card:last-child{grid-column:span 2}.offer-card{min-height:520px}.offer-card__symbol{font-size:140px}
  .faq__layout{grid-template-columns:1fr;gap:60px}.faq__intro{position:static}.faq__intro>p{max-width:600px}
  .contact__header,.contact__layout{grid-template-columns:1fr}.contact__header{gap:30px}.contact__info{display:grid;grid-template-columns:.75fr 1.25fr;gap:35px}.contact__info>p{margin:0}.footer__grid{grid-template-columns:1fr 1fr}
}

@media (max-width:620px){
  :root{--shell:calc(100% - 28px)}
  html{scroll-padding-top:70px}.section{padding:84px 0}.cursor-dot,.cursor-ring{display:none}
  .offer-bar__inner{width:calc(100% - 28px);grid-template-columns:1fr auto;min-height:42px}.offer-bar__tag{display:none}.offer-bar p{gap:7px}.offer-bar p span{font-size:8px}.offer-bar a{padding-left:12px;font-size:0}.offer-bar a span{font-size:14px}
  .site-header{top:42px;height:70px;padding:0 14px}.site-header.is-sticky{top:0}.brand__mark{width:37px;height:37px}.brand__copy strong{font-size:12px}.mobile-nav{padding:115px 14px 25px}.mobile-nav__foot{flex-direction:column}
  .hero{min-height:820px}.hero__media{background-position:63% 50%}.hero__veil{background:linear-gradient(90deg,rgba(0,0,0,.9),rgba(0,0,0,.38)),linear-gradient(0deg,rgba(0,0,0,.94),transparent 55%)}.hero__grid{padding-top:150px;padding-bottom:185px}.hero h1{font-size:clamp(68px,23vw,100px);line-height:.75;margin-top:20px}.hero__lead{font-size:14px;max-width:94%}.hero__actions{display:grid}.button{min-height:50px}.hero__facts{min-height:104px}.hero__facts>div{padding:18px 12px}.hero__facts>div:first-child{padding-left:0}.hero__facts strong{font-size:18px}.hero__facts span{font-size:7px}
  .section-label{grid-template-columns:auto auto 1fr;margin-bottom:45px}.section-label small{display:none}.display-copy{font-size:clamp(42px,14vw,62px)}.display-copy.indent{padding-left:0}.manifesto__text{margin-top:32px;padding-left:18px}.manifesto__text .lead{font-size:16px}.benefit-grid{margin-top:60px;grid-template-columns:1fr}.benefit-card{min-height:230px}.ticker__track{height:86px;gap:25px}.ticker__track span{font-size:43px}
  .section-heading h2,.offers__heading h2{font-size:clamp(49px,16vw,73px)}.space-grid{grid-template-columns:1fr}.space-card{min-height:430px}.space-card__copy{left:19px;right:19px;bottom:19px}.space-card h3{font-size:35px}.space-card__top{left:19px;right:19px}
  .goal-lab__nav{grid-template-columns:1fr}.goal-lab__nav button{border-right:0;min-height:68px}.goal-panel{padding:32px 22px;min-height:530px}.goal-panel h2{font-size:43px}.goal-panel__meta{grid-template-columns:1fr}.goal-panel__meta div+div{padding-left:0;border-left:0;border-top:1px solid var(--line-dark)}.goal-panel__index{font-size:175px}.goal-panel .button{width:100%}
  .coaching__visual{min-height:350px}.coaching__stamp{width:100px;height:100px;font-size:7px}.coaching__word{font-size:105px;left:-3%}.coaching__copy{padding:34px 20px}.coaching__copy h2{font-size:49px}.coaching__copy li{grid-template-columns:30px 1fr}.coaching__copy li p{grid-column:2}.coaching__actions{align-items:stretch}.coaching__actions .button{width:100%}
  .offers__heading{margin-bottom:48px}.offer-cards{grid-template-columns:1fr}.offer-card,.offer-card:last-child{grid-column:auto;min-height:520px;padding:23px}.offer-card__price{margin-top:60px}.offer-card__symbol{height:130px;font-size:135px}.offer-card__symbol--small{font-size:100px}
  .faq__layout{gap:45px}.faq__intro h2{font-size:49px}.accordion summary{min-height:88px;grid-template-columns:30px 1fr;font-size:14px}.accordion details>p{padding-left:30px;padding-right:20px}
  .contact__header h2{font-size:clamp(57px,18vw,82px)}.contact__layout{gap:50px}.contact__info{grid-template-columns:1fr}.contact__links>a,.contact__links>div{grid-template-columns:72px 1fr auto}.contact-form{padding:27px 18px}.form-heading{display:grid}.form-grid{grid-template-columns:1fr}.form-wide{grid-column:auto}
  .footer__top{min-height:220px;grid-template-columns:1fr auto}.footer__top>p{grid-column:1/-1;margin:0}.footer__grid{grid-template-columns:1fr 1fr;gap:45px 25px;padding:55px 0}.footer__bottom{padding:25px 0;grid-template-columns:1fr;gap:13px}.footer__bottom div{flex-wrap:wrap}.footer__bottom>span:last-child{text-align:left}.floating-call{position:fixed;z-index:80;right:14px;bottom:14px;min-width:108px;height:46px;padding:0 15px;display:flex;align-items:center;justify-content:space-between;gap:18px;background:#fff;color:#000;border:1px solid #000;font-size:9px;font-weight:900;box-shadow:0 10px 30px rgba(0,0,0,.28)}.floating-call i{font-style:normal}
}

@media (hover:none){.cursor-dot,.cursor-ring{display:none}.space-card img{transform:none!important}.magnetic{transform:none!important}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.site-loader{display:none}.reveal,.hero-reveal{opacity:1;transform:none}.title-line i{transform:none}.ticker__track{animation:none}.hero__media{transform:scale(1.05)!important}}

/* OVH edition: visible content first, local imagery, readable controls. */
body{font-family:Arial,Helvetica,sans-serif}
.hero__media{background-image:none;display:block}
.hero__media img{width:100%;height:100%;object-fit:cover;object-position:center 42%}
.hero-location{display:block;font:700 clamp(15px,2vw,22px)/1.4 Arial,sans-serif;letter-spacing:.08em;margin-bottom:30px}
.title-line i,.hero-reveal{animation:none;opacity:1;transform:none}
.reveal{opacity:1;transform:none;transition:transform .35s var(--ease)}
.space-card img,.hero__media{will-change:auto}
/* CSS fallback also releases the page if JavaScript fails to load. */
.site-loader{animation:loader-release .85s var(--ease) 2.4s forwards;pointer-events:none}
@keyframes loader-release{to{clip-path:inset(0 0 100% 0);visibility:hidden}}
.kicker,.section-label,.form-grid label>span,.form-help,.footer__bottom,.footer__grid>div>span,.contact__links span{font-size:12px}
.form-grid label>span,.form-help,.footer__bottom,.footer__grid>div>span,.contact__links span{color:#b5b5b0}
.form-grid input::placeholder,.form-grid textarea::placeholder{color:#aaa}
.form-help a{text-decoration:underline}
.form-status{font-size:14px;line-height:1.5;min-height:22px}
.form-trap{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
button:disabled{opacity:.55;cursor:wait}
:focus-visible{outline:3px solid #888;outline-offset:5px}
.offer-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr))}
.offer-card:last-child{grid-column:auto}
.local-guides h2{font-size:clamp(36px,5vw,66px);letter-spacing:-.05em;line-height:1.05}
.guide-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #bcbcb6}
.guide-grid>a{position:relative;padding:30px 24px;border-right:1px solid #bcbcb6;transition:background .2s}
.guide-grid>a:last-child{border:0}.guide-grid>a:hover{background:#e0dfd9}
.guide-grid span{font-size:11px;letter-spacing:.08em}.guide-grid h3{font-size:24px;line-height:1.1}
.guide-grid p{font-size:15px;line-height:1.6;color:#555}.guide-grid b{display:block;margin-top:30px;font-size:25px}
.secondary-header{padding:30px 0;display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid #bbb}
.secondary-header nav{display:flex;flex-wrap:wrap;gap:22px;font-size:14px}.secondary-header .brand__copy small{color:#555}
.editorial{padding-top:35px;padding-bottom:70px}
.breadcrumb{font-size:13px;color:#555;margin-bottom:50px}
.editorial h1{max-width:1050px;font:900 clamp(42px,7vw,96px)/.96 Arial,Helvetica,sans-serif;letter-spacing:-.055em;margin:24px 0}
.editorial-intro{max-width:800px;font-size:clamp(18px,2vw,23px);line-height:1.65;color:#454545}
.editorial-image{display:block;margin:50px 0}
.editorial-image img{width:100%;max-height:510px;object-fit:cover;filter:saturate(.86) contrast(1.03) brightness(.94)}
.editorial-columns{display:grid;grid-template-columns:1fr 1fr;gap:32px 70px;max-width:1120px}
.editorial-columns h2{font-size:27px;letter-spacing:-.03em}
.editorial-columns p{font-size:17px;line-height:1.8;color:#454545}
.editorial-cta{margin-top:60px;padding:40px;background:#e2e1da;border:1px solid #bbb}
.editorial-cta .button{margin:15px 25px 15px 0}
.secondary-footer{display:flex;flex-wrap:wrap;gap:24px;padding:30px 0;border-top:1px solid #bbb;font-size:13px}
.legal-page{max-width:850px;margin:15vh auto;padding:30px;line-height:1.7}
.legal-page h1{font-size:clamp(36px,6vw,70px);line-height:1;letter-spacing:-.05em}
@media(max-width:900px){.guide-grid{grid-template-columns:1fr 1fr}.guide-grid>a{border-bottom:1px solid #bcbcb6}.secondary-header{align-items:flex-start;flex-direction:column}.editorial-columns{gap:20px 30px}}
@media(max-width:620px){
 .hero{min-height:740px}.hero__media img{object-position:63% 50%}
 .hero-location{font-size:15px;letter-spacing:.02em}
 .guide-grid,.editorial-columns{grid-template-columns:1fr}.guide-grid>a{border-right:0}
 .secondary-header nav{gap:14px;font-size:13px}.editorial h1{font-size:46px}
 .editorial-cta{padding:25px}.editorial{padding-bottom:45px}
 .floating-call{display:none}
}
@media(prefers-reduced-motion:reduce){.hero__media{transform:none!important}.ticker__track{animation:none}}

/* Header follows the optional campaign, without an empty strip. */
.site-header{top:0}.has-campaign .site-header{top:38px}.site-header.is-sticky,.has-campaign .site-header.is-sticky{top:0}
@media(max-width:600px){.has-campaign .site-header{top:42px}}
@media(max-width:900px){.no-js .site-header{height:auto;min-height:100px;flex-wrap:wrap;padding-block:12px}.no-js .desktop-nav{display:flex;flex-wrap:wrap;gap:12px;font-size:12px}.no-js .menu-toggle{display:none}}

/* V1 refinement: contrast, real navigation and a shorter path to contact. */
.hero__grid{grid-template-columns:minmax(0,1fr) minmax(260px,330px);gap:48px}
.hero h1{font-size:clamp(80px,10.5vw,168px)}
.hero-promo{align-self:center;padding:28px;border:1px solid #ffffff65;background:#080808d9;color:#fff;backdrop-filter:blur(12px)}
.mobile-promo{display:none}
.hero-promo__eyebrow{font-size:14px;font-weight:800;letter-spacing:.15em}
.hero-promo__amount{margin:20px 0 6px;font-weight:900;font-size:108px;line-height:.85;letter-spacing:-.075em}
.hero-promo__amount>span{font-size:45px;vertical-align:top;line-height:1.4}
.hero-promo h2{font-size:30px;line-height:1.05;letter-spacing:-.04em;margin:16px 0}
.hero-promo>p:not(.hero-promo__amount){font-size:16px;color:#ccc;line-height:1.5}
.hero-promo .button{width:100%;margin:8px 0 16px;font-size:12px}
.hero-promo small{display:block;font-size:12px;line-height:1.6;color:#c2c2c2}
.benefit-grid{gap:1px;border:1px solid #383838;background:#383838}
.benefit-card,.benefit-card:hover{background:#090909;color:#fff;border:0;padding:30px;min-height:330px}
.benefit-card>span{color:#c9c9c9;font-size:12px}.benefit-card h3{color:#fff;font-size:25px}
.benefit-card p,.benefit-card:hover p{color:#d0d0d0;font-size:16px;line-height:1.65}
.benefit-card>i{-webkit-text-stroke-color:#ffffff26}
a.space-card{display:block;color:#fff}.space-card__copy{padding-bottom:48px;grid-template-columns:auto minmax(0,1fr);row-gap:14px}.space-card__copy>div{display:contents}.space-card__copy h3{grid-column:1/-1;overflow-wrap:anywhere;hyphens:auto}.space-card__copy .space-card__number{grid-column:1;grid-row:2;align-self:center}.space-card__copy p{grid-column:2;grid-row:2;margin:0}
.space-card__visit{position:absolute;bottom:25px;left:28px;right:28px;display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border-top:1px solid #ffffff60;padding-top:14px}
.space-card:focus-visible{outline:3px solid #fff;outline-offset:6px}.space-card:hover .space-card__visit b{transform:translate(3px,-3px)}
.video-section{padding-top:10px}.club-film{display:grid;grid-template-columns:.7fr 1.3fr;gap:65px;align-items:center;border-top:1px solid #444;padding-top:60px}
.club-film h3{font-size:clamp(40px,5vw,72px);line-height:.96;letter-spacing:-.055em;margin:25px 0}
.club-film__intro>p{font-size:17px;color:#ccc;line-height:1.7}.club-film__intro .demo-caption{font-size:13px;color:#aaa}
.video-stage{position:relative;aspect-ratio:16/9;min-height:210px;background:#171717;overflow:hidden;border:1px solid #555}
.video-stage>img{width:100%;height:100%;object-fit:cover;filter:saturate(.8) brightness(.5)}
.video-play{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;background:transparent;border:0;color:#fff;cursor:pointer}
.video-play>span{display:grid;place-items:center;width:70px;height:70px;border:1px solid #fff;border-radius:50%;font-size:24px}
.video-play strong{font-size:18px}.video-play small{font-size:12px}.video-stage iframe{width:100%;height:100%;position:absolute;inset:0;border:0}
.video-help{font-size:13px;color:#c5c5c5;line-height:1.7}.video-help a{text-decoration:underline}.video-unload{background:none;color:#fff;border:1px solid #777;padding:12px;font-size:14px;cursor:pointer}
.partners{background:#f2f2ef;color:#111;padding-block:75px;overflow:hidden}
.partners__heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:35px}
.partners h2{font-size:clamp(32px,4vw,55px);line-height:1;letter-spacing:-.045em;margin:18px 0}
.partners__heading p{font-size:14px;color:#555}.partners-toggle{background:transparent;border:1px solid #666;padding:13px 18px;font-size:14px;cursor:pointer;flex-shrink:0}
.partners-marquee{overflow:hidden;border-block:1px solid #c4c4c1}.partners-track{display:flex;width:max-content;animation:partners-slide 24s linear infinite}
.partners-group{display:flex}.partner-placeholder{width:300px;display:flex;flex-direction:column;gap:20px;padding:32px 45px;border-right:1px solid #ccc}
.partner-placeholder small{font-size:12px;color:#666;letter-spacing:.1em}.partner-placeholder strong{font-size:27px;letter-spacing:-.04em;color:#555}
.partners-controls{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}
.partners-colors{background:transparent;border:1px solid #666;padding:13px 18px;font-size:14px;cursor:pointer;min-height:46px}.partners-colors[hidden]{display:none}
.partner-logo{width:240px;flex:none;margin:0;padding:24px;display:flex;align-items:center;justify-content:center;gap:18px;border-right:1px solid #ccc}
.partner-logo img{flex-shrink:0;width:180px;height:112px;object-fit:contain;filter:none}
/* Compensate transparent margins: equal visible height, preserve logo proportions. */
.partner-logo img[src*="lzen-laurie"]{transform:scale(1.45)}
.partner-logo img[src*="wilclim"]{transform:scale(1.18)}
.partner-logo img[src*="us-bandol-transparent"]{transform:scale(1.1)}
.partner-logo figcaption{font-size:18px;font-weight:800;line-height:1.35}.partner-logo figcaption span{display:block;font-size:13px;font-weight:400;color:#555;margin-top:5px}
@media(max-width:620px){.partners-controls{justify-content:flex-start;align-items:center;margin-top:16px}.partners-controls .partners-toggle{margin-top:0}.partner-logo{width:190px;padding:20px 16px;gap:12px}.partner-logo img{width:144px;height:88px}.partner-logo figcaption{font-size:16px}}
@media(prefers-reduced-motion:reduce){.partner-logo img{transition:none}.partners-track{animation:none!important}}
.partners-marquee:hover .partners-track{animation-play-state:paused}
@keyframes partners-slide{to{transform:translateX(-50%)}}
.pricing-demo{font-size:14px;line-height:1.6;color:#ddd;border-left:2px solid #ddd;padding:10px 18px;margin:0 0 25px}
.offer-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.price-card{display:flex;flex-direction:column;padding:32px;min-width:0;background:#101010;border:1px solid #494949}
.price-card h3{font-size:38px;letter-spacing:-.05em;margin:30px 0 12px}.price-card__tag{font-size:12px;line-height:1.5;color:#bbb}
.price-card__price{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;margin:30px 0 10px}
.price-card__price strong{font-size:80px;font-weight:900;letter-spacing:-.075em;line-height:1}.price-card__price sup{font-size:32px;letter-spacing:-.035em;vertical-align:top;line-height:1.3}
.price-card__price>span{font-size:14px;color:#c9c9c9}.price-card__intro{font-size:17px}
.price-card ul{margin-block:24px;flex:1}.price-card li{font-size:15px;line-height:1.65;padding-block:12px}
.price-card__terms{font-size:12px;line-height:1.7;color:#bdbdbd;margin:0 0 24px}
.price-card--premium{background:#f3f3f0;color:#111;border-color:#f3f3f0}
.price-card--premium .offer-card__top,.price-card--premium .offer-card__top span,.price-card--premium .offer-card__top i,.price-card--premium .price-card__tag,.price-card--premium .price-card__price>span,.price-card--premium .price-card__terms{color:#4b4b4b}
.price-card--premium li{color:#222;border-color:#c5c5c2}.price-card--premium li::before{background:#111}
.price-card .button{width:100%;font-size:12px}.offers__heading{margin-bottom:45px}
#contact{scroll-margin-top:80px;padding-top:65px}#contact-form{scroll-margin-top:100px}
.contact__header{grid-template-columns:1fr minmax(250px,370px);gap:35px;align-items:center;margin-bottom:35px}
.contact__header h2{font-size:clamp(58px,6vw,88px);line-height:.94;margin-top:18px}
.contact__shortcut{display:grid;gap:16px}.contact__shortcut p{font-size:18px;line-height:1.55;color:#ddd;margin:0}
.contact__shortcut .button{font-size:18px}.contact__shortcut .text-link{justify-self:start;font-size:14px}
.contact__layout{align-items:start;gap:45px}.contact-form{padding:28px}
.form-heading{margin-bottom:22px}.form-heading span{font-size:12px}
.form-grid label>span{font-size:14px;letter-spacing:.03em}.form-grid input,.form-grid select,.form-grid textarea{font-size:16px}
.contact__links strong{font-size:16px}.contact__links span{font-size:12px}
.contact-form .button{font-size:14px}.preview-form-note{margin:0 0 18px;font-size:13px}
.space-detail{background:#090909;color:#fff;min-height:100vh}
.space-detail .secondary-header,.space-detail .secondary-footer{border-color:#444}.space-detail .brand__copy small{color:#ccc}
.space-intro{padding-block:48px 70px}.space-back{display:inline-block;font-size:14px;color:#ddd;margin-bottom:55px}
.space-intro h1{font-size:clamp(70px,11vw,150px);line-height:.95;letter-spacing:-.07em;margin:20px 0 35px}
.space-intro h1>span{display:block;font-size:clamp(30px,4vw,56px);line-height:1.15;letter-spacing:-.04em;color:#bbb;margin-top:22px}
.space-intro__bottom{display:flex;gap:60px;justify-content:space-between;align-items:center}
.space-intro__bottom p{max-width:650px;font-size:19px;line-height:1.65;color:#ccc}.space-intro__bottom .button{flex-shrink:0;font-size:13px}
.space-cover{position:relative;height:clamp(350px,60vw,700px);overflow:hidden}.space-cover>img{width:100%;height:100%;object-fit:cover;filter:saturate(.86) contrast(1.03) brightness(.94)}
.space-cover>span{position:absolute;bottom:0;inset-inline:0;background:#000b;padding:24px;text-align:center;font-size:16px;letter-spacing:.12em}
.space-gallery{padding-block:90px 60px}.space-gallery__heading{max-width:700px;margin-bottom:45px}
.space-gallery h2{font-size:clamp(44px,6vw,80px);line-height:.96;letter-spacing:-.05em;margin:22px 0}
.space-gallery__heading p{font-size:15px;line-height:1.7;color:#bbb}
.space-mosaic{display:grid;grid-template-columns:1fr 1fr;gap:28px}.space-mosaic figure{margin:0;min-width:0}.space-mosaic figure:first-child{grid-column:1/-1}
.space-mosaic a{display:block;position:relative;overflow:hidden}.space-mosaic img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;filter:saturate(.86) contrast(1.03) brightness(.94);transition:transform .4s}
.space-mosaic figure:first-child img{aspect-ratio:16/9}.space-mosaic a:hover img{transform:scale(1.025)}
.space-mosaic a>span{position:absolute;right:20px;bottom:20px;width:44px;height:44px;display:grid;place-items:center;background:#fff;color:#111;font-size:24px}
.space-mosaic figcaption{font-size:14px;color:#ccc;padding-top:14px}
.space-story{padding-block:35px 70px}.space-story .editorial-columns p{color:#ccc}
.space-next{padding-block:45px 75px;border-top:1px solid #444}.space-next nav{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:25px 0 45px}
.space-next nav a{border:1px solid #555;padding:22px;font-size:16px}.space-next nav a:hover{background:#fff;color:#111}
.gallery-dialog{width:min(1150px,96vw);max-height:95dvh;background:#080808;color:#fff;border:1px solid #777;padding:20px}
.gallery-dialog::backdrop{background:#000e}.gallery-dialog>img{display:block;width:100%;height:70dvh;object-fit:contain}
.gallery-close{display:block;margin-left:auto;margin-bottom:15px}.gallery-dialog button{background:#fff;color:#111;border:0;min-width:48px;min-height:44px;padding:10px 18px;font-size:16px;cursor:pointer}
.gallery-controls{display:flex;align-items:center;justify-content:space-between;gap:20px}.gallery-controls p{font-size:14px;text-align:center;line-height:1.5}
@media(max-width:1100px){.hero__grid{gap:30px}.hero-promo{padding:22px}.price-card{padding:25px}.club-film{gap:35px}.space-next nav{grid-template-columns:1fr 1fr}}
@media(max-width:900px){
 .hero__grid{grid-template-columns:1fr}.hero h1{font-size:clamp(80px,16vw,145px)}.hero-promo{display:grid;grid-template-columns:1fr 1fr;gap:10px 25px;max-width:650px;width:100%}
 .hero-promo__amount{grid-row:2/4;font-size:92px;margin:10px 0}.hero-promo h2{grid-column:2;grid-row:1/3;margin:0;align-self:end}.hero-promo>p:not(.hero-promo__amount){grid-column:2;margin:0}
 .hero-promo .button,.hero-promo small{grid-column:1/-1}.hero-promo .button{margin:10px 0 0}
 .club-film{grid-template-columns:1fr}.offer-cards{grid-template-columns:1fr}.price-card{max-width:650px;width:100%;margin-inline:auto}.price-card ul{flex:auto}
 .contact__header{grid-template-columns:1fr 1fr}.contact__layout{display:flex;flex-direction:column}.contact-form{order:1;width:100%}.contact__info{order:2;width:100%}
 .space-intro__bottom{align-items:start;flex-direction:column;gap:20px}
}
@media(max-width:620px){
 .hero__grid{padding-top:125px;padding-bottom:155px}.hero h1{font-size:clamp(65px,19vw,112px)}.hero-promo{margin-top:12px}
 .hero-promo h2{font-size:26px}.hero-promo__eyebrow{font-size:12px}.hero-promo__amount{font-size:76px}.hero-promo>p:not(.hero-promo__amount){font-size:14px}
 .benefit-card{padding:25px;min-height:310px}.partners__heading{display:block}.partners-toggle{margin-top:12px}.partner-placeholder{width:230px;padding:28px}
 .contact__header{grid-template-columns:1fr;gap:20px}.contact__header h2{font-size:58px;line-height:.94}.contact__shortcut{gap:12px}.contact__shortcut .button{min-height:54px}
 #contact{padding-top:38px;scroll-margin-top:70px}.contact-form{padding:24px 18px}.contact__layout{gap:30px}
 .space-intro{padding-top:30px}.space-back{margin-bottom:30px}.space-intro h1{font-size:clamp(44px,11vw,68px);overflow-wrap:anywhere}
 .space-intro h1>span{font-size:30px}.space-cover>span{font-size:12px;letter-spacing:.03em;padding:18px}
 .space-mosaic{grid-template-columns:1fr}.space-mosaic figure:first-child{grid-column:auto}.space-mosaic figure:first-child img{aspect-ratio:4/3}
 .space-gallery{padding-block:60px 30px}.space-next nav{grid-template-columns:1fr}.gallery-dialog{padding:12px}.gallery-dialog>img{height:60dvh}
}
@media(prefers-reduced-motion:reduce){.space-mosaic img{transition:none}}

/* Contact clarity and compact, opt-in satellite map. */
.space-mosaic:has(>figure:nth-child(2):last-child) figure:first-child{grid-column:auto}
.space-mosaic:has(>figure:nth-child(2):last-child) figure:first-child img{aspect-ratio:4/3}
.form-grid [hidden],.map-unload[hidden]{display:none!important}
.form-grid label>small{font-size:12px;line-height:1.5;color:#c9c9c9;letter-spacing:0;text-transform:none}
.club-map{padding:35px 0 70px;border-top:1px solid #ffffff20}
.club-map__layout{display:grid;grid-template-columns:.8fr 1.6fr;gap:65px;align-items:center}
.club-map__copy h2{font-size:clamp(30px,3.3vw,46px);line-height:1.05;letter-spacing:-.045em;margin:18px 0}
.club-map__copy p{font-size:15px;line-height:1.8;color:#c9c9c9;margin-bottom:20px}
.map-stage{height:340px;overflow:hidden;border:1px solid #ffffff35;background:#121212}
.map-stage iframe{display:block;width:100%;height:100%;border:0}
.map-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:24px;background:radial-gradient(ellipse at center,#ffffff08,transparent 70%)}
.map-pin{font-size:35px;line-height:1;font-weight:300}.map-placeholder strong{font-size:12px;letter-spacing:.16em}
.map-placeholder p{font-size:14px;color:#ddd;margin:0}.map-placeholder small{max-width:430px;font-size:11px;color:#bcbcbc;line-height:1.5}
.map-placeholder .button{min-height:48px;font-size:12px}.map-unload{display:block;background:none;border:0;padding:14px 0 0;color:#fff;text-decoration:underline;cursor:pointer;min-height:44px}
.map-fallback{font-size:12px;line-height:1.6;color:#ccc;margin:12px 0 0}.map-fallback a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:760px){.club-map{padding:35px 0 45px}.club-map__layout{grid-template-columns:1fr;gap:25px}.map-stage{height:350px}.map-placeholder{padding:18px}}

/* Compact offer in normal flow: scrolls away while the mobile navigation stays. */
@media(max-width:900px){
 .hero-promo{display:none}
 .mobile-promo{display:flex;align-items:center;justify-content:center;gap:16px;min-height:60px;padding:10px max(16px,env(safe-area-inset-right)) 10px max(16px,env(safe-area-inset-left));background:var(--paper);color:var(--ink);border-bottom:1px solid var(--line-dark)}
 .mobile-promo__copy{min-width:0;text-align:center;line-height:1.4}
 .mobile-promo strong{display:block;font-size:.875rem;font-weight:800}
 .mobile-promo small{display:block;margin-top:2px;font-size:.75rem;letter-spacing:.015em}
 .mobile-promo__arrow{flex:none;font-size:22px}
 .mobile-promo:focus-visible{outline:2px solid var(--ink);outline-offset:-5px}
 .site-header,.site-header.is-sticky,.has-campaign .site-header,.has-campaign .site-header.is-sticky{position:sticky;top:0;margin-bottom:calc(-1 * var(--header-h));background:rgba(5,5,5,.96);transform:none;transition:background .3s}
 .no-js .site-header{margin-bottom:0}
}
@media(max-width:620px){:root{--header-h:70px}}

/* GPS choices are enabled only on mobile devices; desktop map links stay native. */
.gps-entry[hidden],.gps-options a[hidden],.gps-dialog:not([open]){display:none!important}
.gps-entry{margin-bottom:18px}
.gps-entry .button{width:100%;min-height:52px;font-size:14px;letter-spacing:0;text-transform:none;gap:14px}
.gps-entry p{font-size:12px;line-height:1.5;color:#bbb;margin:10px 0 0}
body.gps-open{overflow:hidden}
.gps-dialog{width:min(480px,calc(100vw - 28px));max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain;background:#0b0b0b;color:#fff;border:1px solid #666;padding:24px;box-shadow:0 20px 70px #0009}
.gps-dialog::backdrop{background:#000c}
.gps-dialog__top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.gps-dialog__top>span{font-size:12px;letter-spacing:.08em;color:#bbb}
.gps-close{background:none;color:#fff;border:1px solid #666;min-height:44px;padding:10px 12px;cursor:pointer;font-size:14px}
.gps-dialog h2{font-size:32px;line-height:1.1;letter-spacing:-.04em;margin:22px 0 12px}
.gps-dialog p{font-size:14px;line-height:1.6;color:#ccc}
.gps-dialog .gps-address{color:#fff;border-block:1px solid #444;padding:12px 0;margin:18px 0}
.gps-options{display:grid;gap:10px}
.gps-options a{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px;background:#f5f5f3;color:#080808;padding:14px 16px;border:1px solid #fff}
.gps-options strong{display:block;font-size:17px}.gps-options small{display:block;font-size:12px;line-height:1.5;color:#484848;margin-top:3px}
.gps-options a:focus-visible,.gps-close:focus-visible{outline:2px solid #fff;outline-offset:3px}
.gps-options a:hover{background:#dededb}
.gps-dialog .gps-hint{font-size:12px;color:#aaa;margin:18px 0 0}

/* Title readability: keep the display faces and sizes, give glyphs and accents room.
   Deliberately after responsive rules so mobile headings receive the same fix. */
.hero h1,.section-heading h2,.offers__heading h2,.faq__intro h2,
.contact__header h2,.display-copy,.goal-panel h2,.coaching__copy h2,
.local-guides h2,.editorial h1,.legal-page h1,.club-film h3,
.partners h2,.space-intro h1,.space-gallery h2,.club-map__copy h2{
 letter-spacing:-.025em;
 line-height:1.06;
}
.benefit-card h3,.space-card h3,.guide-grid h3,.editorial-columns h2,
.hero-promo h2,.price-card h3,.gps-dialog h2,.space-intro h1>span{
 letter-spacing:-.01em;
 line-height:1.15;
}
/* The old reveal mask clipped tall glyphs; title reveals are no longer animated. */
.title-line{overflow:visible}
.loader-brand{letter-spacing:-.025em;line-height:1.06;flex-wrap:wrap;justify-content:center;padding:0 16px}

/* Red accents approved by the owner: preserve all established surfaces and motion. */
:root{--accent-red:#D9363E;--accent-red-on-light:#B9232C}
.loader-line i,.scroll-progress span{background:var(--accent-red)}
.section-label>span{color:var(--accent-red-on-light)}
.section-label--light>span{color:var(--accent-red)}
.button[href*="#contact"]:hover,.button[href*="#contact"]:focus-visible,
.button[href^="tel:"]:hover,.button[href^="tel:"]:focus-visible,
.contact-form .button:hover,.contact-form .button:focus-visible,
.header-cta:hover,.header-cta:focus-visible{border-color:var(--accent-red)}
.header-cta{background:var(--accent-red);color:#fff}
.benefit-card>span{color:var(--accent-red)}
.goal-panel__code{color:var(--accent-red-on-light)}
.hero-promo>small{color:var(--accent-red)}
.goal-lab__nav button>span{color:var(--accent-red-on-light)}
.goal-lab__nav button:hover>span,.goal-lab__nav button[aria-selected="true"]>span{color:var(--accent-red)}
.offers .price-card .offer-card__top>span,.offers .price-card .offer-card__top>i{color:var(--accent-red)}
.offers .price-card--premium .offer-card__top>span,.offers .price-card--premium .offer-card__top>i{color:var(--accent-red-on-light)}

/* Mobile pricing swipe: native scrolling, no autoplay or hidden offer content. */
@media(max-width:620px){
 .offers .offer-cards{grid-template-columns:none;grid-template-rows:1fr;grid-auto-flow:column;grid-auto-columns:100%;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;padding-inline:6%;padding-bottom:16px;scrollbar-width:thin;scrollbar-color:#999 #292929}
 .offers .price-card{width:100%;max-width:none;margin-inline:0;scroll-snap-align:center;scroll-snap-stop:always}
 .offers .price-card ul{flex:1}
}

/* Mobile footer alignment only; desktop and tablet rules remain unchanged. */
@media(max-width:620px){
 .footer{text-align:center}
 .footer__top{grid-template-columns:1fr;justify-items:center}
 .footer__back{justify-content:center}
 .footer__grid>div{align-items:center;min-width:0;overflow-wrap:anywhere}
 .footer__bottom{justify-items:center}
 .footer__bottom div{justify-content:center}
 .footer__bottom>span:last-child{text-align:center}
}

/* Date picker and confirmation — approved 10 September 2026. */
.discovery-date{display:grid;gap:10px;min-width:0}.discovery-date>small{font-size:14px;line-height:1.5;color:#c9c9c9}.date-control{display:flex;align-items:center;gap:14px;min-width:0}.date-control input{min-width:0;color-scheme:dark}.date-picker-button{flex-shrink:0;min-height:44px;padding:10px 14px;border:1px solid #555;background:#111;color:#fff;font:inherit;font-size:14px;cursor:pointer;transition:border-color .2s,background .2s}.date-picker-button span{margin-left:8px;color:#d9363e}.date-picker-button:hover,.date-picker-button:focus-visible{border-color:#d9363e;background:#1a1a1a}.date-picker-button:focus-visible,.confirmation-actions a:focus-visible,.confirmation-actions button:focus-visible{outline:2px solid #fff;outline-offset:4px}
.form-confirmation[hidden]{display:none}.form-confirmation{display:grid;grid-template-columns:44px minmax(0,1fr);gap:18px;margin-top:22px;padding:25px 22px;background:#080808;color:#fff;border:1px solid #454545;border-top:2px solid #d9363e;outline-offset:5px}.confirmation-icon{display:grid;place-items:center;width:44px;height:44px;border:1px solid #d9363e;border-radius:50%;font-size:24px}.confirmation-label{font-size:12px;letter-spacing:.08em;color:#c3c3c3}.form-confirmation h3{margin:10px 0 12px;font-size:24px;line-height:1.25;letter-spacing:0}.form-confirmation p{margin:0;color:#ddd;font-size:16px;line-height:1.65;overflow-wrap:anywhere}.confirmation-actions{display:flex;flex-wrap:wrap;gap:12px 22px;margin-top:18px;align-items:center}.confirmation-actions a,.confirmation-actions button{color:#fff;font:inherit;font-size:14px;line-height:1.5;min-height:44px;display:inline-flex;align-items:center;background:none;border:0;border-bottom:1px solid #777;cursor:pointer;padding:4px 0}.confirmation-actions a:hover,.confirmation-actions button:hover{border-color:#d9363e}.form-status:empty{margin:0;min-height:0}
@media(max-width:620px){.date-control{align-items:stretch;flex-direction:column;gap:8px}.date-picker-button{align-self:flex-start}.form-confirmation{grid-template-columns:1fr;padding:22px 18px}.form-confirmation h3{font-size:23px}}
@media(prefers-reduced-motion:reduce){.date-picker-button{transition:none}}

/* Desktop calendar — mobile retains its native date input. */
.discovery-date{position:relative}.club-calendar[hidden]{display:none!important}.club-calendar{position:absolute;top:100%;right:0;width:min(340px,100%);z-index:30;padding:18px;background:#0b0b0b;color:#fff;border:1px solid #414141;border-top:2px solid #d9363e;box-shadow:0 18px 50px #0009;animation:calendar-appear .2s ease-out}.calendar-heading,.calendar-month,.calendar-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.calendar-heading>span{font-size:11px;letter-spacing:.14em;color:#c7c7c7}.club-calendar button{font:inherit;color:#fff;background:transparent;border:1px solid transparent;cursor:pointer;min-width:36px;min-height:36px;border-radius:4px;transition:background .15s,border-color .15s}.club-calendar button:hover:not(:disabled){background:#d9363e22;border-color:#a52e35}.club-calendar button:focus-visible{outline:2px solid #fff;outline-offset:2px}.club-calendar button:disabled{color:#555;cursor:default}.calendar-heading button{font-size:24px}.calendar-month{margin:12px 0 18px}.calendar-month strong{font-size:18px;font-weight:600;text-transform:capitalize}.calendar-month button{font-size:25px}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;text-align:center}.calendar-weekdays{font-size:12px;color:#999;margin-bottom:9px}.calendar-days button{font-size:14px;min-width:0}.calendar-days button[aria-current=date]{border-color:#91434a}.calendar-days button[aria-pressed=true]{background:#b9232c;color:#fff;border-color:#d9363e;font-weight:700}.calendar-days button[aria-pressed=true]:hover{background:#ca3038}.calendar-footer{border-top:1px solid #333;margin-top:16px;padding-top:10px}.calendar-footer button{font-size:13px;padding:8px}.club-calendar>p{margin:12px 0 0;font-size:12px;line-height:1.5;color:#aaa}@keyframes calendar-appear{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:821px) and (hover:hover) and (pointer:fine){#discovery-date-input::-webkit-calendar-picker-indicator{display:none}}
@media(max-width:820px),(hover:none),(pointer:coarse){.date-picker-button,.club-calendar{display:none!important}}
@media(prefers-reduced-motion:reduce){.club-calendar{animation:none}.club-calendar button{transition:none}}


/* Optional body review: one shared offer, readable alongside all three plans. */
.body-review{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(28px,4vw,64px);margin-top:32px;padding:clamp(22px,3vw,40px);background:#0b0b0b;border:1px solid #3b3b3b;border-top:2px solid var(--accent-red);color:#fff}
.body-review__copy,.body-review__choice{min-width:0}.body-review__eyebrow{font-size:12px;line-height:1.5;letter-spacing:.09em;color:var(--accent-red)}.body-review h3{margin:16px 0;font-size:clamp(28px,2.7vw,38px);line-height:1.15;letter-spacing:-.02em}.body-review__copy>p{max-width:52ch;margin:0;color:#d1d1d1;font-size:16px;line-height:1.65}.body-review__measures{display:flex;flex-wrap:wrap;gap:8px 18px;margin:20px 0 10px;padding:0;list-style:none}.body-review__measures li{font-size:14px;line-height:1.5;padding-bottom:5px;border-bottom:1px solid #733038}.body-review__copy>small{display:block;max-width:56ch;font-size:13px;line-height:1.5;color:#aaa}
.body-review__choice{display:flex;flex-direction:column;justify-content:center;gap:24px}.body-review__rates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.body-review__rate{min-width:0}.body-review__rate+div{padding-left:20px;border-left:1px solid #393939}.body-review h4{font-size:16px;line-height:1.4;margin:0 0 12px;font-weight:600}.body-review__price{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px;margin:0 0 12px}.body-review__price strong{font-family:var(--font-heading,Arial),sans-serif;font-size:clamp(40px,4.5vw,64px);line-height:1;letter-spacing:-.045em;font-weight:800}.body-review__price strong>span{font-size:.52em;vertical-align:top;line-height:1.35;margin-left:3px}.body-review__price>span{font-size:14px;line-height:1.5;color:#ccc}.body-review__rate>p:last-child{font-size:14px;line-height:1.6;color:#c5c5c5;margin:0}.body-review__choice>.button{width:100%;gap:16px;justify-content:space-between;min-height:48px;white-space:normal}.body-review__choice>.button:focus-visible{outline:2px solid var(--accent-red);outline-offset:4px}
@media(max-width:900px){.body-review{grid-template-columns:1fr;gap:28px}.body-review__rates{gap:24px}.body-review__rate+div{padding-left:24px}.body-review__copy>p{max-width:none}}
@media(max-width:420px){.body-review{padding:20px 16px;gap:24px}.body-review__rates{gap:14px}.body-review__rate+div{padding-left:14px}.body-review__price{display:block}.body-review__price>span{display:block;margin-top:6px}.body-review h4{font-size:15px}.body-review__rate>p:last-child{font-size:14px}.body-review__measures{gap:8px 14px}}

/* Separate the return link from the space label on all four detail pages. */
.space-intro>.space-back{display:block;width:fit-content}


/* Owner-supplied Bandol photographs: colour, restrained scale, optional details. */
.space-cover{height:clamp(260px,37vw,510px)}
.space-cover>img{object-position:center 48%}
.space-gallery{padding-block:55px 35px}.space-gallery__heading{margin-bottom:28px}
.space-gallery h2{font-size:clamp(30px,3.2vw,46px);line-height:1.15;margin:14px 0}
.space-mosaic{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:24px}
.space-mosaic figure:first-child{grid-column:auto}
.space-mosaic img,.space-mosaic figure:first-child img{height:250px;aspect-ratio:auto;object-fit:contain;background:#101010}
.space-mosaic a>span{width:32px;height:32px;right:12px;bottom:12px;font-size:20px}
.visit-glimpses{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:36px 0}
.visit-glimpses img{display:block;width:100%;height:210px;object-fit:contain;background:#111;filter:saturate(.86) brightness(.94)}
@media(max-width:620px){
 .space-cover{height:300px}.space-cover>span{font-size:13px;letter-spacing:.04em;padding:16px}
 .space-gallery{padding-block:35px 25px}.space-mosaic{grid-template-columns:1fr 1fr;gap:16px}
 .space-mosaic img,.space-mosaic figure:first-child img{height:165px}
 .space-mosaic figcaption{font-size:13px;padding-top:9px}
 .visit-glimpses{grid-template-columns:1fr;gap:20px}.visit-glimpses figure{display:grid;grid-template-columns:120px 1fr;gap:16px;align-items:center}.visit-glimpses img{height:145px}.visit-glimpses figcaption{padding:0}
}

/* Musculation: one continuous, visitor-controlled photographic sequence. */
.photo-carousel{--slide-width:84%;--slide-gap:24px;min-width:0}
.photo-carousel__toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px}
.photo-carousel__toolbar p{margin:0;font-size:16px;font-variant-numeric:tabular-nums;letter-spacing:.1em;color:#ddd}
.photo-carousel__controls{display:flex;gap:10px}.photo-carousel__controls[hidden]{display:none}
.photo-carousel__controls button{width:52px;height:48px;border:1px solid #555;background:#111;color:#fff;font-size:24px;cursor:pointer;transition:background .2s,border-color .2s,transform .2s}
.photo-carousel__controls button:hover:not(:disabled){background:#42151a;border-color:var(--accent-red);transform:translateY(-2px)}
.photo-carousel__controls button:disabled{opacity:.3;cursor:default}
.photo-carousel__track{display:flex;position:relative;gap:var(--slide-gap);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#a5323c #202020;padding-bottom:14px;cursor:grab;outline-offset:5px}
.photo-carousel__track::after{content:"";flex:0 0 calc(100% - var(--slide-width) - var(--slide-gap))}
.photo-carousel.is-enhanced .photo-carousel__track{scrollbar-width:none}.photo-carousel.is-enhanced .photo-carousel__track::-webkit-scrollbar{display:none}
.photo-carousel__track.is-dragging{cursor:grabbing;scroll-snap-type:none;user-select:none}
.photo-slide{flex:0 0 var(--slide-width);min-width:0;margin:0;scroll-snap-align:start}
.photo-slide>a{position:relative;display:block;background:#0d0d0d;border:1px solid #343434;cursor:inherit;overflow:hidden}
.photo-slide img{display:block;width:100%;height:clamp(270px,43vw,550px);object-fit:contain;filter:saturate(.9) contrast(1.02) brightness(.97)}
.photo-slide__expand{position:absolute;right:14px;bottom:14px;padding:11px 14px;background:#090909d9;border:1px solid #ffffff70;color:#fff;font-size:14px;line-height:1.3;transition:background .2s}
.photo-slide>a:hover .photo-slide__expand{background:#43151ce6}
.photo-slide figcaption{display:flex;align-items:baseline;gap:16px;font-size:16px;line-height:1.5;padding:18px 0 5px;color:#eee}
.photo-slide figcaption>span{font-size:14px;font-variant-numeric:tabular-nums;color:#e36b75}
.photo-carousel__footer{display:flex;align-items:center;gap:30px;margin-top:15px;color:#aaa;font-size:14px}
.photo-carousel__progress{flex:1;min-width:30px;height:2px;background:#363636;overflow:hidden}.photo-carousel__progress i{display:block;width:100%;height:100%;background:var(--accent-red);transform:scaleX(.090909);transform-origin:left;transition:transform .28s ease}
.photo-carousel button:focus-visible,.photo-carousel__track:focus-visible,.photo-slide>a:focus-visible{outline:2px solid #f0757f;outline-offset:4px}
.visit-glimpses figure{margin:0;min-width:0}.visit-glimpses figcaption{font-size:14px;line-height:1.5;padding-top:10px}
@media(max-width:620px){.photo-carousel{--slide-width:92%;--slide-gap:14px}.photo-slide img{height:clamp(240px,68vw,360px)}.photo-slide figcaption{font-size:15px;gap:12px;padding-top:14px}.photo-slide__expand{font-size:14px;right:10px;bottom:10px;padding:9px 11px}.photo-carousel__footer{gap:18px;font-size:14px}.photo-carousel__controls button{width:48px;height:46px}.visit-glimpses figcaption{padding-top:0}}
@media(prefers-reduced-motion:reduce){.photo-carousel__controls button,.photo-slide__expand,.photo-carousel__progress i{transition:none}}

/* Real reception photos beside the visitor's next step, with full framing. */
.contact-host{margin:30px 0 32px}.contact-host img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;filter:saturate(.88) contrast(1.02) brightness(.96);border:1px solid #393939}
.contact-host figcaption{display:flex;flex-wrap:wrap;align-items:baseline;gap:7px 14px;padding:14px 0;border-bottom:1px solid #393939;font-size:14px;line-height:1.5;color:#bbb}.contact-host strong{font-size:18px;color:#fff}
@media(min-width:621px) and (max-width:900px){.contact__info{grid-template-columns:1fr 1fr;gap:24px}.contact-host{grid-column:1;grid-row:1/3;margin:0;align-self:start}.contact__info>p{grid-column:2;grid-row:1}.contact__links{grid-column:2;grid-row:2}}
.visit-welcome{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(24px,4vw,55px);margin:55px 0;border-block:1px solid var(--line-dark);padding-block:32px}.visit-welcome figure{min-width:0;margin:0}.visit-welcome img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;filter:saturate(.9) contrast(1.02) brightness(.96)}.visit-welcome h2{font-size:clamp(24px,2.6vw,36px);line-height:1.15;margin:18px 0}.visit-welcome p{font-size:16px;line-height:1.7;color:#555}
@media(max-width:620px){.contact-host{margin-block:24px}.contact-host figcaption{display:grid;gap:3px}.visit-welcome{grid-template-columns:1fr;gap:22px;margin-block:36px;padding-block:24px}.visit-welcome h2{margin-top:14px}}

/* Native links work on touchscreens without a JavaScript navigation handler. */
.partner-link{display:flex;align-items:center;justify-content:center;width:100%;min-height:112px;touch-action:manipulation;cursor:pointer}
.partner-link:focus-visible{outline:2px solid #c42d3c;outline-offset:8px}
.partners-marquee:focus-within .partners-track,.partners-marquee:active .partners-track{animation-play-state:paused}
@media(max-width:620px){.partner-link{min-height:88px}}

/* Accès compte demandé : visible dans l'en-tête, y compris sur mobile. */
.site-header{gap:24px}
.header-account{flex:none;display:inline-flex;align-items:center;gap:9px;min-height:42px;padding:0 14px;border:1px solid #ffffff40;border-radius:8px;background:#ffffff06;color:#eee;font-size:11px;font-weight:700;white-space:nowrap;transition:background .2s,border-color .2s}
.header-account svg{width:17px;height:17px;fill:none;stroke:#f3717a;stroke-width:1.65;stroke-linecap:round}
.header-account:hover,.header-account:focus-visible{background:#db354518;border-color:#e14a58;outline-offset:4px}
.mobile-nav__account{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px 0;margin-bottom:24px;border-top:1px solid #ffffff25;font-size:15px;font-weight:700;color:#fff}
.mobile-nav__account span{font-size:10px;font-weight:400;color:#fa8890}
@media(min-width:1121px) and (max-width:1380px){.site-header .header-status{display:none}.site-header .desktop-nav{gap:22px}}
@media(min-width:901px) and (max-width:1120px){.site-header{gap:18px}.site-header .desktop-nav{gap:14px}}
@media(max-width:900px){.header-account{margin-left:auto}.site-header .menu-toggle{margin-left:0}.site-header{gap:14px}}
@media(max-width:620px){.header-account{min-height:40px;padding:0 10px;font-size:10px;gap:7px}.header-account svg{width:15px;height:15px}.site-header{gap:10px}}
@media(max-width:360px){.header-account{padding:0 8px}.header-account svg{display:none}.site-header .brand{gap:8px}.site-header .brand__copy strong{font-size:10px}}
.editorial[data-document="legal"] .editorial-columns{grid-template-columns:1fr;max-width:780px;gap:32px}.editorial[data-document="legal"] .editorial-columns p{line-height:1.75}.editorial[data-document="legal"] h1{font-size:clamp(38px,6vw,88px);overflow-wrap:break-word}.editorial[data-document="legal"] .editorial-columns a{overflow-wrap:anywhere}

/* Une seule photo Bike, cadrage entier sur sa page ; cinq espaces. */
.space-cover--single{height:auto;overflow:visible}.space-cover--single .space-cover__single{display:block}.space-cover--single .space-cover__single img{display:block;width:100%;height:auto;object-fit:contain;filter:saturate(.96) contrast(1.02)}.space-cover--single>span{position:static;display:block}.space-next nav{grid-template-columns:repeat(5,minmax(0,1fr))}@media(max-width:1100px){.space-next nav{grid-template-columns:1fr 1fr}}@media(max-width:620px){.space-next nav{grid-template-columns:1fr}}

/* Let the mobile telephone label occupy its actual width. */
@media(max-width:620px){.contact__links>a[href^="tel:"]{grid-template-columns:max-content minmax(0,1fr) auto;column-gap:18px}}

/* A clear subscription action, followed by the existing email confirmation. */
.footer-newsletter{display:grid;grid-template-columns:1fr 1fr;gap:48px;padding:36px 0;border-top:1px solid #252525;align-items:center}
.footer-newsletter h2{font-size:28px;margin:12px 0}.footer-newsletter p,.footer-newsletter label{font-size:13px;line-height:1.6;color:#b5b5b0}.footer-newsletter form>label:first-child{display:block;margin-bottom:10px;color:#fff}
.footer-newsletter form{position:relative;padding:22px;background:#101010;border:1px solid #333;border-inline-start:3px solid #d9283e;transition:border-color .2s}
.footer-newsletter form:focus-within{border-color:#777;border-inline-start-color:#ef5365}
.footer-newsletter__entry{display:flex;gap:10px}.footer-newsletter__entry input{min-width:0;flex:1;background:#080808;border:1px solid #555;color:#fff;padding:12px;font-size:14px;min-height:46px;transition:border-color .2s}
.footer-newsletter__entry input:focus{border-color:#ef5365}
.footer-newsletter button{border:1px solid #fff;background:#fff;color:#111;padding:12px 18px;font-size:13px;font-weight:700;cursor:pointer;min-height:46px;transition:background .2s,color .2s,border-color .2s}.footer-newsletter button:hover{background:#d9283e;border-color:#d9283e;color:#fff}.footer-newsletter button:disabled{opacity:.6;cursor:wait}
.footer-newsletter .footer-newsletter__notice{margin:14px 0 12px;font-size:12px}
.footer-newsletter form::after{content:"";position:absolute;inset-inline:0;bottom:0;height:2px;background:#d9283e;transform:scaleX(0);transform-origin:left}
.footer-newsletter form.is-sending::after{animation:newsletter-pending 1.2s ease-in-out infinite alternate}
.footer-newsletter form.has-feedback [data-newsletter-status]{padding-block:12px 0;color:#fff;border-top:1px solid #444;animation:newsletter-feedback .25s ease-out}
@keyframes newsletter-pending{to{transform:scaleX(1)}}
@keyframes newsletter-feedback{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.footer-newsletter small,.footer-newsletter form>a{font-size:11px;line-height:1.6;color:#b5b5b0}.footer-newsletter form>a{margin-inline-start:8px;text-decoration:underline}.footer-newsletter [data-newsletter-status]:empty{display:none}.footer-newsletter .newsletter-trap{display:none}
.footer-newsletter [data-newsletter-link]{grid-column:1/-1}.footer-newsletter [hidden]{display:none!important}.footer-newsletter :is(input,button,a):focus-visible{outline:2px solid #ef5365;outline-offset:3px}
@media(max-width:620px){.footer-newsletter{grid-template-columns:1fr;gap:20px;padding:28px 0}.footer-newsletter form{padding:18px}.footer-newsletter__entry{gap:8px}.footer-newsletter button{padding:12px}.footer-newsletter h2{font-size:26px}}
@media(max-width:420px){.footer-newsletter__entry{flex-direction:column}.footer-newsletter__entry button{width:100%}}
@media(prefers-reduced-motion:reduce){.footer-newsletter *,.footer-newsletter form::after{animation:none!important;transition:none!important}.footer-newsletter form.is-sending::after{transform:scaleX(1)}}

/* Shared home navigation on the public club pages. */
.club-public-page{padding-top:var(--header-h)}
.club-public-page .site-header{background:#050505;border-bottom-color:#252525}
@media(max-width:620px){.club-public-page{padding-top:70px}}

.no-js .club-public-page{padding-top:0}
.no-js .club-public-page .site-header{position:relative;top:0;height:auto;min-height:var(--header-h);flex-wrap:wrap;padding-block:12px}
@media(max-width:1120px){.no-js .club-public-page .desktop-nav{display:flex;flex-wrap:wrap;gap:12px;font-size:12px}.no-js .club-public-page .menu-toggle{display:none}}

/* Mobile membership pass: one connected choice, price and benefits surface. */
.offer-carousel{position:relative}.offer-carousel__arrow{display:none}.offer-carousel__arrow[hidden]{display:none!important}
@media(max-width:620px){
 .offers__heading>*{min-width:0}
 .offers__heading h2{font-size:clamp(36px,11.5vw,64px);overflow-wrap:anywhere}
 .offer-carousel{overflow:hidden;background:#131313;border:1px solid #3b3b3b;border-top:3px solid #d9363e;border-radius:18px;margin-bottom:28px}
 .offer-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:8px;background:#090909;border-bottom:1px solid #333}
 .offer-picker__button{min-width:0;min-height:48px;padding:9px 6px;border:0;border-radius:8px;background:transparent;color:#aaa;font:inherit;font-size:11px;font-weight:700;line-height:1.35;cursor:pointer;overflow-wrap:anywhere;transition:background .2s,color .2s}
 .offer-picker__button[aria-pressed=true]{background:#f3f2ee;color:#111;box-shadow:inset 0 -3px #d9363e}
 .offer-picker__button:focus-visible{outline:2px solid #ef5365;outline-offset:-3px}
 .offers .offer-cards{display:flex;gap:0;width:100%;margin:0;padding:0;border:0;background:transparent;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:0;align-items:stretch;scrollbar-width:none}
 .offers .offer-cards::-webkit-scrollbar{display:none}
 .offers .price-card{display:grid;grid-template-columns:minmax(0,1fr) auto;flex:0 0 100%;max-width:none;min-height:0;margin:0;padding:22px 20px 14px;border:0;background:transparent;color:#fff;scroll-snap-align:center}
 .offers .price-card .offer-card__top{grid-column:1/-1;margin-bottom:16px;font-size:8px;letter-spacing:.12em}
 .offers .price-card h3{grid-column:1;grid-row:2;align-self:center;font-size:clamp(22px,6.2vw,30px);line-height:1.1;margin:0;overflow-wrap:anywhere}
 .offers .price-card__tag{grid-column:1;grid-row:3;font-size:9px;line-height:1.5;color:#aaa;margin:8px 14px 0 0;align-self:start}
 .offers .price-card__price{grid-column:2;grid-row:2/span 2;display:flex;flex-direction:column;align-items:flex-end;gap:7px;margin:0;padding-inline-start:12px}
 .offers .price-card__price strong{font-size:52px;white-space:nowrap}.offers .price-card__price sup{font-size:20px}
 .offers .price-card__price>span{font-size:11px;line-height:1.4;color:#bbb}
 .offers .price-card [hidden]{display:none!important}
 .offers .price-card__intro{grid-column:1/-1;font-size:13px;margin:14px 0}
 .offers .price-card ul{grid-column:1/-1;margin:0 0 10px;flex:none;border-top:0}
 .offers .price-card li{font-size:13px;line-height:1.45;padding:8px 0;color:inherit;border-color:#ffffff26}
 .offers .price-card li::before{background:#d9363e}
 .offers .price-card__terms{grid-column:1/-1;min-height:3em;font-size:11px;line-height:1.5;color:#bbb;margin:18px 0 15px}
 .offers .price-card .button{grid-column:1/-1;min-height:44px;padding:12px;font-size:11px;background:#f3f2ee;border-color:#f3f2ee;color:#111}
 .offer-navigation{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:16px;padding:4px 20px 18px}
 .offer-navigation__count{text-align:center;font-size:11px;letter-spacing:.2em;color:#999;font-variant-numeric:tabular-nums}
 .offer-carousel__arrow{position:static;transform:none;display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid #4b4b4b;border-radius:50%;background:#1d1d1d;color:#fff;font-size:20px;cursor:pointer}
 .offer-carousel__arrow:disabled{opacity:.4;cursor:default}.offer-carousel__arrow:focus-visible{outline:2px solid #ef5365;outline-offset:3px}
 .offer-benefits{position:relative;margin:0;padding:24px 20px;background:#f3f2ee;color:#111;border:0;border-top:1px dashed #777}
 .offer-benefits::before,.offer-benefits::after{content:"";position:absolute;top:-10px;width:20px;height:20px;border-radius:50%;background:#080808}.offer-benefits::before{inset-inline-start:-10px}.offer-benefits::after{inset-inline-end:-10px}
 .offer-benefits h3{font-size:22px;font-weight:900;letter-spacing:-.03em;line-height:1.2;margin:0;color:#111}
 .offers .offer-benefits>p{font-size:11px;line-height:1.5;color:#555;margin:7px 0 18px}
 .offer-benefits ul{list-style:none;display:grid;grid-template-columns:1fr;gap:11px;margin:0;padding:0}
 .offer-benefits li{position:relative;padding-inline-start:24px;font-size:13px;line-height:1.5;color:#222;min-width:0}
 .offer-benefits li::before{content:"";position:absolute;inset-inline-start:2px;top:4px;width:7px;height:11px;border-right:2px solid #b9232c;border-bottom:2px solid #b9232c;transform:rotate(40deg)}
}

/* Only the media controls and useful links below the club video. */
.video-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:8px;font-size:12px;line-height:1.5;color:#b5b5b0}
.video-actions a{text-decoration:underline;text-underline-offset:3px}
.video-actions .video-unload{margin:0}

/* Brand arrow: vector geometry, never a platform emoji glyph. */
.vita-arrow-icon{display:inline-block;width:1em;height:1em;vertical-align:-.12em;flex-shrink:0;fill:none;stroke:currentColor}

/* V103: quieter, separated media links on mobile; authentic logo colours. */
@media(max-width:620px){.video-actions{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;margin-top:12px;font-size:11px;line-height:1.5;color:#999}.video-actions a{display:inline-flex;align-items:center;gap:5px;min-height:32px;font-size:inherit;line-height:inherit;text-decoration:none;border-bottom:1px solid #ffffff25;padding-block:4px}.video-actions .vita-arrow-icon{width:12px;height:12px}.video-actions .video-unload{width:32px;height:32px;min-height:32px;padding:7px;color:#999;border-color:#ffffff25}}
.partner-logo img{filter:none}
