/* AuraLynk AI Beauty OS homepage — v20261021.6 */
html { scroll-behavior: smooth; }
body { font-family: var(--font-inter), Arial, sans-serif; }
section[id], footer[id] { scroll-margin-top: 64px; }
.ui--home-section { max-width: 100%; }
.ui--home-section.as-hero img, .ui--home-section.as-hero video { width: 100%; }
.btn { border: 0; border-radius: 0; }
.btn-primary { background-color: transparent; --bs-btn-bg: transparent; --bs-btn-hover-bg: transparent; --bs-btn-active-bg: transparent; }
.btn-secondary { --bs-btn-bg: #254638; --bs-btn-hover-bg: #254638; --bs-btn-active-bg: #254638; }
.card { display: block; border: 0; border-radius: 0; background: transparent; }
.ui--navbar .nav-link { text-decoration: none; }
.mobile-navigation { background: #fef9f1; border-top: 1px solid #e8ddce; }
.mobile-navigation a { padding: 15px 20px; font-size: 12px; color: #254638; }
.mobile-navigation a:hover { background: #f1e2ce; }
.as-hero .carousel { width: 100%; }
.as-hero .carousel-item { transition: opacity 1s ease-in-out; }
.as-hero .content { pointer-events: none; }
.as-hero .content a { pointer-events: auto; }
.hero-indicators { z-index: 12; bottom: 172px; gap: 8px; margin: 0; }
.hero-indicators [data-bs-target] { width: 7px; height: 7px; border: 1px solid white; border-radius: 50%; background: transparent; opacity: .65; }
.hero-indicators .active { background: white; opacity: 1; }
.location-carousel { position: relative; padding-bottom: 32px; }
.location-grid { --bs-gutter-x: 32px; --bs-gutter-y: 24px; }
.location-grid .swiper-card { height: 100%; }
.location-column h2 { font-size: 16px; }
.location-column .aspect-square > a { display: block; }
.location-column .my-4 { display: inline-block; }
.location-column .line-clamp-2 { min-height: 40px; }
.as-location button[data-city] { background: #254638; color: #fef9f1; opacity: .75; }
.as-location button[data-city][aria-pressed="true"] { background: #ed861d; opacity: 1; }
.as-location button[data-city]:hover { opacity: 1; }
.service-grid { max-width: 672px; --bs-gutter-x: 16px; --bs-gutter-y: 16px; padding: 32px 8px; }
.service-grid > a { position: relative; }
.service-grid img { object-fit: cover; }
.school-carousel { overflow: hidden; position: relative; padding-bottom: 32px; }
.school-track { display: flex; gap: 32px; transition: transform .65s cubic-bezier(.075,.82,.165,1); }
.school-slide { flex: 0 0 calc((100% - 64px) / 3); position: relative; background: #96ab9c; }
.school-slide .swiper-card { position: relative; }
.school-carousel button { border: 0; background: transparent; padding: 0; }
.school-carousel .swiper-button-prev, .school-carousel .swiper-button-next { top: calc(50% - 16px); transform: none; }
.school-carousel button:disabled { opacity: .2; cursor: default; }
.as-product picture { display: block; height: 100%; }
.ui--footer .container { padding-top: 0; }
:focus-visible { outline: 2px solid #ed861d; outline-offset: 4px; }
@media (min-width:1280px) { .mobile-navigation { display: none!important; } }
@media (max-width:1023px) { .school-track { gap: 24px; } .school-slide { flex-basis: calc((100% - 24px) / 2); } }
@media (max-width:639px) {
  .as-hero .content { padding-top: 56px; }
  .hero-indicators { bottom: 188px; }
  .as-location button[data-city] { min-width: 0; padding-left: 6px; padding-right: 6px; }
  .as-location button[data-city] span { font-size: 12px; }
  .location-grid { flex-wrap: nowrap; overflow-x: auto; scroll-snap-type: x mandatory; --bs-gutter-x: 16px; scrollbar-width: none; }
  .location-grid::-webkit-scrollbar { display: none; }
  .location-column { flex: 0 0 88%; scroll-snap-align: center; }
  .location-column:only-child { flex-basis: 100%; }
  .service-grid { padding-left: 8px; padding-right: 8px; }
  .school-track { gap: 16px; }
  .school-slide { flex-basis: 85%; }
  .ui--home-section.as-product .content, .ui--home-section.as-product .swiper-card { height: 640px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms!important; animation-duration: .01ms!important; }
}

/* Same end-banner footprint; contact information overlays the city map. */
.contact-map { position:absolute; inset:0; width:100%; height:100%; border:0; }
.contact-overlay { pointer-events:none; }
.contact-details { pointer-events:auto; justify-self:start; margin-left:max(32px,calc((100% - 1216px)/2)); padding:28px 32px; max-width:410px; background:rgba(254,249,241,.96); color:#254638; box-shadow:0 12px 40px #25463822; }
.contact-details h2 { font-size:24px; line-height:1.3; }
.contact-eyebrow { font-size:10px; letter-spacing:1.5px; margin-top:10px; }
.contact-hours { margin:20px 0 12px; font-size:14px; line-height:1.7; }
.contact-hours strong { font-size:12px; letter-spacing:1px; }
.contact-details > a:not(.btn) { display:block; font-size:14px; margin-top:5px; }
.contact-address { font-size:12px; line-height:1.7; margin-top:14px; }
.contact-map-link { margin-top:16px; padding:10px 14px; width:fit-content; font-size:11px; }
.wellness-tags { display:flex; flex-wrap:wrap; gap:8px; }
.wellness-tags span { display:grid; place-items:center; min-width:58px; height:48px; border-radius:10px; background:#f1e2ce; font-size:10px; letter-spacing:1px; padding:0 10px; }
.ui--navbar-grid .columns { gap:24px; }
.service-grid .text-lg { font-size:14px; }
@media(max-width:639px) {
 .contact-details { max-width:calc(100% - 32px); margin:16px; padding:22px; background:rgba(254,249,241,.95); }
 .contact-details h2 { font-size:21px; }
 .service-grid .text-lg { font-size:11px; line-height:1.4; }
 .ui--footer .as-links .link { overflow-wrap:anywhere; }
}

#contact .swiper-card { background: #96ab9c url("../images/willow-interior.jpg?v=20261021.6") center/cover no-repeat; }

/* Simplified content and scalable menu — v20261021.6 */
.brand-logo { object-fit:contain; border-radius:16px; background:transparent!important; }
.ui--navbar .nav-booking { height:40px; align-self:center; padding:0 16px; background:#254638; color:#fff; border:1px solid #d5cbb9; }
.ui--navbar .nav-booking:hover,.footer-booking:hover { background:#172e24; }
.mobile-booking { font-weight:700; color:#254638!important; }
.about-introduction { text-align:center; padding:0 20px; }
.about-introduction > p,.menu-introduction { font-size:14px; color:#596a60; text-align:center; margin-top:18px; }
.about-card-description { font-size:14px; line-height:1.7; color:#526258; margin-top:5px; }
.location-column h2 { line-height:1.5; margin-top:8px; }
.menu-pagination { display:flex; justify-content:center; align-items:center; gap:16px; margin-top:8px; }
.menu-pagination button { background:transparent; border:1px solid #cfc6b8; width:38px; height:38px; color:#254638; transition:background .2s; }
.menu-pagination button:hover:not(:disabled),.menu-pagination [aria-current="page"] { background:#254638; color:#fff; border-color:#254638; }
.menu-pagination button:disabled { opacity:.3; cursor:default; }
.menu-page-list { display:flex; gap:8px; align-items:center; }
.menu-range { text-align:center; font-size:12px; color:#617368; margin:12px 0 24px; }
.service-grid .btn { min-height:64px; padding:9px 12px; background:rgba(20,43,33,.78); backdrop-filter:blur(4px); }
.service-grid .btn span { display:block; }
.service-grid .btn strong { display:block; font-size:15px; line-height:1.3; font-weight:500; }
.service-grid .btn small { display:block; font-size:12px; margin-top:5px; letter-spacing:.6px; }
#gallery .gallery-arrow { width:48px; height:48px; border-radius:50%; background:#254638; border:2px solid #fff; color:#fff; font:26px/1 Arial,sans-serif; box-shadow:0 3px 16px #0005; top:calc(50% - 16px); }
#gallery .gallery-arrow::after { content:none; }
#gallery .gallery-arrow:hover:not(:disabled) { background:#172e24; }
#gallery .gallery-arrow:disabled { background:#394c42; opacity:.55; }
#gallery .gallery-booking { width:220px; padding:16px 24px; background:#254638; color:white; border:1px solid #d5cbb9; box-shadow:0 4px 18px #25463822; }
#gallery .gallery-booking:hover { background:#172e24; }
.contact-booking { display:inline-grid; background:#254638; padding:11px 22px; margin-top:16px; font-size:12px; color:#fff; }
.contact-map-link { display:inline-grid; margin-left:8px; font-size:10px; }
.simple-footer { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:24px; padding:30px 24px!important; }
.footer-brand { display:flex; gap:12px; align-items:center; font-size:14px; font-weight:600; }
.footer-brand img { border-radius:10px; }
.simple-footer nav { display:flex; flex-wrap:wrap; gap:20px; font-size:12px; }
.simple-footer nav a:hover { color:#254638; }
.footer-booking { background:#254638; padding:10px 18px; font-size:12px; color:#fff; }
.footer-bottom { background:#254638; color:#c9d2cb; text-align:center; font-size:11px; padding:16px 20px; }
@media(max-width:639px) {
 .service-grid .btn { min-height:57px; padding:7px; }
 .service-grid .btn strong { font-size:12px; }
 .service-grid .btn small { font-size:10px; }
 .about-introduction > p { font-size:13px; }
 .simple-footer { justify-content:center; gap:22px; padding:26px 16px!important; }
 .simple-footer nav { justify-content:center; width:100%; gap:18px; }
 .contact-details .contact-map-link { margin-left:0; display:flex; }
 #gallery .gallery-arrow { width:42px; height:42px; }
}

/* Refined eight-card menu and editorial gallery — v20261021.6 */
:root { --ink:#254638; --muted:#69766c; --paper:#fef9f1; --line:#d8d8ca; }
section[id] { scroll-margin-top:116px; }
.ui--navbar { position:fixed!important; top:0; left:0; right:0; z-index:100; transition:background .25s,box-shadow .25s; }
.ui--navbar.is-scrolled { background:rgba(254,249,241,.97); box-shadow:0 3px 24px #142b2112; backdrop-filter:blur(16px); }
.ui--navbar.is-scrolled .nav-link { color:var(--ink); }
.ui--navbar.is-scrolled .nav-link.active::after { background:var(--ink); }
.ui--navbar.is-scrolled .ui--navbar-container.for-lg { border-color:#25463818; }
.ui--navbar .nav-booking { padding:0 0 0 6px; height:auto; background:transparent; border:0; color:inherit; gap:14px; font-size:12px; letter-spacing:1.5px; }
.ui--navbar .nav-booking span { display:grid; place-items:center; width:34px; height:34px; border:1px solid currentColor; border-radius:50%; font-size:19px; line-height:1; transition:background .2s; }
.ui--navbar .nav-booking:hover { background:transparent; }
.ui--navbar.is-scrolled .nav-booking:hover span { background:var(--ink); color:white; }
.section-eyebrow { font-size:11px; line-height:1.5; font-weight:600; letter-spacing:2.5px; color:var(--ink); }
.about-story { max-width:1216px; width:calc(100% - 64px); margin:20px auto; display:grid; grid-template-columns:1fr 1fr; gap:100px; align-items:center; }
.about-photo { position:relative; height:490px; }
.about-photo img { width:100%; height:100%; object-fit:cover; }
.photo-note { position:absolute; left:24px; bottom:22px; font-size:9px; letter-spacing:2px; color:#fff; background:#254638b3; padding:10px 14px; }
.about-copy h2,.gallery-heading h2,.contact-heading h2 { font-family:Georgia,'Times New Roman',serif; font-size:48px; line-height:1.13; letter-spacing:-1.5px; font-weight:400; margin:22px 0 26px; }
.about-copy > p:not(.section-eyebrow) { font-size:14px; line-height:1.9; color:#657067; max-width:440px; margin-top:18px; }
.text-link { display:inline-flex; align-items:center; gap:40px; border-bottom:1px solid #25463860; padding:10px 0; margin-top:24px; font-size:12px; letter-spacing:.4px; }
.text-link:hover { color:#172e24; border-color:#172e24; }
#menu { padding:32px 0 64px; }
.expanded-menu { max-width:1248px; --bs-gutter-x:20px; --bs-gutter-y:20px; padding:36px 8px; }
.expanded-menu .card > .absolute { padding:16px!important; }
.expanded-menu .btn { width:100%; max-width:none; justify-self:stretch; align-self:end; background:#142b2199; min-height:68px; border:0; box-shadow:none; text-align:left; padding:12px!important; }
.expanded-menu .btn strong { font-size:14px; }
.expanded-menu .btn small { font-size:11px; opacity:.85; }
.expanded-menu .btn:before { display:none; }
.expanded-menu > a:hover .btn { background:#142b21d9; color:white; }
#gallery.gallery-editorial { background:#eaece4; padding:80px 32px 64px; }
.gallery-shell { max-width:1216px; margin:auto; }
.gallery-heading { display:flex; justify-content:space-between; align-items:end; margin-bottom:40px; gap:30px; }
.gallery-heading h2 { margin-bottom:0; font-size:56px; }
.gallery-heading > p { font-size:13px; line-height:1.9; color:var(--muted); margin-bottom:6px; }
.gallery-mosaic { display:grid; grid-template-columns:1.2fr 1fr 1fr; grid-template-rows:250px 250px; gap:18px; }
.gallery-tile { position:relative; margin:0; overflow:hidden; background:#bac3b6; }
.gallery-tile-1 { grid-row:span 2; }
.gallery-tile-4 { grid-column:2 / 4; }
.gallery-tile img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .7s; }
.gallery-tile:hover img { transform:scale(1.04); }
.gallery-tile figcaption { position:absolute; inset:auto 0 0; display:flex; align-items:end; gap:16px; padding:24px; background:linear-gradient(transparent,#10251bd9); color:white; }
.gallery-index { opacity:.65; font-size:11px; padding-bottom:4px; }
.gallery-tile small { font-size:9px; letter-spacing:1.3px; text-transform:uppercase; color:#e3e9dd; }
.gallery-tile h3 { font-family:Georgia,serif; font-size:23px; line-height:1.2; margin-top:7px; font-weight:400; }
.gallery-tile-2 figcaption,.gallery-tile-3 figcaption { padding:18px; }
.gallery-tile-2 h3,.gallery-tile-3 h3 { font-size:19px; }
.gallery-caption { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:28px; }
.gallery-caption > p { font-family:Georgia,serif; font-size:21px; font-style:italic; color:#687366; }
.understated-booking { display:inline-flex; align-items:center; gap:40px; background:#254638; color:white; padding:16px 22px; font-size:11px; letter-spacing:1.3px; }
.understated-booking:hover { background:#172e24; color:white; }
#contact { padding:80px 32px; }
.contact-shell { max-width:1216px; margin:auto; }
.contact-heading h2 { font-size:44px; margin-bottom:32px; }
.contact-layout { display:grid; grid-template-columns:.8fr 1.2fr; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.contact-information { padding:28px 40px 28px 0; }
#contact .contact-details { margin:0; padding:0; max-width:none; width:100%; background:transparent; box-shadow:none; }
.contact-details h2 { font-family:Georgia,serif; font-size:27px; margin:6px 0 12px; }
.contact-eyebrow { color:var(--muted); letter-spacing:1px; }
.contact-map-panel { position:relative; min-height:450px; border-left:1px solid var(--line); }
.contact-map-panel iframe { position:relative; display:block; width:100%; height:100%; min-height:450px; border:0; }
.map-caption { position:absolute; bottom:12px; left:12px; pointer-events:none; font-size:10px; padding:7px 12px; background:#fef9f1eb; color:#254638; }
.contact-booking,.footer-booking { background:#254638; }
.contact-booking:hover,.footer-booking:hover { background:#172e24; }
.simple-footer nav a:hover { color:#172e24; }
@media(max-width:1023px) {
 .about-story { gap:44px; }
 .about-photo { height:420px; }
 .about-copy h2 { font-size:38px; }
 .gallery-mosaic { grid-template-rows:220px 220px; }
}
@media(max-width:639px) {
 section[id] { scroll-margin-top:72px; }
 .about-story { width:calc(100% - 32px); grid-template-columns:1fr; gap:30px; margin:16px auto 32px; }
 .about-photo { height:330px; }
 .about-copy h2 { font-size:38px; margin-top:16px; }
 .about-copy { padding:0 8px; }
 .expanded-menu { padding:28px 8px; --bs-gutter-x:12px; --bs-gutter-y:12px; }
 .expanded-menu .card > .absolute { padding:8px!important; }
 .expanded-menu .btn { padding:8px!important; min-height:60px; }
 .expanded-menu .btn strong { font-size:12px; }
 .expanded-menu .btn small { font-size:10px; }
 #gallery.gallery-editorial { padding:48px 16px 40px; }
 .gallery-heading { display:block; margin-bottom:26px; }
 .gallery-heading h2 { font-size:44px; }
 .gallery-heading > p { margin-top:22px; }
 .gallery-mosaic { grid-template-columns:1fr 1fr; grid-template-rows:320px 210px 230px; gap:12px; }
 .gallery-tile-1 { grid-column:1 / 3; grid-row:auto; }
 .gallery-tile-4 { grid-column:1 / 3; }
 .gallery-tile figcaption { padding:18px; gap:10px; }
 .gallery-tile-2 figcaption,.gallery-tile-3 figcaption { padding:12px; }
 .gallery-tile-2 h3,.gallery-tile-3 h3 { font-size:18px; }
 .gallery-tile small { font-size:8px; }
 .gallery-index { display:none; }
 .gallery-caption { align-items:start; flex-direction:column; }
 .gallery-caption > p { font-size:19px; }
 #contact { padding:48px 20px; }
 .contact-heading h2 { font-size:36px; }
 .contact-layout { grid-template-columns:1fr; }
 .contact-information { padding:24px 0 30px; }
 .contact-map-panel { min-height:320px; border-left:0; border-top:1px solid var(--line); }
 .contact-map-panel iframe { min-height:320px; height:320px; }
}

/* Full-width map, text-only booking and an eight-photo gallery — v20261021.6 */
.ui--navbar .nav-booking { border:1px solid #fef9f18c; padding:12px 23px; line-height:1; font-size:11px; font-weight:500; letter-spacing:1.8px; background:transparent; color:#fef9f1; transition:color .2s,background .2s,border-color .2s; }
.ui--navbar .nav-booking:hover { color:#254638; background:#fef9f1; border-color:#fef9f1; }
.ui--navbar.is-scrolled .nav-booking { color:#254638; background:transparent; border-color:#25463866; }
.ui--navbar.is-scrolled .nav-booking:hover { color:#fef9f1; background:#254638; border-color:#254638; }
.gallery-mosaic { grid-template-columns:repeat(4,minmax(0,1fr)); grid-template-rows:240px 240px 270px; gap:16px; }
.gallery-tile-1 { grid-column:1 / 3; grid-row:1 / 3; }
.gallery-tile-2 { grid-column:3; grid-row:1; }
.gallery-tile-3 { grid-column:4; grid-row:1; }
.gallery-tile-4 { grid-column:3; grid-row:2; }
.gallery-tile-5 { grid-column:4; grid-row:2; }
.gallery-tile-6 { grid-column:1; grid-row:3; }
.gallery-tile-7 { grid-column:2 / 4; grid-row:3; }
.gallery-tile-8 { grid-column:4; grid-row:3; }
.gallery-tile figcaption { padding:18px; gap:12px; }
.gallery-tile h3 { font-size:20px; }
.gallery-tile-1 h3 { font-size:27px; }
.gallery-tile-7 img { object-position:center 42%; }
#contact { padding:72px 0 0; }
.contact-shell { display:grid; grid-template-columns:.85fr 1.15fr; gap:72px; align-items:start; width:calc(100% - 64px); max-width:1216px; padding-bottom:54px; }
.contact-heading h2 { margin-bottom:0; }
.contact-summary { display:grid; grid-template-columns:1fr 1fr; gap:20px 40px; padding-top:4px; }
.contact-summary .contact-hours { margin:0; }
.contact-summary strong,.contact-label { display:block; font-size:11px; letter-spacing:1.2px; margin-bottom:12px; }
.contact-summary p,.contact-summary a:not(.btn) { font-size:13px; line-height:1.8; }
.contact-reach-column > a { display:block; margin-top:4px; }
.contact-summary .contact-address { margin-top:10px; color:#69766c; font-size:11px; }
.contact-actions { grid-column:1 / -1; display:flex; align-items:center; gap:16px; padding-top:4px; }
.contact-actions .btn { margin:0; }
.contact-actions .contact-map-link { background:transparent; color:#254638; padding:8px 0; border-bottom:1px solid #25463866; }
#contact > .contact-map-panel { width:100%; min-height:520px; height:520px; border:0; border-top:1px solid #d8d8ca; background:#eaece4; }
#contact > .contact-map-panel iframe { width:100%; min-height:520px; height:520px; }
.map-caption { left:24px; bottom:24px; }
@media(min-width:640px) and (max-width:1023px) {
 .gallery-mosaic { grid-template-rows:200px 200px 230px; gap:12px; }
 .gallery-tile figcaption { padding:12px; }
 .gallery-tile h3 { font-size:17px; }
 .gallery-index { display:none; }
 .contact-shell { grid-template-columns:1fr; gap:32px; }
}
@media(max-width:639px) {
 .gallery-mosaic { grid-template-columns:1fr 1fr; grid-template-rows:300px repeat(2,210px) 230px 210px; gap:12px; }
 .gallery-tile-1 { grid-column:1 / 3; grid-row:1; }
 .gallery-tile-2 { grid-column:1; grid-row:2; }
 .gallery-tile-3 { grid-column:2; grid-row:2; }
 .gallery-tile-4 { grid-column:1; grid-row:3; }
 .gallery-tile-5 { grid-column:2; grid-row:3; }
 .gallery-tile-6 { grid-column:1; grid-row:5; }
 .gallery-tile-7 { grid-column:1 / 3; grid-row:4; }
 .gallery-tile-8 { grid-column:2; grid-row:5; }
 .gallery-tile figcaption { padding:12px; }
 .gallery-tile h3 { font-size:18px; }
 .gallery-tile-1 h3 { font-size:25px; }
 #contact { padding:48px 0 0; }
 .contact-shell { width:calc(100% - 40px); grid-template-columns:1fr; gap:28px; padding-bottom:32px; }
 .contact-summary { gap:24px 18px; }
 .contact-summary p,.contact-summary a:not(.btn) { font-size:12px; }
 .contact-reach-column > a { overflow-wrap:anywhere; }
 #contact > .contact-map-panel,#contact > .contact-map-panel iframe { min-height:380px; height:380px; }
 .map-caption { left:12px; bottom:12px; }
}

/* Stable local navigation lines and a flow-based hero — v20261021.6 */
.ui--navbar-grid .nav-link:not(.nav-booking)::after { content:""; position:absolute; left:4px; right:4px; bottom:20px; height:1px; background:currentColor; opacity:0; transform:scaleX(.65); transform-origin:center; transition:opacity .22s ease,transform .28s ease; }
.ui--navbar-grid .nav-link:not(.nav-booking).active::after,.ui--navbar-grid .nav-link:not(.nav-booking):hover::after { opacity:.8; transform:scaleX(1); }
.ui--navbar-grid .nav-booking::after { content:none; }
.ui--home-section.as-hero { min-height:650px; }
.ui--home-section.as-hero .content { display:grid; grid-template-rows:minmax(0,1fr) auto; padding-top:100px; height:100%; }
.hero-stage { display:grid; grid-template-rows:minmax(0,1fr) auto; gap:20px; min-height:0; padding:32px 24px 22px; text-align:center; color:#fff; }
.hero-copy { align-self:center; justify-self:center; }
.hero-eyebrow { font-size:11px; letter-spacing:3.5px; margin-bottom:20px; text-shadow:0 1px 8px #0008; }
.hero-brand { font-family:Georgia,'Times New Roman',serif; font-size:76px; line-height:1.05; font-weight:400; letter-spacing:-1px; text-shadow:0 2px 22px #0005; }
.hero-brand span { display:block; font-family:var(--font-inter),Arial,sans-serif; font-size:23px; line-height:1.4; font-weight:300; letter-spacing:5px; margin-top:12px; }
.hero-tagline { margin-top:26px; font-size:15px; letter-spacing:1.3px; text-shadow:0 1px 8px #0009; }
.hero-booking { width:fit-content; margin:28px auto 0; padding:15px 34px; min-height:46px; font-size:13px; letter-spacing:2px; background:#142b214d; }
.hero-welcome { padding:26px 24px; background:#254638dc; backdrop-filter:blur(18px); text-align:center; }
.hero-welcome h2 { font-family:Georgia,serif; font-size:29px; line-height:1.3; color:#dce4d8; font-weight:400; }
.hero-welcome p { font-size:13px; line-height:1.7; margin-top:10px; color:#fef9f1; }
#home .hero-indicators { position:relative; inset:auto; margin:0; min-height:24px; align-items:center; align-self:end; gap:8px; pointer-events:auto; }
#home .hero-indicators [data-bs-target] { width:7px; height:7px; margin:0; padding:5px; background-clip:content-box; border:1px solid #ffffff9c; flex:0 0 auto; box-sizing:content-box; }
#home .hero-indicators [data-bs-target].active { background-color:#fff; }
@media(max-width:1279px) { .ui--home-section.as-hero .content { padding-top:56px; } }
@media(max-width:639px) {
 .hero-stage { padding:26px 20px 16px; gap:24px; }
 .hero-eyebrow { font-size:9px; letter-spacing:2.6px; margin-bottom:18px; }
 .hero-brand { font-size:52px; }
 .hero-brand span { font-size:18px; letter-spacing:3.5px; margin-top:10px; }
 .hero-tagline { font-size:12px; line-height:1.8; letter-spacing:.4px; margin-top:22px; }
 .hero-booking { margin-top:24px; padding:14px 30px; font-size:12px; }
 .hero-welcome { padding:22px 20px; }
 .hero-welcome h2 { font-size:25px; }
 .hero-welcome p { font-size:12px; max-width:310px; margin:9px auto 0; }
}
@media(prefers-reduced-motion:reduce) { .ui--navbar-grid .nav-link::after { transition:none; } }

/* Home booking contrast in every interaction state — v20261021.7 */
#home .hero-booking { color:#fef9f1; transition:background-color .2s ease,color .2s ease; }
#home .hero-booking::before { display:none; }
#home .hero-booking span { position:relative; z-index:1; color:inherit; }
#home .hero-booking:hover,
#home .hero-booking:focus-visible,
#home .hero-booking:active { background-color:#fef9f1; color:#254638; }

/* Treatment cards with separate information panels and top pagination — v20261021.8 */
.menu-toolbar { max-width:1216px; width:calc(100% - 64px); margin:30px auto 0; padding:18px 0; display:flex; align-items:center; justify-content:space-between; gap:20px; border-top:1px solid #d9dccf; border-bottom:1px solid #d9dccf; }
.menu-toolbar .menu-range { margin:0; text-align:left; font-size:12px; letter-spacing:.3px; color:#637267; }
.menu-toolbar .menu-pagination { margin:0; gap:10px; }
.menu-toolbar .menu-pagination button { border:1px solid transparent; width:34px; height:34px; border-radius:3px; font-size:12px; background:transparent; }
.menu-toolbar .menu-pagination button:hover:not(:disabled) { border-color:#25463860; background:#eef0e7; color:#254638; }
.menu-toolbar .menu-pagination [aria-current="page"] { color:#fff; background:#254638; border-color:#254638; }
.menu-toolbar .menu-pagination [aria-current="page"]:hover { color:#fff; background:#254638; }
.menu-toolbar .menu-page-list { gap:4px; }
#menu .expanded-menu { padding-top:28px; padding-bottom:12px; --bs-gutter-x:24px; --bs-gutter-y:26px; }
.treatment-link { display:flex; }
.treatment-card { display:flex; flex-direction:column; width:100%; min-width:0; background:#fffdf8; border:1px solid #e0e0d4; transition:border-color .25s,box-shadow .25s,transform .25s; }
.treatment-photo { aspect-ratio:1.45; overflow:hidden; background:#e6e9df; }
.treatment-photo img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .6s; }
.treatment-information { padding:19px 20px 16px; flex:1; }
.treatment-name { font-family:Georgia,'Times New Roman',serif; font-size:21px; line-height:1.25; font-weight:400; color:#254638; min-height:53px; }
.treatment-meta { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:12px; }
.treatment-duration { font-size:11px; color:#778176; letter-spacing:1px; text-transform:uppercase; }
.treatment-price { font-size:17px; color:#254638; font-weight:500; }
.treatment-action { padding:13px 20px; border-top:1px solid #e9e9df; font-size:9px; letter-spacing:1.6px; color:#627364; transition:background .25s,color .25s; }
.treatment-link:hover .treatment-card,.treatment-link:focus-visible .treatment-card { border-color:#91a38d; box-shadow:0 9px 25px #25463812; transform:translateY(-3px); }
.treatment-link:hover .treatment-photo img { transform:scale(1.045); }
.treatment-link:hover .treatment-action,.treatment-link:focus-visible .treatment-action { background:#254638; color:#fffdf8; }
@media(max-width:639px) {
 .menu-toolbar { width:calc(100% - 32px); margin-top:24px; padding:12px 0; gap:10px; }
 .menu-toolbar .menu-range { font-size:10px; max-width:120px; }
 .menu-toolbar .menu-pagination { gap:3px; }
 .menu-toolbar .menu-pagination button { width:30px; height:32px; }
 #menu .expanded-menu { padding-top:20px; --bs-gutter-x:12px; --bs-gutter-y:16px; }
 .treatment-photo { aspect-ratio:1.12; }
 .treatment-information { padding:13px 12px; }
 .treatment-name { font-size:18px; min-height:46px; }
 .treatment-meta { margin-top:10px; }
 .treatment-duration { font-size:9px; letter-spacing:.4px; }
 .treatment-price { font-size:15px; }
 .treatment-action { padding:11px 12px; font-size:8px; letter-spacing:1px; }
}
