/* Shared additions; kept separate from compiled Sass for straightforward maintenance. */
[hidden] { display: none !important; }
html { scroll-padding-top: 120px; }
.skip-link { position: fixed; top: 8px; left: 8px; z-index: 10000; padding: 12px 20px; background: #fff; color: #061f44; transform: translateY(-150%); }
.skip-link:focus { transform: none; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 3px solid #f5a623; outline-offset: 4px; }
.mobile-brand { list-style: none; }
.lead-guide { padding: 48px 20px; background: #061f44 url(/assets/images/global/backgrounds/bg-inverse.webp) center / cover no-repeat; color: #fff; }
.lead-guide-inner { max-width: 1100px; margin: auto; }
.lead-guide h2 { color: #fff; font-size: clamp(25px, 4vw, 38px); margin-bottom: 18px; }
.lead-guide p { color: #fff; line-height: 1.7; margin: 14px 0; }
.lead-guide a:not(.guide-cta) { color: var(--primary, #fed050); text-decoration: underline; }
.lead-guide-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; margin: 30px 0; }
.lead-guide h3 { color: var(--primary, #fed050); font-size: 20px; }
.guide-cta { display: inline-flex; padding: 16px 24px; min-height: 48px; background: #ffd26e; color: #061f44; font-weight: 700; text-decoration: none; }
.mobile-contact { display: none; }
.form-note, .form-status { grid-column: 1 / -1; line-height: 1.6; color: #fff; }
.form-note a, .form-status a { color: #ffd26e; text-decoration: underline; }
.form-status:empty { display: none; }
.contact-page form[aria-busy="true"] button { opacity: .7; cursor: wait; }
.contact-page input, .contact-page select, .contact-page textarea { font-size: 16px; min-height: 44px; }
.utility-page { max-width: 800px; margin: 10vh auto; padding: 24px; color: #061f44; font: 18px/1.7 system-ui, sans-serif; }
.utility-page h1 { font-size: 36px; }
.utility-page a { color: #174e80; text-decoration: underline; }
@media (max-width: 767px) {
 body { padding-bottom: calc(68px + env(safe-area-inset-bottom)); }
 .lead-guide-grid { grid-template-columns: 1fr; gap: 12px; }
 .mobile-contact { display: flex; position: fixed; bottom: 0; left: 0; right: 0; z-index: 900; background: #061f44; padding: 8px 12px calc(8px + env(safe-area-inset-bottom)); gap: 10px; }
 .mobile-contact a { flex: 1; text-align: center; padding: 14px 6px; color: #fff; border: 1px solid #fff; font-weight: 700; text-decoration: none; }
 .mobile-contact a:last-child { background: #ffd26e; color: #061f44; border-color: #ffd26e; }
}
@media (prefers-reduced-motion: reduce) {
 *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
/* Make the local service promise the first readable hero message. */
#hero .hero-text h1 { font-family: 'Anton', system-ui, sans-serif; font-size: clamp(30px, 4vw, 54px); line-height: 1.15; color: #fff; letter-spacing: .01em; font-weight: 400; }
#hero .hero-text .hero-header { font-family: 'Inter', system-ui, sans-serif; font-size: clamp(16px, 2vw, 20px); line-height: 1.4; margin-top: 16px; }
@media (max-width: 767px) { #hero { height: auto; min-height: 700px; } }
@media (max-width: 767px) { #hero .hero-inner { height: auto; min-height: inherit; padding: 155px 0 45px; } }
@media (min-width: 1100px) { .mobile-brand { display: none; } }
