:root{--paper:#fffcf8;--cream:#f3ebe3;--rose:#f2e4df;--ink:#322a28;--muted:#70625b;--accent:#8b544b;--line:#dfcfc5;--serif:Georgia,'Times New Roman',serif;--sans:'Arial',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,summary,a{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}p{margin:0 0 1.3rem}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.08;margin:0 0 1.4rem;letter-spacing:-.035em}h1{font-size:clamp(2.8rem,4.9vw,5.1rem)}h2{font-size:clamp(2rem,3.4vw,3.4rem)}h3{font-size:1.65rem}em{font-weight:400;color:var(--accent)}.topline{text-align:center;padding:8px 20px;background:var(--cream);font-size:.8rem;letter-spacing:.07em}.topline span{padding:0 12px}.header{position:relative;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:25px max(5vw,24px);background:var(--paper);border-bottom:1px solid var(--line)}.brand{display:flex;flex-direction:column;align-items:center;flex-shrink:0}.brand-name{font-family:var(--serif);font-size:1.7rem;line-height:1.2;letter-spacing:.22em;color:var(--accent)}.brand-caption{font-size:.75rem;letter-spacing:.23em;margin-top:6px}.desktop-nav{display:flex;align-items:center;gap:32px;font-size:.9rem}.desktop-nav>a:hover{color:var(--accent)}summary{cursor:pointer}.nav-menu{position:relative}.nav-menu>summary{list-style:none}.nav-menu>summary:after{content:'⌄';margin-left:8px}.nav-menu>div{position:absolute;top:40px;left:-25px;min-width:265px;padding:16px;background:var(--paper);box-shadow:0 12px 40px #322a2820;border:1px solid var(--line)}.nav-menu a{display:block;padding:9px 12px}.nav-menu a:hover{background:var(--rose)}.button{background:var(--accent);color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:25px;padding:14px 26px;border-radius:32px;font-size:.95rem;line-height:1.5;transition:background .2s,transform .2s}.button:hover{background:#704039;transform:translateY(-2px)}.button.small{font-size:.85rem;padding:12px 21px}.button span{font-size:1.25rem}.mobile-nav{display:none}.hero{display:grid;grid-template-columns:1fr 1fr;background:var(--cream);min-height:570px}.hero-copy{padding:65px 5vw 60px max(5vw,24px);align-self:center}.eyebrow{font-size:.75rem;letter-spacing:.2em;font-weight:600;color:var(--accent);margin-bottom:22px;line-height:1.65}.lead{font-size:1.1rem;line-height:1.7;max-width:510px;margin-bottom:28px;color:#514641}.hero-image{position:relative;min-height:100%;overflow:hidden}.hero-image img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:50% 40%}.image-note{position:absolute;bottom:35px;right:30px;background:#fffcf8e8;padding:13px 22px;color:var(--accent);font-family:var(--serif);font-size:1.3rem;font-style:italic}.hero-address{font-size:.85rem;margin:24px 0 0;color:var(--muted)}.hero-price{display:block;font-size:.9rem;margin-top:22px;color:var(--accent)}.hero-price span{margin-left:12px}.breadcrumb{display:flex;flex-wrap:wrap;gap:10px;color:var(--muted);font-size:.8rem;margin-bottom:35px}.breadcrumb a{text-decoration:underline;text-underline-offset:4px}.section{max-width:1280px;margin:0 auto;padding:80px 5vw}.section-heading{text-align:center;margin-bottom:42px}.section-heading>p:last-child{color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(6,1fr);gap:26px}.service-card{grid-column:span 2;border:1px solid var(--line);background:var(--paper);transition:transform .2s}.service-card:nth-child(4){grid-column:2/span 2}.service-card:hover{transform:translateY(-5px)}.card-image{height:210px;position:relative;overflow:hidden}.card-image img{height:100%;width:100%;object-fit:cover;object-position:50% 40%;transition:transform .4s}.service-card:hover img{transform:scale(1.035)}.card-number{position:absolute;top:15px;left:15px;border-radius:50%;width:37px;height:37px;background:var(--paper);display:grid;place-items:center;font-family:var(--serif)}.card-body{padding:25px}.card-body h3{font-size:1.5rem;min-height:2.2em;margin-bottom:15px}.card-body p{font-size:.9rem;color:var(--muted)}.card-link{font-size:.85rem;color:var(--accent);display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:18px}.details-section{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:start}.presentation{padding-top:25px}.presentation p:not(.eyebrow){color:var(--muted)}.signature{font-family:var(--serif);font-style:italic;font-size:1.7rem;display:block;color:var(--accent);margin-top:35px}.rates{background:var(--rose);padding:36px;scroll-margin-top:30px}.rates .eyebrow{margin-bottom:12px}.rates table{width:100%;border-collapse:collapse;margin:25px 0 30px}.rates th,.rates td{text-align:left;font-size:.95rem;border-bottom:1px solid #dbc7bd;padding:13px 0;vertical-align:top}.rates th{font-weight:400;padding-right:18px}.rates td{text-align:right;min-width:90px;font-weight:600}.rates .button{width:100%}.journey{background:var(--cream);text-align:center}.journey .section{padding-top:65px;padding-bottom:65px}.steps{display:grid;grid-template-columns:repeat(3,1fr);margin-top:45px;gap:35px}.steps article{padding:0 20px}.steps article+article{border-left:1px solid var(--line)}.steps span{font-family:var(--serif);display:grid;place-items:center;width:55px;height:55px;border:1px solid #c8a69b;border-radius:50%;margin:0 auto 25px;font-size:1.5rem;color:var(--accent)}.steps h3{font-size:1.6rem}.steps p{color:var(--muted);font-size:.95rem;margin-bottom:0}.faq{text-align:center;max-width:1000px}.faq-list{text-align:left;margin-top:40px}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;padding:23px 0;font-size:1.05rem}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:1.6rem;color:var(--accent);font-weight:300}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{padding:0 40px 10px 0;color:var(--muted);line-height:1.8}.related{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center;padding-top:20px;padding-bottom:80px}.related>div{background:var(--cream);padding:40px;height:100%}.related img{width:100%;height:270px;object-fit:cover;object-position:50% 40%}.related h2{font-size:2.1rem}.text-link{display:inline-block;border-bottom:1px solid var(--accent);padding-bottom:4px;color:var(--accent);font-size:.9rem}.text-link span{margin-left:15px}.contact{background:var(--rose);display:grid;grid-template-columns:1fr 1fr;gap:7vw;padding:75px max(5vw,24px)}.contact h2{font-size:clamp(2.7rem,4vw,4.2rem)}.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-self:center}.contact-details h3{font-size:1.45rem}.contact-details address{font-style:normal;margin-bottom:20px}.hours{margin:0}.hours>div{display:flex;justify-content:space-between;gap:18px;border-bottom:1px solid #d7c2b9;padding:12px 0;font-size:.85rem}.hours>div:first-child{padding-top:0}.hours dt{max-width:100px}.hours dd{margin:0;text-align:right;white-space:nowrap}.muted{color:var(--muted);font-size:.8rem;margin-top:15px}.footer{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:40px max(5vw,24px);font-size:.85rem;flex-wrap:wrap}.footer p{margin:0;font-family:var(--serif);font-style:italic;font-size:1.1rem}.footer small{color:var(--muted)}.skip{position:fixed;top:-80px;left:12px;z-index:100;background:var(--paper);padding:12px}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(min-width:1600px){.hero-copy{padding-left:calc((100vw - 1440px)/2)}.hero{min-height:650px}}@media(max-width:1050px){.desktop-nav{gap:18px}.header-book{display:none!important}.hero{min-height:530px}.contact-details{grid-template-columns:1fr}.contact-details>div{max-width:350px}.card-body{padding:20px}.details-section{gap:5vw}}@media(max-width:700px){html{scroll-padding-top:25px}.topline{font-size:.75rem}.header{padding:20px;gap:15px}.brand-name{font-size:1.35rem}.brand-caption{font-size:.75rem}.desktop-nav{display:none}.mobile-nav{display:block}.mobile-nav summary{font-size:.9rem;padding:9px 15px;border:1px solid var(--line);border-radius:20px;list-style:none}.mobile-nav nav{position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:15px 20px 25px;border-bottom:1px solid var(--line);box-shadow:0 20px 30px #322a2810}.mobile-nav nav a{display:block;padding:12px 0;border-bottom:1px solid var(--line)}.hero{grid-template-columns:1fr}.hero-copy{padding:35px 24px 38px}.hero-image{min-height:340px;order:2}.hero-image img{object-position:50% 35%}.home-hero .hero-image{min-height:360px}h1{font-size:3rem}.lead{font-size:1rem}.eyebrow{font-size:.875rem;margin-bottom:18px}.breadcrumb{margin-bottom:25px;font-size:.75rem}.image-note{font-size:1.15rem;bottom:20px;right:20px}.section{padding:55px 24px}.cards{grid-template-columns:1fr;gap:25px}.service-card,.service-card:nth-child(4){grid-column:auto}.card-image{height:250px}.card-body h3{min-height:0;font-size:1.65rem}.details-section{grid-template-columns:1fr;gap:35px}.presentation{padding-top:0}.rates{padding:25px}.rates td,.rates th{font-size:.9rem}.steps{grid-template-columns:1fr;gap:30px}.steps article+article{border-left:0;border-top:1px solid var(--line);padding-top:30px}.steps article{padding-left:0;padding-right:0}.steps span{margin-bottom:18px}.steps h3{margin-bottom:12px}.faq-list summary{font-size:1rem}.related{grid-template-columns:1fr;gap:0;padding-top:0}.related>div{padding:30px}.related img{height:240px}.contact{grid-template-columns:1fr;padding:50px 24px;gap:40px}.contact-details{grid-template-columns:1fr 1fr;gap:25px}.contact-details h3{font-size:1.25rem}.contact-details address{font-size:.9rem}.hours>div{display:block}.hours dd{text-align:left;margin-top:5px}.hours dt{max-width:none}.footer{padding:35px 24px;flex-direction:column;align-items:flex-start;gap:22px}.footer .brand{align-items:flex-start}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}@media print{.header,.topline,.button,.mobile-nav,.footer,.related{display:none}.hero{min-height:0}.hero-image{display:none}.hero,.contact{display:block}.section{padding:30px 0}.details-section{gap:30px}.rates{break-inside:avoid}body{font-size:12px}.faq-list details p{display:block}}

/* Readable navigation and contact details across screen sizes. */
.eyebrow,.button.small,.hero-address,.hero-price,.card-link,.hours>div,.text-link,.mobile-nav summary{font-size:.875rem}.hero-copy,.contact-details>div{min-width:0}@media(max-width:360px){.contact-details{grid-template-columns:1fr}h1{font-size:2.6rem}.button{padding:14px 20px;gap:12px}}
/* Local service pages and editorial content. */
.page-summary{display:flex;flex-wrap:wrap;gap:12px 24px;padding:25px max(5vw,24px);border-bottom:1px solid var(--line);background:var(--paper)}.page-summary a{font-size:.875rem;color:var(--accent);text-decoration:underline;text-underline-offset:4px}.editorial{padding-top:35px;padding-bottom:35px}.editorial-block{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:6vw;padding:42px 0;border-bottom:1px solid var(--line);scroll-margin-top:30px}.editorial-block:last-child{border-bottom:0}.editorial-block h2{font-size:clamp(1.75rem,2.6vw,2.65rem);line-height:1.18;max-width:440px}.prose{min-width:0;max-width:720px}.prose p:last-child{margin-bottom:0}.prose a,.all-prices{color:var(--accent);text-decoration:underline;text-underline-offset:4px}.prose ul{padding-left:1.2rem}.prose li{padding:0 0 12px}.all-prices{display:block;font-size:.875rem;text-align:center;margin-top:18px}.text-hero{grid-template-columns:1fr;min-height:400px}.text-hero .hero-copy{width:100%;max-width:1100px;padding-right:5vw}.text-hero .lead{max-width:720px}.text-hero h1{font-size:clamp(2.8rem,5.2vw,5rem)}.price-grid{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:30px;padding-top:10px}.price-grid h2{font-size:2rem;line-height:1.15}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding-top:15px;padding-bottom:30px}.choice{background:var(--cream);border:1px solid var(--line);padding:36px}.choice h2{font-size:2.1rem}.related-links{padding-top:25px;padding-bottom:65px;display:flex;flex-wrap:wrap;align-items:center;gap:20px 32px}.related-links h2{font-size:1.6rem;margin:0 auto 0 0}.footer-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px 30px;padding:35px max(5vw,24px);border-bottom:1px solid var(--line);font-size:.875rem}.footer-nav a:hover{text-decoration:underline}.breadcrumb{line-height:1.6}.hero h1{font-size:clamp(2.65rem,4.35vw,4.7rem);line-height:1.1}.hero-image img{height:100%;width:100%;object-fit:cover}.card-link{line-height:1.5}.header{gap:20px}.desktop-nav{gap:24px}.header-book{white-space:nowrap}.price-grid .rates{min-width:0}.rates td{white-space:normal}.prose p,.presentation p{overflow-wrap:break-word}
@media(max-width:900px){.header-book{display:none!important}.editorial-block{gap:35px}.footer-nav{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.editorial-block{grid-template-columns:1fr;gap:12px;padding:30px 0}.editorial-block h2{margin-bottom:10px}.editorial{padding-top:20px;padding-bottom:20px}.price-grid,.choice-grid{grid-template-columns:1fr}.page-summary{gap:10px 20px;padding:20px 24px}.page-summary a{font-size:.875rem}.hero h1{font-size:clamp(2.4rem,8vw,3.3rem)}.related-links{display:block}.related-links h2{margin-bottom:22px}.related-links a{margin-right:25px;margin-bottom:14px}.price-grid{padding-top:10px}.footer-nav{gap:16px 24px}.text-hero{min-height:0}.text-hero .hero-copy{padding:35px 24px}.choice{padding:25px}.breadcrumb{font-size:.875rem}.mobile-nav nav{max-height:75vh;overflow:auto}}
@media(max-width:360px){.footer-nav{grid-template-columns:1fr}.rates{padding:20px}.rates th{padding-right:10px}.hero h1{font-size:2.3rem}}
/* Keep the extended Club navigation usable on compact screens. */
@media(max-width:900px){.desktop-nav{display:none}.mobile-nav{display:block}.mobile-nav summary{font-size:.9rem;padding:9px 15px;border:1px solid var(--line);border-radius:20px;list-style:none}.mobile-nav nav{position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:15px 20px 25px;border-bottom:1px solid var(--line);box-shadow:0 20px 30px #322a2810}.mobile-nav nav a{display:block;padding:12px 0;border-bottom:1px solid var(--line)}}

/* Direct access to the Club, including when the main menu is collapsed. */
.mobile-club-access{display:none}.hero-club-access{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:22px}.hero-club-access a{font-size:.9375rem;color:var(--accent);text-decoration:underline;text-underline-offset:5px;padding:7px 0}.hero-club-access a:hover{color:var(--ink)}
@media(max-width:900px){.hero-club-access{display:none}.mobile-club-access{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;padding:10px 20px;background:var(--paper);border-bottom:1px solid var(--line)}.mobile-club-access a{display:flex;align-items:center;justify-content:center;min-height:48px;padding:10px 12px;border:1px solid var(--line);border-radius:7px;color:var(--accent);font-size:.875rem;line-height:1.4;text-align:center}.mobile-club-access a:last-child{background:var(--accent);border-color:var(--accent);color:white}.mobile-club-access a:hover{background:var(--rose);color:var(--ink)}}
/* Display the supplied artwork at its original proportions; crop only its blank margins. */
.brand-logo{display:block;position:relative;overflow:hidden;width:224px;aspect-ratio:720/134;flex-shrink:0;line-height:0}
.brand-logo img{display:block;position:absolute;max-width:none;width:142.222222%;height:auto;left:-21.111111%;top:-191.791045%}
@media(max-width:700px){.brand .brand-logo{width:204px}}

/* Two featured treatments lead the homepage, within the existing ivory and brown identity. */
.home-focus{background:var(--cream);padding:32px max(5vw,24px) 26px}
.home-focus-inner{max-width:1152px;margin:0 auto}
.home-focus-intro{text-align:center;max-width:1000px;margin:0 auto 26px}
.home-focus-intro .eyebrow{margin-bottom:12px}
.home-focus-intro h1{font-size:clamp(2.2rem,3.3vw,3.25rem);line-height:1.08;margin-bottom:14px}
.home-focus-intro .lead{font-size:1rem;max-width:none;margin:0;color:var(--muted)}
.featured-treatments{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.featured-treatment{min-width:0;background:var(--paper);border:1px solid var(--line);display:flex;flex-direction:column;scroll-margin-top:24px}
.featured-treatment-image{height:clamp(190px,17vw,245px);overflow:hidden}
.featured-treatment-image img{width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.featured-treatment-copy{padding:23px 26px 26px;display:flex;flex-direction:column;flex:1}
.featured-treatment h2{font-size:clamp(1.9rem,2.5vw,2.45rem);line-height:1.1;margin-bottom:12px}
.featured-treatment-copy>p{font-size:1rem;line-height:1.55;color:var(--muted);margin-bottom:20px;max-width:460px}
.featured-treatment-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px 20px;margin-top:auto}
.featured-treatment-actions .button{min-height:48px}
.featured-treatment-actions .text-link{font-size:.875rem;padding:6px 0}
.home-booking-note{font-size:.875rem;text-align:center;color:var(--muted);margin:18px 0 0}
.home-booking-note a{white-space:nowrap;text-decoration:underline;text-underline-offset:3px}
.home-focus .hero-club-access{justify-content:center;margin-top:12px}
.other-services .cards{grid-template-columns:repeat(4,minmax(0,1fr))}
.other-services .service-card:nth-child(n){grid-column:auto}
.other-services .card-image{height:190px}
.other-services .card-body h3{font-size:1.5rem}
@media(max-width:1050px){.other-services .cards{grid-template-columns:repeat(2,minmax(0,1fr))}.featured-treatment-copy{padding:22px}.featured-treatment-actions{gap:10px 14px}}
@media(max-width:700px){.home-focus{padding:27px 20px 24px}.home-focus-intro{margin-bottom:24px}.home-focus-intro h1{font-size:2.2rem}.home-focus-intro .eyebrow{font-size:.875rem;letter-spacing:.06em}.featured-treatments{grid-template-columns:1fr;gap:22px}.featured-treatment{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr)}.featured-treatment-image{height:100%;min-height:265px}.featured-treatment-image img{object-position:56% 50%}.featured-treatment-copy{padding:21px 18px;min-width:0}.featured-treatment h2{font-size:1.75rem;overflow-wrap:normal}.featured-treatment-copy>p{margin-bottom:17px}.featured-treatment-actions{align-items:flex-start;gap:10px}.featured-treatment-actions .button{font-size:.875rem;padding:12px 15px;line-height:1.4;text-align:center}.other-services .card-image{height:210px}}
@media(max-width:450px){.featured-treatment{grid-template-columns:1fr}.featured-treatment-image{height:185px;min-height:0}.featured-treatment-copy{padding:21px}.featured-treatment h2{font-size:2rem}.featured-treatment-actions{gap:12px 18px}.other-services .cards{grid-template-columns:1fr}.other-services .card-image{height:235px}}
