/* Linders theme v2: emergency-first, trust-forward.
   Palette from the electrician's own world: safety-label yellow, panel grey,
   cable ink, a red used only for "spoed", and earth green for proof. */
:root{
 --navy:#14213a;      /* cable ink: text, header, dark blocks */
 --blue:#1f4fbf;      /* interactive links */
 --amber:#ffcc00;     /* safety yellow: primary call action */
 --red:#d7261e;       /* spoed signal only */
 --green:#1f7a45;     /* proof / checks */
 --soft:#eef1ec;      /* panel grey */
 --line:#d5dad2;
 --text:#1b2433;
 --muted:#556070;
 --font:'Atkinson Hyperlegible',Arial,sans-serif;
 --head:'Archivo','Arial Narrow',Arial,sans-serif;
}
body{font:17px/1.6 var(--font);color:var(--text);background:#fff}
h1,h2,h3{font-family:var(--head)}
h2{font-weight:800;font-stretch:80%;letter-spacing:-.5px;line-height:1.05;text-wrap:balance}
.eyebrow{letter-spacing:0;font-size:13px;font-weight:700;color:var(--muted);text-transform:none}

/* ---------- alert bar ---------- */
.alertbar{background:var(--red);color:#fff;font-size:14px}
.alertbar .wrap{min-height:40px;display:flex;align-items:center;gap:14px}
.alertbar b{font-weight:700}
.alertbar .soft{opacity:.9}
.alertbar a{margin-left:auto;font-weight:700;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.pulse{width:9px;height:9px;border-radius:50%;background:currentColor;display:inline-block;flex:none;box-shadow:0 0 0 0 currentColor;animation:pulse 2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(255,255,255,.7)}70%{box-shadow:0 0 0 9px rgba(255,255,255,0)}100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}}
@media(prefers-reduced-motion:reduce){.pulse{animation:none}}

/* ---------- header ---------- */
.header{border-bottom:1px solid var(--line);box-shadow:0 1px 0 #fff}
.nav-row{min-height:78px;gap:24px}
.brand strong{font-family:var(--head);font-stretch:85%;font-weight:900;letter-spacing:-.5px}
.brand strong span{color:var(--amber);-webkit-text-stroke:0}
nav{font-size:15px;font-weight:700;gap:22px}
nav a:after{background:var(--navy)}
.nav-spoed{display:inline-flex;align-items:center;gap:8px;color:var(--red)}
.nav-spoed .pulse{color:var(--red);animation-name:pulse-red}
@keyframes pulse-red{0%{box-shadow:0 0 0 0 rgba(215,38,30,.55)}70%{box-shadow:0 0 0 8px rgba(215,38,30,0)}100%{box-shadow:0 0 0 0 rgba(215,38,30,0)}}
.service-menu>summary{list-style:none;display:flex}
.service-menu>summary::-webkit-details-marker{display:none}
.area-panel{width:420px;grid-template-columns:1fr 1fr}
.service-menu-panel{border-radius:6px;border-color:var(--line)}
.service-menu-panel>.service-menu-overview{grid-column:1/-1;color:var(--navy);font-weight:700}
.btn-call{gap:12px;padding:10px 18px 10px 14px;text-align:left;line-height:1.15}
.btn-call small{display:block;font:700 11px var(--font);color:#4a3c00}
.btn-call b{font:900 19px var(--head);font-stretch:85%}

/* ---------- buttons ---------- */
.btn{border-radius:6px;font-family:var(--head);font-weight:800;box-shadow:0 3px 0 #c9a000;color:var(--navy)}
.btn:hover{background:#ffd633;box-shadow:0 5px 0 #c9a000}
.btn svg{width:20px;height:20px;flex:none}
.btn-ghost{display:inline-flex;align-items:center;min-height:56px;padding:0 22px;border:2px solid var(--navy);border-radius:6px;font:800 16px var(--head);color:var(--navy)}
.btn-ghost:hover,.btn-ghost:focus-visible{background:var(--navy);color:#fff}
.service-call,.form-phone{color:var(--navy);font-weight:700;text-decoration:underline;text-underline-offset:4px}
.service-call svg,.form-phone svg{width:16px;height:16px;vertical-align:-2px;margin-right:6px}

/* ---------- hero ---------- */
.hero{grid-template-columns:1.1fr .9fr;align-items:start;padding-block:46px 46px;gap:48px}
.hero .eyebrow{display:flex;align-items:center;gap:0;color:var(--red);font-weight:700;font-size:14px}
.hero .status-dot{background:var(--red)}
.hero h1{font:900 clamp(44px,5.6vw,76px)/.98 var(--head);font-stretch:75%;letter-spacing:-.5px;color:var(--navy);margin-bottom:20px}
.hero h1>span{color:inherit}
.hero-lead{color:var(--text);font-size:19px;max-width:560px}
.hero-lead strong{color:var(--navy)}
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.hero-call{min-height:62px;font-size:20px;padding-inline:26px}
.proof-row{list-style:none;margin:24px 0 0;padding:18px 0 0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;font-size:15px;font-weight:700;color:var(--navy)}
.proof-row li{display:flex;align-items:center;gap:9px}
.proof-row li:before{content:'';width:18px;height:18px;flex:none;border-radius:50%;background:var(--green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='white' stroke-width='2'/%3E%3C/svg%3E") center/14px no-repeat}
.proof-row .stars{color:#b98900;letter-spacing:1px}
.proof-row li.rated:before{display:none}

/* the one bold element: the spoed panel, styled like a safety label */
.spoed-panel{border:2px solid var(--navy);border-radius:8px;background:#fff;overflow:hidden;box-shadow:8px 8px 0 var(--soft)}
.hazard{height:16px;background:repeating-linear-gradient(-45deg,var(--amber) 0 14px,var(--navy) 14px 28px)}
.sp-body{padding:24px 26px 26px}
.sp-title{display:flex;align-items:center;gap:10px;margin:0 0 14px;font:900 28px/1.1 var(--head);font-stretch:80%;color:var(--navy)}
.sp-title .pulse{color:var(--red);animation-name:pulse-red}
.sp-steps{list-style:none;counter-reset:s;margin:0 0 20px;padding:0;display:grid;gap:12px}
.sp-steps li{counter-increment:s;position:relative;padding-left:40px;font-size:16px;line-height:1.45}
.sp-steps li:before{content:counter(s);position:absolute;left:0;top:0;width:28px;height:28px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font:800 14px var(--head)}
.sp-steps b{color:var(--navy)}
.sp-phone{display:block;background:var(--amber);border-radius:6px;padding:14px 18px;box-shadow:0 3px 0 #c9a000;color:var(--navy)}
.sp-phone small{display:block;font:700 13px var(--font)}
.sp-phone b{display:block;font:900 clamp(30px,3.4vw,42px)/1.1 var(--head);font-stretch:85%;letter-spacing:-.5px}
.sp-phone:hover{background:#ffd633}
.sp-note{margin:12px 0 0;font-size:13px;color:var(--muted)}

/* ---------- proof band (photo + reasons) ---------- */
.proof{display:grid;grid-template-columns:.9fr 1.1fr;gap:0;border:1px solid var(--line);border-radius:8px;overflow:hidden;margin-block:8px 0}
.proof figure{margin:0;min-height:300px;background:var(--navy)}
.proof figure img{width:100%;height:100%;object-fit:cover}
.proof-list{display:grid;grid-template-columns:1fr 1fr;background:var(--soft)}
.proof-list div{padding:26px 28px;border-left:1px solid var(--line);border-bottom:1px solid var(--line)}
.proof-list div:nth-child(n+3){border-bottom:0}
.proof-list b{display:block;font:800 20px/1.2 var(--head);font-stretch:85%;color:var(--navy);margin-bottom:6px}
.proof-list span{font-size:15px;color:var(--muted)}
.proof-list .stars{display:block;color:#b98900;font-size:18px;letter-spacing:2px;margin-bottom:2px}

/* ---------- sections ---------- */
.section{padding-block:80px}
.reviews-section{background:var(--soft);border-block:1px solid var(--line)}
.review-card{border-radius:8px;border-color:var(--line);box-shadow:none}
.review-avatar,.review-avatar:nth-child(n){background:var(--navy);color:#fff}
.review-stars{color:#b98900}
.review-service{color:var(--green)}
.problem{border-radius:8px}
.problem .tag{background:transparent;color:var(--red);padding:0;letter-spacing:0;font-size:13px}
.problem h3{font-stretch:85%;font-size:20px}
.soft-band{background:#fff}
.price-box{border-radius:8px;background:var(--navy)}
.price-box .btn{box-shadow:0 3px 0 #c9a000}
.checklist li:before{background:var(--green);color:#fff}
.decision-steps li>span{background:var(--navy);color:#fff}
.decision-contact{border-radius:8px;background:var(--soft)}
.service{border-radius:8px}
.service-label span{display:none}
.area-links a{border-radius:6px}
.area-links .more{background:var(--navy);border-color:var(--navy)}
.related a{border-radius:8px}
details summary span{color:var(--navy)}
.contact-section{background:var(--navy)}
.contact-section .contact-grid>div:first-child,.contact-section .contact-grid>div:first-child h2{color:#fff}
.contact-section .contact-grid>div:first-child p{color:#d5dce7}
.contact-section .contact-region{color:#d5dce7}
.contact-form{border-radius:8px}
.btn-submit{background:var(--navy);color:#fff;box-shadow:0 3px 0 #000}
.btn-submit:hover{background:#22345a;box-shadow:0 5px 0 #000}
.crumbs a{color:var(--navy)}
.mobile-bar{background:var(--navy);color:#fff;border-top:0}
.mobile-bar small{color:#c8d0dc}
.city-group h3,.letter-index a:hover{color:var(--navy)}

@media(max-width:1100px){nav{gap:16px;font-size:14px}.btn-call small{display:none}}
@media(max-width:960px){
 .hero{grid-template-columns:1fr;gap:28px}
 .proof{grid-template-columns:1fr}
 .proof figure{min-height:220px;max-height:280px}
 .area-panel{width:100%;grid-template-columns:1fr 1fr}
 nav{top:78px}
}
@media(max-width:640px){
 body{font-size:16px}
 .alertbar{font-size:13px}
 .alertbar .soft{display:none}
 .alertbar .wrap{min-height:38px;gap:10px}
 .nav-row{min-height:66px}
 nav{top:66px}
 .btn-call{padding:9px 10px}
 .btn-call b{font-size:15px}
 .hero{padding-block:26px 30px}
 .hero h1{font-size:clamp(40px,11vw,52px)}
 .hero-lead{font-size:17px}
 .hero-ctas{flex-direction:column;align-items:stretch}
 .btn-ghost{justify-content:center}
 .proof-row{grid-template-columns:1fr;font-size:14px}
 .sp-body{padding:20px}
 .proof-list{grid-template-columns:1fr}
 .proof-list div{border-left:0}
 .proof-list div:nth-child(n+3){border-bottom:1px solid var(--line)}
 .proof-list div:last-child{border-bottom:0}
 .section{padding-block:56px}
}
.reviews-track .review-card .review-avatar{background:var(--navy)!important;color:#fff!important}
.proof{margin-bottom:64px}
.review-dot[aria-pressed=true]:before{background:var(--navy)!important}
#kw-badge{display:inline-block}#kw-badge::first-letter{text-transform:uppercase}
@media(max-width:640px){.proof{margin-bottom:40px}}
