/* Conducting Electrical — bespoke site v1. Brand: #0B2D4A / #5CB336 */
:root{--navy:#0B2D4A;--navy-deep:#071B2D;--green:#5CB336;--green-lt:#CFE8A9;--ink:#112B42;--slate:#586978;--line:#E2E9EC;--off:#F6F8F7;--white:#fff;--max:1190px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased}a{color:inherit}button,input{font:inherit}img{max-width:100%;height:auto}.container{width:min(calc(100% - 72px),var(--max));margin-inline:auto}.skip-link{position:absolute;top:-100px;left:12px;z-index:200;background:#fff;padding:12px}.skip-link:focus{top:12px}.topline{background:#0A253B;color:#c6d7e1;font-size:11.5px;letter-spacing:.015em}.topline-inner{display:flex;align-items:center;justify-content:space-between;height:34px;gap:16px}.dot{color:#78bd48;margin:0 5px}.top-right{opacity:.74}.site-header{background:#fff;position:sticky;top:0;z-index:90;border-bottom:1px solid #e8edf0;box-shadow:0 3px 18px rgba(7,32,51,.03)}.nav-row{height:91px;display:flex;justify-content:space-between;align-items:center;gap:30px}.brand{display:inline-flex;align-items:center;max-width:292px;min-width:210px}.brand img{width:100%;display:block}#primary-nav{display:flex;align-items:center;gap:34px}#primary-nav a{font-size:13px;font-weight:630;text-decoration:none;color:#34495A;transition:color .2s}#primary-nav a:hover{color:var(--green)}#primary-nav a.nav-contact{background:var(--navy);padding:14px 19px;border-radius:6px;color:white;font-weight:660;display:inline-flex;gap:18px}#primary-nav a.nav-contact:hover{background:#164463}#primary-nav .nav-contact span{color:#a5d46b;font-size:17px;line-height:13px}.nav-toggle{display:none}.hero{position:relative;background:linear-gradient(112deg,#0A273E 0%,#09263D 44%,#0C3551 100%);color:#fff;overflow:hidden;isolation:isolate}.hero:after{content:"";position:absolute;inset:0;opacity:.19;z-index:-1;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:58px 58px;mask-image:linear-gradient(90deg,transparent,#000)}.hero-halo{position:absolute;z-index:-1;border:1px solid rgba(173,211,226,.09);border-radius:50%;pointer-events:none}.hero-halo-one{width:820px;height:820px;right:-230px;top:-300px}.hero-halo-two{width:570px;height:570px;right:-70px;top:-176px}.hero-grid{min-height:626px;display:grid;grid-template-columns:1.06fr .94fr;align-items:center;gap:70px;padding-block:74px 82px}.eyebrow{display:flex;align-items:center;gap:11px;font-size:11px;font-weight:800;letter-spacing:.145em;color:#4b7d49;margin:0 0 22px}.eyebrow.light{color:#b5da8d}.eyebrow-line{display:inline-block;width:24px;height:2px;background:var(--green);flex:none}.hero-copy h1{font-size:clamp(48px,4.45vw,72px);line-height:1.08;letter-spacing:-.049em;font-weight:720;margin:0 0 25px}.hero-copy h1 em{font-style:normal;color:#B7E18C}.hero-lead{font-size:17px;line-height:1.85;color:#d1dfeb;max-width:543px;margin:0}.hero-actions{display:flex;gap:28px;align-items:center;margin-top:34px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;gap:40px;text-decoration:none;font-weight:750;letter-spacing:-.012em;font-size:14px;padding:17px 20px;border-radius:6px;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-green{background:#88c851;color:#09263d}.button-green:hover{background:#a5df72}.button span{font-size:19px;font-weight:400}.text-link{text-decoration:none;font-size:13px;font-weight:700}.light-link{color:#fff;border-bottom:1px solid #567a8b;padding-bottom:5px}.light-link span{margin-left:7px;color:#a9d579}.hero-tail{margin-top:65px;color:#adc3d0;font-size:11.5px;letter-spacing:.015em;display:flex;align-items:center;gap:13px}.pulse{width:7px;height:7px;display:inline-block;background:#8bd14d;border-radius:50%;box-shadow:0 0 0 5px rgba(139,209,77,.11)}.tail-sep{opacity:.35}.hero-visual{background:linear-gradient(149deg,#15405b,#0B2B45 60%,#0A2237);border:1px solid rgba(229,244,250,.18);box-shadow:0 23px 65px rgba(0,12,26,.2);border-radius:13px;position:relative;overflow:hidden;padding:27px 32px 23px;min-height:468px}.visual-grid{position:absolute;inset:0;opacity:.4;background-image:radial-gradient(rgba(164,201,224,.17) 1px,transparent 1px);background-size:19px 19px;pointer-events:none}.hero-visual-top{position:relative;display:flex;justify-content:space-between;color:#b8d5df;font-size:10px;letter-spacing:.15em;font-weight:740}.technical-mark{opacity:.58}.large-icon-frame{position:relative;width:224px;height:224px;margin:14px auto 11px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,rgba(99,163,105,.15),rgba(34,85,111,.12) 60%,transparent 71%);border:1px solid rgba(209,231,240,.09)}.large-icon-frame:before,.large-icon-frame:after{content:"";position:absolute;border:1px solid rgba(144,204,146,.18);border-radius:50%;inset:-20px}.large-icon-frame:after{inset:-44px;border-color:rgba(144,204,146,.08)}.large-icon-frame img{height:165px;width:165px;object-fit:cover;border-radius:21px;box-shadow:0 12px 28px rgba(3,13,24,.25);z-index:1}.process-lines{position:relative;border-top:1px solid #33546a;border-bottom:1px solid #33546a;padding:5px 0}.process-lines>div{display:grid;grid-template-columns:44px 1fr 24px;align-items:center;gap:6px;padding:10px 4px;border-bottom:1px solid rgba(202,226,238,.1);font-size:13px;color:#e7f0f4}.process-lines>div:last-child{border:0}.line-num{color:#90b4c8;font-size:11px}.line-tick{font-size:16px;color:#a5d478;text-align:right}.visual-bottom{position:relative;display:flex;align-items:center;gap:12px;color:#8daebb;letter-spacing:.15em;font-size:9px;font-weight:800;padding-top:17px}.thin-rule{flex:1;height:1px;background:#456478}.belief{background:#f0f5f1;border-bottom:1px solid #e2eae4}.belief-inner{display:flex;gap:45px;align-items:center;min-height:130px}.belief-label{font-size:11px;letter-spacing:.14em;font-weight:800;color:#4c7b58;white-space:nowrap}.belief p{font-size:clamp(17px,2.1vw,23px);color:#385061;margin:0;line-height:1.55;letter-spacing:-.02em}.belief strong{font-weight:750;color:var(--navy)}.section{padding-block:106px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;margin-bottom:35px}.section h2,.approach-section h2,.contact h2{font-size:clamp(33px,3.35vw,49px);line-height:1.19;letter-spacing:-.035em;margin:0;font-weight:760}.muted{color:#688092}.heading-aside{max-width:290px;font-size:14px;line-height:1.8;color:#627888;margin:0 0 5px}.services-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #e6ebee;border-radius:8px;overflow:hidden;box-shadow:0 12px 40px rgba(23,46,58,.035)}.service-card{min-height:330px;display:flex;flex-direction:column;padding:30px 24px 24px;background:#fff;border-right:1px solid #e6ebee;transition:background .2s}.service-card:hover{background:#f8fbf8}.service-card:last-child{border:0}.service-icon{height:55px;width:55px;border-radius:10px;background:#f0f6ee;color:#527f48;display:grid;place-items:center;margin-bottom:25px}.service-icon svg{width:28px;height:28px;fill:none;stroke:#477f46;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.service-n{font-size:11px;letter-spacing:.14em;color:#74907d;font-weight:760}.service-card h3{font-size:18px;line-height:1.29;letter-spacing:-.022em;margin:12px 0}.service-card p{margin:0;color:#667b88;font-size:13px;line-height:1.73;flex:1}.service-card a{font-size:12px;font-weight:750;color:#1b523d;text-decoration:none;display:flex;justify-content:space-between;margin-top:24px;border-top:1px solid #e4ebee;padding-top:15px}.service-card a span{font-size:19px;line-height:12px}.service-note{max-width:860px;color:#667b88;font-size:12px;line-height:1.6;margin:21px 0 0}.service-note span{color:#4d874d;margin-right:5px;font-size:14px}.approach-section{background:#f5f7f8;padding-block:98px}.approach-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px}.approach-intro>p:last-child{color:#627888;line-height:1.9;font-size:15px;max-width:475px;margin-top:26px}.approach-stack{border-top:1px solid #dbe5e8}.approach-stack article{display:grid;grid-template-columns:42px 1fr;gap:18px;padding:25px 0 22px;border-bottom:1px solid #dbe5e8}.approach-stack article>span{color:#4e9541;font-size:12px;font-weight:800;padding-top:3px}.approach-stack h3{margin:0 0 7px;font-size:17px;letter-spacing:-.012em}.approach-stack p{font-size:14px;line-height:1.75;color:#657b87;margin:0}.about-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:115px;align-items:center}.about-seal{background:linear-gradient(140deg,#ecf3ef,#e6edec);border-radius:8px;min-height:390px;display:grid;place-items:center;overflow:hidden;position:relative}.about-seal:before{content:"";position:absolute;inset:-140px;border:1px solid #cfded6;border-radius:50%;box-shadow:0 0 0 50px rgba(181,211,195,.11),0 0 0 110px rgba(181,211,195,.12)}.seal-inner{position:relative;width:245px;height:280px;border:1px solid #c0d1ca;background:rgba(255,255,255,.5);border-radius:120px 120px 11px 11px;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:22px}.seal-inner span,.seal-inner small{font-size:10px;letter-spacing:.16em;font-weight:750;color:#678578}.seal-inner img{width:140px;height:140px;border-radius:19px;object-fit:cover;margin:18px 0 14px}.seal-inner strong{font-size:13px;font-weight:770;letter-spacing:.045em;color:#1d4d42}.seal-inner small{margin-top:12px}.about-text h2{max-width:590px}.about-text>p:not(.eyebrow){color:#617684;font-size:15px;line-height:1.93}.about-text>p:nth-of-type(2){margin-top:25px}.future-focus{margin-top:30px;background:#f3f8f2;border-left:3px solid #77b84b;padding:21px 25px}.future-badge{font-weight:800;font-size:10px;letter-spacing:.15em;color:#36743b}.future-focus p{font-size:13px;line-height:1.77;color:#587164;margin:9px 0 0}.contact{padding-block:89px;background:linear-gradient(110deg,#0C2D45,#103C58);color:#fff}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:105px;align-items:center}.contact h2{font-size:clamp(36px,3.8vw,55px);max-width:530px}.contact-grid>.contact-intro>p:not(.eyebrow){font-size:15px;color:#ccdde7;line-height:1.83;max-width:500px}.contact-card{padding:35px 37px;background:#fff;color:var(--navy);border-radius:9px;box-shadow:0 20px 45px rgba(6,21,34,.22)}.contact-card-label{font-size:10px;font-weight:850;letter-spacing:.14em;color:#4e8850}.contact-email{display:block;margin:21px 0;font-size:clamp(18px,2.2vw,26px);font-weight:750;letter-spacing:-.036em;line-height:1.35;text-decoration:none;overflow-wrap:anywhere}.contact-email:hover{color:#28773d}.contact-email span{color:#61a740}.contact-location{display:flex;gap:9px;align-items:center;border-top:1px solid #e2ece8;padding-top:20px;color:#345e59;font-size:12px;font-weight:660}.location-dot{display:inline-block;height:8px;width:8px;background:#69aa4d;border-radius:50%}.contact-small{color:#778891;font-size:12px!important;line-height:1.6!important;margin:19px 0 0!important}.footer{background:#071c2c;color:#a6bcc9;padding-top:48px}.footer-grid{display:flex;justify-content:space-between;gap:55px;align-items:flex-start;padding-bottom:40px}.footer-brand img{display:block;width:235px}.footer-brand p{font-size:12px;margin-top:18px}.footer-right{display:flex;gap:25px;font-size:12px;padding-top:20px}.footer-right a{text-decoration:none;color:#c3d2da}.footer-right a:hover{color:#b6e18f}.footer-bottom{border-top:1px solid #2a4658;min-height:62px;display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:11px;color:#91a8b7}.legal-head{background:linear-gradient(110deg,#0A2D47,#123e5a);padding:64px 0;color:#fff}.legal-head h1{margin:10px 0 0;font-size:45px;letter-spacing:-.04em}.legal-body{padding-block:60px 90px;max-width:830px}.legal-body h2{margin:32px 0 10px;font-size:23px;color:var(--navy)}.legal-body h3{font-size:17px;margin:23px 0 9px}.legal-body p,.legal-body li{color:#536b79;line-height:1.85;font-size:15px}.legal-body a{color:#27693b}.legal-body ul{padding-left:22px}.legal-callout{border-left:4px solid #86c35a;background:#f2f7f2;padding:18px 23px;margin-block:25px}.legal-callout p{margin:5px 0}.legal-body .small-print{font-size:12px;color:#6d7f89}
@media (max-width:1050px){.container{width:min(calc(100% - 50px),var(--max))}.hero-grid{gap:35px}.services-grid{grid-template-columns:repeat(2,1fr)}.service-card:nth-child(2){border-right:0}.service-card:nth-child(-n+2){border-bottom:1px solid #e6ebee}.approach-layout{gap:50px}.about-layout{gap:65px}.contact-grid{gap:48px}}
@media (max-width:760px){.container{width:min(calc(100% - 38px),var(--max))}.topline-inner{height:31px}.top-right{display:none}.nav-row{height:75px}.brand{max-width:235px;min-width:0}.nav-toggle{display:flex;flex-direction:column;gap:5px;justify-content:center;border:1px solid #dbe5e9;background:#fff;border-radius:7px;width:43px;height:43px;align-items:center;cursor:pointer}.nav-toggle span{height:2px;width:18px;background:#173b4d;display:block}.site-header{position:sticky}#primary-nav{display:none;position:absolute;top:75px;left:0;right:0;padding:20px;background:white;border-top:1px solid #e1e8ea;box-shadow:0 15px 25px rgba(0,20,35,.1);flex-direction:column;align-items:stretch;gap:0}#primary-nav.open{display:flex}#primary-nav a{padding:13px 8px;font-size:15px}#primary-nav a.nav-contact{margin-top:8px}.hero-grid{grid-template-columns:1fr;gap:42px;padding-top:65px;padding-bottom:67px}.hero-copy h1{font-size:clamp(43px,9.4vw,67px)}.hero-lead{font-size:16px}.hero-tail{margin-top:38px}.hero-visual{max-width:500px;width:100%;min-height:auto}.belief-inner{align-items:flex-start;flex-direction:column;gap:12px;padding-block:33px}.section{padding-block:69px}.section-heading{display:block}.heading-aside{max-width:550px;margin-top:21px}.approach-section{padding-block:70px}.approach-layout,.about-layout,.contact-grid{grid-template-columns:1fr;gap:36px}.about-seal{min-height:320px;order:2}.about-text{order:1}.contact{padding-block:69px}.contact-card{padding:27px}.footer-grid,.footer-bottom{flex-direction:column;align-items:flex-start}.footer-grid{gap:17px;padding-bottom:24px}.footer-right{padding:0;flex-wrap:wrap}.footer-bottom{padding:17px 0;gap:8px}.legal-head h1{font-size:38px}.legal-body{padding-block:35px 75px}}
@media (max-width:480px){.services-grid{grid-template-columns:1fr}.service-card{border-right:0;border-bottom:1px solid #e6ebee}.service-card:last-child{border-bottom:0}.hero-actions{gap:20px}.hero-visual{padding:20px}.hero-visual-top{font-size:9px}.large-icon-frame{width:200px;height:200px}.hero-tail{flex-wrap:wrap;gap:8px}.contact-email{font-size:20px}.footer-right{gap:16px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* v1.2: inline SVG paths instead of CSS mask with external asset.
   Chrome blocks some local file:// SVG masks, leaving invisible sparks.
   These inline SVGs work offline as well as when deployed. */
.spark-mark{display:inline-block;vertical-align:middle;flex:none;width:28px;height:15px;color:#5CB336;overflow:visible}
.spark-hero{width:29px;height:14px;color:#ABE176;justify-self:start}
.spark-service{width:35px;height:18px;color:#65A834;margin:1px 0 0}
.spark-approach{width:34px;height:17px;color:#5CB336;margin-top:2px}
.process-lines>div{grid-template-columns:44px 1fr 24px}
.service-icon{height:58px;width:58px;margin-bottom:23px}
.service-icon svg{width:36px;height:36px;stroke-width:1.75}
.approach-stack article{grid-template-columns:42px 1fr}
/* Make contact information readable; previously the global section rule applied pale text to the white card. */
.contact-card .contact-small{color:#435B69!important;font-size:13px!important;line-height:1.65!important;margin:17px 0 0!important}
.contact-address{padding-top:18px;margin-top:18px;border-top:1px solid #dbe6e5}
.contact-address-label{display:block;color:#376A4B;font-size:10px;font-weight:800;letter-spacing:.11em;margin-bottom:8px}
.contact-address address{font-style:normal;font-size:12.5px;color:#314D5B;line-height:1.65}
.address-placeholder{color:#3E5E6D;font-style:italic}
.footer-bottom .address-placeholder{color:#B6D1DB}
@media (max-width:480px){.contact-address address{font-size:12px}.spark-hero{width:27px}}

/* v1.3: clear, accessible linked contact page; no residential address displayed on homepage. */
.contact-details-link{border-top:1px solid #dbe6e5;padding-top:14px;margin:17px 0 0}
.contact-details-link a{font-weight:700;font-size:12px;text-decoration:none;color:#285e42}
.contact-details-link a:hover,.contact-details-link a:focus-visible{text-decoration:underline}
.contact-page-body{max-width:870px}
.contact-page-panel{background:#fff;border:1px solid #dbe7e7;border-radius:10px;padding:30px 35px;box-shadow:0 14px 40px rgba(11,45,74,.06)}
.contact-page-panel h2:first-child{margin-top:0}
.contact-page-email{font-size:clamp(18px,3vw,25px);font-weight:720;overflow-wrap:anywhere}
.contact-page-address{font-size:15px;font-style:normal;line-height:1.7;font-weight:680;color:#1e4050;background:#f2f7f3;border-left:3px solid #5CB336;padding:16px 18px;overflow-wrap:anywhere}
.contact-page-note{font-size:12px!important}
@media(max-width:480px){.contact-page-panel{padding:24px 20px}}

/* Conducting Electrical v1.4: personal approach panel */
.process-intro{position:relative;margin:0 0 14px;color:#fff;font-size:15px;font-style:italic;line-height:1.45;font-weight:450}
@media(max-width:480px){.process-intro{font-size:14px;margin-bottom:12px}}
