:root{--orange:#ff7417;--ink:#f5f7f9;--muted:#a2adb6;--night:#08111a;--surface:#0e1923;--surface2:#13212c;--line:#293742;--max:1200px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--night);color:var(--ink);font:16px/1.65 "DM Sans",sans-serif}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}h1,h2,h3{font-family:Manrope,sans-serif}.wrap,.section{width:min(var(--max),90vw);margin:auto}.site-header{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 max(4vw,24px);border-bottom:1px solid rgba(255,255,255,.13);background:rgba(7,15,23,.9);backdrop-filter:blur(16px);position:sticky;top:0;z-index:30}.brand{display:flex;align-items:center;gap:12px}.brand-mark{color:var(--orange);font:800 30px/1 Manrope;letter-spacing:-.1em}.brand strong{display:block;font:700 17px/1 Manrope;letter-spacing:.08em}.brand small{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.19em;margin-top:6px}.main-nav{display:flex;align-items:center;gap:26px;font-size:14px;font-weight:600}.main-nav a:not(.button){color:#d0d6da}.main-nav a:hover,.main-nav a.active{color:var(--orange)}.main-nav .phone{margin-left:12px}.menu-toggle{display:none;background:none;border:1px solid var(--line);color:#fff;padding:8px 12px}.button{display:inline-flex;align-items:center;justify-content:center;padding:15px 23px;background:var(--orange);border:1px solid var(--orange);color:#111!important;font-weight:800;border-radius:3px;cursor:pointer}.button:hover{background:#ff934f}.button.small{padding:10px 15px}.home-hero{min-height:730px;position:relative;display:flex;align-items:center;overflow:hidden}.hero-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,12,18,.97) 0%,rgba(5,12,18,.88) 41%,rgba(5,12,18,.18) 73%),url("assets/hero-electrician.png") center/cover}.hero-content{position:relative;padding:100px 0 70px}.eyebrow{color:var(--orange);font-size:13px;letter-spacing:.18em;text-transform:uppercase;font-weight:800;margin:0 0 15px}.hero h1,.page-hero h1,.contact-page h1{font-size:clamp(48px,7vw,88px);line-height:1.01;letter-spacing:-.055em;margin:0}.hero h1 span{color:var(--orange)}.lead{font-size:19px;color:#c1c8ce;max-width:690px;margin:25px 0 32px}.actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.text-link{border-bottom:1px solid #68727a;padding-bottom:4px;font-weight:600}.text-link:hover{color:var(--orange)}.trust{display:flex;gap:0;margin-top:70px}.trust span{padding:0 32px;border-right:1px solid var(--line);display:flex;flex-direction:column}.trust span:first-child{padding-left:0}.trust b{font-size:15px}.trust small{color:var(--muted);margin-top:3px}.section{padding:110px 0}.section-top{display:grid;grid-template-columns:1.1fr .7fr;gap:90px;align-items:end;margin-bottom:48px}.section-top h2,.split-feature h2,.image-band h2,.about-layout h2,.photo-statement h2,.cta h2{font-size:clamp(34px,4vw,56px);line-height:1.08;letter-spacing:-.04em;margin:0}.section-top>p{color:var(--muted);font-size:18px;margin:0}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-card{padding:31px;min-height:230px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface);transition:.2s}.service-card:hover{background:var(--surface2);transform:translateY(-4px)}.service-card>span,.service-card h3{color:var(--orange)}.service-card>span{font-size:13px;font-weight:800}.service-card h3{font-size:21px;margin:44px 0 7px}.service-card p{margin:0;color:var(--muted)}.split-feature{display:grid;grid-template-columns:1fr 1fr;background:var(--surface2);min-height:620px}.split-feature img{width:100%;height:100%;object-fit:cover}.split-feature>div{padding:10vw 8vw;align-self:center}.split-feature p:not(.eyebrow),.about-layout p,.photo-statement p{color:var(--muted);font-size:18px}.expect-grid,.values{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}.expect-grid article,.values article{padding:38px;background:var(--surface)}.expect-grid b,.values span{color:var(--orange)}.expect-grid h3,.values h3{font-size:22px;margin:38px 0 8px}.expect-grid p,.values p{color:var(--muted);margin:0}.cta{background:var(--orange);color:#101316;padding:85px max(5vw,24px);display:flex;align-items:center;justify-content:space-between;gap:40px}.cta .eyebrow{color:#582300}.cta .light{background:#fff;border-color:#fff}.cta a:not(.button){font-weight:800;border-bottom:1px solid #6b2a00}footer{padding:50px max(4vw,24px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:50px;background:#050b10;color:var(--muted);font-size:13px}footer>div:nth-child(2){display:flex;gap:24px}footer>p{text-align:right;margin:0}.page-hero{padding:145px 0 110px;background:radial-gradient(circle at 82% 25%,#1a3040,transparent 35%),linear-gradient(135deg,#08111a,#0d1c28)}.page-hero .lead{max-width:650px}.service-list{padding-top:60px}.service-list article{display:grid;grid-template-columns:110px 1fr;gap:40px;padding:60px 0;border-bottom:1px solid var(--line);scroll-margin-top:90px}.service-list .number{font:800 34px Manrope;color:var(--orange)}.service-list h2{font-size:36px;margin:0 0 12px}.service-list p{color:var(--muted);max-width:770px;font-size:18px}.service-list ul{display:flex;gap:25px;flex-wrap:wrap;padding:0;list-style:none}.service-list li{border:1px solid var(--line);padding:8px 12px;color:#c5cbd0}.image-band,.photo-statement{position:relative;min-height:590px;display:flex;align-items:center;overflow:hidden}.image-band:after,.photo-statement:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,13,20,.96),rgba(6,13,20,.55),rgba(6,13,20,.2))}.image-band img,.photo-statement img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.image-band>div,.photo-statement>div{position:relative;z-index:2;width:min(var(--max),90vw);margin:auto}.image-band h2,.photo-statement h2{max-width:650px;margin-bottom:28px}.about-layout{display:grid;grid-template-columns:.65fr 1.35fr;gap:10vw;align-items:center}.license-block{aspect-ratio:1;background:var(--surface2);border:1px solid var(--line);padding:45px;display:flex;flex-direction:column;justify-content:center;box-shadow:22px 22px 0 var(--orange)}.license-block span{letter-spacing:.18em;color:var(--muted)}.license-block strong{font:800 clamp(80px,10vw,140px)/1 Manrope;color:var(--orange)}.license-block b{font-size:20px}.values{grid-template-columns:repeat(4,1fr);margin:40px 0 120px}.contact-page{width:min(var(--max),90vw);margin:auto;padding:120px 0;display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw}.contact-intro>p{color:var(--muted);font-size:18px}.contact-details{margin-top:55px;border-top:1px solid var(--line)}.contact-details>a,.contact-details>div{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}.contact-details span{color:var(--muted)}.quote-form{display:grid;grid-template-columns:1fr 1fr;gap:22px;padding:40px;background:var(--surface);border:1px solid var(--line)}.quote-form label{font-weight:700;font-size:14px}.quote-form input,.quote-form select,.quote-form textarea{display:block;width:100%;margin-top:8px;background:#09121a;border:1px solid #364652;color:#fff;padding:14px;font:16px DM Sans}.quote-form .full{grid-column:1/-1}.form-note{color:var(--muted);font-size:13px;margin:0}
@media(max-width:900px){.site-header{height:72px}.menu-toggle{display:block}.main-nav{display:none;position:absolute;top:71px;left:0;right:0;padding:25px;background:#07101a;flex-direction:column;align-items:flex-start}.main-nav.open{display:flex}.home-hero{min-height:730px}.hero-bg{background:linear-gradient(90deg,rgba(5,12,18,.96),rgba(5,12,18,.7)),url("assets/hero-electrician.png") 65% center/cover}.section-top,.split-feature,.about-layout,.contact-page{grid-template-columns:1fr;gap:45px}.section,.contact-page{padding:80px 0}.service-grid{grid-template-columns:1fr 1fr}.split-feature img{height:480px}.values{grid-template-columns:1fr 1fr}.cta{align-items:flex-start;flex-direction:column}footer{grid-template-columns:1fr;align-items:flex-start}footer>p{text-align:left}}
@media(max-width:580px){.hero h1,.page-hero h1,.contact-page h1{font-size:46px}.trust{flex-direction:column;gap:18px}.trust span{border-left:2px solid var(--orange);border-right:0;padding-left:15px!important}.service-grid,.expect-grid,.values{grid-template-columns:1fr}.service-list article{grid-template-columns:1fr;gap:10px}.quote-form{grid-template-columns:1fr;padding:24px}.contact-details>a,.contact-details>div{flex-direction:column;gap:4px}.page-hero{padding:100px 0 75px}}

/* Service icons and alternating residential project imagery */
.service-card{min-height:250px;position:relative}
.service-number{position:absolute;top:28px;right:30px;color:#64727d!important}
.service-icon{display:flex;width:58px;height:58px;align-items:center;justify-content:center;border:1px solid rgba(255,116,23,.42);background:rgba(255,116,23,.07)}
.service-icon svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.service-card h3{margin-top:30px}
.split-feature.reverse img{order:2}
.split-feature.reverse>div{order:1;background:#0a141d}
@media(max-width:900px){.split-feature.reverse img,.split-feature.reverse>div{order:initial}}

/* Page-to-page transition */
@keyframes page-enter{from{opacity:0;transform:translateX(22px) scale(.997)}to{opacity:1;transform:translateX(0) scale(1)}}
body{animation:page-enter .38s cubic-bezier(.22,.8,.24,1) both;transition:opacity .28s ease,transform .28s cubic-bezier(.4,0,.2,1)}
html.page-leaving body{opacity:0;transform:translateX(-22px) scale(.997);pointer-events:none}
@media(prefers-reduced-motion:reduce){body{animation:none;transition:none}html.page-leaving body{opacity:1;transform:none}}

/* Search-friendly service detail pages and local service area */
.service-area{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center;border-top:1px solid var(--line)}
.service-area h2,.detail-layout h2{font-size:clamp(34px,4vw,56px);line-height:1.08;letter-spacing:-.04em;margin:0 0 22px}
.service-area p,.detail-layout p{color:var(--muted);font-size:18px}
.city-list{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}
.city-list span{background:var(--surface);padding:18px 20px;font-weight:700}
.breadcrumbs{display:flex;gap:10px;align-items:center;color:var(--muted);font-size:14px;margin-bottom:28px;flex-wrap:wrap}
.breadcrumbs a:hover{color:var(--orange)}
.service-detail-hero{padding-top:95px}
.detail-layout{display:grid;grid-template-columns:1.25fr .75fr;gap:9vw;align-items:start}
.detail-layout>div>p{max-width:760px}
.detail-card{background:var(--surface);border:1px solid var(--line);padding:34px;box-shadow:12px 12px 0 rgba(255,116,23,.16)}
.detail-card h3{font-size:24px;margin:0 0 22px}
.detail-card ul{list-style:none;padding:0;margin:0}
.detail-card li{padding:13px 0;border-bottom:1px solid var(--line);color:#c8d0d6}
.detail-card li:last-child{border-bottom:0}
.service-list .text-link{display:inline-block;margin-top:10px;color:var(--orange)}
@media(max-width:900px){.service-area,.detail-layout{grid-template-columns:1fr;gap:45px}}
@media(max-width:580px){.city-list{grid-template-columns:1fr}.service-detail-hero{padding-top:80px}.detail-card{padding:26px}}

/* Recent project gallery */
.recent-work{width:min(1320px,92vw)}
.recent-work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.recent-work-grid figure{margin:0;position:relative;overflow:hidden;background:var(--surface);min-height:560px}
.recent-work-grid img{width:100%;height:560px;object-fit:cover;transition:transform .55s cubic-bezier(.2,.7,.2,1)}
.recent-work-grid figure:hover img{transform:scale(1.035)}
.recent-work-grid figcaption{position:absolute;left:0;right:0;bottom:0;padding:60px 24px 22px;background:linear-gradient(transparent,rgba(3,8,12,.92));display:flex;flex-direction:column}
.recent-work-grid figcaption span{color:var(--orange);font-size:12px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.recent-work-grid figcaption strong{font:700 20px/1.3 Manrope;margin-top:5px}
@media(max-width:900px){.recent-work-grid{grid-template-columns:1fr 1fr}.recent-work-grid figure:last-child{grid-column:1/-1}.recent-work-grid figure,.recent-work-grid img{height:500px;min-height:500px}}
@media(max-width:580px){.recent-work-grid{grid-template-columns:1fr}.recent-work-grid figure:last-child{grid-column:auto}.recent-work-grid figure,.recent-work-grid img{height:440px;min-height:440px}}
