/* Accessibility and shared interactions for this standalone site. */
:root{--header-offset:0px;scroll-padding-top:100px}
*{box-sizing:border-box}body{margin:0}img{max-width:100%}a,button,input,select,textarea{touch-action:manipulation}button{cursor:pointer}
body>header{top:0}.skip{z-index:150}.mega-menu{top:var(--navigation-bottom,132px)}
.hero-actions a,main .button,main .btn{transition:background .22s,color .22s,box-shadow .22s,transform .22s,border-color .22s}
.hero-actions a:hover,main .button:hover,main .btn:hover{transform:translateY(-2px);box-shadow:0 7px 20px #21212116}
.button span,.btn span,.text-link span,.card-action,.circle-arrow{transition:transform .25s}.button:hover span,.btn:hover span,.text-link:hover span{transform:translate(3px,-3px)}
.service-card,.all-services article,.review-card,.service-directory article{transition:transform .28s,border-color .28s,background .28s,box-shadow .28s}
.project-photo,.photo-button,[data-image],[data-lightbox],[data-photo]{overflow:hidden}.project-photo img,[data-image] img,[data-lightbox] img,[data-photo] img{transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .45s}
.project-photo:hover img,[data-image]:hover img,[data-lightbox]:hover img,[data-photo]:hover img{transform:scale(1.045);filter:brightness(1.04)}
.verified-proof{color:inherit}.verified-proof a{color:inherit}.verified-proof .proof-badge{font-size:11px}.verified-proof blockquote{font-size:13px}.verified-proof .proof-date{opacity:.72}
.verified-proof a:hover{text-decoration:underline;text-underline-offset:4px}.verified-proof .proof-badge:hover{background:#ffffff18}
body .form-result[hidden],body .form-status[hidden],body [hidden]{display:none!important}
body .form-result,body .form-status{font-size:13px;line-height:1.5}
body main .form-grid label,body main .form-fields label,body main .fields label{min-width:0}
body input:focus,body select:focus,body textarea:focus{outline:2px solid var(--accent,#0d508c);outline-offset:2px}
body a:focus-visible,body button:focus-visible{outline:2px solid var(--accent,#0d508c);outline-offset:5px}
body .interior-page{min-height:55vh}body .interior-page img{max-width:100%}
body dialog{z-index:200}body dialog::backdrop{backdrop-filter:blur(7px)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{transition:none!important;animation:none!important}}
@media(max-width:800px){.verified-proof blockquote{font-size:12px}.verified-proof .proof-badge{font-size:10px}}
