@import "https://fonts.googleapis.com/css2?family=Albert+Sans:wght@400;500;600;700&family=Lora:ital,wght@0,500;1,400;1,500;1,600&display=swap";:root{--paper:#f7f3ea;--sand:#efe7d8;--band:#eaf0e5;--card:#fffdf8;--ink:#26352c;--ink-soft:#55685b;--sage:#7f9c86;--sage-deep:#40604c;--sage-wash:#e3ebe0;--terracotta:#c4643d;--terracotta-deep:#a04a28;--terracotta-wash:#f5e0d3;--line:#d9cfba;--line-soft:#e7dfcd;--footer:#2c4136;--gutter:clamp(24px, 6vw, 110px);--sans:"Albert Sans", "Segoe UI", sans-serif;--serif:"Lora", Georgia, serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--sans);margin:0;font-size:16px;line-height:1.6}img{max-width:100%;height:auto;display:block}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}h1,h2,h3,h4,p,ul,ol,dl{margin:0}h1,h2{letter-spacing:-.015em;font-weight:600;line-height:1.08}h1{font-size:clamp(2.4rem,4.2vw,3.6rem)}h2{font-size:clamp(1.8rem,3vw,2.5rem)}h1 em,h2 em{font-family:var(--serif);font-style:italic;font-weight:500}h1 em{color:var(--terracotta-deep)}h2 em{color:var(--sage-deep)}::selection{background:var(--sage-deep);color:var(--paper)}[hidden]{display:none!important}.skip-link{z-index:50;background:var(--sage-deep);color:var(--paper);border-radius:8px;padding:10px 16px;font-weight:600;text-decoration:none;position:fixed;top:-90px;left:24px}.skip-link:focus{top:12px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--sage-deep);outline-offset:2px;border-radius:6px}.eyebrow{color:var(--sage-deep);letter-spacing:.22em;text-transform:uppercase;margin:0 0 14px;font-size:.74rem;font-weight:600}.button{background:var(--terracotta-deep);color:#fff9f3;letter-spacing:.01em;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:52px;padding:13px 28px;font-size:.95rem;font-weight:600;text-decoration:none;transition:background .2s,transform .2s;display:inline-flex}.button:hover{background:#8e3f1f;transform:translateY(-1px)}.text-link{color:var(--ink);text-decoration:underline;text-decoration-color:var(--sage);text-underline-offset:5px;font-weight:500;text-decoration-thickness:2px}.text-link:hover{color:var(--sage-deep)}.live-dot{background:currentColor;border-radius:50%;flex:none;width:7px;height:7px;animation:2s ease-in-out infinite pulse;display:inline-block}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.level{letter-spacing:.04em;white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:.68rem;font-weight:600;display:inline-block}.level-gentle{background:var(--sage-wash);color:#3c5a47}.level-all-levels{color:#5d5238;background:#ece3d0}.level-strong{background:var(--terracotta-wash);color:#9c4926}.site-header{z-index:30;min-height:74px;padding:0 var(--gutter);border-bottom:1px solid var(--line-soft);-webkit-backdrop-filter:blur(8px);background:#f7f3eae0;align-items:center;gap:28px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:10px;text-decoration:none;display:inline-flex}.brand-leaf{width:22px;height:22px;color:var(--sage-deep)}.brand-name{font-family:var(--serif);font-size:1.18rem;font-style:italic;font-weight:600}.site-header nav{flex-wrap:wrap;gap:8px 22px;margin-left:auto;display:flex}.site-header nav a{color:var(--ink-soft);letter-spacing:.14em;text-transform:uppercase;font-size:.78rem;font-weight:600;text-decoration:none}.site-header nav a:hover{color:var(--ink)}.header-book{min-height:42px;padding:8px 22px;font-size:.82rem}.next-banner{padding:clamp(40px, 5.5vh, 64px) var(--gutter) 56px;background:radial-gradient(720px 340px at 86% -60px, #7f9c8629, transparent 70%), linear-gradient(180deg, var(--sand), var(--paper));grid-template-columns:minmax(0,1.5fr) minmax(260px,.75fr);align-items:center;gap:clamp(32px,5vw,72px);display:grid}.countdown{flex-wrap:wrap;gap:12px;margin:26px 0 20px;display:flex}.cd-cell{background:var(--card);border:1px solid #c4643d59;border-radius:18px;justify-items:center;gap:2px;min-width:96px;padding:12px 18px 14px;display:inline-grid;box-shadow:0 14px 28px -20px #26352c73}.cd-num{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:clamp(2.2rem,3.6vw,3.2rem);font-weight:700;line-height:1.05}.cd-unit{color:var(--ink-soft);letter-spacing:.2em;text-transform:uppercase;font-size:.66rem;font-weight:600}.next-line{color:var(--ink-soft);font-size:1.02rem}.next-line.is-fallback{font-style:italic;font-family:var(--serif)}.next-name{font-family:var(--serif);color:var(--sage-deep);font-size:1.3rem;font-style:italic;font-weight:600}.next-sep{color:var(--sage);margin:0 6px}.live-line{color:var(--sage-deep);align-items:center;gap:9px;margin-top:10px;font-size:.92rem;font-weight:500;display:flex}.cta-row{flex-wrap:wrap;align-items:center;gap:12px 22px;margin-top:28px;display:flex}.schedule-note{max-width:46ch;color:var(--ink-soft);margin-top:18px;font-size:.82rem}.breath-card{justify-items:center;gap:24px;display:grid}.breath-circle{aspect-ratio:1;background:radial-gradient(circle at 32% 28%,#f0f4ea,#ccdac8);border:1px solid #40604c59;border-radius:50%;place-items:center;width:clamp(150px,15vw,210px);animation:6s ease-in-out infinite alternate breathe;display:grid;box-shadow:0 0 0 18px #7f9c861f}.breath-circle span{font-family:var(--serif);color:var(--sage-deep);text-align:center;font-size:1.02rem;font-style:italic;line-height:1.5}@keyframes breathe{0%{transform:scale(1);box-shadow:0 0 0 12px #7f9c861a}to{transform:scale(1.07);box-shadow:0 0 0 24px #7f9c8629}}.breath-stat{color:var(--ink-soft);letter-spacing:.16em;text-transform:uppercase;font-size:.76rem;font-weight:600}.timetable{padding:44px var(--gutter) 84px}.timetable-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:18px 32px;margin-bottom:36px;display:flex}.legend{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.week-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}.day-name{border-bottom:1px solid var(--line);color:var(--ink-soft);letter-spacing:.16em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:8px;margin-bottom:14px;padding-bottom:10px;font-size:.72rem;font-weight:700;display:flex}.day-col.is-today .day-name{color:var(--terracotta-deep);border-color:#c4643d80}.today-flag{background:var(--terracotta-deep);color:#fff9f3;letter-spacing:.12em;border-radius:999px;padding:2px 9px;font-size:.6rem}.day-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.rest-day{color:var(--ink-soft);font-family:var(--serif);font-size:.85rem;font-style:italic}.class-card{border:1px solid var(--line-soft);background:var(--card);border-radius:16px;flex-direction:column;padding:18px 14px 14px;transition:border-color .25s,box-shadow .25s;display:flex;position:relative}.card-chips{flex-wrap:wrap;gap:6px;display:flex;position:absolute;top:-11px;left:10px;right:10px}.next-chip,.live-chip{letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:.62rem;font-weight:700;display:inline-flex}.next-chip{background:var(--terracotta-deep);color:#fff9f3;box-shadow:0 6px 14px #a04a2859}.next-chip [data-next-countdown]{font-variant-numeric:tabular-nums}.live-chip{background:var(--sage-deep);color:#eef3ea}.class-card.is-next{border-color:#c4643d99;animation:3.2s ease-in-out infinite glow}.class-card.is-live{border-color:#40604c8c;box-shadow:0 0 0 3px #7f9c862e}@keyframes glow{0%,to{box-shadow:0 0 0 3px #c4643d24,0 16px 30px -16px #a04a2866}50%{box-shadow:0 0 0 6px #c4643d38,0 16px 30px -14px #a04a2880}}.class-time{font-variant-numeric:tabular-nums;font-size:.82rem;font-weight:700}.class-duration{color:var(--ink-soft);font-weight:500}.class-name{font-family:var(--serif);margin:6px 0;font-size:1.08rem;font-style:italic;font-weight:500;line-height:1.3}.class-focus{color:var(--ink-soft);margin-bottom:12px;font-size:.78rem;line-height:1.5}.class-meta{flex-wrap:wrap;align-items:center;gap:6px 8px;margin-top:auto;margin-bottom:12px;display:flex}.class-instructor{color:var(--ink-soft);font-size:.72rem}.card-book{color:var(--terracotta-deep);letter-spacing:.04em;align-self:flex-start;font-size:.78rem;font-weight:700;text-decoration:none}.card-book:hover{text-underline-offset:4px;text-decoration:underline}.studio{padding:84px var(--gutter) 96px;background:var(--band);grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;gap:clamp(40px,5vw,84px);display:grid}.studio-media{grid-template-columns:1fr 1fr;gap:18px;display:grid}.studio-photo-main{aspect-ratio:3/2;object-fit:cover;border-radius:22px;grid-column:1/-1;width:100%}.studio-photo-detail{aspect-ratio:3/4;object-fit:cover;border:8px solid var(--band);border-radius:22px;grid-column:2;width:100%;margin-top:-64px;box-shadow:0 26px 48px -30px #26352c8c}.studio-intro{max-width:54ch;color:var(--ink);margin-top:16px;font-size:1.02rem}.studio-notes{gap:10px;margin:22px 0 28px;padding:0;list-style:none;display:grid}.studio-notes li{padding-left:24px;font-size:.92rem;position:relative}.studio-notes li:before{content:"";background:var(--sage);border-radius:50% 0 50% 50%;width:9px;height:9px;position:absolute;top:.42em;left:0;transform:rotate(45deg)}.studio-contact{border-top:1px solid #40604c40;padding-top:24px;font-style:normal}.contact-label{color:var(--sage-deep);letter-spacing:.2em;text-transform:uppercase;margin-bottom:8px;font-size:.7rem;font-weight:700}.contact-line{font-size:.95rem}.contact-links{flex-wrap:wrap;gap:6px 22px;margin-top:10px;display:flex}.contact-links a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--sage);text-underline-offset:4px;font-size:.92rem;font-weight:500}.contact-links a:hover{color:var(--sage-deep)}.faq{padding:84px var(--gutter) 96px;grid-template-columns:minmax(220px,.75fr) minmax(0,1.45fr);gap:clamp(32px,4vw,72px);display:grid}.faq-list details{border-bottom:1px solid var(--line)}.faq-list details:first-of-type{border-top:1px solid var(--line)}.faq-list summary{cursor:pointer;justify-content:space-between;align-items:baseline;gap:18px;padding:18px 0;font-size:1.02rem;font-weight:600;list-style:none;display:flex}.faq-list summary::-webkit-details-marker{display:none}.faq-marker{color:var(--terracotta-deep);font-family:var(--serif);flex:none;font-size:1.35rem;line-height:1;transition:transform .2s}details[open] .faq-marker{transform:rotate(45deg)}.faq-list details p{max-width:58ch;color:var(--ink-soft);padding:0 0 20px;line-height:1.65}.site-footer{padding:56px var(--gutter) 40px;background:var(--footer);color:#e8ede2}.footer-grid{grid-template-columns:1.2fr 1fr 1fr;gap:36px;display:grid}.footer-brand{font-family:var(--serif);font-size:1.3rem;font-style:italic;font-weight:600}.footer-soft{color:#b9c7b6;margin-top:6px;font-size:.9rem}.footer-label{color:#9fb29d;letter-spacing:.18em;text-transform:uppercase;margin-bottom:10px;font-size:.7rem;font-weight:700}.footer-links{justify-items:start;gap:8px;display:grid}.footer-links a{color:#e8ede2;overflow-wrap:anywhere;text-underline-offset:4px;font-size:.92rem;text-decoration:underline #e8ede259}.footer-links a:hover{text-decoration-color:#e8ede2}.footer-links a:focus-visible{outline-color:#e8ede2}.footer-fine{color:#9fb29d;border-top:1px solid #e8ede229;margin-top:44px;padding-top:20px;font-size:.78rem}@media (width<=1150px){.week-grid{grid-template-columns:1fr;gap:30px}.day-list{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}.day-name{justify-content:flex-start;gap:14px}}@media (width<=980px){.next-banner{grid-template-columns:1fr}.breath-card{grid-auto-flow:column;justify-content:start;place-items:center start;gap:26px}.breath-circle{width:120px;box-shadow:0 0 0 10px #7f9c861f}.breath-circle span{font-size:.8rem}.breath-stat{max-width:200px}.studio{grid-template-columns:1fr}.faq{grid-template-columns:1fr;gap:8px}}@media (width<=720px){.site-header{flex-wrap:wrap;gap:12px 20px;padding-block:12px}.site-header nav{order:3;width:100%;margin-left:0;padding-bottom:4px}.header-book{margin-left:auto}.footer-grid{grid-template-columns:1fr}.studio,.faq{padding-block:64px 72px}}@media (width<=560px){.day-list{grid-template-columns:1fr}.countdown{gap:9px}.cd-cell{border-radius:14px;min-width:72px;padding:10px 12px}.studio-photo-detail{border-width:6px;margin-top:-40px}}@media (width<=360px){.cd-cell{min-width:62px;padding:8px 10px}.cd-num{font-size:1.55rem}.cta-row .button{width:100%}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.breath-circle{animation:none}.class-card.is-next{animation:none;box-shadow:0 0 0 4px #c4643d2e,0 16px 30px -16px #a04a2866}.live-dot{animation:none}.button,.faq-marker,.class-card{transition:none}}
