/* Deck Haven header fix — matches the local site. Safe to remove after installing plugin v1.6.6+ */
.dh-header > .e-con-inner{flex-wrap:nowrap!important;align-items:center!important;justify-content:space-between!important;gap:24px!important}
.dh-header .dh-header-logo{flex:0 0 auto!important;width:190px!important;max-width:none!important}
.dh-header .dh-header-logo img{width:190px!important;max-width:none!important;height:auto!important}
.dh-header .dh-header-nav{--width:auto!important;width:auto!important;flex:1 1 auto!important;min-width:0}
.dh-header .dh-header-actions{--width:auto!important;width:auto!important;flex:0 0 auto!important;flex-wrap:nowrap!important}
.dh-header .dh-header-cta,.dh-header .dh-header-phone{width:auto!important;flex:0 0 auto!important}
@media (max-width:1024px){.dh-header .dh-header-nav{flex:0 0 auto!important;justify-content:flex-end!important;order:2}.dh-header .dh-header-actions{order:1;margin-left:auto}.dh-header .dh-header-logo,.dh-header .dh-header-logo img{width:160px!important}}
.dh-footer-brand .elementor-widget-image{width:240px;max-width:100%}
.dh-footer-brand .elementor-widget-image img{width:240px;max-width:100%;height:auto}
/* Phone number always visible */
.dh-header .dh-header-phone{display:block!important}
.dh-header .dh-header-phone a,.dh-header .dh-header-phone .elementor-icon-list-text{white-space:nowrap!important}
@media (min-width:1025px) and (max-width:1079px){.dh-header .dh-header-phone{display:none!important}}
@media (max-width:767px){.dh-header>.e-con-inner{gap:12px!important}.dh-header .dh-header-cta{display:none!important}.dh-header .dh-header-logo,.dh-header .dh-header-logo img{width:130px!important}.dh-header .dh-header-actions{gap:12px!important}.dh-header .dh-header-phone .elementor-icon-list-text{font-size:15px!important}}

/* Page hero text never wider than the screen */
.dh-page-hero-content{max-width:100%!important}

/* Menu fits on one line at mid widths */
@media (min-width:1025px) and (max-width:1279px){.dh-header .elementor-nav-menu--main .elementor-item{padding-left:9px!important;padding-right:9px!important;letter-spacing:.05em!important}}
@media (min-width:1025px) and (max-width:1199px){.dh-header .dh-header-phone{display:none!important}}

