/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}}:root{--ink:#22261f;--olive:#68705a;--olive-dark:#505844;--cream:#f4f0e8;--paper:#fffdf9;--line:#ded9cf;--muted:#7c7c73;--terracotta:#a16043}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--ink);font-family:var(--font-sans), Arial, sans-serif;margin:0}button,a{font:inherit}button{color:inherit}a{color:inherit;text-decoration:none}.site-header{background:#f4f0e8f0;border-bottom:1px solid #50584421;grid-template-columns:1fr auto 1fr;align-items:center;height:92px;padding:0 clamp(24px,5vw,76px);display:grid}.brand{width:max-content}.brand img{object-fit:contain;width:auto;height:32px;display:block}nav{align-items:center;gap:38px;display:flex}nav a{color:#4f524a;letter-spacing:.04em;font-size:12px;font-weight:700}.outline-link{letter-spacing:.06em;text-transform:uppercase;border:1px solid #666b5d;justify-self:end;padding:12px 20px;font-size:11px;font-weight:700}.booking-shell{grid-template-columns:minmax(0,1.55fr) minmax(340px,.75fr);min-height:calc(100vh - 92px);display:grid}.booking-main{padding:68px clamp(28px,6vw,96px) 80px}.eyebrow,.section-kicker,.aside-label{color:var(--olive);letter-spacing:.2em;font-size:10px;font-weight:800}h1,h2,p{margin:0}h1{max-width:660px;font-family:var(--font-display), Georgia, serif;letter-spacing:-.045em;margin-top:14px;font-size:clamp(52px,5.8vw,82px);font-weight:500;line-height:.95}.intro{color:#65665e;max-width:520px;margin-top:22px;font-size:14px;line-height:1.7}.instructor-strip{border:1px solid var(--line);background:var(--line);grid-template-columns:1fr 1fr;gap:1px;max-width:570px;margin-top:28px;display:grid}.instructor-strip>span{background:#fffdf99e;grid-template-columns:auto 1fr;align-items:center;gap:2px 12px;padding:13px 15px;display:grid}.instructor-strip small{color:var(--terracotta);letter-spacing:.12em;grid-row:1/3;font-size:7px;font-weight:800}.instructor-strip strong{font-family:var(--font-display), serif;font-size:18px;line-height:1}.instructor-strip em{color:var(--muted);font-size:7px;font-style:normal}.steps{border-bottom:1px solid var(--line);gap:12px;margin:46px 0 52px;display:flex}.steps span{color:#9a998f;flex:1;padding:0 0 17px;font-size:11px;font-weight:700;position:relative}.steps span:after{content:"";height:2px;position:absolute;bottom:-1px;left:0;right:0}.steps span.active{color:var(--olive-dark)}.steps span.active:after{background:var(--olive)}.steps b{border:1px solid;border-radius:50%;place-items:center;width:25px;height:25px;margin-right:7px;font-size:9px;display:inline-grid}.steps .active b{background:var(--olive);color:#fff}.schedule{max-width:920px}.schedule-heading{justify-content:space-between;align-items:end;gap:24px;display:flex}.schedule-heading h2{font-family:var(--font-display), serif;letter-spacing:-.025em;margin-top:7px;font-size:34px;font-weight:600}.month-label{color:#5d6255;padding:8px 0;font-size:11px;font-weight:700}.calendar-controls{justify-items:end;gap:7px;display:grid}.week-buttons{align-items:center;gap:9px;display:flex}.week-buttons button{border:1px solid var(--line);width:31px;height:31px;color:var(--olive-dark);cursor:pointer;background:0 0;place-items:center;display:grid}.week-buttons button:hover:not(:disabled){border-color:var(--olive);background:var(--olive);color:#fff}.week-buttons button:disabled{cursor:not-allowed;opacity:.35}.week-buttons span{color:#77776e;letter-spacing:.08em;text-align:center;text-transform:uppercase;min-width:70px;font-size:8px;font-weight:800}.date-strip{grid-template-columns:repeat(7,minmax(58px,1fr));gap:7px;margin:24px 0;display:grid}.date-strip button{border:1px solid var(--line);cursor:pointer;background:0 0;min-height:74px}.date-strip small,.date-strip strong{display:block}.date-strip small{color:#95938a;letter-spacing:.11em;margin-bottom:8px;font-size:8px;font-weight:800}.date-strip strong{font-family:var(--font-display), serif;font-size:22px;font-weight:600}.date-strip .selected{border-color:var(--olive);background:var(--olive);color:#fff}.date-strip .selected small{color:#e5e8df}.class-list{gap:9px;display:grid}.class-list.is-loading{opacity:.55}.class-card{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fffdf96b;grid-template-columns:74px minmax(180px,1.4fr) minmax(120px,.9fr) 96px 28px;align-items:center;gap:14px;width:100%;min-height:88px;padding:14px 20px;transition:border-color .2s,background .2s,transform .2s;display:grid}.class-card:hover{border-color:var(--olive);background:var(--paper);transform:translateY(-1px)}.class-card:focus-visible{outline:2px solid var(--terracotta);outline-offset:3px}.date-strip button:focus-visible{outline:2px solid var(--terracotta);outline-offset:3px}.primary-button:focus-visible{outline:2px solid var(--terracotta);outline-offset:3px}.back-button:focus-visible{outline:2px solid var(--terracotta);outline-offset:3px}.outline-link:focus-visible{outline:2px solid var(--terracotta);outline-offset:3px}.change-link:focus-visible{outline:2px solid var(--terracotta);outline-offset:3px}.class-card:disabled{cursor:not-allowed;opacity:.56}.class-card:disabled:hover{border-color:var(--line);background:#fffdf96b;transform:none}.class-time{font-family:var(--font-display), serif;font-size:25px;font-weight:600}.class-name strong,.class-name small{display:block}.class-name strong{font-size:12px}.class-name small{color:var(--muted);margin-top:5px;font-size:10px}.class-price{color:var(--terracotta);font-weight:800}.level-tag{color:#74766d;border:1px solid #d7d2c9;border-radius:20px;width:max-content;padding:7px 10px;font-size:8px;font-weight:700}.spots{color:var(--terracotta);font-size:9px;font-weight:800}.spots.spots-open{color:var(--olive)}.spots i{background:currentColor;border-radius:50%;width:6px;height:6px;margin-right:5px;display:inline-block}.arrow{color:var(--olive);text-align:right;font-size:18px}.booking-aside{background:var(--paper);text-align:center;border-left:1px solid #5058441f;flex-direction:column;justify-content:center;align-items:center;min-height:calc(100vh - 92px);padding:60px clamp(32px,4vw,66px);display:flex}.aside-label{text-align:left;align-self:stretch;margin-bottom:auto}.empty-icon{border:1px solid #cbc8bf;border-radius:46% 46% 10px 10px;place-items:center;width:86px;height:104px;display:grid}.empty-icon span{border:1px solid #838779;border-radius:50% 50% 8px 8px;width:25px;height:29px}.booking-aside h2{font-family:var(--font-display), serif;margin-top:25px;font-size:31px;font-weight:600}.booking-aside>p{max-width:290px;color:var(--muted);margin-top:12px;font-size:11px;line-height:1.7}.studio-note{text-align:left;border-top:1px solid #e3dfd6;align-items:center;gap:12px;width:100%;margin-top:auto;padding-top:22px;display:flex}.pin{width:26px;height:26px;color:var(--olive);border:1px solid #c9c7be;border-radius:50%;place-items:center;display:grid}.studio-note strong,.studio-note span{display:block}.studio-note strong{font-size:10px}.studio-note div span{color:#8b8a82;margin-top:4px;font-size:8px}.closed-state{border:1px solid var(--line);text-align:center;background:#fffdf959;align-content:center;place-items:center;min-height:190px;padding:30px;display:grid}.closed-state>span{color:#aaa79e;font-family:var(--font-display), serif;font-size:30px}.closed-state h3{font-family:var(--font-display), serif;margin:4px 0 0;font-size:25px}.closed-state p{color:var(--muted);margin-top:6px;font-size:10px}.private-session-strip{border:1px solid var(--line);background:#eee2d8;grid-template-columns:1fr auto;align-items:center;gap:24px;margin-top:18px;padding:20px;display:grid}.private-session-strip>div:first-child{gap:7px;display:grid}.private-session-strip>div:first-child>strong{font-family:var(--font-display), serif;font-size:22px}.private-session-strip p{max-width:440px;color:var(--muted);font-size:8px;line-height:1.6}.private-session-actions{gap:7px;display:flex}.private-session-actions a{background:#fffdf99e;border:1px solid #b9ab9f;gap:5px;min-width:130px;padding:12px 14px;display:grid}.private-session-actions span{text-transform:uppercase;font-size:7px;font-weight:800}.private-session-actions strong{color:var(--terracotta);font-family:var(--font-display), serif;font-size:18px}.details-form,.success-card{max-width:820px}.form-heading h2,.success-card h2{font-family:var(--font-display), serif;letter-spacing:-.03em;margin-top:7px;font-size:40px;font-weight:600}.form-heading>p{max-width:560px;color:var(--muted);margin-top:10px;font-size:10px;line-height:1.7}.details-form form{grid-template-columns:1fr 1fr;gap:20px 18px;margin-top:34px;display:grid}.field{gap:8px;display:grid}.field-wide{grid-column:1/-1}.field>span{color:#51534c;letter-spacing:.03em;font-size:9px;font-weight:800}.field>span em{color:#99978e;text-transform:uppercase;margin-left:7px;font-size:7px;font-style:normal;font-weight:600}.field input,.field textarea{border:1px solid var(--line);width:100%;color:var(--ink);font:11px var(--font-sans), sans-serif;background:#fffdf994;border-radius:0;outline:none;padding:14px 15px;transition:border-color .2s,background .2s}.field textarea{resize:vertical;min-height:104px;line-height:1.6}.field input::placeholder,.field textarea::placeholder{color:#aaa89f}.field input:focus,.field textarea:focus{border-color:var(--olive);background:var(--paper)}.consent{color:#76766e;align-items:flex-start;gap:10px;font-size:8px;line-height:1.6;display:flex}.consent input{width:15px;height:15px;accent-color:var(--olive);margin:1px 0 0}.form-error{border-left:2px solid var(--terracotta);color:#88492d;background:#a1604314;padding:10px 12px;font-size:9px}.form-actions,.success-actions{justify-content:space-between;align-items:center;gap:16px;margin-top:7px;display:flex}.primary-button,.back-button,.change-link{cursor:pointer;background:0 0;border:0;font-weight:800}.primary-button{background:var(--olive);color:#fff;letter-spacing:.05em;text-transform:uppercase;justify-content:center;align-items:center;min-height:47px;padding:13px 23px;font-size:9px;display:inline-flex}.primary-button:hover{background:var(--olive-dark)}.primary-button:disabled{cursor:wait;opacity:.65}.back-button,.change-link{color:#666960;padding:10px 0;font-size:9px}.booking-aside.has-selection{text-align:left;justify-content:flex-start;align-items:stretch}.reservation-summary{width:100%;margin:auto 0;padding:45px 0}.summary-date{color:var(--olive);letter-spacing:.08em;text-transform:capitalize;font-size:9px;font-weight:800;display:block}.summary-time{font-family:var(--font-display), serif;letter-spacing:-.055em;margin-top:17px;font-size:clamp(62px,6vw,88px);font-weight:500;line-height:.85;display:block}.reservation-summary h2{text-align:left;margin-top:22px;font-size:32px}.reservation-summary>p{color:var(--muted);margin-top:6px;font-size:10px}.reservation-summary dl{border-top:1px solid var(--line);margin:32px 0 0}.reservation-summary dl div{border-bottom:1px solid var(--line);justify-content:space-between;gap:16px;padding:14px 0;display:flex}.reservation-summary dt,.reservation-summary dd{margin:0;font-size:9px}.reservation-summary dt{color:var(--muted)}.reservation-summary dd{text-align:right;font-weight:700}.change-link{border-bottom:1px solid #a4a69d;margin-top:20px}.confirmed-pill{width:max-content;color:var(--olive-dark);letter-spacing:.06em;text-transform:uppercase;background:#e3e9dc;border-radius:20px;margin-bottom:25px;padding:7px 10px;font-size:8px;font-weight:800}.success-card{flex-direction:column;justify-content:center;align-items:flex-start;min-height:470px;display:flex}.success-mark{border:1px solid var(--olive);width:54px;height:54px;color:var(--olive);border-radius:50%;place-items:center;margin-bottom:26px;font-size:21px;display:grid}.success-card>p{max-width:570px;color:var(--muted);margin-top:13px;font-size:10px;line-height:1.7}.confirmation-code{border:1px solid var(--line);background:var(--paper);width:100%;margin-top:28px;padding:18px 20px}.confirmation-code small,.confirmation-code strong{display:block}.confirmation-code small{color:var(--muted);letter-spacing:.14em;font-size:7px;font-weight:800}.confirmation-code strong{font-family:var(--font-display), serif;letter-spacing:.04em;margin-top:7px;font-size:25px}.success-actions{justify-content:flex-start;width:100%;margin-top:24px}.pricing-section{background:#eee1d7;border-top:1px solid #5058441f;padding:clamp(72px,9vw,124px) clamp(24px,7vw,108px);scroll-margin-top:30px}.pricing-heading{justify-content:space-between;align-items:end;gap:40px;margin-bottom:48px;display:flex}.pricing-heading h2{font-family:var(--font-display), serif;letter-spacing:-.045em;margin-top:10px;font-size:clamp(46px,5vw,70px);font-weight:500;line-height:.95}.pricing-heading>p{color:#716b65;max-width:400px;font-size:10px;line-height:1.8}.pricing-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.price-card{background:#fffdf9ad;border:1px solid #705c4e33;min-height:560px;padding:clamp(28px,4vw,52px)}.price-card-featured{background:#e5c7b9}.price-card-top{justify-content:space-between;align-items:center;display:flex}.price-card-top>span{font-family:var(--font-display), serif;font-size:25px}.price-card-top>small{color:#756a61;letter-spacing:.14em;font-size:7px;font-weight:800}.price-card h3,.family-offers h3{font-family:var(--font-display), serif;letter-spacing:-.035em;margin:44px 0 30px;font-size:clamp(35px,4vw,52px);font-weight:500}.price-list{border-top:1px solid #5b4d432e}.price-list>div,.bundle-list>div{border-bottom:1px solid #5b4d432e;justify-content:space-between;align-items:center;gap:24px;padding:18px 0;display:flex}.price-list span,.bundle-list span{font-size:10px;font-weight:700}.price-list span small{color:#7d746d;margin-top:5px;font-size:7px;font-weight:500;display:block}.price-list strong,.bundle-list strong{font-family:var(--font-display), serif;white-space:nowrap;font-size:21px;font-weight:600}.price-list strong small,.bundle-list strong small{font-family:var(--font-sans), sans-serif;margin-left:3px;font-size:7px;font-weight:700}.plan-group{margin-top:24px}.plan-group>b{color:var(--terracotta);letter-spacing:.14em;margin-bottom:7px;font-size:7px;display:block}.price-list.compact>div{padding:11px 0}.private-price-link{border-bottom:1px solid var(--olive);color:var(--olive-dark);margin-top:22px;padding-bottom:5px;font-size:8px;font-weight:800;display:inline-block}.family-offers{grid-template-columns:.72fr 1.28fr;gap:16px;margin-top:16px;display:grid}.family-offers article{background:#fffdf975;border:1px solid #705c4e33;padding:clamp(28px,4vw,48px)}.family-offers h3{margin:22px 0 14px;font-size:32px}.family-offers h3 strong{font-family:var(--font-sans), sans-serif;margin-top:12px;font-size:16px;display:block}.family-offers h3 small{font-size:8px}.family-offers p{color:#797069;margin-top:16px;font-size:8px;line-height:1.7}.bundle-list>div{padding:12px 0}.bundle-list span{max-width:280px;font-size:8px;line-height:1.5}.bundle-list strong{font-size:18px}.pricing-cta{border-top:1px solid #5b4d4333;justify-content:space-between;align-items:center;gap:24px;margin-top:36px;padding-top:30px;display:flex}.pricing-cta p{font-family:var(--font-display), serif;font-size:24px}.site-footer{color:#ded8ce;background:#25271f;grid-template-columns:1fr auto auto;align-items:center;gap:36px;min-height:160px;padding:44px clamp(24px,7vw,108px);display:grid}.site-footer img{object-fit:contain;width:auto;height:28px}.site-footer p,.site-footer a{letter-spacing:.04em;font-size:8px}.site-footer a{font-weight:800}.embedded-booking .booking-shell{min-height:100vh}.embedded-booking .booking-main{padding-top:54px}.embedded-booking .booking-shell{grid-template-columns:1fr}.embedded-booking .booking-aside,.inline-selection{display:none}.embedded-booking .inline-selection{border:1px solid var(--line);background:#eef0e9;gap:5px;margin:-13px 0 24px;padding:15px 18px;display:grid}.inline-selection span,.inline-selection small{color:var(--muted);font-size:8px}.inline-selection strong{font-family:var(--font-display), serif;font-size:20px}.account-page,.dashboard-page,.portal-page{background:var(--cream);min-height:100vh}.account-header,.dashboard-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:30px;min-height:82px;padding:20px clamp(22px,5vw,72px);display:flex}.account-header img,.dashboard-header img{object-fit:contain;width:auto;height:27px;display:block}.account-header>a:last-child,.dashboard-header a{letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:800}.account-intro{max-width:1180px;margin:0 auto;padding:76px clamp(22px,5vw,72px) 46px}.account-intro h1,.portal-empty h1{font-size:clamp(54px,7vw,86px)}.account-intro>p{max-width:660px;color:var(--muted);margin-top:20px;font-size:12px;line-height:1.8}.account-alert,.dashboard-message{background:#f3dfd4;border:1px solid #d7b8a7;padding:13px 16px;color:#734834!important;font-size:10px!important}.login-grid{grid-template-columns:1fr 1fr;gap:14px;max-width:1180px;margin:0 auto;padding:0 clamp(22px,5vw,72px) 90px;display:grid}.login-card{border:1px solid var(--line);background:var(--paper);flex-direction:column;align-items:flex-start;min-height:380px;padding:clamp(28px,4vw,52px);display:flex}.login-card-client{background:#e7d0c4}.login-card>span{font-family:var(--font-display), serif;font-size:24px}.login-card h2{max-width:450px;font-family:var(--font-display), serif;margin-top:44px;font-size:clamp(33px,4vw,48px);font-weight:500;line-height:1}.login-card>p{color:#6a6861;max-width:480px;margin:18px 0 32px;font-size:10px;line-height:1.8}.login-card>small{color:#6a6861;margin-top:auto;padding-top:28px;font-size:8px;line-height:1.7;display:block}.login-card>small a{text-decoration:underline}.outline-action{border:1px solid var(--olive);letter-spacing:.08em;text-transform:uppercase;align-items:center;min-height:43px;padding:0 20px;font-size:9px;font-weight:800;display:inline-flex}.dashboard-header{color:#e7e2d8;background:#25271f}.dashboard-header>div{align-items:center;gap:22px;display:flex}.dashboard-header>div span{font-size:9px}.dashboard-header>div a{border-left:1px solid #56594e;padding-left:22px}.dashboard-content{max-width:1440px;margin:0 auto;padding:55px clamp(20px,4vw,60px) 90px}.dashboard-title{justify-content:space-between;align-items:end;gap:30px;display:flex}.dashboard-title h1{margin-top:9px;font-size:clamp(42px,5vw,64px)}.dashboard-title>small{color:var(--muted);font-size:8px}.dashboard-tabs{border-bottom:1px solid var(--line);align-items:center;gap:5px;margin-top:42px;display:flex}.dashboard-tabs button{color:#838279;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;min-height:48px;padding:0 22px;font-size:10px;font-weight:800}.dashboard-tabs button.active{border-color:var(--olive);color:var(--olive-dark)}.dashboard-tabs button span{background:#e2ddd3;border-radius:20px;margin-left:6px;padding:3px 7px;font-size:7px}.dashboard-message{max-width:860px;margin-top:18px}.dashboard-message.success{background:#e6ecdf;border-color:#c9d4c2;color:#4f6048!important}.dashboard-panel{border:1px solid var(--line);background:var(--paper);margin-top:24px}.panel-tools{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:30px;min-height:108px;padding:24px 30px;display:flex}.panel-tools>div>span{color:var(--terracotta);letter-spacing:.16em;font-size:7px;font-weight:800}.panel-tools h2{font-family:var(--font-display), serif;margin-top:6px;font-size:28px;font-weight:600}.panel-tools>p{max-width:340px;color:var(--muted);font-size:9px;line-height:1.6}.panel-tools label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;gap:6px;font-size:7px;font-weight:800;display:grid}.panel-tools input,.client-search input{border:1px solid var(--line);background:#faf8f3;min-height:40px;padding:0 12px;font-size:10px}.daily-sessions{gap:12px;padding:20px;display:grid}.daily-session{border:1px solid var(--line)}.daily-session>header{background:#f0ece4;grid-template-columns:72px 1fr auto;align-items:center;gap:18px;min-height:76px;padding:13px 20px;display:grid}.daily-session>header>strong{font-family:var(--font-display), serif;font-size:28px}.daily-session h3{font-family:var(--font-display), serif;font-size:20px;font-weight:600}.daily-session header p{color:var(--muted);margin-top:3px;font-size:8px}.daily-session header>span{border:1px solid #c9c5ba;border-radius:18px;padding:7px 10px;font-size:8px;font-weight:800}.roster-row{border-top:1px solid var(--line);grid-template-columns:35px minmax(150px,1fr) minmax(180px,.8fr) auto;align-items:center;gap:14px;min-height:74px;padding:10px 20px;display:grid}.client-initial{width:32px;height:32px;font-family:var(--font-display), serif;background:#e2ddd3;border-radius:50%;place-items:center;display:grid}.roster-person,.roster-contact{gap:3px;display:grid}.roster-person strong{font-size:10px}.roster-person span,.roster-contact a{color:var(--muted);font-size:8px}.roster-contact a:last-child{color:var(--olive);font-weight:800}.attendance-actions{flex-wrap:wrap;justify-content:end;gap:4px;display:flex}.attendance-actions button{border:1px solid var(--line);cursor:pointer;background:0 0;min-height:30px;padding:0 9px;font-size:7px;font-weight:800}.attendance-actions button.active{border-color:var(--olive);background:var(--olive);color:#fff}.session-empty,.panel-empty{color:var(--muted);padding:28px;font-size:9px}.client-search{display:flex}.client-search input{width:min(330px,50vw)}.client-search button{background:var(--olive);color:#fff;cursor:pointer;border:0;padding:0 18px;font-size:8px;font-weight:800}.client-list-tools{justify-items:end;gap:8px;display:grid}.client-status-filter{gap:3px;display:flex}.client-status-filter button{border:1px solid var(--line);cursor:pointer;color:var(--muted);background:0 0;padding:6px 10px;font-size:7px;font-weight:800}.client-status-filter button.active{border-color:var(--olive);background:var(--olive);color:#fff}.client-table-wrap{overflow-x:auto}.client-table{border-collapse:collapse;width:100%}.client-table th{color:var(--muted);letter-spacing:.08em;text-align:left;text-transform:uppercase;background:#f0ece4;font-size:7px}.client-table th,.client-table td{border-bottom:1px solid var(--line);padding:16px 22px}.client-table td{vertical-align:top;min-width:150px;font-size:9px}.client-table td>strong,.client-table td>small,.client-table td>a{display:block}.client-table td>small{color:var(--muted);margin-top:5px;font-size:7px}.client-table .archived-row{opacity:.68}.client-name-button{cursor:pointer;text-align:left;background:0 0;border:0;border-bottom:1px solid #0000;padding:0}.client-name-button:hover{border-color:var(--olive)}.no-plan{color:var(--muted)}.table-action{border-bottom:1px solid var(--olive);width:max-content;color:var(--olive);font-weight:800}.table-actions{align-items:center;gap:12px;display:flex}.manage-action{background:var(--olive);color:#fff;cursor:pointer;border:0;padding:8px 11px;font-size:7px;font-weight:800}.membership-panel{max-width:1080px}.membership-form{padding:4px 30px 36px}.membership-form fieldset{border:0;border-bottom:1px solid var(--line);margin:0;padding:30px 0}.membership-form legend{font-family:var(--font-display), serif;align-items:center;gap:10px;font-size:21px;font-weight:600;display:flex}.membership-form legend b{background:var(--olive);color:#fff;width:26px;height:26px;font-family:var(--font-sans), sans-serif;border-radius:50%;place-items:center;font-size:8px;display:grid}.form-grid{grid-template-columns:1fr 1fr;gap:18px;margin-top:22px;display:grid}.form-grid label,.payment-row label{gap:7px;display:grid}.form-grid label>span,.payment-row label>span{color:#66675f;font-size:8px;font-weight:800}.form-grid input,.form-grid select,.payment-row input{border:1px solid var(--line);background:#faf8f3;border-radius:0;width:100%;min-height:45px;padding:0 13px;font-size:10px}.schedule-options{grid-template-columns:1fr 1fr;gap:8px;margin-top:22px;display:grid}.schedule-options label{border:1px solid var(--line);cursor:pointer;align-items:center;gap:12px;min-height:70px;padding:13px 15px;display:flex}.schedule-options label.selected{border-color:var(--olive);background:#edf0e8}.schedule-options input{accent-color:var(--olive)}.schedule-options span{gap:5px;display:grid}.schedule-options strong{font-size:9px;line-height:1.5}.schedule-options small{color:var(--muted);font-size:7px}.payment-row{grid-template-columns:1fr 1fr;gap:30px;margin-top:22px;display:grid}.payment-row>div{border-left:1px solid var(--line);padding-left:30px}.payment-row small{color:var(--terracotta);letter-spacing:.12em;font-size:7px;font-weight:800}.payment-row strong{font-family:var(--font-display), serif;margin-top:8px;font-size:26px;display:block}.payment-row p{color:var(--muted);margin-top:6px;font-size:8px;line-height:1.6}.membership-submit{width:100%;margin-top:28px}.membership-email-note{color:var(--muted);margin-top:13px;font-size:8px;line-height:1.6}.drawer-backdrop{z-index:50;background:#191c177a;justify-content:flex-end;display:flex;position:fixed;inset:0}.client-drawer{background:var(--cream);width:min(620px,94vw);height:100dvh;overflow-y:auto;box-shadow:-18px 0 60px #191c172e}.client-drawer-header{z-index:3;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f4f0e8f5;justify-content:space-between;align-items:center;gap:20px;min-height:94px;padding:20px 26px;display:flex;position:sticky;top:0}.client-drawer-header h2{font-family:var(--font-display), serif;margin-top:5px;font-size:30px;font-weight:600}.client-drawer-header>button{border:1px solid var(--line);cursor:pointer;background:0 0;width:38px;height:38px;font-size:23px}.client-drawer>.dashboard-message{margin:14px 24px 0}.client-drawer-body{gap:12px;padding:18px 18px 40px;display:grid}.drawer-section{border:1px solid var(--line);background:var(--paper);padding:24px}.drawer-section-heading{justify-content:space-between;align-items:center;gap:18px;display:flex}.drawer-section-heading>div{align-items:center;gap:10px;display:flex}.drawer-section-heading>div>span{width:27px;height:27px;font-family:var(--font-display), serif;background:#e4dfd5;border-radius:50%;place-items:center;font-size:13px;display:grid}.drawer-section-heading h3{font-family:var(--font-display), serif;font-size:24px;font-weight:600}.status-badge{border:1px solid var(--line);color:var(--muted);text-transform:uppercase;border-radius:20px;padding:6px 9px;font-size:7px;font-weight:800}.status-badge.active{color:#52604b;background:#e7eee1;border-color:#9ca991}.status-badge.archived,.status-badge.cancelled{color:#7c4f3b;background:#f3dfd5;border-color:#d3b4a5}.drawer-form{gap:15px;margin-top:22px;display:grid}.drawer-form label{gap:7px;display:grid}.drawer-form label>span{color:#606158;font-size:8px;font-weight:800}.drawer-form input,.drawer-form textarea,.drawer-form select,.permanent-delete input{border:1px solid var(--line);background:#faf8f3;border-radius:0;width:100%;min-height:43px;padding:10px 12px;font-size:10px}.drawer-form textarea{resize:vertical;min-height:90px}.drawer-form>.primary-button{justify-self:end}.drawer-help{color:var(--muted);font-size:8px;line-height:1.65}.drawer-help.strong{border-left:2px solid var(--olive);color:#5c6253;background:#edf0e9;padding:10px 12px}.drawer-form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.current-membership-card{border:1px solid var(--line);background:#eee2d8;gap:7px;margin-top:18px;padding:16px;display:grid}.current-membership-card strong{font-family:var(--font-display), serif;font-size:21px}.current-membership-card span{font-size:9px;font-weight:800}.current-membership-card small{color:var(--muted);font-size:7px;line-height:1.5}.drawer-price{border:1px solid var(--line);background:#f1ede5;grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:12px;display:grid}.drawer-price span{color:var(--muted);text-transform:uppercase;font-size:7px;font-weight:800}.drawer-price strong{font-family:var(--font-display), serif;font-size:20px}.drawer-price button{color:var(--olive);cursor:pointer;background:0 0;border:0;font-size:7px;font-weight:800;text-decoration:underline}.drawer-form-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.danger-link{border:0;border-bottom:1px solid var(--terracotta);color:var(--terracotta);cursor:pointer;background:0 0;padding:7px 0;font-size:8px;font-weight:800}.inline-confirm{background:#f5e2d8;border:1px solid #d9b4a2;gap:9px;padding:14px;display:grid}.inline-confirm strong{font-family:var(--font-display), serif;font-size:20px}.inline-confirm p,.permanent-delete p{color:#755846;font-size:8px;line-height:1.6}.inline-confirm>div{justify-content:flex-end;gap:8px;display:flex}.inline-confirm button,.archive-button,.restore-button,.danger-button{border:1px solid var(--line);background:var(--paper);cursor:pointer;min-height:37px;padding:0 14px;font-size:8px;font-weight:800}.danger-button,.archive-button{color:#fff;background:#a9664b!important;border-color:#a9664b!important}.restore-button{border-color:var(--olive);background:var(--olive);color:#fff}.drawer-danger-zone{background:#f7f0eb}.drawer-danger-zone>button{margin-top:20px}.permanent-delete{border-top:1px solid #d8c3b8;gap:10px;margin-top:22px;padding-top:20px;display:grid}.permanent-delete>strong{color:#863f32;font-size:10px}.permanent-delete .danger-button{justify-self:start}.empty-membership-action{color:var(--muted);gap:16px;margin-top:18px;font-size:9px;line-height:1.6;display:grid}.empty-membership-action .primary-button{justify-self:start}.portal-content{max-width:1320px;margin:0 auto;padding:62px clamp(20px,5vw,68px) 90px}.portal-hero{justify-content:space-between;align-items:end;gap:40px;display:flex}.portal-hero h1{font-size:clamp(48px,6vw,72px)}.portal-hero p{color:var(--muted);margin-top:14px;font-size:10px}.portal-contact{border-left:1px solid var(--line);gap:6px;min-width:240px;padding-left:26px;display:grid}.portal-contact small{color:var(--terracotta);letter-spacing:.12em;font-size:7px;font-weight:800}.portal-contact strong{font-size:10px}.portal-contact span{color:var(--muted);font-size:8px}.portal-contact button{border:0;border-bottom:1px solid var(--olive);width:max-content;color:var(--olive);cursor:pointer;background:0 0;padding:5px 0;font-size:7px;font-weight:800}.portal-profile-form{border:1px solid var(--line);background:var(--paper);align-items:end;gap:16px;margin-top:25px;padding:20px;display:flex}.portal-profile-form>div{flex:1;grid-template-columns:1fr 1fr;gap:12px;display:grid}.portal-profile-form label{gap:7px;display:grid}.portal-profile-form label span{font-size:8px;font-weight:800}.portal-profile-form input{border:1px solid var(--line);background:#faf8f3;min-height:42px;padding:0 12px;font-size:10px}.portal-profile-form>p{max-width:220px;color:var(--muted);font-size:7px;line-height:1.6}.portal-grid{grid-template-columns:.75fr 1.25fr;gap:14px;margin-top:44px;display:grid}.membership-summary,.upcoming-classes{border:1px solid var(--line);background:var(--paper);padding:34px}.membership-summary{background:#e7d0c4;position:relative}.membership-summary h2,.upcoming-heading h2{font-family:var(--font-display), serif;margin-top:30px;font-size:35px;font-weight:600;line-height:1}.membership-summary>p{color:#6e665f;margin-top:10px;font-size:9px}.membership-status{text-transform:uppercase;border:1px solid #9e8c81;border-radius:20px;padding:6px 9px;font-size:7px;font-weight:800;position:absolute;top:28px;right:28px}.membership-summary dl{margin:34px 0 0}.membership-summary dl div{border-top:1px solid #5d4b402e;padding:15px 0}.membership-summary dt{color:#756c65;font-size:7px}.membership-summary dd{margin:6px 0 0;font-size:9px;line-height:1.5}.membership-help-link{border-bottom:1px solid #7a695f;margin-top:20px;padding-bottom:5px;font-size:8px;font-weight:800;display:inline-block}.upcoming-heading{margin-bottom:22px}.upcoming-heading h2{margin-top:8px}.portal-bookings{gap:8px;display:grid}.portal-bookings article{border:1px solid var(--line);grid-template-columns:54px 1fr auto;align-items:center;gap:16px;padding:13px;display:grid}.portal-bookings article.not-coming{opacity:.6}.portal-bookings time{border-right:1px solid var(--line);place-items:center;display:grid}.portal-bookings time strong{font-family:var(--font-display), serif;font-size:25px}.portal-bookings time span{color:var(--muted);text-transform:uppercase;font-size:7px}.portal-bookings h3{font-size:10px}.portal-bookings p,.portal-bookings small{color:var(--muted);margin-top:4px;font-size:7px;display:block}.portal-actions{gap:4px;display:flex}.portal-actions button{border:1px solid var(--line);cursor:pointer;background:0 0;min-height:34px;padding:0 9px;font-size:7px;font-weight:800}.portal-actions button.active{border-color:var(--olive);background:var(--olive);color:#fff}.portal-actions button.danger{background:#a86c55;border-color:#a86c55}.portal-empty{text-align:center;max-width:760px;margin:0 auto;padding:120px 30px}.portal-empty .eyebrow{display:block}.portal-empty h1{max-width:none}.portal-empty p{color:var(--muted);margin:22px auto 30px;font-size:11px;line-height:1.7}@media (max-width:940px){.site-header{grid-template-columns:1fr auto}nav{display:none}.booking-shell{grid-template-columns:1fr}.booking-aside{border-top:1px solid var(--line);border-left:0;min-height:400px}.aside-label{margin-bottom:70px}.studio-note{margin-top:70px}.reservation-summary{max-width:560px;margin:0 auto}.pricing-heading{flex-direction:column;align-items:flex-start}.pricing-grid,.family-offers{grid-template-columns:1fr}.price-card{min-height:0}.portal-grid{grid-template-columns:1fr}.roster-row{grid-template-columns:35px 1fr auto}.attendance-actions{grid-column:2/4;justify-content:start}}@media (max-width:650px){.site-header{height:76px;padding:0 20px}.brand img{height:25px}.outline-link{padding:10px 13px;font-size:9px}.booking-main{padding:46px 20px 60px}h1{font-size:51px}.instructor-strip{grid-template-columns:1fr}.steps span{font-size:0}.steps b{margin-right:0;font-size:9px}.schedule-heading{align-items:start}.schedule-heading h2{font-size:29px}.calendar-controls{justify-items:end}.date-strip{grid-template-columns:repeat(7,58px);padding-bottom:6px;overflow-x:auto}.class-card{grid-template-columns:62px 1fr auto;gap:10px;padding:14px}.level-tag{display:none}.spots{grid-column:2}.arrow{grid-area:1/3/3}.private-session-strip{grid-template-columns:1fr}.private-session-actions{grid-template-columns:1fr 1fr;display:grid}.private-session-actions a{min-width:0}.details-form form{grid-template-columns:1fr}.field-wide{grid-column:auto}.form-actions,.success-actions{flex-direction:column-reverse;align-items:stretch}.primary-button,.back-button{width:100%}.success-card{min-height:430px}.pricing-section{padding:66px 20px}.price-card,.family-offers article{padding:27px 22px}.price-list>div,.bundle-list>div{align-items:flex-start}.price-list strong,.bundle-list strong{font-size:18px}.pricing-cta{flex-direction:column;align-items:stretch}.site-footer{text-align:center;grid-template-columns:1fr;gap:18px}.site-footer img{margin:0 auto}.account-header,.dashboard-header{min-height:70px;padding:18px 20px}.account-header img,.dashboard-header img{height:23px}.account-intro{padding:54px 20px 34px}.login-grid{grid-template-columns:1fr;padding:0 20px 60px}.login-card{min-height:340px}.dashboard-content{padding:40px 14px 60px}.dashboard-title{flex-direction:column;align-items:flex-start}.dashboard-title h1{font-size:43px}.dashboard-tabs{width:100%;overflow-x:auto}.dashboard-tabs button{flex:1 0 auto;padding:0 14px}.panel-tools{flex-direction:column;align-items:flex-start;padding:20px}.panel-tools label,.panel-tools input,.client-search,.client-search input{width:100%}.client-list-tools{justify-items:stretch;width:100%}.client-status-filter button{flex:1}.daily-sessions{padding:10px}.daily-session>header{grid-template-columns:60px 1fr;padding:12px}.daily-session>header>span{grid-column:2;width:max-content}.roster-row{grid-template-columns:32px 1fr;padding:12px}.roster-contact,.attendance-actions{grid-column:2}.attendance-actions{justify-content:start}.form-grid,.schedule-options,.payment-row{grid-template-columns:1fr}.membership-form{padding:0 18px 28px}.payment-row>div{border-top:1px solid var(--line);border-left:0;padding:20px 0 0}.client-drawer{width:100vw}.client-drawer-header{padding:16px 18px}.client-drawer-body{padding:12px 10px 30px}.drawer-section{padding:20px 16px}.drawer-form-grid{grid-template-columns:1fr}.drawer-form-actions{flex-direction:column-reverse;align-items:stretch}.drawer-form-actions .primary-button,.drawer-form-actions .danger-link{width:100%}.portal-content{padding:45px 14px 60px}.portal-hero{flex-direction:column;align-items:flex-start}.portal-contact{border-top:1px solid var(--line);border-left:0;width:100%;padding:18px 0 0}.portal-profile-form{flex-direction:column;align-items:stretch}.portal-profile-form>div{grid-template-columns:1fr;width:100%}.portal-profile-form>p{max-width:none}.membership-summary,.upcoming-classes{padding:25px 20px}.portal-bookings article{grid-template-columns:45px 1fr}.portal-actions{flex-wrap:wrap;grid-column:2}}
