/* Accessibility and native navigation adapter; visual system is the exported CSS. */
html{scroll-padding-top:90px}
[hidden]{display:none!important}
.route-anchor{position:absolute;scroll-margin-top:90px}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--primary);outline-offset:4px}
html.paused *,html.paused *:after{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.js .reveal{opacity:1;transform:none}}
#lead-form input::placeholder,#lead-form textarea::placeholder{color:var(--muted-foreground);opacity:1;font-weight:400}
#lead-form select:invalid{color:var(--muted-foreground)}
#lead-form select option{color:var(--foreground);background:var(--ink)}
/* Do not let exported animation shorthand restart offscreen effects. */
.agency-reference .anim-float,.agency-reference .anim-pulse,.agency-reference .anim-dash,.agency-reference .anim-wiggle,.agency-reference .anim-twinkle,.agency-reference .btn-gold:after{animation-play-state:paused}
.agency-reference .live .anim-float,.agency-reference .live .anim-pulse,.agency-reference .live .anim-dash,.agency-reference .live .anim-wiggle,.agency-reference .live .anim-twinkle,.agency-reference .live.btn-gold:after,.agency-reference .live .btn-gold:after{animation-play-state:running}
html.paused .agency-reference *,html.paused .agency-reference *:after{animation-play-state:paused!important}
@media(pointer:coarse){.agency-reference .anim-dash,.agency-reference .anim-wiggle{animation-iteration-count:1}.agency-reference .btn-gold:after{animation:none}}

/* Content is readable immediately on touch devices, with a short entrance. */
@media(pointer:coarse){
 .js .agency-reference .reveal{opacity:1;transform:none;transition:none}
 .js .agency-reference .reveal.is-in{animation:agency-mobile-arrival .3s ease-out both}
 .agency-reference .anim-float{animation-name:agency-mobile-float;animation-duration:8s}
 @keyframes agency-mobile-arrival{from{translate:0 6px}to{translate:0 0}}
 @keyframes agency-mobile-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
}
@media(prefers-reduced-motion:reduce){.js .agency-reference .reveal.is-in{animation:none!important;translate:none}}
/* A short opening with readable content and no interaction-triggered pause. */
.js .agency-reference .opening-copy.reveal{opacity:1;transform:none;transition:none}
.js .agency-reference .opening-copy.reveal.is-in{animation:none}
@media(prefers-reduced-motion:no-preference){
 .agency-reference .opening-title{animation:agency-welcome .55s cubic-bezier(.16,1,.3,1) both}
 @keyframes agency-welcome{from{opacity:.85;translate:0 9px}to{opacity:1;translate:0 0}}
}
@media(prefers-reduced-motion:reduce){.agency-reference .opening-title{animation:none!important;translate:none}}
