/* Standalone HTML export: content must remain visible without React hydration. */
.reveal,
.reveal.is-visible {
  opacity: 1 !important;
  transform: none !important;
}

.site-top,
.site-top.header-visible,
.site-top.header-hidden {
  transform: translateY(0) !important;
  pointer-events: auto !important;
}

.heritage-strip .specialist-milestone {
  font: 600 15px/1.35 var(--sans);
  letter-spacing: .08em;
  text-transform: uppercase;
  max-width: 170px;
}

.heritage-strip .specialist-description {
  color: var(--ink);
  text-transform: uppercase;
  max-width: 210px;
}

@media (max-width: 760px) {
  .notice .location-switcher button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
  }

  .hero-image,
  .hero-image.singapore {
    background-position: 78% center !important;
  }

  .quick-nav {
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-inline: contain;
    scroll-behavior: smooth;
    scroll-snap-type: x proximity;
    scroll-padding-inline: 24px;
    touch-action: pan-x;
  }

  .quick-nav a { scroll-snap-align: start; }

  .package-category .package-grid,
  .package-category .package-grid-2 {
    gap: 16px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-inline: contain;
    scroll-behavior: smooth;
    scroll-snap-type: x proximity;
    scroll-padding-inline: 2px;
    touch-action: pan-x;
  }

  .package-category .package-card {
    min-width: 88vw;
    scroll-snap-align: start;
    scroll-snap-stop: normal;
  }

  .package-card:hover { transform: none; box-shadow: none; }

  .mobile-whatsapp-widget {
    position: fixed;
    right: 16px;
    bottom: max(16px, env(safe-area-inset-bottom));
    z-index: 121;
    display: flex;
    align-items: center;
    gap: 9px;
    min-height: 50px;
    padding: 0 17px 0 10px;
    border-radius: 999px;
    background: #25d366;
    color: #fff;
    box-shadow: 0 12px 34px rgba(16,47,42,.24);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
  }

  .mobile-whatsapp-icon {
    display: grid;
    place-items: center;
    width: 31px;
    height: 31px;
    border: 2px solid #fff;
    border-radius: 50%;
    font-size: 9px;
    letter-spacing: .04em;
  }

  .instagram-widget {
    bottom: calc(max(16px, env(safe-area-inset-bottom)) + 62px);
  }
}

.mobile-whatsapp-widget { display: none; }
.mobile-wa-label { display: none; }
.nav .button-small { background: #25d366; border-color: #25d366; border-radius: 999px; }
.nav .button-small:hover { background: #20bd5a; border-color: #20bd5a; }

@media (min-width: 761px) {
  .whatsapp-button {
    background: #25d366;
    border-color: #25d366;
    border-radius: 999px;
    padding-left: 30px;
    padding-right: 30px;
  }
  .whatsapp-button:hover {
    background: #20bd5a;
    border-color: #20bd5a;
  }
}

@media (max-width: 760px) {
  .mobile-whatsapp-widget { display: flex; }
  .desktop-wa-label { display: none; }
  .mobile-wa-label { display: inline; }
}

.legal-overlay {
  position: fixed;
  inset: 0;
  z-index: 300;
  background: rgba(16,47,42,.72);
  padding: 32px;
  overflow: auto;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .2s ease;
}

.legal-overlay:target {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.legal-overlay-card {
  position: relative;
  max-width: 880px;
  margin: 0 auto;
  background: var(--paper);
  padding: 70px 72px 82px;
  box-shadow: 0 24px 70px rgba(0,0,0,.24);
}

.legal-overlay-card h2 { font: clamp(44px,5vw,68px)/1.05 var(--serif); margin: 0 0 30px; }
.legal-overlay-card h3 { font: 27px var(--serif); margin: 34px 0 10px; }
.legal-overlay-card p,
.legal-overlay-card li { font-size: 15px; line-height: 1.75; color: #526760; }
.legal-overlay-card ul { padding-left: 20px; }
.legal-overlay .legal-updated { padding-bottom: 22px; border-bottom: 1px solid var(--line); }
.legal-close { position: absolute; right: 24px; top: 20px; width: 42px; height: 42px; border: 1px solid var(--line); border-radius: 50%; display: grid; place-items: center; font-size: 27px; line-height: 1; }

@media (max-width: 760px) {
  .package-category .package-card { min-width: 72vw; }
  .mobile-whatsapp-widget {
    display: grid;
    place-items: center;
    width: 50px;
    height: 50px;
    min-height: 50px;
    padding: 0;
    border-radius: 50%;
    background: transparent;
  }
  .mobile-whatsapp-icon { display: block; width: 50px; height: 50px; object-fit: contain; border: 0; border-radius: 0; }
  .legal-overlay { padding: 0; }
  .legal-overlay-card { min-height: 100%; padding: 72px 24px; }
  .legal-overlay-card p,
  .legal-overlay-card li { font-size: 14px; }
  .legal-overlay-card h3 { font-size: 24px; }
}

@media (max-width: 760px) {
  .quick-nav {
    height: auto;
    height: 44px;
    min-height: 44px;
    display: grid;
    grid-template-columns: repeat(5,max-content);
    justify-content: center;
    align-content: center;
    gap: 0 14px;
    padding: 0 6px;
    overflow: visible;
    scroll-snap-type: none;
    touch-action: auto;
  }
  .quick-nav a { font-size: 10px; letter-spacing: .06em; scroll-snap-align: none; }
  .quick-nav a:nth-child(5),
  .quick-nav a:nth-child(7) { display: none; }
  .package-category .package-grid,
  .package-category .package-grid-2 {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
    overflow: visible;
    padding: 12px 0 25px;
    scroll-snap-type: none;
    touch-action: auto;
  }
  .package-category .package-card {
    width: 100%;
    min-width: 0;
    scroll-snap-align: none;
  }
  .mobile-package-switcher { display: block; margin: 26px 0 4px; padding-top: 24px; border-top: 1px solid var(--line); text-align: center; }
  .mobile-package-switcher > span { display: block; margin-bottom: 13px; font-size: 10px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: #68776f; }
  .mobile-package-switcher > div { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  .mobile-package-switcher button { min-height: 46px; border: 1px solid var(--ink); border-radius: 999px; background: transparent; color: var(--ink); font: 600 10px var(--sans); letter-spacing: .08em; text-transform: uppercase; }
  .heritage-strip .specialist-milestone {
    font: 600 13px/1.35 var(--sans) !important;
    letter-spacing: .08em !important;
    max-width: 150px;
  }
  .heritage-strip .specialist-description {
    font-size: 10px;
    max-width: 165px;
  }
}
.mobile-package-switcher { display: none; }
@media (max-width: 760px) { .mobile-package-switcher { display: block; } }
