/* FIT LIFE — redesigned 2026 */
:root {
  --ink:#080a0b; --ink-2:#101315; --panel:#15191b; --line:#2a3033;
  --text:#f5f7ef; --muted:#9ca3a0; --lime:#B7DB15; --lime-2:#B7DB15;
  --display:"Bebas Neue",Impact,sans-serif; --body:"Montserrat",Arial,sans-serif;
  --max:1240px; --r:22px; --ease:220ms cubic-bezier(.2,.8,.2,1);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--text);font-family:var(--body);line-height:1.6;overflow-x:hidden}body::before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.035;background-image:radial-gradient(#fff 1px,transparent 1px);background-size:4px 4px;z-index:999}
img{max-width:100%;display:block}a{color:inherit;text-decoration:none}ul,ol{list-style:none;margin:0;padding:0}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}table{width:100%;border-collapse:collapse}h1,h2,h3,h4,p,figure{margin:0}
:focus-visible{outline:3px solid var(--lime);outline-offset:4px}.container{width:min(calc(100% - 48px),var(--max));margin-inline:auto}.section{padding:110px 0}.section--tight{padding:72px 0}.section--surface{background:var(--ink-2);border-block:1px solid var(--line)}
.skip-link{position:fixed;left:20px;top:-80px;background:var(--lime);color:#080a0b;padding:12px 18px;z-index:1000;font-weight:800}.skip-link:focus{top:20px}
.eyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--lime);font-size:.72rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;margin-bottom:18px}.eyebrow::before{content:"";width:30px;height:2px;background:currentColor}
h1,.h1,h2,.h2,h3,.h3{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:.01em;line-height:.92}h1,.h1{font-size:clamp(4rem,8.7vw,8.4rem)}h2,.h2{font-size:clamp(3rem,5.6vw,5.4rem)}h3,.h3{font-size:clamp(1.55rem,2.2vw,2.15rem)}.lede{font-size:clamp(1rem,1.5vw,1.2rem);color:var(--muted);max-width:55ch}.section-head{display:grid;grid-template-columns:.7fr 1.3fr;align-items:end;gap:30px;margin-bottom:48px}.section-head .eyebrow{align-self:start}.section-head h2{max-width:12ch}
.btn{min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:14px 24px;border:1px solid var(--line);border-radius:100px;font-weight:800;font-size:.84rem;transition:transform var(--ease),background var(--ease),border-color var(--ease),color var(--ease)}.btn:hover{transform:translateY(-3px);border-color:var(--lime)}.btn--primary{background:var(--lime);color:#070900;border-color:var(--lime)}.btn--primary:hover{background:var(--lime-2);color:#070900}.btn--ghost{background:transparent}.btn--on-lime{background:#080a0b;color:var(--lime);border-color:#080a0b}.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.site-header{height:80px;position:sticky;top:0;z-index:100;background:rgba(8,10,11,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.08)}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between}.logo{font-family:var(--display);font-size:2rem;letter-spacing:.04em}.logo span{color:var(--lime)}.main-nav{display:flex;align-items:center;gap:38px}.nav-links{display:flex;align-items:center;gap:28px}.nav-links a{position:relative;color:var(--muted);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.nav-links a::after{content:"";position:absolute;left:0;right:100%;bottom:-10px;height:2px;background:var(--lime);transition:right var(--ease)}.nav-links a:hover,.nav-links a[aria-current=page]{color:var(--text)}.nav-links a:hover::after,.nav-links a[aria-current=page]::after{right:0}.header-actions{display:flex;gap:8px}.header-actions .btn{min-height:42px;padding:10px 16px;font-size:.74rem}.nav-toggle{display:none;width:46px;height:46px;border:1px solid var(--line);border-radius:50%;align-items:center;justify-content:center}.nav-toggle svg{width:20px}
.hero{position:relative;min-height:calc(100vh - 80px);display:grid;align-items:center;padding:60px 0 72px;overflow:hidden;background:radial-gradient(circle at 70% 25%,rgba(182,255,0,.11),transparent 30%)}.hero::after{content:"FIT LIFE";position:absolute;left:-1vw;bottom:-8vw;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.055);font:400 24vw/1 var(--display);white-space:nowrap}.hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:1.04fr .96fr;align-items:center;gap:70px}.hero-copy{padding-top:20px}.hero h1 em{font-style:normal;color:var(--lime)}.hero .lede{margin-top:28px;max-width:46ch}.hero-stats{display:flex;gap:38px;margin-top:55px;padding-top:28px;border-top:1px solid var(--line)}.hero-stats div{display:flex;flex-direction:column}.hero-stats strong{font:400 2.5rem/1 var(--display);color:var(--text)}.hero-stats span{margin-top:7px;color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}.hero-visual{position:relative;min-height:560px}.hero-photo{position:absolute;overflow:hidden;background:var(--panel);border:1px solid var(--line)}.hero-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.82) contrast(1.05)}.hero-photo--main{right:0;top:0;width:82%;aspect-ratio:4/5;border-radius:180px 22px 22px 22px}.hero-photo--small{left:0;bottom:8px;width:42%;aspect-ratio:1;border:8px solid var(--ink);border-radius:50%}.hero-stamp{position:absolute;right:-30px;bottom:20px;width:116px;height:116px;border-radius:50%;display:grid;place-content:center;text-align:center;background:var(--lime);color:#080a0b;font:400 1.2rem/1 var(--display);letter-spacing:.08em;transform:rotate(8deg)}.diag-mark{display:none}
.info-strip{position:relative;z-index:3;background:var(--lime);color:#080a0b}.info-strip .container{min-height:88px;display:grid;grid-template-columns:1.2fr 1.7fr .6fr;align-items:center}.info-item{height:100%;display:flex;align-items:center;gap:12px;padding:20px 26px;border-left:1px solid rgba(8,10,11,.22);font-size:.78rem}.info-item:last-child{border-right:1px solid rgba(8,10,11,.22)}.info-item svg{width:22px;flex:0 0 auto}.info-item strong{font-weight:800}
.directions-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px;counter-reset:direction}.direction-card{counter-increment:direction;grid-column:span 4;min-height:280px;padding:28px;position:relative;display:flex;flex-direction:column;justify-content:flex-end;background:var(--ink-2);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:transform var(--ease),border-color var(--ease),background var(--ease)}.direction-card:nth-child(1),.direction-card:nth-child(5){grid-column:span 8}.direction-card::before{content:"0" counter(direction);position:absolute;top:24px;right:26px;color:#69706d;font:400 1.15rem/1 var(--display)}.direction-card::after{content:"";position:absolute;width:150px;height:150px;right:-90px;top:-90px;border:35px solid rgba(182,255,0,.07);border-radius:50%;transition:transform var(--ease)}.direction-card:hover{transform:translateY(-6px);border-color:var(--lime);background:#171d1c}.direction-card:hover::after{transform:scale(1.4)}.direction-card svg{width:38px;height:38px;color:var(--lime);margin-bottom:auto}.direction-card h3{max-width:14ch;margin-bottom:12px}.direction-card p{color:var(--muted);font-size:.86rem;max-width:52ch}
.trainers-strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(190px,1fr);gap:16px;overflow:auto;padding-bottom:18px;scroll-snap-type:x mandatory}.trainer-mini{scroll-snap-align:start;text-align:left}.portrait{overflow:hidden;background:var(--panel)}.portrait img{width:100%;height:100%;object-fit:cover}.trainer-mini .portrait{width:100%;aspect-ratio:4/5;border-radius:120px 120px 16px 16px;filter:grayscale(.25);transition:filter var(--ease),transform var(--ease)}.trainer-mini:hover .portrait{filter:none;transform:translateY(-5px)}.trainer-mini .name{font:400 1.45rem/1 var(--display);margin-top:17px}.trainer-mini .role{font-size:.72rem;color:var(--lime);text-transform:uppercase;margin-top:5px}.cta-banner{position:relative;overflow:hidden;background:var(--lime);color:#080a0b;border-radius:var(--r);padding:60px;display:flex;align-items:center;justify-content:space-between;gap:30px}.cta-banner::after{content:"GO";position:absolute;right:18%;top:-35px;color:rgba(8,10,11,.07);font:400 12rem/1 var(--display)}.cta-banner>*{position:relative;z-index:1}.cta-banner h2{max-width:10ch}.cta-banner .cta-row{margin:0}
.page-hero{position:relative;padding:100px 0 76px;border-bottom:1px solid var(--line);overflow:hidden;background:linear-gradient(115deg,var(--ink) 35%,#101712)}.page-hero::after{content:attr(data-title);position:absolute;right:-10px;bottom:-38px;color:transparent;-webkit-text-stroke:1px rgba(182,255,0,.13);font:400 12rem/1 var(--display)}.page-hero .container{display:grid;grid-template-columns:.8fr 1.2fr;gap:40px;align-items:end}.page-hero .eyebrow{align-self:start}.page-hero .h1{font-size:clamp(3.8rem,7vw,7rem)!important}.page-hero .lede{margin-top:24px!important}
.data-table-wrap{overflow:hidden;background:var(--ink-2);border:1px solid var(--line);border-radius:var(--r)}.data-table caption{text-align:left;padding:18px 24px;border-bottom:1px solid var(--line);color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.12em}.data-table th,.data-table td{text-align:left;padding:18px 24px;border-bottom:1px solid var(--line);font-size:.86rem}.data-table thead th{background:rgba(182,255,0,.06);color:var(--lime);font-size:.68rem;text-transform:uppercase;letter-spacing:.1em}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr{transition:background var(--ease)}.data-table tbody tr:hover{background:rgba(182,255,0,.045)}.data-table td.price{color:var(--lime);font-weight:800;white-space:nowrap}.data-table td.note,.cell-muted{color:var(--muted)}.note-callout{display:flex;gap:12px;margin-top:20px;padding:20px 22px;border-left:3px solid var(--lime);background:rgba(182,255,0,.055);color:var(--muted);font-size:.85rem}.note-callout svg{width:20px;flex:0 0 auto;color:var(--lime)}.note-callout strong{color:var(--text)}
.price-block+.price-block{margin-top:76px}.price-block-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:22px}.price-block-head h2{font-size:clamp(2.4rem,4vw,4rem)}.tag-list{display:flex;flex-wrap:wrap;gap:6px}.tag{padding:6px 10px;border:1px solid rgba(182,255,0,.35);border-radius:100px;color:var(--lime);font-size:.62rem;font-weight:700;text-transform:uppercase}.discount-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:28px}.discount-card{display:flex;align-items:center;gap:22px;padding:28px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r)}.discount-card .percent{font:400 4rem/1 var(--display);color:var(--lime)}.discount-card p{color:var(--muted);font-size:.86rem}
.booking-steps{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:34px}.step-card{display:flex;align-items:center;gap:16px;padding:18px;border-top:1px solid var(--line)}.step-card .num{font:400 2rem/1 var(--display);color:var(--lime)}.step-card p{font-size:.78rem;color:var(--muted)}.trainers-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.trainer-card{position:relative;min-height:520px;display:flex;flex-direction:column;padding:0 26px 26px;background:var(--ink-2);border:1px solid var(--line);border-radius:160px 160px var(--r) var(--r);overflow:hidden;transition:transform var(--ease),border-color var(--ease)}.trainer-card:hover{transform:translateY(-6px);border-color:var(--lime)}.trainer-card-top{display:block}.trainer-card .portrait{width:calc(100% + 52px);margin-left:-26px;aspect-ratio:1.15;border-radius:0;border:0}.trainer-card h3{margin-top:22px}.trainer-card .tag-list{margin-top:10px}.trainer-card .bio{margin-top:18px;color:var(--muted);font-size:.8rem}.trainer-card .quote{margin-top:12px;padding-left:12px;border-left:2px solid var(--lime);color:#c8ceca;font-size:.76rem}.trainer-card .btn{align-self:flex-start;margin-top:auto;min-height:42px;padding:10px 16px;font-size:.7rem}
.contacts-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px}.contact-item{display:grid;grid-template-columns:42px 1fr;gap:14px;padding:20px 0;border-bottom:1px solid var(--line)}.contact-item svg{width:22px;color:var(--lime)}.contact-item h3{font-family:var(--body);font-size:.75rem;letter-spacing:.1em;color:var(--muted)}.contact-item p,.contact-item a{font-size:1rem}.contact-item a:hover{color:var(--lime)}.hours-table td{padding:5px 0;font-size:.84rem}.hours-table td:last-child{text-align:right;color:var(--muted)}.hours-table tr.today td{color:var(--lime);font-weight:800}.map-frame{min-height:540px;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;filter:grayscale(1) contrast(1.1)}.map-frame iframe{width:100%;height:100%;border:0}
.site-footer{padding:70px 0 28px;background:#050607;border-top:1px solid var(--line)}.footer-grid{display:grid;grid-template-columns:1.5fr .7fr 1fr;gap:70px;padding-bottom:55px}.footer-col h4{color:var(--lime);font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;margin-bottom:16px}.footer-col p,.footer-col a{color:var(--muted);font-size:.82rem}.footer-col a{display:block;padding:5px 0}.footer-col a:hover{color:var(--lime)}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:24px;border-top:1px solid var(--line);color:#69706d;font-size:.72rem}
@media(max-width:980px){.hero-inner{gap:30px}.hero-visual{min-height:470px}.section-head,.page-hero .container{grid-template-columns:1fr}.section-head{gap:4px}.direction-card,.direction-card:nth-child(1),.direction-card:nth-child(5){grid-column:span 6}.trainers-grid{grid-template-columns:repeat(2,1fr)}.contacts-grid{grid-template-columns:1fr}.map-frame{min-height:420px}}
@media(max-width:760px){.container{width:min(calc(100% - 32px),var(--max))}.section{padding:76px 0}.site-header{height:70px}.header-actions{display:none}.nav-toggle{display:flex}.main-nav.is-open{position:fixed;inset:70px 0 0;background:var(--ink);display:flex;flex-direction:column;align-items:stretch;padding:28px;overflow:auto}.main-nav:not(.is-open) .nav-links{display:none}.main-nav.is-open .nav-links{display:flex;flex-direction:column;align-items:stretch;gap:0}.main-nav.is-open .nav-links a{display:block;padding:16px 0;border-bottom:1px solid var(--line);font:400 2.1rem/1 var(--display)}.main-nav.is-open .header-actions{display:flex;flex-direction:column;margin-top:26px}.hero{min-height:auto;padding:60px 0}.hero-inner{grid-template-columns:1fr}.hero h1{font-size:clamp(4rem,18vw,6.5rem)}.hero-visual{min-height:420px}.hero-photo--main{width:78%}.hero-stamp{right:0}.hero-stats{gap:20px;justify-content:space-between}.info-strip .container{grid-template-columns:1fr}.info-item,.info-item:last-child{border:0;border-bottom:1px solid rgba(8,10,11,.2);padding:14px 0}.section-head h2{font-size:3.6rem}.directions-grid{display:grid;grid-template-columns:1fr}.direction-card,.direction-card:nth-child(1),.direction-card:nth-child(5){grid-column:1;min-height:240px}.cta-banner{padding:36px 26px;align-items:flex-start;flex-direction:column}.page-hero{padding:72px 0 56px}.booking-steps{grid-template-columns:1fr}.trainers-grid{grid-template-columns:1fr}.trainer-card{min-height:540px}.discount-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr;gap:34px}.footer-bottom{flex-direction:column}}
@media(max-width:620px){.data-table thead{display:none}.data-table,.data-table tbody,.data-table tr,.data-table td{display:block;width:100%}.data-table tr{padding:14px 18px;border-bottom:1px solid var(--line)}.data-table td{display:flex;justify-content:space-between;gap:20px;padding:6px 0;border:0}.data-table td::before{content:attr(data-label);color:var(--muted);font-size:.64rem;text-transform:uppercase}.page-hero .h1{font-size:3.7rem!important}.map-frame{min-height:340px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Client refinements */
body::before{display:none}
.trainer-mini .portrait{aspect-ratio:1;border-radius:50%}
.trainer-card{padding:28px 26px 26px;border-radius:var(--r);align-items:flex-start}
.trainer-card .portrait{width:170px;aspect-ratio:1;margin-left:0;border:3px solid var(--lime);border-radius:50%}
.hero-photo--main{top:22px;width:80%;aspect-ratio:1;border-radius:50%;border:2px solid var(--line)}
.hero-photo--small{border-radius:50%}
.hero{background:radial-gradient(circle at 70% 25%,rgba(183,219,21,.11),transparent 30%)}
.direction-card::after{border-color:rgba(183,219,21,.07)}
.page-hero::after{-webkit-text-stroke-color:rgba(183,219,21,.13)}
.data-table thead th{background:rgba(183,219,21,.06)}
.data-table tbody tr:hover{background:rgba(183,219,21,.045)}
.note-callout{background:rgba(183,219,21,.055)}
.tag{border-color:rgba(183,219,21,.35)}
.hero-visual{min-height:0;aspect-ratio:1;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:var(--panel)}
.hero-cover{width:100%;height:100%;object-fit:cover}
.hero-visual .hero-photo,.hero-visual .hero-stamp{display:none}
@media(max-width:760px){
  .site-header{overflow:visible}
  .main-nav.is-open{position:absolute;top:62px;right:16px;bottom:auto;left:auto;width:min(350px,calc(100vw - 32px));height:auto;max-height:calc(100dvh - 86px);background:#111516;border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 70px rgba(0,0,0,.55);z-index:200;padding:14px 20px 20px;overflow-y:auto}
  .main-nav.is-open .nav-links{display:flex!important;flex-direction:column;align-items:stretch;gap:0;width:100%}
  .main-nav.is-open .nav-links a{display:block;padding:14px 0;border-bottom:1px solid var(--line);font:400 1.65rem/1 var(--display);color:var(--text)}
  .main-nav.is-open .nav-links a::after{display:none}
  .main-nav.is-open .header-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%;margin-top:16px}
  .main-nav.is-open .header-actions .btn{display:flex;padding:10px 12px;font-size:.66rem}
  .nav-toggle{position:relative;z-index:201}
  .nav-toggle[aria-expanded="true"] svg line:nth-child(1){transform:translateY(6px) rotate(45deg)}
  .nav-toggle[aria-expanded="true"] svg line:nth-child(2){opacity:0}
  .nav-toggle[aria-expanded="true"] svg line:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
  .nav-toggle svg line{transform-box:fill-box;transform-origin:center;transition:transform var(--ease),opacity var(--ease)}
}
@media(max-width:620px){
  .data-table td.cell-muted{display:none}
  .data-table tr{display:grid;gap:5px}
  .data-table td{display:flex}
}
