/* Shared usability refinements: quieter chrome, generous targets and consistent navigation. */
:root{--muted:#716657}
.announcement{display:flex;justify-content:center;gap:30px;align-items:center;font-size:11px;min-height:32px;padding:7px 18px;line-height:1.45}.announcement>span+span{padding-left:30px;border-left:1px solid #c6b9a5}
.header{display:grid;grid-template-columns:1fr auto 1fr;gap:20px}.header .nav{gap:20px}.header>.nav:last-child{justify-content:flex-end}.header .nav a,.header .nav-button{font-size:13px;white-space:nowrap}.header .nav-booking{font-size:12px}.header .nav a:not(.nav-booking):hover{color:var(--berry)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid #887052;outline-offset:4px}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.chip,.menu-row button,.quote-card button,.review-pagination button,.quick-add{min-height:44px}.quick-add{min-width:44px}.menu-row button,.quote-card button{font-size:13px}.small-note{line-height:1.7}.footer-bottom{align-items:center;flex-wrap:wrap}.footer .footer-bottom>a{font-size:12px;margin:0;order:3}.footer .footer-bottom>span{font-size:12px}.footer a:not(.wordmark){line-height:1.5}.footer-grid>div>h3{margin-bottom:18px}.footer-grid>div>a:not(.wordmark){padding:3px 0}.booking-summary{top:118px}.booking-section .actions{flex-wrap:wrap}.booking-section .back-btn{margin-right:18px;min-height:44px}.gallery-thumbs button{transition:border-color .2s}.gallery-thumbs button:hover{border-color:var(--plum)}.studio-menu-photo figcaption a{display:inline-block;padding:4px 0;text-decoration:underline;text-underline-offset:4px}
@media(min-width:1101px){.booking-dock{display:none}}
.treatment-browser{margin-top:28px}.treatment-categories{display:flex;flex-wrap:wrap;gap:8px}.treatment-results-line{display:flex;justify-content:space-between;align-items:center;min-height:50px;font-size:13px;color:var(--muted)}.treatment-results-line .back-btn{font-size:13px}#treatmentMenu{margin-top:4px}#ourJourney{scroll-margin-top:135px}.story-hero .actions{flex-wrap:wrap}
@media(max-width:1100px){.header{height:80px;padding:0 22px;gap:14px}.menu-toggle{display:block;width:44px;height:44px}.header>.nav{display:none}.header>.nav:last-child{display:flex;justify-content:flex-end}.header>.nav:last-child>a{display:none}.header .wordmark{margin:auto}.mobile-nav:not([hidden]){display:grid!important;grid-template-columns:1fr 1fr;gap:2px 25px;position:fixed;top:80px;left:0;right:0;max-height:calc(100dvh - 90px);overflow:auto;background:var(--paper);padding:24px;z-index:45;box-shadow:0 10px 22px #302d2815;border-bottom:1px solid var(--line)}.mobile-nav a{font:1.5rem var(--serif);padding:12px 0}.mobile-nav a[aria-current=page]{text-decoration:underline;text-underline-offset:6px}.mobile-nav a[href='/book/']{font:500 14px var(--sans);background:var(--plum);color:#fff;padding:16px;grid-column:1/-1;text-align:center;margin-top:8px}.booking-dock{bottom:14px;right:14px}.booking-dock a{min-height:44px}.announcement{font-size:10px;gap:15px}.announcement>span+span{padding-left:15px}.page-intro{padding-top:42px}.footer{padding-bottom:85px}}
@media(max-width:760px){.announcement>span:first-child{display:none}.announcement>span+span{padding-left:0;border:0}.announcement{min-height:30px;font-size:10px}.header{height:78px;padding:0 14px}.mobile-nav:not([hidden]){top:78px}.booking-summary{grid-row:auto;position:static}.booking-progress{gap:14px;font-size:12px}.booking-layout{padding-top:8px}.calendar-grid button{min-height:40px}.menu-row button{min-width:44px}.quote-card p,.quote-card button,.breadcrumb{font-size:12px}.tag{font-size:10px}.footer-bottom{align-items:flex-start}.footer .footer-bottom>span{font-size:11px}.footer .footer-bottom>a{padding:8px 0}.chat-link{bottom:14px;min-height:44px;display:flex;align-items:center}.pdp-copy .facts{gap:7px}.pdp-copy .facts span{font-size:12px}.cart-item .qty{height:44px}.cart-item .qty button{height:44px;min-width:35px}.booking-main{padding:20px}.booking-progress{justify-content:space-between}.booking-summary .policy-box{font-size:13px}.result-grid p{line-height:1.5}.page-intro p{line-height:1.7}}

.footer-socials{display:flex;flex-direction:column;align-items:flex-start;margin-top:12px}.footer .footer-socials .social-follow{display:inline-flex;align-items:center;gap:9px;min-height:32px;margin-bottom:5px;font-size:13px}.social-icon{width:19px;height:19px;flex-shrink:0}.footer .footer-socials .social-follow:hover{color:var(--ink)}

/* A compact, shared footer with clear navigation and a quiet business line. */
.footer-compact{padding:44px 5.5vw 24px}.footer-main{display:grid;grid-template-columns:1.1fr 1.2fr 1fr;gap:clamp(28px,5vw,80px);align-items:start}.footer-compact .wordmark{margin-bottom:12px}.footer-brand>p{margin:0;font-size:13px}.footer-compact h3{font-size:10px;letter-spacing:.16em;margin:8px 0 18px;color:#655543}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.footer-compact .footer-links a{font-size:13px;min-height:36px;margin:0;padding:6px 0}.footer-compact .footer-socials{flex-direction:row;gap:10px;margin-top:17px}.footer-compact .footer-socials .social-follow{display:inline-flex;justify-content:center;width:40px;height:40px;min-height:40px;margin:0;padding:0;border:1px solid #c8bcaa;border-radius:50%;transition:background .2s,border-color .2s}.footer-compact .social-follow:hover{background:#f8f5ef;border-color:#8a7964}.footer-visit address{font-style:normal;font-size:13px;line-height:1.8;color:#554b3e}.footer-compact .footer-appointment-note{font-size:11px;margin:4px 0 12px;color:#756a5c}.footer-contact-links{display:flex;gap:18px;flex-wrap:wrap}.footer-compact .footer-contact-links a{font-size:12px;min-height:36px;margin:0;padding:7px 0;border-bottom:1px solid #b5a58e}.footer-compact a:not(.wordmark):hover{color:#302d28}.footer-meta{border-top:1px solid #cfc3b1;margin-top:30px;padding-top:16px;display:flex;align-items:center;justify-content:space-between;gap:12px 25px}.footer-meta p{display:flex;gap:20px;flex-wrap:wrap;font-size:11px;margin:0}.footer-meta p span{border-left:1px solid #c4b6a2;padding-left:20px}.footer-meta nav{display:flex;gap:22px;align-items:center}.footer-compact .footer-meta a{font-size:11px;margin:0;padding:6px 0}.footer-compact a{text-underline-offset:5px}
@media(max-width:1100px){.footer-compact{padding-bottom:90px}.footer-main{gap:25px;grid-template-columns:1fr 1fr}.footer-brand{grid-row:1/3}.footer-visit{grid-column:2}.footer-links{gap:0 18px}.footer-meta{flex-wrap:wrap}}
@media(max-width:600px){.footer-compact{padding:32px 24px 100px}.footer-main{grid-template-columns:1fr;gap:24px}.footer-brand{grid-row:auto}.footer-visit{grid-column:auto;border-top:1px solid #cfc3b1;padding-top:18px}.footer-compact h3{margin-top:0;margin-bottom:12px}.footer-compact .footer-links a{min-height:40px;font-size:13px}.footer-compact .footer-socials{margin-top:14px}.footer-contact-links{gap:24px}.footer-meta{margin-top:24px;gap:14px;align-items:flex-start}.footer-meta p{gap:12px}.footer-meta p span{padding-left:12px}.footer-meta nav{gap:24px;flex-wrap:wrap}.footer-compact .footer-meta a{min-height:36px}}
.founder-letter{max-width:860px;padding-top:24px;padding-bottom:8px}
.founder-letter>.eyebrow{color:#8a7f6d}
.founder-letter .founder-letter-body{max-width:66ch;margin-top:22px}
.founder-letter .founder-letter-body p{color:#5c5346;font-size:1.05rem;line-height:1.85;margin-bottom:18px;max-width:none}
.founder-letter .founder-letter-body p:first-child{font-family:var(--serif,'Playfair Display',Georgia,serif);font-size:1.35rem;color:#3a332b}
.founder-sign{margin-top:30px}
.founder-sign strong{font-family:var(--serif,'Playfair Display',Georgia,serif);font-size:1.6rem;font-weight:400;display:block;margin-top:6px}
.founder-sign span{display:block;font-size:.75rem;letter-spacing:.14em;color:#8a7f6d;margin-top:6px;text-transform:uppercase}
.menu-desc{display:block;color:var(--muted,#746a70);font-size:.78rem;line-height:1.55;margin-top:5px;max-width:56ch;font-weight:400;letter-spacing:0}
.menu-row{align-items:start}
.menu-detail{margin:2px 0 10px}
.menu-detail>summary{cursor:pointer;list-style:none;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:#8a7f6d;padding:4px 0;display:inline-flex;align-items:center;gap:8px}
.menu-detail>summary::-webkit-details-marker{display:none}
.menu-detail>summary::after{content:'+';font-size:.95rem;line-height:1}
.menu-detail[open]>summary::after{content:'–'}
.menu-detail-grid{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;margin:8px 0 4px;max-width:62ch}
.menu-detail-grid dt{font-weight:600;color:#5c5346;font-size:.78rem}
.menu-detail-grid dd{margin:0;color:#746a70;font-size:.78rem;line-height:1.6}
.story-hero img{height:auto;max-height:620px;width:auto;max-width:100%;margin:0 auto;object-fit:contain;object-position:center;background:#efe7db}
@media(max-width:760px){.story-hero img{max-height:480px;width:100%}}
.journey-photo{margin:34px 0 0;position:relative;overflow:hidden;background:#efe7db}.journey-photo img{width:100%;max-height:560px;object-fit:cover;object-position:50% 22%;transition:transform 1.2s}.journey-photo:hover img{transform:scale(1.02)}.journey-photo figcaption{position:absolute;bottom:14px;left:16px;padding:7px 12px;background:#faf7f1ed;color:#514536;font-size:.875rem}
.story-hero.hero-inset img{max-height:430px;margin:40px auto;border-radius:6px;box-shadow:0 18px 44px #3a2a1c1a}
@media(max-width:760px){.story-hero.hero-inset img{max-height:300px;margin:6px auto 30px}}
.studio-gallery{padding-top:34px;padding-bottom:6px}
.studio-gallery-head{margin-bottom:20px}
.studio-gallery-head h2{font-size:clamp(1.9rem,3vw,2.6rem);margin:0 0 6px}
.studio-gallery-hint{font-size:.8rem;color:#8a7c6b;margin:0}
.studio-gallery-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding:2px 2px 12px;scrollbar-width:thin}
.studio-gallery-track figure{flex:0 0 clamp(260px,58%,540px);scroll-snap-align:center;margin:0;position:relative;overflow:hidden;border-radius:8px;background:#e6ded1}
.studio-gallery-track img{width:100%;height:clamp(240px,30vw,360px);object-fit:cover;display:block;transition:transform 1s}
.studio-gallery-track figure:hover img{transform:scale(1.03)}
.studio-gallery-track figcaption{position:absolute;bottom:12px;left:14px;background:#faf7f1ed;color:#514536;font-size:.8rem;padding:6px 11px;border-radius:4px}
.studio-gallery-track:focus-visible{outline:3px solid #b78c57;outline-offset:3px}
.lightbox-img{cursor:zoom-in}
