/* Forge · fitness. Scoped to .b-fitness */
.b-fitness .f-k{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--acc)}
.b-fitness .f-k2{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--mut);margin:12px 0 8px}
.b-fitness .f-mut{color:var(--mut);font-size:13px}
.b-fitness .f-btn{display:inline-flex;align-items:center;justify-content:center;padding:11px 18px;border-radius:var(--br);background:var(--acc);color:var(--on);font-weight:700;font-size:13px;cursor:pointer;white-space:nowrap;border:1.5px solid transparent}
.b-fitness .f-btn.gh{background:transparent;color:var(--ink);border-color:var(--line2)}
.b-fitness .f-btns{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.b-fitness .f-link{color:var(--acc);font-weight:700;font-size:13px;cursor:pointer}
.b-fitness .f-sec{padding:38px 30px;border-top:1px solid var(--line)}
.b-fitness .f-sh{margin-bottom:18px}
.b-fitness .f-sh h2{font-size:28px;line-height:1.05}
.b-fitness .f-sh p{color:var(--mut);font-size:13px;margin-top:6px;max-width:460px}
.b-fitness .f-ix{display:none;font-size:12px;color:var(--mut);font-weight:600;margin-right:10px}
.b-fitness .f-two{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}
.b-fitness .f-foot{display:flex;justify-content:space-between;gap:10px;padding:22px 30px 28px;font-size:11.5px;color:var(--mut);border-top:1px solid var(--line)}
.b-fitness h1{font-size:clamp(36px,6.6cqi,64px);line-height:1.04;margin:12px 0 14px}
.b-fitness h1 em{color:var(--acc)}
.b-fitness .f-hero p{color:var(--mut);font-size:14.5px;max-width:420px}
.b-fitness .f-nav{display:flex;align-items:center;gap:18px;padding:18px 30px;font-size:12.5px;position:sticky;top:0;z-index:3;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px)}
.b-fitness .f-nav nav{display:flex;gap:16px;color:var(--mut)}
.b-fitness .f-nav nav a{cursor:pointer}
.b-fitness .f-logo{font-family:var(--hf);font-weight:var(--hw);font-size:21px;letter-spacing:var(--hl)}
.b-fitness .f-nav .f-btn{margin-left:auto;padding:9px 14px;font-size:12px}
/* chips, matcher */
.b-fitness .f-chips{display:flex;flex-wrap:wrap;gap:6px}
.b-fitness .f-chip{padding:8px 13px;border-radius:var(--br);background:var(--soft);font-size:12.5px;font-weight:600;border:1.5px solid transparent;color:var(--ink);cursor:pointer}
.b-fitness .f-chip.on{background:var(--acc);color:var(--on)}
.b-fitness .f-chip.slot{background:transparent;border-color:var(--line2)}
.b-fitness .f-chip.slot:hover{border-color:var(--acc);color:var(--acc)}
.b-fitness .f-form .f-k2:first-child{margin-top:0}
.b-fitness .f-match{display:grid;grid-template-columns:150px 1fr;gap:16px;background:var(--soft);border-radius:var(--r);padding:16px}
.b-fitness .f-mph{aspect-ratio:3/4;border-radius:var(--r);overflow:hidden}
.b-fitness .f-mtxt small{display:block;color:var(--mut);font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:700}
.b-fitness .f-mtxt b{display:block;font-family:var(--hf);font-weight:var(--hw);font-size:28px;line-height:1}
.b-fitness .f-mtxt em{display:block;font-style:normal;color:var(--acc);font-weight:700;font-size:12.5px;margin:4px 0 6px}
.b-fitness .f-mtxt p{color:var(--mut);font-size:12.5px}
.b-fitness .f-mres{margin-top:12px;padding-top:12px;border-top:1px solid var(--line2)}
.b-fitness .f-mres b{display:block;font-size:15px}
.b-fitness .f-mres small{color:var(--mut);font-size:12px;letter-spacing:0;text-transform:none;font-weight:500}
/* plan */
.b-fitness input.f-rg{-webkit-appearance:none;appearance:none;width:100%;height:4px;border-radius:4px;background:var(--line2);outline:none;margin:10px 0 14px}
.b-fitness input.f-rg::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:var(--acc);border:3px solid var(--bg);box-shadow:0 1px 4px rgba(0,0,0,.3);cursor:pointer}
.b-fitness .f-pres{padding:14px;border-radius:var(--r);background:var(--soft)}
.b-fitness .f-pres small{display:block;color:var(--mut);font-size:11.5px}
.b-fitness .f-pres b{display:block;font-family:var(--hf);font-weight:var(--hw);font-size:20px;margin:2px 0 4px}
.b-fitness .f-pres span{font-size:12px;color:var(--mut)}
.b-fitness .f-week{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.b-fitness .f-week>div{padding:8px 6px;border-radius:calc(var(--r) * .6);background:var(--soft);min-height:64px}
.b-fitness .f-week span{display:block;font-size:10px;color:var(--mut);font-weight:700}
.b-fitness .f-week b{display:block;font-size:10.5px;line-height:1.2;margin-top:3px}
.b-fitness .f-week .rest{opacity:.55}
.b-fitness .f-chart{background:var(--soft);border-radius:var(--r);padding:14px;min-height:220px;display:grid;place-items:center}
.b-fitness .f-chart svg{width:100%}
/* prices */
.b-fitness .f-prices{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.b-fitness .f-price{padding:14px;border-radius:var(--r);border:1.5px solid var(--line)}
.b-fitness .f-price small{display:block;color:var(--mut);font-size:11.5px}
.b-fitness .f-price b{display:block;font-family:var(--hf);font-weight:var(--hw);font-size:26px;margin:2px 0}
.b-fitness .f-price span{font-size:11.5px;color:var(--mut)}
.b-fitness .f-price.free{border-color:var(--acc);background:color-mix(in srgb,var(--acc) 10%,var(--bg))}
.b-fitness .f-pricelist>div{display:flex;align-items:baseline;gap:10px;padding:13px 0;border-bottom:1px solid var(--line)}
.b-fitness .f-pricelist span{font-family:var(--hf);font-size:19px}
.b-fitness .f-pricelist small{display:block;font-family:Inter,sans-serif;font-size:11px;color:var(--mut)}
.b-fitness .f-pricelist u{flex:1;border-bottom:1px dotted var(--line2);text-decoration:none;transform:translateY(-5px)}
.b-fitness .f-pricelist em{font-style:normal;font-family:var(--hf);font-size:20px;color:var(--acc)}
.b-fitness .f-table{width:100%;border-collapse:collapse;font-size:13px}
.b-fitness .f-table td{padding:11px 0;border-top:1px solid var(--line)}
.b-fitness .f-table td:nth-child(2){color:var(--mut)}
.b-fitness .f-table td:last-child{text-align:right;font-weight:600}
.b-fitness .f-bignums{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line2);border:1px solid var(--line2)}
.b-fitness .f-bignums>div{background:var(--bg);padding:18px 14px}
.b-fitness .f-bignums b{display:block;font-family:var(--hf);font-stretch:75%;font-size:40px;line-height:1}
.b-fitness .f-bignums span{display:block;font-weight:800;text-transform:uppercase;font-size:11px;letter-spacing:.06em;margin-top:6px}
.b-fitness .f-bignums small{color:var(--mut);font-size:11px}
.b-fitness .f-bignums>div:first-child{background:var(--acc);color:var(--on)}
.b-fitness .f-bignums>div:first-child small{color:var(--on);opacity:.8}
/* team, stories */
.b-fitness .f-team{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.b-fitness .f-tph{aspect-ratio:4/5;border-radius:var(--r);overflow:hidden;margin-bottom:10px}
.b-fitness .f-tc b{display:block;font-family:var(--hf);font-weight:var(--hw);font-size:20px}
.b-fitness .f-tc em{display:block;font-style:normal;color:var(--acc);font-size:12px;font-weight:700;margin:2px 0 6px}
.b-fitness .f-tc p{color:var(--mut);font-size:12.5px;margin-bottom:6px}
.b-fitness .f-tc small{display:block;color:var(--mut);font-size:11px;margin-bottom:6px}
.b-fitness .f-story{display:grid;grid-template-columns:1fr 1.3fr;gap:24px;align-items:center}
.b-fitness .f-sph{aspect-ratio:4/3;border-radius:var(--r);overflow:hidden}
.b-fitness .f-quote{font-family:var(--hf);font-weight:var(--hw);font-size:24px;line-height:1.3;margin-bottom:14px}
.b-fitness .f-story b{display:block;font-size:15px}
.b-fitness .f-story small{display:block;color:var(--mut);font-size:12.5px}
.b-fitness .f-dots{display:flex;gap:6px;margin-top:14px}
.b-fitness .f-dots button{width:10px;height:10px;border-radius:50%;background:var(--line2);cursor:pointer}
.b-fitness .f-dots button.on{background:var(--acc)}
.b-fitness .f-sgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.b-fitness .f-scard{background:var(--soft);border-radius:var(--r);padding:12px}
.b-fitness .f-scard .f-sph{margin-bottom:10px}
.b-fitness .f-scard b{display:block;font-size:15px}
.b-fitness .f-scard em{display:block;font-style:normal;font-size:12px;color:var(--acc);font-weight:700;margin:2px 0 6px}
.b-fitness .f-scard p{font-size:12.5px;margin-bottom:6px}
.b-fitness .f-scard small{color:var(--mut);font-size:11px}
/* timetable */
.b-fitness .f-days{display:flex;gap:6px;margin-bottom:14px;overflow-x:auto;scrollbar-width:none}
.b-fitness .f-day{flex:1;min-width:52px;padding:8px 4px;border-radius:var(--r);border:1.5px solid var(--line);text-align:center;cursor:pointer}
.b-fitness .f-day small{display:block;font-size:10.5px;color:var(--mut)}
.b-fitness .f-day b{font-size:16px}
.b-fitness .f-day.on{background:var(--acc);border-color:var(--acc);color:var(--on)}
.b-fitness .f-day.on small{color:var(--on);opacity:.8}
.b-fitness .f-list{display:flex;flex-direction:column;gap:6px}
.b-fitness .f-cls{display:grid;grid-template-columns:50px 1fr auto;gap:12px;align-items:center;padding:12px 14px;border-radius:var(--r);background:var(--soft);text-align:left;border:1.5px solid transparent;cursor:pointer;width:100%}
.b-fitness .f-cls em{font-style:normal;font-weight:700}
.b-fitness .f-cls b{display:block;font-size:14px}
.b-fitness .f-cls small{color:var(--mut);font-size:11.5px}
.b-fitness .f-cls i{font-style:normal;font-size:11.5px;font-weight:700;color:var(--acc);white-space:nowrap}
.b-fitness .f-cls.full i{color:var(--mut)}
.b-fitness .f-cls.on{border-color:var(--acc)}
.b-fitness .f-pick{padding:22px;border-radius:var(--r);border:1.5px dashed var(--line2);text-align:center}
.b-fitness .f-pick b,.b-fitness .f-bk b{display:block;font-family:var(--hf);font-weight:var(--hw);font-size:20px;margin-bottom:4px}
.b-fitness .f-pick small,.b-fitness .f-bk small{color:var(--mut);display:block;font-size:12.5px}
.b-fitness .f-bk{padding:18px;border-radius:var(--r);background:var(--soft)}
.b-fitness .f-bk p{color:var(--mut);font-size:12.5px;margin:6px 0 12px}
.b-fitness .f-board{border:1px solid var(--line2);margin-bottom:14px}
.b-fitness .f-bdays{display:grid;grid-template-columns:repeat(6,1fr);border-bottom:1px solid var(--line2)}
.b-fitness .f-bdays button{padding:12px 0;font-weight:800;font-size:12px;letter-spacing:.1em;cursor:pointer;color:var(--mut)}
.b-fitness .f-bdays button.on{background:var(--acc);color:var(--on)}
.b-fitness .f-brow{display:grid;grid-template-columns:70px 1.5fr 1fr auto;gap:12px;align-items:center;width:100%;text-align:left;padding:14px 16px;border-bottom:1px solid var(--line);cursor:pointer;font-size:12px;letter-spacing:.04em}
.b-fitness .f-brow em{font-style:normal;font-family:var(--hf);font-stretch:75%;font-weight:900;font-size:22px}
.b-fitness .f-brow b{font-family:var(--hf);font-stretch:75%;font-weight:900;font-size:20px;text-transform:uppercase}
.b-fitness .f-brow span{color:var(--mut)}
.b-fitness .f-brow i{font-style:normal;font-weight:800;color:var(--acc)}
.b-fitness .f-brow i.full{color:var(--mut)}
.b-fitness .f-brow:hover,.b-fitness .f-brow.on{background:var(--acc);color:var(--on)}
.b-fitness .f-brow.on span,.b-fitness .f-brow.on i,.b-fitness .f-brow:hover span,.b-fitness .f-brow:hover i{color:var(--on)}
/* extras / visit */
.b-fitness .f-xcard{padding:18px;border-radius:var(--r);background:var(--soft)}
.b-fitness .f-xcard h3{font-size:20px;margin:6px 0 8px}
.b-fitness .f-xcard p{color:var(--mut);font-size:13px}
.b-fitness .f-visit p{color:var(--mut);font-size:13.5px;margin-bottom:14px}
.b-fitness .f-hours div{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px dashed var(--line);font-size:12.5px}
.b-fitness .f-hours .today{font-weight:700;color:var(--acc)}
.b-fitness .f-map{border-radius:var(--r);overflow:hidden;min-height:220px;position:relative}
.b-fitness .f-map svg{position:absolute;inset:0;width:100%;height:100%}
.b-fitness .f-map span{position:absolute;left:12px;top:12px;background:var(--bg);font-size:11.5px;font-weight:600;padding:7px 11px;border-radius:var(--br)}

/* ===== CALM ===== */
.b-fitness.v-calm .f-nav{display:grid;grid-template-columns:1fr auto 1fr}
.b-fitness.v-calm .f-nav .f-btn{justify-self:end}
.b-fitness.v-calm .f-hero.ca{text-align:center;padding:40px 30px 0}
.b-fitness.v-calm .f-hero.ca p{margin:0 auto}
.b-fitness.v-calm .f-hero.ca .f-btns{justify-content:center}
.b-fitness.v-calm .f-arch{position:relative;max-width:620px;height:clamp(220px,40cqi,340px);margin:30px auto 0;border-radius:999px 999px 0 0;overflow:hidden}
.b-fitness.v-calm .f-arch img{position:absolute;inset:0}
.b-fitness.v-calm .f-card{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);background:var(--bg);border-radius:18px;padding:10px 16px;text-align:center;min-width:220px;box-shadow:0 10px 30px -12px rgba(0,0,0,.25)}
.b-fitness.v-calm .f-card small{display:block;color:var(--mut);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase}
.b-fitness.v-calm .f-card b{display:block;font-family:var(--hf);font-size:17px}
.b-fitness.v-calm .f-card span{font-size:11.5px;color:var(--mut)}
.b-fitness.v-calm .f-sh{text-align:center}
.b-fitness.v-calm .f-sh p{margin-inline:auto}
.b-fitness.v-calm .f-sh h2{font-weight:400}
.b-fitness.v-calm .f-chips{display:inline-flex;background:var(--soft);padding:4px;border-radius:18px;gap:2px}
.b-fitness.v-calm .f-chip{background:none;border-radius:14px;color:var(--mut)}
.b-fitness.v-calm .f-chip.on{background:var(--bg);color:var(--ink);box-shadow:0 2px 8px -3px rgba(0,0,0,.18)}
.b-fitness.v-calm .f-chip.slot{background:var(--bg)}
.b-fitness.v-calm .f-tph{border-radius:200px 200px 20px 20px}
.b-fitness.v-calm .f-tc{text-align:center}
.b-fitness.v-calm .f-mph{border-radius:200px 200px 16px 16px}
/* ===== LUXE ===== */
.b-fitness.v-luxe .f-topline{display:flex;justify-content:space-between;padding:7px 30px;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--mut);border-bottom:1px solid var(--line)}
.b-fitness.v-luxe .f-nav{display:grid;grid-template-columns:1fr auto 1fr;padding:22px 30px}
.b-fitness.v-luxe .f-nav nav{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase}
.b-fitness.v-luxe .f-logo{font-family:Inter,sans-serif;font-weight:300;letter-spacing:.34em;text-transform:uppercase;font-size:20px}
.b-fitness.v-luxe .f-btn{background:transparent;border:1px solid var(--acc);color:var(--acc);border-radius:0;text-transform:uppercase;letter-spacing:.18em;font-size:10.5px;padding:12px 20px;font-weight:500}
.b-fitness.v-luxe .f-btn.fill{background:var(--acc);color:var(--on)}
.b-fitness.v-luxe .f-btn.gh{border-color:var(--line2);color:var(--ink)}
.b-fitness.v-luxe .f-hero.lx{position:relative;min-height:480px;display:flex;align-items:flex-end;overflow:hidden}
.b-fitness.v-luxe .f-hero.lx>img{position:absolute;inset:0;filter:brightness(.45) saturate(.7)}
.b-fitness.v-luxe .f-hero.lx::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,13,12,.9),rgba(14,13,12,.1) 65%)}
.b-fitness.v-luxe .f-in{position:relative;z-index:1;padding:44px 30px;max-width:520px}
.b-fitness.v-luxe h1{font-size:clamp(40px,7.6cqi,76px);font-weight:400}
.b-fitness.v-luxe h1 em{display:block;font-style:italic}
.b-fitness.v-luxe .f-rule{display:block;width:56px;height:1px;background:var(--acc);margin:16px 0}
.b-fitness.v-luxe .f-hero p{color:#cfc6b6}
.b-fitness.v-luxe .f-lxside{position:absolute;right:30px;bottom:40px;z-index:1;display:flex;gap:26px;border-top:1px solid var(--acc);padding-top:12px}
.b-fitness.v-luxe .f-lxside em{display:block;font-style:normal;font-family:var(--hf);font-size:30px;color:#efe7d8;line-height:1}
.b-fitness.v-luxe .f-lxside small{font-size:10px;color:#a39a8b;letter-spacing:.1em;text-transform:uppercase}
.b-fitness.v-luxe .f-sec{padding:52px 30px}
.b-fitness.v-luxe .f-sh{text-align:center;margin-bottom:28px}
.b-fitness.v-luxe .f-sh h2{font-size:34px;font-style:italic;font-weight:400}
.b-fitness.v-luxe .f-sh p{margin:8px auto 0}
.b-fitness.v-luxe .f-sh::after{content:"";display:block;width:40px;height:1px;background:var(--acc);margin:14px auto 0}
.b-fitness.v-luxe .f-chip{border-radius:0;background:transparent;border:1px solid var(--line2);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;font-weight:500}
.b-fitness.v-luxe .f-chip.on{background:var(--acc);border-color:var(--acc)}
.b-fitness.v-luxe .f-match,.b-fitness.v-luxe .f-pres,.b-fitness.v-luxe .f-chart,.b-fitness.v-luxe .f-bk,.b-fitness.v-luxe .f-pick,.b-fitness.v-luxe .f-xcard,.b-fitness.v-luxe .f-week>div{border-radius:0;background:transparent;border:1px solid color-mix(in srgb,var(--acc) 45%,transparent)}
.b-fitness.v-luxe .f-mph,.b-fitness.v-luxe .f-tph,.b-fitness.v-luxe .f-sph,.b-fitness.v-luxe .f-map,.b-fitness.v-luxe .f-day,.b-fitness.v-luxe .f-cls{border-radius:0}
.b-fitness.v-luxe .f-cls{background:transparent;border-bottom:1px solid var(--line);border-color:transparent transparent var(--line)}
.b-fitness.v-luxe .f-cls.on{border-color:var(--acc)}
.b-fitness.v-luxe .f-mtxt b{font-style:italic;font-size:34px}
.b-fitness.v-luxe .f-team{grid-template-columns:1fr 1fr;gap:40px 30px;max-width:760px;margin:0 auto}
.b-fitness.v-luxe .f-tc{display:grid;grid-template-columns:120px 1fr;gap:18px;align-items:center}
.b-fitness.v-luxe .f-tph{margin:0}
.b-fitness.v-luxe .f-tph img,.b-fitness.v-luxe .f-sph img{filter:grayscale(.35)}
.b-fitness.v-luxe .f-tc b{font-style:italic;font-size:24px}
.b-fitness.v-luxe .f-quote{font-style:italic;font-size:28px}
.b-fitness.v-luxe .f-story{max-width:760px;margin:0 auto}
.b-fitness.v-luxe .f-map span{border-radius:0;border:1px solid var(--acc);background:#0e0d0c}
/* ===== PLAYFUL ===== */
.b-fitness.v-playful .f-logo i{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:9px;background:var(--acc);color:var(--on);font-style:normal;font-size:14px;margin-right:8px;transform:rotate(-8deg)}
.b-fitness.v-playful .f-nav nav{margin-left:auto;font-weight:600;color:var(--ink)}
.b-fitness.v-playful .f-nav .f-btn{margin-left:0}
.b-fitness.v-playful .f-btn{border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink)}
.b-fitness.v-playful .f-btn.gh{background:var(--bg)}
.b-fitness.v-playful .f-hero.pl{display:grid;grid-template-columns:1.05fr 1fr;gap:20px;align-items:center;padding:24px 30px 36px}
.b-fitness.v-playful .f-badge{display:inline-block;background:var(--acc2);color:var(--ink);font-weight:700;font-size:11px;padding:6px 12px;border-radius:999px;border:2px solid var(--ink);transform:rotate(-2deg)}
.b-fitness.v-playful h1{line-height:1.12}
.b-fitness.v-playful .f-sq{color:var(--acc);text-decoration:underline wavy var(--acc2);text-decoration-thickness:3px;text-underline-offset:6px}
.b-fitness.v-playful .f-plart{position:relative;height:clamp(240px,42cqi,330px)}
.b-fitness.v-playful .f-blob{position:absolute;inset:6% 4% 4% 10%;background:var(--acc2);border-radius:58% 42% 50% 50%/48% 56% 44% 52%}
.b-fitness.v-playful .f-pol{position:absolute;background:#fff;padding:8px 8px 26px;border:2px solid var(--ink);box-shadow:6px 6px 0 var(--ink)}
.b-fitness.v-playful .f-pol img{aspect-ratio:1;height:auto}
.b-fitness.v-playful .f-pol small{position:absolute;left:0;right:0;bottom:6px;text-align:center;font-family:var(--hf);font-weight:600;font-size:12px;color:#222}
.b-fitness.v-playful .f-pol.a{left:12%;top:2%;width:58%;transform:rotate(-5deg)}
.b-fitness.v-playful .f-pol.b{right:2%;top:44%;width:38%;transform:rotate(6deg)}
.b-fitness.v-playful .f-stk{position:absolute;right:6%;top:0;width:78px;height:78px;border-radius:50%;background:var(--acc);color:var(--on);display:grid;place-items:center;text-align:center;font-family:var(--hf);font-weight:700;font-size:11px;line-height:1.1;transform:rotate(12deg);border:2px solid var(--ink);z-index:2}
.b-fitness.v-playful .f-wave{display:block;width:100%;height:18px;color:var(--soft)}
.b-fitness.v-playful .f-sec{border-top:0;background:var(--soft)}
.b-fitness.v-playful .f-sec:nth-of-type(even){background:var(--bg)}
.b-fitness.v-playful .f-chip{border:2px solid var(--ink);background:var(--bg)}
.b-fitness.v-playful .f-chip.on{background:var(--acc)}
.b-fitness.v-playful .f-match,.b-fitness.v-playful .f-pres,.b-fitness.v-playful .f-chart,.b-fitness.v-playful .f-price,.b-fitness.v-playful .f-scard,.b-fitness.v-playful .f-bk,.b-fitness.v-playful .f-xcard{background:var(--bg);border:2px solid var(--ink);box-shadow:4px 4px 0 var(--ink)}
.b-fitness.v-playful .f-price:nth-child(odd),.b-fitness.v-playful .f-scard:nth-child(odd){transform:rotate(-1deg)}
.b-fitness.v-playful .f-price:nth-child(even),.b-fitness.v-playful .f-scard:nth-child(even){transform:rotate(1deg)}
.b-fitness.v-playful .f-cls{background:var(--bg);border:2px solid var(--ink)}
.b-fitness.v-playful .f-day{border:2px solid var(--ink);background:var(--bg)}
.b-fitness.v-playful .f-day.on{background:var(--acc);border-color:var(--ink)}
.b-fitness.v-playful .f-tph{border:2px solid var(--ink);border-radius:50%;aspect-ratio:1;box-shadow:4px 4px 0 var(--ink)}
.b-fitness.v-playful .f-tc{text-align:center}
/* ===== EDGY ===== */
.b-fitness.v-edgy .f-nav{border-bottom:1px solid var(--line);text-transform:uppercase}
.b-fitness.v-edgy .f-logo{font-stretch:75%;font-size:22px}
.b-fitness.v-edgy .f-logo span{color:var(--acc)}
.b-fitness.v-edgy .f-nav nav{margin-left:auto;font-size:11px;letter-spacing:.12em;color:var(--ink)}
.b-fitness.v-edgy .f-nav .f-btn{margin-left:0}
.b-fitness.v-edgy .f-btn{border-radius:0;text-transform:uppercase;letter-spacing:.08em;font-weight:800;font-size:12px}
.b-fitness.v-edgy .f-btn.gh{border-color:var(--ink)}
.b-fitness.v-edgy .f-hero.ed{padding:22px 30px 0}
.b-fitness.v-edgy h1{font-size:clamp(50px,12cqi,124px);text-transform:uppercase;font-stretch:75%;line-height:.86;letter-spacing:0}
.b-fitness.v-edgy h1 span{color:var(--acc)}
.b-fitness.v-edgy .f-edrow{display:grid;grid-template-columns:1.4fr 1fr;gap:18px;margin-top:18px;align-items:end}
.b-fitness.v-edgy .f-edph{position:relative;height:clamp(180px,32cqi,280px);overflow:hidden}
.b-fitness.v-edgy .f-edph img{filter:grayscale(1) contrast(1.2)}
.b-fitness.v-edgy .f-edph::after{content:"";position:absolute;inset:0;background:var(--acc);mix-blend-mode:multiply;opacity:.5}
.b-fitness.v-edgy .f-stats{display:flex;gap:18px;margin-top:18px;border-top:1px solid var(--line);padding-top:12px}
.b-fitness.v-edgy .f-stats b{display:block;font-family:var(--hf);font-stretch:75%;font-size:30px;line-height:1;color:var(--acc)}
.b-fitness.v-edgy .f-stats small{font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--mut)}
.b-fitness.v-edgy .f-mq{overflow:hidden;white-space:nowrap;border-block:1px solid var(--line);padding:12px 0;margin-top:26px}
.b-fitness.v-edgy .f-mq div{display:inline-block;animation:fmq 20s linear infinite}
.b-fitness.v-edgy .f-mq span{font-family:var(--hf);font-stretch:75%;font-weight:900;text-transform:uppercase;font-size:22px;margin-right:20px}
.b-fitness.v-edgy .f-mq b{color:var(--acc);margin-left:20px}
@keyframes fmq{to{transform:translateX(-50%)}}
.b-fitness.v-edgy .f-sh h2{text-transform:uppercase;font-stretch:75%;font-size:36px}
.b-fitness.v-edgy .f-chip,.b-fitness.v-edgy .f-match,.b-fitness.v-edgy .f-mph,.b-fitness.v-edgy .f-pres,.b-fitness.v-edgy .f-chart,.b-fitness.v-edgy .f-tph,.b-fitness.v-edgy .f-sph,.b-fitness.v-edgy .f-scard,.b-fitness.v-edgy .f-bk,.b-fitness.v-edgy .f-pick,.b-fitness.v-edgy .f-xcard,.b-fitness.v-edgy .f-map,.b-fitness.v-edgy .f-week>div{border-radius:0}
.b-fitness.v-edgy .f-chip{background:transparent;border:1px solid var(--line2);text-transform:uppercase;letter-spacing:.06em;font-size:11px}
.b-fitness.v-edgy .f-chip.on{background:var(--acc);border-color:var(--acc)}
.b-fitness.v-edgy .f-match,.b-fitness.v-edgy .f-pres,.b-fitness.v-edgy .f-chart,.b-fitness.v-edgy .f-scard,.b-fitness.v-edgy .f-bk,.b-fitness.v-edgy .f-xcard{background:transparent;border:1px solid var(--line2)}
.b-fitness.v-edgy .f-mtxt b,.b-fitness.v-edgy .f-tc b{text-transform:uppercase;font-stretch:75%}
.b-fitness.v-edgy .f-tph img,.b-fitness.v-edgy .f-sph img{filter:grayscale(1) contrast(1.15)}
/* ===== NATURAL ===== */
.b-fitness.v-natural .f-logo{font-style:italic}
.b-fitness.v-natural .f-logo small{font-style:normal;font-family:Inter,sans-serif;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--mut);margin-left:8px}
.b-fitness.v-natural .f-nav nav{margin-left:auto}
.b-fitness.v-natural .f-open{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;padding:6px 11px;border-radius:999px;background:var(--soft);white-space:nowrap}
.b-fitness.v-natural .f-open i{width:7px;height:7px;border-radius:50%;background:#3f9a5a}
.b-fitness.v-natural .f-hero.na{display:grid;grid-template-columns:1.05fr 1fr;gap:24px;align-items:center;padding:26px 30px 40px}
.b-fitness.v-natural h1 em{font-style:italic}
.b-fitness.v-natural .f-today{margin-top:22px;background:color-mix(in srgb,var(--soft) 70%,transparent);border-radius:22px;padding:14px 16px}
.b-fitness.v-natural .f-today>div:not(.f-k2){display:grid;grid-template-columns:52px 1fr auto;gap:10px;align-items:center;padding:8px 0;border-top:1px dashed var(--line2)}
.b-fitness.v-natural .f-today em{font-style:normal;font-family:var(--hf);font-size:18px}
.b-fitness.v-natural .f-today b{display:block;font-size:13px}
.b-fitness.v-natural .f-today small{color:var(--mut);font-size:11px}
.b-fitness.v-natural .f-today span{font-size:11.5px;font-weight:700;color:var(--acc)}
.b-fitness.v-natural .f-naph{position:relative;height:clamp(240px,42cqi,340px)}
.b-fitness.v-natural .f-bl{position:absolute;inset:0 0 10% 12%;border-radius:58% 42% 52% 48%/46% 56% 44% 54%;overflow:hidden}
.b-fitness.v-natural .f-bl2{position:absolute;left:0;bottom:0;width:38%;aspect-ratio:1;border-radius:50% 46% 54% 50%/48% 52% 48% 52%;overflow:hidden;border:6px solid var(--bg)}
.b-fitness.v-natural .f-sh h2{font-style:italic;font-weight:500}
.b-fitness.v-natural .f-chip{background:transparent;padding:4px 0;font-family:var(--hf);font-style:italic;font-size:15px;color:var(--mut);display:inline-flex;align-items:center;gap:7px}
.b-fitness.v-natural .f-chip::before{content:"";width:12px;height:12px;border-radius:50%;border:1.5px solid var(--acc)}
.b-fitness.v-natural .f-chip.on{background:transparent;color:var(--ink)}
.b-fitness.v-natural .f-chip.on::before{background:var(--acc);box-shadow:inset 0 0 0 2px var(--bg)}
.b-fitness.v-natural .f-chip.slot{border:1.5px solid var(--line2);border-radius:999px;padding:6px 12px;font-style:normal;font-family:Inter,sans-serif;font-size:12px}
.b-fitness.v-natural .f-chip.slot::before{display:none}
.b-fitness.v-natural .f-chips{gap:4px 16px}
.b-fitness.v-natural .f-tph,.b-fitness.v-natural .f-mph{border-radius:48% 52% 44% 56%/52% 46% 54% 48%}
.b-fitness.v-natural .f-tph{aspect-ratio:1}
.b-fitness.v-natural .f-tc{text-align:center}
.b-fitness.v-natural .f-price,.b-fitness.v-natural .f-scard,.b-fitness.v-natural .f-xcard{border-radius:22px}
/* ===== MINIMAL ===== */
.b-fitness.v-minimal .f-nav{border-bottom:1px solid var(--line)}
.b-fitness.v-minimal .f-nav nav{margin-left:auto}
.b-fitness.v-minimal .f-logo{font-size:17px}
.b-fitness.v-minimal .f-hero.mi{padding:24px 30px 34px}
.b-fitness.v-minimal .f-wide{aspect-ratio:21/9;overflow:hidden;border-radius:4px}
.b-fitness.v-minimal .f-migrid{display:grid;grid-template-columns:1.25fr 1fr;gap:28px;margin-top:22px;align-items:end}
.b-fitness.v-minimal h1{font-size:clamp(34px,6cqi,56px);letter-spacing:-.05em;line-height:1.02;margin:0}
.b-fitness.v-minimal .f-ix{display:inline}
.b-fitness.v-minimal .f-sh h2{font-size:24px;letter-spacing:-.04em;display:inline}
.b-fitness.v-minimal .f-chip{border-radius:4px;background:transparent;border:1px solid var(--line2)}
.b-fitness.v-minimal .f-chip.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.b-fitness.v-minimal .f-match,.b-fitness.v-minimal .f-pres,.b-fitness.v-minimal .f-chart,.b-fitness.v-minimal .f-bk,.b-fitness.v-minimal .f-pick,.b-fitness.v-minimal .f-xcard,.b-fitness.v-minimal .f-scard,.b-fitness.v-minimal .f-week>div{border-radius:2px;background:transparent;border:1px solid var(--line2)}
.b-fitness.v-minimal .f-mph,.b-fitness.v-minimal .f-tph,.b-fitness.v-minimal .f-sph,.b-fitness.v-minimal .f-map,.b-fitness.v-minimal .f-day,.b-fitness.v-minimal .f-cls{border-radius:2px}
.b-fitness.v-minimal .f-team{grid-template-columns:1fr}
.b-fitness.v-minimal .f-tc{display:grid;grid-template-columns:72px 1fr 1.4fr auto;gap:16px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}
.b-fitness.v-minimal .f-tph{aspect-ratio:1;margin:0}
.b-fitness.v-minimal .f-tc p,.b-fitness.v-minimal .f-tc em,.b-fitness.v-minimal .f-tc small{margin:0}
.b-fitness.v-minimal .f-tc small{display:none}

@container mock (max-width:560px){
  .b-fitness .f-nav{padding:46px 18px 12px;gap:10px}
  .b-fitness .f-nav nav{display:none}
  .b-fitness.v-calm .f-nav,.b-fitness.v-luxe .f-nav{grid-template-columns:1fr auto}
  .b-fitness.v-luxe .f-topline,.b-fitness.v-luxe .f-lxside{display:none}
  .b-fitness .f-sec{padding:28px 18px}
  .b-fitness .f-two{grid-template-columns:1fr}
  .b-fitness .f-hero{padding-left:18px!important;padding-right:18px!important}
  .b-fitness.v-playful .f-hero.pl,.b-fitness.v-natural .f-hero.na,.b-fitness.v-minimal .f-migrid,.b-fitness.v-edgy .f-edrow{grid-template-columns:1fr}
  .b-fitness.v-playful .f-plart,.b-fitness.v-natural .f-naph{order:-1}
  .b-fitness.v-luxe .f-in{padding:30px 18px}
  .b-fitness .f-match{grid-template-columns:110px 1fr}
  .b-fitness .f-week{grid-template-columns:repeat(4,1fr)}
  .b-fitness .f-prices,.b-fitness .f-team,.b-fitness .f-sgrid{grid-template-columns:1fr 1fr}
  .b-fitness .f-bignums{grid-template-columns:1fr 1fr}
  .b-fitness .f-story{grid-template-columns:1fr}
  .b-fitness .f-brow{grid-template-columns:56px 1fr auto}
  .b-fitness .f-brow span{display:none}
  .b-fitness.v-luxe .f-team,.b-fitness.v-luxe .f-tc{grid-template-columns:1fr;display:block}
  .b-fitness.v-luxe .f-tph{aspect-ratio:4/3;margin-bottom:10px}
  .b-fitness.v-minimal .f-tc{grid-template-columns:56px 1fr}
  .b-fitness.v-minimal .f-tc p{grid-column:1/-1}
  .b-fitness.v-natural .f-logo small{display:none}
  .b-fitness.v-natural .f-open{font-size:10px;padding:5px 9px}
  .b-fitness .f-foot{padding:18px}
  .b-fitness.v-luxe .f-logo{font-size:14px;letter-spacing:.22em}
  .b-fitness.v-luxe .f-nav .f-btn{padding:9px 12px;font-size:9.5px;letter-spacing:.12em}
}
