
:root{
  --bg:#0a0b0b;--bg2:#111413;--panel:#161a18;--ink:#141715;--muted:#68706b;
  --lime:#a8d92d;--lime2:#c7f14c;--white:#fff;--off:#f3f5f0;--line:#dfe4dc;
  --radius:22px;--radius-sm:14px;--shadow:0 18px 60px rgba(0,0,0,.10);
  --max:1240px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:Inter,Arial,Helvetica,sans-serif;line-height:1.55}
a{color:inherit}svg{width:1.15em;height:1.15em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.container{width:min(var(--max),calc(100% - 48px));margin:auto}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:18px;top:18px;z-index:9999;background:#fff;padding:12px 16px;border-radius:8px}
.site-header{position:sticky;top:0;z-index:1000;background:rgba(7,9,8,.93);color:#fff;border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(14px)}
.nav-shell{height:78px;display:flex;align-items:center;gap:26px}.brand{font-size:32px;font-weight:950;font-style:italic;letter-spacing:-2.4px;text-decoration:none;white-space:nowrap}.brand-four{font-size:1.42em;color:var(--lime);margin:0 -2px}.desktop-nav{margin-left:auto;display:flex;gap:22px;align-items:center}.desktop-nav a{font-size:12px;text-decoration:none;text-transform:uppercase;font-weight:850;letter-spacing:.035em;opacity:.92}.desktop-nav a:hover{color:var(--lime)}
.btn{display:inline-flex;align-items:center;gap:9px;justify-content:center;border-radius:9px;padding:13px 20px;text-decoration:none;text-transform:uppercase;font-weight:900;font-size:12px;letter-spacing:.04em;border:1px solid transparent;transition:.2s transform,.2s background,.2s color}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--lime);color:#0a0b09}.btn-primary:hover{background:var(--lime2)}.btn-ghost{border-color:rgba(255,255,255,.45);color:#fff}.btn-outline{border-color:#b6bcb6;background:#fff}.btn-dark{background:#0b0d0c;color:white}.btn-light{background:#fff;color:#0b0d0c}.btn-lg{padding:16px 24px}.btn-xl{padding:20px 30px;font-size:14px}.nav-cta{margin-left:8px}.menu-toggle{display:none;margin-left:auto;width:42px;height:42px;background:none;border:0}.menu-toggle span{display:block;width:24px;height:2px;background:#fff;margin:5px auto}.mobile-menu{background:#0b0d0c;padding:12px 24px 24px}.mobile-menu a:not(.btn){display:block;padding:11px 0;text-decoration:none;border-bottom:1px solid #242724}

.eyebrow{display:block;color:var(--lime);font-size:11px;font-weight:950;letter-spacing:.14em;text-transform:uppercase;margin-bottom:14px}.green{color:#82ae0e}
.hero{position:relative;background:radial-gradient(circle at 72% 38%,#26301d 0,#121713 26%,#080a09 68%);color:white;overflow:hidden}
.hero-home{min-height:720px}.hero-grid-lines{position:absolute;inset:0;opacity:.14;background-image:linear-gradient(rgba(170,220,50,.25) 1px,transparent 1px),linear-gradient(90deg,rgba(170,220,50,.25) 1px,transparent 1px);background-size:70px 70px;mask-image:linear-gradient(to right,transparent 15%,black 75%)}
.hero-layout{position:relative;z-index:2;min-height:620px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:55px;padding-top:60px;padding-bottom:40px}
.hero-copy h1,.page-hero h1{font-size:clamp(58px,7vw,104px);line-height:.88;margin:0;letter-spacing:-.06em;font-weight:950}.hero-copy h1 span,.page-hero h1 span{color:var(--lime)}.hero-lead{font-size:19px;color:#d8ddd8;max-width:680px;margin:28px 0}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-proof{display:flex;gap:34px;margin-top:38px}.hero-proof div{display:flex;flex-direction:column}.hero-proof strong{font-size:28px;color:var(--lime)}.hero-proof span{font-size:11px;text-transform:uppercase;color:#a9b0aa;letter-spacing:.06em}
.hero-art{position:relative;height:520px}.energy-card{position:absolute;border:1px solid rgba(168,217,45,.45);background:linear-gradient(145deg,rgba(168,217,45,.18),rgba(255,255,255,.035));box-shadow:0 40px 100px rgba(0,0,0,.38);backdrop-filter:blur(8px)}.energy-main{width:66%;height:82%;right:9%;top:8%;border-radius:42px 42px 120px 42px;transform:rotate(3deg);padding:38px;display:flex;flex-direction:column}.energy-label{color:var(--lime);font-weight:950;letter-spacing:.12em}.energy-main strong{font-size:46px;line-height:.94;margin-top:auto}.energy-main small{color:#adb6ad;margin-top:18px}.orbit{position:absolute;border:1px solid rgba(168,217,45,.3);border-radius:50%}.orbit-a{width:380px;height:380px;left:0;bottom:-50px}.orbit-b{width:500px;height:500px;right:-100px;top:-20px}.floating-tag{position:absolute;background:var(--lime);color:#111;padding:10px 16px;border-radius:999px;font-size:11px;font-weight:950;letter-spacing:.08em}.tag-a{left:8%;top:16%}.tag-b{right:0;bottom:16%;background:white}
.hero-bottom{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.13);padding:24px 0 30px}.hero-value{display:flex;gap:12px;align-items:center;border-right:1px solid rgba(255,255,255,.12);padding-right:20px;margin-right:20px}.hero-value:last-child{border:0}.hero-value>svg{color:var(--lime);width:28px;height:28px}.hero-value div{display:flex;flex-direction:column}.hero-value b{text-transform:uppercase;font-size:12px}.hero-value span{font-size:12px;color:#aeb4ae}

.section{padding:92px 0}.section-intro{padding-bottom:30px}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end}.intro-grid h2,.section h2{font-size:clamp(38px,4vw,62px);line-height:.98;letter-spacing:-.045em;margin:0}.intro-grid p{font-size:18px;color:var(--muted);max-width:620px}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:32px}.text-link{display:inline-flex;align-items:center;gap:6px;color:#638500;text-decoration:none;font-weight:850}.head-actions{display:flex;gap:10px}

.class-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.class-card{background:white;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow);transition:.22s transform,.22s box-shadow}.class-card:hover{transform:translateY(-6px);box-shadow:0 26px 70px rgba(0,0,0,.14)}.class-art{height:220px;padding:20px;position:relative;display:flex;align-items:flex-end;background:radial-gradient(circle at 75% 25%,rgba(168,217,45,.32),transparent 32%),linear-gradient(145deg,#0d0f0e,#293226);color:#fff;overflow:hidden}.class-art:before{content:"";position:absolute;width:230px;height:230px;border:1px solid rgba(168,217,45,.35);border-radius:50%;right:-70px;top:-60px}.class-art span{position:absolute;top:18px;left:18px;color:var(--lime);font-weight:900}.class-art b{font-size:24px;letter-spacing:-.02em;position:relative}.class-tabata .class-art{background:radial-gradient(circle at 75% 25%,rgba(255,163,70,.26),transparent 32%),linear-gradient(145deg,#0d0f0e,#33261c)}.class-pilates .class-art,.class-yoga .class-art{background:radial-gradient(circle at 75% 25%,rgba(168,217,45,.20),transparent 32%),linear-gradient(145deg,#2b3028,#101210)}.class-heat .class-art{background:linear-gradient(135deg,#10110f,#4d6128)}.class-mobility .class-art,.class-flex .class-art{background:linear-gradient(135deg,#2a3029,#66765e)}.class-body{padding:20px}.class-body h3{margin:10px 0 8px}.class-body p{color:var(--muted);font-size:14px}.class-body a{display:inline-flex;align-items:center;gap:5px;color:#668600;font-weight:800;text-decoration:none;font-size:13px}.pill{display:inline-block;border:1px solid #ced7c4;border-radius:999px;padding:4px 8px;font-size:10px;text-transform:uppercase;font-weight:800;color:#596056}
.dark-band{background:#0c0e0d;color:white}.split-story-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center}.split-story-grid>div:first-child p{color:#bac1bb;font-size:17px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.steps>div{border:1px solid #2b302d;border-radius:16px;padding:24px;background:#131615}.steps span{color:var(--lime);font-weight:950}.steps b{display:block;font-size:18px;margin:28px 0 8px}.steps p{font-size:13px;color:#9da49e;margin:0}
.schedule-table{border-top:1px solid var(--line)}.schedule-row{display:grid;grid-template-columns:120px 1.5fr 1fr 1fr;gap:20px;align-items:center;padding:18px 10px;border-bottom:1px solid var(--line)}.schedule-row time{font-weight:900}.schedule-row span,.schedule-row em{font-style:normal;color:var(--muted)}.schedule-row em{text-align:right;font-size:12px;text-transform:uppercase}
.pricing-tease{background:var(--off)}.pricing-tease-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.pricing-tease-grid p{color:var(--muted);font-size:17px}.price-stack{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.price-stack div{background:#fff;border:1px solid var(--line);border-radius:16px;padding:30px;min-height:170px;display:flex;flex-direction:column;justify-content:space-between}.price-stack .accent{background:var(--lime);border-color:var(--lime)}.price-stack strong{font-size:28px}.soft{background:var(--off)}
.team-feature-grid,.team-all{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.team-all{grid-template-columns:repeat(4,1fr)}.person-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px;box-shadow:var(--shadow)}.person-visual{height:260px;border-radius:13px;background:radial-gradient(circle at 50% 35%,rgba(168,217,45,.26),transparent 25%),linear-gradient(155deg,#111412,#364330);display:grid;place-items:center;color:var(--lime);font-size:48px;font-weight:950;letter-spacing:-.05em}.person-card h3{margin:16px 5px 2px}.person-card p{margin:0 5px 12px;color:var(--muted);font-size:13px}.person-card a{margin:0 5px 6px;display:inline-flex;align-items:center;gap:4px;color:#638500;text-decoration:none;font-weight:850;font-size:13px}
.quote-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.quote-grid blockquote{margin:0;padding:30px;border:1px solid var(--line);border-radius:18px;background:white}.quote-grid p{font-size:19px;margin-top:0}.quote-grid cite{font-style:normal;color:var(--muted)}.quote-grid .quote-accent{background:#0f120f;color:white;border-color:#0f120f}.quote-grid .quote-accent cite{color:var(--lime)}
.location-strip{padding-top:20px}.location-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:20px;background:#0d100e;color:#fff;border-radius:28px;overflow:hidden}.map-art{min-height:400px;background:linear-gradient(135deg,#e5e9e2,#f7f8f6);color:#151815;position:relative;padding:35px;overflow:hidden}.map-art:before,.map-art:after{content:"";position:absolute;background:#c6cbc3;height:2px;width:150%;left:-20%;transform:rotate(18deg)}.map-art:before{top:36%}.map-art:after{top:66%;transform:rotate(-13deg)}.map-art span,.map-art strong{position:relative;z-index:2}.map-art span{display:block;font-size:11px;letter-spacing:.14em}.map-art strong{font-size:56px;letter-spacing:-.05em}.map-art i{position:absolute;width:34px;height:34px;border-radius:50% 50% 50% 0;background:var(--lime);left:58%;top:48%;transform:rotate(-45deg);z-index:3}.location-copy{padding:60px}.contact-list{display:flex;flex-direction:column;gap:10px;margin:25px 0}.contact-list a{display:flex;align-items:center;gap:9px;text-decoration:none;color:#dde2dd}.contact-list svg{color:var(--lime)}

.page-hero{background:radial-gradient(circle at 80% 20%,#24301c,transparent 34%),#0b0d0c;color:#fff;padding:110px 0 95px;overflow:hidden}.page-hero .container{position:relative}.page-hero h1{font-size:clamp(54px,6.6vw,94px);max-width:1000px}.page-hero p{max-width:680px;color:#b9c0ba;font-size:18px;margin-top:25px}.hero-green{background:radial-gradient(circle at 80% 30%,#4a661d,transparent 36%),#0b0d0c}.hero-heat{background:radial-gradient(circle at 78% 30%,#60792b,transparent 34%),linear-gradient(145deg,#090b09,#11150f)}.profile-hero{background:linear-gradient(135deg,#0a0c0b,#1b2218)}
.start-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:60px}.start-intro p{color:var(--muted);font-size:17px}.start-steps{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.start-steps article{background:var(--off);border-radius:18px;padding:28px}.start-steps b{color:#709400;font-size:18px}.goal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:50px}.goal-grid article{border:1px solid var(--line);border-radius:18px;padding:30px}.goal-grid span{color:#6c8f00;font-weight:900;font-size:11px;letter-spacing:.08em}.big-cta{margin-top:50px;background:var(--lime);border-radius:22px;padding:38px;display:flex;align-items:center;justify-content:space-between;gap:30px}.big-cta.dark{background:#0d0f0e;color:white}.big-cta h2{font-size:38px}
.filter-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}.filter-row button,.schedule-tabs button{border:1px solid #cfd5cc;background:white;border-radius:999px;padding:10px 16px;text-transform:uppercase;font-size:11px;font-weight:900;cursor:pointer}.filter-row button.active,.schedule-tabs button.active{background:var(--lime);border-color:var(--lime)}.all-classes{grid-template-columns:repeat(4,1fr)}.all-classes .class-art{height:190px}.note-panel{margin-top:36px;border-radius:20px;background:var(--off);padding:30px;display:grid;grid-template-columns:auto 1fr auto;gap:25px;align-items:center}.note-panel p{margin:0;color:var(--muted)}
.heat-layout{display:grid;grid-template-columns:1fr 340px;gap:70px}.heat-main>p{font-size:18px;color:var(--muted)}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:35px 0 55px}.metric-grid div{background:var(--off);padding:24px;border-radius:16px}.metric-grid strong{display:block;font-size:30px}.metric-grid span{color:var(--muted);font-size:12px;text-transform:uppercase}.heat-variants{display:grid;grid-template-columns:1fr 1fr;gap:12px}.heat-variants article{border:1px solid var(--line);border-radius:16px;padding:22px}.heat-variants p{font-size:13px;color:var(--muted)}.heat-aside{position:sticky;top:100px;height:max-content;background:#101310;color:#fff;border-radius:22px;padding:30px}.heat-aside>span{color:var(--lime);font-weight:900}.heat-aside ul{padding-left:18px;color:#c8cdc8}.heat-aside li{margin:14px 0}
.schedule-tabs{display:flex;gap:8px;margin-bottom:24px}.weekly{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.day-card{border:1px solid var(--line);border-radius:16px;padding:22px}.day-card h3{margin-top:0;font-size:21px}.day-card div{font-size:13px;padding:11px 0;border-top:1px solid #edf0eb}.pricing-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.pricing-grid article{border:1px solid var(--line);border-radius:18px;padding:28px}.pricing-grid article span{font-size:11px;font-weight:900;letter-spacing:.08em;color:#697169}.pricing-grid article strong{display:block;font-size:38px;margin:12px 0}.pricing-grid article.featured{background:var(--lime);border-color:var(--lime)}.content-split{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin-top:65px}.price-list div{display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid var(--line)}.check-list{list-style:none;padding:0}.check-list li{padding:12px 0 12px 30px;border-bottom:1px solid var(--line);position:relative}.check-list li:before{content:"✓";position:absolute;left:0;color:#709400;font-weight:950}
.space-showcase{display:grid;grid-template-columns:1fr 1fr;gap:18px}.space-card{min-height:520px;border-radius:24px;padding:40px;color:white;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;overflow:hidden;position:relative}.space-card:before{content:"";position:absolute;inset:-25%;background:repeating-radial-gradient(circle at 80% 10%,rgba(168,217,45,.20) 0 2px,transparent 3px 34px);transform:rotate(10deg)}.space-card>*{position:relative}.space-gym{background:linear-gradient(145deg,#0b0e0c,#263021)}.space-heat{background:linear-gradient(145deg,#11110d,#3d4722)}.space-card>span{margin-bottom:auto;color:var(--lime);font-size:34px;font-weight:900}.space-card h2{font-size:50px}.space-card p{max-width:500px;color:#c7cdc7}.feature-strip{display:grid;grid-template-columns:repeat(3,1fr);margin-top:18px;border:1px solid var(--line);border-radius:18px}.feature-strip div{padding:25px;border-right:1px solid var(--line)}.feature-strip div:last-child{border:0}.feature-strip span{display:block;color:var(--muted);font-size:13px}
.about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.about-quote{background:#0c0f0d;color:white;padding:45px;border-radius:22px}.about-quote>span{font-size:90px;color:var(--lime);line-height:.6}.about-quote blockquote{font-size:28px;margin:20px 0}.about-quote cite{font-style:normal;color:#aeb6af}.about-copy p{font-size:17px;color:var(--muted)}.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:60px}.values-grid article{background:var(--off);padding:26px;border-radius:16px}.values-grid b{color:#709400}
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:20px}.contact-cards{display:grid;gap:12px}.contact-card{display:grid;grid-template-columns:48px 1fr;text-decoration:none;border:1px solid var(--line);border-radius:18px;padding:22px;align-items:center}.contact-card svg{grid-row:1/4;color:#709400;width:30px;height:30px}.contact-card span{font-size:11px;text-transform:uppercase;font-weight:900;color:var(--muted)}.contact-card strong{font-size:20px}.contact-card small{color:var(--muted)}.map-large{min-height:510px;border-radius:22px}.invoice-note{margin-top:45px}.reservation-flow{text-align:center}.reservation-flow .steps.big{margin-bottom:35px}.steps.big>div{text-align:left;background:var(--off);color:var(--ink);border-color:var(--line)}.steps.big b{font-size:22px}.steps.big p{color:var(--muted)}
.profile-layout{display:grid;grid-template-columns:360px 1fr;gap:70px}.profile-card{background:var(--off);border-radius:22px;padding:20px}.profile-avatar{height:360px;border-radius:16px;background:radial-gradient(circle at 50% 32%,rgba(168,217,45,.32),transparent 25%),linear-gradient(145deg,#0c0f0d,#35452c);display:grid;place-items:center;color:var(--lime);font-size:72px;font-weight:950;margin-bottom:25px}.profile-copy blockquote{font-size:30px;margin:10px 0 45px;border-left:4px solid var(--lime);padding-left:20px}.profile-copy p{font-size:17px;color:var(--muted)}.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:25px}.chips span{border:1px solid #cbd2c7;border-radius:999px;padding:8px 12px;font-size:11px;font-weight:850;text-transform:uppercase}
.prose{max-width:850px}.prose h1{font-size:52px}.site-footer{background:#080a09;color:#cfd5cf;padding:70px 0 20px}.footer-top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:50px}.footer-brand{color:white;margin-bottom:12px}.footer-brand-block p{max-width:380px;color:#8f9790}.footer-top h3{color:white;font-size:13px;text-transform:uppercase;letter-spacing:.08em}.footer-top>div:not(:first-child){display:flex;flex-direction:column;gap:8px}.footer-top a{text-decoration:none}.footer-reserve{display:inline-flex;align-items:center;gap:6px;color:var(--lime);font-weight:900}.footer-bottom{margin-top:45px;padding-top:20px;border-top:1px solid #202420;display:flex;justify-content:space-between;color:#68706a;font-size:12px}
.reveal{animation:f4up .55s ease both}@keyframes f4up{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

@media(max-width:1100px){
  .desktop-nav,.nav-cta{display:none}.menu-toggle{display:block}.hero-layout{grid-template-columns:1fr}.hero-art{display:none}.hero-home{min-height:auto}.hero-layout{min-height:auto;padding:90px 0 50px}
  .hero-bottom{grid-template-columns:1fr 1fr;gap:18px}.class-grid,.all-classes{grid-template-columns:repeat(2,1fr)}.team-feature-grid,.team-all{grid-template-columns:repeat(3,1fr)}.pricing-tease-grid,.intro-grid,.split-story-grid,.start-grid,.heat-layout,.content-split,.about-grid,.contact-grid,.profile-layout{grid-template-columns:1fr}.heat-aside{position:static}.weekly{grid-template-columns:repeat(2,1fr)}.footer-top{grid-template-columns:1.5fr 1fr 1fr}.footer-top>div:last-child{display:none}
}
@media(max-width:720px){
  .container{width:min(100% - 28px,var(--max))}.nav-shell{height:68px}.brand{font-size:27px}
  .hero-copy h1,.page-hero h1{font-size:49px}.hero-lead{font-size:16px}.hero-actions{flex-direction:column;align-items:stretch}.hero-proof{gap:20px}.hero-bottom{grid-template-columns:1fr}.hero-value{border-right:0;border-bottom:1px solid rgba(255,255,255,.12);padding:10px 0 18px}
  .section{padding:62px 0}.section-head{align-items:flex-start;flex-direction:column}.class-grid,.all-classes,.team-feature-grid,.team-all,.pricing-grid,.goal-grid,.weekly,.quote-grid,.values-grid,.space-showcase,.price-stack,.start-steps,.heat-variants{grid-template-columns:1fr}.class-grid-featured .class-card:nth-child(n+5){display:none}
  .schedule-row{grid-template-columns:80px 1fr}.schedule-row span,.schedule-row em{grid-column:2}.pricing-tease-grid{gap:35px}.team-all{gap:12px}.person-visual{height:220px}.location-grid{grid-template-columns:1fr}.map-art{min-height:280px}.location-copy{padding:35px}.note-panel{grid-template-columns:1fr}.big-cta{align-items:flex-start;flex-direction:column}.feature-strip{grid-template-columns:1fr}.feature-strip div{border-right:0;border-bottom:1px solid var(--line)}.footer-top{grid-template-columns:1fr 1fr}.footer-brand-block{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:8px}.profile-avatar{height:280px}
}

/* v0.3.0 system + graphic polish */
.hero-motion-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:44px;box-shadow:0 40px 100px rgba(0,0,0,.42);border:1px solid rgba(168,217,45,.30)}
.hero-art{border-radius:44px;overflow:visible}.class-art{display:flex;text-decoration:none;background-size:cover;background-position:center}.class-art.has-photo:before{background:linear-gradient(transparent,rgba(0,0,0,.3));border:0;border-radius:0;inset:0;width:auto;height:auto}.class-body small{display:block;color:#8a918b;font-weight:750;margin-top:10px}
.person-visual{display:grid;text-decoration:none;background-size:cover;background-position:center}.person-visual.has-photo span{align-self:end;justify-self:start;margin:18px;color:#fff;font-size:16px;letter-spacing:.04em;text-shadow:0 2px 15px rgba(0,0,0,.75)}
.map-with-svg{background-size:cover;background-position:center}.map-with-svg:before,.map-with-svg:after{display:none}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.single-featured img,.profile-photo img{display:block;width:100%;height:auto;border-radius:18px}.profile-photo{margin-bottom:24px}
.fit4fun-admin-note{border-left:4px solid var(--lime);background:var(--off);padding:18px 22px;border-radius:10px}
:focus-visible{outline:3px solid var(--lime);outline-offset:3px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.btn,.class-card{animation:none!important;transition:none!important}}

/* v0.4.0 local photography / brand asset layer */
.brand-logo{display:block;width:118px;height:auto;max-height:54px;object-fit:contain}
.footer-brand .brand-logo{width:145px}
.hero-photo:after{content:"";position:absolute;inset:0;background:
 linear-gradient(90deg,rgba(5,7,6,.96) 0%,rgba(5,7,6,.80) 35%,rgba(5,7,6,.28) 68%,rgba(5,7,6,.18) 100%),
 var(--f4hero) center right/cover no-repeat;z-index:0;opacity:.58}
.hero-photo .hero-grid-lines{z-index:1}
.hero-photo .hero-layout,.hero-photo .hero-bottom{z-index:2}
.hero-photo-card{position:absolute;inset:7% 3% 7% 3%;background-size:cover;background-position:center;border-radius:42px;border:1px solid rgba(168,217,45,.38);box-shadow:0 35px 100px rgba(0,0,0,.5);display:flex;flex-direction:column;justify-content:flex-end;padding:34px;overflow:hidden}
.hero-photo-card span{color:var(--lime);font-size:11px;letter-spacing:.14em;font-weight:950}
.hero-photo-card strong{font-size:40px;line-height:.95;margin-top:8px}
.class-art.has-photo{background-size:cover!important;background-position:center!important}
.space-card{background-size:cover!important;background-position:center!important}
@media(max-width:1100px){.brand-logo{width:105px}.hero-photo:after{background-position:62% center}}

/* v0.5.0 — supplied design photography */
.page-hero-photo{position:relative;background:#0b0d0c;isolation:isolate}
.page-hero-photo:before{content:"";position:absolute;inset:0;background:
 linear-gradient(90deg,rgba(7,9,8,.96) 0%,rgba(7,9,8,.82) 42%,rgba(7,9,8,.38) 72%,rgba(7,9,8,.28) 100%),
 var(--page-hero-photo) center/cover no-repeat;z-index:-2}
.page-hero-photo:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 30%,rgba(168,217,45,.16),transparent 35%);z-index:-1;pointer-events:none}
.page-hero-photo .container{position:relative;z-index:1}
.hero-photo-card{background-position:center 30%!important}
.class-art{min-height:225px}
.class-art.has-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(7,9,8,.72),transparent 62%);pointer-events:none}
.class-art b,.class-art span{z-index:2}
.person-visual.has-photo{min-height:280px}
.space-card{min-height:560px}
@media(max-width:720px){
  .page-hero-photo:before{background:
    linear-gradient(90deg,rgba(7,9,8,.92),rgba(7,9,8,.62)),
    var(--page-hero-photo) 58% center/cover no-repeat}
  .class-art{min-height:210px}.space-card{min-height:430px}
}

/* v0.6.0 — visual rhythm, photo storytelling, responsive polish */
.desktop-nav a.is-active{color:var(--lime);position:relative}
.desktop-nav a.is-active:after{content:"";position:absolute;left:0;right:0;bottom:-10px;height:2px;background:var(--lime)}
.mobile-menu a.is-active{color:var(--lime)}
.menu-open{overflow:hidden}

.hero-home{min-height:760px}
.hero-layout{grid-template-columns:.9fr 1.1fr}
.hero-collage{position:absolute;inset:4% 0 4% 0}
.hero-collage figure{margin:0;overflow:hidden;border:1px solid rgba(168,217,45,.28);box-shadow:0 24px 70px rgba(0,0,0,.42)}
.hero-collage img{display:block;width:100%;height:100%;object-fit:cover}
.hero-collage-main{position:absolute;left:8%;top:5%;width:69%;height:78%;border-radius:36px}
.hero-collage-main:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(5,7,6,.78),transparent 55%)}
.hero-collage-main figcaption{position:absolute;z-index:2;left:28px;bottom:25px;color:#fff}
.hero-collage-main figcaption span{display:block;color:var(--lime);font-size:10px;letter-spacing:.14em;font-weight:950}
.hero-collage-main figcaption strong{display:block;font-size:34px;line-height:.92;margin-top:7px}
.hero-collage-small{position:absolute;width:31%;height:31%;border-radius:18px}
.hero-collage-community{right:0;top:0}
.hero-collage-studio{right:3%;bottom:2%}
.tag-a{left:0;top:17%;z-index:5}.tag-b{right:1%;bottom:34%;z-index:5}

.photo-story{padding:12px 0 92px}
.photo-story-grid{display:grid;grid-template-columns:1.45fr .75fr;grid-template-rows:1fr 1fr;gap:14px;height:590px}
.photo-story figure{position:relative;margin:0;overflow:hidden;border-radius:22px;background:#111}
.photo-story-big{grid-row:1/3}.photo-story img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .6s ease}
.photo-story figure:hover img{transform:scale(1.025)}
.photo-story figure:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(6,8,7,.76),transparent 55%)}
.photo-story figcaption{position:absolute;z-index:2;left:24px;right:24px;bottom:22px;color:#fff;font-weight:900}
.photo-story-big figcaption{display:flex;flex-direction:column}.photo-story-big figcaption b{font-size:32px;line-height:1}.photo-story-big figcaption span{margin-top:7px;color:#d9ddd8;font-size:14px;font-weight:500}

.classes-section{background:#f8f9f6}
.why-section{background:#0b0e0c;color:#fff}
.why-section .section-head{margin-bottom:38px}.why-section h2{max-width:760px}
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.why-grid article{position:relative;padding:30px 24px;border:1px solid #272c28;border-radius:18px;background:linear-gradient(150deg,#141815,#0d100e);min-height:260px}
.why-grid article>svg{width:34px;height:34px;color:var(--lime)}
.why-grid article>span{position:absolute;right:20px;top:22px;color:#4a514a;font-size:13px;font-weight:900}
.why-grid h3{font-size:20px;margin-top:38px}.why-grid p{font-size:14px;color:#aeb6af}

.start-photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center;margin-top:55px;background:var(--off);border-radius:22px;overflow:hidden}
.start-photo-pair figure{margin:0;height:390px}.start-photo-pair img{width:100%;height:100%;object-fit:cover;display:block}.start-photo-pair>div{padding:40px 50px 40px 10px}.start-photo-pair p{color:var(--muted);font-size:17px}

.space-gallery{display:grid;grid-template-columns:1.3fr .7fr .7fr;grid-template-rows:240px 240px;gap:14px;margin-top:28px}
.space-gallery figure{margin:0;border-radius:18px;overflow:hidden;background:#111}.space-gallery .wide{grid-row:1/3}.space-gallery figure:last-child{grid-column:2/4}
.space-gallery img{width:100%;height:100%;object-fit:cover;display:block}
.about-photo-break{display:grid;grid-template-columns:1.3fr .7fr;gap:14px;margin-top:70px}.about-photo-break figure{margin:0;height:390px;border-radius:20px;overflow:hidden}.about-photo-break img{width:100%;height:100%;object-fit:cover;display:block}

.mobile-reserve-bar{display:none}
.reveal-ready{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease}
.reveal-ready.is-visible{opacity:1;transform:none}

@media(max-width:1100px){
  .hero-layout{grid-template-columns:1fr}.hero-art{display:block;height:420px;margin-top:5px}
  .hero-collage{position:relative;height:420px}.hero-collage-main{left:0;width:72%}.hero-collage-community{right:0}.hero-collage-studio{right:2%}
  .why-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:720px){
  body{padding-bottom:74px}.hero-home{min-height:auto}.hero-art{height:335px;margin-top:20px}.hero-collage{height:335px}
  .hero-collage-main{left:0;top:0;width:82%;height:88%;border-radius:24px}.hero-collage-main figcaption strong{font-size:25px}
  .hero-collage-small{width:36%;height:31%}.hero-collage-community{right:0;top:8%}.hero-collage-studio{right:0;bottom:1%}.floating-tag{display:none}
  .photo-story{padding:0 0 62px}.photo-story-grid{display:grid;height:auto;grid-template-columns:1fr 1fr;grid-template-rows:320px 180px}.photo-story-big{grid-column:1/3;grid-row:auto}.photo-story-big figcaption b{font-size:25px}
  .why-grid{grid-template-columns:1fr}.why-grid article{min-height:220px}
  .start-photo-pair{grid-template-columns:1fr}.start-photo-pair figure{height:280px}.start-photo-pair>div{padding:28px}
  .space-gallery{grid-template-columns:1fr 1fr;grid-template-rows:280px 190px 190px}.space-gallery .wide{grid-column:1/3;grid-row:auto}.space-gallery figure:last-child{grid-column:1/3}
  .about-photo-break{grid-template-columns:1fr;gap:10px}.about-photo-break figure{height:260px}.about-photo-break figure:last-child{height:190px}
  .mobile-reserve-bar{position:fixed;display:flex;z-index:2000;left:10px;right:10px;bottom:10px;min-height:60px;border-radius:15px;background:rgba(11,14,12,.96);box-shadow:0 10px 35px rgba(0,0,0,.35);border:1px solid #282e29;align-items:center;justify-content:space-between;padding:8px 9px 8px 16px;color:#fff;backdrop-filter:blur(12px)}
  .mobile-reserve-bar span{display:flex;flex-direction:column}.mobile-reserve-bar b{font-size:13px}.mobile-reserve-bar small{font-size:10px;color:#929a93}.mobile-reserve-bar .btn{padding:11px 15px}
}
