:root{color-scheme:light;--paper:#f5f1e9;--panel:#fffcf6;--ink:#3b292c;--muted:#76645d;--wine:#652535;--line:#d8cfc3;--tint:#ebe4d7;--blush:#e7d9d2;--error:#a12835;--ease:cubic-bezier(.22,1,.36,1);--serif:'Cormorant Garamond',Georgia,serif;--sans:'Manrope',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.65 var(--sans);overflow-x:clip}body.drawer-open{overflow:hidden}body.has-selection{padding-bottom:100px}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.42}button{min-height:44px}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--wine);outline-offset:4px}input:focus{outline-offset:1px}button{touch-action:manipulation}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.04;letter-spacing:-.7px}em{font-weight:400;color:var(--wine)}img{display:block;max-width:100%}[hidden]{display:none!important}.icon-definitions{position:absolute;width:0;height:0;overflow:hidden}.icon{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.section-shell{max-width:1280px;margin:0 auto;padding-inline:56px}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:11px;font-weight:500;line-height:1.6}.button{display:inline-flex;justify-content:center;align-items:center;gap:24px;min-height:52px;background:var(--wine);color:var(--panel);border:1px solid var(--wine);border-radius:2px;padding:14px 25px;font-size:12px;font-weight:600;position:relative;transition:background 220ms,transform 260ms var(--ease),box-shadow 260ms;overflow:hidden}.button:hover{background:#4c1a28;transform:translateY(-2px);box-shadow:0 7px 18px #65253516}.button:active{transform:translateY(0) scale(.985)}.button .icon{transition:transform 300ms var(--ease)}.button:hover .icon{transform:translate(2px,-2px)}.button-small{min-height:46px;padding:10px 20px}.icon-button{width:46px;height:46px;display:inline-grid;place-items:center;background:transparent;border:1px solid transparent;color:var(--ink);border-radius:50%;transition:background 180ms,transform 180ms}.icon-button:hover{background:var(--tint)}.icon-button:active{transform:scale(.93)}.underlined-link{display:inline-flex;align-items:center;gap:14px;min-height:44px;border-bottom:1px solid var(--line);font-size:12px;padding:6px 0;transition:border-color 200ms,color 200ms}.underlined-link:hover{border-color:var(--wine);color:var(--wine)}.skip-link{position:fixed;left:15px;top:-90px;z-index:20;background:var(--wine);color:var(--panel);padding:12px 20px}.skip-link:focus{top:12px}.demo-banner{background:var(--tint);color:var(--muted);font-size:10px;letter-spacing:.4px;padding:8px 16px;text-align:center}.demo-banner span{margin-left:8px}.site-header{position:sticky;top:0;z-index:5;background:#f5f1e9f2;backdrop-filter:blur(16px);transition:box-shadow 200ms}.site-header.scrolled{box-shadow:0 2px 18px #3520290a}.header-inner{max-width:1280px;margin:auto;padding:24px 56px 19px;display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:19px}.wordmark{font-family:var(--serif);font-size:42px;letter-spacing:5px;line-height:1}.brand-sub{font-size:9px;text-transform:uppercase;letter-spacing:1.8px;line-height:1.8;border-left:1px solid var(--line);padding-left:17px}.desktop-nav{display:flex;align-items:center;gap:25px;margin-left:auto}.desktop-nav a,.nav-link{font-size:12px;position:relative;min-height:44px;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.desktop-nav a:after{content:'';position:absolute;bottom:6px;left:0;right:0;height:1px;background:var(--wine);transform:scaleX(0);transform-origin:left;transition:transform 260ms var(--ease)}.desktop-nav a:hover:after{transform:scaleX(1)}.nav-link{border:0;padding:0;background:none;color:var(--ink)}.visit-count{background:var(--wine);color:var(--panel);min-width:18px;height:18px;border-radius:50%;font-size:9px;display:grid;place-items:center}.header-actions{display:flex;align-items:center;gap:8px}.mobile-menu-toggle,.mobile-nav{display:none}
.hero{position:relative;display:grid;grid-template-columns:1.03fr 1fr;gap:40px;align-items:center;padding-block:55px 48px}.hero-copy{position:relative;z-index:1;padding:8px 0}.hero-eyebrow{display:flex;align-items:center;gap:13px;color:var(--wine);margin-bottom:28px}.hero-eyebrow>span{height:1px;width:32px;background:var(--wine)}h1{font-size:clamp(84px,8.3vw,126px);line-height:.9;letter-spacing:-3.5px;margin-right:-95px;margin-bottom:27px}.headline-line{display:block}h1 em{padding-left:36px}.hero-description{font-size:13px;color:var(--muted);line-height:1.9;margin-bottom:30px}.hero-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.hero-signature{display:flex;align-items:center;gap:14px;color:var(--muted);font-size:11px;letter-spacing:.3px;margin-top:38px}.signature{font-family:var(--serif);font-size:35px;font-style:italic;line-height:1;color:var(--wine)}.portrait-composition{position:relative;min-width:0;padding:0 8px 12px 0}.portrait-frame{height:550px;overflow:hidden;border-radius:46% 46% 2px 2px;background:var(--blush)}.hero-photo{width:100%;height:100%;object-fit:cover;object-position:50% 44%;transition:transform 800ms var(--ease);will-change:transform}.portrait-frame:hover .hero-photo{transform:scale(1.035)}.portrait-note{position:absolute;bottom:59px;left:-35px;background:var(--panel);padding:22px 26px;display:flex;align-items:center;gap:20px;box-shadow:0 10px 40px #34202712;border:1px solid var(--line)}.portrait-note .eyebrow{font-size:9px;letter-spacing:1.6px;color:var(--muted)}.portrait-note p{font-family:var(--serif);font-size:31px;line-height:1.05;margin-top:5px}.seal{width:45px;height:45px;display:grid;place-items:center;border:1px solid var(--wine);border-radius:50%;font-size:29px}.photo-caption{display:flex;justify-content:space-between;gap:12px;padding-top:12px;font-size:9px;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted)}.hero-side-label{position:absolute;right:15px;writing-mode:vertical-rl;font-size:9px;letter-spacing:2px;color:var(--muted);top:48%}.brand-ribbon{background:var(--wine);color:var(--panel);display:flex;justify-content:center;gap:9vw;align-items:center;padding:19px 20px;text-transform:uppercase;font-size:10px;letter-spacing:2.3px}.ribbon-dot{font-size:20px;opacity:.6}.signature-rituals{padding-block:45px 54px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:32px}.section-heading h2{font-size:47px}.section-heading .eyebrow{color:var(--muted);margin-bottom:10px}.section-heading>p{font-size:12px;color:var(--muted);line-height:1.9}.ritual-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.ritual-tile{text-align:left;border:0;border-top:1px solid var(--line);color:var(--ink);background:transparent;padding:20px 0 0;transition:transform 260ms var(--ease)}.ritual-tile:hover{transform:translateY(-5px)}.ritual-top{display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:1.5px;color:var(--muted);margin-bottom:20px}.ritual-top .icon{transition:transform 220ms}.ritual-tile:hover .icon{transform:translate(3px,-3px)}.ritual-title{display:block;font-family:var(--serif);font-size:40px;line-height:1;margin-bottom:12px}.ritual-description{display:block;font-size:12px;line-height:1.8;color:var(--muted);margin-bottom:19px}.ritual-price{font-size:10px;letter-spacing:1px;color:var(--wine)}.approach{background:var(--tint);overflow:hidden}.approach-inner{padding-block:49px;display:grid;grid-template-columns:1fr 1fr;gap:70px;position:relative;align-items:center}.approach .eyebrow{color:var(--muted);margin-bottom:15px}.approach h2{font-size:52px}.approach-copy{position:relative;z-index:1;max-width:390px;font-size:13px;color:var(--muted)}.approach-copy p{margin-bottom:14px;line-height:1.9}.approach-monogram{position:absolute;right:35px;bottom:-44px;font:italic 230px/.9 var(--serif);color:#6525350b;pointer-events:none}.full-menu{padding-block:66px 55px;scroll-margin-top:110px}.full-menu .section-heading h2{font-size:57px}.menu-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:28px}.category-tabs{display:flex;gap:9px;flex-wrap:wrap}.category-tabs button{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:2px;background:transparent;color:var(--ink);padding:10px 17px;font-size:12px;transition:background 180ms,color 180ms}.category-tabs button[aria-pressed=true]{background:var(--wine);border-color:var(--wine);color:var(--panel)}.category-tabs span{font-size:10px;opacity:.7}.selection-label{font-size:11px;color:var(--muted)}.menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.service-card{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:2px;padding:23px;min-height:231px;transition:border-color 200ms,box-shadow 200ms,transform 260ms var(--ease)}.service-card:hover{border-color:#a78d80;transform:translateY(-3px);box-shadow:0 10px 20px #35202906}.service-card.selected{border-color:var(--wine);background:#f5eae7}.service-card h3{font-size:28px;line-height:1.06;margin-bottom:12px}.service-card>p{font-size:11px;line-height:1.8;color:var(--muted);margin-bottom:16px;flex:1}.card-meta{font-size:10px;letter-spacing:.2px;color:var(--muted);display:flex;gap:8px;flex-wrap:wrap;margin-bottom:15px}.card-bottom{display:flex;justify-content:space-between;gap:14px;align-items:center}.price{font-size:13px;font-weight:600;color:var(--wine)}.price small{display:block;font-size:10px;font-weight:400;color:var(--muted)}.add-service{border:1px solid var(--line);background:transparent;color:var(--ink);min-height:42px;padding:8px 12px;display:inline-flex;align-items:center;gap:6px;border-radius:2px;font-size:11px;transition:background 150ms,border-color 150ms}.add-service:hover,.add-service[aria-pressed=true]{background:var(--wine);color:var(--panel);border-color:var(--wine)}.add-service .icon{width:15px;height:15px}.menu-note{font-size:10px;line-height:1.9;color:var(--muted);margin-top:23px;max-width:710px}.faq{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;padding-block:0 64px}.faq h2{font-size:46px;margin-top:13px}.faq .eyebrow{color:var(--muted)}details{border-bottom:1px solid var(--line)}summary{padding:18px 30px 18px 0;cursor:pointer;font-size:12px;position:relative;list-style:none}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:0;top:14px;font-size:23px;font-family:var(--serif);color:var(--wine)}details[open] summary:after{content:'−'}details p{font-size:11px;color:var(--muted);line-height:1.9;padding-bottom:17px;max-width:560px}.closing-cta{text-align:center;background:var(--wine);color:var(--panel);padding-block:52px 60px}.closing-cta h2{font-size:64px;margin:14px 0 25px}.closing-cta em{color:#e4c9b5}.closing-cta .eyebrow{font-size:10px;color:#e5c9c1}.button-light{background:var(--panel);color:var(--wine);border-color:var(--panel)}.button-light:hover{background:var(--tint)}.site-footer{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-block:36px;color:var(--muted);font-size:11px}.site-footer .wordmark{color:var(--ink);font-size:34px}.site-footer>div a{display:inline-block;padding-top:4px}.footer-note{text-align:right;font-size:10px}.selection-bar{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);width:min(600px,calc(100% - 32px));z-index:7;background:var(--panel);border:1px solid var(--line);box-shadow:0 10px 45px #39252b20;padding:13px 15px 13px 21px;display:flex;justify-content:space-between;align-items:center;gap:20px;border-radius:3px}.selection-bar>div{display:flex;flex-direction:column;font-size:11px;color:var(--muted)}.bar-total{font-size:16px;color:var(--wine);font-weight:600}.selection-bar .button{min-height:45px;padding:10px 17px;font-size:11px}
dialog{width:min(650px,100%);height:100dvh;max-height:100dvh;max-width:100%;padding:0;border:0;border-left:1px solid var(--line);margin:0 0 0 auto;background:var(--paper);color:var(--ink);box-shadow:-20px 0 70px #28161d15;overflow:auto;overscroll-behavior:contain}dialog::backdrop{background:#28151d65;backdrop-filter:blur(5px)}.drawer-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:29px 32px 21px;border-bottom:1px solid var(--line)}.drawer-header .eyebrow{font-size:9px;color:var(--muted);margin-bottom:9px}.drawer-header h2{font-size:36px;line-height:1}.drawer-header>.icon-button{margin-top:4px}.stepper{padding:19px 32px 0;display:flex;gap:12px}.stepper button{display:flex;align-items:center;gap:8px;border:0;padding:0;background:none;color:var(--muted);font-size:10px;flex:1;border-bottom:1px solid var(--line);padding-bottom:12px;letter-spacing:.4px}.stepper button.active{color:var(--wine);border-color:var(--wine)}.stepper .step-number{width:21px;height:21px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:9px}.stepper .active .step-number{background:var(--wine);color:var(--panel);border-color:var(--wine)}.drawer-body{padding:25px 32px 20px;min-height:330px}.drawer-body h3{font-size:34px;margin-bottom:12px}.drawer-intro{font-size:12px;line-height:1.8;color:var(--muted);margin-bottom:23px}.drawer-categories{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:19px}.drawer-categories button{border:1px solid var(--line);background:transparent;color:var(--ink);padding:9px 13px;border-radius:2px;font-size:11px}.drawer-categories button[aria-pressed=true]{background:var(--wine);color:var(--panel);border-color:var(--wine)}.drawer-services{display:flex;flex-direction:column}.drawer-service{display:flex;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding:13px 0}.drawer-service>button{border:0;background:none;color:var(--ink);display:flex;align-items:center;gap:13px;padding:0;width:100%;text-align:left;min-height:50px}.select-circle{display:grid;place-items:center;width:22px;height:22px;border:1px solid #ae9687;border-radius:50%;flex-shrink:0}.select-circle .icon{width:15px;height:15px;opacity:0}.drawer-service [aria-pressed=true] .select-circle{background:var(--wine);color:var(--panel);border-color:var(--wine)}.drawer-service [aria-pressed=true] .select-circle .icon{opacity:1}.drawer-service .service-name{font-size:13px;line-height:1.5;display:block}.drawer-service .service-detail{font-size:10px;color:var(--muted);display:block;margin-top:3px}.drawer-service .drawer-price{margin-left:auto;white-space:nowrap;color:var(--wine);font-size:12px}.quantity-control{display:flex;align-items:center;gap:7px;font-size:10px;margin:10px 0 0 35px;color:var(--muted)}.quantity-control input{width:70px;padding:8px;font-size:16px}.repair-row{flex-wrap:wrap}.selected-summary{padding:15px 17px;background:var(--tint);margin-top:19px;display:flex;justify-content:space-between;gap:18px;font-size:12px}.selected-summary strong{color:var(--wine);font-weight:500}.field-label{display:block;font-size:11px;color:var(--muted);margin-bottom:7px}.field{margin-bottom:16px}.field input{width:100%;min-height:49px;background:var(--panel);border:1px solid #b7a69a;border-radius:2px;color:var(--ink);padding:12px 13px;font-size:16px}.field input[aria-invalid=true]{border-color:var(--error)}.field-error,.form-error{color:var(--error);font-size:11px;line-height:1.8;margin-top:5px}.form-error{padding:10px 12px;background:#a1283508;margin-bottom:12px}.input-hint{font-size:10px;color:var(--muted);margin-top:5px}.day-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:18px}.day-strip button{background:var(--panel);border:1px solid var(--line);color:var(--ink);border-radius:2px;padding:10px 0}.day-strip small{display:block;color:var(--muted);font-size:10px;margin-bottom:3px}.day-strip strong{font-weight:500;font-size:18px}.day-strip [aria-pressed=true]{background:var(--wine);color:var(--panel);border-color:var(--wine)}.day-strip [aria-pressed=true] small{color:#ebd6d0}.slot-label{display:flex;justify-content:space-between;gap:12px;margin-bottom:10px;font-size:11px;color:var(--muted)}.slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:15px}.time-slot{min-height:44px;background:transparent;border:1px solid var(--line);color:var(--ink);border-radius:2px;font-size:12px;transition:background 150ms,border-color 150ms}.time-slot[aria-pressed=true]{border-color:var(--wine);background:var(--tint);box-shadow:inset 0 -2px var(--wine)}.time-slot:disabled{text-decoration:line-through;opacity:.32;background:var(--tint)}.availability-note{font-size:10px;color:var(--muted);line-height:1.8}.review-summary{border:1px solid var(--line);padding:19px;background:var(--panel);margin-bottom:23px}.review-summary h4{font-size:12px;margin:0 0 9px;font-weight:500}.review-summary .appointment-detail{font-size:11px;color:var(--muted);margin:0 0 16px}.review-summary ul{list-style:none;padding:0;margin:0 0 16px}.review-summary li{font-size:11px;line-height:1.8;margin-bottom:5px}.review-money{padding-top:13px;border-top:1px solid var(--line)}.review-row{display:flex;justify-content:space-between;gap:20px;font-size:12px;margin-bottom:8px}.deposit-row{background:var(--tint);margin-top:12px;padding:13px 15px;display:flex;justify-content:space-between;align-items:center;gap:20px}.deposit-row small{display:block;font-size:10px;color:var(--muted)}.deposit-row strong{font:30px/1.1 var(--serif);color:var(--wine)}.payment-choice{display:flex;gap:8px;margin-bottom:16px}.payment-choice button{flex:1;min-height:44px;border:1px solid var(--line);background:transparent;color:var(--ink);font-size:11px;border-radius:2px}.payment-choice button[aria-pressed=true]{border-color:var(--wine);background:var(--tint)}.consent{display:flex;gap:10px;align-items:flex-start;font-size:11px;color:var(--muted);line-height:1.8;padding:8px 0}.consent input{margin:4px 0 0;width:16px;height:16px;accent-color:var(--wine);flex-shrink:0}.policy-note{font-size:10px;color:var(--muted);margin-top:12px}.drawer-footer{position:sticky;bottom:0;background:var(--paper);border-top:1px solid var(--line);padding:18px 32px 15px;display:flex;gap:14px;flex-wrap:wrap;z-index:2;padding-bottom:max(15px,env(safe-area-inset-bottom))}.drawer-footer .button{flex:1;justify-content:space-between}.drawer-footer>p{width:100%;text-align:center;font-size:9px;color:var(--muted)}.back-button{border:0;padding:0 13px 0 0;background:none;color:var(--muted);font-size:11px;min-height:50px}.toast{position:fixed;left:50%;bottom:105px;transform:translateX(-50%);max-width:min(520px,calc(100% - 32px));padding:13px 21px;background:var(--ink);color:var(--panel);font-size:12px;line-height:1.6;z-index:15;box-shadow:0 6px 30px #30202522;border-radius:3px}.confirmation{text-align:center;padding:12px 0 20px}.confirmation-mark{width:69px;height:69px;display:grid;place-items:center;border:1px solid var(--wine);border-radius:50%;margin:5px auto 22px;color:var(--wine)}.confirmation-mark .icon{width:27px;height:27px}.confirmation h3{font-size:49px;line-height:1;margin-bottom:18px}.confirmation>p{font-size:12px;color:var(--muted);margin-bottom:14px}.confirmation .reference{font-size:10px;letter-spacing:1px}.confirmation .review-summary{text-align:left;margin-top:25px}.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:transparent;color:var(--wine);border:1px solid var(--line);min-height:44px;padding:10px 16px;font-size:11px;border-radius:2px}.secondary-button:hover{border-color:var(--wine);background:var(--tint)}.visit-card{border:1px solid var(--line);padding:21px;margin-bottom:15px;background:var(--panel)}.visit-card h3{font-size:27px;margin:10px 0}.visit-card .visit-meta{font-size:11px;line-height:1.9;color:var(--muted);margin-bottom:12px}.visit-status{font-size:9px;text-transform:uppercase;letter-spacing:1px;color:var(--wine);display:flex;justify-content:space-between;gap:12px}.visit-card.cancelled{opacity:.65}.visit-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}.cancel-prompt{margin-top:14px;padding:13px;background:var(--tint);font-size:11px}.empty-state{text-align:center;padding:40px 0}.empty-state .signature{font-size:60px;margin-bottom:20px;display:block}.empty-state h3{font-size:38px}.empty-state p{font-size:12px;color:var(--muted);margin:13px 0 20px}.spinner{width:16px;height:16px;border:1.5px solid #ffffff66;border-top-color:currentColor;border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}.noscript-notice{padding:18px;background:var(--wine);color:var(--panel);text-align:center}@keyframes spin{to{transform:rotate(360deg)}}
.drawer-header{position:sticky;top:0;z-index:3;background:var(--paper)}
.field input{scroll-margin-block:130px}
dialog>.toast{left:auto;right:20px;bottom:112px;transform:none;width:min(580px,calc(100% - 40px));max-width:calc(100% - 40px)}
@media(min-width:1500px){.hero{padding-block:64px}.portrait-frame{height:610px}.hero-description{font-size:14px}}
@media(max-width:1100px){.section-shell{padding-inline:36px}.header-inner{padding-inline:36px;gap:20px}.desktop-nav{gap:18px}.brand-sub{display:none}.hero{gap:28px;padding-block:42px 38px}.portrait-frame{height:475px}h1{font-size:100px}.hero-side-label{right:10px}.brand-ribbon{gap:7vw}.ritual-title{font-size:34px}.service-card{padding:19px}.service-card h3{font-size:25px}.approach-inner{gap:40px}}
@media(max-width:850px){.desktop-nav{display:none}.header-inner{padding-block:19px 15px}.mobile-menu-toggle{display:inline-grid}.mobile-nav:not([hidden]){display:flex;gap:20px;flex-wrap:wrap;padding:14px 36px 17px;border-bottom:1px solid var(--line)}.mobile-nav>a,.mobile-nav>button{min-height:44px;display:inline-flex;align-items:center;border:0;background:none;color:var(--ink);padding:0;font-size:12px}.hero{gap:23px}h1{font-size:80px;letter-spacing:-2px;margin-right:-55px}.portrait-frame{height:425px}.portrait-note{left:-22px;padding:16px 18px;gap:13px}.portrait-note p{font-size:26px}.portrait-note .eyebrow{font-size:8px}.hero-actions{gap:15px}.hero-actions>.button{padding:13px 18px;gap:14px}.hero-description{font-size:12px}.hero-signature{margin-top:27px;font-size:10px}.photo-caption{font-size:8px;letter-spacing:1px}.section-heading h2{font-size:42px}.ritual-grid{gap:22px}.ritual-title{font-size:31px}.ritual-description{font-size:11px}.ritual-price{font-size:9px}.approach h2{font-size:44px}.approach-copy{font-size:12px}.menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.faq{grid-template-columns:1fr 1.2fr;gap:30px}.category-tabs button{padding:9px 13px}.menu-toolbar .selection-label{display:none}}
@media(max-width:620px){html{scroll-padding-top:90px}.section-shell{padding-inline:22px}.demo-banner{padding:7px 15px;font-size:9px}.demo-banner>span{display:block;margin:0}.header-inner{padding:17px 22px 14px;gap:15px}.wordmark{font-size:32px;letter-spacing:3px}.button-small{padding:9px 14px;font-size:11px;gap:12px}.header-actions{gap:2px}.mobile-nav:not([hidden]){padding-inline:22px;gap:23px}.hero{display:flex;flex-direction:column;align-items:stretch;padding-block:29px 30px;gap:28px}.hero-copy{padding:0}.hero-eyebrow{font-size:10px;margin-bottom:24px}h1{font-size:clamp(71px,18vw,99px);letter-spacing:-2px;margin:0 0 23px;line-height:.92}h1 em{padding-left:28px}.hero-description{font-size:13px;margin-bottom:23px}.hero-actions{gap:23px}.hero-actions>.button{min-height:49px;padding:13px 21px}.hero-signature,.hero-side-label{display:none}.portrait-composition{padding:0 0 10px}.portrait-frame{height:390px;border-radius:46% 46% 2px 2px}.hero-photo{object-position:50% 38%}.portrait-note{left:12px;bottom:50px;padding:16px 20px;gap:17px}.portrait-note p{font-size:29px}.portrait-note .eyebrow{font-size:8px}.photo-caption{font-size:8px;padding-top:12px}.brand-ribbon{gap:13px;padding:16px 12px;justify-content:space-between;font-size:8px;letter-spacing:1px}.ribbon-dot{display:none}.signature-rituals{padding-block:34px 35px}.section-heading{margin-bottom:22px;gap:10px}.section-heading>p{display:none}.section-heading h2{font-size:42px}.section-heading .eyebrow{font-size:9px}.ritual-grid{display:block}.ritual-tile{width:100%;display:grid;grid-template-columns:1fr auto;gap:0 20px;padding:17px 0 21px}.ritual-top{grid-column:1/-1;margin-bottom:12px;font-size:9px}.ritual-title{grid-column:1/-1;font-size:36px;margin-bottom:10px}.ritual-description{grid-column:1;font-size:11px;margin-bottom:0}.ritual-price{grid-column:2;grid-row:3;align-self:end;font-size:8px;max-width:116px;text-align:right}.approach-inner{display:block;padding-block:33px}.approach h2{font-size:46px;margin-bottom:21px}.approach-copy{max-width:310px;font-size:12px}.approach-monogram{font-size:185px;right:12px;bottom:-18px}.full-menu{padding-block:39px 36px}.full-menu .section-heading h2{font-size:49px}.menu-toolbar{padding-bottom:18px;margin-bottom:20px}.category-tabs{gap:6px}.category-tabs button{font-size:10px;padding:9px 11px;gap:5px}.category-tabs span{font-size:8px}.menu-grid{grid-template-columns:1fr;gap:12px}.service-card{min-height:0;padding:22px}.service-card h3{font-size:30px}.service-card>p{font-size:12px;margin-bottom:13px}.card-meta{font-size:10px;margin-bottom:13px}.price{font-size:14px}.add-service{min-height:44px;padding-inline:14px;font-size:11px}.menu-note{font-size:10px}.faq{display:block;padding-bottom:38px}.faq h2{font-size:43px;margin-bottom:16px}.faq .eyebrow{font-size:9px}.faq summary{font-size:12px;padding-block:18px}.faq details p{font-size:11px}.closing-cta{padding-block:39px 45px}.closing-cta h2{font-size:52px}.site-footer{flex-wrap:wrap;padding-block:27px;gap:20px;font-size:10px}.site-footer .wordmark{font-size:33px}.site-footer .footer-note{width:100%;text-align:left;font-size:9px}.selection-bar{bottom:max(12px,env(safe-area-inset-bottom));padding:11px 12px 11px 17px;width:calc(100% - 24px);gap:10px}.selection-bar .button{padding:10px 12px;font-size:10px;gap:12px}.bar-total{font-size:14px}.bar-count{font-size:9px}.drawer-header{padding:24px 22px 19px;gap:10px}.drawer-header h2{font-size:31px}.drawer-header>.icon-button{margin-top:0}.stepper{padding:16px 22px 0;gap:8px}.stepper button{font-size:9px;gap:5px}.stepper .step-number{width:19px;height:19px;font-size:8px}.drawer-body{padding:22px}.drawer-body h3{font-size:33px}.drawer-intro{font-size:11px}.drawer-categories button{padding:9px 11px;font-size:10px}.drawer-service .service-name{font-size:12px}.drawer-service .drawer-price{font-size:11px}.drawer-service .service-detail{font-size:9px}.drawer-service>button{gap:11px}.day-strip{gap:6px}.day-strip button{padding:9px 0}.slots{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.time-slot{font-size:11px}.drawer-footer{padding:16px 22px max(16px,env(safe-area-inset-bottom));gap:9px}.drawer-footer .button{font-size:11px;padding:13px 16px;gap:10px}.back-button{font-size:10px;padding-right:9px}.drawer-footer>p{font-size:8px}.toast{font-size:11px;bottom:93px}.confirmation h3{font-size:45px}.review-summary{padding:16px}.visit-card{padding:18px}}
@media(max-width:360px){.section-shell{padding-inline:18px}.header-inner{padding-inline:18px}.header-actions>.button-small{gap:8px;padding-inline:10px}.wordmark{font-size:28px}.hero-actions{gap:15px}.hero-actions .button{padding-inline:16px}.brand-ribbon{font-size:7px;letter-spacing:.8px;gap:8px}.portrait-frame{height:345px}.drawer-header{padding-inline:18px}.drawer-body,.stepper{padding-inline:18px}.drawer-footer{padding-inline:18px}.category-tabs button{padding-inline:9px}.drawer-service .drawer-price{font-size:10px}.slots{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.hero-photo{will-change:auto}.button:hover,.ritual-tile:hover,.service-card:hover{transform:none}}

/* Service menu: clear groups, readable names and consistent price/action columns. */
.full-menu .menu-toolbar{padding:10px;background:var(--tint);border:0;border-radius:8px;margin-bottom:38px;gap:16px}
.full-menu .category-tabs{gap:5px}
.full-menu .category-tabs button{border:0;border-radius:5px;font-size:14px;font-weight:600;padding:13px 22px;min-height:50px}
.full-menu .category-tabs button:not([aria-pressed=true]):hover{background:var(--panel)}
.full-menu .category-tabs span{display:grid;place-items:center;border-radius:50%;background:#ffffff66;min-width:23px;height:23px;font-size:11px;color:var(--ink)}
.full-menu .category-tabs [aria-pressed=true] span{background:#ffffff20;color:var(--panel)}
.full-menu .selection-label{font-size:12px;padding-right:14px;color:var(--ink)}
.full-menu .menu-grid{display:block}
.menu-group+.menu-group{margin-top:38px}
.menu-group-heading{display:flex;align-items:center;gap:16px;margin-bottom:18px}
.menu-group-number{font:italic 28px/1 var(--serif);color:var(--wine);border-right:1px solid var(--line);padding-right:16px}
.menu-group-heading h3{font-size:32px;line-height:1.1;letter-spacing:-.4px}
.menu-group-heading p{font-size:13px;color:var(--muted);margin-top:5px}
.menu-group-count{margin-left:auto;font-size:11px;color:var(--muted);white-space:nowrap;letter-spacing:.5px}
.menu-group-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.full-menu .service-card{min-width:0;min-height:0;border-radius:7px;padding:24px 26px;background:var(--panel);box-shadow:0 3px 12px #35202903}
.full-menu .service-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #35202908}
.full-menu .service-card.selected{background:#f4e9e5;border-color:var(--wine);box-shadow:inset 3px 0 var(--wine)}
.service-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:10px}
.service-card-heading h4{font:600 17px/1.55 var(--sans);margin:0;max-width:340px;overflow-wrap:break-word}
.card-duration{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--muted);white-space:nowrap;padding-top:5px}
.card-duration .icon{width:14px;height:14px}
.full-menu .service-card>p{font-size:14px;line-height:1.7;max-width:390px;margin-bottom:20px}
.full-menu .card-bottom{border-top:1px solid var(--line);padding-top:16px;gap:16px;margin-top:auto;align-items:center}
.full-menu .price{display:flex;flex-direction:column;font-weight:400}
.price-value{font:600 29px/1.15 var(--serif);letter-spacing:-.3px;white-space:nowrap}
.full-menu .price small{font:11px/1.5 var(--sans);color:var(--muted);letter-spacing:.2px}
.full-menu .add-service{min-height:45px;padding:10px 15px;gap:8px;border-radius:4px;font-size:12px;font-weight:600;border-color:#a78c82;flex-shrink:0}
.full-menu .add-service:active{background:var(--tint)}
.full-menu .add-service[aria-pressed=true]:active{background:#4c1a28}
.full-menu .service-card>.card-quote-note{font-size:11px;line-height:1.5;margin:12px 0 0;flex:0;color:var(--wine)}
.full-menu .menu-note{font-size:12px;max-width:850px;margin-top:28px}
.drawer-categories{padding:5px;background:var(--tint);border-radius:6px;gap:3px}
.drawer-categories button{flex:1;border:0;font-size:12px;border-radius:4px;padding:10px 8px;white-space:nowrap}
.drawer-menu-group{margin-bottom:22px}
.drawer-menu-group h4{font:500 12px/1.5 var(--sans);text-transform:uppercase;letter-spacing:1.3px;color:var(--muted);margin:0 0 10px}
.drawer-service{border:1px solid var(--line);border-radius:5px;background:var(--panel);padding:14px;margin-bottom:8px;transition:background 180ms,border-color 180ms}
.drawer-service:hover{border-color:#a78c82}
.drawer-service:has([aria-pressed=true]){background:#f4e9e5;border-color:var(--wine)}
.drawer-service>button>span:nth-child(2){flex:1;min-width:0}
.drawer-service .service-name{font-size:14px;font-weight:600;line-height:1.55}
.drawer-service .service-detail{font-size:11px;line-height:1.6;margin-top:5px}
.drawer-service .drawer-price{font:600 21px/1.3 var(--serif);white-space:normal;text-align:right;max-width:100px;flex-shrink:0}
.drawer-service .select-circle{width:25px;height:25px;border-color:#98796c}
.ritual-description{font-size:14px;line-height:1.8}
.ritual-price{font-size:11px;line-height:1.6}
@media(max-width:850px){.full-menu .selection-label{display:none}.full-menu .category-tabs{width:100%}.full-menu .category-tabs button{flex:1;justify-content:center;padding:12px 14px}.service-card-heading{display:block}.card-duration{margin-top:5px}.menu-group-heading p{font-size:13px}}
@media(max-width:620px){.full-menu .menu-toolbar{padding:6px;margin-bottom:28px;border-radius:6px}.full-menu .category-tabs{gap:2px;flex-wrap:nowrap}.full-menu .category-tabs button{font-size:12px;gap:5px;padding:11px 7px;min-height:47px}.full-menu .category-tabs span{font-size:10px;min-width:20px;height:20px}.menu-group-grid{grid-template-columns:1fr;gap:12px}.menu-group-heading{gap:11px;margin-bottom:15px;align-items:flex-start}.menu-group-heading h3{font-size:29px}.menu-group-number{font-size:24px;padding-right:11px;margin-top:4px}.menu-group-heading p{font-size:13px;line-height:1.6}.menu-group-count{display:none}.menu-group+.menu-group{margin-top:30px}.full-menu .service-card{padding:22px}.service-card-heading{display:flex;gap:12px}.service-card-heading h4{font-size:16px}.card-duration{margin-top:0;font-size:10px}.full-menu .service-card>p{font-size:16px;line-height:1.65;margin-bottom:18px}.full-menu .add-service{font-size:12px;padding:10px 12px}.price-value{font-size:28px}.full-menu .menu-note{font-size:12px;line-height:1.8}.drawer-service{padding:12px}.drawer-service .service-name{font-size:14px}.drawer-service .service-detail{font-size:11px}.drawer-service .drawer-price{font-size:20px;max-width:86px}.drawer-categories button{font-size:11px;padding-inline:5px}.ritual-description{font-size:14px}.ritual-price{font-size:10px;max-width:120px}}
@media(max-width:360px){.service-card-heading{display:block}.card-duration{margin-top:4px}.full-menu .category-tabs button{font-size:11px;padding-inline:6px}.full-menu .category-tabs span{min-width:17px;height:17px}.full-menu .service-card{padding:19px}.full-menu .add-service{font-size:11px;padding-inline:10px}.drawer-service .drawer-price{font-size:19px;max-width:76px}}
@media(prefers-reduced-motion:reduce){.full-menu .service-card:hover{transform:none}}