/* Accessibility: underline links inside body text so they're identifiable without color (WCAG 1.4.1) */
.elementor-widget-text-editor p a, .elementor-widget-text-editor li a, .page-content p a, .entry-content p a { text-decoration: underline; text-underline-offset: 2px; }
/* Accessibility: darker eyebrow label on Wayne page for 4.5:1 contrast */
.elementor-563 .elementor-element-b9de7a3 .elementor-heading-title { color: #7a4f28 !important; }
/* Accessibility: visible keyboard focus */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 2px solid #D4A853; outline-offset: 2px; }

/* Accessibility: eyebrow labels on light backgrounds (town pages) to 4.5:1 */
.dh-eyebrow--light .elementor-heading-title { color: #7a4f28 !important; }
/* Accessibility: source links on light text blocks (repair page) */
.elementor-910 .elementor-element-76f7225 a { color: #7a4f28 !important; }
/* Accessibility: keep inactive process steps readable (was 0.28 opacity) */
@media (min-width:961px){ .process-ready .process-step { opacity: .75 !important; } .process-ready .process-step.is-active { opacity: 1 !important; } }

/* Accessibility (WCAG 1.4.10 reflow): header fits 320px-wide phones without sideways scroll. The sticky bottom bar already has Call Now + Free Estimate. */
@media (max-width:420px){ .dh-header > .e-con-inner{gap:10px!important;padding-left:12px!important;padding-right:12px!important} .dh-header .dh-header-cta{display:none!important} .dh-header .dh-header-logo,.dh-header .dh-header-logo img{width:108px!important} .dh-header .dh-header-actions{gap:8px!important} }

@media (max-width:420px){ .dh-header{padding-left:12px!important;padding-right:12px!important} .dh-header > .e-con-inner{padding-left:0!important;padding-right:0!important} .dh-header .dh-header-actions{padding:0!important} .dh-header .dh-header-phone .elementor-icon-list-text,.dh-header .dh-header-phone a{font-size:13px!important;letter-spacing:.4px!important} }

/* Performance: stop font-swap layout shift (CLS). Same font files, font-display:optional. */
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:400;font-display:optional;src:url(https://fonts.wp.com/s/barlowcondensed/v13/HTx3L3I-JCGChYJ8VI-L6OO_au7B6xHT2lv0tKk.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:500;font-display:optional;src:url(https://fonts.wp.com/s/barlowcondensed/v13/HTxwL3I-JCGChYJ8VI-L6OO_au7B4-Lwz3bWuYMBYro.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:600;font-display:optional;src:url(https://fonts.wp.com/s/barlowcondensed/v13/HTxwL3I-JCGChYJ8VI-L6OO_au7B4873z3bWuYMBYro.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:700;font-display:optional;src:url(https://fonts.wp.com/s/barlowcondensed/v13/HTxwL3I-JCGChYJ8VI-L6OO_au7B46r2z3bWuYMBYro.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:800;font-display:optional;src:url(https://fonts.wp.com/s/barlowcondensed/v13/HTxwL3I-JCGChYJ8VI-L6OO_au7B47b1z3bWuYMBYro.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:900;font-display:optional;src:url(https://fonts.wp.com/s/barlowcondensed/v13/HTxwL3I-JCGChYJ8VI-L6OO_au7B45L0z3bWuYMBYro.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Barlow';font-style:normal;font-weight:400;font-display:optional;src:url(https://fonts.wp.com/s/barlow/v13/7cHpv4kjgoGqM7E_DMs5ynghnQ.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Barlow';font-style:normal;font-weight:500;font-display:optional;src:url(https://fonts.wp.com/s/barlow/v13/7cHqv4kjgoGqM7E3_-gs51ostz0rdg.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Barlow';font-style:normal;font-weight:600;font-display:optional;src:url(https://fonts.wp.com/s/barlow/v13/7cHqv4kjgoGqM7E30-8s51ostz0rdg.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Barlow';font-style:normal;font-weight:700;font-display:optional;src:url(https://fonts.wp.com/s/barlow/v13/7cHqv4kjgoGqM7E3t-4s51ostz0rdg.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* Accessibility: entrance-animated content stays available to screen readers (opacity instead of visibility:hidden); no animation for reduced-motion users */
.elementor-invisible{visibility:visible!important;opacity:0}
@media (prefers-reduced-motion: reduce){.elementor-invisible{opacity:1!important}.animated{animation:none!important}}

/* Fix: process photo frame - every step photo fills the frame (Elementor's .elementor img{height:auto} made landscape photos short, so the previous photo showed underneath) */
.process-visual-frame img.process-visual-layer{height:100%!important;max-width:none!important;object-fit:cover}

/* Performance (CLS): start the hero photo at the same zoom the scroll script uses, so it doesn't jump when the script runs */
@media (prefers-reduced-motion: no-preference){.hero-showpiece .hero-media{transform:scale(1.1)}}
.hero-showpiece .hero-video{display:block}

/* Performance (CLS): keep the desktop menu on one line while the brand font loads, using a size-matched fallback, so the header (and the hero under it) doesn't jump */
@font-face{font-family:"BC Fallback";src:local("Arial"),local("Helvetica"),local("Liberation Sans");size-adjust:72%;ascent-override:130%;descent-override:35%}
@media (min-width:1025px){.dh-header .elementor-nav-menu--main>.elementor-nav-menu{flex-wrap:nowrap}.dh-header .elementor-nav-menu--main .elementor-item{white-space:nowrap;font-family:"Barlow Condensed","BC Fallback",sans-serif!important}}
