/* Shared palette and finishes taken from the Ly-Yo banner. */
:root{
  --ink:#3e5868;
  --muted:#5e7381;
  --paper:#ffffff;
  --blue:#e7f3fc;
  --gold:#876123;
  --gold-bright:#aa7a30;
  --gold-edge:#c8a66a;
  --gold-soft:#ead9b7;
  --line:#dce8ee;
  --booking-button:#eedcaf;
  --booking-busy:#eee8de;
  --booking-available:#e3f1fa;
  --button-text:#46331c;
  --action-fill:linear-gradient(115deg,#dfbd78 0%,#fff0c9 36%,#d5ae63 68%,#f6e3b5 100%);
  --action-hover:linear-gradient(115deg,#efd29a 0%,#fff5de 36%,#e2bf7f 68%,#fff0cd 100%);
  --ice-fill:linear-gradient(120deg,#ffffff 8%,#edf7ff 52%,#dceefa 100%);
  --panel-fill:radial-gradient(ellipse at 5% 0%,#e1f0fc 0%,transparent 48%),radial-gradient(ellipse at 100% 100%,#e7f4fc 0%,transparent 48%),linear-gradient(120deg,#f6fbff,#fff 55%,#f1f8fd);
}
body{background:#fff;color:var(--ink)}
h1,h2,h3{color:#73502c}
h1 em,h2 em{color:var(--gold-bright)}
p{color:var(--muted)}
::selection{background:#e9d3a3;color:#46331c}
a,button,summary{touch-action:manipulation}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
.topbar{background:var(--ice-fill);color:#725226;border-bottom:1px solid var(--gold-soft)}
.topbar span{color:var(--gold-bright)}
.header{background:rgba(255,255,255,.97);border-bottom:1px solid var(--gold-soft);box-shadow:0 3px 18px #c9ddea12}
.wordmark{color:#8a5d28}
.wordmark span{color:var(--ink)}
.button,.button:not(.nav-book),.nav-book,.style-choice button{
  background:var(--action-fill);color:var(--button-text);border:1px solid var(--gold-edge);border-radius:0;
  box-shadow:inset 0 1px 0 #fff8,0 3px 10px #a67a3512;font-weight:600;
  transition:background .2s,box-shadow .2s,transform .2s;
}
.button:hover,.button:not(.nav-book):hover,.nav-book:hover,.style-choice button:hover{
  background:var(--action-hover);color:var(--button-text);border-color:#af823c;box-shadow:inset 0 1px 0 #fff9,0 5px 14px #a67a3520;transform:translateY(-1px);
}
.button:active,.style-choice button:active{transform:translateY(0);box-shadow:inset 0 2px 5px #a67a3520}
.button span,.nav-book span{color:#80531f}
.home-book-shine{position:relative;overflow:hidden;isolation:isolate}
.hero-intro .hero-actions .button.home-book-shine>span{position:relative;z-index:1;color:inherit;font:inherit}
.home-book-shine::before,.home-book-shine::after{content:"";position:absolute;top:-40%;bottom:-40%;left:-40%;width:36%;background:linear-gradient(90deg,transparent,#fff9 50%,transparent);pointer-events:none}
.home-book-shine::before{animation:home-book-shine 7s ease-in-out infinite}
.home-book-shine::after{transform:translateX(0) skewX(-18deg);opacity:0}
.home-book-shine:is(:hover,:focus-visible)::before{visibility:hidden}
.home-book-shine:is(:hover,:focus-visible)::after{animation:home-book-hover-shine 1.8s ease-in-out 1}
@keyframes home-book-shine{0%{transform:translateX(0) skewX(-18deg);opacity:0}3%{opacity:.8}26%{opacity:.8}30%,100%{transform:translateX(400%) skewX(-18deg);opacity:0}}
@keyframes home-book-hover-shine{0%{transform:translateX(0) skewX(-18deg);opacity:0}10%{opacity:.8}80%{opacity:.8}100%{transform:translateX(400%) skewX(-18deg);opacity:0}}
@media(prefers-reduced-motion:reduce){.home-book-shine::before,.home-book-shine::after{animation:none;display:none}}
.menu-toggle{background:var(--ice-fill);border:1px solid var(--gold-edge);color:#725226;border-radius:0;box-shadow:inset 0 1px 0 #fff9}
.menu-toggle:hover,.menu-toggle[aria-expanded=true]{background:var(--action-hover);border-color:var(--gold-edge);color:var(--button-text)}
.menu-toggle svg{color:var(--gold)}
.site-menu,.site-menu.open{background:linear-gradient(135deg,#fff 25%,#f1f8ff);border-color:var(--gold-soft);border-top-color:var(--gold-edge);border-radius:0;box-shadow:0 16px 42px #496a7e1c}
.menu-group+.menu-group{border-top-color:var(--gold-soft)}
.menu-label,.site-menu a span{color:var(--gold)}
.site-menu a{color:var(--ink);border:1px solid transparent}
.site-menu a:hover{background:var(--ice-fill);border-color:var(--gold-soft);color:#725226}
.brand-banner{background:#edf6fc;border-bottom-color:var(--gold-edge)}
.brand-banner{position:relative}
.christian-seal{position:absolute;left:var(--seal-logo-center,82px);top:14px;transform:translateX(-50%);width:clamp(96px,10vw,132px);aspect-ratio:1;padding:0;border:0;border-radius:0;background:transparent;color:#876123;filter:drop-shadow(0 3px 8px #73502c25);cursor:pointer}
.christian-seal svg{display:block;width:100%;height:100%;overflow:visible}
.christian-seal .seal-surface{fill:#fffdf7}
.christian-seal .seal-edge{fill:none;stroke:#c8a66a;stroke-width:1.5}
.christian-seal .seal-inner{fill:url(#christian-seal-brown);stroke:#dfc796;stroke-width:1}
.christian-seal .seal-text{fill:#1b3557;font-family:var(--sans);font-size:13.5px;font-weight:600}
.christian-seal .seal-separator{fill:#1b3557}
.christian-seal .seal-cross-depth{fill:none;stroke:#92602d;stroke-width:4.5;stroke-linecap:round;opacity:.8;transform:translateY(.6px)}
.christian-seal .seal-cross{fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round}
.christian-seal .seal-rotating{transform-origin:80px 80px;animation:christian-seal-turn 26s linear infinite}
.christian-seal .seal-orbit{fill:none;stroke:#aa7a30;stroke-width:2;stroke-linecap:round;stroke-dasharray:38 434;transform-origin:80px 80px;animation:christian-seal-turn 18s linear infinite reverse}
.christian-seal .seal-shine{animation:christian-seal-shine 3s ease-in-out infinite;pointer-events:none}
.christian-seal:hover .seal-motion,.christian-seal:focus-visible .seal-motion,.christian-seal[aria-pressed="true"] .seal-motion{animation-play-state:paused}
@keyframes christian-seal-turn{to{transform:rotate(360deg)}}
@keyframes christian-seal-shine{0%{transform:translateX(-90px);opacity:0}8%{opacity:.8}92%{transform:translateX(290px);opacity:.8}100%{transform:translateX(290px);opacity:0}}
@media(max-width:540px){.christian-seal{width:80px;top:10px;left:var(--seal-logo-center,52px)}}
@media(prefers-reduced-motion:reduce){.christian-seal .seal-motion{animation:none}.christian-seal .seal-shine{display:none}}
.eyebrow,.tag,.contact-details span,.booking-label{color:var(--gold)}
.small-line{background:linear-gradient(90deg,#d6b36c,#946827)}
.text-link,.back-link{color:#805b2a;border-color:var(--gold-edge)}
.text-link:hover,.back-link:hover{color:#624316;border-color:#946827}
.sunburst,.gallery-item i,.faq-list summary span{color:var(--gold-bright)}
.brand-crown{display:block;flex-shrink:0;width:38px;height:34px}
.hero-foot strong{color:#73502c}
.specialties{background:var(--ice-fill);border-block-color:var(--gold-soft);color:#725226}
.specialties i{color:var(--gold-bright)}
.treatment{position:relative;background:linear-gradient(145deg,#fff 65%,#f2f9fe);border:1px solid var(--gold-soft);border-radius:0;box-shadow:0 4px 18px #395b7010}
.treatment-photo{background:var(--ice-fill)}
.photo-index{background:#fffaf0;color:#805b2a;border:1px solid var(--gold-soft);border-radius:0}
.treatment-bottom{border-top-color:var(--gold-soft)}
.treatment-bottom strong,.style-price{color:#805b2a}
.round-link{background:var(--action-fill);border:1px solid var(--gold-edge);color:#795121;box-shadow:inset 0 1px 0 #fff9}
.round-link:hover{background:var(--action-hover);color:#5e3c13}
.treatment .round-link::after{content:"";position:absolute;inset:0;z-index:1;border-radius:0;cursor:pointer}
.treatment:hover{border-color:var(--gold-edge)}
.treatment:has(.round-link:focus-visible){outline:3px solid var(--gold);outline-offset:4px}
.about{background:#ffffff;border-block-color:var(--gold-soft)}
.about .eyebrow{color:var(--gold)}
.about h2 em{color:var(--gold-bright)}
.about-copy p{color:var(--muted)}
.about-copy .text-link{color:#805b2a;border-color:var(--gold-edge)}
.about-star{color:var(--gold-edge);opacity:.13}
.about-crown{width:140px;height:126px;right:0;bottom:0}
.gallery-item img{background:var(--ice-fill);border:1px solid var(--gold-soft);border-radius:0}
.gallery-item>span{color:#73502c}
.booking{background:var(--panel-fill);border-block-color:var(--gold-soft)}
.booking-steps li{color:var(--muted);border-bottom-color:#ddcfb4}
.booking-steps li>span{background:var(--ice-fill);border-color:var(--gold-soft);color:#805b2a}
.booking-steps .active{color:#73502c;border-color:var(--gold-edge)}
.booking-steps .active>span{background:var(--action-fill);color:#624316;border-color:var(--gold-edge)}
.booking-box{background:linear-gradient(135deg,#fff 65%,#f7fbfe);border-color:var(--gold-soft);border-radius:0;box-shadow:0 5px 20px #395b700b}
.category-choices button{background:var(--ice-fill);border-color:var(--gold-soft);border-radius:0;color:var(--ink);box-shadow:inset 0 1px 0 #fff9}
.category-choices button:hover{background:var(--action-hover);border-color:var(--gold-edge);color:#73502c}
.category-choices i{color:var(--gold)}
.style-choice{background:#fff;border-color:var(--gold-soft);border-radius:0}
.style-choice h4{color:#73502c}
.style-choice img{background:var(--ice-fill);border-radius:0}
.back-link{background:transparent}
#extras{border:1px solid var(--gold-soft);background:var(--ice-fill);border-radius:0;padding:24px;margin:28px 0 0}
#extras-title{font-family:var(--serif);font-size:24px;font-weight:400;color:#73502c;margin:0 0 10px}
.extras-intro{font-size:13px;line-height:1.8}
#extra-list{display:grid;grid-template-columns:1fr 1fr;gap:16px}
#extras .style-choice{flex-wrap:wrap;background:#fff;gap:14px}
#extras .style-choice .style-description{flex-basis:140px}
#extras .style-choice .style-price{margin-left:auto}
#extras .subnote{font-size:12px;line-height:1.9;margin-top:16px}
#extras .subnote .text-link{font-size:12px}
#extras summary{color:#805b2a;font-size:12px}
.boho-extra{margin-top:18px;padding-top:16px;border-top:1px solid var(--gold-soft)}
.extra-choice{cursor:pointer}.extra-choice input{width:20px;height:20px;accent-color:var(--gold);flex-shrink:0}.extra-choice:has(input:checked),.selected-style{border-color:var(--gold-edge);box-shadow:0 0 0 1px var(--gold-edge)}#extra-list .extra-choice:last-child{grid-column:1/-1}#style-selection-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;margin-top:24px;border-top:1px solid var(--gold-soft);padding-top:24px}#selection-summary{font-size:14px;line-height:1.8;flex:1;min-width:220px;color:#73502c}#style-selection-error{color:#a13720;font-size:14px;width:100%}#extras-title{scroll-margin-top:120px}#style-choices button[aria-pressed="true"]{box-shadow:0 0 0 2px var(--gold-edge)}@media(max-width:540px){#style-continue{width:100%}.extra-choice .style-price{margin-left:auto}}
@media(max-width:760px){#extra-list{grid-template-columns:1fr}#extras{padding:18px}#extras-title{font-size:22px}}
#booking-summary{color:#73502c}
#widget-loading{background:var(--ice-fill);border:1px solid var(--gold-soft);border-radius:0;color:var(--ink)}
#simplybook-widget{border-radius:0;overflow:hidden}
.widget-fallback{border-top-color:var(--gold-soft)}
.faq-list details{border-bottom-color:var(--gold-soft)}
.faq-list summary{color:#73502c}
.faq-list summary:hover{color:var(--gold)}
.contact{background:var(--panel-fill);border-color:var(--gold-soft);border-top-color:var(--gold-edge);border-radius:0;box-shadow:0 5px 22px #395b700b}
.contact-details p,.contact-details a{color:var(--ink)}
.contact-details a:hover{color:var(--gold)}
.footer{border-top-color:var(--gold-soft)}
.footer>a:last-child{color:#805b2a}
dialog{background:#fff;border:1px solid var(--gold-soft);box-shadow:0 20px 70px #28465633}
dialog::backdrop{background:#294655d9}
.lightbox-close{background:var(--action-fill);color:#624316;border:1px solid var(--gold-edge);width:44px;height:44px}
.lightbox-close:hover{background:var(--action-hover)}
.skip{background:var(--action-fill);color:var(--button-text);border:1px solid var(--gold-edge)}
@media(prefers-reduced-motion:reduce){.button,.button:not(.nav-book),.nav-book,.style-choice button{transition:none;transform:none}}

.contact-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px 24px}.about-actions{margin-top:25px}.about-copy .about-actions .text-link{margin-top:0}#contact .contact-actions{margin-top:25px}#contact .contact-actions .button{margin-top:0}@media(max-width:540px){.contact-actions{gap:14px 20px}.contact-actions .text-link{min-height:44px;align-items:center}}
.hero.hero-intro{padding-top:22px;row-gap:22px}.intro-socials{grid-column:1/-1;display:flex;align-items:center;gap:12px}.social-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;border:1px solid var(--gold-edge);border-radius:50%;background:#fff;color:var(--gold);box-shadow:0 2px 8px #a67a350b;transition:background .2s,color .2s,transform .2s}.social-icon svg{width:23px;height:23px;display:block}.social-icon:hover{background:var(--action-fill);color:#624316;transform:translateY(-2px)}@media(max-width:540px){.hero.hero-intro{padding-top:24px;row-gap:22px}.intro-socials{gap:14px}}@media(prefers-reduced-motion:reduce){.social-icon{transition:none}.social-icon:hover{transform:none}}

.treatment-bottom{justify-content:flex-end}

.salon-location{padding-top:44px;padding-bottom:64px}.salon-location-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px}.salon-location h2{font-size:36px;margin:12px 0}.salon-location-heading p{color:var(--ink);font-size:14px;line-height:1.8}.salon-location .button{flex-shrink:0}.salon-map{border:1px solid var(--gold-soft);border-radius:0;overflow:hidden;background:var(--ice-fill)}.salon-map iframe{display:block;border:0;width:100%;height:360px}@media(max-width:600px){.salon-location{padding-top:36px;padding-bottom:44px}.salon-location-heading{align-items:flex-start;flex-direction:column;gap:18px}.salon-location h2{font-size:30px}.salon-map iframe{height:300px}}
.nav-brand{display:flex;align-items:center;gap:18px;flex-shrink:0}.brand-city{font-family:var(--sans);font-size:10px;font-style:normal;font-weight:500;line-height:1.4;letter-spacing:1.7px;text-transform:uppercase;color:var(--gold);border-left:1px solid var(--gold-soft);padding:5px 0 5px 18px}@media(max-width:600px){.nav-brand{flex-direction:column;align-items:flex-start;gap:5px}.brand-city{font-size:7px;letter-spacing:1.7px;border:0;padding:0}}
.treatment-info p{min-height:0}.treatment-bottom{border-top:0;padding-top:0;margin-top:10px}


.hero.hero-intro{align-items:start;padding-bottom:32px}.hero-intro .intro-socials{grid-column:1}.hero-intro .intro-heading{grid-column:1}.hero-intro .hero-copy{grid-column:2;grid-row:1/span 2;align-self:start}.hero-intro .hero-foot{margin-top:20px}@media(max-width:540px){.hero.hero-intro{row-gap:18px;padding-top:20px;padding-bottom:28px}.hero-intro .hero-copy{grid-column:1;grid-row:auto}.hero-intro h1{margin-top:14px}.hero-intro .hero-foot{margin-top:18px}}
.nav-wrap>.menu-toggle{margin-left:auto}.round-link.category-book{display:inline-flex;align-items:center;justify-content:center;gap:16px;width:auto;min-width:132px;height:auto;min-height:44px;padding:10px 16px;border-radius:0;font-family:var(--sans);font-size:13px;font-weight:500;line-height:1.4;white-space:nowrap}.category-book span:last-child{font-size:20px;line-height:1}.treatment:hover .category-book{background:var(--action-hover);color:#5e3c13}
.hero-intro .hero-actions{margin-top:0}.hero-intro .hero-copy>p{margin-top:22px}
@media(min-width:541px){.hero-intro .hero-copy{grid-row:2;padding-top:35px}}@media(min-width:541px) and (max-width:800px){.hero-intro .hero-copy{padding-top:32px}}
@media(max-width:540px){.hero.hero-intro{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);column-gap:14px;row-gap:18px}.hero-intro .intro-socials{grid-column:1/-1;grid-row:1}.hero-intro .intro-heading{display:contents}.hero-intro .intro-heading>.eyebrow{grid-column:1/-1;grid-row:2}.hero-intro h1{grid-column:1;grid-row:3;min-width:0;margin:0;font-size:clamp(24px,7.5vw,34px);line-height:1.2;letter-spacing:-1px}.hero-intro .hero-copy{grid-column:2;grid-row:3;min-width:0;padding:0}.hero-intro .hero-actions{gap:8px}.hero-intro .hero-actions .button{width:100%;padding:10px 8px;font-size:12px;gap:8px}.hero-intro .hero-actions .button span{font-size:18px}.hero-intro .hero-actions .text-link{width:100%;font-size:11px;gap:6px;justify-content:center;min-height:44px}.hero-intro .hero-copy>p{margin-top:16px;font-size:12px;line-height:1.75}.hero-intro .hero-foot{gap:7px;font-size:9px;line-height:1.6;margin-top:18px}.hero-intro .hero-foot .brand-crown{width:26px;height:26px;flex-shrink:0}}
@media(max-width:540px){.hero-intro .hero-copy>p{font-size:13px;line-height:1.65}.hero-intro .hero-actions .text-link{font-size:12px}.hero-intro .hero-foot{font-size:10px}}
.button{justify-content:center}
.intro-tagline{font-family:var(--sans);font-size:14px;font-weight:400;line-height:1.5;letter-spacing:.04em;color:#805b2a;margin-top:14px}@media(max-width:540px){.hero-intro .intro-title-group{grid-column:1;grid-row:3;min-width:0}.intro-tagline{font-size:12px;letter-spacing:.02em;margin-top:10px}}
.intro-cross{display:inline-block;width:.75em;height:1em;margin-left:.45em;vertical-align:-.12em;color:inherit}

/* Let the existing service button cover its entire card. */
#style-choices .style-choice{position:relative;cursor:pointer}
#style-choices .style-choice button{position:static;transform:none}
#style-choices .style-choice button::after{content:"";position:absolute;inset:0;z-index:1;border-radius:0;cursor:pointer}
#style-choices .style-choice:hover{border-color:var(--gold-edge)}
#style-choices .style-choice button:focus-visible{outline:none}
#style-choices .style-choice button:focus-visible::after{outline:3px solid var(--gold-edge);outline-offset:3px}

.no-extras-title{display:block;color:#73502c;font-size:13px;font-weight:600}.no-extras-description{display:block;color:var(--muted);font-size:11px;line-height:1.7;margin-top:6px}@media(max-width:540px){.no-extras-title{font-size:14px}.no-extras-description{font-size:12px}}

/* Keep the booking action and crown together, then the introduction and links. */
.hero-intro .hero-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.hero-intro .hero-secondary-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 14px;border:1px solid var(--gold-soft);border-radius:0;background:#fff;color:#795121;font-size:12px;font-weight:500;line-height:1.5;text-align:center;transition:background .2s,border-color .2s}
.hero-intro .hero-secondary-link:hover{background:var(--ice-fill);border-color:var(--gold-edge)}
.hero-intro .hero-about-link{font:inherit;color:#795121;text-decoration:underline;text-decoration-color:var(--gold-soft);text-underline-offset:3px}
.hero-intro .hero-about-link:hover{color:#5e3c13;text-decoration-color:currentColor}
@media(min-width:541px){
  .hero-intro .hero-copy{display:flex;flex-direction:column}
  .hero-intro .hero-cta-group{display:flex;flex-direction:column;align-items:flex-start}
  .hero-intro .hero-foot{margin-top:14px}
  .hero-intro .hero-copy>.hero-description{margin-top:16px}
}
@media(max-width:540px){
  .hero-intro .hero-copy{display:contents}
  .hero-intro .hero-cta-group{grid-column:2;grid-row:3;min-width:0;display:flex;flex-direction:column;align-self:start}
  .hero-intro .hero-copy>.hero-description{grid-column:1/-1;grid-row:4;margin-top:0;max-width:none}
  .hero-intro .hero-links{grid-column:1/-1;grid-row:5;margin-top:0;gap:10px}
  .hero-intro .hero-secondary-link{font-size:12px;padding:9px 12px}
  .hero-intro .hero-foot{margin-top:14px}
}

/* Two compact, fully clickable service categories per row on phones. */
@media(max-width:540px){
  .treatment-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .treatment{display:flex;flex-direction:column;min-width:0}
  .treatment-photo{display:block}
  .treatment-photo img{width:100%;aspect-ratio:1;object-fit:contain}
  .treatment-info{padding:14px 12px;flex:1;min-width:0}
  .treatment-info .tag{font-size:8px;letter-spacing:.65px;line-height:1.6}
  .treatment-info h3{font-size:clamp(19px,5.4vw,25px);letter-spacing:-.5px;margin-top:9px}
  .treatment-info p{font-size:12px;line-height:1.7;margin-top:10px}
  .treatment-bottom{margin-top:auto;padding-top:14px}
  .treatment .round-link.category-book{width:100%;min-width:0;padding:10px 8px;font-size:12px;min-height:44px}
}

/* Share text rows between adjacent phone/tablet cards so wrapped tags keep titles aligned. */
@media(max-width:800px){
  .treatment-grid .treatment{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:subgrid;grid-row:span 5;row-gap:0}
  .treatment-grid .treatment-info{display:grid;grid-template-rows:subgrid;grid-row:span 4;row-gap:0}
  .treatment-grid .treatment-bottom{margin-top:0;align-self:end}
}

/* A single row of numbered steps, with only the current explanation below. */
.booking .booking-steps{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:30px 0 12px;padding:0;scroll-margin-top:110px}
.booking .booking-steps::before{content:"";position:absolute;left:10%;right:10%;top:22px;height:1px;background:var(--gold-soft)}
.booking .booking-steps li{position:relative;display:flex;align-items:center;justify-content:center;gap:0;border:0;padding:0;min-width:0}
.booking .booking-step{position:relative;z-index:1;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid var(--gold-soft);border-radius:50%;background:#f3f9fd;color:#647b8e;font-size:14px;line-height:1;opacity:1;cursor:default}
.booking .booking-steps .active .booking-step{background:var(--action-fill);border-color:var(--gold-edge);color:var(--button-text);font-weight:600}
.booking .booking-steps .completed .booking-step{background:#fff;border-color:var(--gold-edge);color:#805b2a;cursor:pointer}
.booking .booking-steps .completed .booking-step:hover{background:var(--action-hover)}
.booking .booking-step:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
.booking-current-step{display:flex;flex-direction:column;align-items:center;gap:3px;text-align:center;margin-bottom:24px;min-height:51px}
.booking-current-step strong{font-size:14px;font-weight:600;color:#73502c}
.booking-current-step span{font-size:12px;color:var(--muted);line-height:1.7}
@media(max-width:540px){.booking .booking-steps{scroll-margin-top:85px}.booking-current-step{margin-bottom:20px}.booking-current-step span{max-width:100%}}

/* Photo-first category cards for the first booking step. */
.booking #category-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.booking #category-choices button{display:grid;grid-template-rows:subgrid;grid-row:span 4;align-items:stretch;gap:0;min-width:0;padding:0;overflow:hidden;text-align:left;background:linear-gradient(145deg,#fff 65%,#f2f9fe);border-radius:0}
.booking #category-choices button:hover{border-color:var(--gold-edge);background:linear-gradient(145deg,#fff 65%,#f2f9fe)}
.booking #category-choices img{width:100%;height:auto;aspect-ratio:1;object-fit:contain;background:var(--ice-fill)}
.booking #category-choices .booking-category-info{display:grid;grid-template-rows:subgrid;grid-row:span 3;align-items:start;gap:8px;padding:18px 24px;min-width:0}
.booking #category-choices .booking-category-tag{font-size:9px;font-weight:600;letter-spacing:1.25px;line-height:1.7;color:var(--gold)}
.booking #category-choices .booking-category-name{font-family:var(--serif);font-size:30px;line-height:1.25;font-weight:400;color:#73502c}
.booking #category-choices .booking-category-action{display:inline-flex;align-items:center;justify-content:center;justify-self:end;align-self:end;min-height:44px;padding:10px 18px;margin-top:0;border:1px solid var(--gold-edge);border-radius:0;background:var(--action-fill);color:#795121;font-size:13px;font-weight:500;line-height:1.4;text-align:center;box-shadow:inset 0 1px 0 #fff9}
.booking #category-choices button:hover .booking-category-action{background:var(--action-hover);color:#5e3c13}

/* Service titles share the serif typeface used by the main headings. */
.treatment-info h3,#chosen-category,.catalog-category-heading h2{font-family:var(--serif);font-weight:400;letter-spacing:-.02em}

.round-link.category-discover{display:inline-flex;align-items:center;justify-content:center;min-width:132px;width:auto;min-height:44px;height:auto;padding:10px 16px;border-radius:0;font-family:var(--sans);font-size:13px;font-weight:500;line-height:1.4;white-space:nowrap}
.treatment:hover .category-discover{background:var(--action-hover);color:#5e3c13}
@media(max-width:540px){.treatment .round-link.category-discover{width:100%;min-width:0;padding:10px 8px;font-size:12px}}
@media(max-width:540px){
  .booking #category-choices{gap:12px}
  .booking #category-choices .booking-category-info{gap:8px;padding:12px 10px}
  .booking #category-choices .booking-category-tag{font-size:8px;letter-spacing:.65px;min-height:0}
  .booking #category-choices .booking-category-name{font-size:clamp(18px,5vw,25px);letter-spacing:-.5px;min-height:0}
  .booking #category-choices .booking-category-action{width:100%;justify-self:stretch;align-self:stretch;padding:10px 5px;font-size:11px}
}

#style-choices .style-choice h4,#extra-list .style-choice h4{font-family:var(--serif);font-weight:400;font-size:18px;line-height:1.5}
