/* Readability pass, 21 October 2026. Keep the warm palette and established layout. */
:root{
  --serif:Georgia,'Times New Roman',serif;
  --muted:#514941;
  --clay:#76513f;
}
body{font-size:17px;line-height:1.7;font-weight:500}
h1,h2,h3{line-height:1.15;letter-spacing:-.025em;font-weight:400}
h2{font-size:clamp(38px,4.6vw,68px)}
h3{font-size:clamp(26px,2.6vw,36px)}
/* The decorative wordmark is a brand asset; reading text uses sturdier letterforms. */
.brand span,.footer-wordmark{font-family:Bodoni,Georgia,serif}
.brand small{font-size:8px;letter-spacing:.23em;line-height:1.3}
.page-intro h1,.laser-intro h1{font-size:clamp(42px,6vw,82px);line-height:1.16;letter-spacing:-.025em}
.page-intro p{font-size:18px;line-height:1.75;max-width:660px}
.page-intro .eyebrow,.eyebrow,.card-category{font-size:12px;font-weight:600;letter-spacing:.12em;line-height:1.6}
.laser-intro h1 em,.intro-section h2 em{color:var(--clay)}
.hero h1{font-size:clamp(60px,7vw,104px);line-height:1.12;letter-spacing:-.035em}
.hero .intro{font-size:18px;line-height:1.7;max-width:390px;color:#f5eee7}
.hero-mark{font-size:12px;letter-spacing:.1em}
.hero-scroll,.hero-bottom{font-size:12px;letter-spacing:.1em}
.nav{font-size:15px;font-weight:600;gap:28px}
.button,.linkline,.laser-price-card .button,.treatment-help .linkline,.card-action{font-size:16px;font-weight:600;line-height:1.5}
.button{min-height:52px;padding:15px 21px;gap:20px}
.menu-toggle,.mobile-book{font-size:14px;font-weight:600}
.bread{font-size:14px;line-height:1.5}
.treatment-card h2,.treatment-card h3{font-size:clamp(28px,2.6vw,38px);line-height:1.18;letter-spacing:-.025em}
.treatment-card p,.service-card p,.step p,.quiet-row p,.team-card p,.team-note,
.offering-list li,.question-block p,.experience-lead p,.setting p,
.faqs details p,.panel-copy p,.panel-options,.panel-question p{font-size:17px;line-height:1.7}
.faqs summary{font-size:18px;font-weight:600;line-height:1.5}
.treatment-help,.visit-details p,.service-note>p:not(.eyebrow){font-size:16px;line-height:1.7}
.setting-location{font-size:12px;letter-spacing:.1em}
.laser-price-card h3{font-size:29px;line-height:1.25;letter-spacing:-.02em}
.laser-price{font:600 42px/1.3 var(--sans);letter-spacing:-.035em;font-variant-numeric:tabular-nums}
.laser-price span{font:500 14px/1.6 var(--sans);letter-spacing:0;display:block;margin-top:2px}
.price-line dt,.price-line dd{font-size:17px;line-height:1.6}
.price-line dd{font-weight:600;font-variant-numeric:tabular-nums}
.laser-price-note,.home-laser-offer small,.enquiry-privacy{font-size:15px;line-height:1.7}
.home-laser-offer p{font-size:18px}
.home-laser-offer .eyebrow{font-size:12px}
.home-laser-offer strong{font-family:var(--sans);font-size:30px;font-weight:600;letter-spacing:-.03em}
.laser-offer strong{font:600 38px/1.2 var(--sans);letter-spacing:-.035em}
.laser-offer span{font-size:16px;font-weight:600}
.laser-intro .laser-offer-summary{font-size:20px;line-height:1.65}
.enquiry-fields label,#enquiry-status{font-size:17px;line-height:1.6}
.enquiry-fields input,.enquiry-fields textarea{font-size:17px}
.footer-nav,.footer-links{font-size:14px;line-height:1.6}
.fineprint{font-size:13px;line-height:1.6}
@media(max-width:1000px){.nav{gap:18px}.hero h1{font-size:clamp(60px,8vw,84px)}}
@media(max-width:900px){
  .header{height:78px;padding:0 22px}
  .menu-toggle{display:block}
  .header-right{display:flex;align-items:center;gap:12px}
  .mobile-book{display:block;min-height:44px;align-content:center;text-decoration:underline;text-underline-offset:4px}
  .nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--paper);padding:20px 24px 28px;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;font-size:18px}
  .nav.is-open{display:flex}
  .nav a:not(.button){padding:16px 0;border-top:1px solid var(--line)}
  .nav .button{margin-top:16px;align-self:start}
  .footer-nav{display:block}
  .footer-links{flex-wrap:wrap;gap:12px 24px}
  .footer-nav>span{display:block;margin-top:16px}
}
@media(max-width:720px){
  .page-intro h1,.laser-intro h1{font-size:clamp(39px,10.6vw,54px);line-height:1.16}
  .page-intro p{font-size:17px;line-height:1.7}
  .page-intro .eyebrow{font-size:12px}
  .hero h1{font-size:clamp(48px,13vw,68px);line-height:1.1}
  .hero .intro{font-size:17px;max-width:340px;line-height:1.65}
  .hero-mark{font-size:11px;max-width:calc(100% - 48px)}
  .hero-scroll{font-size:11px}
  .hero-content{padding-bottom:84px}
  .intro-section h2,.section-head h2,.experience h2,.faq-section h2,.question-block h2{font-size:38px;line-height:1.2}
  .setting h2{font-size:44px;line-height:1.15}
  .visit-band h2{font-size:48px;line-height:1.15}
  .treatment-card h2,.treatment-card h3{font-size:32px;line-height:1.2}
  .treatment-card p{font-size:17px}
  .treatment-overview h2,.service-card h2{font-size:34px;line-height:1.2}
  .laser-price-card h3{font-size:29px}
  .laser-offer strong{font-size:31px}
  .laser-offer span{font-size:14px}
  .laser-intro .laser-offer{gap:14px;padding:14px 16px;flex-wrap:wrap}
  .laser-intro .laser-offer-summary{font-size:19px}
  .home-laser-offer p{font-size:18px}
  .home-laser-offer .eyebrow{font-size:12px}
  .visit-details{grid-template-columns:1fr}
  .visit-details .wide{grid-column:auto}
  .fineprint{font-size:13px}
}
.regional-section { border-top:1px solid #d1cbc3; }
.visit-page-nav{display:flex;flex-wrap:wrap;gap:12px 26px;padding:0 var(--pad) 38px;font-size:16px}
.visit-page-nav a{min-height:44px;align-content:center;text-decoration:underline;text-underline-offset:5px}
.booking-guide{background:#eae6df;border-top:1px solid #d1cbc3;border-bottom:1px solid #d1cbc3}
.booking-guide-heading{max-width:760px;margin-bottom:40px}
.booking-guide h2{font-size:clamp(34px,4.4vw,54px);line-height:1.15;margin:20px 0 24px}
.booking-guide p{font-size:17px;line-height:1.75}
.booking-guide-steps{list-style:none;padding:0;margin:0;counter-reset:booking;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 64px}
.booking-guide-steps>li{counter-increment:booking;border-top:1px solid #bdb4a8;padding-top:24px;min-width:0}
.booking-guide-steps>li:before{content:"0" counter(booking);display:block;font:600 14px/1.5 var(--sans);letter-spacing:.07em;margin-bottom:16px;color:#624c3d}
.booking-guide h3{font-size:clamp(28px,3vw,35px);line-height:1.24;margin:0 0 20px}
.booking-guide-steps p{margin:14px 0;max-width:65ch}
.booking-guide a{text-decoration:underline;text-underline-offset:4px}
.booking-guide-note{max-width:800px;border-top:1px solid #bdb4a8;padding-top:24px;margin:38px 0 0}
#before-you-book,#map-title,#enquiry{scroll-margin-top:110px}
@media(max-width:720px){.visit-page-nav{padding:0 24px 30px;gap:8px 20px}.booking-guide-steps{grid-template-columns:1fr;gap:28px}.booking-guide-heading{margin-bottom:30px}.booking-guide h3{font-size:29px}}
.regional-section h2 { font-size:clamp(32px,4vw,50px); line-height:1.18; margin:20px 0 28px; max-width:900px; }
.regional-section p:not(.eyebrow) { max-width:800px; margin:18px 0; }
.regional-section h3 { font-size:26px; margin-top:32px; }
.regional-section a:not(.linkline),.laser-page-nav a { text-decoration:underline; text-underline-offset:4px; }
.laser-page-nav { display:flex; flex-wrap:wrap; gap:12px 22px; margin-top:28px; font-size:15px; }
.laser-page-nav a { padding:6px 0; }
#communities,#laser-prices,#all-prices,#laser-faq-title { scroll-margin-top:110px; }
@media(max-width:360px){
  .mobile-book{display:none}
  .page-intro,.section,.intro-section,.visit-band{padding-left:20px;padding-right:20px}
  .laser-price-card{padding:22px}
  .button{padding:14px 18px;gap:14px}
  .laser-intro .laser-offer{gap:10px}
  .hero h1{font-size:46px}
}
