.site-footer{border-top:1px solid var(--line);color:var(--muted);background:#eef0e7;padding:44px 6% 24px;font-size:13px}.footer-details{grid-template-columns:1fr 1.3fr 1fr;gap:40px;padding-bottom:36px;display:grid}.footer-brand img{width:140px;height:auto;margin-bottom:18px;display:block}.footer-brand p{max-width:220px}.site-footer h2{color:#303725;align-items:center;gap:8px;margin-bottom:16px;font-family:inherit;font-size:14px;font-weight:650;display:flex}.site-footer address{white-space:pre-line;color:#59614c;font-style:normal;line-height:1.8}.site-footer a{color:inherit;text-underline-offset:4px;text-decoration:none}.site-footer a:hover{text-decoration:underline}.site-footer a:focus-visible{outline:2px solid var(--olive);outline-offset:4px;border-radius:2px}.site-footer .footer-map-link,.footer-contact a{width:fit-content;color:var(--olive);align-items:center;gap:10px;line-height:1.6;display:flex}.site-footer .footer-map-link{margin-top:12px;font-weight:550}.footer-contact a+a{margin-top:12px}.footer-contact svg,.footer-location svg{flex-shrink:0}.footer-bottom{border-top:1px solid #dce1d1;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 24px;padding-top:22px;font-size:11px;display:flex}.footer-bottom nav{gap:20px;display:flex}.footer-bottom strong{color:#59614c;font-weight:650}@media (width<=900px){.footer-details{grid-template-columns:1.2fr 1fr;gap:28px}.footer-brand{grid-column:1/-1}}@media (width<=540px){.site-footer{padding-top:32px}.footer-details{grid-template-columns:1fr;padding-bottom:28px}.footer-brand p{max-width:none}.footer-bottom{flex-direction:column;align-items:flex-start;gap:14px}}.dropdown{vertical-align:middle;min-width:0;max-width:100%;display:inline-block;position:relative}.dropdown-trigger{border:1px solid var(--line);width:100%;min-height:44px;color:inherit;font:inherit;text-align:left;background:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:18px;padding:12px;display:flex}.dropdown-trigger>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dropdown-trigger>svg{color:var(--olive);flex-shrink:0}.dropdown-trigger:hover:not(:disabled){border-color:var(--olive)}.dropdown-trigger:focus-visible,.dropdown-trigger[aria-expanded=true]{border-color:var(--olive);box-shadow:inset 0 0 0 1px var(--olive);outline:none}.dropdown-trigger[aria-invalid=true]{border-color:#a74444}.dropdown-menu{border:1px solid var(--line);color:#303725;overscroll-behavior:contain;font:inherit;box-sizing:border-box;background:#fff;border-radius:12px;margin:0;padding:5px;font-size:13px;position:fixed;inset:auto;overflow-y:auto;box-shadow:0 8px 28px #30372520}.dropdown-menu::backdrop{background:0 0}.dropdown-option{cursor:pointer;white-space:normal;overflow-wrap:anywhere;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;min-height:44px;padding:10px;font-weight:400;line-height:1.4;display:flex}.dropdown-option.is-active{background:#f1f1e9}.dropdown-option[aria-selected=true]{color:var(--olive);background:#ecf0e2;font-weight:500}.dropdown-option[aria-disabled=true]{opacity:.45;cursor:default}.dropdown-option svg{flex-shrink:0}.dropdown-empty{color:var(--muted);padding:12px}input.dropdown-form-value{opacity:0;pointer-events:none;clip-path:inset(50%);border:0;width:1px;height:1px;min-height:0;padding:0;position:absolute}.dropdown-error{color:#a74444;margin-top:6px;font-size:12px;display:block}@media (width<=700px){.dropdown-trigger,.dropdown-menu{font-size:16px}}@media (forced-colors:active){.dropdown-trigger:focus-visible{outline-offset:2px;outline:2px solid highlight}.dropdown-option.is-active{outline:1px solid highlight}}.settings-flow{max-width:1160px}.settings-intro{color:var(--muted);margin:12px 0 30px}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.settings-card{border:1px solid var(--line);background:#fff;border-radius:16px;min-width:0;padding:28px}.settings-card h2{margin-bottom:12px;font-size:21px}.settings-card h3{margin-bottom:6px;font-size:16px}.settings-card p{color:#626b56;font-size:14px}.settings-icon{width:46px;height:46px;color:var(--olive);background:#edf0e4;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;margin-bottom:20px;display:flex}.settings-email{overflow-wrap:anywhere;margin:8px 0 18px;font-size:15px;display:block}.settings-card .settings-note{margin-top:12px;font-size:13px}.settings-card>button{max-width:100%;min-height:44px;margin-top:24px}.settings-card .error{margin-top:18px}.settings-privacy{grid-column:1/-1}.settings-section-heading{align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.settings-section-heading h2{margin-bottom:6px}.settings-section-heading .settings-icon{margin:0}.settings-erasure{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;padding-top:24px;display:flex}.settings-erasure>div{max-width:570px}.settings-erasure button{flex-shrink:0;min-height:44px}.settings-danger{color:#8e453e;background:#fff;border-color:#e5d1cc}.settings-confirmation{background:#fcf8f6;border:1px solid #e5d1cc;border-radius:12px;margin-top:24px;padding:24px}.settings-confirmation p+p{margin-top:12px}.settings-confirmation a{color:var(--olive);overflow-wrap:anywhere}.settings-confirmation-actions{flex-wrap:wrap;justify-content:flex-end;gap:12px;display:flex}.settings-confirmation-actions button{min-height:44px}.settings-policies{border-top:1px solid var(--line);color:var(--muted);margin-top:24px;padding:24px 0;font-size:13px}.settings-policies>div{flex-wrap:wrap;gap:12px 28px;margin-top:12px;display:flex}.settings-policies a{color:var(--olive);text-underline-offset:4px;align-items:center;gap:6px;min-height:32px;display:inline-flex}.privacy-request h3{color:var(--olive)}@media (width<=800px){.settings-erasure{flex-direction:column;align-items:flex-start;gap:16px}}@media (width<=600px){.settings-grid{grid-template-columns:1fr;gap:16px}.settings-card{padding:22px}.settings-section-heading{gap:12px}.settings-card>button,.settings-erasure button{width:100%}.settings-confirmation{padding:18px}.settings-confirmation-actions{flex-direction:column-reverse}.settings-confirmation-actions button{width:100%}}.header-actions{align-items:center;gap:18px;display:flex}.flow.classes-flow{max-width:1120px}.classes-intro{color:var(--muted);margin:12px 0 30px}.classes-toolbar{border-bottom:1px solid #dedfd3;flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:24px;padding:18px 0;display:flex}.classes-week-nav{align-items:center;gap:12px;display:flex}.classes-week-nav span{align-items:center;gap:10px;font-weight:600;display:flex}.classes-week-nav button{place-items:center;min-width:44px;min-height:44px;padding:8px;display:grid}.classes-filter{align-items:center;gap:10px;margin-left:auto;font-size:13px;display:flex}.class-enrollment select{min-height:44px;color:inherit;font:inherit;background:#fff;border:1px solid #dcded0;border-radius:12px;max-width:100%;padding:12px}.classes-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-bottom:24px;display:grid}.classes-day-button{background:0 0;border:1px solid #0000;border-radius:12px;flex-direction:column;align-items:center;gap:4px;min-width:0;padding:10px 4px;font-size:12px;display:flex}.classes-day-button>span{text-transform:capitalize}.classes-day-button strong{font-size:21px;font-weight:600}.classes-day-button small{color:#646b55;font-size:11px}.classes-day-button:hover{background:#ecf0e2}.classes-day-button[aria-current=date]{border-color:var(--olive)}.classes-day-button[aria-pressed=true]{background:var(--olive);color:#fff}.classes-day-button[aria-pressed=true] small{color:inherit}.classes-day-results>h2{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px;font-size:16px;font-weight:500;display:flex}.classes-day-results>h2 span{color:#646b55;white-space:nowrap;font-size:12px;font-weight:400}.classes-list{gap:10px;display:grid}.class-card{background:#fff;border:1px solid #e0e2d6;border-radius:16px;grid-template-columns:124px minmax(0,1fr) 158px 172px;grid-template-areas:"time details availability action";align-items:center;gap:18px;padding:18px;display:grid}.class-card-details{grid-area:details;gap:8px;min-width:0;display:grid}.class-card-availability{grid-area:availability;gap:4px;display:grid}.class-card.is-enrolled{border-color:var(--olive);background:#f4f6ed}.class-card h3{overflow-wrap:anywhere;margin:0;font-size:16px;line-height:1.4}.class-card p{margin:0}.class-card-time,.class-places{align-items:center;gap:6px;font-size:12px;display:flex}.class-card-time{white-space:nowrap;grid-area:time;font-size:13px;font-weight:600}.class-card-time svg,.class-places svg{flex-shrink:0}.class-places{color:#646b55}.class-card .booking-professional{align-items:center;gap:7px;font-size:12px}.class-card .booking-professional .avatar{width:28px;min-width:28px;height:28px}.class-card .booking-professional p{overflow-wrap:anywhere}.class-card button{grid-area:action;width:100%;min-height:44px;padding:12px;font-size:12px}.class-card button:disabled{opacity:1;color:#646b55;cursor:default;background:#ecf0e2}.class-status{color:#5d634e;font-size:12px;line-height:1.5}.classes-empty{text-align:center;border:1px dashed #d8dbca;border-radius:20px;padding:55px 20px}.class-enrollment{gap:16px;display:grid}.class-enrollment h3,.class-enrollment p{margin:0}.class-enrollment form{gap:20px;display:grid}.class-enrollment label{gap:10px;display:grid}.class-enrollment-actions{justify-content:space-between;gap:12px;display:flex}@media (width<=1000px) and (width>=701px){.class-card{grid-template-columns:120px minmax(0,1fr) 172px;grid-template-areas:"time details action""time availability action";gap:8px 16px}}@media (width<=700px){.header-actions{gap:10px}.header-actions>.quiet{padding:8px 0;font-size:13px}.classes-toolbar{gap:10px}.classes-week-nav{flex:1;justify-content:space-between;gap:2px}.classes-week-nav span{gap:6px;font-size:13px}.classes-toolbar>button{font-size:12px}.classes-filter{width:100%;margin:6px 0 0}.classes-filter .dropdown{flex:1}.classes-days{gap:2px}.classes-day-button{padding:9px 1px}.classes-day-button strong{font-size:19px}.classes-day-count-label{display:none}.classes-day-results>h2{font-size:15px}.class-card{grid-template-columns:minmax(0,1fr) minmax(118px,1fr);grid-template-areas:"time time""details details""availability action";gap:12px;padding:16px}.class-card h3{font-size:17px}.class-card-time,.class-places,.class-card .booking-professional{font-size:13px}.class-card button{padding:12px 8px;font-size:12px}.class-enrollment-actions{flex-direction:column-reverse}}.header-actions{min-width:0;max-width:65%}.header-actions .account-menu{min-width:0;max-width:100%}@media (width<=380px){.site-header .brand img{width:100px}.header-actions .account-actions{gap:8px}.header-actions .account-login{white-space:nowrap;padding:8px;font-size:12px}}.class-card .booking-professional,.class-enrollment .booking-professional{margin:0}.class-enrollment,.class-enrollment form{grid-template-columns:minmax(0,1fr);min-width:0}.class-enrollment label{min-width:0}.class-enrollment select{width:100%;min-width:0}.class-enrollment p{overflow-wrap:anywhere}.classes-filter{white-space:nowrap;min-width:0}.classes-filter .dropdown{width:220px;min-width:0}@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwAopxhTg.ttf)format("truetype")}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwAkJxhTg.ttf)format("truetype")}@font-face{font-family:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwAfJthTg.ttf)format("truetype")}@font-face{font-family:DM Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwARZthTg.ttf)format("truetype")}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk79FO_F.ttf)format("truetype")}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk7PFO_F.ttf)format("truetype")}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk4jE-_F.ttf)format("truetype")}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk4aE-_F.ttf)format("truetype")}:root{color:#303725;font-synthesis:none;--olive:#5c6639;--line:#e1e4d8;--muted:#7b806f;background:#f8f8f3;font-family:DM Sans,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:default}button,a,input{-webkit-tap-highlight-color:transparent}button{color:inherit}button:focus-visible,a:focus-visible{outline-offset:4px;outline:3px solid #9ba97a}button{transition:background .18s,border-color .18s,transform .18s,box-shadow .18s}h1,h2,h3,p{margin:0}h1{letter-spacing:-1.8px;font-family:Manrope,sans-serif;font-size:40px;font-weight:500;line-height:1.2}h1:focus{outline:0}h2{font-size:19px;font-weight:550;line-height:1.4}h3{font-size:17px}p{line-height:1.7}.booking-shell{flex-direction:column;max-width:1600px;min-height:100dvh;margin:auto;display:flex}.demo-banner{text-align:center;color:#657043;letter-spacing:.2px;background:#ebeede;padding:7px 12px;font-size:11px}.site-header{justify-content:space-between;align-items:center;gap:20px;padding:32px 6%;display:flex}.brand{background:0 0;border:0;padding:0}.brand img{width:160px;height:auto;display:block}.quiet,.back{color:var(--olive);background:0 0;border:0;align-items:center;gap:8px;padding:8px 0;font-size:13px;display:inline-flex}.quiet:hover,.back:hover{text-decoration:underline}main{flex:1}.hero{grid-template-columns:1.1fr 1fr;align-items:center;gap:7%;padding:36px 6% 55px;display:grid}.eyebrow{letter-spacing:1.8px;color:var(--muted);font-size:10px;font-weight:650}.hero h1{letter-spacing:-4px;margin:20px 0 24px;font-size:clamp(52px,6vw,86px);line-height:1.08}.hero h1 em{color:var(--olive);font-style:normal}.hero-copy>p{max-width:390px;color:var(--muted);font-size:15px}.home-choices{gap:12px;margin-top:33px;display:grid}.choice{text-align:left;border:1px solid var(--line);background:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:20px;padding:20px 23px;display:flex}.choice>span{grid-template-columns:28px 1fr;gap:6px 10px;display:grid}.choice>span>svg{grid-row:1/3;align-self:center}.choice strong{font-size:15px;font-weight:550}.choice small{color:var(--muted);font-size:12px}.primary-choice{background:var(--olive);color:#fff;border-color:var(--olive)}.primary-choice small{color:#e1e6d5}.choice:hover{transform:translateY(-3px);box-shadow:0 10px 25px #4c583615}.hero-location{color:var(--muted);align-items:center;gap:7px;margin-top:23px;font-size:11px;display:flex}.brand-panel{background:#e5e9d9;border-radius:180px 180px 16px 16px;flex-direction:column;justify-content:flex-end;min-height:590px;padding:40px;display:flex;position:relative;overflow:hidden}.brand-panel>span{letter-spacing:1px;color:var(--olive);z-index:1;font-size:30px;font-weight:450;line-height:1.25}.brand-panel>small{color:#7e856b;margin-top:16px;font-size:12px}.olive-art{width:280px;height:420px;position:absolute;top:10px;right:-2px;transform:rotate(-24deg)}.flow{max-width:1200px;margin:auto;padding:12px 6% 60px;animation:.24s ease-out enter}.back{margin-bottom:24px}.flow>h1{margin-bottom:15px}.intro{color:var(--muted);margin-bottom:30px;font-size:14px}.selection-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px;margin-top:25px;display:grid}.selection-card{border:1px solid var(--line);text-align:left;background:#fff;border-radius:13px;flex-direction:column;align-items:flex-start;min-width:0;padding:26px;display:flex}.selection-card>svg{color:var(--olive);margin-bottom:22px}.selection-card h2{margin-bottom:10px}.selection-card p{color:var(--muted);flex:1;font-size:13px}.selection-card:hover{border-color:#bcc6a6;transform:translateY(-3px);box-shadow:0 10px 28px #41492b0a}.card-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;width:100%;margin-top:24px;padding-top:17px;font-size:11px;display:flex}.card-footer span{align-items:center;gap:6px;display:flex}.avatar{width:60px;height:60px;color:var(--olive);background:#ecf0e2;border-radius:50%;flex-shrink:0;place-items:center;margin-bottom:20px;font-size:18px;display:grid;position:relative;overflow:hidden}.flow-columns{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);align-items:start;gap:30px;margin-top:30px;display:grid}.panel{border:1px solid var(--line);background:#fff;border-radius:14px;min-width:0;padding:28px}.panel>p{color:var(--muted);margin:10px 0;font-size:14px}.panel label,.customer-fields label{flex-direction:column;gap:9px;margin:0 0 21px;font-size:12px;font-weight:500;display:flex}.panel label small,.customer-fields label small{color:var(--muted);font-size:11px;font-weight:400}.panel input,.customer-fields input{color:#39422f;background:#fff;border:1px solid #dce1d2;border-radius:8px;width:100%;min-width:0;min-height:44px;padding:12px;font-size:14px}.primary,.secondary{border:1px solid var(--olive);background:var(--olive);color:#fff;border-radius:9px;justify-content:center;align-items:center;gap:9px;min-height:44px;padding:13px 19px;font-size:13px;display:inline-flex}.primary:hover:not(:disabled){filter:brightness(.94)}.secondary{color:var(--olive);border-color:var(--line);background:#fff}.next{width:100%;margin-top:24px}.slots{grid-template-columns:repeat(auto-fill,minmax(66px,1fr));gap:8px;max-height:300px;margin-top:16px;padding:3px;display:grid;overflow:auto}.slots button{border:1px solid var(--line);background:#fff;border-radius:7px;padding:11px 5px;font-size:12px}.slots button[aria-pressed=true]{background:var(--olive);border-color:var(--olive);color:#fff}.slots button:hover{border-color:var(--olive)}.summary{background:#f0f2e9;position:sticky;top:20px}.summary h2,.summary-inline h2{margin:16px 0 5px}.summary p,.summary-inline p{color:var(--muted);font-size:13px}dl{margin:24px 0 0}dl>div{border-top:1px solid #dfe4d3;padding:12px 0}dt{color:var(--muted);align-items:center;gap:7px;margin-bottom:6px;font-size:11px;display:flex}dd{overflow-wrap:anywhere;margin:0;font-size:13px}.fine{line-height:1.7;font-size:11px!important}.muted,.empty{color:var(--muted);font-size:13px;line-height:1.7}.empty{padding:25px 0}.narrow{max-width:510px;margin-top:25px}.resend{margin-left:20px}.demo-note{background:#eff2e8;border-radius:8px;padding:10px 14px}.review-person{border-top:1px solid var(--line);margin-top:24px;padding-top:24px}.review-person>strong{margin-top:12px;font-size:14px;display:block}.review-person p{color:var(--muted);overflow-wrap:anywhere;font-size:13px}.reassurance{color:var(--olive);padding:35px 20px}.reassurance h2{margin:22px 0 15px;font-size:25px;font-weight:450;line-height:1.4}.reassurance p{color:var(--muted);font-size:13px}.confirmation{max-width:620px;margin-top:25px}.confirmation>svg{color:var(--olive);margin-bottom:18px}.confirmation h3{margin-top:25px}.reference{color:var(--muted);overflow-wrap:anywhere;margin-top:24px;font-size:10px;display:block}.actions{flex-wrap:wrap;gap:10px;margin-top:25px;display:flex}.error{color:#8b4b37;background:#fbefea;border:1px solid #ebd8cd;border-radius:9px;padding:15px;font-size:13px;line-height:1.7}.global-error{max-width:1060px;margin:0 auto 30px}@keyframes enter{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@media (width<=800px){.hero{gap:5%;padding-top:25px}.brand-panel{min-height:510px;padding:26px}.brand-panel>span{font-size:24px}.flow-columns{gap:18px}.panel{padding:22px}.hero h1{font-size:60px}}@media (width<=600px){.site-header{gap:10px;padding:24px 6%}.brand img{width:120px}.site-header .quiet{gap:5px;font-size:11px}.site-header .quiet svg{width:14px}.hero{grid-template-columns:1fr;gap:35px;padding-top:22px}.hero h1{margin-top:15px;font-size:64px}.hero-copy>p{font-size:14px}.brand-panel{border-radius:100px 100px 14px 14px;min-height:300px;padding:30px}.olive-art{top:-70px;right:-50px;transform:rotate(-35deg)scale(.7)}.brand-panel>span{font-size:24px}.flow{padding-top:0}.flow h1{letter-spacing:-1px;font-size:30px}.flow-columns{grid-template-columns:1fr;gap:18px}.summary{order:-1;position:static}.summary dl{grid-template-columns:1fr 1fr;gap:5px 12px;margin-top:16px;display:grid}.summary{padding:20px}.summary h2{margin-top:10px;font-size:17px}.summary dl>div:last-child{grid-column:1/-1}.selection-grid{grid-template-columns:1fr}.panel input,.customer-fields input{font-size:16px}.selection-card{padding:23px}.reassurance{display:none}.resend{margin-left:12px}.global-error{margin:0 6% 25px}.actions>*{width:100%}.confirmation{padding:23px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.choice:hover,.selection-card:hover{transform:none}}.required-mark{color:var(--olive);font-weight:650}.catalogue-search{border:1px solid var(--line);width:100%;max-width:480px;font:inherit;color:inherit;background:#fff;border-radius:12px;margin:0 0 24px;padding:14px 18px}.staff-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}.selection-card.staff{text-align:center;align-items:center;min-height:0;padding:24px}.selection-card.staff .avatar{width:72px;height:72px;margin:0 auto 16px}.avatar img{object-fit:cover;border-radius:inherit;width:100%;height:100%;display:block;position:absolute;inset:0}.flow-single{max-width:720px;margin:auto}.month-calendar{margin-bottom:32px}.month-heading{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.month-heading h2{text-transform:capitalize;margin:0}.month-heading button{color:var(--olive);background:0 0;border:0;padding:10px}.month-grid{text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.month-grid button{min-height:44px;font:inherit;color:inherit;background:0 0;border:0;border-radius:10px}.month-grid button:hover:not(:disabled){background:#eef1e7}.month-grid button[aria-pressed=true]{background:var(--olive);color:#fff}.month-grid button[aria-current=date]{box-shadow:inset 0 0 0 1px var(--olive)}.weekday{color:var(--muted);padding:8px 0;font-size:12px}.booking-professional{align-items:center;gap:14px;margin:16px 0;display:flex}.booking-professional .avatar{flex-shrink:0;width:40px;height:40px;margin:0;font-size:13px}.booking-professional p{margin:0}.confirmation .booking-professional{justify-content:center}.actions a{justify-content:center;align-items:center;gap:8px;text-decoration:none;display:inline-flex}@media (width<=700px){.brand-panel{display:none}.staff-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.selection-card.staff{padding:18px 12px}}.account-actions{align-items:center;gap:18px;display:flex}.account-login{border:1px solid var(--line);color:var(--olive);background:0 0;border-radius:9px;padding:10px 15px;font-size:13px}.account-login:hover{background:#ebeede}.account-menu{max-width:50%;position:relative}.account-trigger{background:0 0;border:0;align-items:center;gap:10px;max-width:100%;padding:4px;font-size:13px;display:flex}.account-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-icon{width:34px;height:34px;color:var(--olive);background:#ebeede;border-radius:50%;flex-shrink:0;place-items:center;display:grid}.account-popover{z-index:20;border:1px solid var(--line);background:#fff;border-radius:12px;width:210px;padding:6px;animation:.16s ease-out enter;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 12px 32px #30372512}.account-popover button{text-align:left;background:0 0;border:0;border-radius:7px;align-items:center;gap:10px;width:100%;padding:12px;font-size:13px;display:flex}.account-popover button:hover,.account-popover button:focus-visible{background:#f1f3e9}.availability-notice{border:1px solid var(--line);color:var(--olive);background:#ecefe3;border-radius:12px;max-width:460px;margin-top:24px;padding:14px 18px;font-size:13px}@media (width<=700px){.account-actions{gap:10px}.account-login{padding:8px 10px;font-size:12px}.account-trigger{gap:6px}.account-name{max-width:110px}}.booking-progress{width:100%;margin:5px 0 34px;position:relative}.booking-progress:before,.booking-progress:after{content:"";left:var(--step-offset);height:2px;width:var(--track-width);background:var(--line);position:absolute;top:22px}.booking-progress:after{width:var(--progress);background:var(--olive);transition:width .55s}.booking-progress ol{grid-template-columns:repeat(var(--step-count), minmax(0, 1fr));z-index:1;margin:0;padding:0;list-style:none;display:grid;position:relative}.booking-progress li{color:#858b79;text-align:center;flex-direction:column;align-items:center;gap:12px;min-width:0;font-size:12px;display:flex}.progress-node{border:1px solid var(--line);background:#f8f8f3;border-radius:50% 5px 50% 50%;place-items:center;width:44px;height:44px;transition:background .3s,border-color .3s,box-shadow .3s;display:grid;transform:rotate(-45deg)}.progress-node>span{place-items:center;display:grid;transform:rotate(45deg)}.booking-progress .complete .progress-node{background:var(--olive);border-color:var(--olive);color:#fff}.booking-progress .current{color:var(--olive);font-weight:650}.booking-progress .current .progress-node{border-color:var(--olive);background:#edf0e4;animation:.4s ease-out leaf-arrive;box-shadow:0 0 0 5px #5c66390c}.progress-roots{width:30px;height:36px;top:5px;left:calc(var(--step-offset) - 45px);position:absolute}.progress-roots path{fill:none;stroke:var(--olive);stroke-width:1.4px;stroke-linecap:round}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes leaf-arrive{0%{transform:rotate(-55deg)scale(.88)}to{transform:rotate(-45deg)scale(1)}}@media (width<=700px){.booking-progress{margin-bottom:28px}.booking-progress li{gap:10px;font-size:10px}.progress-node{width:32px;height:32px}.booking-progress:before,.booking-progress:after{top:16px}.progress-roots{width:20px;height:27px;top:3px;left:calc(var(--step-offset) - 33px)}.progress-label{overflow-wrap:anywhere;padding:0 2px}}@media (prefers-reduced-motion:reduce){.booking-progress:after,.progress-node{transition:none}.booking-progress .current .progress-node,.account-popover{animation:none}}.service-category{margin:28px 0}.service-category>h2{margin:0 0 16px;font-size:1.25rem}.auth-actions{flex-wrap:wrap;gap:12px;display:flex}.panel.narrow>.quiet{margin-top:18px;display:block}.legal-page{max-width:780px;margin:0 auto}.legal-page h2{margin-top:32px;font-size:1.25rem}.legal-page p,.legal-page li{line-height:1.7}.policy-text{white-space:pre-wrap}.privacy-request{background:#f1f3ec;border-radius:14px;margin:20px 0;padding:18px}.privacy-confirm{align-items:start;gap:10px;margin:20px 0;display:flex}.privacy-confirm input{width:auto}.legal-page a{color:var(--brand,#5d683c);text-underline-offset:3px}.booking-search-mode{border:1px solid var(--line);background:#edf0e5;border-radius:12px;gap:4px;max-width:100%;margin:0 16px 20px 0;padding:4px;display:inline-flex}.booking-search-mode button{background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 15px;font-size:13px;display:inline-flex}.booking-search-mode button[aria-pressed=true]{border-color:var(--line);color:var(--olive);background:#fff;font-weight:600}.flow.login-flow{max-width:none}.login-layout{grid-template-columns:1.1fr 1fr;align-items:center;gap:7%;display:grid}.login-content{min-width:0;max-width:510px}.login-content .narrow{max-width:none}.auth-alternative .quiet{font-size:inherit;padding:0;text-decoration:underline}input:not([type=checkbox]):not([type=radio]):focus-visible,textarea:focus-visible,select:focus-visible{border-color:var(--olive);box-shadow:inset 0 0 0 1px var(--olive);outline:none}input[type=checkbox]:focus-visible,input[type=radio]:focus-visible{outline:2px solid var(--olive);outline-offset:2px}@media (forced-colors:active){input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:-2px;outline:2px solid highlight!important}}@media (width<=700px){.hero,.login-layout{grid-template-columns:1fr}.login-content{width:100%;max-width:510px;margin:auto}}@media (width<=400px){.booking-search-mode{margin-inline-end:0;display:flex}.booking-search-mode button{flex:1;padding-inline:8px;font-size:12px}}.account-flow{max-width:1400px;padding-top:22px}.account-subtitle{color:var(--muted);margin:8px 0 30px;font-size:18px}.account-overview-header{margin-bottom:32px}.account-overview-intro{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;margin:8px 0 24px;display:flex}.account-overview-intro .account-subtitle{margin:0}.account-settings-link{justify-content:center;align-items:center;gap:8px;min-height:44px;display:inline-flex}.account-overview-header .home-choices{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));margin-top:0}.customer-account-grid{grid-template-columns:minmax(0,1fr) 300px;grid-template-areas:"appointments profile""plans plans";align-items:start;gap:30px 24px;display:grid}.account-appointments{grid-area:appointments;min-width:0}.customer-profile{grid-area:profile}.customer-plans{grid-area:plans}.next-appointment{border:1px solid var(--line);background:#edf0e4;border-radius:16px;padding:24px;transition:border-color .2s,transform .2s;position:relative}.next-appointment:hover{border-color:#abb68e;transform:translateY(-2px)}.card-open{border-radius:inherit;z-index:1;background:0 0;border:0;width:100%;height:100%;position:absolute;inset:0}.card-open:focus-visible{outline-offset:3px}.appointment-top,.appointment-title,.plan-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.appointment-title{margin:15px 0}.appointment-title h2{font-size:26px}.appointment-top .eyebrow{letter-spacing:1px;font-size:11px}.account-status{color:#606951;background:#eaede4;border-radius:24px;flex-shrink:0;justify-content:center;align-items:center;padding:5px 10px;font-size:11px;font-weight:550;line-height:1.4;display:inline-flex}.account-status-confirmed{color:#445d25;background:#dfe9cc}.account-status-cancelled{color:#913f3b;background:#f4e1de}.account-status-completed{color:#3a6574;background:#e2edf0}.account-status-no_show{color:#86602a;background:#f4e9d2}.account-status-neutral{color:#707566;background:#eff0eb}.appointment-overview{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;display:flex}.appointment-overview .booking-professional{margin:0}.appointment-date{align-items:center;gap:14px;font-size:14px;display:flex}.appointment-date strong{text-transform:capitalize;font-weight:550;display:block}.appointment-date p{color:var(--muted);margin:3px 0;font-size:12px}.appointment-date>div>span{color:#6d7561}.date-tile{color:#303725;background:#f8f9f4;border-radius:10px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:60px;min-height:70px;padding:10px;display:flex}.date-tile strong{font-size:27px;font-weight:600;line-height:1.2}.date-tile>span{text-transform:uppercase;font-size:11px;font-weight:550}.appointment-bottom{border-top:1px solid #dce1d0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:24px;padding-top:18px;display:flex}.appointment-location{color:#707962;align-items:center;gap:8px;max-width:100%;font-size:12px;display:flex}.appointment-location svg{flex-shrink:0}.appointment-actions{z-index:2;flex-wrap:wrap;gap:10px;display:flex;position:relative}.appointment-actions button,.appointment-actions a{justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 15px;font-size:12px;text-decoration:none;display:inline-flex}.appointments-section{margin-top:28px}.account-tabs{gap:24px;margin:12px 0;display:flex}.account-tabs button{min-height:44px;color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;padding:12px 4px;font-size:14px}.account-tabs button[aria-selected=true]{color:var(--olive);border-bottom-color:var(--olive);font-weight:600}.appointment-list{gap:10px;display:grid}.appointment-row{border:1px solid var(--line);text-align:left;background:#fff;border-radius:13px;align-items:center;gap:16px;width:100%;padding:16px;transition:transform .2s,border-color .2s;display:flex}.appointment-row:hover{border-color:#abb68e;transform:translateY(-2px)}.appointment-row-info{min-width:0;color:var(--muted);flex-direction:column;flex:1;gap:4px;font-size:12px;display:flex}.appointment-row-info>strong{color:#303725;font-size:15px;font-weight:600}.row-professional{align-items:center;gap:7px;display:flex}.row-professional .avatar{width:24px;min-width:24px;height:24px;font-size:9px}.row-professional .avatar img{object-fit:cover;width:100%;height:100%}.row-chevron{color:#707962;flex-shrink:0}.row-cancelled{background:#fdf9f8;border-color:#ebd6d1}.row-no_show{border-color:#e5d6bb}.account-empty,.account-loading{border:1px solid var(--line);color:var(--muted);border-radius:14px;padding:24px;font-size:14px}.next-empty{background:#edf0e4}.customer-plans>h2{margin-bottom:14px}.plan-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.customer-plan{border:1px solid var(--line);background:#fff;border-radius:14px;padding:22px}.plan-heading h3{font-size:16px}.plan-balance{color:#626a59;margin-top:10px;font-size:14px}.plan-balance strong{color:#303725;font-size:22px}.customer-plan progress{appearance:none;background:#eff0eb;border:0;border-radius:10px;width:100%;height:8px;margin:12px 0;display:block;overflow:hidden}.customer-plan progress::-webkit-progress-bar{background:#eff0eb;border-radius:10px}.customer-plan progress::-webkit-progress-value{background:var(--olive);border-radius:10px}.customer-plan progress::-moz-progress-bar{background:var(--olive);border-radius:10px}.plan-validity,.plan-reserved{color:var(--muted);font-size:12px}.plan-validity{margin-top:10px}.customer-profile{border:1px solid var(--line);background:#fff;border-radius:16px;min-width:0;padding:24px}.profile-toggle{display:none}.profile-identity{border-bottom:1px solid var(--line);margin-bottom:20px;padding-bottom:20px}.profile-identity .avatar{width:64px;height:64px;margin-bottom:12px;font-size:22px}.profile-identity h2{font-size:19px}.profile-data h3{font-size:15px}.profile-data dl,.appointment-detail dl{gap:18px;margin:20px 0;display:grid}.profile-data dt,.appointment-detail dt{color:var(--muted);margin-bottom:4px;font-size:12px}.profile-data dd,.appointment-detail dd{overflow-wrap:anywhere;margin:0;font-size:14px}.profile-edit{border-top:1px solid var(--line);width:100%;min-height:44px;padding-top:16px}.account-dialog{border:1px solid var(--line);color:#303725;background:#fdfdf9;border-radius:18px;width:min(540px,100% - 32px);max-height:calc(100dvh - 32px);padding:0}.account-dialog::backdrop{background:#29332166}.dialog-content{padding:24px}.dialog-content>header{justify-content:space-between;align-items:center;gap:14px;margin-bottom:24px;display:flex}.icon-close{background:0 0;border:0;border-radius:50%;place-items:center;min-width:44px;min-height:44px;display:grid}.icon-close:hover{background:#edf0e4}.appointment-detail h3{margin:14px 0;font-size:24px}.profile-fields{border:0;min-width:0;margin:0;padding:0}.profile-form-actions{justify-content:flex-end;gap:10px;margin-top:22px;display:flex}.profile-form-actions button{min-height:44px}@media (width<=800px){.customer-account-grid{flex-direction:column;gap:24px;display:flex}.customer-account-grid>*{width:100%}.account-flow{padding:14px 20px 36px}.account-subtitle{margin-bottom:24px;font-size:16px}.next-appointment{padding:20px}.appointment-title h2{font-size:24px}.appointment-overview{flex-direction:column;align-items:flex-start;gap:18px}.appointment-bottom{flex-direction:column;align-items:stretch}.appointment-actions{flex-direction:column;width:100%}.appointment-actions button,.appointment-actions a{width:100%;min-height:48px;font-size:14px}.appointment-row{grid-template-columns:54px minmax(0,1fr) 18px;gap:8px 12px;display:grid}.appointment-row .date-tile{grid-row:1/3;align-self:start;width:54px}.appointment-row .account-status{grid-column:2;justify-self:start}.row-chevron{grid-area:1/3/3}.plan-grid{grid-template-columns:1fr}.customer-profile{padding:0}.profile-toggle{text-align:left;background:0 0;border:0;align-items:center;gap:12px;width:100%;min-height:72px;padding:18px;display:flex}.profile-toggle>span{flex-direction:column;flex:1;gap:4px;display:flex}.profile-toggle>span>span{color:var(--muted);font-size:12px}.profile-toggle svg{color:var(--olive);flex-shrink:0}.customer-profile .profile-data{padding:0 20px 20px;display:none}.customer-profile.expanded .profile-data{display:block}.customer-profile.expanded .profile-toggle>svg:last-child{transform:rotate(180deg)}.profile-identity,.profile-data>h3{display:none}.dialog-content{padding:20px}.account-name{display:none}.account-trigger{min-width:64px;min-height:44px}}@media (prefers-reduced-motion:reduce){.next-appointment,.appointment-row{transition:none}.next-appointment:hover,.appointment-row:hover{transform:none}}.profile-email{overflow-wrap:anywhere;background:#edf0e4;border-radius:10px;margin-top:20px;padding:16px}.profile-email>span{color:var(--muted);font-size:12px}.profile-email p{margin:4px 0;font-size:14px}.profile-email small{color:var(--muted);font-size:12px}@media (width<=480px){.profile-form-actions{flex-direction:column-reverse}.profile-form-actions button{width:100%;min-height:48px}}.account-plans-area{grid-area:plans;min-width:0}.account-plans-area .customer-plans{margin-top:2rem}.membership-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.membership-heading label{gap:.35rem;font-size:.8rem;display:grid}.membership-heading input{font:inherit;min-height:44px;color:inherit;background:#fff;border:1px solid #dfe2d6;border-radius:10px;max-width:100%;padding:.6rem .75rem}.monthly-usage{gap:2rem;margin:1rem 0;display:flex}.monthly-usage div{align-items:baseline;gap:.5rem;display:flex}.monthly-usage dt{color:#777e6d;font-size:.85rem}.monthly-usage dd{margin:0;font-weight:650}.monthly-makeup{background:#eff1e7;border-radius:12px;gap:.4rem;padding:1rem;display:grid}.monthly-makeup span{color:#737a67;font-size:.8rem}.membership-explanation{color:#737a67;margin-top:1rem;font-size:.85rem;line-height:1.6}@media (width<=600px){.membership-heading{align-items:flex-start}.monthly-usage{flex-wrap:wrap;gap:.6rem 1.5rem}}.account-status-pending{color:#805b18;background:#fff0cf}
