/* Static Bootstrap adaptation · v20261021.7 */
html { scroll-behavior: smooth; }
body { overflow-x: hidden; }
#home, #about, #menu, #gallery, #contact, #treatment-menu, #gallery-moments, #about-story { scroll-margin-top: 65px; }
.contact-details { margin-top: 30px; margin-bottom: 25px; text-align: left; white-space: normal; }
.contact-details h3 { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 25px; font-weight: 600; margin: 0 0 12px; letter-spacing: 1px; }
.contact-details p { line-height: 1.8; }
.contact-details a { color: #082b26; text-underline-offset: 4px; overflow-wrap: anywhere; }
.contact-note { margin: 20px auto 25px !important; max-width: 760px; font-size: 13px; opacity: .75; white-space: normal; }
.contact-map { display: block; width: 100%; height: 320px; border: 0; margin-top: 25px; background: #e1e2dc; }
.AuraLynkHeader-menuMain .section-link[aria-current="location"] { color: #baa382 !important; }
.skip-link { position: absolute; left: 16px; top: -60px; z-index: 100; background: #fff; padding: 12px 20px; color: #082b26; }
.skip-link:focus { top: 12px; }
a, button { -webkit-tap-highlight-color: transparent; }
a:focus-visible, button:focus-visible, [tabindex]:focus-visible { outline: 2px solid #baa382; outline-offset: 5px; }
.bg-light { --bs-bg-opacity: 0; background-color: transparent !important; }
.HorizontalCardView-root.row { --bs-gutter-x: 0; }
.HorizontalCardView-root.row > * { flex-shrink: 0; margin-top: 0; }
.HorizontalCardView-imgWrapperInner .HorizontalCardView-img { opacity: 1 !important; }
.AuraLynkHeader-root .collapse:not(.show) { display: block; }
.CarouselFlatView-root .swiper { overflow: visible; }
.CarouselFlatView-root .swiper-wrapper { overflow-x: auto !important; scroll-snap-type: x mandatory; scrollbar-width: none; gap: 30px; transform: none !important; width: 100%; }
.CarouselFlatView-root .swiper-wrapper::-webkit-scrollbar { display: none; }
.CarouselFlatView-root .swiper-slide { flex: 0 0 calc((100% - 60px) / 3); width: calc((100% - 60px) / 3); margin: 0 !important; padding: 0; scroll-snap-align: start; }
.CarouselFlatView-root .swiper-scrollbar { display: none; }
.CarouselNavButton-root:disabled { opacity: .3; cursor: default; }
.CardsRowView-swiperWrapper { justify-content: space-between; gap: 30px; }
.CardsRowView-swiperWrapper > .CardView-root { flex-shrink: 0; }
.AuraLynkHeader-logoMobile { cursor: pointer; }
#site-header .AuraLynkHeader-logoIcon { display: inline-flex; align-items: center; justify-content: center; width: auto; height: auto; }
#site-header .AuraLynkHeader-logoImg { width: 30px; height: 30px !important; object-fit: contain; }
.header-booking { display: inline-flex; align-items: center; justify-content: center; gap: 18px; background: #baa382; color: #fff; text-decoration: none; font-family: Jost, Arial, sans-serif; font-size: 13px; letter-spacing: 1.5px; text-transform: uppercase; transition: background .2s; }
.header-booking:hover, .footer-booking:hover { background: #a78e6e; color: white; }
.header-booking-desktop { display: none; position: absolute; z-index: 25; top: 8px; right: 30px; padding: 7px 23px; }
.header-booking-mobile { width: 100%; height: 47px; letter-spacing: 1px; font-size: 12px; }
.beauty-approach { background: #fff; margin: 60px 0; padding: 60px 0; }
.approach-container { max-width: 1280px; padding: 0 30px; }
.approach-step { padding: 5px 40px; }
.approach-step:first-child { padding-left: 0; }
.approach-step:last-child { padding-right: 0; }
.approach-step + .approach-step { border-left: 1px solid #dedbd5; }
.approach-number { display: block; font-family: Jost, Arial, sans-serif; color: #796ba9; font-size: 11px; letter-spacing: 2.5px; margin-bottom: 20px; }
.approach-step h3 { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 30px; font-weight: 600; margin: 0 0 14px; line-height: 1.2; }
.approach-step p { font-size: 15px; line-height: 1.7; margin: 0; color: #5b6761; max-width: 320px; }
.site-footer { background: #082b26; color: #fff; padding: 50px 0 22px; }
.footer-container { max-width: 1280px; padding: 0 30px; }
.footer-main { display: flex; align-items: center; justify-content: space-between; gap: 35px; padding-bottom: 35px; }
.footer-brand { display: flex; gap: 15px; align-items: center; color: white; text-decoration: none; font-size: 18px; }
.footer-brand img { border-radius: 12px; flex-shrink: 0; }
.footer-brand small { display: block; color: #b1c0b8; margin-top: 5px; font-size: 13px; letter-spacing: .3px; }
.footer-nav { display: flex; flex-wrap: wrap; gap: 23px; }
.footer-nav a, .footer-bottom a { color: #d5dfd9; text-decoration: none; }
.footer-nav a:hover, .footer-bottom a:hover { color: #baa382; }
.footer-booking { display: inline-flex; align-items: center; gap: 22px; padding: 14px 22px; background: #baa382; color: white; text-decoration: none; white-space: nowrap; transition: background .2s; }
.footer-bottom { border-top: 1px solid #ffffff26; padding-top: 20px; display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px 24px; font-size: 12px; color: #a6bab0; }
@media (min-width:1280px) {
  .AuraLynkHeader-root .AuraLynkHeader-container { display: block !important; }
  .header-booking-desktop { display: inline-flex; }
  #site-header .AuraLynkHeader-logoImg { width: 42px; height: 42px !important; }
}
@media (max-width:1279.98px) {
  .AuraLynkHeader-root .AuraLynkHeader-container.collapse:not(.show) { display: none; }
  .AuraLynkHeader-root .AuraLynkHeader-container.show,
  .AuraLynkHeader-root .AuraLynkHeader-container.collapsing { left: 0 !important; top: 47px; height: auto !important; max-height: calc(100vh - 47px); overflow-y: auto; padding-bottom: 24px; }
  .AuraLynkHeader-rootWrap:has(.collapse.show) { height: auto; }
  .CarouselFlatView-root .swiper-slide { flex-basis: 266px; width: 266px; }
  .CarouselFlatView-root .swiper-wrapper { gap: 0; }
  .CarouselFlatView-root .swiper-slide { margin-right: 30px !important; }
  .CardsRowView-swiperContainer { overflow-x: auto; scrollbar-width: none; }
  .footer-main { flex-wrap: wrap; }
}
@media (max-width:767.98px) {
  .beauty-approach { padding: 35px 0; margin: 40px 0; }
  .approach-step, .approach-step:first-child, .approach-step:last-child { padding: 24px 0; }
  .approach-step + .approach-step { border-left: 0; border-top: 1px solid #dedbd5; }
  .approach-number { margin-bottom: 12px; }
  .approach-step p { max-width: none; }
  .footer-main { flex-direction: column; align-items: flex-start; gap: 26px; }
  .footer-bottom { flex-direction: column; gap: 9px; }
}
@media (max-width:599.98px) {
  .CarouselFlatView-root { padding-left: 20px; padding-right: 20px; }
  .HorizontalCardView-root.row > .HorizontalCardView-content { padding-top: 30px; }
  .PropertyHeroView-title { font-size: 27px !important; letter-spacing: 3px !important; text-wrap: balance; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
