/* Motion is optional. No CSS rule hides content before JavaScript runs. */
.hero-copy,.hero-visual{animation:none}
nav a{position:relative}
nav a::after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:2px;background:#079fbe;transform:scaleX(0);transform-origin:left}
nav a:hover::after,nav a:focus-visible::after{transform:scaleX(1)}
.service:focus-within{border-color:#079fbe;box-shadow:0 8px 24px #16355012}
.contact-method:focus-visible{border-color:#10cef0}
@media(prefers-reduced-motion:no-preference){
  nav a::after{transition:transform .24s ease}
  .service{transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}
  .service .service-photo{transition:transform .6s cubic-bezier(.2,.7,.25,1)}
  .service .service-icon{transition:transform .3s ease,box-shadow .3s ease}
  .btn{transition:transform .2s ease,background .2s ease,box-shadow .2s ease}
  .btn:active{transform:translateY(0) scale(.98)}
  .contact-method{transition:transform .22s ease,background .22s ease,border-color .22s ease}
  .faqs summary::after{transition:transform .2s ease}
  .photo-window img{transition:transform .8s ease}
  @media(hover:hover) and (pointer:fine){
    .service:hover{transform:translateY(-5px);box-shadow:0 15px 30px #16355016}
    .service:hover .service-photo{transform:scale(1.065)}
    .service:hover .service-icon{transform:translateY(-3px) rotate(-5deg)}
    .contact-methods a:hover{transform:translateX(4px)}
    .hero-visual:hover .photo-window img{transform:scale(1.035)}
    .btn:hover{box-shadow:0 7px 18px #001c3018}
    .faqs summary:hover::after{transform:scale(1.18)}
  }
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .service:hover,.btn:hover,.btn:active,.contact-methods a:hover{transform:none}
  .hero-copy,.hero-visual{animation:none}
}
@media print{.hero-copy,.hero-visual,.service,.section{animation:none!important;opacity:1!important;transform:none!important}}

/* Extra depth and clear visual feedback, without permanent motion. */
@media(prefers-reduced-motion:no-preference){
 .service-media img{transition:transform .75s cubic-bezier(.2,.7,.25,1),filter .5s ease}
 .service{transform-style:preserve-3d;transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}
 .eyebrow.dark::after{content:'';display:block;width:38px;height:3px;margin-top:12px;background:#09b6d3;transition:width .5s ease}
 .section:hover .eyebrow.dark::after{width:72px}
 .steps article{transition:border-color .3s ease,transform .3s ease}
 .steps article:hover{border-color:#09b6d3;transform:translateY(-4px)}
 .footer-social a{transition:background .25s ease,transform .25s ease}
 .footer-social a:hover{background:#d7edf3;transform:translateY(-4px)}
 @media(hover:hover) and (pointer:fine){
  .service:hover{transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(-7px);box-shadow:0 18px 32px #1635501c}
  .service:hover .service-photo{transform:scale(1.07);filter:saturate(1)}
  .service:focus-within{transform:translateY(-3px)}
 }
}
@media(prefers-reduced-motion:reduce){.steps article:hover,.footer-social a:hover,.service:hover,.service:focus-within{transform:none}}
