/* Kansei: shared materials and motion for the public clinic website. */
.clinic-site {
  --premium-ease: cubic-bezier(.22,.75,.25,1);
  --premium-shadow: 0 12px 36px -24px rgba(29,57,43,.28);
  background-image: radial-gradient(ellipse at 85% 0%,rgba(167,188,151,.12),transparent 42rem);
}
.clinic-site .site-header {
  background: rgba(249,248,243,.91);
  -webkit-backdrop-filter: blur(20px) saturate(135%);
  backdrop-filter: blur(20px) saturate(135%);
  transition: background-color .28s ease,box-shadow .28s ease,border-color .28s ease;
}
.clinic-site .site-header.is-scrolled {
  background: rgba(249,248,243,.96);
  border-bottom-color: rgba(103,129,111,.22);
  box-shadow: 0 5px 24px -15px rgba(22,45,32,.28);
}
.clinic-site .site-header .brand img { transition: transform .3s var(--premium-ease); transform-origin: left center; }
.clinic-site .site-header.is-scrolled .brand img { transform: scale(.96); }
.clinic-site :is(.landing-hero,.ha-hero) {
  background-image: radial-gradient(ellipse at 85% 25%,rgba(169,188,148,.17),transparent 64%);
}
.clinic-site :is(.us-soft,.ha-tint,.atlas-gateway,.clinic) {
  background-image: linear-gradient(125deg,rgba(255,255,255,.22),transparent 65%);
}
.clinic-site :is(.us-process,.footer) {
  background-image: radial-gradient(ellipse at 90% 0%,rgba(154,191,139,.11),transparent 65%);
}
.clinic-site :is(.landing-hero-media,.us-hero-photo,.ha-portrait)>img {
  box-shadow: 0 15px 38px -24px rgba(24,49,35,.45);
  border: 1px solid rgba(87,115,93,.10);
}
.clinic-site :is(.service-choice,.hub-region,.us-region,.knowledge-result,.discovery-link,.ha-choice,.ha-provider-card,.case-library-card) {
  box-shadow: var(--premium-shadow);
  transition: transform .28s var(--premium-ease),box-shadow .28s ease,border-color .28s ease,background-color .28s ease;
}
.clinic-site :is(.service-choice,.ha-choice,.ha-provider-card) {
  background-image: linear-gradient(145deg,rgba(255,255,255,.38),transparent 75%);
}
.clinic-site :is(.button,.btn,.footer-book,.site-menu-toggle,.site-menu-close,.hub-region,.us-region,.knowledge-result,.discovery-link,.care-route,.navigation-card,button[data-topic],button[data-view]) {
  -webkit-tap-highlight-color: rgba(66,105,74,.12);
  transition: transform .22s var(--premium-ease),box-shadow .22s ease,background-color .22s ease,color .22s ease,border-color .22s ease;
}
.clinic-site :is(.button,.btn,.footer-book,.site-menu-toggle,.site-menu-close,.hub-region,.us-region,.knowledge-result,.discovery-link,.care-route,.navigation-card,button[data-topic],button[data-view]):active {
  transform: scale(.98);
  transition-duration: .09s;
}
.clinic-site .desktop-nav>a { position: relative; }
.clinic-site .desktop-nav>a::after {
  content: ''; position: absolute; inset: auto 0 5px; height: 1px;
  background: currentColor; transform: scaleX(0); transform-origin: left;
  transition: transform .24s var(--premium-ease);
}
.clinic-site .desktop-nav>a[aria-current]::after,
.clinic-site .desktop-nav>a:focus-visible::after { transform: scaleX(1); }
/* The native dialog keeps its focus trap and Escape behavior. */
.clinic-site #site-menu[open] { animation: premium-menu-in .32s var(--premium-ease) both; }
.clinic-site #site-menu[open]::backdrop {
  background: rgba(16,31,23,.38);
  -webkit-backdrop-filter: blur(5px); backdrop-filter: blur(5px);
  animation: premium-backdrop-in .28s ease both;
}
.clinic-site #site-menu[open].is-leaving { animation: premium-menu-out .17s ease both; }
.clinic-site #site-menu[open].is-leaving::backdrop { animation: premium-backdrop-out .17s ease both; }
.clinic-site .site-menu-toggle .icon { transition: transform .25s var(--premium-ease); }
.clinic-site .site-menu-toggle[aria-expanded=true] .icon { transform: rotate(90deg); }
.clinic-site #site-menu .menu-primary>a {
  transition: background-color .2s ease,transform .22s var(--premium-ease);
}
@keyframes premium-menu-in { from { opacity: 0; transform: translateX(28px); } to { opacity: 1; transform: translateX(0); } }
@keyframes premium-menu-out { to { opacity: 0; transform: translateX(18px); } }
@keyframes premium-backdrop-in { from { background-color: rgba(16,31,23,0); } }
@keyframes premium-backdrop-out { to { background-color: rgba(16,31,23,0); } }
@media (hover:hover) and (pointer:fine) {
  .clinic-site :is(.service-choice,.hub-region,.us-region,.knowledge-result,.discovery-link,.case-library-card):hover {
    transform: translateY(-3px);
    box-shadow: 0 17px 36px -23px rgba(29,57,43,.32);
    border-color: rgba(83,120,91,.38);
  }
  .clinic-site :is(.button-dark,.footer-book):hover { box-shadow: 0 8px 23px -12px rgba(26,63,43,.48); }
  .clinic-site .desktop-nav>a:hover::after { transform: scaleX(1); }
  .clinic-site #site-menu .menu-primary>a:hover { transform: translateX(4px); }
}
@media (max-width:760px) {
  .clinic-site :is(.service-choice,.hub-region,.us-region,.knowledge-result,.discovery-link) {
    --premium-shadow: 0 7px 24px -19px rgba(29,57,43,.25);
  }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior: auto!important; }
  .clinic-site :is(.site-header,.site-header .brand img,.button,.btn,.footer-book,.site-menu-toggle,.site-menu-toggle .icon,.site-menu-close,.service-choice,.hub-region,.us-region,.knowledge-result,.discovery-link,.care-route,.navigation-card,.ha-choice,.ha-provider-card,.case-library-card,button[data-topic],button[data-view],.desktop-nav>a::after,#site-menu .menu-primary>a) {
    transition: none!important; transform: none!important;
  }
  .clinic-site #site-menu[open],.clinic-site #site-menu[open]::backdrop { animation: none!important; }
}
@media print {
  .clinic-site { background: #fff; }
  .clinic-site .site-header { box-shadow: none; backdrop-filter: none; }
}
