/* Wheeler Electrical Services — lightweight, responsive site styles. */
:root{--orange:#ad5200;--orange-dark:#8b4100;--ink:#181818;--muted:#5b605d;--paper:#f3f4f3;--line:#dce0dc;--green:#167a35;--yellow:#f2d338;--max:1240px;--radius:5px;--header-logo-expanded:260;--header-logo-compact:112;--header-padding:32px;--header-expanded-height:calc(var(--header-logo-expanded) * 455 / 658 * 1px + var(--header-padding) + 1px);--header-compact-height:98px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-compact-height) + 20px)}body{margin:0;color:var(--ink);background:#fff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto;display:block}picture{display:block;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-underline-offset:5px;text-decoration-thickness:1px}a:hover{color:var(--orange)}button{font:inherit;cursor:pointer}button:disabled{cursor:default}a,button{touch-action:manipulation}button,a{transition:background-color .18s,color .18s,border-color .18s}a:focus-visible,button:focus-visible{outline:3px solid var(--green);outline-offset:5px;border-radius:2px}[hidden]{display:none!important}::selection{background:#ffe2bc;color:var(--ink)}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.13;letter-spacing:-.045em;font-weight:650}h1{font-size:clamp(2.8rem,4.55vw,4.35rem);margin-bottom:26px}h1 span{color:var(--orange)}h2{font-size:clamp(2rem,3.3vw,3rem);margin-bottom:24px}h3{font-size:1.5rem;letter-spacing:-.025em}p{margin-bottom:22px}address{font-style:normal}small{font-size:.75rem}.container{width:min(var(--max),calc(100% - 96px));margin-inline:auto}.section{padding-block:104px}.soft-section{background:var(--paper)}.eyebrow{font-size:.75rem;font-weight:750;letter-spacing:.16em;line-height:1.5;color:var(--orange);margin-bottom:23px;display:block}.lead{font-size:1.19rem;line-height:1.65;color:var(--muted);max-width:620px}.large-copy{font-size:1.6rem;line-height:1.45}.small-copy{font-size:.94rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:13px 25px;border:1px solid var(--orange);border-radius:3px;background:var(--orange);color:#fff;font-weight:650;font-size:.94rem;text-decoration:none;line-height:1.5}.button:hover{background:var(--orange-dark);border-color:var(--orange-dark);color:#fff}.button-outline{background:transparent;color:var(--orange)}.button-outline:hover{background:var(--orange);color:#fff}.button-row{display:flex;gap:26px;align-items:center;flex-wrap:wrap;margin-top:32px}.text-link{display:inline-block;font-weight:650;font-size:.94rem;line-height:1.6;text-decoration:underline;text-decoration-color:#b9bcb8;text-underline-offset:7px}.text-link:hover{text-decoration-color:var(--orange)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:20px;top:-100px;background:var(--ink);color:white;z-index:100;padding:12px 20px}.skip-link:focus{top:15px}
/* Brand-coloured native scrollbars; retain system colours in high-contrast mode. */
@media (forced-colors:none){
  :root{scrollbar-color:var(--orange) var(--paper);scrollbar-width:auto}
  ::-webkit-scrollbar{width:14px;height:14px}
  ::-webkit-scrollbar-track{background:var(--paper)}
  ::-webkit-scrollbar-thumb{background:var(--orange);border:3px solid var(--paper);border-radius:14px;min-height:44px}
  ::-webkit-scrollbar-thumb:hover{background:var(--orange-dark)}
  ::-webkit-scrollbar-corner{background:var(--paper)}
}
/* A fixed header with a reserved space keeps content stable as the logo shrinks. */
.site-header{--header-progress:0;--header-current-height:calc(var(--header-expanded-height) - (var(--header-expanded-height) - var(--header-compact-height)) * var(--header-progress));background:#fff;border-bottom:1px solid var(--line);position:relative;z-index:20}
.js .header-space{height:var(--header-expanded-height)}
.js .site-header{position:fixed;top:0;left:0;right:0}
.site-header.is-scrolled{box-shadow:0 5px 18px #1818180d}
.header-inner{display:flex;align-items:center;gap:36px;min-height:var(--header-expanded-height);padding-block:16px}
.js .header-inner{height:calc(var(--header-current-height) - 1px);min-height:0;padding-block:0}
.brand{display:block;flex:0 0 calc(var(--header-logo-expanded) * 1px);width:calc(var(--header-logo-expanded) * 1px);position:relative}
.brand img{width:calc(var(--header-logo-expanded) * 1px);height:auto}
.js .brand{height:100%}
.js .brand img{position:absolute;top:50%;left:0;transform-origin:left center;transform:translateY(-50%) scale(calc(1 - (1 - var(--header-logo-compact) / var(--header-logo-expanded)) * var(--header-progress)))}
.site-nav{display:flex;align-items:center;gap:27px;margin-left:auto}
.site-nav a{font-size:.86rem;text-decoration:none;font-weight:620;white-space:nowrap;position:relative;padding-block:18px}
.site-nav a[aria-current="page"]{color:var(--orange);text-decoration:underline;text-decoration-color:var(--orange);text-decoration-thickness:2px;text-underline-offset:14px}

.header-call{display:flex;align-items:center;gap:10px;border-left:1px solid var(--line);padding-left:30px;text-decoration:none;font-size:.96rem;font-weight:750;white-space:nowrap;line-height:1.5}
.header-call small{display:block;font-size:.61rem;letter-spacing:.16em;color:var(--muted);font-weight:600;margin-bottom:2px}
.phone-icon{font-size:1.5rem;color:var(--orange)}
.menu-toggle{display:none;border:1px solid var(--line);background:#fff;padding:10px 14px;min-height:44px;align-items:center;gap:12px;font-size:.9rem;font-weight:600}
.menu-lines{height:12px;width:17px;border-top:2px solid currentColor;border-bottom:2px solid currentColor;position:relative}
.menu-lines:after{content:"";height:2px;background:currentColor;width:17px;position:absolute;top:3px;left:0}
.menu-toggle[aria-expanded="true"] .menu-lines{border-color:transparent}
.menu-toggle[aria-expanded="true"] .menu-lines:before{content:"";height:2px;width:17px;background:currentColor;position:absolute;top:3px;left:0;transform:rotate(-45deg)}
.menu-toggle[aria-expanded="true"] .menu-lines:after{transform:rotate(45deg)}
/* Homepage */
.home-hero{background:linear-gradient(90deg,#f7f8f5 0%,#f7f8f5 52%,#eeefeb 52%,#eeefeb 100%)}.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding-block:56px}.hero-copy{padding:20px 0 5px}.hero-copy h1{font-size:clamp(2.8rem,4.15vw,4.15rem);line-height:1.08;max-width:650px}.hero-copy .lead{max-width:480px}.hero-copy .eyebrow{margin-bottom:24px}.hero-note{display:flex;align-items:center;gap:15px;margin-top:40px;color:var(--muted);font-size:.84rem;line-height:1.6}.hero-note p{margin:0}.hero-note img{width:180px;height:auto;flex-shrink:0}.accent-rule{width:3px;align-self:stretch;background:var(--green)}.hero-image{position:relative;min-height:520px;border-radius:var(--radius);overflow:hidden;background:#253131}.hero-image>picture{height:100%}.hero-image img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:42% center}.hero-image:after{position:absolute;inset:40% 0 0;content:"";background:linear-gradient(transparent,rgba(6,17,15,.9));pointer-events:none}.photo-label{background:#13231f;padding:18px 20px;border-radius:3px;position:absolute;bottom:34px;left:34px;right:20px;color:white;z-index:1}.photo-label span{display:inline-block;font-size:.63rem;letter-spacing:.13em;font-weight:650;line-height:1.6}.photo-label p{font-size:2rem;font-weight:550;letter-spacing:-.04em;line-height:1.15;margin:14px 0 0}.service-ribbon{background:var(--ink);color:#fff}.service-ribbon .container{display:flex;align-items:center;justify-content:space-between;gap:22px;padding-block:20px}.service-ribbon span{font-size:.8rem;letter-spacing:.04em;display:flex;align-items:center;gap:13px}.service-ribbon span:before{content:"";width:15px;height:2px;background:var(--yellow)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:60px;margin-bottom:44px}.section-heading h2{margin-bottom:0}.section-heading>p{max-width:380px;color:var(--muted);font-size:1rem;margin-bottom:0}.service-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.service-card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.service-card picture{aspect-ratio:1.52;background:var(--paper)}.service-card img{width:100%;height:100%;object-fit:cover}.service-card:nth-child(2) img{object-position:center}.service-card>div{padding:26px}.card-kicker{display:block;font-size:.68rem;letter-spacing:.15em;color:var(--orange);font-weight:750;margin-bottom:15px}.service-card h3{font-size:1.37rem;margin-bottom:14px}.service-card p{font-size:.92rem;color:var(--muted);margin-bottom:21px}.service-card .text-link{font-size:.88rem}.approach-section{background:var(--orange);color:white;padding-block:90px}.approach-section .eyebrow{color:#fff}.approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:96px}.approach-grid h2{font-size:clamp(2rem,3.6vw,3.2rem)}.approach-grid .large-copy{margin-bottom:22px}.approach-grid p:not(.eyebrow){color:#fff5e8}.light-link{color:#fff;text-decoration-color:#e5a667}.light-link:hover{color:#fff;text-decoration-color:#fff}.coverage-tags{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.coverage-tags span{border:1px solid #cf8c4f;border-radius:2px;padding:6px 13px;font-size:.8rem}.quote-strip{padding-block:80px;background:#fafaf8}.quote-inner{display:grid;grid-template-columns:1.15fr 1fr;gap:70px;align-items:center}.quote-inner h2{margin:0}.quote-inner p{color:var(--muted);margin-bottom:20px}.quote-inner .text-link{margin-left:24px;font-size:.85rem}
/* Interior pages */
.page-top{padding-top:70px}.page-intro{padding-block:78px 58px}.page-intro h1{max-width:840px}.page-intro .lead{max-width:750px}.split{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center}.split>div>p:not(.eyebrow):not(.lead){color:var(--muted)}.split .text-link{margin-top:10px}.rounded-photo{border-radius:var(--radius);aspect-ratio:1.08;background:var(--paper)}.rounded-photo img{width:100%;height:100%;object-fit:cover}.assembly-photo img{object-position:center 65%}.portrait-photo{border-radius:var(--radius);height:580px;background:var(--paper)}.portrait-photo img{width:100%;height:100%;object-fit:cover}.about-detail{grid-template-columns:.85fr 1.15fr;gap:100px}.about-detail .portrait-photo{height:650px}.value-row{display:flex;gap:20px;border-top:1px solid var(--line);padding-top:26px;margin-top:26px}.value-row>span{font-size:.72rem;font-weight:700;color:var(--orange);padding-top:5px}.value-row h3{font-size:1.15rem;margin-bottom:12px}.value-row p{font-size:.95rem;color:var(--muted);margin-bottom:0}.service-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px 34px;padding-bottom:70px}.service-detail{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;scroll-margin-top:30px}.service-detail picture{aspect-ratio:1.75;background:var(--paper)}.service-detail img{width:100%;height:100%;object-fit:cover}.service-detail:nth-child(3) img{object-position:center 30%}.service-detail:nth-child(4) img{object-position:center 20%}.service-detail-copy{padding:35px}.service-detail h2{font-size:1.7rem}.service-detail p{font-size:.98rem;color:var(--muted)}.plain-list{padding:0;list-style:none;margin:22px 0 0;display:flex;gap:8px;flex-wrap:wrap}.plain-list li{font-size:.76rem;padding:6px 11px;background:var(--paper);border:1px solid var(--line);border-radius:2px}.eicr-callout{padding:30px 0 70px;display:flex;gap:35px;justify-content:space-between;align-items:center}.eicr-callout h2{font-size:2rem;margin:0}.eicr-callout .eyebrow{font-size:.67rem;margin-bottom:15px}.eicr-hero{background:var(--ink);color:white;padding-block:74px}.eicr-hero h1 span{color:#ffb56d}.eicr-hero .eyebrow{color:#ffd1a0;font-size:.67rem}.eicr-hero .lead{color:#d7dcd7}.eicr-hero .rounded-photo{aspect-ratio:1.07}.eicr-hero .rounded-photo img{object-position:65% center}.eicr-explainer{grid-template-columns:.8fr 1.2fr;gap:110px}.eicr-explainer .portrait-photo{height:540px}.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:stretch}.contact-grid h1{font-size:clamp(2.6rem,4.1vw,4.1rem)}.contact-photo{border-radius:var(--radius);position:relative;min-height:500px}.contact-photo img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:38% center}.contact-method{border-top:1px solid var(--line);padding-top:22px;margin-top:22px}.contact-method .card-kicker{margin-bottom:7px}.contact-method>a{font-size:1.12rem;overflow-wrap:anywhere}.contact-method .contact-phone{font-size:2.05rem;font-weight:650;letter-spacing:-.03em;text-decoration:none}.contact-location h3{font-size:1.08rem;margin-top:26px;margin-bottom:10px}.contact-location address{color:var(--muted);max-width:320px;margin-bottom:22px}.contact-location .rounded-photo{aspect-ratio:1.3}.policy-layout{display:grid;grid-template-columns:260px 1fr;gap:75px;padding-bottom:100px;align-items:start}.policy-aside{border-top:3px solid var(--orange);padding-top:23px;position:sticky;top:calc(var(--header-compact-height) + 24px);font-size:.9rem}.policy-aside>a{overflow-wrap:anywhere}.policy-aside .text-link{display:block;margin-top:22px}.policy-content{max-width:760px}.policy-content h2{font-size:1.75rem;line-height:1.25;margin-top:44px;margin-bottom:18px;scroll-margin-top:28px}.policy-content h2:first-child{margin-top:0}.policy-content h3{font-size:1.2rem;margin-top:28px}.policy-content p,.policy-content li{color:#4d534e;font-size:1rem}.policy-content a{color:var(--orange-dark)}.policy-content li{margin-bottom:10px}.policy-content ul{padding-left:22px}.policy-content table{border-collapse:collapse;width:100%;font-size:.86rem;table-layout:fixed;margin-block:24px}.policy-content th,.policy-content td{padding:13px;border:1px solid var(--line);text-align:left;vertical-align:top;overflow-wrap:anywhere}.policy-content th{background:var(--paper)}.policy-content code{overflow-wrap:anywhere;font-size:.85em}.policy-content button{background:white;color:var(--orange);padding:10px 18px;border:1px solid var(--orange);border-radius:3px}.not-found{padding-block:100px;min-height:60vh}.not-found p{max-width:580px}
/* Footer & cookie controls */
.site-footer{background:var(--ink);color:#dddeda;padding-top:60px}.footer-grid{display:grid;grid-template-columns:1.05fr .65fr 1.2fr;gap:75px;padding-bottom:52px}.footer-brand{display:inline-block;width:162px;background:white;padding:8px;border-radius:2px}.footer-brand img{width:100%;height:auto}.footer-grid p{font-size:.86rem;line-height:1.8;margin-top:20px;margin-bottom:10px}.footer-grid h2{font-size:.79rem;text-transform:uppercase;letter-spacing:.13em;color:#fff;margin-top:12px;margin-bottom:22px}.footer-grid nav{display:grid;gap:10px;font-size:.85rem}.footer-grid nav a{text-decoration:none;width:fit-content}.site-footer a:hover{color:#ffc389}.footer-grid address{font-size:.82rem;color:#afb4ae;max-width:340px;line-height:1.8;margin-top:18px}.footer-grid .footer-phone{font-size:1.3rem;font-weight:600;margin-top:0}.footer-phone a{text-decoration:none}.footer-grid p a{overflow-wrap:anywhere}.footer-bottom{border-top:1px solid #363b35;display:flex;gap:20px;justify-content:space-between;padding-block:23px;font-size:.74rem;color:#b7bcb5}.footer-bottom>div{display:flex;gap:24px}.cookie-banner{position:fixed;z-index:50;bottom:20px;left:24px;right:24px;max-width:1180px;margin-inline:auto;background:#fff;color:var(--ink);border:1px solid #d1d6ce;border-top:3px solid var(--orange);border-radius:5px;padding:23px 26px;box-shadow:0 8px 45px #18251830;display:flex;gap:38px;align-items:center}.cookie-copy{flex:1}.cookie-copy h2{font-size:1.1rem;letter-spacing:-.02em;margin-bottom:8px}.cookie-copy p{font-size:.875rem;line-height:1.6;color:#4d534d;margin-bottom:8px;max-width:850px}.cookie-copy>a{font-size:.79rem;font-weight:600}.cookie-actions{display:flex;gap:10px;flex-shrink:0}.cookie-actions button{border:1px solid var(--orange);background:var(--orange);color:white;min-width:92px;min-height:46px;padding:9px 17px;border-radius:3px;font-weight:650;font-size:.85rem}.cookie-actions button:hover{background:var(--orange-dark);border-color:var(--orange-dark)}
@media(min-width:1500px){.hero-grid{gap:80px}.hero-copy h1{font-size:4.4rem}.hero-image{min-height:565px}}
@media(max-width:1150px){.container{width:calc(100% - 64px)}:root{--header-logo-expanded:210}.header-inner{gap:24px}.site-nav{gap:18px}.header-call{padding-left:22px;font-size:.88rem}.hero-grid{gap:36px}.hero-copy h1{font-size:3.5rem}.hero-image{min-height:520px}.split{gap:50px}.about-detail{gap:65px}.service-card>div{padding:22px}.quote-inner .text-link{display:block;margin:20px 0 0}.footer-grid{gap:45px}}
@media(max-width:1000px){.header-call{display:none}.hero-copy h1{font-size:3rem}.hero-grid{gap:30px;padding-block:42px}.hero-image{min-height:480px}.hero-copy .lead{font-size:1.07rem}.hero-copy .button-row{gap:20px}.button{padding-inline:20px}.hero-note{margin-top:30px}.photo-label{left:25px;bottom:25px}.photo-label span{font-size:.56rem}.photo-label p{font-size:1.7rem}.section{padding-block:75px}.section-heading{gap:36px}.section-heading>p{max-width:310px}.service-cards{gap:16px}.service-card>div{padding:20px}.service-card h3{font-size:1.2rem}.service-card p{font-size:.87rem}.service-card .text-link{font-size:.8rem}.approach-grid{gap:50px}.quote-inner{gap:40px}.contact-grid{gap:40px}.contact-method>a{font-size:1rem}.footer-grid{grid-template-columns:1fr .7fr 1.2fr;gap:30px}.policy-layout{grid-template-columns:210px 1fr;gap:35px}.cookie-banner{gap:24px}.cookie-actions{flex-direction:column}.cookie-actions button{min-height:42px}.portrait-photo,.about-detail .portrait-photo{height:560px}}
@media(max-width:900px){
  :root{--header-logo-expanded:190;--header-logo-compact:94;--header-padding:24px;--header-compact-height:84px}
  .header-inner{gap:18px;flex-wrap:wrap;padding-block:12px}
  .js .header-inner{flex-wrap:nowrap}
  .header-call{display:none}
  .js .menu-toggle{display:inline-flex;margin-left:auto}
  .site-nav{width:100%;order:3;flex-wrap:wrap;justify-content:flex-start;gap:0 24px;margin:0}
  .site-nav a{font-size:.95rem;padding-block:12px}
  .js .site-nav{display:none;position:absolute;top:100%;left:0;right:0;padding:12px 24px 20px;background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);box-shadow:0 12px 16px #1818180d;max-height:calc(100dvh - var(--header-current-height));overflow-y:auto;overscroll-behavior:contain}
  .js .site-nav.is-open{display:flex;flex-direction:column;align-items:stretch;flex-wrap:nowrap;gap:0}
  .site-nav a[aria-current="page"]{text-underline-offset:10px}
}
@media(max-width:370px){:root{--header-logo-expanded:165}}
@media(max-width:700px){.container{width:calc(100% - 40px)}body{font-size:16px}.home-hero{background:#f7f8f5}.hero-grid{grid-template-columns:1fr;gap:30px;padding-block:38px 25px}.hero-copy{padding:0}.hero-copy h1{font-size:clamp(2.6rem,8.8vw,3.7rem);max-width:580px;margin-bottom:22px}.hero-copy .eyebrow{font-size:.67rem;margin-bottom:20px}.hero-copy .lead{font-size:1.06rem;margin-bottom:24px;max-width:460px}.button-row{gap:20px;margin-top:26px}.button{font-size:.88rem;min-height:50px;padding:12px 20px}.text-link{font-size:.88rem}.hero-note{margin-top:28px;gap:16px;font-size:.78rem}.hero-note img{width:152px}.hero-image{height:360px;min-height:0}.hero-image img{object-position:center 45%}.photo-label{left:24px;bottom:25px}.photo-label span{font-size:.59rem}.photo-label p{font-size:1.55rem}.service-ribbon .container{gap:12px;justify-content:center;flex-wrap:wrap;padding-block:17px}.service-ribbon span{font-size:.64rem;gap:8px}.service-ribbon span:before{width:9px}.section{padding-block:62px}.section-heading{display:block;margin-bottom:30px}.section-heading h2{margin-bottom:24px}.section-heading>p{max-width:none}.eyebrow{font-size:.66rem;margin-bottom:19px}h1{font-size:clamp(2.6rem,8.8vw,3.6rem)}h2{font-size:2.2rem;line-height:1.12}h3{font-size:1.3rem}.lead{font-size:1.08rem}.service-cards{grid-template-columns:1fr;gap:26px}.service-card picture{aspect-ratio:1.8}.service-card>div{padding:25px}.service-card h3{font-size:1.5rem}.service-card p{font-size:.98rem}.service-card .text-link{font-size:.9rem}.approach-section{padding-block:62px}.approach-grid{grid-template-columns:1fr;gap:34px}.approach-grid h2{font-size:2.3rem}.approach-grid .large-copy{font-size:1.4rem}.coverage-tags span{font-size:.75rem}.quote-strip{padding-block:60px}.quote-inner{grid-template-columns:1fr;gap:30px}.quote-inner h2{font-size:2.3rem}.quote-inner .text-link{display:inline-block;margin:18px 0 0 18px}.page-top{padding-top:45px}.split,.about-detail,.eicr-explainer{grid-template-columns:1fr;gap:36px}.split>div>p{max-width:580px}.rounded-photo{aspect-ratio:1.3}.portrait-photo,.about-detail .portrait-photo,.eicr-explainer .portrait-photo{height:360px}.about-detail .portrait-photo{order:2}.about-detail .portrait-photo img{object-position:center 65%}.value-row{gap:15px}.value-row h3{font-size:1.1rem}.page-intro{padding-block:45px 30px}.service-detail-grid{grid-template-columns:1fr;gap:30px;padding-bottom:45px}.service-detail-copy{padding:25px}.service-detail h2{font-size:1.65rem}.service-detail p{font-size:.97rem}.service-detail picture{aspect-ratio:1.7}.eicr-callout{display:block;padding:15px 0 50px}.eicr-callout h2{font-size:1.8rem;margin-bottom:25px}.eicr-hero{padding-block:45px}.eicr-hero .rounded-photo{aspect-ratio:1.4}.eicr-hero .eyebrow{font-size:.6rem}.eicr-explainer .portrait-photo{order:2}.contact-grid{grid-template-columns:1fr;gap:35px}.contact-grid h1{font-size:clamp(2.6rem,8.8vw,3.6rem)}.contact-photo{min-height:320px;height:320px}.contact-method .contact-phone{font-size:1.9rem}.contact-method>a{font-size:1rem}.contact-location .rounded-photo{order:2}.policy-layout{grid-template-columns:1fr;gap:40px;padding-bottom:60px}.policy-aside{position:static;padding-top:20px}.policy-aside .text-link{display:inline-block;margin-left:20px;margin-top:0}.policy-content h2{font-size:1.6rem}.policy-content table{font-size:.78rem}.policy-content th,.policy-content td{padding:9px}.footer-grid{grid-template-columns:1fr 1fr;gap:35px}.footer-grid>div:first-child{grid-column:1/-1;display:flex;align-items:center;gap:25px}.footer-brand{flex:0 0 125px}.footer-grid>div:first-child>p{margin:0;font-size:.78rem}.footer-grid>div:nth-child(2){grid-column:1/-1}.footer-grid nav{grid-template-columns:repeat(2,1fr);gap:12px}.footer-grid>div:nth-child(3){grid-column:1/-1}.footer-grid h2{margin-top:0}.footer-grid .footer-phone{font-size:1.5rem}.footer-bottom{flex-direction:column;font-size:.72rem;gap:13px;padding-block:23px}.footer-bottom>div{gap:25px}.cookie-banner{left:12px;right:12px;bottom:12px;padding:18px 19px;flex-direction:column;align-items:stretch;gap:14px;max-height:calc(100dvh - 24px);overflow:auto}.cookie-copy h2{font-size:1.02rem}.cookie-copy p{font-size:.875rem;line-height:1.55;margin-bottom:7px}.cookie-copy>a{font-size:.77rem}.cookie-actions{flex-direction:row}.cookie-actions button{flex:1;min-height:44px}.not-found{padding-block:65px}}
@media(max-width:370px){.hero-note{gap:12px}.hero-note img{width:136px}.container{width:calc(100% - 32px)}.hero-copy h1,h1{font-size:2.5rem}.hero-image{height:310px}.button-row{gap:17px}.button-row .text-link{font-size:.83rem}.contact-method>a{font-size:.87rem}.quote-inner .text-link{display:block;margin-left:0}.footer-grid>div:first-child{gap:18px}}
/* Keep the mobile call action visible without covering cookie choices or footer links. */
.mobile-call{display:none}
@media(max-width:900px){
  :root{--mobile-call-clearance:calc(84px + env(safe-area-inset-bottom,0px))}
  html{scroll-padding-bottom:calc(var(--mobile-call-clearance) + 16px)}
  .mobile-call{display:inline-flex;align-items:center;justify-content:center;gap:10px;position:fixed;z-index:40;right:max(16px,env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));min-width:146px;min-height:54px;padding:12px 22px;border:1px solid var(--orange);border-radius:999px;background:var(--orange);color:#fff;box-shadow:0 5px 22px #18181833;text-decoration:none;font-size:1rem;font-weight:700;line-height:1.5}
  .mobile-call>span:first-child{font-size:1.25rem;line-height:1}
  .mobile-call:hover,.mobile-call:focus-visible{background:var(--orange-dark);border-color:var(--orange-dark);color:#fff}
  .mobile-call:focus-visible{outline-offset:4px;border-radius:999px}
  .has-mobile-call .cookie-banner{bottom:var(--mobile-call-clearance);max-height:calc(100dvh - var(--mobile-call-clearance) - 12px);overflow:auto}
  .site-footer{padding-bottom:var(--mobile-call-clearance)}
  .has-mobile-call .site-nav{max-height:calc(100dvh - var(--header-current-height) - var(--mobile-call-clearance))}
}
/* Lightbulb colour accents: yellow light, fresh green and a dark forest base. */
:root{--leaf:#53d567;--lime:#b4e937;--sun:#ffe426;--forest:#123d27;--forest-light:#176538;--bulb-gradient:linear-gradient(115deg,var(--lime),var(--sun))}
::selection{background:#d9ee9b;color:var(--forest)}
.site-header:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:linear-gradient(90deg,#ffe426 0%,#99dc43 42%,#20ad50 78%,#167a35 100%);pointer-events:none}
.site-nav a[aria-current="page"]{color:var(--forest-light);text-decoration-color:var(--green)}
.site-nav a:hover,.site-nav a:focus-visible{color:var(--forest-light);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:14px;text-decoration-color:var(--green)}
.header-call:hover,.contact-method>a:hover{color:var(--forest-light)}
.phone-icon{color:var(--forest-light)}
.menu-toggle:hover{background:#f0f8dd;border-color:#6e9f4c;color:var(--forest)}
.home-hero{position:relative;isolation:isolate;overflow:clip;background:radial-gradient(ellipse at 6% 0%,#fff0a478,transparent 56%),radial-gradient(ellipse at 100% 90%,#a0e8af66,transparent 60%),#f7faf3}
.home-hero:before{content:"";position:absolute;width:580px;height:580px;top:-330px;right:-180px;border:1px solid #70a95b55;border-radius:50%;box-shadow:0 0 0 42px #e4ec9b38,0 0 0 84px #95d69b18;pointer-events:none}
.hero-grid{position:relative;z-index:1}
.hero-copy h1 span{background:linear-gradient(transparent 86%,#cfe69199 86%,#cfe69199 96%,transparent 96%);box-decoration-break:clone;-webkit-box-decoration-break:clone}
.hero-image{border-radius:28px 6px 28px 6px;box-shadow:10px 10px 0 #d7eabc}
.photo-label{background:linear-gradient(120deg,#132b20,#19452d);border-left:3px solid var(--sun);border-radius:4px 14px 4px 14px}
.photo-label span{color:#edf5ac}
.accent-rule{background:linear-gradient(var(--sun),var(--leaf))}
.service-ribbon{background:linear-gradient(105deg,#192c20,#1e482c 65%,#234730);border-top:1px solid #496641}
.service-ribbon span:before{height:3px;border-radius:3px;background:var(--bulb-gradient)}
.section-heading .eyebrow:before{content:"";display:inline-block;width:22px;height:3px;margin-right:11px;vertical-align:middle;background:linear-gradient(90deg,var(--sun),#20ad50);border-radius:3px}
.button,.mobile-call,.cookie-actions button{background:linear-gradient(115deg,var(--forest),var(--forest-light));color:#fff;border-color:var(--forest-light);transition:box-shadow .2s,transform .2s}
.button-outline{background:transparent;color:var(--forest-light);border-color:var(--green)}
.button:hover,.button:focus-visible,.mobile-call:hover,.mobile-call:focus-visible,.cookie-actions button:hover,.cookie-actions button:focus-visible{background:var(--bulb-gradient);color:var(--forest);border-color:#668f37;box-shadow:0 5px 18px #32692924}
.button:focus-visible,.mobile-call:focus-visible,.cookie-actions button:focus-visible{outline-color:var(--forest)}
.mobile-call>span:first-child{color:var(--sun)}
.mobile-call:hover>span:first-child,.mobile-call:focus-visible>span:first-child{color:var(--forest)}
.text-link{text-decoration-color:#87ae81}
.text-link:hover{color:var(--forest-light);text-decoration-color:var(--green);text-decoration-thickness:2px}
.service-card,.service-detail{position:relative;border-radius:14px;background:#fff;box-shadow:0 5px 20px #173e2708;transition:border-color .2s,box-shadow .2s,transform .2s}
.service-card:after,.service-detail:after{content:"";position:absolute;bottom:0;left:0;right:0;height:4px;background:linear-gradient(100deg,#2bb958 0%,#b4e937 65%,#ffe426 100%);pointer-events:none}
.service-card:nth-child(2):after,.service-detail:nth-child(even):after{background:linear-gradient(100deg,#ffe426,#83d95a,#20ac51)}
.service-card:nth-child(2) .card-kicker{color:var(--forest-light)}
.service-card:nth-child(3) .card-kicker{color:#776015}
.service-card img,.service-detail img{transition:transform .35s}
.service-card:focus-within,.service-detail:focus-within{border-color:var(--green);box-shadow:0 0 0 2px #c4e892}
.approach-section,.eicr-hero{position:relative;isolation:isolate;overflow:clip;background:linear-gradient(120deg,var(--forest) 0%,#164d30 55%,var(--forest-light) 100%)}
.approach-section:before,.eicr-hero:before{content:"";position:absolute;width:500px;height:500px;right:-220px;top:-300px;border:1px solid #cfe97555;border-radius:50%;box-shadow:0 0 0 45px #cfe97510,0 0 0 90px #cfe97509;pointer-events:none}
.approach-grid,.eicr-hero>.container{position:relative;z-index:1}
.approach-section .eyebrow,.eicr-hero .eyebrow{color:#e7f09c}
.eicr-hero h1 span{color:#e5ef88}
.light-link,.light-link:hover{color:#f0f7b8;text-decoration-color:#c9e366}
.coverage-tags span{border-color:#9ab87b;background:#ffffff08;border-radius:999px;color:#f3f8e0}
.eicr-hero .button{background:var(--bulb-gradient);border-color:#bdd95d;color:var(--forest)}
.eicr-hero .button:hover,.eicr-hero .button:focus-visible{background:linear-gradient(115deg,#ddf6b1,#fff6b2);color:var(--forest)}
.approach-section a:focus-visible,.eicr-hero a:focus-visible,.service-ribbon a:focus-visible,.site-footer a:focus-visible{outline-color:var(--sun)}
.quote-strip{background:radial-gradient(ellipse at 100% 100%,#a9e3b14d,transparent 65%),linear-gradient(110deg,#fff9df,#f0f7e8 58%,#e9f6e9)}
.soft-section{background:linear-gradient(115deg,#f7f8ed,#edf7ef)}
.page-top{background:radial-gradient(ellipse at 100% 0%,#e6f5d8,transparent 62%)}
.page-intro{background:radial-gradient(ellipse at 100% 0%,#eff5d8,transparent 65%)}
.rounded-photo,.portrait-photo,.contact-photo{border-radius:24px 6px 24px 6px}
.value-row{border-color:#d0dfca}
.value-row>span{display:grid;place-items:center;flex:0 0 32px;height:32px;padding:0;margin-top:2px;border-radius:50%;background:linear-gradient(135deg,#fff0a4,#d3ecb7);color:var(--forest)}
.plain-list li{color:var(--forest);background:#f0f6e7;border-color:#d0dec5}
.contact-method{border-color:#cddfc6}
.contact-method .card-kicker{color:var(--forest-light)}
.policy-aside{border-top-color:var(--green)}
.cookie-banner{border-top-color:var(--green)}
.site-footer{background:linear-gradient(120deg,#14231b,#172f21);border-top:4px solid transparent;border-image:linear-gradient(90deg,var(--sun),var(--lime),#20ad50) 1}
.site-footer a:hover{color:#e6f292}
@media(hover:hover) and (pointer:fine){
  .service-card:hover,.service-detail:hover{border-color:#79a66d;box-shadow:0 14px 32px #204a301c}
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  .service-card:hover,.service-detail:hover{transform:translateY(-5px)}
  .service-card:hover img,.service-detail:hover img{transform:scale(1.025)}
  .button:hover{transform:translateY(-2px)}
}
@media(max-width:900px){.site-nav a:hover,.site-nav a:focus-visible{text-underline-offset:10px}}
@media(max-width:700px){
  .home-hero:before{width:340px;height:340px;top:-220px;right:-180px;box-shadow:0 0 0 32px #e4ec9b38,0 0 0 64px #95d69b18}
  .hero-image{border-radius:22px 5px 22px 5px;box-shadow:7px 7px 0 #d7eabc}
  .approach-section:before,.eicr-hero:before{right:-330px}
}
@media(forced-colors:active){
  .site-header:after,.home-hero:before,.approach-section:before,.eicr-hero:before,.service-card:after,.service-detail:after{display:none}
  .button,.mobile-call,.cookie-actions button,.eicr-hero .button{background:ButtonFace;color:ButtonText;border-color:ButtonText}
  .service-card,.service-detail,.site-footer{border-image:none;border-color:CanvasText}
  .mobile-call>span:first-child{color:ButtonText}
}
@media print{
  .site-header:after,.home-hero:before,.approach-section:before,.eicr-hero:before,.service-card:after,.service-detail:after{display:none}
  .home-hero,.quote-strip,.soft-section,.page-top,.page-intro,.service-ribbon{background:#fff;color:#181818}
  .hero-copy h1 span{background:none}
  .photo-label span,.eicr-hero h1 span,.coverage-tags span{color:#181818}
  .text-link{color:#181818!important;text-decoration-color:#181818}
  .button,.button-outline{background:#fff!important;color:#181818!important;border-color:#181818!important;box-shadow:none}
  .hero-image,.service-card,.service-detail{box-shadow:none}
  .site-footer{border-image:none}
}
.map-section{padding-block:56px 80px}
.map-shell{border:1px solid #cadfc8;border-radius:24px 6px 24px 6px;overflow:hidden;background:radial-gradient(ellipse at 10% 15%,#fff4bc80,transparent 60%),linear-gradient(135deg,#eff7e6,#e8f4eb);box-shadow:0 8px 28px #153f2710}
.map-consent{min-height:450px;padding:36px 24px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.map-consent [data-cookie-settings]{display:none}
.js .map-consent [data-cookie-settings]{display:inline-flex}
.map-viewport,.map-viewport iframe{width:100%;height:450px}
.map-viewport iframe{display:block;border:0;background:#eef1eb}
.map-external{margin-top:20px;font-size:.9rem;color:var(--forest-light);text-underline-offset:4px}
@media(max-width:700px){.map-section{padding-block:32px 48px}.map-consent{min-height:390px;padding:26px 20px}.map-viewport,.map-viewport iframe{height:390px}}
@media print{.map-section{display:none}}
@media(prefers-reduced-motion:reduce){.js .header-space{height:var(--header-compact-height)}.js .site-header{--header-progress:1!important}html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media print{.site-footer{padding-bottom:0}.js .header-space{height:auto}.js .site-header{position:static;--header-progress:1!important}.js .header-inner{height:var(--header-compact-height)}.site-nav,.menu-toggle,.header-call,.mobile-call,.cookie-banner,.cookie-actions,.quote-strip,.footer-bottom [data-cookie-settings]{display:none!important}.site-header{border:0}.site-footer{background:white;color:black}.site-footer a,.site-footer address{color:black}.section{padding-block:25px}.container{width:100%}.page-intro{padding-block:30px}.policy-layout{display:block}.policy-aside{display:none}a{color:inherit}.split{gap:30px}picture{max-height:300px}.hero-image:after{display:none}.hero-image{min-height:300px}.photo-label{color:black;background:#fff}.approach-section,.eicr-hero{background:white;color:black}.approach-section p,.eicr-hero p{color:black!important}.service-card,.service-detail{break-inside:avoid}}
