/* Short, finite accents. No section relies on animation for visibility. */
@media(prefers-reduced-motion:no-preference){
  .motion-enabled .hero{isolation:isolate;overflow:hidden}
  .motion-enabled .hero::after{content:"";position:absolute;inset:10% 0 0 34%;z-index:1;pointer-events:none;background:radial-gradient(ellipse at 68% 48%,#e6bd7a2c 0%,#e6bd7a0a 38%,transparent 67%);opacity:0;mix-blend-mode:screen;animation:hero-light 3.6s .15s ease-out both}
  .motion-enabled .hero-mobile-copy{animation:copy-enter .85s cubic-bezier(.22,1,.36,1) both}
  .motion-enabled .gallery-viewer[open]{animation:viewer-enter .3s cubic-bezier(.22,1,.36,1)}
  .motion-enabled .gallery-viewer[open]::backdrop{animation:backdrop-enter .25s ease-out}
  .image-link{transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s ease-out}
  .motion-enabled.motion-fine .image-link[data-motion-hover=true]{transform:perspective(1600px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(-2px);box-shadow:0 32px 50px -32px #1c1c1b88}
  .motion-enabled.motion-fine .image-link::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;background:radial-gradient(ellipse at var(--shine-x,50%) var(--shine-y,50%),#ffffff13,transparent 62%);opacity:0;transition:opacity .3s}
  .motion-enabled.motion-fine .image-link[data-motion-hover=true]::after{opacity:1}
  .image-link .image-zoom{z-index:2;transition:background .2s,transform .3s}
  .image-link:hover .image-zoom,.image-link:focus-visible .image-zoom{transform:translate(2px,-2px)}
  .image-status{z-index:3}
  .foundation-steps button{transition:color .2s,border-color .2s,box-shadow .2s}
  .foundation-steps .phase-preview{transition:opacity .25s,transform .35s cubic-bezier(.22,1,.36,1)}
  .foundation-steps button:hover .phase-preview,.foundation-steps button:focus-visible .phase-preview{transform:translateY(-3px);opacity:1}
  .gallery-arrows button,.viewer-arrows button,.viewer-header button{transition:transform .2s,background .2s,border-color .2s}
  .gallery-arrows button:hover:not(:disabled),.viewer-arrows button:hover:not(:disabled),.viewer-header button:hover{transform:translateY(-2px)}
  .gallery-arrows button:active:not(:disabled),.viewer-arrows button:active:not(:disabled),.viewer-header button:active{transform:scale(.95)}
  .open-viewer>span,.theme-index a>span,.mobile-primary>span{display:inline-block;transition:transform .25s}
  .open-viewer:hover>span,.open-viewer:focus-visible>span,.theme-index a:hover>span,.theme-index a:focus-visible>span{transform:translate(3px,-3px)}
  .mobile-primary:hover>span,.mobile-primary:focus-visible>span{transform:translate(3px,3px)}
  .section-nav>div>a,.service-grid a{transition:color .2s,border-color .25s}
  .service-grid article{transition:border-color .3s}
  .service-grid article:hover,.service-grid article:focus-within{border-color:var(--blue)}
  @keyframes hero-light{0%{opacity:0;transform:translateX(-18px)}30%{opacity:1}100%{opacity:0;transform:translateX(22px)}}
  @keyframes copy-enter{from{opacity:.3;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
  @keyframes viewer-enter{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
  @keyframes backdrop-enter{from{opacity:0}to{opacity:1}}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
