/* Licensed local display face + Inter. No external font dependency. */
@font-face{font-family:"Fitgenix Display";src:url('/fonts/heading.otf') format('opentype');font-weight:700;font-style:normal;font-display:swap}
.brand-site{--body:Inter,Arial,sans-serif;--display:"Fitgenix Display","Arial Narrow",Arial,sans-serif;font-family:var(--body);font-size:17px;line-height:1.65}
.brand-site :is(p,address){font-family:var(--body);font-size:17px;line-height:1.65;letter-spacing:-.012em}
.brand-site :is(h1,h2,h3,h4){font-family:"Fitgenix Sans",Arial,sans-serif}
.brand-site :is(.hero-copy h1,.reference-hero-content h1,.editorial-heading h1,.elite-hero h1,.equipment-detail h1){font-family:var(--display);font-weight:700;letter-spacing:-.018em;line-height:.95;text-transform:uppercase}
.brand-site.home-site .hero-showcase .hero-copy{max-width:690px;padding-block:72px 135px}
.brand-site.home-site .hero-showcase .hero-copy h1{font-family:var(--display);font-size:clamp(68px,6.3vw,88px);font-weight:700;line-height:.92;letter-spacing:-.02em;max-width:690px;margin:28px 0 29px}
.brand-site.home-site .hero-showcase .hero-copy .hero-name-logo{width:185px}
.brand-site.home-site .hero-showcase .hero-copy>p{font-family:var(--body);font-size:16px;line-height:1.65;max-width:430px}
.brand-site.home-site .hero-showcase .hero-copy .hero-brand-tagline{font-family:var(--body);font-size:10px;line-height:1.7;letter-spacing:.015em;margin-top:23px}
.brand-site.home-site .hero-showcase .hero-shade{background:linear-gradient(90deg,#0006,transparent 65%),linear-gradient(0deg,#000b,transparent 43%)}
.brand-site .reference-hero-content h1{font-family:var(--display);font-size:clamp(70px,7vw,100px);line-height:.95;font-weight:700;letter-spacing:-.018em}
.brand-site .reference-hero-intro>p{font-size:17px;line-height:1.7;max-width:380px}
.brand-site .editorial-heading h1{font-family:var(--display);font-size:clamp(66px,7vw,98px);font-weight:700}
.brand-site .elite-hero h1{font-family:var(--display);font-size:clamp(70px,7vw,104px);line-height:.94;font-weight:700;letter-spacing:-.015em}
.brand-site :is(.edition-section-head h2,.edition-location h2,.reference-copy h2,.section-heading h2){font-family:"Fitgenix Sans",Arial,sans-serif;letter-spacing:-.035em;font-weight:400;line-height:1.02}
.brand-site .eyebrow{font-family:var(--body);font-size:10px;line-height:1.6;letter-spacing:.18em;font-weight:500}
.brand-site :is(.button,.text-link){font-family:var(--body);font-weight:550;font-size:11px;letter-spacing:.07em}
.brand-site .button{min-height:54px;padding:16px 24px}
.brand-site .button svg,.brand-site .text-link svg{transition:transform .35s cubic-bezier(.22,1,.36,1)}
.brand-site :is(.button,.text-link):is(:hover,:focus-visible)>svg{transform:translateX(4px)}
.brand-site .site-header .desktop-nav>a{font-family:var(--body);font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:500}
.brand-site .site-header .header-cta{font-size:10px;font-weight:600;letter-spacing:.06em}
.brand-site .site-header{transition:background .35s,border-color .35s}
.brand-site .site-header.is-scrolled{background:#050505f5;backdrop-filter:blur(14px);border-color:#ffffff2a}
.brand-site :is(.edition-section-head,.comparison-heading){position:relative}
.brand-site .edition-section-head:after{content:"";position:absolute;bottom:-29px;left:0;width:100%;height:1px;background:#ffffff2b;transform:scaleX(1);transform-origin:left;transition:transform .9s cubic-bezier(.22,1,.36,1)}
.brand-site .edition-section-head.motion-pending:after{transform:scaleX(0)}
.brand-site .edition-section-head.motion-entered:after{transform:scaleX(1)}
.brand-site :is(.feature-carousel .reference-card-copy,.feature-carousel .reference-facility-copy,.edition-area-copy){padding:26px 22px 28px;transition:background .4s cubic-bezier(.22,1,.36,1),color .3s}
.brand-site .feature-carousel .reference-card h3,.brand-site .feature-carousel .reference-facility-copy h2{font-family:var(--display);font-size:36px;font-weight:700;letter-spacing:0;line-height:1.02}
.brand-site .edition-area-copy h3{font-family:var(--display);font-size:34px;font-weight:700;letter-spacing:0;line-height:1.02}
.brand-site :is(.feature-carousel .reference-card-copy,.feature-carousel .reference-facility-copy,.edition-area-copy) p{font-size:15px;line-height:1.7;letter-spacing:-.008em}
.brand-site .edition-area:is(:hover,:focus-within) :is(.reference-card-copy,.reference-facility-copy,.edition-area-copy){background:#f7f7f7;color:#080808}
.brand-site .edition-area:is(:hover,:focus-within) :is(.reference-card-copy,.reference-facility-copy,.edition-area-copy) :is(h2,h3,a,p,.fine){color:#111}
.brand-site .edition-area:is(:hover,:focus-within) :is(.reference-card-copy,.reference-facility-copy) .button{background:#111;color:#fff;border-color:#111}
.brand-site .edition-area-copy h3>a{color:inherit}
.brand-site .feature-carousel :is(.reference-facility-image,.reference-media) img,.brand-site .edition-area-photo img{transition:transform 1.1s cubic-bezier(.22,1,.36,1)}
.brand-site .edition-area:is(:hover,:focus-within) :is(.reference-facility-image,.reference-media,.edition-area-photo) img{transform:scale(1.035)}
.brand-site .membership-summary{transition:background .35s,border-color .35s}
.brand-site .membership-summary:hover{background:#101010}
.brand-site .membership-title{font-family:var(--body);font-size:27px;letter-spacing:-.04em;font-weight:400}
.brand-site .membership-title strong{font-weight:550}
.brand-site .membership-teaser{font-family:var(--body);font-size:14px;line-height:1.6}
.brand-site .membership-pricing-note{font-size:9px;letter-spacing:.09em}
.brand-site .edition-plan h3{font-family:var(--display);font-size:42px;font-weight:700;letter-spacing:0}
.brand-site .page-curtain{background:#050505;color:#fff;transform:none;clip-path:inset(100% 0% 0% 0%);will-change:clip-path;gap:17px}
html.fitgenix-route-pending .page-curtain{clip-path:inset(0% 0% 0% 0%)}
.brand-site .curtain-brand .brand-emblem{width:72px;height:72px;border-radius:50%;object-fit:contain}
.brand-site .page-curtain>.curtain-brand{opacity:0;transform:translateY(12px);transition:opacity .22s ease,transform .42s cubic-bezier(.22,1,.36,1)}
.brand-site .page-curtain>span{font-family:var(--body);font-size:20px;font-weight:500;letter-spacing:.28em;line-height:1.2;padding-left:.28em}
.brand-site .page-curtain>.curtain-rule{display:block;width:72px;height:1px;background:#ffffff65;transform:scaleX(0);transition:transform .35s cubic-bezier(.22,1,.36,1)}
.brand-site .page-curtain>small{font-family:var(--body);font-size:8px;letter-spacing:.22em;color:#999;margin-top:2px}
.brand-site.page-is-leaving .page-curtain>.curtain-brand,html.fitgenix-route-pending .page-curtain>.curtain-brand{opacity:1;transform:none}
.brand-site.page-is-leaving .page-curtain>.curtain-rule,html.fitgenix-route-pending .page-curtain>.curtain-rule{transform:scaleX(1)}
.brand-site.has-curtain-motion.page-is-leaving #main{opacity:.35;transform:translate3d(0,-8px,0);transition:opacity .36s ease,transform .36s cubic-bezier(.22,1,.36,1)}
.brand-site.has-curtain-motion.page-is-entering #main{animation:fitgenix-route-open .72s cubic-bezier(.22,1,.36,1) both}
@keyframes fitgenix-route-open{from{opacity:.45;transform:translate3d(0,20px,0)}to{opacity:1;transform:none}}
.splash-name{font-family:"Fitgenix Display",Arial,sans-serif;font-size:34px;font-weight:700;letter-spacing:.22em}
.brand-site .offer-dialog h2{font-family:var(--display);font-weight:700;font-size:52px;letter-spacing:-.01em}
.brand-site .fine{font-family:var(--body);font-size:12px;line-height:1.7}
/* Keep the full face framed during the subtle campaign zoom. */
.brand-site.home-site .hero-slide img{animation-name:fitgenix-studio-photo-drift}
@keyframes fitgenix-studio-photo-drift{from{transform:scale(1.012)}to{transform:scale(1.035)}}
@media(max-width:1023px){
 .brand-site.home-site .hero-showcase .hero-copy h1{font-size:clamp(56px,7vw,72px)}
 .brand-site .site-header .desktop-nav{gap:16px}
}
@media(max-width:767px){
 .brand-site.home-site .hero-showcase .hero-copy{max-width:430px;padding:250px 0 87px}
 .brand-site.home-site .hero-showcase .hero-copy h1{font-family:var(--display);font-size:clamp(36px,10.8vw,46px);line-height:.97;letter-spacing:-.015em;margin:20px 0 17px;font-weight:700}
 .brand-site.home-site .hero-showcase .hero-copy .hero-name-logo{width:145px}
 .brand-site.home-site .hero-showcase .hero-copy>p{font-size:14px;line-height:1.65;max-width:320px}
 .brand-site.home-site .hero-showcase .hero-copy .hero-brand-tagline{font-size:9px;line-height:1.7;max-width:300px}
 .brand-site.home-site .hero-showcase .hero-copy .button-row{gap:16px;margin-top:22px}
 .brand-site.home-site .hero-showcase .hero-copy .button{font-size:9px;letter-spacing:.04em;padding:14px 15px}
 .brand-site.home-site .hero-showcase .hero-copy .button.outline{font-size:9px;letter-spacing:.04em}
 .brand-site.home-site .hero-showcase .hero-shade{background:linear-gradient(0deg,#000 0%,#000f 12%,#000a 40%,#0000 80%)}
 .brand-site .reference-hero-content h1{font-family:var(--display);font-weight:700;font-size:clamp(46px,13.5vw,64px);line-height:.98;letter-spacing:-.015em}
 .brand-site .reference-hero-intro>p{font-size:16px;line-height:1.7}
 .brand-site .editorial-heading h1{font-size:clamp(46px,13vw,64px)}
 .brand-site .elite-hero h1{font-family:var(--display);font-size:clamp(52px,14vw,70px);font-weight:700;line-height:.96}
 .brand-site :is(.feature-carousel .reference-card-copy,.feature-carousel .reference-facility-copy,.edition-area-copy){padding:23px 17px 25px}
 .brand-site .feature-carousel .reference-card h3,.brand-site .feature-carousel .reference-facility-copy h2,.brand-site .edition-area-copy h3{font-family:var(--display);font-size:32px;line-height:1.03}
 .brand-site .membership-title{font-size:22px}
 .brand-site .edition-plan h3{font-size:38px}
 .brand-site .offer-dialog h2{font-size:44px}
 .brand-site .mobile-menu{grid-template-columns:repeat(2,minmax(0,1fr));overflow-x:hidden}
 .brand-site .mobile-menu>a{min-width:0;padding-inline:8px;overflow-wrap:anywhere;font-family:var(--display);font-weight:700;font-size:clamp(20px,6.2vw,26px);letter-spacing:.01em}
 .brand-site .mobile-menu>a.button{color:#111;font-family:var(--body);font-size:11px;font-weight:600;letter-spacing:.05em}
 .brand-site .fine{font-size:11px}
}
@media(max-width:359px){
 .brand-site.home-site .hero-showcase .hero-copy{padding-top:222px}
 .brand-site.home-site .hero-showcase .hero-copy h1{font-size:36px}
 .brand-site.home-site .hero-showcase .hero-copy .button-row{gap:12px}
 .brand-site.home-site .hero-showcase .hero-copy .button,.brand-site.home-site .hero-showcase .hero-copy .button.outline{font-size:8px;letter-spacing:.02em}
 .brand-site .reference-hero-content h1{font-size:44px}
}
@media(prefers-reduced-motion:reduce){
 .brand-site .page-curtain,html.fitgenix-route-pending .page-curtain{clip-path:inset(100% 0% 0% 0%)!important;transform:none!important;will-change:auto}
 .brand-site .page-curtain>.curtain-brand,.brand-site .page-curtain>.curtain-rule{transition:none}
 .brand-site.has-curtain-motion.page-is-leaving #main{opacity:1;transform:none;transition:none}
 .brand-site :is(.button svg,.text-link svg,.site-header,.edition-section-head:after,.membership-summary,.reference-card-copy,.reference-facility-copy,.edition-area-copy){transition:none!important}
 .brand-site :is(.button,.text-link):is(:hover,:focus-visible)>svg{transform:none}
 .brand-site .edition-section-head:after{transform:none!important}
 .brand-site .edition-area:is(:hover,:focus-within) img{transform:none!important}
}
