/* Layout and accessibility improvements; loaded after the existing theme. */
img { max-width: 100%; height: auto; }
html { scroll-behavior: smooth; scroll-padding-top: 100px; }
.seo-hero { position: relative; padding: 240px 0 90px; min-height: 700px; background: #152633; color: #fff; }
.seo-hero-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .26; }
.seo-hero-content { position: relative; }
.seo-hero h1 { color: #fff; font-size: clamp(32px, 4.5vw, 58px); line-height: 1.18; margin: 18px 0 25px; }
.seo-hero p { max-width: 720px; font-size: 18px; line-height: 1.7; }
.seo-hero .seo-eyebrow { font-size: 13px; letter-spacing: 1px; }
.seo-hero .btn { margin: 12px 10px 12px 0; border-color: #fff; color: #fff; }
.seo-hero .btn:hover, .seo-hero .btn:focus { background: #0074aa; }
.seo-hero-phone { margin-top: 12px; }
.seo-hero-phone a { color: #fff; text-decoration: underline; }
.blog_item_detail a:not(.btn), .contact_info a { text-decoration: underline; }
.feature_heading_text h2 { font-size: 28px; line-height: 1.35; }
.wow { visibility: visible !important; }
a:focus-visible, button:focus-visible { outline: 3px solid #0074aa; outline-offset: 4px; }
.contact-privacy-note { clear: both; padding-top: 16px; font-size: 13px; line-height: 1.5; }
.contact-privacy-note a { text-decoration: underline; }
#contactForm button[disabled] { opacity: .65; cursor: wait; }
@media(max-width:767px) { .seo-hero { padding: 125px 0 55px; min-height: 620px; } .seo-hero p { font-size: 16px; } .page_feature_image_inner h1 { font-size: 28px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation: none !important; transition: none !important; } }

.contact-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
