:root{--ink:#24302b;--muted:#53615b;--paper:#f7f3ea;--card:#fffdf8;--sage:#476b5a;--sage2:#dce8df;--clay:#b95f45;--clay-dark:#8d402d;--line:#cbd4cd;--gold:#d9a94b;--shadow:0 18px 55px rgba(36,48,43,.11);--radius:1.25rem;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.65;overflow-wrap:anywhere}img,svg{display:block;max-width:100%}a{color:var(--clay-dark);text-underline-offset:.18em}a:hover{text-decoration-thickness:2px}.skip{position:absolute;left:.5rem;top:-5rem;background:var(--ink);color:#fff;padding:.7rem 1rem;z-index:99}.skip:focus{top:.5rem}.wrap{width:min(1140px,calc(100% - 2rem));margin:auto}.site-header{background:rgba(247,243,234,.97);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.nav-row{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{display:flex;align-items:center;gap:.65rem;color:var(--ink);text-decoration:none;font-family:var(--serif);font-weight:700;font-size:1.15rem;white-space:nowrap}.brand-mark{width:38px;height:38px}.desktop-nav{display:flex;align-items:center;gap:.25rem}.desktop-nav a{color:var(--ink);text-decoration:none;padding:.55rem .62rem;border-radius:999px;font-size:.88rem}.desktop-nav a[aria-current=page]{background:var(--sage2);font-weight:700}.nav-cta,.button{display:inline-flex;justify-content:center;align-items:center;background:var(--clay);color:#fff;text-decoration:none;font-weight:700;border-radius:999px;padding:.8rem 1.15rem;border:2px solid var(--clay);line-height:1.2}.nav-cta:hover,.button:hover{background:var(--clay-dark);border-color:var(--clay-dark)}.button.secondary{background:transparent;color:var(--sage);border-color:var(--sage)}.mobile-nav{display:none}.hero{padding:clamp(3.5rem,8vw,7.5rem) 0 4.5rem;position:relative;overflow:hidden;background:radial-gradient(circle at 85% 20%,rgba(217,169,75,.23),transparent 27%),linear-gradient(135deg,var(--paper),#e5eee7)}.hero-grid,.split{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(2rem,6vw,5rem);align-items:center}.eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--sage);font-weight:800;font-size:.78rem;margin:0 0 .7rem}.hero h1,.page-hero h1{font:700 clamp(2.65rem,7vw,5.8rem)/.96 var(--serif);letter-spacing:-.04em;margin:.2rem 0 1.3rem;max-width:12ch}.page-hero h1{font-size:clamp(2.5rem,6vw,4.7rem)}.lead{font-size:clamp(1.05rem,2vw,1.3rem);max-width:61ch;color:var(--muted)}.actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.7rem}.art{min-height:410px;border-radius:48% 48% 16% 16%;background:linear-gradient(155deg,#759682,#3f6252);position:relative;overflow:hidden;box-shadow:var(--shadow)}.art:before{content:'';position:absolute;inset:10% 8%;border:1px solid rgba(255,255,255,.4);border-radius:50%}.art svg{position:absolute;inset:auto 8% 6%;width:84%;height:auto}.float-note{position:absolute;right:4%;top:9%;background:var(--card);padding:.85rem 1rem;border-radius:1rem;box-shadow:var(--shadow);font-weight:700;max-width:180px}.section{padding:clamp(3.5rem,7vw,6.5rem) 0}.section.alt{background:#e8eee8}.section.dark{background:var(--ink);color:#fff}.section.dark .muted{color:#d5dfd9}.section-head{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2rem}.section h2{font:700 clamp(2rem,4vw,3.35rem)/1.08 var(--serif);letter-spacing:-.025em;margin:0 0 .7rem}.section h3{font:700 1.35rem/1.2 var(--serif);margin:.2rem 0 .6rem}.muted{color:var(--muted)}.grid-4,.grid-3,.grid-2{display:grid;gap:1.15rem}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-2{grid-template-columns:repeat(2,1fr)}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem;box-shadow:0 8px 30px rgba(36,48,43,.05)}.icon{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--sage2);color:var(--sage);font-weight:800;margin-bottom:1.1rem}.tag{display:inline-block;font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;background:var(--sage2);color:#2f5443;border-radius:99px;padding:.25rem .55rem}.quote-space{border:2px dashed #8e9d95;border-radius:var(--radius);padding:2rem;text-align:center}.steps{counter-reset:step;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.step{counter-increment:step;padding:1.5rem;border-top:3px solid var(--gold);background:var(--card)}.step:before{content:'0' counter(step);font:700 1.4rem var(--serif);color:var(--clay)}.page-hero{padding:4.5rem 0 3.5rem;background:linear-gradient(120deg,#e2ece5,var(--paper) 65%)}.page-hero p{max-width:65ch}.filter-box{border:1px solid var(--line);background:var(--card);border-radius:var(--radius);padding:1.25rem;margin-bottom:1.5rem}.filter-box fieldset{border:0;padding:0;margin:0}.filter-box legend{font-weight:800;margin-bottom:.7rem}.filter-options{display:flex;gap:.55rem;flex-wrap:wrap}.filter-options label{cursor:pointer}.filter-options input{position:absolute;opacity:0}.filter-options span{display:block;padding:.55rem .9rem;border:2px solid var(--line);border-radius:999px;font-weight:700}.filter-options input:checked+span,.filter-options input:focus-visible+span{background:var(--sage);border-color:var(--sage);color:#fff}.timetable{display:grid;gap:.7rem}.class-row{display:grid;grid-template-columns:110px 1.1fr .9fr 120px;gap:1rem;align-items:center;background:var(--card);padding:1rem 1.2rem;border-left:5px solid var(--sage);border-radius:.75rem;box-shadow:0 4px 18px rgba(36,48,43,.06)}.class-row[data-type=yin]{border-color:#765c8f}.class-row[data-type=prenatal]{border-color:#b05b69}.class-row[data-type=beginners]{border-color:#b07828}.class-row strong{display:block}.class-row .button{padding:.55rem .75rem;font-size:.86rem}.day-title{font:700 1.65rem var(--serif);margin:2rem 0 .7rem}.schedule:has(#vinyasa:checked) .class-row:not([data-type=vinyasa]),.schedule:has(#yin:checked) .class-row:not([data-type=yin]),.schedule:has(#prenatal:checked) .class-row:not([data-type=prenatal]),.schedule:has(#beginners:checked) .class-row:not([data-type=beginners]){display:none}.price{font:700 2.8rem var(--serif);margin:.6rem 0}.featured{border:3px solid var(--clay);position:relative}.featured:before{content:'Best for a steady practice';position:absolute;top:-15px;left:20px;background:var(--clay);color:#fff;padding:.25rem .65rem;border-radius:99px;font-size:.75rem;font-weight:800}.list{padding-left:1.2rem}.list li{margin:.5rem 0}.teacher-portrait{height:230px;border-radius:1rem;background:radial-gradient(circle at 50% 35%,#f5d9bf 0 14%,transparent 14.5%),radial-gradient(ellipse at 50% 60%,#6d8778 0 27%,transparent 27.5%),linear-gradient(145deg,#d9e7dc,#e9d9c8);margin-bottom:1.2rem;position:relative;overflow:hidden}.teacher-portrait:after{content:'';position:absolute;width:90px;height:90px;border:2px solid rgba(71,107,90,.3);border-radius:50%;right:10%;top:10%}.faq details{background:var(--card);border:1px solid var(--line);border-radius:1rem;padding:1rem 1.2rem;margin:.75rem 0}.faq summary{font-weight:800;cursor:pointer}.faq p{color:var(--muted);margin-bottom:.3rem}.form{display:grid;gap:1rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}label{font-weight:700}input,select,textarea{width:100%;font:inherit;padding:.8rem;border:2px solid #9aa9a0;background:#fff;color:#1d2823;border-radius:.65rem}textarea{min-height:150px;resize:vertical}input:focus,select:focus,textarea:focus{outline:3px solid rgba(217,169,75,.5);border-color:var(--sage)}.contact-card{background:var(--sage);color:#fff;border-radius:var(--radius);padding:2rem}.contact-card a{color:#fff}.map-art{height:230px;background-color:#dde7df;background-image:linear-gradient(30deg,transparent 46%,#aabdb0 47% 50%,transparent 51%),linear-gradient(120deg,transparent 46%,#bfcfc4 47% 50%,transparent 51%);border-radius:1rem;position:relative}.map-art:after{content:'Still Point';position:absolute;left:53%;top:42%;background:var(--clay-dark);color:#fff;padding:.45rem .65rem;border-radius:99px;font-weight:800}.notice{background:#fff4d7;border-left:5px solid #a16a10;padding:1rem 1.2rem;border-radius:.5rem;color:#573c0e}.site-footer{background:#18221e;color:#eaf0ec;padding:3.5rem 0 1.5rem}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:2rem}.site-footer a{color:#fff}.site-footer h2{font:700 1.4rem var(--serif)}.fine{border-top:1px solid #435149;margin-top:2.5rem;padding-top:1.2rem;font-size:.85rem;color:#c9d4ce}
@media(max-width:900px){.desktop-nav{display:none}.mobile-nav{display:block}.mobile-nav summary{list-style:none;border:2px solid var(--sage);border-radius:999px;padding:.5rem .8rem;font-weight:800;cursor:pointer}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-links{position:absolute;left:1rem;right:1rem;top:70px;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);padding:.7rem;border-radius:1rem;display:grid}.mobile-links a{padding:.7rem;color:var(--ink);text-decoration:none}.mobile-links a[aria-current=page]{background:var(--sage2);font-weight:800}.hero-grid,.split{grid-template-columns:1fr}.art{min-height:330px}.grid-4{grid-template-columns:repeat(2,1fr)}.grid-3,.steps{grid-template-columns:1fr}.class-row{grid-template-columns:90px 1fr 120px}.class-row .teacher{display:none}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.wrap{width:min(100% - 1.2rem,1140px)}.hero{padding-top:3rem}.hero h1{font-size:2.75rem}.grid-4,.grid-2,.form-row{grid-template-columns:1fr}.art{min-height:270px}.section-head{display:block}.class-row{grid-template-columns:1fr;gap:.35rem}.class-row .teacher{display:block}.class-row .button{justify-self:start}.footer-grid{grid-template-columns:1fr}.nav-row{min-height:68px}.brand{font-size:1rem}.page-hero{padding:3rem 0 2.5rem}}
@media(prefers-color-scheme:dark){:root{--ink:#edf4ef;--muted:#c3d0c8;--paper:#17201c;--card:#202c27;--sage:#9bc3aa;--sage2:#30483b;--clay:#d4775c;--clay-dark:#f09a80;--line:#47584f;--shadow:0 18px 55px rgba(0,0,0,.3)}.site-header{background:rgba(23,32,28,.97)}.hero,.page-hero{background:radial-gradient(circle at 85% 20%,rgba(217,169,75,.15),transparent 27%),linear-gradient(135deg,#17201c,#24362d)}.section.alt{background:#1d2923}.section.dark,.site-footer{background:#101713}.filter-options input:checked+span,.filter-options input:focus-visible+span{color:#102018}.tag{color:#dcebe2}.step{background:var(--card)}input,select,textarea{background:#15201b;color:#fff;border-color:#71857a}.notice{background:#493b16;color:#fff2c8}.map-art{filter:brightness(.75)}.desktop-nav a,.brand{color:var(--ink)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Distinct interior compositions */
.pricing-intro{padding:clamp(4rem,8vw,7rem) 0;background:linear-gradient(110deg,#24302b 0 62%,#476b5a 62%);color:#fff}.pricing-intro .eyebrow,.pricing-intro .lead{color:#edf4ef}.pricing-intro h1{font:700 clamp(2.7rem,7vw,5.5rem)/.98 var(--serif);max-width:12ch;margin:.3rem 0 1rem}.pricing-mast{display:grid;grid-template-columns:1.4fr .6fr;gap:3rem;align-items:center}.price-orbit{display:grid;place-items:center;min-height:290px;position:relative}.price-orbit span{position:absolute;display:grid;place-items:center;border-radius:50%;background:var(--card);color:var(--ink);font:700 1.6rem var(--serif);width:110px;height:110px;box-shadow:var(--shadow)}.price-orbit span:nth-child(1){transform:translate(-55px,-65px)}.price-orbit span:nth-child(2){transform:translate(55px,15px);width:135px;height:135px}.price-orbit span:nth-child(3){transform:translate(-50px,90px);width:125px;height:125px}.price-ledger .card:nth-child(2){transform:translateY(2rem)}
.contact-stage{background:linear-gradient(100deg,var(--sage2),var(--paper) 68%);border-bottom:1px solid var(--line)}.contact-stage h1{font:700 clamp(2.7rem,6vw,5rem)/1 var(--serif);max-width:15ch;margin:.3rem 0 1rem}.contact-layout{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(2rem,5vw,5rem);align-items:start}.demo-banner{background:#fff4d7;color:#573c0e;border:2px solid #a16a10;border-radius:var(--radius);padding:1rem 1.2rem;margin:1rem 0}.selection-summary{background:var(--sage2);border-left:5px solid var(--sage);padding:1rem;border-radius:.5rem;font-weight:700}.submit-cluster{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:center}.submit-cluster .button[disabled]{opacity:.68;cursor:not-allowed}.privacy-note{font-size:.86rem;color:var(--muted);margin:0}.contact-aside{position:sticky;top:100px}.contact-lines{border-top:1px solid rgba(255,255,255,.45);padding-top:1rem;margin-top:1.5rem}.visit-ribbon{display:grid;grid-template-columns:.8fr 1.2fr;gap:3rem;align-items:start}.visit-checklist{border-left:4px solid var(--gold);padding-left:2rem}.visit-checklist article{padding:0 0 2rem;position:relative}.visit-checklist article:before{content:'';position:absolute;width:14px;height:14px;border-radius:50%;background:var(--clay);left:calc(-2rem - 9px);top:.35rem}
@media(max-width:900px){.pricing-mast,.contact-layout,.visit-ribbon{grid-template-columns:1fr}.price-ledger .card:nth-child(2){transform:none}.contact-aside{position:static}}
@media(max-width:600px){.pricing-intro{background:#24302b}.price-orbit{min-height:230px}.price-orbit span{width:90px;height:90px;font-size:1.25rem}.price-orbit span:nth-child(2){width:110px;height:110px}.price-orbit span:nth-child(3){width:100px;height:100px}.submit-cluster{grid-template-columns:1fr}}

/* Teachers read as editorial profiles, not another card catalogue. */
body:has(.teacher-portrait) .page-hero{background:linear-gradient(90deg,var(--paper) 0 35%,var(--sage2) 35%);padding-bottom:6rem}body:has(.teacher-portrait) .grid-2{display:block;max-width:980px;margin:auto}body:has(.teacher-portrait) .grid-2 .card{display:grid;grid-template-columns:minmax(210px,.7fr) 1.3fr;column-gap:2rem;margin:-2rem 0 4rem;padding:2rem}body:has(.teacher-portrait) .grid-2 .card .placeholder-label,body:has(.teacher-portrait) .grid-2 .card .teacher-portrait{grid-column:1;align-self:start}body:has(.teacher-portrait) .grid-2 .card .tag,body:has(.teacher-portrait) .grid-2 .card h2,body:has(.teacher-portrait) .grid-2 .card p{grid-column:2}body:has(.teacher-portrait) .grid-2 .card .tag{justify-self:start}body:has(.teacher-portrait) .teacher-portrait{grid-row:2 / span 5;height:300px}
/* First visit becomes a guided route with a strong checklist spine. */
body:has(.steps) .page-hero{background:linear-gradient(150deg,var(--paper) 0 58%,var(--sage2) 58%)}body:has(.steps) .steps{display:block;max-width:820px;margin-left:auto}body:has(.steps) .step{margin:0 0 1rem;border-top:0;border-left:5px solid var(--gold);display:grid;grid-template-columns:70px 1fr;column-gap:1rem}body:has(.steps) .step:before{grid-row:1 / span 2;font-size:2rem}body:has(.steps) .step h3,body:has(.steps) .step p{grid-column:2}
@media(max-width:700px){body:has(.teacher-portrait) .grid-2 .card{display:block;margin-bottom:2rem}body:has(.teacher-portrait) .teacher-portrait{height:230px}body:has(.steps) .step{grid-template-columns:45px 1fr;padding:1rem}}

/* Accessible interaction and explicit theme controls */
:where(a,button,summary,input,select,textarea):focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.theme-control{display:flex;align-items:center;gap:.4rem}.theme-button{border:2px solid var(--line);border-radius:999px;background:var(--card);color:var(--ink);font:700 .8rem var(--sans);padding:.5rem .7rem;cursor:pointer;white-space:nowrap}
.results-summary{font-weight:800;margin:1rem 0;color:var(--sage)}.filter-help{max-width:65ch;margin:.75rem 0 0;color:var(--muted);font-size:.9rem}.day-group[hidden]{display:none}.button:disabled{cursor:not-allowed;opacity:.72;filter:saturate(.45)}
.placeholder-label{display:inline-block;background:#fff4d7;color:#573c0e;border:1px solid #b37c1e;border-radius:999px;padding:.25rem .55rem;font-size:.75rem;font-weight:800;margin:.5rem}
html[data-theme=light]{--ink:#24302b;--muted:#53615b;--paper:#f7f3ea;--card:#fffdf8;--sage:#476b5a;--sage2:#dce8df;--clay:#b95f45;--clay-dark:#8d402d;--line:#cbd4cd;--gold:#d9a94b;--shadow:0 18px 55px rgba(36,48,43,.11)}
html[data-theme=light] .site-header{background:rgba(247,243,234,.97)}html[data-theme=light] .hero,html[data-theme=light] .page-hero{background:linear-gradient(135deg,#f7f3ea,#e5eee7)}html[data-theme=light] .section.alt{background:#e8eee8}
html[data-theme=dark]{--ink:#edf4ef;--muted:#c3d0c8;--paper:#17201c;--card:#202c27;--sage:#9bc3aa;--sage2:#30483b;--clay:#d4775c;--clay-dark:#f09a80;--line:#47584f;--gold:#e4bd66;--shadow:0 18px 55px rgba(0,0,0,.3)}
html[data-theme=dark] .site-header{background:rgba(23,32,28,.97)}html[data-theme=dark] .hero,html[data-theme=dark] .page-hero{background:linear-gradient(135deg,#17201c,#24362d)}html[data-theme=dark] .section.alt{background:#1d2923}html[data-theme=dark] input,html[data-theme=dark] select,html[data-theme=dark] textarea{background:#15201b;color:#fff;border-color:#71857a}
.contact-card{background:#355747;color:#fff}.contact-card a{color:#fff}.contact-card .eyebrow{color:#dcebe2}.contact-card-button{background:#fff;color:#29483a!important;border-color:#fff}.reservation-response h1{font:700 clamp(2.7rem,6vw,5rem)/1 var(--serif);letter-spacing:-.035em;max-width:15ch;margin:.3rem 0 1rem}html[data-theme=dark] .contact-card{background:#29483a;color:#fff}html[data-theme=dark] .contact-card .eyebrow{color:#dcebe2}
@media(max-width:900px){.theme-button{font-size:.75rem;padding:.45rem .6rem}}
@media(max-width:600px){.theme-button{font-size:0;width:42px;height:42px;padding:0}.theme-button:after{content:'◐';font-size:1.25rem}}
