:root{--stone:#f8f5f0;--stone-2:#f0ebe2;--surface:#fffdfa;--ink:#2b2a25;--ink-soft:#55534a;--muted:#8a877c;--line:#e6dfd3;--line-firm:#cec5b4;--sage:#74886b;--sage-deep:#566b4f;--sage-wash:#e9efe6;--gold:#ab8944;--gold-deep:#8a6d2f;--gold-wash:#f6efdf;--clay:#a8604f;--shadow-sm:0 1px 2px #2b2a250d, 0 4px 12px -8px #2b2a2547;--shadow-md:0 2px 4px #2b2a250d, 0 16px 34px -22px #2b2a2573;--shadow-lg:0 4px 10px #2b2a250f, 0 30px 60px -34px #2b2a2580;--f-display:"Cormorant Garamond", Georgia, "Times New Roman", serif;--f-body:"Jost", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--shell:1120px;--pad:clamp(18px, 4vw, 32px);--r:4px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--stone);color:var(--ink);font-family:var(--f-body);-webkit-font-smoothing:antialiased;margin:0;font-size:17px;line-height:1.65}img{max-width:100%;display:block}h1,h2,h3,h4{font-family:var(--f-display);letter-spacing:-.005em;text-wrap:balance;margin:0;font-weight:500;line-height:1.08}p{margin:0}a{color:var(--sage-deep);text-underline-offset:3px}:where(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--gold);outline-offset:3px}.shell{max-width:var(--shell);padding-inline:var(--pad);margin:0 auto}.eyebrow{letter-spacing:.24em;text-transform:uppercase;color:var(--gold-deep);margin:0 0 14px;font-size:12px;font-weight:500}.section{padding-block:clamp(56px,8vw,100px)}.section-head{max-width:58ch;margin-bottom:clamp(28px,4vw,46px)}.section-head h2{margin-bottom:14px;font-size:clamp(34px,5.4vw,56px)}.section-head p{color:var(--ink-soft);font-size:18.5px}.center{text-align:center;margin-inline:auto}.btn{font-family:var(--f-body);letter-spacing:.13em;text-transform:uppercase;border-radius:var(--r);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:9px;padding:15px 28px;font-size:14px;font-weight:500;text-decoration:none;transition:background-color .18s,border-color .18s,color .18s;display:inline-flex}.btn-primary{background:var(--sage-deep);color:#fff;border-color:var(--sage-deep)}.btn-primary:hover{background:var(--ink);border-color:var(--ink)}.btn-gold{background:var(--gold-deep);color:#fff;border-color:var(--gold-deep)}.btn-gold:hover{background:#6f571f;border-color:#6f571f}.btn-ghost{color:var(--ink);border-color:var(--line-firm);background:0 0}.btn-ghost:hover{border-color:var(--sage-deep);color:var(--sage-deep)}.btn-lg{padding:17px 34px;font-size:15px}.btn-block{width:100%}.btn:disabled{opacity:.55;cursor:not-allowed}.hdr{z-index:60;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);background:#f8f5f0f2;position:sticky;top:0}.hdr-in{align-items:center;gap:20px;min-height:78px;display:flex}.brand{color:var(--ink);margin-right:auto;text-decoration:none}.brand b{font-family:var(--f-display);letter-spacing:.01em;font-size:25px;font-weight:600;line-height:1;display:block}.brand span{letter-spacing:.3em;text-transform:uppercase;color:var(--muted);margin-top:3px;font-size:10px;display:block}.nav{gap:28px;display:flex}.nav a{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);font-size:13px;text-decoration:none}.nav a:hover{color:var(--gold-deep)}@media (width<=940px){.nav,.hdr .btn{display:none}}.status{letter-spacing:.14em;text-transform:uppercase;border:1px solid;border-radius:999px;align-items:center;gap:9px;padding:7px 16px 7px 13px;font-size:12px;font-weight:500;display:inline-flex}.status.open{color:var(--sage-deep);background:var(--sage-wash);border-color:#c4d3bd}.status.shut{color:var(--gold-deep);background:var(--gold-wash);border-color:#e4d3ab}.status i{background:currentColor;border-radius:50%;flex:none;width:7px;height:7px}.hero{background:radial-gradient(880px 420px at 84% 0%, var(--sage-wash) 0%, transparent 60%), radial-gradient(700px 400px at 5% 15%, var(--gold-wash) 0%, transparent 58%), var(--stone);text-align:center}.hero-in{max-width:780px;margin-inline:auto;padding-block:clamp(48px,8vw,96px)}.hero h1{margin:20px 0;font-size:clamp(44px,8vw,88px);line-height:.98}.hero h1 em{color:var(--gold-deep);font-style:italic}.hero-lede{color:var(--ink-soft);max-width:52ch;margin:0 auto 30px;font-size:clamp(18px,2.2vw,21px)}.hero-cta{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.rule-orn{max-width:320px;color:var(--gold);justify-content:center;align-items:center;gap:14px;margin:34px auto 0;display:flex}.rule-orn:before,.rule-orn:after{content:"";background:var(--line-firm);flex:1;height:1px}.planner{background:var(--surface);border:1px solid var(--line-firm);border-radius:var(--r);box-shadow:var(--shadow-md);position:sticky;top:100px;overflow:hidden}@media (width<=900px){.planner{position:static}}.planner-head{border-bottom:1px solid var(--line);padding:20px 22px 16px}.planner-head h3{margin-bottom:3px;font-size:26px}.planner-head p{color:var(--muted);font-size:14.5px}.planner-body{padding:18px 22px}.planner-empty{color:var(--muted);padding:8px 0 14px;font-size:15.5px;font-style:italic}.planner-list{margin:0;padding:0;list-style:none}.planner-list li{border-bottom:1px dotted var(--line-firm);align-items:baseline;gap:12px;padding:9px 0;font-size:15.5px;display:flex}.planner-list li:last-child{border-bottom:0}.planner-list .nm{flex:1}.planner-list .mins{color:var(--muted);white-space:nowrap;font-size:13.5px}.planner-list .amt{font-variant-numeric:tabular-nums;white-space:nowrap}.planner-list button{color:var(--clay);cursor:pointer;font-size:17px;line-height:1;font-family:var(--f-body);background:0 0;border:0;padding:0 2px}.planner-total{border-top:1px solid var(--line-firm);background:var(--stone-2);align-items:baseline;gap:12px;padding:16px 22px;display:flex}.planner-total .k{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-size:12px}.planner-total .time{color:var(--ink-soft);margin-left:auto;font-size:14.5px}.planner-total .sum{font-family:var(--f-display);font-variant-numeric:tabular-nums;font-size:32px;font-weight:600}.planner-foot{padding:16px 22px 20px}.planner-note{color:var(--muted);margin-top:10px;font-size:13.5px}.menu-in{grid-template-columns:minmax(0,1.5fr) minmax(0,.85fr);align-items:start;gap:clamp(26px,4vw,48px);display:grid}@media (width<=900px){.menu-in{grid-template-columns:minmax(0,1fr)}}.cat+.cat{margin-top:40px}.cat-head{border-bottom:1px solid var(--line-firm);margin-bottom:4px;padding-bottom:10px}.cat-head h3{font-size:32px}.cat-head span{letter-spacing:.2em;text-transform:uppercase;color:var(--gold-deep);font-size:12px}.svc-row{text-align:left;border:0;border-bottom:1px dotted var(--line-firm);cursor:pointer;width:100%;font-family:var(--f-body);color:var(--ink);background:0 0;align-items:baseline;gap:14px;padding:14px 12px 14px 0;font-size:17px;transition:background-color .14s,padding-left .14s;display:flex}.svc-row:hover{background:var(--stone-2);padding-left:10px}.svc-row.on{background:var(--sage-wash);padding-left:10px}.svc-box{border:1px solid var(--line-firm);color:#0000;background:var(--surface);border-radius:2px;flex:none;place-items:center;width:20px;height:20px;margin-top:2px;display:grid}.svc-row.on .svc-box{background:var(--sage-deep);border-color:var(--sage-deep);color:#fff}.svc-main{flex:1;min-width:0}.svc-main b{flex-wrap:wrap;align-items:center;gap:9px;font-size:17.5px;font-weight:500;display:inline-flex}.svc-main small{color:var(--muted);font-size:14.5px;display:block}.tag-pop{letter-spacing:.15em;text-transform:uppercase;background:var(--gold-wash);color:var(--gold-deep);border:1px solid #e4d3ab;border-radius:999px;padding:2px 7px;font-size:9.5px}.svc-mins{color:var(--muted);white-space:nowrap;font-size:14px}.svc-price{font-family:var(--f-display);font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right;min-width:52px;font-size:21px;font-weight:600}.promise{background:var(--ink);color:#ded9cd}.promise .eyebrow{color:#d3b06a}.promise h2{color:#fff;margin-bottom:16px;font-size:clamp(32px,5vw,50px)}.promise .lede{color:#b6b0a2;max-width:62ch;margin-bottom:40px;font-size:18.5px}.promise-grid{grid-template-columns:repeat(auto-fit,minmax(225px,1fr));gap:28px 32px;display:grid}.promise-grid>div{border-top:1px solid #fff3;padding-top:16px}.promise-grid b{font-family:var(--f-display);color:#d3b06a;margin-bottom:6px;font-size:22px;font-weight:500;display:block}.promise-grid p{color:#aca696;font-size:16px}.visit{background:var(--stone-2);border-block:1px solid var(--line-firm)}.visit-in{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px;display:grid}.vcard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:26px}.vcard h3{margin-bottom:12px;font-size:25px}.hours-tbl{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:16px}.hours-tbl td{border-bottom:1px dotted var(--line);padding:7px 0}.hours-tbl td:last-child{text-align:right;color:var(--ink-soft)}.hours-tbl tr:last-child td{border-bottom:0}.hours-tbl tr.shut td{color:var(--muted)}.hours-tbl tr.today td{color:var(--gold-deep);font-weight:600}.vcard address{color:var(--ink-soft);margin-bottom:16px;font-size:17px;font-style:normal}.vcard address b{font-family:var(--f-display);color:var(--ink);font-size:22px;display:block}.rev-grid{grid-template-columns:repeat(auto-fit,minmax(275px,1fr));gap:22px;display:grid}.rev{border-top:1px solid var(--line-firm);flex-direction:column;gap:14px;margin:0;padding-top:20px;display:flex}.rev .stars{color:var(--gold);gap:3px;display:flex}.rev blockquote{font-family:var(--f-display);margin:0;font-size:21px;line-height:1.42}.rev figcaption{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:auto;font-size:13px}.book{background:var(--stone)}.book-in{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start;gap:clamp(26px,5vw,52px);display:grid}@media (width<=900px){.book-in{grid-template-columns:minmax(0,1fr)}}.form-card{background:var(--surface);border:1px solid var(--line-firm);border-radius:var(--r);box-shadow:var(--shadow-md);padding:clamp(22px,3.4vw,34px)}.f-row{grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:15px;margin-bottom:15px;display:grid}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field label{letter-spacing:.15em;text-transform:uppercase;color:var(--muted);font-size:11.5px;font-weight:500}.field .opt{text-transform:none;letter-spacing:0}.field input,.field select,.field textarea{font-family:var(--f-body);color:var(--ink);background:var(--stone);border:1px solid var(--line-firm);border-radius:var(--r);width:100%;padding:12px 13px;font-size:16.5px;transition:border-color .15s,background-color .15s}.field textarea{resize:vertical;min-height:90px}.field input:focus,.field select:focus,.field textarea:focus{background:var(--surface);border-color:var(--sage-deep);outline:none}.field input[aria-invalid=true],.field select[aria-invalid=true]{border-color:var(--clay);background:#fbf1ef}.err{color:var(--clay);font-size:14px}.chosen{background:var(--stone-2);border:1px solid var(--line);border-radius:var(--r);margin-bottom:18px;padding:14px 16px;font-size:15.5px}.chosen b{letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-size:11.5px;font-weight:500;display:block}.chosen ul{flex-wrap:wrap;gap:7px;margin:0;padding:0;list-style:none;display:flex}.chosen li{background:var(--surface);border:1px solid var(--line-firm);border-radius:999px;padding:4px 12px;font-size:14.5px}.chosen .none{color:var(--muted);font-style:italic}.form-foot{border-top:1px solid var(--line);flex-direction:column;gap:12px;padding-top:20px;display:flex}.form-foot small{color:var(--muted);font-size:14px}.sent{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:26px 10px;display:flex}.sent-mark{background:var(--sage-wash);width:58px;height:58px;color:var(--sage-deep);border-radius:50%;place-items:center;display:grid}.sent h3{font-size:30px}.sent p{color:var(--ink-soft);max-width:46ch}.faq-list{border-top:1px solid var(--line-firm);max-width:820px}.faq-item{border-bottom:1px solid var(--line-firm)}.faq-item summary{cursor:pointer;font-family:var(--f-display);padding:21px 44px 21px 0;font-size:24px;font-weight:500;list-style:none;position:relative}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"";border-right:1.5px solid var(--gold-deep);border-bottom:1.5px solid var(--gold-deep);width:10px;height:10px;transition:transform .2s;position:absolute;top:50%;right:8px;transform:translateY(-70%)rotate(45deg)}.faq-item[open] summary:after{transform:translateY(-30%)rotate(-135deg)}.faq-item summary:hover{color:var(--gold-deep)}.faq-answer{color:var(--ink-soft);max-width:68ch;padding:0 0 24px;font-size:16.5px}.ftr{background:var(--ink);color:#aca696;padding-block:clamp(40px,6vw,62px) 24px}.ftr-grid{border-bottom:1px solid #ffffff24;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:30px;padding-bottom:28px;display:grid}.ftr h4{font-family:var(--f-body);letter-spacing:.22em;text-transform:uppercase;color:#fff;margin-bottom:15px;font-size:11px;font-weight:500}.ftr a{color:#aca696;text-decoration:none}.ftr a:hover{color:#fff}.ftr ul{flex-direction:column;gap:8px;margin:0;padding:0;font-size:16px;list-style:none;display:flex}.ftr-phone{font-family:var(--f-display);font-size:27px;color:#fff!important}.ftr-hours{font-variant-numeric:tabular-nums;font-size:15px}.ftr-hours span{justify-content:space-between;gap:16px;padding:2px 0;display:flex}.ftr-bottom{color:#857f70;flex-wrap:wrap;gap:8px 24px;padding-top:20px;font-size:13.5px;display:flex}.ftr-bottom p{margin-right:auto}.sticky-bar{z-index:70;background:var(--line-firm);border-top:1px solid var(--line-firm);gap:1px;display:none;position:fixed;bottom:0;left:0;right:0}.sticky-bar a{text-align:center;letter-spacing:.14em;text-transform:uppercase;background:var(--surface);color:var(--ink);flex:1;padding:16px 8px;font-size:12.5px;text-decoration:none}.sticky-bar a.primary{background:var(--sage-deep);color:#fff}@media (width<=940px){.sticky-bar{display:flex}body{padding-bottom:60px}}.skip{background:var(--sage-deep);color:#fff;z-index:100;padding:12px 18px;position:absolute;top:0;left:-9999px}.skip:focus{top:8px;left:8px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important}}
