/* Reflected light, rounded glass rims and moving selection lenses. */
:root {
  --liquid-surface: rgba(250, 255, 251, .68);
  --liquid-border: rgba(255, 255, 255, .88);
  --liquid-blur: 24px;
  --liquid-shadow: 0 18px 44px #194a3812, 0 3px 10px #194a3808, inset 0 1.5px 0 #fff, inset 0 -1px 0 #ffffff73;
  --liquid-spring: cubic-bezier(.2, .85, .22, 1.08);
}
body {
  background: radial-gradient(ellipse at 4% 24%, #cee8da 0, transparent 30%), radial-gradient(ellipse at 95% 50%, #d9e9e7 0, transparent 32%), radial-gradient(ellipse at 20% 85%, #e5edd2 0, transparent 28%), #f5f7f0;
}
.liquid-surface { isolation: isolate; }
.blog-category.liquid-surface, .about-panel.liquid-surface { position: relative; }
.liquid-surface::before, .liquid-surface::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  pointer-events: none;
}
.liquid-surface::before {
  background: radial-gradient(ellipse 230px 130px at var(--liquid-x, 20%) var(--liquid-y, 0%), #ffffffb3, #ffffff12 55%, transparent 80%);
  opacity: .5;
  transition: opacity .45s ease;
}
.liquid-surface.is-lit::before { opacity: 1; }
.liquid-surface::after {
  inset: 1px;
  border: 1px solid #ffffff80;
  border-bottom-color: #b2d3c02b;
  box-shadow: inset 1px 1px 1px #ffffffb3, inset -1px -1px 2px #97bea02b;
}
.site-header, .site-header.is-scrolled {
  background: linear-gradient(115deg, #ffffff99, #f5fff273 45%, #ffffffad);
  border-color: var(--liquid-border);
  border-radius: 28px;
  box-shadow: var(--liquid-shadow);
  -webkit-backdrop-filter: blur(26px) saturate(1.65);
  backdrop-filter: blur(26px) saturate(1.65);
}
.site-header.is-scrolled { background-color: #f3f9f24d; }
.nav-links { position: relative; }
.announcements-panel, .announcements-panel.is-compact, .announcements-panel.is-dense {
  background: linear-gradient(130deg, #ffffffad, #f6fff463 50%, #ffffff96);
  border-color: var(--liquid-border);
  box-shadow: 0 24px 64px #174c3d1c, inset 0 2px 0 #fff, inset 0 -1px 0 #ffffff80;
  -webkit-backdrop-filter: blur(26px) saturate(1.35);
  backdrop-filter: blur(26px) saturate(1.35);
}
.service-card, .blog-category, .about-panel {
  background: linear-gradient(130deg, #ffffffa6, #f6fff254 65%, #ffffff99);
  border-color: #ffffffeb;
  box-shadow: var(--liquid-shadow);
  -webkit-backdrop-filter: blur(18px) saturate(1.3);
  backdrop-filter: blur(18px) saturate(1.3);
}
.service-card:hover { box-shadow: 0 22px 40px #245c421c, inset 0 1.5px 0 #fff; }
.service-icon { border-radius: 18px; background: linear-gradient(140deg, #ffffffc9, #c9e7d79c); box-shadow: 0 7px 12px #3275540c, inset 0 1px 0 #fff, inset 0 -2px 3px #6eaa8120; }
.hero-eyebrow, .scope-tags span, .btn-secondary, .gallery-more {
  background: linear-gradient(145deg, #ffffffbd, #ffffff54);
  box-shadow: inset 0 1px 0 #fff, inset 0 -1px 0 #ffffff99, 0 5px 15px #21583a07;
  -webkit-backdrop-filter: blur(14px) saturate(1.4);
  backdrop-filter: blur(14px) saturate(1.4);
}
.liquid-action { position: relative; isolation: isolate; overflow: hidden; }
.liquid-action::before { content: ""; position: absolute; z-index: -1; inset: 1px; border-radius: inherit; pointer-events: none; background: linear-gradient(120deg, #ffffff2b, transparent 45%, #ffffff0a); box-shadow: inset 0 1px 0 #ffffff70; }
.liquid-ripple { position: absolute; display: block; border-radius: 50%; pointer-events: none; background: radial-gradient(circle, #ffffff85, #ffffff33 45%, transparent 70%); }
.service-filters { position: relative; gap: 4px; padding: 7px; border-radius: 21px; background: #ffffff66; border-color: #ffffffb3; box-shadow: var(--liquid-shadow); -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); }
.liquid-group { isolation: isolate; }
.liquid-group > :not(.liquid-indicator) { position: relative; z-index: 1; }
.liquid-indicator {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  border: 1px solid #ffffffec;
  border-radius: 15px;
  background: linear-gradient(145deg, #ffffffdf, #d4ebdda6 70%, #ffffffb3);
  box-shadow: 0 3px 10px #245d4312, inset 0 1px 0 #fff, inset 0 -1px 1px #a4c3ad40;
  opacity: 0;
  pointer-events: none;
  transition: transform .48s var(--liquid-spring), width .42s var(--liquid-spring), height .42s var(--liquid-spring), opacity .2s;
}
.liquid-group.has-selection > .liquid-indicator { opacity: 1; }
.liquid-group[data-liquid-ready] .is-active, .liquid-group[data-liquid-ready] [aria-current] { color: #075e53; background: transparent; box-shadow: none; }
.liquid-group[data-liquid-ready] .nav-links a:hover { background: transparent; }
.service-filters button { border-radius: 15px; }
.service-filters button.is-active { font-weight: 600; }
.nav-links a { transition: color .2s, background .2s; }
.nav-links[data-liquid-ready] a:hover { background: transparent; }
.quick-contact-trigger {
  display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 46px;
  padding: 10px 17px; border: 1px solid #ffffffdf; border-radius: 16px;
  color: #176657; background: linear-gradient(120deg, #ffffffb3, #ffffff54); box-shadow: var(--liquid-shadow);
  font: inherit; font-size: .73rem; font-weight: 500; cursor: pointer;
  -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
}
.quick-contact-trigger svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; }
.hero-appointment { margin-top: 20px; }
.hero-discover { display: flex; width: fit-content; margin-top: 24px; }
.motion-toggle { left: max(28px, calc((100% - 1160px) / 2)); right: auto; }
.contact-appointment { margin-top: 10px; color: #fff; background: #ffffff1a; border-color: #ffffff50; box-shadow: inset 0 1px 0 #ffffff45; }
.guide-details { overflow: clip; }
.guide-details > summary:focus-visible { outline-offset: -5px; border-radius: inherit; }
.guide-details > summary::after { transition: background .3s, color .3s; box-shadow: inset 0 1px 0 #fff; }
.guide-details[open] > summary::after { color: #fff; background: #08766b; }
.clinic-model-stage { background: radial-gradient(ellipse at 55% 74%, #b6d9c67a, #eff9f03d 55%, #ffffff26); border-color: #ffffffcb; box-shadow: inset 0 1px 0 #ffffffdb, inset 0 -1px 0 #ffffff66; }
.back-to-top {
  position: fixed; left: 24px; bottom: 24px; z-index: 55;
  display: inline-flex; align-items: center; justify-content: center; gap: 9px;
  min-height: 46px; padding: 10px 16px; border: 1px solid #fff; border-radius: 18px;
  color: #176657; background: #f3faf0cb; box-shadow: var(--liquid-shadow); cursor: pointer;
  font: inherit; font-size: .72rem;
  -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px);
}
.back-to-top[hidden] { display: none !important; }
.chat-open .back-to-top, .menu-open .back-to-top, .lightbox-open .back-to-top, .quick-contact-open .back-to-top { visibility: hidden; }
@media (max-width: 920px) {
  .site-header { border-radius: 25px; }
  .nav-links { position: fixed; background: #f4faf1f0; -webkit-backdrop-filter: blur(24px) saturate(1.35); backdrop-filter: blur(24px) saturate(1.35); }
  .liquid-indicator { transition-duration: .35s; }
}
@media (max-width: 640px) {
  :root { --liquid-blur: 18px; }
  .site-header { border-radius: 23px; -webkit-backdrop-filter: blur(20px) saturate(1.4); backdrop-filter: blur(20px) saturate(1.4); }
  .mobile-dock { border-radius: 28px; background: linear-gradient(120deg, #ffffffdb, #eff9edba 55%, #ffffffd6); border-color: #fff; box-shadow: 0 8px 34px #194b3e2b, inset 0 2px 1px #fff, inset 0 -1px 1px #a8c9b373; -webkit-backdrop-filter: blur(22px) saturate(1.6); backdrop-filter: blur(22px) saturate(1.6); }
  .mobile-dock .liquid-indicator { border-radius: 18px; }
  .mobile-dock .dock-call { background: transparent; }
  .mobile-dock [aria-current] { background: transparent; }
  .liquid-surface::before { background: radial-gradient(ellipse 150px 100px at var(--liquid-x, 20%) var(--liquid-y, 0%), #ffffff99, transparent 80%); }
  .service-card { -webkit-backdrop-filter: none; backdrop-filter: none; background: linear-gradient(125deg, #ffffffc9, #f7fff47a); }
  .service-filters { border-radius: 19px; padding: 6px; }
  .service-count { display: block; position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .hero-appointment { width: 100%; margin-top: 21px; min-height: 47px; font-size: .72rem; }
  .hero-discover { display: none; }
  .motion-toggle { left: 20px; }
  .announcements-panel, .announcements-panel.is-compact, .announcements-panel.is-dense { -webkit-backdrop-filter: blur(18px) saturate(1.2); backdrop-filter: blur(18px) saturate(1.2); }
  .back-to-top { left: auto; right: 18px; bottom: calc(98px + env(safe-area-inset-bottom, 0px)); min-width: 44px; padding: 10px 13px; }
  .back-to-top span:last-child { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .liquid-indicator, .liquid-surface::before, .guide-details > summary::after { transition: none !important; }
}
.motion-paused .liquid-indicator, .motion-paused .liquid-surface::before { transition: none; }
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .site-header, .site-header.is-scrolled, .nav-links, .announcements-panel, .service-card, .blog-category, .about-panel, .mobile-dock, .service-filters { background: #f4faf1; }
}
