/* A restrained editorial motion layer; content never depends on animation. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
[data-count]{display:inline-block;font-variant-numeric:tabular-nums;min-width:2ch}
.track-record p{font-variant-numeric:tabular-nums}
.not-found{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem;padding:3rem 1.5rem;text-align:center}
@media(prefers-reduced-motion:no-preference){
  .button{position:relative;overflow:hidden;transition:background .25s,color .25s,translate .3s,box-shadow .3s}
  .button::after{content:'';position:absolute;inset:-50% auto -50% -60%;width:35%;background:linear-gradient(90deg,transparent,#fff4,transparent);transform:skewX(-22deg);transition:left .6s;pointer-events:none}
  .button:hover::after{left:125%}
  .button:hover{translate:0 -3px;box-shadow:0 10px 24px #1e1e1e20}
  .button:active{translate:0 0;box-shadow:none}
  .site-header nav>a:not(.button),.footer-links>a{position:relative;transition:color .25s}
  .site-header nav>a:not(.button)::after,.footer-links>a::after{content:'';position:absolute;left:0;bottom:-.4rem;width:100%;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .35s}
  .site-header nav>a:hover::after,.site-header nav>a:focus-visible::after,.footer-links>a:hover::after{transform:scaleX(1)}
  .case-card,.obituary-checklist,.appointment-card{transition:translate .4s,box-shadow .4s,border-color .4s}
  .service-art img,.stat-top img,.obituary-art img,.stage-art,.expectations img{transition:transform .6s cubic-bezier(.2,.75,.25,1)}
  .stage-list li{transition:background .35s}
  .faq-list summary,.faq-symbol{transition:background .3s,color .3s}
  .faq-list summary:hover{background:#c1a36518}
  .faq-list details[open] summary:hover{background:var(--wine)}
  .form-fields input,.form-fields select,.form-fields textarea{transition:background .25s,box-shadow .25s}
  .form-fields :is(input,select,textarea):focus{background:#ffffff60;box-shadow:0 3px 0 var(--gold)}
  .motion-enabled .home-hero,.motion-enabled .contact-hero{position:relative;isolation:isolate;overflow:hidden}
  .motion-enabled .home-hero::before,.motion-enabled .contact-hero::before{content:'';position:absolute;inset:0;z-index:-1;background:inherit;pointer-events:none;animation:hero-settle 2.4s cubic-bezier(.2,.65,.3,1) both}
  .motion-enabled .is-in-view .eyebrow::after,.motion-enabled .is-in-view.floral-rule::before,.motion-enabled .is-in-view.floral-rule::after{animation:rule-draw .9s cubic-bezier(.2,.75,.25,1) both;transform-origin:left}
  .site-header nav.is-open{animation:menu-enter .25s ease-out}
  dialog[open]{animation:menu-enter .25s ease-out}
  @keyframes hero-settle{from{transform:scale(1.055);opacity:.45}to{transform:scale(1);opacity:1}}
  @keyframes rule-draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
  @keyframes menu-enter{from{opacity:0;translate:0 -8px}to{opacity:1;translate:0 0}}
}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
  .case-card:hover,.obituary-checklist:hover,.appointment-card:hover{translate:0 -5px;box-shadow:0 16px 35px #4a171c12;border-color:var(--wine)}
  .service-card:hover .service-art img,.stat-card:hover .stat-top img,.obituary-cards article:hover img{transform:translateY(-7px) rotate(-2deg)}
  .stage-list li:hover{background:#c1a3650d}
  .stage-list li:hover .stage-art,.expectations article:hover img{transform:translateY(-4px) rotate(-3deg)}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;scroll-behavior:auto!important}}
