/* Still content; brief feedback only for deliberate control changes. */
@view-transition { navigation: none; }
body:not([data-page="/jw-v2/owner"]) *,
body:not([data-page="/jw-v2/owner"]) *::before,
body:not([data-page="/jw-v2/owner"]) *::after { animation: none !important; transition: none !important; }
body:not([data-page="/jw-v2/owner"]) :is(.btn, .result-card, .blog-card, .social-links a):hover { transform: none; translate: none; scale: none; }
body:not([data-page="/jw-v2/owner"]) .location-map:hover img { transform: none; }
body:not([data-page="/jw-v2/owner"]) .price-grid .price-card:is(:hover, :focus-within) { translate: none; scale: none; box-shadow: none; }
body:not([data-page="/jw-v2/owner"]) .shade-choice:is(:hover, :focus-visible) .shade-tooth { transform: none; }
body:not([data-page="/jw-v2/owner"]) .gallery-controls { display: flex; color: var(--muted); }
body:not([data-page="/jw-v2/owner"]) .gallery-controls button { color: inherit; border-color: var(--control-border); }
body:not([data-page="/jw-v2/owner"]) .gallery-controls button:hover { background: var(--soft); color: var(--ink); }
body:not([data-page="/jw-v2/owner"]) :is(.btn, .treatment-audience button, .results-thumbnail, .faq-list summary) { transition: color 140ms ease, background-color 140ms ease, border-color 140ms ease !important; }
@media (prefers-reduced-motion: reduce) {
  html, body:not([data-page="/jw-v2/owner"]) * { scroll-behavior: auto !important; }
  body:not([data-page="/jw-v2/owner"]) *,
  body:not([data-page="/jw-v2/owner"]) *::before,
  body:not([data-page="/jw-v2/owner"]) *::after { transition: none !important; }
  body:not([data-page="/jw-v2/owner"]) :is(.btn, .treatment-audience button, .results-thumbnail, .faq-list summary) { transition: none !important; }
  ::view-transition-old(root), ::view-transition-new(root) { animation: none !important; }
}

/* Public action buttons glow independently of their surrounding cards. */
body:not([data-page="/jw-v2/owner"]) :is(.btn, button):not(:disabled):not([aria-disabled="true"]):focus-visible {
 outline: none;
 box-shadow: 0 0 24px 6px #e4bc7b85, 0 6px 42px 8px #c9934947 !important;
}
@media (hover: hover) and (pointer: fine) {
 body:not([data-page="/jw-v2/owner"]) :is(.btn, button):not(:disabled):not([aria-disabled="true"]):hover {
  box-shadow: 0 0 24px 6px #e4bc7b85, 0 6px 42px 8px #c9934947 !important;
 }
}
/* Restore deliberate pointer and keyboard feedback requested by the owner. */
@keyframes hero-brighter-bounce {
  0% { opacity: 0; transform: translateY(46px); }
  22% { opacity: 1; transform: translateY(0); }
  36% { transform: translateY(-20px); }
  48% { transform: translateY(0); }
  62% { transform: translateY(-11px); }
  74% { transform: translateY(0); }
  86% { transform: translateY(-5px); }
  100% { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: no-preference) {
 body:not([data-page="/jw-v2/owner"]) :is(.btn, button) {
  transition: transform 220ms ease, color 180ms ease, background-color 180ms ease, border-color 180ms ease, box-shadow 320ms ease !important;
 }

 body:not([data-page="/jw-v2/owner"]) .price-card .treatment-shade-hover {
  transition: opacity 320ms ease !important;
 }
 body[data-page="/"] .studio-hero .hero-copy h1 em {
  display: inline-block;
  opacity: 0;
 }
 body[data-page="/"] .studio-hero.brighter-revealed .hero-copy h1 em {
  animation: hero-brighter-bounce 1.6s cubic-bezier(.4,0,.6,1) both !important;
 }
 body:not([data-page="/jw-v2/owner"]) :is(.btn, .text-link, .treatment-audience button, .gallery-controls button, .results-navigation button, .menu-button, .social-links a) {
  transition: transform 220ms ease, color 180ms ease, background-color 180ms ease, border-color 180ms ease, box-shadow 220ms ease !important;
 }
 body:not([data-page="/jw-v2/owner"]) .price-grid .price-card {
  transition: translate 400ms cubic-bezier(.22,1,.36,1), scale 400ms cubic-bezier(.22,1,.36,1), box-shadow 400ms ease !important;
 }
 body:not([data-page="/jw-v2/owner"]) .price-grid .price-card:focus-within {
  translate: 0 -10px; scale: 1.025; box-shadow: 0 24px 48px -16px #00000038, 0 0 0 2px #e4bc7bd9, 0 0 28px 7px #e4bc7b85, 0 0 64px 14px #c9934947; z-index: 2;
 }
 body:not([data-page="/jw-v2/owner"]) :is(.btn, .text-link):focus-visible { transform: translateY(-3px); }
 body:not([data-page="/jw-v2/owner"]) :is(.btn, .treatment-audience button, .gallery-controls button, .results-navigation button, .menu-button):active { transform: scale(.97); }
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
 body:not([data-page="/jw-v2/owner"]) .price-grid .price-card:hover {
  translate: 0 -10px; scale: 1.025; box-shadow: 0 24px 48px -16px #00000038, 0 0 0 2px #e4bc7bd9, 0 0 28px 7px #e4bc7b85, 0 0 64px 14px #c9934947; z-index: 2;
 }
 body:not([data-page="/jw-v2/owner"]) :is(.btn, .text-link, .treatment-audience button, .gallery-controls button, .results-navigation button, .menu-button, .social-links a):hover { transform: translateY(-3px); }
}

/* One deliberate reveal when the visitor enters the shade guide. */
@media (prefers-reduced-motion: no-preference) {
 body:not([data-page="/jw-v2/owner"]) .shade-entered .shade-guide-intro,
 body:not([data-page="/jw-v2/owner"]) .shade-entered .shade-key {
  animation: shade-reveal-in 650ms cubic-bezier(.2,.7,.25,1) both !important;
 }
 body:not([data-page="/jw-v2/owner"]) .shade-entered .shade-base {
  animation: shade-reveal-in 750ms 100ms cubic-bezier(.2,.7,.25,1) both !important;
 }
 body:not([data-page="/jw-v2/owner"]) .shade-entered .shade-choice {
  animation: shade-tooth-rise 720ms var(--shade-reveal-delay,160ms) cubic-bezier(.2,.8,.25,1) both !important;
 }
 body:not([data-page="/jw-v2/owner"]) .shade-entered :is(.shade-range-labels,.shade-summary-heading,.shade-guide-results,.shade-recommendation,.shade-guide-note) {
  animation: shade-reveal-in 650ms 650ms cubic-bezier(.2,.7,.25,1) both !important;
 }
}
@keyframes shade-reveal-in {
 from { opacity: 0; translate: 0 16px; }
 to { opacity: 1; translate: 0 0; }
}
@keyframes shade-tooth-rise {
 0% { opacity: 0; translate: 0 36px; }
 70% { opacity: 1; translate: 0 -5px; }
 100% { opacity: 1; translate: 0 0; }
}

@media (prefers-reduced-motion: no-preference) {
 body:not([data-page="/jw-v2/owner"]) .google-review-carousel .review { transition: box-shadow 240ms ease !important; }
}
