/* Lumen · yoga. All rules scoped to .b-yoga */
.b-yoga{font-size:14px}
.b-yoga .y-k{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--acc)}
.b-yoga .y-k2{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--mut);margin:0 0 8px}
.b-yoga .y-mut{color:var(--mut);font-size:13px}
.b-yoga .y-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:600;font-size:13px;cursor:pointer;white-space:nowrap;border:1.5px solid transparent;transition:transform .2s,filter .2s}
.b-yoga .y-btn:hover{filter:brightness(1.06);transform:translateY(-1px)}
.b-yoga .y-btn.gh{background:transparent;color:var(--ink);border-color:var(--line2)}
.b-yoga .y-btns{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.b-yoga .y-link{color:var(--acc);font-weight:600;font-size:13px;cursor:pointer}
.b-yoga .y-sec{padding:38px 30px;border-top:1px solid var(--line)}
.b-yoga .y-sh{margin-bottom:18px}
.b-yoga .y-sh h2{font-size:28px;line-height:1.05}
.b-yoga .y-sh p{color:var(--mut);font-size:13px;margin-top:6px;max-width:460px}
.b-yoga .y-ix{display:none;font-size:12px;color:var(--mut);font-weight:600;margin-right:10px}
.b-yoga .y-two{display:grid;grid-template-columns:1.1fr 1fr;gap:22px;align-items:start}
.b-yoga .y-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-yoga h1{font-size:clamp(36px,6.6cqi,64px);line-height:1.04;margin:12px 0 14px}
.b-yoga h1 em{color:var(--acc)}
.b-yoga .y-hero p{color:var(--mut);font-size:14.5px;max-width:420px}
/* nav */
.b-yoga .y-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-yoga .y-nav nav{display:flex;gap:16px;color:var(--mut)}
.b-yoga .y-nav nav a{cursor:pointer}
.b-yoga .y-logo{font-family:var(--hf);font-weight:var(--hw);font-size:20px;letter-spacing:var(--hl)}
.b-yoga .y-nav .y-btn{margin-left:auto;padding:9px 14px;font-size:12px}
/* chips / days / list */
.b-yoga .y-chips{display:flex;flex-wrap:wrap;gap:6px}
.b-yoga .y-chip{padding:7px 12px;border-radius:var(--br);background:var(--soft);font-size:12px;font-weight:600;border:1.5px solid transparent;color:var(--ink);cursor:pointer}
.b-yoga .y-chip.on{background:var(--acc);color:var(--on)}
.b-yoga .y-filters{display:flex;flex-direction:column;gap:8px;margin:14px 0 16px}
.b-yoga .y-days{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}
.b-yoga .y-day{flex:1;min-width:58px;padding:9px 4px;border-radius:var(--r);border:1.5px solid var(--line);text-align:center;cursor:pointer;line-height:1.15}
.b-yoga .y-day small{font-size:10.5px;color:var(--mut);display:block}
.b-yoga .y-day b{font-size:18px;display:block;margin:2px 0}
.b-yoga .y-day i{font-style:normal;font-size:9.5px;color:var(--mut)}
.b-yoga .y-day.on{background:var(--acc);border-color:var(--acc);color:var(--on)}
.b-yoga .y-day.on small,.b-yoga .y-day.on i{color:var(--on);opacity:.8}
.b-yoga .y-list{display:flex;flex-direction:column;gap:6px}
.b-yoga .y-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-yoga .y-cls em{font-style:normal;font-weight:700;font-size:14px}
.b-yoga .y-cls b{display:block;font-size:14px}
.b-yoga .y-cls small{color:var(--mut);font-size:11.5px}
.b-yoga .y-cls i{font-style:normal;font-size:11.5px;font-weight:700;color:var(--acc);white-space:nowrap}
.b-yoga .y-cls.full i{color:var(--mut)}
.b-yoga .y-cls.on{border-color:var(--acc);background:color-mix(in srgb,var(--acc) 12%,var(--bg))}
/* booking panel + room */
.b-yoga .y-pick{padding:22px;border-radius:var(--r);border:1.5px dashed var(--line2);text-align:center}
.b-yoga .y-pick b{display:block;font-family:var(--hf);font-weight:var(--hw);font-size:19px;margin-bottom:4px}
.b-yoga .y-pick small{color:var(--mut);display:block;font-size:12.5px}
.b-yoga .y-pick .y-btn{margin-top:14px}
.b-yoga .y-bk{border-radius:var(--r);background:var(--soft);padding:16px}
.b-yoga .y-bkhead em{font-style:normal;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--acc);font-weight:700}
.b-yoga .y-bkhead b{display:block;font-family:var(--hf);font-weight:var(--hw);font-size:22px;line-height:1.05;margin:3px 0}
.b-yoga .y-bkhead small{color:var(--mut);font-size:12px}
.b-yoga .y-room{margin:14px 0 10px;background:var(--bg);border-radius:var(--r);padding:12px}
.b-yoga .y-tch{margin:0 auto 10px;width:50%;text-align:center;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:6px;border-radius:var(--br);background:var(--soft);color:var(--mut)}
.b-yoga .y-mats{display:grid;grid-template-columns:auto repeat(6,1fr);gap:6px;align-items:center;max-width:300px;margin:0 auto}
.b-yoga .y-mats span{font-size:10px;font-weight:700;color:var(--mut)}
.b-yoga .y-mat{aspect-ratio:1/1.7;border-radius:5px;border:1.5px solid var(--acc);background:transparent;cursor:pointer}
.b-yoga .y-mat.tk{background:var(--line2);border-color:transparent;cursor:not-allowed}
.b-yoga .y-mat.me{background:var(--acc);box-shadow:0 0 0 3px color-mix(in srgb,var(--acc) 30%,transparent)}
.b-yoga .y-refs{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.b-yoga .y-ref{aspect-ratio:1/2.2;border-radius:10px;border:1.5px solid var(--acc);font-size:10px;font-weight:700;writing-mode:vertical-rl;transform:rotate(180deg);cursor:pointer;color:var(--ink)}
.b-yoga .y-ref.tk{background:var(--line2);border-color:transparent;color:var(--mut);cursor:not-allowed}
.b-yoga .y-ref.me{background:var(--acc);color:var(--on)}
.b-yoga .y-roomfoot{display:flex;justify-content:space-between;font-size:10px;color:var(--mut);margin-top:8px}
.b-yoga .y-confirm{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px}
/* week grid (luxe / minimal) */
.b-yoga .y-week{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:18px}
.b-yoga .y-wday{font-weight:700;font-size:12px;padding-bottom:8px;border-bottom:1px solid var(--line);margin-bottom:8px}
.b-yoga .y-wday small{display:block;font-weight:500;color:var(--acc);font-size:10px}
.b-yoga .y-wcls{display:block;width:100%;text-align:left;padding:8px 6px;border-radius:var(--r);margin-bottom:4px;border:1px solid transparent;cursor:pointer}
.b-yoga .y-wcls em{font-style:normal;font-size:11px;font-weight:700;color:var(--acc);display:block}
.b-yoga .y-wcls b{display:block;font-size:11.5px;line-height:1.2}
.b-yoga .y-wcls small{font-size:10px;color:var(--mut)}
.b-yoga .y-wcls:hover{background:var(--soft)}
.b-yoga .y-wcls.on{border-color:var(--acc);background:var(--soft)}
.b-yoga .y-wcls.full{opacity:.5}
/* board (edgy) */
.b-yoga .y-board{border:1px solid var(--line2);margin-bottom:14px}
.b-yoga .y-bdays{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--line2)}
.b-yoga .y-bdays button{padding:12px 0;font-weight:800;font-size:12px;letter-spacing:.1em;cursor:pointer;color:var(--mut)}
.b-yoga .y-bdays button.on{background:var(--acc);color:var(--on)}
.b-yoga .y-brow{display:grid;grid-template-columns:70px 1.5fr 1fr 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-yoga .y-brow em{font-style:normal;font-family:var(--hf);font-stretch:75%;font-weight:900;font-size:22px}
.b-yoga .y-brow b{font-family:var(--hf);font-stretch:75%;font-weight:900;font-size:20px;text-transform:uppercase;line-height:1}
.b-yoga .y-brow span{color:var(--mut)}
.b-yoga .y-brow i{font-style:normal;font-weight:800;color:var(--acc)}
.b-yoga .y-brow i.full{color:var(--mut)}
.b-yoga .y-brow:hover,.b-yoga .y-brow.on{background:var(--acc);color:var(--on)}
.b-yoga .y-brow.on span,.b-yoga .y-brow.on i,.b-yoga .y-brow:hover span,.b-yoga .y-brow:hover i{color:var(--on)}
/* passes */
.b-yoga .y-calcbox{background:var(--soft);border-radius:var(--r);padding:18px}
.b-yoga .y-per b{font-family:var(--hf);font-weight:var(--hw);font-size:44px;line-height:1;margin-right:6px}
.b-yoga .y-per{font-size:14px;color:var(--mut)}
.b-yoga input.y-rg{-webkit-appearance:none;appearance:none;width:100%;height:4px;border-radius:4px;background:var(--line2);outline:none;margin:14px 0}
.b-yoga input.y-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-yoga .y-calcres small{display:block;color:var(--mut);font-size:11.5px}
.b-yoga .y-calcres b{display:block;font-family:var(--hf);font-weight:var(--hw);font-size:20px;margin:2px 0 4px}
.b-yoga .y-calcres>span:not(.y-btn){display:block;font-size:12.5px;color:var(--mut)}
.b-yoga .y-calcres .y-btn{margin-top:12px;display:inline-flex}
.b-yoga .y-passes{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.b-yoga .y-pass{padding:14px;border-radius:var(--r);border:1.5px solid var(--line);position:relative}
.b-yoga .y-pass small{display:block;color:var(--mut);font-size:11.5px}
.b-yoga .y-pass b{display:block;font-family:var(--hf);font-weight:var(--hw);font-size:24px;margin:2px 0}
.b-yoga .y-pass span{font-size:12px;color:var(--mut)}
.b-yoga .y-pass i{position:absolute;top:10px;right:10px;font-style:normal;font-size:10px;font-weight:700;background:var(--acc);color:var(--on);padding:3px 8px;border-radius:var(--br)}
.b-yoga .y-pass.best{border-color:var(--acc)}
.b-yoga .y-pricelist>div{display:flex;align-items:baseline;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}
.b-yoga .y-pricelist span{font-family:var(--hf);font-size:18px}
.b-yoga .y-pricelist small{display:block;font-family:Inter,sans-serif;font-size:11px;color:var(--mut)}
.b-yoga .y-pricelist u{flex:1;border-bottom:1px dotted var(--line2);text-decoration:none;transform:translateY(-5px)}
.b-yoga .y-pricelist em{font-style:normal;font-family:var(--hf);font-size:19px;color:var(--acc)}
.b-yoga .y-pricelist .best em{text-decoration:underline;text-underline-offset:5px}
.b-yoga .y-table{width:100%;border-collapse:collapse;font-size:13px}
.b-yoga .y-table td{padding:11px 0;border-top:1px solid var(--line)}
.b-yoga .y-table td:nth-child(2){color:var(--mut)}
.b-yoga .y-table td:last-child{text-align:right;font-weight:600}
.b-yoga .y-table tr.best td{color:var(--acc)}
.b-yoga .y-bignums{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line2);border:1px solid var(--line2);margin-bottom:16px}
.b-yoga .y-bignums>div{background:var(--bg);padding:18px 16px}
.b-yoga .y-bignums b{display:block;font-family:var(--hf);font-stretch:75%;font-size:44px;line-height:1}
.b-yoga .y-bignums span{display:block;font-weight:800;text-transform:uppercase;font-size:12px;letter-spacing:.06em;margin-top:6px}
.b-yoga .y-bignums small{color:var(--mut);font-size:11px}
.b-yoga .y-bignums .best{background:var(--acc);color:var(--on)}
.b-yoga .y-bignums .best small{color:var(--on);opacity:.8}
/* teachers */
.b-yoga .y-team{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.b-yoga .y-tph{aspect-ratio:4/5;border-radius:var(--r);overflow:hidden;margin-bottom:10px}
.b-yoga .y-tc b{display:block;font-family:var(--hf);font-weight:var(--hw);font-size:20px}
.b-yoga .y-tc em{display:block;font-style:normal;color:var(--acc);font-size:12px;font-weight:700;margin:2px 0 6px}
.b-yoga .y-tc p{color:var(--mut);font-size:12.5px;margin-bottom:8px}
/* course / retreat / faq / visit */
.b-yoga .y-cph{aspect-ratio:4/3;border-radius:var(--r);overflow:hidden}
.b-yoga .y-course h2{font-size:26px;margin:8px 0 10px}
.b-yoga .y-course p{color:var(--mut);font-size:13.5px;margin-bottom:16px}
.b-yoga .y-courseres{margin-top:14px;padding:14px;border-radius:var(--r);background:var(--soft);display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.b-yoga .y-courseres b{display:block;font-size:14px}
.b-yoga .y-courseres small{color:var(--mut);font-size:12px}
.b-yoga .y-retreat.bleed{position:relative;min-height:380px;display:flex;align-items:flex-end;overflow:hidden}
.b-yoga .y-retreat.bleed img{position:absolute;inset:0}
.b-yoga .y-retreat.bleed::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.75))}
.b-yoga .y-retreat .y-in{position:relative;z-index:1;padding:36px 30px;max-width:520px;color:#fff}
.b-yoga .y-retreat .y-in .y-k{color:#fff;opacity:.85}
.b-yoga .y-retreat h2{font-size:30px;margin:8px 0 10px;color:#fff}
.b-yoga .y-retreat p{font-size:13.5px;color:rgba(255,255,255,.85);margin-bottom:16px}
.b-yoga .y-retcard{display:grid;grid-template-columns:1fr 1.1fr;gap:22px;align-items:center;background:var(--soft);border-radius:var(--r);padding:18px}
.b-yoga .y-retcard h2{font-size:26px;margin:8px 0 10px}
.b-yoga .y-retcard p{color:var(--mut);font-size:13.5px;margin-bottom:16px}
.b-yoga .y-rph{aspect-ratio:4/3;border-radius:var(--r);overflow:hidden}
.b-yoga .y-qs{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.b-yoga .y-qs>div{padding:14px;border-radius:var(--r);background:var(--soft)}
.b-yoga .y-qs b{display:block;font-size:14px;margin-bottom:4px}
.b-yoga .y-qs p{color:var(--mut);font-size:12.5px}
.b-yoga .y-visit p{color:var(--mut);font-size:13.5px;margin-bottom:14px}
.b-yoga .y-hours div{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px dashed var(--line);font-size:12.5px}
.b-yoga .y-hours .today{font-weight:700;color:var(--acc)}
.b-yoga .y-map{border-radius:var(--r);overflow:hidden;min-height:220px;position:relative}
.b-yoga .y-map svg{position:absolute;inset:0;width:100%;height:100%}
.b-yoga .y-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-yoga.v-calm .y-nav{display:grid;grid-template-columns:1fr auto 1fr}
.b-yoga.v-calm .y-nav .y-btn{justify-self:end}
.b-yoga.v-calm .y-hero.ca{text-align:center;padding:40px 30px 0}
.b-yoga.v-calm .y-hero.ca p{margin:0 auto}
.b-yoga.v-calm .y-hero.ca .y-btns{justify-content:center}
.b-yoga.v-calm .y-arch{position:relative;max-width:620px;height:clamp(220px,40cqi,340px);margin:30px auto 0;border-radius:999px 999px 0 0;overflow:hidden}
.b-yoga.v-calm .y-arch img{position:absolute;inset:0}
.b-yoga.v-calm .y-next{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-yoga.v-calm .y-next small{display:block;color:var(--mut);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase}
.b-yoga.v-calm .y-next b{display:block;font-family:var(--hf);font-size:17px}
.b-yoga.v-calm .y-next span{font-size:11.5px;color:var(--mut)}
.b-yoga.v-calm .y-sh{text-align:center}
.b-yoga.v-calm .y-sh p{margin-inline:auto}
.b-yoga.v-calm .y-sh h2{font-weight:400}
.b-yoga.v-calm .y-chips,.b-yoga.v-calm .y-days{justify-content:center}
.b-yoga.v-calm .y-chips{display:inline-flex;background:var(--soft);padding:4px;border-radius:18px;gap:2px}
.b-yoga.v-calm .y-filters{align-items:center}
.b-yoga.v-calm .y-chip{background:none;border-radius:14px;color:var(--mut)}
.b-yoga.v-calm .y-chip.on{background:var(--bg);color:var(--ink);box-shadow:0 2px 8px -3px rgba(0,0,0,.18)}
.b-yoga.v-calm .y-tph{border-radius:200px 200px 20px 20px}
.b-yoga.v-calm .y-tc{text-align:center}
.b-yoga.v-calm .y-qs>div{text-align:center}
/* ================= LUXE ================= */
.b-yoga.v-luxe .y-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-yoga.v-luxe .y-nav{display:grid;grid-template-columns:1fr auto 1fr;padding:22px 30px}
.b-yoga.v-luxe .y-nav nav{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase}
.b-yoga.v-luxe .y-logo{font-family:Inter,sans-serif;font-weight:300;letter-spacing:.34em;text-transform:uppercase;font-size:20px}
.b-yoga.v-luxe .y-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}
.b-yoga.v-luxe .y-btn.fill{background:var(--acc);color:var(--on)}
.b-yoga.v-luxe .y-btn.gh{border-color:var(--line2);color:var(--ink)}
.b-yoga.v-luxe .y-hero.lx{position:relative;min-height:470px;display:flex;align-items:flex-end;overflow:hidden}
.b-yoga.v-luxe .y-hero.lx>img{position:absolute;inset:0;filter:brightness(.5) saturate(.8)}
.b-yoga.v-luxe .y-hero.lx::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,13,12,.9),rgba(14,13,12,.15) 65%)}
.b-yoga.v-luxe .y-in{position:relative;z-index:1;padding:44px 30px;max-width:520px}
.b-yoga.v-luxe h1{font-size:clamp(40px,7.6cqi,76px);font-weight:400}
.b-yoga.v-luxe h1 em{display:block;font-style:italic}
.b-yoga.v-luxe .y-rule{display:block;width:56px;height:1px;background:var(--acc);margin:16px 0}
.b-yoga.v-luxe .y-hero p{color:#cfc6b6}
.b-yoga.v-luxe .y-lxtoday{position:absolute;right:30px;bottom:34px;z-index:1;display:flex;gap:18px;align-items:flex-end;border-top:1px solid var(--acc);padding-top:12px}
.b-yoga.v-luxe .y-lxtoday>span{font-size:9.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--acc);align-self:flex-start}
.b-yoga.v-luxe .y-lxtoday em{display:block;font-style:normal;font-family:var(--hf);font-size:22px;color:#efe7d8;line-height:1}
.b-yoga.v-luxe .y-lxtoday b{display:block;font-weight:400;font-size:12px;color:#efe7d8;margin-top:3px}
.b-yoga.v-luxe .y-lxtoday small{font-size:10px;color:#a39a8b;letter-spacing:.08em;text-transform:uppercase}
.b-yoga.v-luxe .y-sec{padding:52px 30px}
.b-yoga.v-luxe .y-sh{text-align:center;margin-bottom:28px}
.b-yoga.v-luxe .y-sh h2{font-size:34px;font-style:italic;font-weight:400}
.b-yoga.v-luxe .y-sh p{margin:8px auto 0}
.b-yoga.v-luxe .y-sh::after{content:"";display:block;width:40px;height:1px;background:var(--acc);margin:14px auto 0}
.b-yoga.v-luxe .y-week{gap:0;border-left:1px solid var(--line)}
.b-yoga.v-luxe .y-wcol{border-right:1px solid var(--line);padding:0 8px}
.b-yoga.v-luxe .y-wday{font-family:var(--hf);font-weight:400;font-size:16px;font-style:italic}
.b-yoga.v-luxe .y-wcls{border-radius:0;padding:10px 4px;border-bottom:1px solid var(--line);margin:0}
.b-yoga.v-luxe .y-wcls em{font-family:var(--hf);font-size:14px}
.b-yoga.v-luxe .y-wcls.on{border:1px solid var(--acc);background:transparent}
.b-yoga.v-luxe .y-pick,.b-yoga.v-luxe .y-bk,.b-yoga.v-luxe .y-calcbox,.b-yoga.v-luxe .y-courseres,.b-yoga.v-luxe .y-room{border-radius:0;background:transparent;border:1px solid color-mix(in srgb,var(--acc) 50%,transparent)}
.b-yoga.v-luxe .y-bk{max-width:620px;margin:0 auto;padding:24px}
.b-yoga.v-luxe .y-pick{max-width:520px;margin:0 auto}
.b-yoga.v-luxe .y-mat{border-radius:2px}
.b-yoga.v-luxe .y-tch{border-radius:0;background:transparent;border:1px solid var(--line2)}
.b-yoga.v-luxe .y-chip{border-radius:0;background:transparent;border:1px solid var(--line2);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase}
.b-yoga.v-luxe .y-chip.on{background:var(--acc);border-color:var(--acc)}
.b-yoga.v-luxe .y-team{grid-template-columns:1fr 1fr;gap:40px 30px;max-width:760px;margin:0 auto}
.b-yoga.v-luxe .y-tc{display:grid;grid-template-columns:120px 1fr;gap:18px;align-items:center}
.b-yoga.v-luxe .y-tph{border-radius:0;margin:0}
.b-yoga.v-luxe .y-tph img{filter:grayscale(.3)}
.b-yoga.v-luxe .y-tc b{font-style:italic;font-size:24px}
.b-yoga.v-luxe .y-per b{font-style:italic;font-size:52px}
.b-yoga.v-luxe .y-calcres b{font-style:italic}
.b-yoga.v-luxe .y-cph,.b-yoga.v-luxe .y-map{border-radius:0}
.b-yoga.v-luxe .y-course h2{font-style:italic;font-weight:400}
.b-yoga.v-luxe .y-retreat h2{font-style:italic;font-weight:400;font-size:36px}
.b-yoga.v-luxe .y-hours div{border-bottom-style:solid}
.b-yoga.v-luxe .y-map span{border-radius:0;border:1px solid var(--acc);background:#0e0d0c}
/* ================= PLAYFUL ================= */
.b-yoga.v-playful .y-logo i{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--acc);color:var(--on);font-style:normal;font-size:14px;margin-right:8px;transform:rotate(-10deg)}
.b-yoga.v-playful .y-nav nav{margin-left:auto;font-weight:600;color:var(--ink)}
.b-yoga.v-playful .y-nav .y-btn{margin-left:0}
.b-yoga.v-playful .y-btn{border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink)}
.b-yoga.v-playful .y-btn.gh{background:var(--bg)}
.b-yoga.v-playful .y-hero.pl{display:grid;grid-template-columns:1.05fr 1fr;gap:20px;align-items:center;padding:24px 30px 36px}
.b-yoga.v-playful .y-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-yoga.v-playful h1{line-height:1.12}
.b-yoga.v-playful .y-sq{color:var(--acc);text-decoration:underline wavy var(--acc2);text-decoration-thickness:3px;text-underline-offset:6px}
.b-yoga.v-playful .y-plart{position:relative;height:clamp(240px,42cqi,330px)}
.b-yoga.v-playful .y-blob{position:absolute;inset:6% 4% 4% 10%;background:var(--acc2);border-radius:58% 42% 50% 50%/48% 56% 44% 52%}
.b-yoga.v-playful .y-pol{position:absolute;background:#fff;padding:8px 8px 26px;border:2px solid var(--ink);box-shadow:6px 6px 0 var(--ink)}
.b-yoga.v-playful .y-pol img{aspect-ratio:1;height:auto}
.b-yoga.v-playful .y-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-yoga.v-playful .y-pol.a{left:12%;top:2%;width:58%;transform:rotate(-5deg)}
.b-yoga.v-playful .y-pol.b{right:2%;top:44%;width:38%;transform:rotate(6deg)}
.b-yoga.v-playful .y-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-yoga.v-playful .y-wave{display:block;width:100%;height:18px;color:var(--soft)}
.b-yoga.v-playful .y-sec{border-top:0;background:var(--soft)}
.b-yoga.v-playful .y-sec:nth-of-type(even){background:var(--bg)}
.b-yoga.v-playful .y-chip{border:2px solid var(--ink);background:var(--bg)}
.b-yoga.v-playful .y-chip.on{background:var(--acc)}
.b-yoga.v-playful .y-day{border:2px solid var(--ink);background:var(--bg)}
.b-yoga.v-playful .y-day.on{background:var(--acc);border-color:var(--ink)}
.b-yoga.v-playful .y-cls{background:var(--bg);border:2px solid var(--ink)}
.b-yoga.v-playful .y-cls.on{box-shadow:3px 3px 0 var(--ink);background:color-mix(in srgb,var(--acc) 15%,var(--bg))}
.b-yoga.v-playful .y-bk,.b-yoga.v-playful .y-calcbox,.b-yoga.v-playful .y-pass,.b-yoga.v-playful .y-retcard,.b-yoga.v-playful .y-qs>div,.b-yoga.v-playful .y-courseres{background:var(--bg);border:2px solid var(--ink);box-shadow:4px 4px 0 var(--ink)}
.b-yoga.v-playful .y-pass:nth-child(odd){transform:rotate(-1deg)}.b-yoga.v-playful .y-pass:nth-child(even){transform:rotate(1deg)}
.b-yoga.v-playful .y-pick{border:2px dashed var(--ink)}
.b-yoga.v-playful .y-tph{border:2px solid var(--ink);border-radius:50%;aspect-ratio:1;box-shadow:4px 4px 0 var(--ink)}
.b-yoga.v-playful .y-tc{text-align:center}
.b-yoga.v-playful .y-mat{border-width:2px;border-radius:6px}
/* ================= EDGY ================= */
.b-yoga.v-edgy .y-nav{border-bottom:1px solid var(--line);text-transform:uppercase}
.b-yoga.v-edgy .y-logo{font-stretch:75%;font-size:22px}
.b-yoga.v-edgy .y-logo span{color:var(--acc)}
.b-yoga.v-edgy .y-nav nav{margin-left:auto;font-size:11px;letter-spacing:.12em;color:var(--ink)}
.b-yoga.v-edgy .y-nav .y-btn{margin-left:0}
.b-yoga.v-edgy .y-btn{border-radius:0;text-transform:uppercase;letter-spacing:.08em;font-weight:800;font-size:12px}
.b-yoga.v-edgy .y-btn.gh{border-color:var(--ink)}
.b-yoga.v-edgy .y-hero.ed{padding:22px 30px 0}
.b-yoga.v-edgy h1{font-size:clamp(50px,12cqi,124px);text-transform:uppercase;font-stretch:75%;line-height:.86;letter-spacing:0}
.b-yoga.v-edgy h1 span{color:var(--acc)}
.b-yoga.v-edgy .y-edrow{display:grid;grid-template-columns:1.4fr 1fr;gap:18px;margin-top:18px;align-items:end}
.b-yoga.v-edgy .y-edph{position:relative;height:clamp(180px,32cqi,280px);overflow:hidden}
.b-yoga.v-edgy .y-edph img{filter:grayscale(1) contrast(1.2)}
.b-yoga.v-edgy .y-edph::after{content:"";position:absolute;inset:0;background:var(--acc);mix-blend-mode:multiply;opacity:.5}
.b-yoga.v-edgy .y-stats{display:flex;gap:18px;margin-top:18px;border-top:1px solid var(--line);padding-top:12px}
.b-yoga.v-edgy .y-stats b{display:block;font-family:var(--hf);font-stretch:75%;font-size:30px;line-height:1;color:var(--acc)}
.b-yoga.v-edgy .y-stats small{font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--mut)}
.b-yoga.v-edgy .y-mq{overflow:hidden;white-space:nowrap;border-block:1px solid var(--line);padding:12px 0;margin-top:26px}
.b-yoga.v-edgy .y-mq div{display:inline-block;animation:ymq 20s linear infinite}
.b-yoga.v-edgy .y-mq span{font-family:var(--hf);font-stretch:75%;font-weight:900;text-transform:uppercase;font-size:22px;margin-right:20px}
.b-yoga.v-edgy .y-mq b{color:var(--acc);margin-left:20px}
@keyframes ymq{to{transform:translateX(-50%)}}
.b-yoga.v-edgy .y-sh h2{text-transform:uppercase;font-stretch:75%;font-size:36px}
.b-yoga.v-edgy .y-pick,.b-yoga.v-edgy .y-bk,.b-yoga.v-edgy .y-calcbox,.b-yoga.v-edgy .y-courseres,.b-yoga.v-edgy .y-qs>div,.b-yoga.v-edgy .y-room,.b-yoga.v-edgy .y-tph,.b-yoga.v-edgy .y-cph,.b-yoga.v-edgy .y-map,.b-yoga.v-edgy .y-chip{border-radius:0}
.b-yoga.v-edgy .y-bk,.b-yoga.v-edgy .y-calcbox,.b-yoga.v-edgy .y-courseres{background:transparent;border:1px solid var(--line2)}
.b-yoga.v-edgy .y-chip{background:transparent;border:1px solid var(--line2);text-transform:uppercase;letter-spacing:.06em;font-size:11px}
.b-yoga.v-edgy .y-chip.on{background:var(--acc);border-color:var(--acc)}
.b-yoga.v-edgy .y-tph img{filter:grayscale(1) contrast(1.15)}
.b-yoga.v-edgy .y-tc b{text-transform:uppercase;font-stretch:75%;font-size:24px}
.b-yoga.v-edgy .y-mat{border-radius:0}
.b-yoga.v-edgy .y-tch{border-radius:0}
.b-yoga.v-edgy .y-course h2,.b-yoga.v-edgy .y-retreat h2{text-transform:uppercase;font-stretch:75%}
.b-yoga.v-edgy .y-retreat h2{font-size:44px;line-height:.9}
/* ================= NATURAL ================= */
.b-yoga.v-natural .y-logo{font-style:italic}
.b-yoga.v-natural .y-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-yoga.v-natural .y-nav nav{margin-left:auto}
.b-yoga.v-natural .y-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-yoga.v-natural .y-open i{width:7px;height:7px;border-radius:50%;background:#3f9a5a}
.b-yoga.v-natural .y-hero.na{display:grid;grid-template-columns:1.05fr 1fr;gap:24px;align-items:center;padding:26px 30px 40px}
.b-yoga.v-natural h1 em{font-style:italic}
.b-yoga.v-natural .y-morning{margin-top:22px;background:color-mix(in srgb,var(--soft) 70%,transparent);border-radius:22px;padding:14px 16px}
.b-yoga.v-natural .y-morning>div:not(.y-k2){display:grid;grid-template-columns:52px 1fr auto;gap:10px;align-items:center;padding:8px 0;border-top:1px dashed var(--line2)}
.b-yoga.v-natural .y-morning em{font-style:normal;font-family:var(--hf);font-size:18px}
.b-yoga.v-natural .y-morning b{display:block;font-size:13px}
.b-yoga.v-natural .y-morning small{color:var(--mut);font-size:11px}
.b-yoga.v-natural .y-morning span{font-size:11.5px;font-weight:700;color:var(--acc)}
.b-yoga.v-natural .y-naph{position:relative;height:clamp(240px,42cqi,340px)}
.b-yoga.v-natural .y-bl{position:absolute;inset:0 0 10% 12%;border-radius:58% 42% 52% 48%/46% 56% 44% 54%;overflow:hidden}
.b-yoga.v-natural .y-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-yoga.v-natural .y-sh h2{font-style:italic;font-weight:500}
.b-yoga.v-natural .y-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-yoga.v-natural .y-chip::before{content:"";width:12px;height:12px;border-radius:50%;border:1.5px solid var(--acc)}
.b-yoga.v-natural .y-chip.on{background:transparent;color:var(--ink)}
.b-yoga.v-natural .y-chip.on::before{background:var(--acc);box-shadow:inset 0 0 0 2px var(--bg)}
.b-yoga.v-natural .y-chips{gap:4px 16px}
.b-yoga.v-natural .y-day{border-radius:18px}
.b-yoga.v-natural .y-tph{border-radius:48% 52% 44% 56%/52% 46% 54% 48%;aspect-ratio:1}
.b-yoga.v-natural .y-tc{text-align:center}
.b-yoga.v-natural .y-pass,.b-yoga.v-natural .y-qs>div{border-radius:22px}
.b-yoga.v-natural .y-cph{border-radius:46% 54% 50% 50%/50% 44% 56% 50%;aspect-ratio:1}
.b-yoga.v-natural .y-retreat h2,.b-yoga.v-natural .y-course h2{font-style:italic;font-weight:500}
/* ================= MINIMAL ================= */
.b-yoga.v-minimal .y-nav{border-bottom:1px solid var(--line)}
.b-yoga.v-minimal .y-nav nav{margin-left:auto}
.b-yoga.v-minimal .y-logo{font-size:17px}
.b-yoga.v-minimal .y-hero.mi{padding:24px 30px 34px}
.b-yoga.v-minimal .y-wide{aspect-ratio:21/9;overflow:hidden;border-radius:4px}
.b-yoga.v-minimal .y-migrid{display:grid;grid-template-columns:1.25fr 1fr;gap:28px;margin-top:22px;align-items:end}
.b-yoga.v-minimal h1{font-size:clamp(34px,6cqi,56px);letter-spacing:-.05em;line-height:1.02;margin:0}
.b-yoga.v-minimal .y-ix{display:inline}
.b-yoga.v-minimal .y-sh{display:flex;align-items:baseline}
.b-yoga.v-minimal .y-sh h2{font-size:24px;letter-spacing:-.04em}
.b-yoga.v-minimal .y-sh p{flex-basis:100%;margin-left:0}
.b-yoga.v-minimal .y-chip{border-radius:4px;background:transparent;border:1px solid var(--line2)}
.b-yoga.v-minimal .y-chip.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.b-yoga.v-minimal .y-wcls{border-radius:2px}
.b-yoga.v-minimal .y-wcls.on{border-color:var(--ink);background:transparent}
.b-yoga.v-minimal .y-pick,.b-yoga.v-minimal .y-bk,.b-yoga.v-minimal .y-calcbox,.b-yoga.v-minimal .y-courseres,.b-yoga.v-minimal .y-qs>div,.b-yoga.v-minimal .y-room,.b-yoga.v-minimal .y-tph,.b-yoga.v-minimal .y-cph,.b-yoga.v-minimal .y-map,.b-yoga.v-minimal .y-retcard,.b-yoga.v-minimal .y-rph{border-radius:2px}
.b-yoga.v-minimal .y-bk,.b-yoga.v-minimal .y-calcbox,.b-yoga.v-minimal .y-courseres,.b-yoga.v-minimal .y-qs>div{background:transparent;border:1px solid var(--line2)}
.b-yoga.v-minimal .y-mat{border-radius:1px}
.b-yoga.v-minimal .y-team{grid-template-columns:1fr}
.b-yoga.v-minimal .y-tc{display:grid;grid-template-columns:72px 1fr 1fr auto;gap:16px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}
.b-yoga.v-minimal .y-tph{aspect-ratio:1;margin:0}
.b-yoga.v-minimal .y-tc p{margin:0}
.b-yoga.v-minimal .y-tc em{margin:0}

/* ================= phone frame ================= */
@container mock (max-width:560px){
  .b-yoga .y-nav{padding:46px 18px 12px;gap:10px}
  .b-yoga .y-nav nav{display:none}
  .b-yoga.v-calm .y-nav,.b-yoga.v-luxe .y-nav{grid-template-columns:1fr auto}
  .b-yoga.v-luxe .y-topline{display:none}
  .b-yoga .y-sec{padding:28px 18px}
  .b-yoga .y-two,.b-yoga .y-two.rev{grid-template-columns:1fr}
  .b-yoga .y-hero{padding-left:18px!important;padding-right:18px!important}
  .b-yoga.v-playful .y-hero.pl,.b-yoga.v-natural .y-hero.na,.b-yoga.v-minimal .y-migrid,.b-yoga.v-edgy .y-edrow{grid-template-columns:1fr}
  .b-yoga.v-playful .y-plart,.b-yoga.v-natural .y-naph{order:-1}
  .b-yoga.v-luxe .y-in{padding:30px 18px}
  .b-yoga.v-luxe .y-lxtoday{display:none}
  .b-yoga .y-week{grid-template-columns:repeat(2,1fr)}
  .b-yoga .y-wcol{display:none}.b-yoga .y-wcol.today,.b-yoga .y-wcol.today + .y-wcol{display:block}
  .b-yoga .y-brow{grid-template-columns:56px 1fr auto;font-size:11px}
  .b-yoga .y-brow span{display:none}
  .b-yoga .y-team,.b-yoga .y-passes,.b-yoga .y-qs,.b-yoga .y-bignums{grid-template-columns:1fr 1fr}
  .b-yoga.v-luxe .y-team,.b-yoga.v-luxe .y-tc{grid-template-columns:1fr}
  .b-yoga.v-luxe .y-tc{display:block}
  .b-yoga.v-luxe .y-tph{aspect-ratio:4/3;margin-bottom:10px}
  .b-yoga .y-retcard{grid-template-columns:1fr}
  .b-yoga.v-minimal .y-tc{grid-template-columns:56px 1fr}
  .b-yoga.v-minimal .y-tc p{grid-column:1/-1}
  .b-yoga.v-natural .y-logo small{display:none}
  .b-yoga.v-natural .y-open{font-size:10px;padding:5px 9px}
  .b-yoga .y-foot{padding:18px}
  .b-yoga.v-luxe .y-logo{font-size:14px;letter-spacing:.22em}
  .b-yoga.v-luxe .y-nav .y-btn{padding:9px 12px;font-size:9.5px;letter-spacing:.12em}
}
