/* Motion is intentionally brief and disabled for reduced-motion preferences. */
@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }
  .reveal-pending { opacity: 0; transform: translateY(20px); }
  .reveal-in { animation: section-reveal .85s cubic-bezier(.16,1,.3,1) both; animation-delay: var(--reveal-delay,0ms); }
  @keyframes section-reveal { from { opacity: 0; transform: translateY(35px) scale(.97); } to { opacity: 1; transform: translateY(0) scale(1); } }
  .shared-header { transition: top .25s ease; }
  .shared-header-inner { transition: min-height .25s ease, padding .25s ease, background .25s ease, box-shadow .25s ease; }
  .shared-header.is-scrolled { top: 10px; }
  .shared-header.is-scrolled .shared-header-inner { background: rgba(255,255,255,.92); box-shadow: 0 8px 28px #123e3918; }
  .shared-mobile-menu[open] { animation: menu-reveal .25s ease-out both; }
  @keyframes menu-reveal { from { opacity: 0; transform: translateY(-12px); } to { opacity: 1; transform: translateY(0); } }
  .button,.btn,.contact-button,.procedure-button,.shared-book,.shared-phone,.filter,.review-controls button { transition: transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease; }
  .button:active,.btn:active,.contact-button:active,.procedure-button:active,.shared-book:active { transform: translateY(1px) scale(.98); }
  .shared-nav a { transition: color .2s ease,background .2s ease,box-shadow .2s ease; }
  .shared-mobile-links a { transition: background .2s ease,transform .2s ease; }
  .shared-mobile-links a:hover { transform: translateX(3px); }
  details[open] > p { animation: answer-reveal .25s ease-out; }
  .procedure-detail-panel:not([hidden]) { animation: answer-reveal .25s ease-out; }
  @keyframes answer-reveal { from { opacity: 0; transform: translateY(-5px); } to { opacity: 1; transform: translateY(0); } }
  @media (hover: hover) and (pointer: fine) {
    .card,.service-card,.review,.clinic,.procedure-card,.contact-clinic-card,.contact-panel,.about-tile,.procedure-highlight-grid article { transition: transform .25s ease,box-shadow .25s ease,border-color .25s ease; }
    .card:hover,.service-card:hover,.review:hover,.clinic:hover,.procedure-card:hover,.contact-clinic-card:hover,.about-tile:hover,.procedure-highlight-grid article:hover { transform: translateY(-4px); box-shadow: 0 12px 28px #125f5014; }
    .button:hover,.btn:hover,.contact-button:hover,.procedure-button:hover,.shared-book:hover { transform: translateY(-2px); box-shadow: 0 8px 20px #009e8427; }
    .shared-phone:hover,.review-controls button:hover { transform: translateY(-2px); }
    .filter:hover { transform: translateY(-2px); }
  }
}

@media(prefers-reduced-motion:no-preference) {
  .animated-hero { position: relative; isolation: isolate; }
  .motion-accents { position: absolute; inset: 0; overflow: hidden; pointer-events: none; z-index: -1; }
  .motion-accents span { position: absolute; width: 210px; height: 210px; border-radius: 50%; background: radial-gradient(circle,#00bda421,transparent 70%); top: 10%; left: 8%; animation: accent-drift 9s ease-in-out infinite alternate; }
  .motion-accents span:nth-child(2) { width: 320px; height: 320px; top: 40%; left: 60%; animation-delay: -4s; animation-duration: 12s; }
  .motion-accents span:nth-child(3) { width: 90px; height: 90px; top: 75%; left: 40%; border: 1px solid #00ba9e26; background: transparent; animation-delay: -2s; }
  @keyframes accent-drift { from { transform: translate(-15px,15px) scale(.9); } to { transform: translate(35px,-25px) scale(1.15); } }
  .motion-art { animation: artwork-float 6s ease-in-out infinite; }
  .motion-art.reveal-in { animation: section-reveal .85s cubic-bezier(.16,1,.3,1) both,artwork-float 6s ease-in-out infinite; }
  @keyframes artwork-float { 0%,100% { translate: 0 0; } 50% { translate: 0 -8px; } }
  .hero-copy h1 em,.about-hero h1 span,.contact-hero h1 span,.procedure-intro h2 span { background: linear-gradient(110deg,#008e99,#00bc91,#007b92,#008e99); background-size: 250% 100%; color: transparent; background-clip: text; -webkit-background-clip: text; animation: title-shimmer 7s ease-in-out infinite; }
  @keyframes title-shimmer { 0%,100% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } }
  .shared-book { animation: appointment-glow 3.5s ease-in-out infinite; }
  @keyframes appointment-glow { 0%,100% { box-shadow: 0 6px 20px #00a87925; } 50% { box-shadow: 0 8px 30px #00a87960; } }
  .stats strong,.about-stats strong { font-variant-numeric: tabular-nums; }
  .button,.btn,.contact-button,.procedure-button { position: relative; overflow: hidden; }
  .button::after,.btn::after,.procedure-button::after { content: ''; position: absolute; width: 30%; height: 170%; background: linear-gradient(90deg,transparent,#ffffff55,transparent); top: -35%; left: -50%; transform: skewX(-20deg); pointer-events: none; transition: left .6s ease; }
  .button:hover::after,.btn:hover::after,.procedure-button:hover::after { left: 125%; }
  .shared-mobile-menu[open] .shared-mobile-links a { animation: mobile-link-in .4s ease-out both; }
  .shared-mobile-menu[open] .shared-mobile-links a:nth-child(2) { animation-delay: .05s; }
  .shared-mobile-menu[open] .shared-mobile-links a:nth-child(3) { animation-delay: .1s; }
  .shared-mobile-menu[open] .shared-mobile-links a:nth-child(4) { animation-delay: .15s; }
  .shared-mobile-menu[open] .shared-mobile-links a:nth-child(5) { animation-delay: .2s; }
  .shared-mobile-menu[open] .shared-mobile-links a:nth-child(6) { animation-delay: .25s; }
  .shared-mobile-menu[open] .shared-mobile-links a:nth-child(7) { animation-delay: .3s; }
  @keyframes mobile-link-in { from { opacity: 0; translate: -18px 0; } to { opacity: 1; translate: 0 0; } }
  .motion-paused .motion-art,.motion-paused .motion-accents span,.motion-paused .shared-book { animation-play-state: paused; }
  @media(hover:hover) and (pointer:fine) {
    .motion-tilt { rotate: 0 1 0 var(--card-tilt,0deg); transition: rotate .2s ease,transform .25s ease,box-shadow .25s ease; }
    .service-card > img,.clinic > img,.contact-clinic-card > img { transition: scale .4s ease; }
    .service-card:hover > img,.clinic:hover > img,.contact-clinic-card:hover > img { scale: 1.035; }
  }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .reveal-pending { opacity: 1; transform: none; }
  .reveal-in,.shared-mobile-menu[open] { animation: none; }
}
