/* Soft powder rose, warm ivory and deep plum. Shared palette for every route. */
:root{--paper:#fffafa;--ink:#503d45;--muted:#75636c;--line:#ebd5d5;--sage:#fff0f0;--cream:#fff6f6;--rose:#795366;--rose-dark:#604150;--powder:#fcbcbc;--warm-metal:#977c63;--salon-pink:#fcbcbc;--salon-pink-deep:#f5a7a7}
body{background:var(--paper);color:var(--ink)}
.header{background:var(--paper)}
.header .brand-star{color:#997888}
.hero h1 em,.page-title h1 em,.editorial-copy h2 em{color:#916d7e}
.hero-image{border-radius:2px 90px 2px 2px}
.image-label{background:#fffafbf0}
.ribbon{background:var(--salon-pink);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.button{background:var(--rose);border-color:var(--rose);border-radius:2px;box-shadow:none}
.button:hover{background:var(--rose-dark);border-color:var(--rose-dark)}
.button.light{background:transparent;color:var(--ink);border-color:#c7aeb9}
.button.light:hover{background:var(--sage)}
.button.white{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.button.white:hover{background:#f4e8ed;border-color:#f4e8ed}
.chip:hover,.chip.selected{background:var(--rose);border-color:var(--rose)}
.text-link{border-color:#c4aeb8}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline-color:var(--rose)}
.card-image{background:var(--powder)}
.card-image .tag{background:#fffafbef}
.card-bottom .card-details:hover{color:var(--rose)}
.visit-banner{background:var(--salon-pink);color:var(--ink);border:1px solid var(--salon-pink-deep)}
.visit-banner .eyebrow,.visit-banner p{color:#705662}
.visit-banner .button.white{background:var(--rose);color:#fff;border-color:var(--rose)}
.visit-banner .button.white:hover{background:var(--rose-dark)}
.banner-flower{color:#aa788815}
.step span,.booker-flower{color:#997687}
.service-listing,.service-listing:hover{background:#fffcfd;border-color:var(--line)}
.option-search,.sort-label select{border-color:#d9c5ce}
.option-search{background:#fffcfd}
.option-search svg{color:var(--rose)}
.source-marker>span{background:var(--rose)}
.booker-card,.booking-card,.contact-card{background:var(--sage)}
.spa-footer{background:var(--salon-pink);color:var(--ink)}
.spa-footer-bottom{background:var(--salon-pink-deep);color:var(--ink)}
.hours-list>div,.spa-footer-grid>section+section{border-color:#e2cfd8}
.hours-list dd,.lunch-note,.footer-policies>p,.footer-contact p{color:#705965}
.policy-symbol span{background:#b79ba9}
.footer-socials a{border-color:#bea2b0}
.footer-socials a:hover{background:var(--rose);border-color:var(--rose)}
.floor-note{border-color:var(--line)}
.location-map-card,.leaflet-popup-content-wrapper{background:#fcf7f9}
.map-heading-flower,.floor-note>span{color:#967485}
.map-app-links>a,.popup-map-links>a,.map-recentre{border-color:#d8c3cd}

/* Equipment: original salon imagery, with concise factual service categories. */
.equipment-section{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.equipment-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:70px;align-items:center;padding-top:76px;padding-bottom:76px}
.equipment-copy h2{font-size:clamp(38px,3.8vw,57px)}
.equipment-copy h2 em,.why-copy h2 em{font-weight:400;color:#916d7e}
.equipment-copy>.eyebrow{margin-bottom:22px}
.equipment-copy>p{font-size:16px;line-height:1.85;max-width:565px;margin-top:25px}
.equipment-categories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:34px;padding-top:24px;border-top:1px solid var(--line)}
.equipment-categories>div>span{font-size:11px;color:#8f6c7c;letter-spacing:.1em}
.equipment-categories h3{font-size:24px;margin:11px 0 12px}
.equipment-categories p{font-size:13px;line-height:1.75}
.equipment-copy>.equipment-guidance{font-size:14px;margin-top:28px}
.equipment-copy>.text-link{margin-top:23px}
.equipment-figure{margin:0;min-width:0}
.equipment-image-wrap{padding:18px 28px;background:#fff;max-width:365px;margin:0 auto}
.equipment-figure img{width:100%;height:auto;max-height:470px;object-fit:contain}
.equipment-figure figcaption{border-top:1px solid var(--line);margin-top:20px;padding-top:16px;text-align:center;font-size:12px;color:var(--muted);line-height:1.7}
.equipment-figure figcaption>span{display:block;font-size:9px;letter-spacing:.17em;margin-bottom:5px}

/* Compact, manual carousel. Only actual review excerpts are shown. */
.why-section{padding:80px 0;background:var(--cream)}
.why-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:80px;align-items:center}
.why-copy h2{font-size:clamp(39px,3.6vw,54px)}
.why-copy>.eyebrow{margin-bottom:22px}
.why-copy>p{font-size:16px;line-height:1.85;margin-top:22px}
.why-reasons{list-style:none;margin:27px 0 0;padding:0}
.why-reasons li{display:flex;gap:18px;align-items:flex-start;padding:16px 0;border-top:1px solid var(--line)}
.why-reasons li>span{font-size:11px;color:#8f6c7c;padding-top:4px;letter-spacing:.08em}
.why-reasons h3{font-family:var(--sans);font-size:15px;font-weight:500;letter-spacing:0;margin-bottom:5px;line-height:1.5}
.why-reasons p{font-size:13px;line-height:1.75}
.review-carousel{min-width:0;background:#fffdfd;border:1px solid var(--line);padding:32px 36px 24px;box-shadow:0 12px 40px #503d4505;border-radius:3px;touch-action:pan-y}
.review-card-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:23px;border-bottom:1px solid var(--line)}
.review-card-top .eyebrow{font-size:9px;margin:0;letter-spacing:.13em}
.review-card-top .eyebrow:before{display:none}
.review-source{font-size:12px;color:var(--muted);white-space:nowrap}
.review-source:hover,.review-disclosure a:hover{text-decoration:underline;text-underline-offset:4px}
.review-viewport{display:grid;padding-top:28px}
.review-slide{grid-area:1/1;min-width:0}
.review-slide[hidden]{display:none}
.review-stars{font-size:14px;letter-spacing:.2em;color:#876d54;line-height:1;margin-bottom:23px}
.review-slide blockquote{margin:0;min-height:160px;display:flex;align-items:flex-start}
.review-slide blockquote p{font-family:var(--serif);font-size:clamp(29px,2.65vw,39px);line-height:1.22;letter-spacing:-.025em;color:var(--ink)}
.review-author{display:flex;gap:13px;align-items:center;margin-top:22px}
.review-avatar{width:42px;height:42px;display:grid;place-items:center;flex:0 0 42px;border-radius:50%;background:var(--sage);border:1px solid var(--line);font-size:12px;color:var(--rose)}
.review-author strong{display:block;font-size:14px;font-weight:500}
.review-author div>span{display:block;font-size:11px;color:var(--muted);margin-top:3px}
.review-navigation{display:flex;align-items:center;justify-content:space-between;margin-top:28px;padding-bottom:22px}
.review-counter{font-size:13px;font-variant-numeric:tabular-nums}
.review-counter>span{margin-left:5px;color:var(--muted)}
.review-buttons{display:flex;gap:9px}
.review-buttons button{width:44px;height:44px;display:grid;place-items:center;background:transparent;border:1px solid #cdb7c1;border-radius:50%;font-size:22px;line-height:1;color:var(--ink);transition:background .2s}
.review-buttons button:hover{background:var(--sage);border-color:var(--rose)}
.review-disclosure{display:flex;justify-content:space-between;gap:18px;align-items:center;padding-top:18px;border-top:1px solid var(--line);font-size:10px;line-height:1.7;color:var(--muted)}
.review-disclosure a{white-space:nowrap;color:var(--ink);font-size:11px}
@media(min-width:1600px){.equipment-layout{padding-top:90px;padding-bottom:90px}}
@media(max-width:1100px){.equipment-layout{gap:35px}.equipment-categories{gap:14px}.equipment-categories h3{font-size:21px}.equipment-categories p{font-size:12px}.why-layout{gap:36px}.review-carousel{padding:27px 25px 22px}.review-disclosure{flex-direction:column;align-items:flex-start;gap:5px}.review-slide blockquote{min-height:178px}}
@media(max-width:760px){.equipment-layout{grid-template-columns:1fr;padding-top:52px;padding-bottom:48px;gap:32px}.equipment-copy>p{font-size:15px}.equipment-categories{margin-top:27px;gap:15px}.equipment-categories h3{font-size:22px}.equipment-categories p{font-size:12px}.equipment-image-wrap{max-width:280px;padding:0 15px}.equipment-figure img{max-height:340px}.equipment-figure figcaption{margin-top:18px}.why-section{padding:52px 0}.why-layout{grid-template-columns:1fr;gap:28px}.why-copy h2 br{display:none}.why-copy h2 em{display:block}.why-copy>p{font-size:15px}.why-reasons{margin-top:23px}.review-carousel{padding:25px 22px 20px}.review-card-top{gap:12px;padding-bottom:20px}.review-card-top .eyebrow{font-size:8px}.review-source{font-size:11px}.review-slide blockquote{min-height:142px}.review-slide blockquote p{font-size:31px}.review-navigation{margin-top:22px;padding-bottom:18px}.review-disclosure{flex-direction:row;align-items:center;font-size:9px;gap:12px}.review-disclosure a{font-size:10px}.hero-image{border-top-right-radius:64px}}
@media(max-width:480px){.equipment-categories{grid-template-columns:1fr}.equipment-categories>div{display:grid;grid-template-columns:24px 1fr;column-gap:12px;align-items:baseline}.equipment-categories h3{margin:0 0 6px}.equipment-categories p{grid-column:2}.equipment-categories p br{display:none}.review-slide blockquote{min-height:155px}.review-slide blockquote p{font-size:28px}.review-disclosure{flex-direction:column;align-items:flex-start;gap:5px}}

/* Soft pink controls with dark, readable labels. */
:root{--ink:#513c49;--muted:#78616e;--rose:#895569;--rose-dark:#714256;--button-pink:#f9ced6;--button-hover:#f4b9c6}
body,.header{background:#fff8fa}
.hero h1 em,.page-title h1 em,.editorial-copy h2 em,.equipment-copy h2 em,.why-copy h2 em{color:#98647a}
.button,.visit-banner .button.white{background:var(--button-pink);border-color:#edb5c2;color:#513345}
.button:hover,.visit-banner .button.white:hover{background:var(--button-hover);border-color:#df9caf;color:#513345}
.button.light,.button.white{background:#fff5f8;border-color:#e8bdcb;color:#513345}
.button.light:hover,.button.white:hover{background:#fbe4eb;color:#513345}
.chip.selected,.chip:hover,.footer-socials a:hover{background:var(--button-pink);border-color:#e8bdcb;color:#513345}
.hero-image{background:#fce3e9}
.review-stars{color:#895569}
/* Equal content tracks keep prices aligned across each card row. */
.card{display:flex;flex-direction:column;min-width:0}
.card>.card-image{flex-shrink:0}
.card>p{min-height:0;margin-bottom:18px}
.card>.card-bottom{margin-top:auto}
@supports(grid-template-rows:subgrid){
 .card{display:grid;grid-template-rows:subgrid;grid-row:span 4;row-gap:0}
 .card>.card-bottom{margin-top:0}
}
.card-bottom>div{min-width:0}
@media(max-width:760px){
 .card-bottom{display:grid;grid-template-columns:minmax(0,1fr);align-content:start;gap:10px;min-height:0}
 .card-bottom .card-details{justify-self:start;min-height:44px}
 .card-bottom strong{line-height:1.35;overflow-wrap:normal}
 .card-bottom>div>span{display:block;line-height:1.6;margin-top:5px}
}