/* CSR Electrical — charcoal / warm grey / safety yellow redesign */
:root{
  --charcoal:#202124;--charcoal-2:#2b2d31;--charcoal-3:#35373c;
  --yellow:#e8c714;--yellow-2:#f3d84a;--yellow-soft:#f6e98a;
  --ink:#1d1e20;--muted:#696b70;--paper:#ecebea;--paper-2:#e3e1de;
  --white:#fff;--line:#cbc9c5;--shadow:0 18px 50px rgba(18,18,18,.16);
  --radius:22px;--radius-sm:14px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.container{width:min(1180px,calc(100% - 40px));margin:auto}
::selection{background:var(--yellow);color:#111}

.topbar{background:#111214;color:#d9d9d9;font-size:.84rem;border-bottom:1px solid #2e3034}.topbar .container{display:flex;justify-content:space-between;gap:20px;padding:9px 0}.topbar a:hover{color:var(--yellow)}
.nav{position:sticky;top:0;z-index:50;background:rgba(236,235,234,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(32,33,36,.12);box-shadow:0 3px 18px rgba(0,0,0,.04)}.nav-inner{height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;min-width:220px}.brand-logo{width:205px;height:auto;max-height:54px;object-fit:contain;object-position:left center;filter:contrast(1.05)}.brand-mark,.brand-copy{display:none}.nav-links{display:flex;align-items:center;gap:24px;font-weight:750;font-size:.92rem}.nav-links a{position:relative;padding:29px 0}.nav-links a:after{content:"";position:absolute;height:3px;left:0;right:100%;bottom:18px;background:var(--yellow);transition:right .28s ease}.nav-links a:hover:after,.nav-links a.active:after{right:0}.nav-cta{display:flex;gap:10px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:0;border-radius:10px;padding:13px 19px;font-weight:850;transition:transform .22s ease,box-shadow .22s ease,background .22s ease;cursor:pointer}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--yellow);color:#171717;box-shadow:0 10px 24px rgba(232,199,20,.22)}.btn-primary:hover{background:var(--yellow-2);box-shadow:0 14px 30px rgba(232,199,20,.3)}.btn-dark{background:var(--charcoal);color:#fff}.btn-dark:hover{background:#151618}.btn-ghost{border:1px solid #aeadab;background:transparent;color:#222}.btn-ghost:hover{border-color:#222;background:#dddcd9}.btn-white{background:#fff;color:#191919}.menu-btn{display:none;background:none;border:0;padding:8px}

.hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#1f2023 0%,#2a2c30 55%,#373a3f 100%);color:#fff}.hero:before{content:"";position:absolute;inset:-20% auto auto 55%;width:560px;height:560px;background:radial-gradient(circle,rgba(232,199,20,.18),transparent 68%);pointer-events:none}.hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:5px;background:linear-gradient(90deg,var(--yellow),#f8e985,var(--yellow))}.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;min-height:700px;align-items:center;gap:54px;padding:64px 0}.eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:.8rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase;color:#555}.eyebrow:before{content:"";width:27px;height:3px;background:var(--yellow)}.hero .eyebrow,.page-hero .eyebrow{color:#efefef}.hero h1{font-size:clamp(3rem,6vw,5.55rem);line-height:.94;letter-spacing:-.06em;margin:18px 0 24px;max-width:760px}.hero h1 span{color:var(--yellow)}.hero-copy{font-size:1.1rem;color:#d7d7d7;max-width:640px;margin:0 0 30px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-trust{display:flex;align-items:center;gap:25px;margin-top:34px;flex-wrap:wrap}.trust-item{display:flex;gap:9px;align-items:center;color:#eeeeee;font-weight:720;font-size:.9rem}.check{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:rgba(232,199,20,.12);border:1px solid rgba(232,199,20,.5);color:var(--yellow);font-size:.72rem}.hero-media{position:relative;transform:translateY(0);animation:heroFloat 6s ease-in-out infinite}.hero-media:before{content:"";position:absolute;inset:-10px 22px 16px -10px;border:1px solid rgba(232,199,20,.38);border-radius:30px;z-index:0}.hero-media img{position:relative;z-index:1;height:520px;width:100%;object-fit:cover;border-radius:26px;box-shadow:0 35px 90px rgba(0,0,0,.38);animation:heroZoom 12s ease-in-out infinite alternate}.float-card{position:absolute;z-index:3;left:-30px;bottom:30px;background:rgba(245,245,243,.96);color:var(--ink);padding:18px 20px;border-left:5px solid var(--yellow);border-radius:12px;box-shadow:var(--shadow);max-width:275px}.float-card strong{display:block;font-size:1rem}.float-card span{font-size:.83rem;color:var(--muted)}
@keyframes heroFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes heroZoom{from{transform:scale(1)}to{transform:scale(1.025)}}

.stats{background:#27292d;color:#fff;border-bottom:1px solid #3b3d42}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);padding:24px 0}.stat{padding:8px 24px;border-right:1px solid #47494e}.stat:last-child{border-right:0}.stat strong{font-size:1.32rem;display:block;color:var(--yellow)}.stat span{color:#cfcfcf;font-size:.87rem}

.section{padding:100px 0}.section-sm{padding:70px 0}.bg-paper{background:var(--paper-2)}.section-head{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:end;margin-bottom:45px}.section-head h2,.split h2,.cta h2,.page-hero h1{font-size:clamp(2.15rem,4vw,4rem);line-height:1;letter-spacing:-.05em;margin:10px 0}.section-head p{color:var(--muted);font-size:1.03rem;margin:0}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{position:relative;min-height:440px;border-radius:18px;overflow:hidden;background:#111;box-shadow:var(--shadow);isolation:isolate;transition:transform .35s ease,box-shadow .35s ease}.service-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--yellow);z-index:3;transform:scaleY(0);transform-origin:bottom;transition:transform .35s ease}.service-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .65s ease,filter .5s ease}.service-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,15,15,.05) 15%,rgba(24,24,24,.94) 100%)}.service-card:hover{transform:translateY(-8px);box-shadow:0 28px 65px rgba(20,20,20,.22)}.service-card:hover:before{transform:scaleY(1)}.service-card:hover img{transform:scale(1.055);filter:saturate(1.06)}.service-content{position:absolute;z-index:2;left:25px;right:25px;bottom:24px;color:#fff}.service-num{font-size:.76rem;font-weight:900;color:var(--yellow);letter-spacing:.1em}.service-content h3{font-size:1.67rem;letter-spacing:-.035em;margin:7px 0}.service-content p{color:#d9d9d9;font-size:.92rem;margin:0 0 15px}.inline-link{font-weight:850;color:#fff;display:inline-flex;gap:8px}.inline-link:after{content:"";width:25px;height:2px;background:var(--yellow);align-self:center;transition:width .25s ease}.service-card:hover .inline-link:after{width:42px}

.split{display:grid;grid-template-columns:1fr 1fr;gap:66px;align-items:center}.split-media{position:relative}.split-media img{border-radius:18px;min-height:520px;width:100%;object-fit:cover;box-shadow:var(--shadow)}.mini-img{position:absolute;width:45%;height:220px;right:-24px;bottom:-24px;border:8px solid var(--paper-2);border-radius:16px!important;min-height:0!important}.feature-list{display:grid;gap:14px;margin:28px 0}.feature{display:grid;grid-template-columns:44px 1fr;gap:13px;background:rgba(255,255,255,.32);border:1px solid rgba(31,31,31,.08);border-radius:13px;padding:15px}.feature-icon{width:42px;height:42px;border-radius:10px;background:var(--charcoal);color:var(--yellow);display:grid;place-items:center;font-weight:900}.feature h3{font-size:1rem;margin:0 0 3px}.feature p{font-size:.91rem;color:var(--muted);margin:0}
.logo-strip{display:flex;align-items:center;gap:32px;justify-content:space-between;background:#d8d6d2;border:1px solid #bbb9b5;padding:25px 30px;border-radius:16px}.logo-strip img{width:430px;max-height:92px;object-fit:contain;object-position:left}.logo-strip p{margin:0;max-width:540px;color:#5d5d5d;font-size:.9rem}.process{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;counter-reset:steps}.step{background:#d9d7d3;border:1px solid #c4c2be;border-radius:16px;padding:25px;transition:transform .3s ease,background .3s ease}.step:hover{transform:translateY(-6px);background:#cfcdc9}.step:before{counter-increment:steps;content:"0" counter(steps);display:block;color:#151515;font-size:.8rem;font-weight:950;letter-spacing:.08em;margin-bottom:22px;border-bottom:3px solid var(--yellow);width:max-content;padding-bottom:4px}.step h3{margin:0 0 8px}.step p{color:var(--muted);font-size:.9rem;margin:0}
.gallery{display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-template-rows:240px 240px;gap:14px}.gallery img{width:100%;height:100%;object-fit:cover;border-radius:14px;transition:transform .45s ease,filter .45s ease;box-shadow:0 10px 28px rgba(0,0,0,.11)}.gallery img:hover{transform:scale(1.025);filter:contrast(1.03)}.gallery img:first-child{grid-row:1/3}.gallery .wide{grid-column:2/4}
.cta{position:relative;overflow:hidden;background:linear-gradient(115deg,#1e1f22,#303237);color:#fff;border-radius:20px;padding:58px 60px;border:1px solid #414348;box-shadow:var(--shadow)}.cta:before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:var(--yellow)}.cta:after{content:"";position:absolute;width:380px;height:380px;border-radius:50%;background:rgba(232,199,20,.07);right:-120px;top:-170px}.cta p{max-width:680px;color:#dcdcdc}.cta-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}
.footer{background:#17181a;color:#d2d2d2;padding:65px 0 22px;margin-top:90px;border-top:5px solid var(--yellow)}.footer .brand-logo{filter:brightness(1.8) grayscale(1) contrast(.65)}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:45px}.footer h4{color:#fff;margin:0 0 15px}.footer p,.footer a{color:#aaa;font-size:.9rem}.footer a{display:block;margin:8px 0}.footer a:hover{color:var(--yellow)}.footer-bottom{border-top:1px solid #36383c;margin-top:44px;padding-top:20px;display:flex;justify-content:space-between;gap:20px;font-size:.8rem;color:#838383}

.page-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#242529,#33353a);color:#fff;padding:88px 0 72px;border-bottom:5px solid var(--yellow)}.page-hero:after{content:"";position:absolute;width:460px;height:460px;border-radius:50%;background:rgba(232,199,20,.09);right:-130px;top:-220px}.page-hero .container{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:55px;align-items:center}.page-hero p{color:#d8d8d8;font-size:1.08rem;max-width:660px}.page-hero img{height:430px;width:100%;object-fit:cover;border-radius:18px;box-shadow:var(--shadow)}.pill-row{display:flex;gap:9px;flex-wrap:wrap;margin-top:26px}.pill{border:1px solid #585a60;border-radius:999px;padding:8px 12px;font-size:.82rem;color:#e0e0e0;background:rgba(255,255,255,.03)}
.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.detail-card{border:1px solid #c2c0bc;border-radius:16px;padding:27px;background:#dddcd8;transition:transform .28s ease,border-color .28s ease}.detail-card:hover{transform:translateY(-5px);border-color:#9e9b96}.detail-card h3{margin:0 0 8px}.detail-card p{margin:0;color:var(--muted)}.quote-box{background:var(--charcoal);color:white;border-radius:18px;padding:34px;border-left:5px solid var(--yellow)}.quote-box p{color:#cecece}

.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:32px;align-items:stretch}.contact-card{background:var(--charcoal);color:#fff;border-radius:18px;padding:34px;position:relative;overflow:hidden;border-top:5px solid var(--yellow)}.contact-card:after{content:"";position:absolute;width:250px;height:250px;border-radius:50%;right:-120px;bottom:-120px;background:rgba(232,199,20,.08)}.contact-card p{color:#c8c8c8}.contact-line{padding:17px 0;border-top:1px solid #404247;position:relative;z-index:2}.contact-line small{color:#9d9d9d;display:block;margin-bottom:3px}.contact-line a:hover{color:var(--yellow)}.contact-options{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.contact-option{background:#d8d6d2;border:1px solid #bebbb6;border-radius:16px;padding:24px;min-height:155px;transition:transform .3s ease,background .3s ease}.contact-option:hover{transform:translateY(-5px);background:#cfcdc8}.contact-option .icon{width:42px;height:42px;border-radius:10px;background:var(--charcoal);color:var(--yellow);display:grid;place-items:center;font-size:1.1rem;margin-bottom:20px}.contact-option small{display:block;color:#777;margin-bottom:4px}.contact-option strong{display:block;font-size:1.02rem;word-break:break-word}.map-wrap{margin-top:28px;border-radius:18px;overflow:hidden;border:1px solid #bcb9b5;box-shadow:var(--shadow);background:#d4d2ce}.map-wrap iframe{display:block;width:100%;height:480px;border:0}.map-caption{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:17px 20px;background:#242528;color:#eee}.map-caption strong{color:var(--yellow)}
.form{background:#fff;border:1px solid var(--line);border-radius:26px;padding:34px;box-shadow:var(--shadow)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label{font-weight:750;font-size:.9rem}.field input,.field textarea,.field select{width:100%;border:1px solid #d8e2ea;background:#fbfdff;border-radius:12px;padding:13px 14px;outline:none}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--yellow);box-shadow:0 0 0 3px rgba(232,199,20,.14)}.field textarea{min-height:150px;resize:vertical}.sticky-mobile{display:none}.legal{max-width:840px}.legal h2{margin-top:34px}.legal p,.legal li{color:#555}

/* animation system */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}.reveal.from-left{transform:translateX(-34px)}.reveal.from-right{transform:translateX(34px)}.reveal.visible{opacity:1;transform:none}.reveal-delay-1{transition-delay:.09s}.reveal-delay-2{transition-delay:.18s}.reveal-delay-3{transition-delay:.27s}
.logo-pulse{position:relative}.logo-pulse:after{content:"";position:absolute;left:0;bottom:-6px;width:58%;height:3px;background:var(--yellow);transform-origin:left;animation:logoLine 2.4s ease-in-out infinite alternate}@keyframes logoLine{from{transform:scaleX(.3)}to{transform:scaleX(1)}}

@media(max-width:960px){.nav-links,.nav-cta{display:none}.menu-btn{display:block}.nav.open .nav-links{display:flex;position:absolute;left:0;right:0;top:82px;background:#e8e7e4;padding:22px 20px;flex-direction:column;align-items:flex-start;border-top:1px solid #cac8c4;box-shadow:0 16px 35px rgba(0,0,0,.12)}.nav.open .nav-links a{padding:7px 0}.nav.open .nav-links a:after{bottom:1px}.hero-grid,.page-hero .container,.split,.section-head,.contact-grid{grid-template-columns:1fr}.hero-grid{padding:55px 0 70px}.hero-media{max-width:700px}.float-card{left:20px}.stats-grid{grid-template-columns:1fr 1fr}.stat:nth-child(2){border-right:0}.stat:nth-child(-n+2){border-bottom:1px solid #47494e}.service-grid{grid-template-columns:1fr}.service-card{min-height:370px}.process{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.gallery{grid-template-columns:1fr 1fr;grid-template-rows:250px 250px 250px}.gallery img:first-child{grid-row:auto}.gallery .wide{grid-column:1/3}.logo-strip{flex-direction:column;align-items:flex-start}.contact-options{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:640px){.container{width:min(100% - 28px,1180px)}.topbar .container{justify-content:center}.topbar .location{display:none}.nav-inner{height:72px}.nav.open .nav-links{top:72px}.brand{min-width:0}.brand-logo{width:175px;max-height:47px}.hero-grid{min-height:auto;gap:36px}.hero h1{font-size:3.18rem}.hero-media img{height:390px;border-radius:18px}.float-card{position:relative;left:auto;bottom:auto;margin:-55px 15px 0}.hero-trust{gap:14px}.stats-grid{grid-template-columns:1fr 1fr}.stat{padding:10px 12px}.section{padding:72px 0}.section-sm{padding:52px 0}.section-head{gap:18px}.section-head h2,.split h2,.cta h2,.page-hero h1{font-size:2.45rem}.split-media img{min-height:380px}.mini-img{width:47%;height:155px;right:-5px;bottom:-10px;border-color:var(--paper-2)}.process{grid-template-columns:1fr}.gallery{grid-template-columns:1fr;grid-template-rows:repeat(4,250px)}.gallery .wide{grid-column:auto}.cta{padding:38px 26px;border-radius:18px}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column}.page-hero{padding:58px 0 46px}.page-hero img{height:320px}.contact-options{grid-template-columns:1fr}.map-wrap iframe{height:390px}.map-caption{align-items:flex-start;flex-direction:column}.sticky-mobile{display:grid;grid-template-columns:1fr 1fr;position:fixed;z-index:60;bottom:0;left:0;right:0;background:#1c1d1f;padding:10px 12px max(10px,env(safe-area-inset-bottom));box-shadow:0 -10px 30px rgba(5,5,5,.22);gap:8px}.sticky-mobile a{border-radius:9px;padding:12px;text-align:center;font-size:.9rem;font-weight:850}.sticky-mobile .call{background:#33353a;color:#fff}.sticky-mobile .quote{background:var(--yellow);color:#111}body{padding-bottom:70px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-media,.hero-media img,.logo-pulse:after{animation:none}.reveal{opacity:1;transform:none;transition:none}.service-card,.service-card img,.step,.contact-option{transition:none}}
.cta-logo{position:absolute;right:28px;bottom:18px;width:280px;height:auto;opacity:.075;filter:grayscale(1) brightness(4);pointer-events:none}.cta>*:not(.cta-logo){position:relative;z-index:2}@media(max-width:640px){.cta-logo{width:190px;right:-18px;bottom:8px}}
