/* Premium motion layer — all motion is disabled for visitors who request reduced motion. */
@media (prefers-reduced-motion: no-preference) {
  .hero { position: relative; overflow: hidden; isolation: isolate; }
  .hero::before, .hero::after { content: ""; position: absolute; pointer-events: none; z-index: -1; border-radius: 50%; filter: blur(1px); }
  .hero::before { width: 38rem; height: 38rem; right: -15rem; top: -14rem; background: radial-gradient(circle, rgba(223,194,120,.36), rgba(223,194,120,0) 67%); animation: ambientDrift 11s ease-in-out infinite alternate; }
  .hero::after { width: 26rem; height: 26rem; left: 28%; bottom: -21rem; background: radial-gradient(circle, rgba(9,46,88,.10), rgba(9,46,88,0) 70%); animation: ambientDrift 15s -5s ease-in-out infinite alternate-reverse; }
  .hero-copy > * { animation: riseIn .8s cubic-bezier(.22,.8,.27,1) both; }
  .hero-copy .eyebrow { animation-delay: .1s; }
  .hero-copy h1 { animation-delay: .2s; }
  .hero-copy .lead { animation-delay: .34s; }
  .hero-copy .hero-actions { animation-delay: .48s; }
  .hero-visual { animation: heroVisualIn 1s .18s cubic-bezier(.16,1,.3,1) both; transition: transform .45s cubic-bezier(.16,1,.3,1); transform-style: preserve-3d; }
  .hero-visual > img { transition: transform .7s cubic-bezier(.16,1,.3,1), filter .5s ease; }
  .hero-visual:hover > img { transform: scale(1.04); filter: saturate(1.02) contrast(1.06) brightness(1.04); }
  .hero-card { animation: cardFloat 5s ease-in-out infinite; }
  .confidence-strip { animation: riseIn .8s .6s cubic-bezier(.22,.8,.27,1) both; }
  .service-grid article, .about, .life-copy, .life-image, .contact-intro, form { transition: transform .35s cubic-bezier(.16,1,.3,1), box-shadow .35s ease, border-color .35s ease; }
  .service-grid article:hover { transform: translateY(-9px); border-color: var(--gold); }
  .service-grid article:hover .icon { transform: scale(1.17) rotate(-7deg); }
  .icon { transition: transform .35s cubic-bezier(.16,1,.3,1); }
  .button { position: relative; overflow: hidden; }
  .button::after { content: ""; position: absolute; inset: 0; background: linear-gradient(110deg, transparent 20%, rgba(255,255,255,.3) 47%, transparent 74%); transform: translateX(-130%); transition: transform .62s ease; }
  .button:hover::after { transform: translateX(130%); }
  .text-link, .video-trigger, .phone, .email { transition: transform .25s ease, color .25s ease; }
  .text-link:hover, .video-trigger:hover, .phone:hover, .email:hover { transform: translateX(4px); }
  .motion-ready [data-reveal] { opacity: 0; transform: translateY(30px); transition: opacity .72s cubic-bezier(.22,.8,.27,1), transform .72s cubic-bezier(.22,.8,.27,1); }
  .motion-ready [data-reveal].is-visible { opacity: 1; transform: translateY(0); }
  .motion-ready .service-grid article:nth-child(2) { transition-delay: .09s; }
  .motion-ready .service-grid article:nth-child(3) { transition-delay: .18s; }
  .motion-ready .service-grid article:nth-child(4) { transition-delay: .27s; }
  .motion-ready .about-text { transition-delay: .12s; }
  .motion-ready .life-copy { transition-delay: .12s; }
  .motion-ready form { transition-delay: .13s; }
}
@keyframes riseIn { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: translateY(0); } }
@keyframes heroVisualIn { from { opacity: 0; transform: translate3d(42px,25px,0) scale(.96); } to { opacity: 1; transform: translate3d(0,0,0) scale(1); } }
@keyframes cardFloat { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-9px); } }
@keyframes ambientDrift { from { transform: translate3d(-18px,-12px,0) scale(.96); } to { transform: translate3d(18px,20px,0) scale(1.08); } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } }
