/* Shared safety and contact styles, loaded after each page's existing CSS. */
:root{--ss-brand:#16a34a;--ss-brand-hover:#22c55e;--ss-on-brand:#111827;--ss-accent-text:#12803a}
[data-theme="dark"]{--ss-accent-text:var(--ss-brand)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:115px}
body{overflow-wrap:break-word}
img,svg,video{max-width:100%}
main,article,section,aside,header .bar{min-width:0}
header .bar{flex-wrap:wrap}
header nav ul{flex-wrap:wrap}
a,button,input,textarea,select{touch-action:manipulation}
:where(a,button,input,textarea,select,summary):focus-visible{outline:3px solid #0284c7;outline-offset:4px}
button,input,textarea,select{font:inherit}
.ss-header-phone{white-space:nowrap;font-weight:700}
.ss-contact{scroll-margin-top:115px}
.ss-lead-form{display:grid;gap:16px;width:100%;max-width:720px;margin-top:24px}
.ss-lead-form label{display:grid;gap:7px;font-size:15px;font-weight:650}
.ss-lead-form input,.ss-lead-form textarea{display:block;width:100%;min-width:0;border:1px solid #a6b8aa;background:#fff;color:#111827;border-radius:10px;padding:13px 14px;font-size:16px;line-height:1.5}
.ss-lead-form textarea{resize:vertical;min-height:112px}
.ss-lead-form button{min-height:48px;cursor:pointer;justify-content:center}
.ss-lead-form button:disabled{opacity:.65;cursor:default}
.ss-lead-form [data-form-status]{min-height:24px;margin:0;font-weight:600}
.ss-lead-form .is-error{color:#b42318}
.ss-lead-form .ss-form-notice{font-size:13px;line-height:1.65;color:#526358}
.ss-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.ss-mobile-contact{display:none}
.ss-contact-in-view .ss-mobile-contact{display:none!important}
.ss-contact-links{display:flex;flex-wrap:wrap;gap:12px 24px}
.ss-contact-links a{padding:8px 0}
.ss-table-scroll{max-width:100%;overflow-x:auto;margin:16px 0}
.ss-table-scroll table{margin:0}
.ss-service-page .ss-skip-link{position:absolute;top:-100px;left:16px;z-index:100;background:#fff;padding:12px}
.ss-service-page .ss-skip-link:focus{top:10px}
.ss-contact-strip,.ss-footer-contacts{display:flex;flex-wrap:wrap;gap:8px 24px;padding-block:10px;font-size:14px}
.ss-blog-header{padding:14px 0;border-bottom:1px solid #d9e2d9}
[data-theme="dark"] .ss-lead-form input,[data-theme="dark"] .ss-lead-form textarea{background:var(--panel,#15191c);color:var(--ink,#f1f5f9);border-color:#657078}
[data-theme="dark"] .ss-lead-form .ss-form-notice{color:#becdc3}
[data-theme="dark"] .ss-lead-form .is-error{color:#ffb4ab}
@media(max-width:767px){
 body{padding-bottom:calc(82px + env(safe-area-inset-bottom))}
 .ss-mobile-contact{display:flex;align-items:center;justify-content:center;position:fixed;z-index:40;bottom:calc(12px + env(safe-area-inset-bottom));left:16px;right:16px;min-height:50px;padding:12px 18px;border-radius:12px;background:var(--ss-brand);color:var(--ss-on-brand)!important;text-decoration:none!important;font-weight:750;box-shadow:0 6px 24px #0003}
 header.site{position:relative}
 html{scroll-padding-top:20px}
 .ss-contact{scroll-margin-top:20px}
 .ss-lead-form{max-width:none}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Keep five service navigation items readable on phones. */
@media(max-width:760px){.ss-service-page header nav a{font-size:13px;padding-inline:5px;min-width:44px;white-space:nowrap}}
