











        /* Footer service-areas links are orange inside white text: 2.14:1, and colour











           is the only cue distinguishing them. Underline adds a non-colour cue so the











           link is identifiable without relying on contrast alone (WCAG 1.4.1). */











        p.service-areas a { text-decoration: underline; text-underline-offset: 2px; }











        /* 24-hour emergency service. Real: the owner answers personally at any hour and











           will come out. Call-outs carry a fee, and saying so up front is the point --











           surprise after-hours pricing is what generates the review nobody recovers from. */











        .emergency-line { color: #f2f2f2; font-size: 1.05rem; line-height: 1.6; margin: 0 0 16px 0; }











        .emergency-line strong { color: var(--brand-orange); }











        /* Underlined on purpose: an orange in-text link against white text is 2.14:1, so











           colour alone cannot be the only cue (same WCAG 1.4.1 rule as the service-areas











           link). Learned once today already -- do not repeat it here. */











        .emergency-line a { color: var(--brand-orange); text-decoration: underline; text-underline-offset: 2px; }











        .emergency-callout { border-left: 6px solid var(--brand-orange); background: rgba(255, 153, 0, 0.10);











            padding: 18px 22px; margin: 1.8rem 0; font-size: 1.1rem; line-height: 1.65; color: #f2f2f2; }











        .emergency-callout strong { color: var(--brand-orange); display: block; margin-bottom: 6px;











            font-family: 'Oswald', 'Oswald Fallback', sans-serif; text-transform: uppercase;











            font-size: 1.25rem; letter-spacing: 0.5px; }











        /* `.service-list li` is `display: flex`, which turns each text run into an anonymous











           flex item and DISCARDS the whitespace either side of them. The result is











           "Burning smellsor visible smoke" on the emergency page and











           "outdated brand:Federal Pacific" on panel-upgrades -- a pre-existing live bug on











           the latter. A margin restores the visual space without disturbing the flex











           alignment of the ::before checkmark. */











        .service-list li strong { margin-right: 0.32em; }











        /* In-text links in page content. Without this they fall back to the UA default











           rgb(0,0,238) -- roughly 1.3:1 on the near-black background, and off-brand.











           Underlined because colour alone cannot be the only distinction (WCAG 1.4.1). */











        .content-link { color: var(--brand-orange); text-decoration: underline; text-underline-offset: 2px; }











            /* desk-nav-canonical-2026-09-20 - one header, one bar height, one active state */











        header { background-color: var(--brand-dark); position: sticky; top: 0; z-index: 1000; box-shadow: 0 4px 12px rgba(0,0,0,0.5); border-bottom: 2px solid var(--brand-orange); min-height: 64px; }











        .nav-container { max-width: 1200px; margin: 0 auto; display: flex; flex-wrap: wrap; justify-content: center; }











        .nav-container a { color: #fff; padding: 12px 16px; font-size: 1rem; font-weight: 700; letter-spacing: 1px; font-family: 'Roboto Condensed', 'Roboto Fallback', sans-serif; text-decoration: none; }











        .nav-container a:hover, .nav-container a.active { color: var(--brand-orange); }

















        /* --- Call button in the sticky header (added 2026-09-28) --------------





           The audit measured a 101 px sticky bar on a 390 px viewport carrying no





           way to call. Nothing is removed from the nav (the footer carries no nav





           links on this template, so hiding an item would strand it), so the call





           button joins the same wrapping rows instead of taking a row of its own:





           measured at 390x844 the bar holds its height and one of its items is now





           the phone number. A full-width button row was tried first and made the





           bar 151 px — this is the version that does not cost screen. */





        nav.nav-container a.nav-call { display: inline-flex; align-items: center; background: var(--brand-orange); color: var(--brand-dark) !important; font-weight: 700; padding: 8px 16px; border-radius: 6px; letter-spacing: 0.5px; }





        nav.nav-container a.nav-call:hover { background: #ffaa33; }





        @media (max-width: 860px) {





            nav.nav-container { gap: 6px 8px; padding: 8px 10px; }





            nav.nav-container a { font-size: 11.5px; letter-spacing: 0.3px; }





            nav.nav-container a.nav-call { padding: 8px 12px; font-size: 12.5px; letter-spacing: 0.3px; }





        }











        /* Skip link (added 2026-09-28). The audit found no skip link on any page,





           so a keyboard or screen-reader user tabbed through the six nav items on





           every page. Off-screen until focused, then it lands in the corner. */





        .skip-link { position: absolute; left: -9999px; top: 0; z-index: 2000; background: var(--brand-orange); color: var(--brand-dark); font-weight: 700; padding: 12px 18px; border-radius: 0 0 6px 0; text-decoration: none; }





        .skip-link:focus { left: 0; outline: 3px solid #ffffff; outline-offset: 2px; }





