 :root{--bg:#101110;--panel:#191b19;--ink:#f4f4ef;--muted:#a7aaa3;--accent:#d6ff35;--line:#343832}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f1f1eb;color:#161815;font-family:"DM Sans",sans-serif}a{color:inherit;text-decoration:none}.site-header{height:82px;padding:0 6.5%;display:flex;align-items:center;justify-content:space-between;background:#101110;color:#fff;position:sticky;top:0;z-index:20;border-bottom:1px solid #282b27}.brand{display:flex;align-items:center;gap:11px;font-weight:800;letter-spacing:.06em;font-size:15px}.brand small{display:block;font-size:8px;letter-spacing:.19em;color:#a6aaa0;margin-top:4px}.brand-mark{width:36px;height:36px;background:var(--accent);color:#111;display:grid;place-items:center;font:700 25px Oswald}.nav{display:flex;align-items:center;gap:30px;font-size:12px;font-weight:700}.nav a:not(.nav-cta){color:#d1d3cd}.nav a:hover{color:var(--accent)}.nav-cta{padding:13px 19px;background:var(--accent);color:#111}.menu-toggle{display:none;background:none;border:0;color:white;font-size:24px}
.hero{min-height:650px;background:var(--bg);color:white;position:relative;display:grid;grid-template-columns:1fr 1fr;padding:80px 6.5% 75px;overflow:hidden}.hero-content{position:relative;z-index:2;padding:35px 0 55px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.2em;color:#7a7f75}.hero .eyebrow{color:#c4c8bd}.hero .eyebrow span{display:inline-block;width:22px;height:2px;background:var(--accent);vertical-align:middle;margin-right:9px}.hero h1,.section-heading h2,.join-banner h2,.payment-dialog h2{font:700 clamp(56px,7vw,100px)/.94 Oswald,sans-serif;letter-spacing:-.025em;margin:26px 0}.hero h1 em,.section-heading h2 em,.join-banner h2 em,.payment-dialog h2 em{font-style:normal;color:var(--accent)}.hero-copy{max-width:430px;color:#b9bdb4;line-height:1.8;font-size:14px}.hero-actions{display:flex;gap:12px;margin-top:32px;flex-wrap:wrap}.btn{border:0;padding:16px 21px;font:700 11px "DM Sans";letter-spacing:.04em;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:18px;transition:.2s}.btn-primary{background:var(--accent);color:#111}.btn-primary:hover{background:#e6ff85;transform:translateY(-2px)}.btn-ghost{border:1px solid #62665e;color:white}.btn-outline{border:1px solid #777d70;background:transparent;color:inherit}.btn-outline:hover{border-color:var(--accent);color:var(--accent)}.hero-note{display:flex;align-items:center;gap:15px;margin-top:65px;color:#a5a99f;font-size:9px;line-height:1.6;letter-spacing:.16em}.hero-note b{font:600 35px Oswald;color:var(--accent)}.hero-image{position:relative;background:url("https://images.unsplash.com/photo-1534438327276-14e5300c3a48?auto=format&fit=crop&w=1400&q=85") center/cover;min-height:480px;margin:0 -7% 0 0}.image-shade{position:absolute;inset:0;background:linear-gradient(90deg,#101110 0%,transparent 35%),linear-gradient(0deg,#10111055,transparent)}.hero-stamp{position:absolute;right:10%;bottom:12%;border:1px solid #ffffff80;padding:16px 20px;color:white;font:600 19px/1.15 Oswald;letter-spacing:.08em;transform:rotate(-7deg)}.hero-stamp span{color:var(--accent)}.hero-bottom{position:absolute;bottom:22px;left:6.5%;right:6.5%;display:flex;justify-content:space-between;color:#858a80;font-size:8px;letter-spacing:.17em}
.stats{padding:45px 6.5%;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;background:#e5e6df}.stats>div{display:flex;align-items:center;gap:15px;border-right:1px solid #c6c9bf}.stats strong{font:600 43px Oswald;color:#8c9d36}.stats span{font-size:9px;font-weight:800;letter-spacing:.1em;line-height:1.5}.stats .stats-callout{border:0;display:block;font:700 20px/1.1 Oswald}.stats-callout em{color:#859b25;font-style:normal}
.section{padding:105px 8%}.section-dark{background:var(--bg);color:white}.section-heading{margin-bottom:55px}.section-heading .eyebrow{color:#92978c}.section-heading h2{font-size:clamp(48px,6vw,76px);margin:18px 0}.section-heading h2 em{color:#9dbb27}.about-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:8%}.about-photo{min-height:430px;background:url("https://images.unsplash.com/photo-1571902943202-507ec2618e8f?auto=format&fit=crop&w=1200&q=85") center/cover;position:relative}.photo-label{position:absolute;bottom:20px;left:20px;background:var(--accent);padding:12px 15px;color:#111;font-size:9px;font-weight:800;letter-spacing:.1em}.about-copy{padding:10px 0}.lead{font:500 27px/1.3 Oswald}.about-copy>p:not(.lead){color:#aeb2a9;line-height:1.8;font-size:13px}.feature-list{margin-top:32px}.feature-list div{display:flex;gap:18px;border-top:1px solid #343832;padding:16px 0;font-size:12px}.feature-list b{color:var(--accent);font:600 17px Oswald}
.plans-section{background:#f1f1eb}.section-intro{color:#73786e;max-width:520px;font-size:13px;line-height:1.7}.plan-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.plan-card{background:white;padding:28px 23px;position:relative;border:1px solid #e1e3da;min-height:350px;display:flex;flex-direction:column}.plan-card.featured{background:#171a16;color:white;border-color:#171a16}.popular{position:absolute;right:0;top:0;background:var(--accent);color:#111;font-size:8px;font-weight:800;letter-spacing:.1em;padding:9px 11px}.plan-type{font-size:9px;letter-spacing:.16em;font-weight:800;color:#81877a}.plan-card h3{font:600 30px Oswald;margin:14px 0}.price{font:600 29px Oswald;margin:0 0 18px}.price span{font:500 10px "DM Sans";color:#888}.plan-card ul{list-style:none;padding:0;margin:0 0 24px;flex:1}.plan-card li{padding:8px 0;border-bottom:1px solid #e7e9e2;font-size:11px;color:#777}.featured li{border-color:#363a34;color:#c0c4b9}.plan-card .btn{width:100%}.fine-print{font-size:10px;color:#858a80;margin-top:18px;line-height:1.6}
.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.course-card{min-height:420px;padding:24px;display:flex;flex-direction:column;justify-content:space-between;background-size:cover;background-position:center;position:relative;isolation:isolate}.course-card:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#080908ed,transparent 85%);z-index:-1}.course-one{background-image:url("https://images.unsplash.com/photo-1581009146145-b5ef050c2e1e?auto=format&fit=crop&w=900&q=80")}.course-two{background-image:url("https://images.unsplash.com/photo-1517836357463-d25dfeac3438?auto=format&fit=crop&w=900&q=80")}.course-three{background-image:url("https://images.unsplash.com/photo-1534258936925-c58bed479fcb?auto=format&fit=crop&w=900&q=80")}.course-card>span{font-size:9px;letter-spacing:.15em;color:#e3e7db}.course-card h3{font:600 37px/1.05 Oswald;margin:0 0 12px}.course-card p{color:#c5c9bf;font-size:11px;line-height:1.7;max-width:240px}.course-card a{font-size:10px;font-weight:800;color:var(--accent)}
.join-banner{background:#d9ff47;padding:65px 8%;display:flex;align-items:center;justify-content:space-between;gap:25px}.join-banner .eyebrow{color:#58652a}.join-banner h2{font-size:clamp(45px,6vw,72px);margin:12px 0 0}.join-banner h2 em{color:#fff}.join-banner .btn{background:#111;color:#fff}
.contact-section{background:#f1f1eb}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:9%;margin-bottom:55px}.contact-info>div{margin-bottom:28px}.contact-label{font-size:9px;letter-spacing:.16em;font-weight:800;color:#8b923f}.contact-info p{font-size:13px;line-height:1.8}.map-link{display:inline-block;border-bottom:1px solid #9dbb27;padding-bottom:7px;font-size:11px;font-weight:800}.lead-form{background:white;padding:32px;box-shadow:0 12px 40px #1618150b}.lead-form h3{font:600 24px Oswald;margin:0 0 22px}.lead-form label{display:block;font-size:10px;font-weight:700;color:#565b51;margin:12px 0}.lead-form input:not([type=checkbox]),.lead-form select,.lead-form textarea,.payment-form>input{width:100%;margin-top:7px;padding:13px;border:1px solid #dfe2d8;background:#fafbf8;font:12px "DM Sans";outline:none}.lead-form input:focus,.lead-form textarea:focus,.lead-form select:focus{border-color:#9dbb27}.consent{display:flex!important;align-items:flex-start;gap:9px;font-size:9px!important;line-height:1.5}.consent input{margin-top:2px}.lead-form .btn{width:100%;margin-top:7px}.form-status{font-size:11px;color:#526b12;min-height:15px}.map-frame{height:300px;filter:grayscale(1)}.map-frame iframe{width:100%;height:100%;border:0}
.footer{background:#101110;color:white;padding:45px 8% 30px;display:flex;align-items:center;justify-content:space-between;gap:25px;flex-wrap:wrap}.footer>p{font-size:11px;color:#a7aaa3}.footer>div{display:flex;gap:20px;font-size:10px;color:#c4c8bd}.footer>small{width:100%;border-top:1px solid #343832;padding-top:20px;color:#777d72;font-size:9px}
.payment-dialog{border:0;width:min(460px,calc(100% - 30px));padding:38px;background:#171a16;color:white;box-shadow:0 20px 100px #0008}.payment-dialog::backdrop{background:#000a}.payment-dialog h2{font-size:49px;margin:12px 0}.payment-dialog .eyebrow{color:#aeb4a5}.dialog-close{float:right;background:none;border:0;color:white;font-size:28px;cursor:pointer}.selected-plan{color:var(--accent);font-size:12px;font-weight:700;margin-bottom:20px}.payment-form>input{margin:7px 0;background:#242821;border-color:#3a4036;color:white}.payment-form .btn{width:100%;margin:12px 0}.payment-dialog>small{font-size:9px;color:#9da397;line-height:1.6}.cookie-banner{position:fixed;z-index:30;bottom:15px;left:15px;right:15px;background:#fff;padding:17px 20px;box-shadow:0 5px 35px #0002;display:flex;justify-content:space-between;align-items:center;gap:20px}.cookie-banner[hidden]{display:none}.cookie-banner p{font-size:11px;line-height:1.6;max-width:620px}.cookie-banner>div{display:flex;gap:8px}.cookie-banner .btn{padding:12px 15px}
@media(max-width:900px){.nav{gap:16px}.plan-grid{grid-template-columns:repeat(2,1fr)}.hero{padding-top:45px}.hero-image{margin-right:-15%}.stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.site-header{height:70px;padding:0 5%}.menu-toggle{display:block}.nav{display:none;position:absolute;top:70px;left:0;right:0;background:#101110;padding:20px 6%;flex-direction:column;align-items:flex-start}.nav.open{display:flex}.hero{display:block;padding:45px 6% 75px}.hero-content{padding:15px 0}.hero h1{font-size:64px}.hero-image{min-height:300px;margin:0 -7%}.hero-bottom{font-size:7px;gap:10px}.hero-bottom span:nth-child(2){display:none}.stats{padding:30px 6%}.stats>div{padding:10px 0}.section{padding:70px 6%}.about-grid,.contact-grid{grid-template-columns:1fr}.about-photo{min-height:300px}.plan-grid,.course-grid{grid-template-columns:1fr}.plan-card{min-height:320px}.course-card{min-height:350px}.join-banner{padding:45px 6%;display:block}.join-banner .btn{margin-top:25px}.lead-form{padding:23px}.footer{padding:38px 6%}.footer>div{width:100%;flex-wrap:wrap}.cookie-banner{display:block}.cookie-banner>div{margin-top:10px}.cookie-banner .btn{flex:1}.cookie-banner>div{display:flex}}

/* Customer photo gallery */
.gallery-section{background:#111;color:#f7f7f2}.gallery-section .section-intro{color:#c4c4bd}
.gym-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:30px auto;max-width:1200px}
.gym-gallery figure{margin:0;background:#242424;border-radius:10px;overflow:hidden}
.gym-gallery img{display:block;width:100%;height:250px;object-fit:cover}
.gym-gallery figcaption{padding:12px 14px;color:#f7f7f2;font-size:14px}
.gym-gallery .gallery-empty{grid-column:1/-1;border:1px dashed #777;padding:32px;text-align:center;color:#d4d4cd}
@media(max-width:800px){.gym-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.gym-gallery{grid-template-columns:1fr}}

/* Membership reservation checkout */
.booking-form{max-width:680px;margin:24px auto 0}
.payment-choices{border:1px solid #777;padding:16px;margin:8px 0 18px}
.payment-choices legend{padding:0 8px;font-weight:700}
.payment-choices label{display:block;margin:12px 0;line-height:1.5}
.payment-choices input{width:auto;margin-right:8px}
.disabled-choice{opacity:.55}
