/* Nails & Pedicure service atlas: editorial hierarchy, not a card grid. */
#menu-nails { grid-column: 1 / -1; grid-template-columns: 1fr !important; }
#menu-nails > .home-service-chapter__media { display: none; }
#menu-nails .home-service-chapter__menu > h3 { margin: 0 0 clamp(1.25rem, 3vw, 2.7rem); font-size: clamp(2.45rem, 5vw, 5.4rem); }
#menu-nails .home-service-chapter__list { display: block !important; grid-template-columns: none !important; column-count: 1 !important; column-width: auto !important; border-top: 1px solid var(--menu-rule-strong); }
#menu-nails .nail-atlas { display: block !important; grid-column: 1 / -1 !important; width: 100% !important; }
#menu-nails .nail-atlas-panel { display:grid !important; grid-column:1 / -1 !important; width:100%; grid-template-columns:minmax(10rem,.18fr) minmax(0,.82fr); column-gap:clamp(1.25rem,2.5vw,3rem); align-items:start; padding:clamp(1.3rem,2.5vw,2.75rem) 0; border-bottom:1px solid var(--menu-rule-strong); }
#menu-nails .nail-atlas-rail { grid-column:1; grid-row:1 / span 2; align-self:stretch; padding:.35rem clamp(.75rem,1.7vw,1.5rem) 0 0; border-right:1px solid var(--menu-rule-strong); }
#menu-nails .nail-atlas-rail__number { display:block; color:var(--menu-accent); font-family:var(--font-display, Georgia, serif); font-size:clamp(2.2rem, 3vw, 3.6rem); line-height:.9; }
#menu-nails .nail-atlas-rail h4 { max-width:12ch; margin:1.5rem 0 0; color:var(--menu-ink); font-family:var(--font-display, Georgia, serif); font-size:clamp(1.15rem, 1.6vw, 1.85rem); font-weight:500; letter-spacing:-.025em; line-height:1.15; }
#menu-nails .nail-atlas-gallery { grid-column:2; display:grid; grid-template-columns:minmax(0,1.7fr) repeat(2,minmax(0,1fr)); grid-template-rows:minmax(12rem,clamp(14rem,22vw,22rem)); gap:3px; overflow:hidden; background:var(--menu-rule-strong); }
#menu-nails .nail-atlas-gallery img { display:block; width:100%; height:100%; min-height:0; object-fit:cover; }
#menu-nails .nail-atlas-gallery img:first-child { grid-row:auto; }
#menu-nails .nail-atlas-services { grid-column:2; display:grid; align-content:start; min-width:0; gap:clamp(1rem,2vw,1.75rem); padding-top:clamp(1rem,1.8vw,1.5rem); }
#menu-nails .nail-atlas-panel--enhancements .nail-atlas-services { grid-template-columns:repeat(3,minmax(0,1fr)); }
#menu-nails .nail-atlas-subgroup { display:flex; flex-direction:column; min-width:0; }
#menu-nails .nail-atlas-services .home-service-subgroup { margin:.1rem 0 .45rem; padding:0 0 .55rem; border-bottom:1px solid var(--menu-rule-strong); color:var(--menu-accent); font-size:.64rem; font-weight:800; letter-spacing:.13em; }
#menu-nails .nail-atlas-subgroup__visual { display:block; order:2; width:100%; aspect-ratio:4 / 3; margin:.15rem 0 .65rem; object-fit:cover; border-radius:.15rem; }
#menu-nails .nail-atlas-subgroup__services { order:3; }
#menu-nails .nail-atlas-services .home-service-item { padding:.5rem 0; }
#menu-nails .nail-atlas-services .home-service-item__copy span { font-size:.8rem; line-height:1.35; }
@media (min-width:1001px) { #menu-nails .nail-atlas-panel--care .nail-atlas-subgroup, #menu-nails .nail-atlas-panel--herbal .nail-atlas-subgroup { display:grid; grid-template-columns:minmax(13rem,.38fr) minmax(0,.62fr); column-gap:clamp(1.25rem,2.3vw,2.4rem); } #menu-nails .nail-atlas-panel--care .home-service-subgroup, #menu-nails .nail-atlas-panel--herbal .home-service-subgroup { grid-column:1; grid-row:1; } #menu-nails .nail-atlas-panel--care .nail-atlas-subgroup__visual, #menu-nails .nail-atlas-panel--herbal .nail-atlas-subgroup__visual { grid-column:1; grid-row:2; } #menu-nails .nail-atlas-panel--care .nail-atlas-subgroup__services, #menu-nails .nail-atlas-panel--herbal .nail-atlas-subgroup__services { grid-column:2; grid-row:1 / span 2; } }
@media (max-width:1000px) { #menu-nails .nail-atlas-panel { grid-template-columns:minmax(8.5rem,.24fr) minmax(17rem,.76fr); row-gap:1.3rem; } #menu-nails .nail-atlas-panel--enhancements .nail-atlas-services { grid-template-columns:1fr; } }
@media (max-width:640px) { #menu-nails .home-service-chapter__menu > h3 { font-size:2.65rem; } #menu-nails .nail-atlas-panel { grid-template-columns:1fr; gap:1rem; padding:1.4rem 0; } #menu-nails .nail-atlas-rail { grid-column:1; grid-row:auto; display:grid; grid-template-columns:3.25rem 1fr; align-items:center; gap:.75rem; padding:0 0 .9rem; border-right:0; border-bottom:1px solid var(--menu-rule-strong); } #menu-nails .nail-atlas-rail h4 { max-width:none; margin:0; font-size:1.3rem; } #menu-nails .nail-atlas-gallery, #menu-nails .nail-atlas-services { grid-column:1; } #menu-nails .nail-atlas-gallery { grid-template-columns:minmax(0,1.6fr) repeat(2,minmax(0,1fr)); grid-template-rows:minmax(8.5rem,42vw); } #menu-nails .nail-atlas-subgroup__visual { aspect-ratio:16 / 9; } }

/* Herbal options: the spa's labeled in-house ingredient library, kept in A-Z order. */
.herbal-options-library { margin-top:clamp(.45rem,1.4vw,1.15rem); padding:clamp(1.15rem,2.4vw,2rem); border:1px solid rgba(91,95,67,.28); border-radius:1rem; background:linear-gradient(145deg,rgba(247,242,232,.98),rgba(235,230,211,.88)); box-shadow:0 18px 42px rgba(88,72,50,.09); }
.herbal-options-library__header { display:grid; grid-template-columns:minmax(13rem,.72fr) minmax(16rem,1.28fr); gap:clamp(1rem,3vw,3rem); align-items:end; padding-bottom:clamp(1rem,2vw,1.5rem); border-bottom:1px solid rgba(91,95,67,.28); }
.herbal-options-library__header span { color:#6d704c; font-size:.65rem; font-weight:850; letter-spacing:.18em; text-transform:uppercase; }
.herbal-options-library__header h5 { margin:.35rem 0 0; color:var(--menu-ink); font-family:var(--font-display,Georgia,serif); font-size:clamp(1.55rem,2.4vw,2.35rem); font-weight:500; line-height:1.05; }
.herbal-options-library__header p { max-width:58ch; margin:0; color:var(--menu-muted,#6f6265); font-size:.84rem; line-height:1.65; }
.herbal-options-library__photos { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:3px; margin-top:clamp(1rem,2vw,1.5rem); overflow:hidden; border-radius:.55rem; background:rgba(91,95,67,.24); }
.herbal-options-library__photos figure { position:relative; min-width:0; margin:0; background:#ded6c5; }
.herbal-options-library__photos img { display:block; width:100%; aspect-ratio:4 / 3; object-fit:cover; }
.herbal-options-library__photos figure:first-child img { object-position:50% 20%; }
.herbal-options-library__photos figure:last-child img { object-position:50% 82%; }
.herbal-options-library__photos figcaption { position:absolute; inset:auto .65rem .65rem; width:max-content; max-width:calc(100% - 1.3rem); padding:.35rem .55rem; border-radius:.3rem; background:rgba(38,35,29,.78); color:#fffaf3; font-size:.62rem; line-height:1.3; }
.herbal-options-library__list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 1rem; margin:clamp(1rem,2vw,1.55rem) 0 0; padding:0; list-style:none; }
.herbal-options-library__list li { display:grid; grid-template-columns:1.75rem minmax(0,1fr); align-items:center; gap:.55rem; min-height:3rem; padding:.45rem 0; border-bottom:1px solid rgba(91,95,67,.2); }
.herbal-options-library__list li > span { display:inline-flex; align-items:center; justify-content:center; width:1.7rem; aspect-ratio:1; border:1px solid rgba(91,95,67,.38); border-radius:50%; color:#6d704c; font-family:var(--font-display,Georgia,serif); font-size:.78rem; }
.herbal-options-library__list strong { color:var(--menu-ink); font-size:.76rem; font-weight:700; line-height:1.3; }
@media (max-width:900px) { .herbal-options-library__header { grid-template-columns:1fr; } .herbal-options-library__list { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:560px) { .herbal-options-library { padding:1rem; } .herbal-options-library__photos,.herbal-options-library__list { grid-template-columns:1fr; } .herbal-options-library__photos figcaption { font-size:.58rem; } }

/* Lashes, tint and permanent beauty: three distinct service families. */
#menu-beauty { grid-column:1 / -1; grid-template-columns:1fr !important; }
#menu-beauty > .home-service-chapter__media { display:none; }
#menu-beauty .home-service-chapter__menu > h3 { max-width:19ch; margin-bottom:clamp(1.25rem,2.8vw,2.35rem); font-size:clamp(2.25rem,4.4vw,4.8rem); }
#menu-beauty .home-service-chapter__list { display:block !important; column-count:1 !important; column-width:auto !important; border-top:0; }
.beauty-service-atlas { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(.8rem,1.5vw,1.2rem); width:100%; column-span:all; }
.beauty-service-card { display:flex; flex-direction:column; min-width:0; overflow:hidden; border:1px solid rgba(125,63,85,.18); border-radius:1rem; background:#fffaf8; box-shadow:0 16px 38px rgba(82,50,62,.08); }
.beauty-service-card--2 { background:#fbf7ef; }
.beauty-service-card--3 { background:linear-gradient(155deg,#f8eff2,#fffaf8 72%); border-color:rgba(125,63,85,.3); }
.beauty-service-card__visual { position:relative; margin:0; overflow:hidden; background:#eadde0; }
.beauty-service-card__visual img { display:block; width:100%; aspect-ratio:4 / 3; object-fit:cover; }
.beauty-service-card--2 .beauty-service-card__visual img { object-position:55% 42%; }
.beauty-service-card__visual figcaption { position:absolute; inset:auto .75rem .75rem; padding:.38rem .58rem; border-radius:999px; background:rgba(53,35,42,.78); color:#fffaf8; font-size:.6rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.beauty-service-card__content { display:flex; flex:1; flex-direction:column; padding:clamp(1rem,1.7vw,1.4rem); }
.beauty-service-card__content header { display:grid; grid-template-columns:2rem minmax(0,1fr); gap:.65rem; align-items:start; min-height:8.8rem; padding-bottom:1rem; border-bottom:1px solid rgba(125,63,85,.2); }
.beauty-service-card__content header > span { display:inline-flex; align-items:center; justify-content:center; width:1.85rem; aspect-ratio:1; border:1px solid rgba(125,63,85,.42); border-radius:50%; color:var(--menu-accent); font-family:var(--font-display,Georgia,serif); font-size:.78rem; }
.beauty-service-card__content h4 { margin:0; color:var(--menu-ink); font-family:var(--font-display,Georgia,serif); font-size:clamp(1.35rem,1.8vw,1.85rem); font-weight:500; line-height:1.08; }
.beauty-service-card__content p { margin:.65rem 0 0; color:var(--menu-muted,#6f6265); font-size:.75rem; line-height:1.55; }
.beauty-service-card__services { margin-top:.35rem; }
.beauty-service-card .home-service-item { gap:.6rem; padding:.72rem 0; }
.beauty-service-card .home-service-item__copy span { font-size:.78rem; line-height:1.35; }
.beauty-service-card .home-service-item > strong { font-size:.92rem; }
.booking-beauty-subgroup { grid-column:1 / -1; display:flex; align-items:center; gap:.65rem; margin:.65rem 0 .1rem; padding:.85rem 0 .55rem; border-bottom:1px solid rgba(125,63,85,.22); color:#6f3c50; }
.booking-beauty-subgroup:first-child { margin-top:0; padding-top:0; }
.booking-beauty-subgroup span { display:inline-flex; align-items:center; justify-content:center; width:1.7rem; aspect-ratio:1; border:1px solid rgba(125,63,85,.35); border-radius:50%; font-family:var(--font-display,Georgia,serif); font-size:.7rem; }
.booking-beauty-subgroup strong { font-family:var(--font-display,Georgia,serif); font-size:1.05rem; font-weight:600; }
@media (max-width:980px) { .beauty-service-atlas { grid-template-columns:1fr; } .beauty-service-card { display:grid; grid-template-columns:minmax(13rem,.38fr) minmax(0,.62fr); } .beauty-service-card__visual img { height:100%; min-height:24rem; aspect-ratio:auto; } .beauty-service-card__content header { min-height:0; } }
@media (max-width:620px) { .beauty-service-card { display:flex; } .beauty-service-card__visual img { min-height:0; aspect-ratio:16 / 10; } .beauty-service-card__content header { min-height:0; } #menu-beauty .home-service-chapter__menu > h3 { font-size:2.35rem; } }

/* Signature services: image-led additions that preserve the existing menu rhythm. */
.signature-service-grid { display:grid; grid-column:1 / -1; gap:clamp(.85rem,1.8vw,1.35rem); min-width:0; }
.signature-service-grid--pedicure { grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:clamp(.35rem,1vw,.85rem); padding-top:clamp(1rem,2vw,1.6rem); border-top:1px solid var(--menu-rule-strong); }
.signature-service-card { overflow:hidden; min-width:0; border:1px solid var(--menu-rule-strong); border-radius:1rem; background:rgba(255,252,250,.72); box-shadow:0 14px 34px rgba(92,58,70,.08); }
.signature-service-card__image { display:block; width:100%; aspect-ratio:16 / 10; object-fit:cover; }
.signature-service-card__content { padding:clamp(1rem,1.8vw,1.45rem); }
.signature-service-card__eyebrow { display:flex; align-items:center; justify-content:space-between; gap:.75rem; margin-bottom:.75rem; color:var(--menu-accent); font-size:.66rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.signature-service-card__eyebrow span { display:inline-flex; align-items:center; min-height:1.75rem; padding:.28rem .65rem; border:1px solid currentColor; border-radius:999px; }
.signature-service-card__eyebrow small { font-size:.72rem; letter-spacing:.08em; }
.signature-service-card__heading { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; padding-bottom:.7rem; border-bottom:1px solid var(--menu-rule-strong); }
.signature-service-card__heading h5 { margin:0; color:var(--menu-ink); font-family:var(--font-display,Georgia,serif); font-size:clamp(1.25rem,1.8vw,1.75rem); font-weight:500; line-height:1.1; }
.signature-service-card__heading strong { flex:0 0 auto; color:var(--menu-accent); font-family:var(--font-display,Georgia,serif); font-size:1.35rem; font-weight:500; }
.signature-service-card__content p { margin:.8rem 0 0; color:var(--menu-muted,#6f6265); font-size:.84rem; line-height:1.58; }
.signature-service-grid--massage { margin-top:clamp(1.35rem,2.6vw,2.4rem); padding-top:clamp(1.35rem,2.4vw,2rem); border-top:1px solid var(--menu-rule-strong); }
.signature-service-card--wide { display:grid; grid-template-columns:minmax(16rem,.42fr) minmax(0,.58fr); }
.signature-service-card--wide .signature-service-card__image { height:100%; aspect-ratio:auto; min-height:18rem; }
.signature-service-card--wide .signature-service-card__content { display:flex; flex-direction:column; justify-content:center; }
.signature-service-card--mld { position:relative; isolation:isolate; border-color:rgba(135,82,101,.48); background:linear-gradient(135deg,#6f3c50 0%,#875265 58%,#9a697a 100%); box-shadow:0 24px 54px rgba(92,58,70,.2); }
.signature-service-card--mld:after { content:""; position:absolute; z-index:-1; right:-5rem; bottom:-7rem; width:18rem; aspect-ratio:1; border:1px solid rgba(255,255,255,.15); border-radius:50%; box-shadow:0 0 0 2.5rem rgba(255,255,255,.025),0 0 0 5rem rgba(255,255,255,.018); pointer-events:none; }
.signature-service-card--mld .signature-service-card__image { filter:saturate(.9) contrast(.98); object-fit:contain; object-position:center; background:#e9dfd3; }
.signature-service-card--mld .signature-service-card__content { padding:clamp(1.35rem,3vw,2.7rem); }
.signature-service-card--mld .signature-service-card__eyebrow { color:#f4dce5; }
.signature-service-card--mld .signature-service-card__eyebrow span { background:rgba(255,255,255,.08); }
.signature-service-card--mld .signature-service-card__heading { border-bottom-color:rgba(255,255,255,.22); }
.signature-service-card--mld .signature-service-card__heading h5,.signature-service-card--mld .signature-service-card__heading strong { color:#fffaf8; }
.signature-service-card--mld .signature-service-card__heading h5 { max-width:18ch; font-size:clamp(1.55rem,2.5vw,2.45rem); line-height:1.04; }
.signature-service-card--mld .signature-service-card__heading strong { font-size:clamp(1.45rem,2vw,1.9rem); }
.signature-service-card--mld .signature-service-card__content p { max-width:55ch; color:rgba(255,250,248,.82); font-size:.88rem; line-height:1.68; }
.signature-service-card__action { align-self:flex-start; display:inline-flex; align-items:center; justify-content:center; min-height:2.75rem; margin-top:1.15rem; padding:.7rem 1rem; border:1px solid rgba(255,255,255,.62); border-radius:.35rem; color:#fffaf8; font-size:.72rem; font-weight:800; letter-spacing:.1em; text-decoration:none; text-transform:uppercase; transition:background-color .2s ease,color .2s ease,transform .2s ease; }
.signature-service-card__action:hover,.signature-service-card__action:focus-visible { background:#fffaf8; color:#6f3c50; transform:translateY(-1px); }
.signature-service-card__action:focus-visible { outline:3px solid rgba(255,250,248,.42); outline-offset:3px; }
@media (max-width:760px) { .signature-service-grid--pedicure { grid-template-columns:1fr; } .signature-service-card--wide { grid-template-columns:1fr; } .signature-service-card--wide .signature-service-card__image { min-height:0; aspect-ratio:16 / 10; } .signature-service-card__heading h5 { font-size:1.3rem; } }
@media (prefers-reduced-motion:reduce) { .signature-service-card__action { transition:none; } }
@media (max-width:760px) { .signature-service-card--mld .signature-service-card__image { height:auto; min-height:0; aspect-ratio:4 / 5; } }

/* Booking clarity: service duration is kept internally for scheduling, but is
   intentionally omitted from the customer-facing booking interface. */
.booking-service-row__meta > small:not(.booking-service-row__original) { display:none !important; }
.booking-summary-totals > p:has([data-summary-duration]),
.booking-summary-totals > p:has([data-summary-duration-mobile]) { display:none !important; }

/* Mobile refinement: preserve the full desktop content while giving every
   service family a comfortable, touch-friendly reading rhythm. */
@media (max-width:700px) {
  html { scroll-padding-top:5.25rem; }
  body { padding-bottom:calc(5.25rem + env(safe-area-inset-bottom,0px)); }
  main [id] { scroll-margin-top:5.25rem; }

  .gallery-grid .gallery-card { opacity:1 !important; transform:none !important; }

  .home-service-chapter,
  .home-service-chapter__menu,
  .home-service-chapter__list { min-width:0; }
  .home-service-item { align-items:flex-start; min-height:2.75rem; padding:.72rem 0; }
  .home-service-item__copy span { font-size:.84rem; line-height:1.45; }
  .home-service-item__copy small { margin-top:.25rem; font-size:.72rem; line-height:1.45; }
  .home-service-item > strong { padding-top:.05rem; font-size:.95rem; line-height:1.35; }

  #menu-nails .nail-atlas-panel { gap:1.1rem; padding:1.65rem 0; }
  #menu-nails .nail-atlas-rail { grid-template-columns:3rem minmax(0,1fr); padding-bottom:1rem; }
  #menu-nails .nail-atlas-rail__number { font-size:2.45rem; }
  #menu-nails .nail-atlas-rail h4 { font-size:1.42rem; line-height:1.12; }
  #menu-nails .nail-atlas-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:11rem 7.25rem; gap:2px; }
  #menu-nails .nail-atlas-gallery img:first-child { grid-column:1 / -1; }
  #menu-nails .nail-atlas-services { gap:1.45rem; padding-top:.25rem; }
  #menu-nails .nail-atlas-services .home-service-subgroup { margin-bottom:.65rem; padding-bottom:.7rem; font-size:.68rem; }
  #menu-nails .nail-atlas-subgroup__visual { aspect-ratio:16 / 9; margin:.15rem 0 .75rem; border-radius:.45rem; }
  #menu-nails .nail-atlas-services .home-service-item { padding:.66rem 0; }
  #menu-nails .nail-atlas-services .home-service-item__copy span { font-size:.83rem; line-height:1.42; }

  .signature-service-grid--pedicure { gap:1rem; }
  .signature-service-card__content { padding:1.15rem; }
  .signature-service-card__eyebrow { align-items:flex-start; flex-wrap:wrap; }
  .signature-service-card__heading { gap:.75rem; }
  .signature-service-card__content p { font-size:.82rem; line-height:1.62; }
  .signature-service-card--mld .signature-service-card__content { padding:1.35rem 1.15rem 1.5rem; }
  .signature-service-card--mld .signature-service-card__heading { display:grid; grid-template-columns:1fr; }
  .signature-service-card--mld .signature-service-card__heading h5 { max-width:none; font-size:1.7rem; }
  .signature-service-card__action { width:100%; min-height:3rem; }

  .herbal-options-library { margin-top:.7rem; padding:1rem; border-radius:.8rem; }
  .herbal-options-library__header { gap:.7rem; }
  .herbal-options-library__header h5 { font-size:1.75rem; }
  .herbal-options-library__header p { font-size:.8rem; line-height:1.58; }
  .herbal-options-library__photos { gap:.65rem; background:transparent; }
  .herbal-options-library__photos figure { overflow:hidden; border-radius:.45rem; }
  .herbal-options-library__list li { min-height:3.25rem; }
  .herbal-options-library__list strong { font-size:.8rem; }

  .beauty-service-atlas { gap:1rem; }
  .beauty-service-card { border-radius:.8rem; }
  .beauty-service-card__content { padding:1.1rem; }
  .beauty-service-card__content header { grid-template-columns:2rem minmax(0,1fr); gap:.7rem; padding-bottom:.9rem; }
  .beauty-service-card__content h4 { font-size:1.55rem; }
  .beauty-service-card__content p { font-size:.79rem; line-height:1.6; }
  .beauty-service-card .home-service-item { padding:.78rem 0; }
  .beauty-service-card .home-service-item__copy span { font-size:.82rem; }

  .booking-service-row { min-height:3.25rem; }
  .booking-service-row__name { line-height:1.4; }
  .booking-service-row__meta { align-items:flex-end; gap:.18rem; }
  .booking-summary-totals { grid-template-columns:1fr !important; }
  .booking-mobile-summary-bar { bottom:calc(.75rem + env(safe-area-inset-bottom,0px)); }
}
