﻿*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}:root{--black:#111111;--dark:#1a1a1a;--dark2:#1e1e1e;--dark3:#222222;--card:#1c1c1c;--border:#2a2a2a;--border2:#333333;--green:#3bb54b;--green-light:#4ecc5f;--green-dim:rgba(59,181,75,0.10);--green-glow:rgba(59,181,75,0.04);--green-mid:rgba(59,181,75,0.20);--gold:#e0bc3e;--gold-dim:rgba(224,188,62,0.12);--gold-light:#e8c84a;--white:#f5f5f5;--off:#e8e8e8;--muted:#aaa;--light:#d0d0d0;--subtle:#666;--sans:'Inter',-apple-system,sans-serif;--serif:'Playfair Display',Georgia,serif;--shadow-sm:0 2px 8px rgba(0,0,0,.3);--shadow-md:0 4px 20px rgba(0,0,0,.4);--shadow-lg:0 8px 40px rgba(0,0,0,.5)}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}body{font-family:var(--sans);background:var(--black);color:var(--white);line-height:1.6;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{cursor:pointer;border:none;font-family:var(--sans)}.container{max-width:1280px;margin:0 auto;padding:0 24px}.section{padding:120px 0}.gold{color:var(--gold)}.green{color:var(--green)}.label{font-size:.7rem;text-transform:uppercase;letter-spacing:.2em;color:var(--green);font-weight:600;margin-bottom:16px}.h2{font-family:var(--serif);font-size:clamp(2rem,4vw,3.2rem);font-weight:400;line-height:1.15}.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}.reveal.v{opacity:1;transform:none}.d1{transition-delay:.1s}.d2{transition-delay:.2s}.d3{transition-delay:.3s}.d4{transition-delay:.4s}.d5{transition-delay:.5s}.shimmer{position:relative;overflow:hidden}.shimmer::after{content:'';position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(59,181,75,.04),transparent);animation:shimmer 3s infinite}@keyframes shimmer{0%{left:-100%}100%{left:200%}}.pulse-green{animation:pulseGreen 2s ease-in-out infinite}@keyframes pulseGreen{0%,100%{box-shadow:0 0 0 0 rgba(59,181,75,.3)}50%{box-shadow:0 0 0 12px rgba(59,181,75,0)}}.counter{font-variant-numeric:tabular-nums}.nav{position:fixed;top:0;left:0;right:0;z-index:1000;padding:18px 0;transition:all .4s}.nav.scrolled{background:rgba(10,10,10,.96);backdrop-filter:blur(20px);padding:10px 0;border-bottom:1px solid var(--border)}.nav-inner{display:flex;align-items:center;justify-content:space-between;max-width:1280px;margin:0 auto;padding:0 24px}.nav-logo img{height:48px;width:auto}.nav-links{display:flex;gap:28px;align-items:center}.nav-links>a,.nav-dd>span{font-size:.82rem;color:var(--light);transition:color .3s;letter-spacing:.01em;cursor:pointer}.nav-links>a:hover,.nav-links .nav-links-a:hover,.nav-dd:hover>span{color:var(--green)}.nav-dd{position:relative}.nav-dd>span{display:inline-flex;align-items:center;gap:4px}.nav-dd>span::after{content:'';border:solid var(--muted);border-width:0 1.5px 1.5px 0;padding:2.5px;transform:rotate(45deg);transition:transform .3s,border-color .3s;margin-top:-2px}.nav-dd:hover>span::after{border-color:var(--green);transform:rotate(-135deg)}.nav-dd-menu{position:absolute;top:calc(100%+12px);left:50%;transform:translateX(-50%);background:rgba(10,10,10,.98);backdrop-filter:blur(20px);border:1px solid var(--border);min-width:200px;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s,transform .25s;transform:translateX(-50%) translateY(6px);padding:8px 0;z-index:1001}.nav-dd:hover .nav-dd-menu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}.nav-dd-menu a{display:block;padding:10px 20px;font-size:.8rem;color:var(--light);transition:all .2s;white-space:nowrap}.nav-dd-menu a:hover{color:var(--green);background:var(--green-glow);padding-left:24px}.btn-g{background:var(--green);color:var(--white);padding:11px 26px;font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;transition:all .3s;display:inline-flex;align-items:center;gap:8px;position:relative;overflow:hidden}.btn-g::after{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s}.btn-g:hover{background:var(--green-light);transform:translateY(-2px);box-shadow:0 4px 20px rgba(59,181,75,.25)}.btn-g:hover::after{left:100%}.btn-o{background:transparent;color:var(--white);padding:11px 26px;font-size:.75rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--border2);transition:all .3s;display:inline-flex;align-items:center;gap:8px}.btn-o:hover{border-color:var(--green);color:var(--green)}.hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden}.hero-bg{position:absolute;inset:0}.hero-img{position:absolute;inset:0;background:url('../img/_shared/backgrounds/hero-luxury-estate-night.webp') center/cover no-repeat}.hero-img::after{content:'';position:absolute;inset:0;background:linear-gradient(100deg,rgba(20,20,20,.85) 0%,rgba(20,20,20,.65) 45%,rgba(20,20,20,.35) 75%,rgba(20,20,20,.15) 100%)}.hero-content{position:relative;z-index:2;max-width:1280px;margin:0 auto;padding:0 24px;padding-top:120px}.hero-badge{display:inline-flex;align-items:center;gap:8px;background:var(--green-dim);border:1px solid rgba(59,181,75,.3);padding:8px 20px;margin-bottom:32px}.hero-badge span{font-size:.68rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--green)}.hero h1{font-family:var(--serif);font-size:clamp(2.6rem,5.5vw,5rem);font-weight:400;line-height:1.08;margin-bottom:24px;max-width:720px}.hero h1 em{font-style:italic;color:var(--green)}.hero-sub{font-size:1.1rem;color:var(--light);max-width:520px;line-height:1.7;margin-bottom:44px;font-weight:300}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.hero-stats{display:flex;gap:48px;margin-top:72px;padding-top:32px;border-top:1px solid var(--border)}.hero-stat h3{font-size:2rem;font-weight:300;color:var(--green);font-family:var(--serif)}.stat-value{font-size:2rem;font-weight:300;color:var(--green);font-family:var(--serif)}.hero-stat p{font-size:.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin-top:4px}.creds{padding:44px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--dark)}.creds-inner{display:flex;align-items:center;justify-content:center;gap:48px;flex-wrap:wrap}.cred-badge{text-align:center;opacity:.55;transition:all .3s;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:90px;padding:12px 8px;border:1px solid transparent;cursor:default}.cred-badge:hover{opacity:1;border-color:var(--border)}.cred-logo{height:28px;width:auto;margin-bottom:2px}.cred-logo svg{height:28px;width:auto;fill:var(--white)}.cred-logo img{height:36px;width:auto;filter:brightness(0) invert(1);object-fit:contain}.cred-sub{font-size:.52rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:500}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.about p{color:var(--light);font-size:1rem;line-height:1.8;margin-bottom:14px;font-weight:300}.feat-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:36px}.feat{padding:20px;border:1px solid var(--border);background:var(--card)}.feat h4{font-size:.82rem;font-weight:600;margin-bottom:4px}.feat p{font-size:.78rem;color:var(--muted);line-height:1.5;margin:0}.about-visual{position:relative;aspect-ratio:4/5;overflow:hidden;border:1px solid var(--border)}.about-vis-img{position:absolute;inset:0;background:url('../img/projects/jib-house/jib-house-1-11.webp') center/cover}.about-vis-img::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(10,10,10,.85) 0%,transparent 50%)}.about-vis-text{position:absolute;bottom:32px;left:32px;right:32px}.about-vis-text .big{font-family:var(--serif);font-size:5rem;color:var(--green);line-height:1;font-weight:300}.about-vis-text p{color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;margin-top:8px}.srv-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.srv{background:var(--card);border:1px solid var(--border);padding:36px 28px;transition:all .4s;position:relative;overflow:hidden;box-shadow:var(--shadow-sm)}.srv::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--green),var(--green-light));transform:scaleX(0);transition:transform .4s;transform-origin:left}.srv:hover{border-color:rgba(59,181,75,.3);transform:translateY(-6px);box-shadow:var(--shadow-md),0 0 30px rgba(59,181,75,.06)}.srv:hover::before{transform:scaleX(1)}.srv:hover .srv-icon{background:var(--green-mid);transform:scale(1.05)}.srv:hover .srv-link{letter-spacing:.14em}.srv-icon{width:44px;height:44px;background:var(--green-dim);display:flex;align-items:center;justify-content:center;margin-bottom:20px;transition:all .4s}.srv-icon svg{width:22px;height:22px;stroke:var(--green);fill:none;stroke-width:1.5}.srv h3{font-size:1.05rem;font-weight:600;margin-bottom:10px}.srv p{font-size:.85rem;color:var(--muted);line-height:1.6;margin-bottom:16px}.srv-link{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--green);font-weight:600;transition:letter-spacing .3s}.stack{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.stack-i{background:var(--card);padding:28px 14px;text-align:center;border:1px solid var(--border);transition:all .3s}.stack-i:hover{background:var(--dark3);border-color:rgba(59,181,75,.15)}.stack-i:last-child{background:var(--green-dim);border-color:rgba(59,181,75,.3)}.stack-n{font-family:var(--serif);font-size:1.6rem;color:var(--green);font-weight:300;margin-bottom:8px}.stack-i h4{font-size:.78rem;font-weight:600;margin-bottom:4px}.stack-i p{font-size:.65rem;color:var(--muted);line-height:1.4}.proj-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.proj{position:relative;overflow:hidden;cursor:pointer;aspect-ratio:16/10;border:1px solid var(--border)}.proj.feat{grid-column:span 2;aspect-ratio:21/9}.proj-bg{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .6s}.proj:hover .proj-bg{transform:scale(1.04)}.proj-ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(5,5,5,.97) 0%,rgba(5,5,5,.8) 35%,rgba(5,5,5,.5) 60%,rgba(5,5,5,.25) 100%);padding:28px;display:flex;flex-direction:column;justify-content:flex-end;transition:background .4s}.proj:hover .proj-ov{background:linear-gradient(to top,rgba(5,5,5,.98) 0%,rgba(5,5,5,.85) 40%,rgba(5,5,5,.55) 70%,rgba(5,5,5,.25) 100%)}.proj-tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}.proj-tag{font-size:.58rem;text-transform:uppercase;letter-spacing:.08em;padding:3px 8px;border:1px solid rgba(59,181,75,.3);color:var(--green);cursor:default}.proj h3{font-family:var(--serif);font-size:clamp(1.15rem,1.6vw,1.5rem);font-weight:400;line-height:1.2;margin-bottom:10px}.proj p{font-size:.85rem;color:var(--light);font-weight:300;line-height:1.7}main[role="main"]{display:block}.page-hero{padding:130px 0 60px;background:var(--dark);border-bottom:1px solid var(--border);position:relative;overflow:hidden}.page-hero::after{content:'';position:absolute;bottom:0;left:0;right:0;height:80px;background:linear-gradient(to top,var(--black),transparent);z-index:1}.page-hero-img{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.15;transition:opacity .6s}.page:hover .page-hero-img{opacity:.2}@keyframes shadeMove{0%{clip-path:inset(0 0 0 0)}30%{clip-path:inset(0 0 50% 0)}60%{clip-path:inset(0 0 20% 0)}100%{clip-path:inset(0 0 0 0)}}.shade-hero-animated{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(255,255,255,.06) 0%,transparent 60%);animation:shadeMove 8s ease-in-out infinite;pointer-events:none}.shade-hero-overlay{position:absolute;top:0;left:0;right:0;height:4px;background:rgba(255,255,255,.5);animation:shadeBar 8s ease-in-out infinite}@keyframes shadeBar{0%{top:0}30%{top:50%}60%{top:20%}100%{top:0}}.page-hero .container{position:relative;z-index:2}.page-hero h1{font-family:var(--serif);font-size:clamp(2rem,4vw,3.5rem);font-weight:400;margin-bottom:16px}.page-hero p{color:var(--light);font-size:1.1rem;max-width:600px;font-weight:300;line-height:1.7}.page-split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}.page-split img{width:100%;aspect-ratio:16/10;object-fit:cover;border:1px solid var(--border)}.page-features{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:48px}.page-feat{padding:28px;border:1px solid var(--border);background:var(--card)}.page-feat h4{font-size:.9rem;margin-bottom:8px;font-weight:600}.page-feat p{font-size:.82rem;color:var(--muted);line-height:1.6}.brands-row{display:flex;gap:40px;align-items:center;flex-wrap:wrap;padding:40px 0;border-top:1px solid var(--border);margin-top:48px}.brands-row span{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);padding:8px 16px;border:1px solid var(--border)}.badge-bar{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:56px 16px;padding:48px 24px;max-width:1200px;margin:0 auto}.badge-bar .bb-item{flex:0 0 170px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;opacity:.4;transition:opacity .3s}.badge-bar .bb-item:hover{opacity:1}.badge-bar .bb-img{height:34px;width:auto;max-width:140px;object-fit:contain;filter:brightness(0) invert(1)}.badge-bar .bb-img.no-invert{filter:none}.badge-bar .bb-label{font-size:.5rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);text-align:center;white-space:nowrap}.badge-bar .bb-svg{height:24px;width:auto;max-width:140px;fill:var(--white)}.prod-img-placeholder{background:var(--card);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;padding:16px;flex-direction:column;gap:8px;min-height:120px}.prod-img-placeholder svg{opacity:.3}.prod-img-placeholder span{font-size:.65rem;color:var(--subtle);text-transform:uppercase;letter-spacing:.08em}.van-banner{aspect-ratio:21/5;background:var(--card);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;margin:48px 0;flex-direction:column;gap:8px}.van-banner svg{opacity:.3}.van-banner span{font-size:.7rem;color:var(--subtle);text-transform:uppercase;letter-spacing:.08em}.diff-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px;margin-top:48px}.diff{text-align:center}.diff h3{font-family:var(--serif);font-size:1.3rem;margin-bottom:10px}.diff p{font-size:.88rem;color:var(--muted);line-height:1.7}.diff-line{width:36px;height:2px;background:var(--green);margin:0 auto 16px}.test-card{background:var(--card);border:1px solid var(--border);padding:48px;max-width:800px;margin:0 auto;text-align:center}.test-q{font-family:var(--serif);font-size:1.3rem;font-weight:400;line-height:1.7;font-style:italic;color:var(--light);margin-bottom:20px}.test-q::before{content:'\201C';font-size:3.5rem;color:var(--green);display:block;line-height:.5;margin-bottom:14px}.test-a{font-size:.82rem;font-weight:600}.test-r{font-size:.72rem;color:var(--muted)}.testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}@media(max-width:1024px){.testimonials-grid{grid-template-columns:1fr;gap:20px;max-width:720px;margin:0 auto}.testimonials-grid .test-card{padding:36px 32px}.testimonials-grid .test-q{font-size:1.15rem}}.cta{background:linear-gradient(135deg,var(--dark) 0%,#0c0c0c 50%,#111 100%);text-align:center;padding:100px 24px;position:relative;overflow:hidden}.cta::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 600px 300px at center,rgba(255,255,255,.015),transparent 70%);pointer-events:none}.cta::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 85% 85% at 50% 50%,rgba(59,181,75,.16) 0%,transparent 65%);pointer-events:none;opacity:0;transition:opacity .55s ease}.cta:hover::after{opacity:1}main>.cta:last-child{padding-bottom:160px}@media(max-width:768px){main>.cta:last-child{padding-bottom:96px}}.cta h2{font-family:var(--serif);font-size:clamp(2rem,4vw,3.2rem);font-weight:400;margin-bottom:14px;position:relative}.cta-tagline{font-family:var(--serif);font-size:clamp(2rem,4vw,3.2rem);font-weight:400;margin-bottom:14px;position:relative}.cta>p{color:var(--muted);font-size:1rem;margin-bottom:36px;max-width:480px;margin-left:auto;margin-right:auto;position:relative}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}.form{display:flex;flex-direction:column;gap:18px}.fg{display:flex;flex-direction:column;gap:5px}.fg label{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:500}.fg input,.fg select,.fg textarea{background:var(--card);border:1px solid var(--border);color:var(--white);padding:13px 14px;font-family:var(--sans);font-size:.88rem;transition:border-color .3s}.fg input:focus,.fg select:focus,.fg textarea:focus{outline:none;border-color:var(--green)}.fg textarea{resize:vertical;min-height:110px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.ci h3{font-family:var(--serif);font-size:1.4rem;margin-bottom:16px}.contact-section-title{font-family:var(--serif);font-size:1.4rem;margin-bottom:16px}.ci>p{color:var(--muted);line-height:1.7;margin-bottom:28px}.cd{display:flex;gap:14px;align-items:flex-start;margin-bottom:20px}.cd-icon{width:38px;height:38px;background:var(--green-dim);display:flex;align-items:center;justify-content:center;flex-shrink:0}.cd-icon svg{width:17px;height:17px;stroke:var(--green);fill:none;stroke-width:1.5}.cd h4{font-size:.82rem;font-weight:600;margin-bottom:2px}.cd p{font-size:.82rem;color:var(--muted);margin:0}.svc-area{margin-top:32px;padding:22px 28px;border:1px solid var(--border);border-left:3px solid var(--gold);background:var(--dark)}.svc-area-hdr{display:flex;align-items:center;gap:8px;margin-bottom:14px}.svc-area-hdr svg{width:13px;height:13px;stroke:var(--gold);flex-shrink:0}.svc-area-hdr span{font-size:.63rem;font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:var(--gold)}.svc-chips{display:flex;flex-wrap:wrap;gap:6px}.svc-chip{font-size:.72rem;color:var(--light);background:var(--dark2);border:1px solid var(--border2);padding:4px 12px;border-radius:99px;white-space:nowrap}footer{background:var(--black);border-top:1px solid var(--border);padding:80px 0 48px}.ft-grid{display:grid;grid-template-columns:1.6fr 1fr 1.3fr 1fr;gap:72px;margin-bottom:64px}.ft-brand p{color:var(--subtle);font-size:.8rem;line-height:1.75;margin-top:14px;max-width:260px;font-weight:300}.ft-col h4{font-size:.7rem;text-transform:uppercase;letter-spacing:.14em;color:var(--green);margin-bottom:14px;font-weight:600}.ft-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.16em;color:var(--green);margin-bottom:20px;font-weight:700;padding-left:12px;border-left:2px solid var(--green)}.ft-label--elec{color:var(--gold);border-left-color:var(--gold)}.ft-label--white{color:var(--white);border-left-color:var(--border2)}.ft-col a{display:block;font-size:.82rem;color:var(--subtle);margin-bottom:11px;transition:color .3s;letter-spacing:.01em}.ft-col a:hover{color:var(--green)}.ft-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:32px;border-top:1px solid var(--border)}.ft-bottom p{font-size:.72rem;color:var(--muted)}.ft-badge{font-size:.6rem;text-transform:uppercase;letter-spacing:.08em;color:var(--green);padding:5px 10px;border:1px solid rgba(59,181,75,.25)}.blog-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.blog-card{background:var(--card);border:1px solid var(--border);overflow:hidden;transition:all .4s;cursor:pointer}.blog-card:hover{border-color:rgba(59,181,75,.3);transform:translateY(-3px);box-shadow:var(--shadow-md)}.blog-card-img{aspect-ratio:16/9;background-size:cover;background-position:center;position:relative}.blog-card-img::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(5,5,5,.6),transparent 50%)}.blog-card-body{padding:28px}.blog-card-meta{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:var(--green);margin-bottom:10px;font-weight:600}.blog-card h3{font-size:1.1rem;font-weight:600;margin-bottom:8px;line-height:1.4}.blog-card p{font-size:.85rem;color:var(--muted);line-height:1.65}.blog-card-link{display:inline-block;margin-top:14px;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--green);font-weight:600}.blog-post{max-width:800px;margin:0 auto}.blog-post h2{font-family:var(--serif);font-size:1.6rem;margin:40px 0 16px;font-weight:400}.blog-post h3{font-size:1.1rem;margin:32px 0 12px;font-weight:600;color:var(--white)}.blog-post p{color:var(--light);font-size:.95rem;line-height:1.85;margin-bottom:16px;font-weight:300}.blog-post ul{margin:12px 0 20px 24px;color:var(--light);font-size:.9rem;line-height:1.8}.blog-post ul li{margin-bottom:6px}.blog-post .blog-cta{background:var(--green-dim);border:1px solid rgba(59,181,75,.2);padding:28px;margin:40px 0;text-align:center}.blog-post .blog-cta h4{font-family:var(--serif);font-size:1.2rem;margin-bottom:8px}.blog-post .blog-cta p{color:var(--muted);font-size:.88rem;margin-bottom:16px}.blog-back{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--green);font-weight:600;margin-bottom:24px;cursor:pointer}.video-embed{position:relative;width:100%;padding-bottom:56.25%;background:var(--card);border:1px solid var(--border);overflow:hidden}.video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:none}.video-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--card);cursor:pointer;transition:all .3s}.video-placeholder:hover{background:var(--dark3)}.video-placeholder .play-btn{width:72px;height:72px;background:rgba(59,181,75,.9);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:16px;transition:transform .3s}.video-placeholder:hover .play-btn{transform:scale(1.1)}.video-placeholder .play-btn::after{content:'';border-style:solid;border-width:12px 0 12px 22px;border-color:transparent transparent transparent #fff;margin-left:4px}.video-placeholder p{color:var(--muted);font-size:.82rem;text-transform:uppercase;letter-spacing:.1em}.timeline{position:relative;max-width:900px;margin:48px auto 0}.timeline::before{content:'';position:absolute;left:50%;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,var(--green),var(--green-dim));transform:translateX(-50%)}.tl-item{display:flex;align-items:flex-start;margin-bottom:48px;position:relative}.tl-item:nth-child(odd){flex-direction:row;padding-right:calc(50%+40px)}.tl-item:nth-child(even){flex-direction:row-reverse;padding-left:calc(50%+40px)}.tl-dot{position:absolute;left:50%;transform:translateX(-50%);width:16px;height:16px;background:var(--green);border:3px solid var(--dark);border-radius:50%;z-index:2}.tl-content{background:var(--card);border:1px solid var(--border);padding:24px;width:100%;transition:all .3s}.tl-content:hover{border-color:rgba(59,181,75,.3);box-shadow:0 0 20px rgba(59,181,75,.05)}.tl-content h4{font-size:.95rem;font-weight:600;margin-bottom:6px}.tl-content p{font-size:.82rem;color:var(--muted);line-height:1.6;margin:0}.tl-num{font-family:var(--serif);font-size:1.4rem;color:var(--green);font-weight:300;margin-bottom:4px}@media(max-width:768px){.timeline::before{left:20px}.tl-item,.tl-item:nth-child(odd),.tl-item:nth-child(even){flex-direction:row;padding:0 0 0 52px}.tl-dot{left:20px}}.video-hero{position:relative;padding:100px 0;background:var(--dark);overflow:hidden}.video-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 800px 400px at 50% 50%,rgba(255,255,255,.015),transparent)}.vh-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.vh-video{position:relative;border:1px solid var(--border);aspect-ratio:16/9;overflow:hidden;background:var(--card)}.vh-video img{width:100%;height:100%;object-fit:cover;opacity:.6;transition:opacity .3s}.vh-video:hover img{opacity:.8}.vh-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.vh-play-btn{width:80px;height:80px;background:rgba(59,181,75,.9);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .3s;cursor:pointer}.vh-play-btn:hover{background:var(--green);transform:scale(1.1);box-shadow:0 0 30px rgba(59,181,75,.3)}.vh-play-btn::after{content:'';border-style:solid;border-width:14px 0 14px 24px;border-color:transparent transparent transparent #fff;margin-left:4px}@media(max-width:768px){.vh-grid{grid-template-columns:1fr}}.stat-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:var(--dark);border:1px solid var(--border)}.stat-item{padding:36px 20px;text-align:center;background:var(--card);transition:all .3s}.stat-item:hover{background:var(--dark3)}.stat-num{font-family:var(--serif);font-size:clamp(2rem,3vw,2.8rem);color:var(--green);font-weight:300;line-height:1;margin-bottom:8px}.stat-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:500}@media(max-width:768px){.stat-bar{grid-template-columns:1fr 1fr}}.consult-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:40px}.consult-step{text-align:center;padding:28px 20px;background:var(--card);border:1px solid var(--border);transition:all .3s}.consult-step:hover{border-color:rgba(59,181,75,.3)}.consult-step-num{font-family:var(--serif);font-size:2rem;color:var(--green);margin-bottom:8px;font-weight:300}.consult-step h4{font-size:.88rem;margin-bottom:6px;font-weight:600}.consult-step p{font-size:.78rem;color:var(--muted);line-height:1.5}.quote-types{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:32px 0}.quote-type{background:var(--card);border:1px solid var(--border);padding:24px;cursor:pointer;transition:all .3s;text-align:center}.quote-type:hover,.quote-type.active{border-color:var(--green);background:var(--green-dim)}.quote-type h4{font-size:.9rem;margin-bottom:6px;font-weight:600}.quote-type p{font-size:.75rem;color:var(--muted);line-height:1.5}.fp-showcase{position:relative;overflow:hidden;border:1px solid var(--border);aspect-ratio:21/9;cursor:pointer}.fp-showcase .proj-bg{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .8s cubic-bezier(.16,1,.3,1)}.fp-showcase:hover .proj-bg{transform:scale(1.03)}.fp-showcase .fp-ov{position:absolute;inset:0;background:linear-gradient(100deg,rgba(8,8,8,.97) 0%,rgba(8,8,8,.88) 45%,rgba(8,8,8,.62) 75%,rgba(8,8,8,.4) 100%);display:flex;align-items:center;padding:60px}.fp-showcase .fp-content{max-width:520px}.fp-showcase .fp-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.16em;color:var(--green);font-weight:600;margin-bottom:12px;display:flex;align-items:center;gap:8px}.fp-showcase .fp-label::before{content:'';width:24px;height:1px;background:var(--green)}.fp-showcase h3{font-family:var(--serif);font-size:clamp(1.6rem,3vw,2.4rem);font-weight:400;line-height:1.15;margin-bottom:14px}.fp-showcase p{color:var(--light);font-size:.92rem;line-height:1.7;font-weight:300;margin-bottom:20px}.fp-showcase .fp-tags{display:flex;gap:6px;flex-wrap:wrap}.fp-showcase .fp-tags span{font-size:.58rem;text-transform:uppercase;letter-spacing:.08em;padding:4px 10px;border:1px solid rgba(59,181,75,.3);color:var(--green)}@media(max-width:768px){.fp-showcase{aspect-ratio:4/3}.fp-showcase .fp-ov{padding:28px;align-items:flex-end;background:linear-gradient(to top,rgba(8,8,8,.98) 0%,rgba(8,8,8,.85) 50%,rgba(8,8,8,.5) 100%)}}.shade-banner{position:relative;overflow:hidden;border:1px solid var(--border);background:var(--card)}.shade-banner-inner{display:grid;grid-template-columns:1fr 1fr;gap:0;min-height:280px}.shade-banner-img{background-size:cover;background-position:center;position:relative}.shade-banner-img::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 60%,var(--card) 100%)}.shade-banner-text{padding:48px;display:flex;flex-direction:column;justify-content:center}.shade-banner-text h3{font-family:var(--serif);font-size:clamp(1.3rem,2.5vw,1.8rem);margin-bottom:12px;font-weight:400}.banner-title{font-family:var(--serif);font-size:clamp(1.3rem,2.5vw,1.8rem);margin-bottom:12px;font-weight:400}.shade-banner-text p{color:var(--light);font-size:.9rem;line-height:1.7;font-weight:300;margin-bottom:20px}@media(max-width:768px){.shade-banner-inner{grid-template-columns:1fr}.shade-banner-img{min-height:200px}.shade-banner-img::after{background:linear-gradient(to top,var(--card) 0%,transparent 60%)}}.wizard{max-width:720px;margin:0 auto}.wizard-progress{display:flex;gap:2px;margin-bottom:36px}.wizard-progress .wp-step{flex:1;text-align:center;padding:12px 8px;background:var(--dark3);border:1px solid var(--border);transition:all .3s;position:relative}.wizard-progress .wp-step.active{border-color:var(--green);background:var(--green-dim)}.wizard-progress .wp-step.done{border-color:rgba(59,181,75,.4);background:rgba(59,181,75,.08)}.wizard-progress .wp-step .wp-num{font-family:var(--serif);font-size:1.2rem;color:var(--muted);line-height:1;margin-bottom:4px;transition:color .3s}.wizard-progress .wp-step.active .wp-num,.wizard-progress .wp-step.done .wp-num{color:var(--green)}.wizard-progress .wp-step .wp-label{font-size:.62rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);transition:color .3s}.wizard-progress .wp-step.active .wp-label{color:var(--white)}.wiz-panel{display:none;animation:fadeUp .4s ease}.wiz-panel.active{display:block}@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.wiz-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-bottom:24px}.wiz-card{background:var(--dark3);border:2px solid var(--border);padding:20px;cursor:pointer;transition:all .3s;text-align:center;border-radius:6px}.wiz-card:hover{border-color:rgba(59,181,75,.5)}.wiz-card.selected{border-color:var(--green);background:var(--green-dim);box-shadow:0 0 0 1px var(--green)}.wiz-card .wiz-icon{font-size:1.8rem;margin-bottom:6px}.wiz-card h4{font-size:.9rem;margin-bottom:4px;font-weight:600}.wiz-card p{font-size:.72rem;color:var(--muted);line-height:1.4}.wiz-checks{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.wiz-check{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--dark3);border:1px solid var(--border);cursor:pointer;transition:all .2s;border-radius:4px}.wiz-check:hover{border-color:rgba(59,181,75,.4)}.wiz-check.checked{border-color:var(--green);background:var(--green-dim)}.wiz-check .wiz-checkbox{width:16px;height:16px;border:1.5px solid var(--border2);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s;border-radius:3px}.wiz-check.checked .wiz-checkbox{border-color:var(--green);background:var(--green)}.wiz-check.checked .wiz-checkbox::after{content:'\2713';color:#fff;font-size:.65rem;font-weight:700}.wiz-check span{font-size:.82rem;color:var(--light)}.wiz-nav{display:flex;gap:12px;justify-content:flex-end;margin-top:28px}@media(max-width:768px){.wizard-progress .wp-label{display:none}.wiz-checks{grid-template-columns:1fr}}.we-hdr-title{font-size:.9rem;font-weight:600}@media(max-width:1024px){.srv-grid{grid-template-columns:repeat(2,1fr)}.stack,.stack[style]{grid-template-columns:repeat(3,1fr)!important}.diff-grid,.page-features{grid-template-columns:1fr 1fr}.about-grid,.page-split{grid-template-columns:1fr}.ft-grid{grid-template-columns:1fr 1fr}.blog-grid[style*="1fr 1fr 1fr 1fr"]{grid-template-columns:1fr 1fr!important}}@media(max-width:768px){.section{padding:80px 0}.nav-links{display:none}.hero h1{font-size:2.2rem}.hero-stats{flex-direction:column;gap:20px}.srv-grid,.proj-grid,.diff-grid,.page-features,.blog-grid,.consult-steps,.quote-types{grid-template-columns:1fr}.proj.feat{grid-column:span 1;aspect-ratio:16/10}.stack{grid-template-columns:repeat(2,1fr)}.contact-grid{grid-template-columns:1fr}.form-row{grid-template-columns:1fr}.hero-actions{flex-direction:column}.btn-g,.btn-o{text-align:center;justify-content:center}.feat-grid{grid-template-columns:1fr}.ft-grid{grid-template-columns:1fr}.ft-bottom{flex-direction:column;gap:12px;text-align:center}.creds-inner{gap:12px}.cred-badge{min-width:70px;padding:8px 4px}.cred-logo svg{height:20px}.about-visual{max-height:300px}}.nav-links.show{display:flex!important;position:fixed;top:56px;left:0;right:0;bottom:0;background:rgba(10,10,10,.98);flex-direction:column;align-items:center;justify-content:center;gap:20px;z-index:999}.nav-links.show>a,.nav-links.show .nav-dd>span{font-size:1.05rem}@media(max-width:768px){.nav-dd-menu{position:static;transform:none;opacity:1;visibility:visible;background:transparent;border:none;min-width:0;padding:4px 0 0;backdrop-filter:none;display:none}.nav-dd.open .nav-dd-menu{display:block}.nav-dd-menu a{padding:6px 0;text-align:center;font-size:.95rem}.nav-dd-menu a:hover{padding-left:0}}.nav-mob{display:none;background:none;border:none;cursor:pointer;padding:10px;z-index:1001;flex-direction:column;gap:5px;width:36px}.nav-mob span{display:block;width:24px;height:2px;background:var(--white);transition:all .3s}.nav-mob.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.nav-mob.active span:nth-child(2){opacity:0}.nav-mob.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}@media(max-width:768px){.nav-mob{display:flex}.nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--dark);flex-direction:column;padding:20px;gap:0;border-top:1px solid var(--border)}.nav-links.mob-open{display:flex}.nav-links a,.nav-links .nav-dd{padding:14px 0;text-align:center;font-size:1rem}.nav-links .btn-g{margin:12px auto 0;width:fit-content}.nav-dd-menu{position:static;transform:none;opacity:1;visibility:visible;background:transparent;border:none;min-width:0;padding:4px 0 0;backdrop-filter:none;display:none}.nav-dd.open .nav-dd-menu{display:block}.nav-dd-menu a{padding:8px 0;text-align:center;font-size:.95rem}}.text-overlay-dark{background:rgba(0,0,0,0.55);padding:16px;border-radius:4px}[style*="background-image"]>*,.proj-ov,.card-ov{text-shadow:0 1px 3px rgba(0,0,0,0.5)}.section-breadcrumb{background:transparent;color:var(--muted)}.section-breadcrumb-inner{padding:13px 0;border-top:1px solid var(--green-dim);border-bottom:1px solid var(--green-dim);font-size:.78rem;letter-spacing:.04em}.section-breadcrumb .bc-sep{display:inline-block;color:var(--subtle);margin:0 10px;opacity:.7;font-weight:300;transform:translateY(-1px)}.section-breadcrumb [aria-current="page"]{color:var(--white);font-weight:500}.elec-page .section-breadcrumb-inner{border-top-color:var(--gold-dim);border-bottom-color:var(--gold-dim)}.section-breadcrumb a{color:var(--green);text-decoration:none;transition:color 0.3s}.section-breadcrumb a:hover{color:#fff}.page-hero+.section-breadcrumb .section-breadcrumb-inner{border-top:none}@media(max-width:480px){.section-breadcrumb-inner{padding:10px 0;font-size:.72rem}.section-breadcrumb .bc-sep{margin:0 7px}}.page-feat{text-decoration:none;color:inherit;display:block;cursor:pointer;transition:all 0.3s}div.page-feat{cursor:default}.page-feat:hover{color:inherit}body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.nav.scrolled{padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right))}footer{padding-bottom:max(24px,env(safe-area-inset-bottom))}.cta{padding-bottom:max(100px,calc(100px+env(safe-area-inset-bottom)))}.btn-g,.btn-o{min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center}.nav-links a,.nav-dd>span{min-height:44px;min-width:44px;display:flex;align-items:center;padding:12px 16px}.nav-mob{min-height:44px;min-width:44px;padding:10px}.fg input,.fg select,.fg textarea{min-height:44px;padding:12px 14px}.wiz-card{min-height:44px;min-width:44px;display:flex;flex-direction:column;align-items:center;justify-content:center}.wiz-check{min-height:44px;padding:12px 12px}.srv{min-height:44px}@media (max-width:768px){.reveal{transition-duration:0.4s}.shimmer::after{animation:none}html,body{overflow-x:hidden}*{-webkit-overflow-scrolling:touch}@media (hover:none){.srv:hover{transform:none;box-shadow:var(--shadow-sm)}.proj:hover .proj-bg{transform:none}.blog-card:hover{transform:none;box-shadow:var(--shadow-sm)}.wiz-card:hover{border-color:var(--border)}.cred-badge:hover{border-color:transparent}}}@media (max-width:480px){.container{padding:0 16px}.section{padding:64px 0}.hero-content{padding:0 16px;padding-top:80px}.hero h1{font-size:clamp(1.8rem,5vw,2.4rem);margin-bottom:16px}.hero-sub{font-size:0.95rem;margin-bottom:32px}.hero-badge{padding:6px 14px;margin-bottom:20px}.hero-badge span{font-size:0.6rem}.hero-actions{flex-direction:column;gap:10px}.btn-g,.btn-o{width:100%;padding:12px 16px}.hero-stats{flex-direction:column;gap:16px;padding-top:20px;margin-top:40px}.hero-stat{padding-bottom:16px;border-bottom:1px solid var(--border)}.hero-stat:last-child{border-bottom:none;padding-bottom:0}.hero-stat h3,.stat-value{font-size:1.6rem}.creds-inner{gap:8px}.cred-badge{min-width:60px;padding:6px 3px}.cred-logo svg{height:16px}.about-grid{gap:40px}.about-visual{max-height:250px}.about-vis-text .big{font-size:2.5rem}.srv-grid{grid-template-columns:1fr;gap:16px}.srv{padding:24px 20px}.stack{grid-template-columns:repeat(2,1fr);gap:1px}.proj-grid{grid-template-columns:1fr;gap:14px}.proj,.proj.feat{aspect-ratio:4/3;grid-column:span 1}.proj-ov{padding:16px}.proj h3{font-size:1rem}.page-hero{padding:60px 0 40px}.page-hero h1{font-size:clamp(1.6rem,4vw,2rem)}.page-features{grid-template-columns:1fr;gap:14px}.page-feat{padding:20px}.blog-grid{grid-template-columns:1fr;gap:16px}.blog-card-body{padding:20px}.blog-card h3{font-size:0.95rem}.blog-post h2{font-size:1.2rem;margin:28px 0 12px}.blog-post h3{font-size:1rem;margin:24px 0 10px}.blog-post p{font-size:0.9rem;line-height:1.7}.blog-post ul{margin:12px 0 16px 18px;font-size:0.85rem}.test-card{padding:32px 20px;margin:0 16px}.test-q{font-size:1.1rem}.test-q::before{font-size:2.5rem}.cta{padding:60px 16px}.cta h2,.cta-tagline{font-size:clamp(1.6rem,3vw,2rem)}.cta>p{font-size:0.9rem;margin-bottom:24px}.contact-grid{grid-template-columns:1fr;gap:40px}.contact-section-title{font-size:1.2rem}.form-row{grid-template-columns:1fr}.fg input,.fg select,.fg textarea{font-size:0.85rem}.cd{gap:12px;margin-bottom:16px}.cd-icon{width:44px;height:44px;flex-shrink:0}.cd h4,.cd p{font-size:0.8rem}footer{padding:40px 0 20px}.ft-grid{grid-template-columns:1fr;gap:24px}.ft-col h4,.ft-label{margin-bottom:10px}.ft-col a{margin-bottom:6px;font-size:0.8rem}.ft-bottom{margin-top:16px;padding-top:16px}.stat-bar{grid-template-columns:1fr;gap:1px}.stat-item{padding:24px 16px}.stat-num{font-size:clamp(1.6rem,2.5vw,2rem)}.consult-steps{grid-template-columns:1fr;gap:12px}.consult-step{padding:20px 16px}.consult-step-num{font-size:1.6rem}.quote-types{grid-template-columns:1fr;gap:10px}.diff-grid{grid-template-columns:1fr;gap:24px}.fp-showcase{aspect-ratio:3/4}.fp-showcase .fp-ov{padding:20px}.fp-showcase h3{font-size:clamp(1.2rem,2.5vw,1.5rem)}.fp-showcase p{font-size:0.85rem}.shade-banner-inner{grid-template-columns:1fr}.shade-banner-img{min-height:160px}.shade-banner-text{padding:32px 20px}.shade-banner-text h3,.banner-title{font-size:clamp(1.1rem,2.5vw,1.3rem)}.wizard{max-width:100%;padding:0 16px}.wizard-progress .wp-step{padding:10px 6px}.wizard-progress .wp-step .wp-num{font-size:1.4rem}.wiz-cards{grid-template-columns:1fr;gap:10px}.wiz-card{padding:16px 12px}.wiz-checks{grid-template-columns:1fr;gap:8px}.wiz-check{padding:12px 10px}.wiz-nav{flex-direction:column-reverse;gap:8px;margin-top:20px}.wiz-nav button{width:100%}.timeline{max-width:100%}.tl-content{padding:16px}.tl-num{font-size:1.2rem}.vh-grid{grid-template-columns:1fr;gap:32px}.vh-video{aspect-ratio:16/9}img[aspect-ratio],.proj-bg,.page-split img,.blog-card-img,.about-vis-img,.page-hero-img,.vh-video{object-position:center}.badge-bar{gap:40px 12px;padding:32px 12px}.badge-bar .bb-item{flex:0 0 130px}.badge-bar .bb-img{height:36px}.badge-bar .bb-svg{height:22px}.badge-bar .bb-label{font-size:0.48rem}.brands-row{gap:12px;padding:32px 16px;margin-top:32px}.brands-row span{font-size:0.65rem;padding:6px 12px}.page-split{grid-template-columns:1fr;gap:32px}.btn-g,.btn-o{word-break:break-word}main[role="main"]{padding-top:0}.cred-logo{height:18px}.cred-logo img{height:24px}.cred-sub{font-size:0.48rem}}@media (max-width:768px){.nav-links.mob-open a,.nav-links.mob-open .nav-dd{padding:16px 0;border-bottom:1px solid var(--border);min-height:44px;display:flex;align-items:center;justify-content:center}.nav-links.mob-open a:last-child,.nav-links.mob-open .nav-dd:last-child{border-bottom:none}.nav-dd-menu a{padding:12px 0;font-size:0.9rem;color:var(--muted);border-left:3px solid transparent}.nav-dd-menu a:hover{border-left-color:var(--green);color:var(--green);padding-left:0}.nav-dd.open .nav-dd-menu{padding:8px 0;margin-top:8px;border-top:1px solid var(--border)}}@media (max-width:768px){body{line-height:1.7}.h2{margin-bottom:20px}.label{margin-bottom:12px}p{line-height:1.7}.blog-post,.page:not(.home){padding:0 16px}}@media (max-width:480px){.shade-hero-animated{display:none}.shade-hero-overlay{display:none}.proj-ov{background:linear-gradient(to top,rgba(5,5,5,0.98) 0%,rgba(5,5,5,0.88) 40%,rgba(5,5,5,0.4) 100%)}.about-vis-img::after{background:linear-gradient(to top,rgba(10,10,10,0.9) 0%,transparent 50%)}}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}.reveal{opacity:1;transform:none}}a,button,input,select,textarea,[role="button"]{-webkit-tap-highlight-color:rgba(81,183,72,0.15)}:focus-visible{outline:2px solid var(--green);outline-offset:2px}:focus:not(:focus-visible){outline:none}/* ─── Get a Quote two-column layout ─── */.gaq-section{padding:140px 0 100px;background:var(--black)}.gaq-grid{display:grid;grid-template-columns:45fr 55fr;gap:56px;align-items:start}.gaq-left{position:sticky;top:108px}.gaq-h1{font-family:var(--serif);font-size:clamp(2rem,3.5vw,3rem);font-weight:400;line-height:1.15;margin:0 0 16px}.gaq-sub{color:var(--light);font-size:.92rem;line-height:1.8;font-weight:300;margin-bottom:36px;max-width:400px}.gaq-contacts{display:flex;flex-direction:column;gap:2px;margin-bottom:28px}.gaq-contact-card{display:flex;align-items:center;gap:16px;background:var(--dark);border:1px solid var(--border);padding:16px 20px;text-decoration:none;color:inherit;transition:border-color .25s}.gaq-contact-card:hover{border-color:rgba(59,181,75,.3)}.gaq-contact-icon{width:36px;height:36px;background:var(--green-dim);display:flex;align-items:center;justify-content:center;flex-shrink:0}.gaq-contact-label{font-size:.6rem;text-transform:uppercase;letter-spacing:.15em;color:var(--muted);margin-bottom:2px}.gaq-contact-value{font-size:.85rem;color:var(--white)}.gaq-contact-sub{font-size:.72rem;color:var(--muted);font-weight:300;line-height:1.45;margin-top:4px}.gaq-contact-card--featured{border-color:rgba(59,181,75,.18);background:rgba(59,181,75,.04)}.gaq-contact-card--featured:hover{border-color:rgba(59,181,75,.45)}.gaq-trust{display:flex;flex-direction:column;gap:10px}.gaq-trust-item{display:flex;align-items:center;gap:10px;font-size:.78rem;color:var(--muted)}.gaq-trust-item svg{flex-shrink:0}.gaq-form-wrap{background:var(--card);border:1px solid var(--border);padding:32px 28px}.gaq-form-wrap .wizard{max-width:none;margin:0}.gaq-form-wrap .wizard-progress{margin-bottom:20px}.gaq-form-wrap .wp-step{padding:8px 4px}.gaq-form-wrap .wp-step .wp-num{font-size:1rem}.gaq-form-wrap .h2{font-size:1.25rem;text-align:center;margin-bottom:4px}.gaq-form-wrap .wiz-step-sub{text-align:center;color:var(--muted);font-size:.82rem;margin-bottom:16px}.gaq-form-wrap .wiz-cards{grid-template-columns:repeat(3,1fr);gap:5px;margin-bottom:12px}.gaq-form-wrap .wiz-card{flex-direction:row;text-align:left;align-items:center;justify-content:flex-start;gap:8px;padding:9px 10px}.gaq-form-wrap .wiz-card h4{font-size:.74rem;margin:0;line-height:1.3}.gaq-form-wrap .wiz-card p{display:none}.gaq-form-wrap .wiz-icon{margin:0;flex-shrink:0}.gaq-form-wrap .wiz-icon svg{width:18px;height:18px}.gaq-form-wrap .wiz-nav{margin-top:14px}.gaq-form-wrap .wiz-checks{gap:6px;margin-top:8px}.gaq-form-wrap .wiz-check{min-height:34px;padding:7px 10px}.gaq-form-wrap .fg{margin-bottom:10px}.gaq-form-wrap .fg label{font-size:.65rem}.gaq-form-wrap .fg input,.gaq-form-wrap .fg select,.gaq-form-wrap .fg textarea{min-height:38px;padding:9px 12px;font-size:.82rem}.gaq-form-wrap .form-row{margin-bottom:10px}.gaq-form-wrap #wizReview{margin-bottom:16px}@media(max-width:960px){.gaq-grid{grid-template-columns:1fr;gap:48px}.gaq-left{position:static}.gaq-sub{max-width:none}}@media(max-width:600px){.gaq-form-wrap{padding:24px 18px}.gaq-form-wrap .wiz-cards{grid-template-columns:1fr 1fr}.gaq-form-wrap .wiz-card h4{font-size:.7rem}}
.panel--electrical .btn-o:hover{border-color:var(--gold);color:var(--gold)}
/* ─── Mega menu grouped columns ─── */.wh__mega-grid--grouped{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;list-style:none;padding:0;margin:0}.wh__mega-group{display:flex;flex-direction:column}.wh__mega-group ul{list-style:none;display:flex;flex-direction:column;gap:2px;padding:0;margin:0}.wh__mega-group-label{display:block;font-size:.53rem;text-transform:uppercase;letter-spacing:.16em;color:var(--muted);font-weight:600;padding-bottom:6px;margin-bottom:6px}
/* ─── Footer category labels ─── */.ft-cat-label{display:block;font-size:.5rem;text-transform:uppercase;letter-spacing:.13em;color:var(--subtle);font-weight:600;margin-top:14px;margin-bottom:5px;padding-bottom:4px;border-bottom:1px solid var(--border)}.ft-col-links .ft-cat-label:first-child{margin-top:2px}
/* ─── Mobile drawer category labels ─── */.wh__mobile-cat-label{font-size:.5rem;text-transform:uppercase;letter-spacing:.13em;color:var(--subtle);font-weight:600;padding:12px 16px 5px;border-bottom:1px solid var(--border);display:block}
/* ─── FAQ accordion ─── */.faq-list{display:flex;flex-direction:column;gap:2px;max-width:760px;margin:0 auto}.faq-item{border:1px solid var(--border);background:var(--card)}.faq-item summary{padding:16px 20px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;font-size:.88rem;font-weight:600;color:var(--white);gap:16px;user-select:none;transition:color .2s}.faq-item summary::-webkit-details-marker{display:none}.faq-item[open] summary{color:var(--green)}.faq-item summary::after{content:'+';font-size:1.2rem;font-weight:300;color:var(--green);flex-shrink:0;line-height:1}.faq-item[open] summary::after{content:'−'}.faq-item .faq-body{padding:0 20px 16px;font-size:.83rem;font-weight:300;color:var(--muted);line-height:1.7}.faq-item .faq-body a{color:var(--green)}.page-feat-icon{width:40px;height:40px;background:var(--green-dim);display:flex;align-items:center;justify-content:center;margin-bottom:16px;flex-shrink:0}.page-feat-icon svg{width:20px;height:20px;stroke:var(--green);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
/* ─── Electrical Quote page — gold accent overrides ─── */.elec-quote .label{color:var(--gold)}.elec-quote .green{color:var(--gold)}.elec-quote .btn-g{background:var(--gold);color:var(--black)}.elec-quote .btn-g:hover{background:var(--gold-light);box-shadow:0 4px 20px rgba(201,168,76,.25)}.elec-quote .wizard-progress .wp-step.active{border-color:var(--gold);background:var(--gold-dim)}.elec-quote .wizard-progress .wp-step.done{border-color:rgba(201,168,76,.4);background:rgba(201,168,76,.08)}.elec-quote .wizard-progress .wp-step.active .wp-num,.elec-quote .wizard-progress .wp-step.done .wp-num{color:var(--gold)}.elec-quote .wiz-card:hover{border-color:rgba(201,168,76,.5)}.elec-quote .wiz-card.selected{border-color:var(--gold);background:var(--gold-dim);box-shadow:0 0 0 1px var(--gold)}.elec-quote .wiz-check.checked{border-color:var(--gold);background:var(--gold-dim)}.elec-quote .wiz-check.checked .wiz-checkbox{border-color:var(--gold);background:var(--gold)}.elec-quote .fg input:focus,.elec-quote .fg select:focus,.elec-quote .fg textarea:focus{border-color:var(--gold)}.elec-quote .gaq-contact-card:hover{border-color:rgba(201,168,76,.3)}.elec-quote .gaq-contact-card--featured{border-color:rgba(201,168,76,.18);background:rgba(201,168,76,.04)}.elec-quote .gaq-contact-card--featured:hover{border-color:rgba(201,168,76,.45)}.elec-quote .pulse-green{animation:pulseGold 2s ease-in-out infinite}@keyframes pulseGold{0%,100%{box-shadow:0 0 0 0 rgba(201,168,76,.3)}50%{box-shadow:0 0 0 12px rgba(201,168,76,0)}}
/* ─── Gold CTA button variant ─── */.btn-g--elec{background:var(--gold);color:var(--black)}.btn-g--elec:hover{background:var(--gold-light);box-shadow:0 4px 20px rgba(201,168,76,.25)}.btn-g--elec::after{background:linear-gradient(90deg,transparent,rgba(0,0,0,.08),transparent)}
/* ─── Header CTA dropdown ─── */.wh__cta-dd{position:relative}.wh__cta-chevron{flex-shrink:0;transition:transform .22s ease}.wh__cta-dd.open .wh__cta-chevron{transform:rotate(180deg)}.wh__cta-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:248px;background:rgba(18,18,18,.98);backdrop-filter:blur(20px);border:1px solid var(--border2);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(6px);transition:opacity .2s,visibility .2s,transform .2s;z-index:1002}.wh__cta-dd.open .wh__cta-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.wh__cta-opt{display:flex;align-items:center;gap:12px;padding:14px 16px;text-decoration:none;color:inherit;transition:background .18s;border-bottom:1px solid var(--border)}.wh__cta-opt:last-child{border-bottom:none}.wh__cta-opt:hover,.wh__cta-opt:focus{background:var(--dark3);outline:none}.wh__cta-opt:focus-visible{outline:2px solid var(--green);outline-offset:-2px}.wh__cta-opt--elec:focus-visible{outline-color:var(--gold)}.wh__cta-opt-icon{width:34px;height:34px;border-radius:3px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.wh__cta-opt--elec .wh__cta-opt-icon{background:var(--gold-dim);color:var(--gold)}.wh__cta-opt--smart .wh__cta-opt-icon{background:var(--green-dim);color:var(--green)}.wh__cta-opt-icon svg{width:16px;height:16px;stroke:currentColor;fill:none}.wh__cta-opt-text{display:flex;flex-direction:column;gap:2px}.wh__cta-opt-title{font-size:.8rem;font-weight:600;color:var(--white);transition:color .18s}.wh__cta-opt--elec:hover .wh__cta-opt-title{color:var(--gold)}.wh__cta-opt--smart:hover .wh__cta-opt-title{color:var(--green)}.wh__cta-opt-desc{font-size:.67rem;color:var(--muted);line-height:1.4}
/* ─── Mobile CTA variants ─── */.wh__mobile-cta.wh__mobile-cta--elec{background:var(--gold);color:var(--black)}.wh__mobile-cta.wh__mobile-cta--elec:hover{background:var(--gold-light)}.wh__mobile-cta-pair{display:flex;flex-direction:column;gap:12px;margin-top:16px}.wh__mobile-cta-pair .wh__mobile-cta{margin-top:0}
/* ─── No-CTA header layout (quote pages) ─── */.wh__main--no-cta{grid-template-columns:1fr auto}.wh__main--no-cta .wh__nav{justify-self:end}
/* ─── Responsive forced breaks ─── */.hero-br{display:none}@media(min-width:600px){.hero-br{display:block}}
/* ─── Split Hero (new) ─── */
.hero-new{display:flex;flex-direction:column;background:var(--black)}
.hero-top{padding:160px 48px 16px;text-align:center;background:var(--black);position:relative;z-index:10;overflow:hidden}
.hero-top::before{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:600px;height:280px;background:radial-gradient(ellipse,rgba(59,181,75,.045) 0%,transparent 70%);pointer-events:none}
.hero-eyebrow{opacity:0;animation:fadeUp .65s ease .05s forwards}
.hero-h1{font-family:var(--serif);font-size:clamp(2.2rem,4.2vw,3.8rem);font-weight:400;line-height:1.12;letter-spacing:-.01em;max-width:800px;margin:0 auto 20px;position:relative;opacity:0;animation:fadeUp .65s ease .05s forwards}
.hero-new-sub{font-size:.92rem;font-weight:300;line-height:1.8;color:var(--muted);max-width:480px;margin:0 auto;position:relative;opacity:0;animation:fadeUp .65s ease .2s forwards}
.hero-location{font-size:.68rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--subtle);margin-top:20px;opacity:0;animation:fadeUp .65s ease .32s forwards}
.hero-rule{width:1px;height:38px;background:linear-gradient(to bottom,transparent,var(--border2),transparent);margin:32px auto 0;opacity:0;animation:fadeUp .65s ease .44s forwards}
.hero-split{display:flex;min-height:490px;position:relative;z-index:11}
.hero-split::before{content:'';position:absolute;top:-1px;left:0;right:0;height:50px;background:var(--black);clip-path:polygon(0 0,0 100%,50% 0,100% 100%,100% 0);z-index:5;pointer-events:none;filter:drop-shadow(0 2px 8px rgba(59,181,75,0.1))}
.hero-split::after{display:block;content:'';position:absolute;top:0;bottom:0;left:50%;width:1px;transform:translateX(-50%);background:var(--border);z-index:3;pointer-events:none}
.panel{flex:0 0 50%;position:relative;display:flex;flex-direction:column;justify-content:flex-end;padding:52px 52px 56px;overflow:hidden;cursor:default}
.panel--electrical{padding-left:max(52px,calc(50% - 616px))}
.panel--electrical h2{color:var(--gold)}
.panel--electrical .label{color:var(--gold)}
.panel--electrical .btn-g{background:var(--gold)}
.panel--electrical .btn-g:hover{background:var(--gold-light);box-shadow:0 4px 20px rgba(201,168,76,.25)}
.panel--electrical .panel-content{text-align:right}
.panel--electrical .panel-content>p:not(.label){margin-left:auto}
.panel--electrical .panel-ctas{justify-content:flex-end}
.panel--smarthome .panel-content>p:not(.label){max-width:420px}
.panel-bg{position:absolute;inset:0;transition:transform .65s cubic-bezier(.4,0,.2,1);will-change:transform}
.panel:hover .panel-bg{transform:scale(1.03)}
.panel--electrical .panel-bg{background-color:#141410;background-image:url('https://images.unsplash.com/photo-1621905251918-48416bd8575a?w=1200&q=80&auto=format&fit=crop');background-size:cover;background-position:center}
.panel--smarthome .panel-bg{background-color:#0d1018;background-image:url('../img/_shared/backgrounds/electrical-hero.webp');background-size:cover;background-position:center}
.panel-overlay{position:absolute;inset:0;pointer-events:none}
.panel--electrical .panel-overlay{background:linear-gradient(to top,rgba(17,15,10,.99) 0%,rgba(17,15,10,.92) 40%,rgba(17,15,10,.65) 68%,rgba(17,15,10,.25) 100%)}
.panel--smarthome .panel-overlay{background:linear-gradient(to top,rgba(10,12,20,.99) 0%,rgba(10,12,20,.93) 40%,rgba(10,12,20,.68) 68%,rgba(10,12,20,.28) 100%)}
.panel-accent{display:none}
.panel-content{position:relative;z-index:10;opacity:0;animation:fadeUp .65s ease .54s forwards}
.panel h2{font-family:var(--serif);font-size:clamp(1.55rem,2.3vw,2.3rem);font-weight:400;line-height:1.12;color:var(--white);margin-bottom:14px}
.panel-content>p:not(.label){font-size:.875rem;font-weight:300;line-height:1.78;color:var(--muted);max-width:330px;margin-bottom:28px;transition:color .25s}
.panel:hover .panel-content>p:not(.label){color:var(--light)}
.panel-ctas{display:flex;flex-wrap:wrap;gap:10px}
.trust-bar{display:flex;flex-wrap:wrap;gap:1px;background:var(--border);border-top:1px solid var(--border);opacity:0;animation:fadeUp .65s ease .72s forwards}
.trust-item{flex:1;min-width:140px;background:var(--dark);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:28px 16px;text-align:center;font-size:.65rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--subtle);transition:background .25s,color .25s;line-height:1.4}
.trust-item:hover{background:var(--dark3);color:var(--muted)}
.trust-item svg{width:20px;height:20px;stroke:var(--green);fill:none;flex-shrink:0;opacity:.8}
@media(max-width:860px){.hero-top{padding:136px 24px 44px}.hero-split{flex-direction:column}.hero-split::after{display:none}.panel{flex:1;padding:44px 28px 50px;min-height:360px}.panel--electrical{border-bottom:1px solid var(--border)}.panel-accent{transform:scaleX(1)}}
@media(max-width:480px){.trust-item{min-width:50%}}
@media(prefers-reduced-motion:reduce){.hero-eyebrow,.hero-h1,.hero-new-sub,.hero-location,.hero-rule,.panel-content,.trust-bar{animation:none;opacity:1}}
/* ─── What We Do Section ─── */
.wwd__columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.wwd__panel{background:var(--card);border:1px solid var(--border);display:flex;flex-direction:column}
.wwd__panel--elec{border-top:3px solid var(--gold);background:linear-gradient(to bottom,rgba(224,188,62,.05) 0%,var(--card) 100px)}
.wwd__panel--smart{border-top:3px solid var(--green);background:linear-gradient(to bottom,rgba(59,181,75,.05) 0%,var(--card) 100px)}
.wwd__panel-header{padding:32px;border-bottom:1px solid var(--border);display:flex;align-items:flex-start;gap:14px}
.wwd__icon{width:44px;height:44px;border-radius:2px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}
.wwd__panel--elec .wwd__icon{background:var(--gold-dim)}
.wwd__panel--elec .wwd__icon svg{stroke:var(--gold)}
.wwd__panel--smart .wwd__icon{background:var(--green-dim)}
.wwd__panel--smart .wwd__icon svg{stroke:var(--green)}
.wwd__icon svg{width:22px;height:22px;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.wwd__panel-title{font-family:var(--serif);font-size:1.35rem;font-weight:400;color:var(--white);line-height:1.2}
.wwd__panel-subtitle{font-size:.78rem;color:var(--muted);margin-top:2px;font-weight:300}
.wwd__services{flex:1;padding:8px 0}
.wwd__item{display:grid;grid-template-rows:auto 0fr;transition:grid-template-rows .32s cubic-bezier(.4,0,.2,1),background .2s;cursor:pointer;border-bottom:1px solid var(--border)}
.wwd__item:last-child{border-bottom:none}
.wwd__item.is-open{grid-template-rows:auto 1fr;background:var(--dark3)}
.wwd__item-trigger{display:flex;align-items:center;justify-content:space-between;padding:16px 32px;gap:12px;user-select:none}
.wwd__item-left{display:flex;align-items:center;gap:10px}
.wwd__item-dot{width:5px;height:5px;border-radius:50%;background:var(--border2);flex-shrink:0;transition:background .2s}
.wwd__item.is-open .wwd__item-dot,.wwd__item:hover .wwd__item-dot{background:var(--green)}
.wwd__panel--elec .wwd__item.is-open .wwd__item-dot,.wwd__panel--elec .wwd__item:hover .wwd__item-dot{background:var(--gold)}
.wwd__item-name{font-size:.88rem;font-weight:600;color:var(--white);transition:color .2s}
.wwd__panel--smart .wwd__item.is-open .wwd__item-name{color:var(--green)}
.wwd__panel--elec .wwd__item.is-open .wwd__item-name{color:var(--gold)}
.wwd__item-arrow{color:var(--subtle);font-size:.75rem;transition:transform .3s,color .2s;flex-shrink:0;line-height:1}
.wwd__item.is-open .wwd__item-arrow{transform:rotate(45deg);color:var(--muted)}
.wwd__item-detail{overflow:hidden}
.wwd__item-detail-inner{padding:0 32px 18px 47px;display:flex;flex-direction:column;gap:10px}
.wwd__item-desc{font-size:.82rem;color:var(--muted);line-height:1.65;font-weight:300}
.wwd__item-link{display:inline-flex;align-items:center;gap:5px;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;text-decoration:none;font-weight:600;transition:gap .2s}
.wwd__panel--elec .wwd__item-link{color:var(--gold)}
.wwd__panel--smart .wwd__item-link{color:var(--green)}
.wwd__item-link:hover{gap:9px}
.wwd__panel-footer{padding:24px 32px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:16px}
.wwd__stat{display:flex;flex-direction:column;gap:3px}
.wwd__stat-num{font-family:var(--serif);font-size:1.5rem;font-weight:400;line-height:1}
.wwd__panel--elec .wwd__stat-num{color:var(--gold)}
.wwd__panel--smart .wwd__stat-num{color:var(--green)}
.wwd__stat-label{font-size:.68rem;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}
.wwd__cta-group{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.wwd__panel--elec .btn-o:hover{border-color:var(--gold);color:var(--gold)}
@media(max-width:1100px){.wwd__panel-footer{flex-wrap:wrap}.wwd__cta-group{justify-content:flex-start}}
@media(max-width:900px){.wwd__columns{grid-template-columns:1fr}}
@media(max-width:600px){.wwd__panel-header,.wwd__item-trigger{padding-left:20px;padding-right:20px}.wwd__item-detail-inner{padding-left:35px;padding-right:20px}.wwd__panel-footer{padding:20px;flex-direction:column;align-items:flex-start}}
/* ─── Featured Project ─── */
.fp-showcase h2{font-family:var(--serif);font-size:clamp(1.6rem,3vw,2.6rem);font-weight:400;line-height:1.1;margin-bottom:6px}
.fp-showcase .fp-sub{font-size:.88rem;color:var(--green);font-weight:500;letter-spacing:.01em;margin-bottom:18px;line-height:1.4}
.fp-showcase .fp-body{font-size:.88rem;color:var(--light);font-weight:300;line-height:1.75;margin-bottom:18px}
.fp-showcase .fp-content{max-width:560px}
.fp-ctas{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.fp-showcase .btn-o{border-color:rgba(255,255,255,.22);color:var(--white)}
.fp-showcase .btn-o:hover{border-color:var(--green);color:var(--green)}
.fp-attribution{font-size:.6rem;text-transform:uppercase;letter-spacing:.13em;color:var(--subtle);margin-top:16px}
@media(max-width:768px){.fp-ctas{flex-direction:column}.fp-ctas .btn-g,.fp-ctas .btn-o{text-align:center;justify-content:center;width:100%}}
/* ─── Why Wadden ─── */
.why-intro{display:grid;grid-template-columns:1fr 280px;gap:80px;align-items:start;margin-bottom:64px;padding-bottom:64px;border-bottom:1px solid var(--border)}
.why-intro .h2{margin-top:10px;margin-bottom:0}
.why-intro-p{font-size:.92rem;font-weight:300;line-height:1.8;color:var(--light);margin-top:20px;max-width:560px}
.why-stat{background:var(--card);border:1px solid var(--border);border-top:3px solid var(--green);padding:40px 36px}
.why-stat-num{font-family:var(--serif);font-size:5rem;color:var(--green);line-height:1;font-weight:300;margin-bottom:8px}
.why-stat-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);line-height:1.5}
.why-stat-divider{height:1px;background:var(--border);margin:24px 0}
.why-stat-note{font-size:.8rem;font-weight:300;color:var(--light);line-height:1.65}
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px}
@media(max-width:1024px){.why-intro{grid-template-columns:1fr;gap:40px}.why-stat{display:flex;align-items:center;gap:32px;padding:28px}.why-stat-num{font-size:3.5rem;margin-bottom:0;flex-shrink:0}.why-stat-divider{display:none}.why-stat-note{margin-top:0}}
.why-card{background:var(--card);border:1px solid var(--border);padding:36px 32px;position:relative;overflow:hidden;transition:border-color .3s}
.why-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--green);transform:scaleX(0);transform-origin:left;transition:transform .42s cubic-bezier(.4,0,.2,1)}
.why-card:hover{border-color:rgba(59,181,75,.2)}
.why-card:hover::before{transform:scaleX(1)}
.why-icon{width:44px;height:44px;background:var(--green-dim);border-radius:2px;display:flex;align-items:center;justify-content:center;margin-bottom:24px;flex-shrink:0;transition:background .3s}
.why-card:hover .why-icon{background:var(--green-mid)}
.why-icon svg{width:22px;height:22px;stroke:var(--green);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.why-card h3{font-family:var(--serif);font-size:1.1rem;font-weight:400;color:var(--white);line-height:1.3;margin-bottom:14px}
.why-card p{font-size:.85rem;font-weight:300;color:var(--muted);line-height:1.72}
@media(max-width:1024px){.why-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:540px){.why-grid{grid-template-columns:1fr}.why-card{padding:28px 24px}}
/* ─── Nine Systems Diagram ─── */
.section-head{text-align:center;margin-bottom:72px}
.section-sub{font-size:.88rem;font-weight:300;color:var(--muted);max-width:460px;margin:14px auto 0;line-height:1.75}
.diagram-wrap{position:relative;width:100%}
#line-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}
#mob-canvas{display:none;position:absolute;top:0;left:0;pointer-events:none;z-index:0}
.diagram{position:relative;display:grid;grid-template-columns:1fr 200px 1fr;align-items:center;z-index:2;min-height:420px}
.hub-wrap{display:flex;align-items:center;justify-content:center;order:2}
.col-left{display:flex;flex-direction:column;gap:14px;align-items:flex-end;order:1}
.col-right{display:flex;flex-direction:column;gap:14px;align-items:flex-start;order:3}
.hub{width:160px;height:160px;border-radius:50%;background:radial-gradient(circle at 38% 38%,#1d2e1e,#111611);border:1.5px solid var(--green);box-shadow:0 0 40px rgba(59,181,75,.18),0 0 80px rgba(59,181,75,.07);display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;z-index:3;animation:hub-pulse 3.5s ease-in-out infinite;flex-shrink:0}
@keyframes hub-pulse{0%,100%{box-shadow:0 0 40px rgba(59,181,75,.18),0 0 80px rgba(59,181,75,.07)}50%{box-shadow:0 0 64px rgba(59,181,75,.32),0 0 120px rgba(59,181,75,.12)}}
.hub::before{content:'';position:absolute;inset:-7px;border-radius:50%;border:1px solid rgba(59,181,75,.18);animation:hub-ring 3.5s ease-in-out infinite}
@keyframes hub-ring{0%,100%{opacity:.5;transform:scale(1)}50%{opacity:.12;transform:scale(1.06)}}
.hub-logo{font-family:var(--serif);font-size:.68rem;color:var(--green);letter-spacing:.14em;text-transform:uppercase;margin-top:8px;opacity:.85}
.hub-label{font-size:.58rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:3px}
.node{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--border);border-radius:10px;padding:14px 18px;width:100%;max-width:280px;position:relative;cursor:default;opacity:0;transform:translateX(-10px);transition:opacity .5s ease,transform .5s ease,border-color .3s,background .3s}
.col-right .node{transform:translateX(10px)}
.node.visible{opacity:1;transform:translateX(0)}
.col-left .node{flex-direction:row-reverse;text-align:right}
.col-left .node .node-text{align-items:flex-end}
.node--elec{border-color:rgba(201,168,76,.22)}
.node--elec:hover{border-color:var(--gold);background:linear-gradient(to bottom,rgba(201,168,76,.06),var(--card) 70px)}
.col-left .node--elec:hover{transform:translateX(-4px)}
.col-right .node--elec:hover{transform:translateX(4px)}
.node--elec .node-icon{background:var(--gold-dim);color:var(--gold)}
.node--elec .node-num{color:var(--gold)}
.node--smart{border-color:rgba(59,181,75,.12)}
.node--smart:hover{border-color:rgba(59,181,75,.42);background:linear-gradient(to bottom,rgba(59,181,75,.05),var(--card) 70px)}
.col-left .node--smart:hover{transform:translateX(-4px)}
.col-right .node--smart:hover{transform:translateX(4px)}
.node--smart .node-icon{background:var(--green-dim);color:var(--green)}
.node--smart .node-num{color:var(--green)}
.node::after{display:none}
.node-icon{width:42px;height:42px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .3s}
.node-icon svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.node-text{display:flex;flex-direction:column;gap:2px;min-width:0}
.node-num{font-size:.58rem;font-weight:600;letter-spacing:.16em;line-height:1}
.node-title{font-size:.83rem;font-weight:600;color:var(--white);line-height:1.2}
.node-desc{font-size:.68rem;font-weight:300;color:var(--subtle);line-height:1.4;margin-top:1px}
@media(max-width:820px){#mob-canvas{display:block}.diagram{display:flex;flex-direction:column;align-items:stretch;gap:0;min-height:unset}.hub-wrap{order:0;justify-content:center;margin-bottom:28px}.hub{width:130px;height:130px}.col-left{order:1;margin-bottom:10px}.col-right{order:2}.col-left,.col-right{flex-direction:column;align-items:stretch;gap:10px;padding-left:44px;width:100%}.col-left .node{flex-direction:row;text-align:left;max-width:100%}.col-left .node .node-text{align-items:flex-start}.col-right .node{max-width:100%}.node::after{display:none}.col-left .node--elec:hover,.col-right .node--elec:hover,.col-left .node--smart:hover,.col-right .node--smart:hover{transform:none}}
/* ─── Nine Systems Overview ─── */
.sys-header{margin-bottom:48px}
.sys-header .h2{margin-top:8px;margin-bottom:0}
.sys-header-sub{font-size:.9rem;font-weight:300;color:var(--muted);margin-top:12px;line-height:1.6}
.sys-groups{display:flex;flex-direction:column;gap:2px}
.sys-group{border:1px solid var(--border);overflow:hidden}
.sys-group-head{padding:14px 24px;border-bottom:1px solid var(--border)}
.sys-group--elec .sys-group-head{border-left:3px solid var(--gold)}
.sys-group--comfort .sys-group-head,.sys-group--exp .sys-group-head{border-left:3px solid var(--green)}
.sys-group-label{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.16em}
.sys-group--elec .sys-group-label{color:var(--gold)}
.sys-group--comfort .sys-group-label,.sys-group--exp .sys-group-label{color:var(--green)}
.sys-cards{display:grid;gap:2px;background:var(--border);padding:2px}
.sys-cards--2{grid-template-columns:repeat(2,1fr)}
.sys-cards--3{grid-template-columns:repeat(3,1fr)}
.sys-cards--4{grid-template-columns:repeat(4,1fr)}
.sys-card{display:flex;flex-direction:column;padding:28px 24px;background:var(--black);text-decoration:none;color:inherit;transition:background .25s}
.sys-card:hover{background:var(--card)}
.sys-card-icon{width:36px;height:36px;border-radius:2px;display:flex;align-items:center;justify-content:center;margin-bottom:18px;flex-shrink:0;transition:background .25s}
.sys-card-icon svg{width:18px;height:18px;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.sys-group--elec .sys-card-icon{background:var(--gold-dim)}
.sys-group--elec .sys-card-icon svg{stroke:var(--gold)}
.sys-group--elec .sys-card:hover .sys-card-icon{background:rgba(201,168,76,.2)}
.sys-group--comfort .sys-card-icon,.sys-group--exp .sys-card-icon{background:var(--green-dim)}
.sys-group--comfort .sys-card-icon svg,.sys-group--exp .sys-card-icon svg{stroke:var(--green)}
.sys-group--comfort .sys-card:hover .sys-card-icon,.sys-group--exp .sys-card:hover .sys-card-icon{background:var(--green-mid)}
.sys-card-title{font-family:var(--serif);font-size:.98rem;font-weight:400;color:var(--white);margin-bottom:8px;line-height:1.2;transition:color .25s}
.sys-group--elec .sys-card:hover .sys-card-title{color:var(--gold)}
.sys-group--comfort .sys-card:hover .sys-card-title,.sys-group--exp .sys-card:hover .sys-card-title{color:var(--green)}
.sys-card-desc{font-size:.78rem;font-weight:300;color:var(--muted);line-height:1.55;flex:1}
.sys-card-arrow{display:block;font-size:.72rem;color:var(--subtle);margin-top:14px;transition:color .25s,letter-spacing .25s;letter-spacing:0}
.sys-group--elec .sys-card:hover .sys-card-arrow{color:var(--gold);letter-spacing:.05em}
.sys-group--comfort .sys-card:hover .sys-card-arrow,.sys-group--exp .sys-card:hover .sys-card-arrow{color:var(--green);letter-spacing:.05em}
@media(max-width:1024px){.sys-cards--4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:768px){.sys-cards--2,.sys-cards--3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.sys-cards--2,.sys-cards--3,.sys-cards--4{grid-template-columns:1fr}}
/* ─── Site Header (wh) ─── */
.wh{background:transparent;backdrop-filter:none;border-bottom:1px solid transparent;position:fixed;top:0;left:0;right:0;z-index:999;transition:background .4s,border-color .4s}
.wh.scrolled{background:rgba(17,17,17,.97);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border)}
body.wh-open{overflow:hidden}
.wh__topbar{background:transparent;border-bottom:1px solid rgba(255,255,255,.08);padding:8px max(24px,calc((100vw - 1280px) / 2 + 24px));display:flex;justify-content:flex-end;align-items:center;gap:20px}
.wh__topbar a,.wh__topbar span{color:rgba(255,255,255,.8);text-decoration:none;font-size:.7rem;letter-spacing:.02em;transition:color .2s;display:flex;align-items:center;gap:5px}
.wh__topbar a:hover{color:rgba(255,255,255,.8)}
.wh__topbar a svg{width:12px;height:12px;flex-shrink:0;stroke-width:2.5}
.wh__topbar-divider{width:1px;height:10px;background:rgba(255,255,255,.1)}
.wh__main{max-width:1280px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:68px}
.wh__logo{display:flex;align-items:center;text-decoration:none;flex-shrink:0}
.wh__logo img{height:57px;width:auto;max-width:none}
.wh__nav{display:flex;align-items:center;justify-self:center}
.wh__nav-list{list-style:none;display:flex;align-items:center;height:68px;margin:0;padding:0;gap:12px}
.wh__nav-item{position:static;display:flex;align-items:center;height:100%}
.wh__nav-btn{display:flex;align-items:center;gap:7px;padding:0 14px;height:100%;background:none;border:none;font-family:var(--sans);font-size:.82rem;font-weight:500;color:var(--light);cursor:pointer;transition:color .2s;white-space:nowrap}
.wh__nav-btn:hover{color:var(--white)}
.wh__nav-btn-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 12px 5px 9px;border-radius:99px;font-size:.8rem;font-weight:600;transition:background .2s,color .2s}
.wh__nav-btn-pill svg{width:13px;height:13px;flex-shrink:0}
.wh__nav-btn--elec .wh__nav-btn-pill{background:var(--gold-dim);color:var(--gold)}
.wh__nav-btn--elec:hover .wh__nav-btn-pill,.wh__nav-item[data-open="true"] .wh__nav-btn--elec .wh__nav-btn-pill{background:rgba(201,168,76,.22);color:var(--gold-light)}
.wh__nav-btn--smart .wh__nav-btn-pill{background:var(--green-dim);color:var(--green)}
.wh__nav-btn--smart:hover .wh__nav-btn-pill,.wh__nav-item[data-open="true"] .wh__nav-btn--smart .wh__nav-btn-pill{background:var(--green-mid);color:var(--green-light)}
.wh__nav-link{display:flex;align-items:center;padding:0 12px;height:100%;text-decoration:none;font-size:.82rem;font-weight:500;color:var(--light);transition:color .2s;white-space:nowrap}
.wh__nav-link:hover{color:var(--white)}
.wh__chevron{width:12px;height:12px;transition:transform .22s cubic-bezier(.22,.61,.36,1);flex-shrink:0;opacity:.4}
.wh__nav-btn--elec .wh__chevron{color:var(--gold);opacity:.65}
.wh__nav-btn--smart .wh__chevron{color:var(--green);opacity:.65}
.wh__nav-item[data-open="true"] .wh__chevron{transform:rotate(180deg);opacity:1}
.wh__actions{display:flex;align-items:center;gap:12px;justify-self:end}.wh__actions .btn-g{padding:9px 20px;font-size:.72rem;min-height:36px}.wh__actions .btn-g:hover{transform:none}
.wh__mega-wrap{position:fixed;left:0;right:0;background:var(--black);border-top:1px solid var(--border);border-bottom:1px solid var(--border);box-shadow:0 20px 60px rgba(0,0,0,.6);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-6px);transition:opacity .22s cubic-bezier(.22,.61,.36,1),transform .22s cubic-bezier(.22,.61,.36,1),visibility .22s;z-index:998}
.wh__nav-item[data-open="true"] .wh__mega-wrap{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.wh__mega-inner{max-width:1280px;margin:0 auto;padding:24px 24px 28px}
.wh__mega-cat{display:flex;align-items:center;gap:14px;margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid var(--border);justify-content:space-between}
.wh__mega-cat-icon{width:40px;height:40px;border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.wh__mega-cat-icon--elec{background:var(--gold-dim)}
.wh__mega-cat-icon--smart{background:var(--green-dim)}
.wh__mega-cat-icon svg{width:20px;height:20px}
.wh__mega-cat-title{font-family:var(--serif);font-size:.95rem;font-weight:400;color:var(--white);letter-spacing:-.01em}
.wh__mega-cat-desc{font-size:.72rem;color:var(--muted);margin-top:3px}
.wh__mega-grid{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:3px;padding:0;margin:0}
.wh__mega-grid--sm{grid-template-columns:repeat(2,1fr);max-width:640px}
.wh__mega-divider{grid-column:1/-1;border-top:1px solid var(--border);padding-top:4px;margin-top:4px}
.wh__mega-cta-btn{display:inline-flex;align-items:center;gap:8px;background:var(--gold-dim);color:var(--gold);font-size:.8rem;font-weight:600;letter-spacing:.02em;padding:10px 18px;border-radius:3px;text-decoration:none;transition:background .2s,color .2s;white-space:nowrap;flex-shrink:0;margin-left:auto}
.wh__mega-cta-btn svg{width:14px;height:14px;flex-shrink:0}
.wh__mega-cta-btn:hover{background:rgba(201,168,76,.22);color:var(--gold-light)}
.wh__mega-cta-btn--smart{background:var(--green-dim);color:var(--green)}
.wh__mega-cta-btn--smart:hover{background:var(--green-mid);color:var(--green-light)}
#request-service{scroll-margin-top:112px}
.elec-page .label{color:var(--gold)}
.elec-page .page-hero-content{max-width:520px}
.elec-page .page-hero h1{line-height:1.1}
.elec-page .section-breadcrumb a{color:var(--gold)}
.elec-page .section-breadcrumb a:hover{color:var(--gold-light)}
.elec-page .btn-g{background:var(--gold);color:var(--black)}
.elec-page .btn-g:hover{background:var(--gold-light);box-shadow:0 4px 20px rgba(201,168,76,.3)}
.elec-page .sr-split .green{color:var(--gold)}
.sr-section-hdr{max-width:560px;margin:0 auto 40px;text-align:center}
.sr-svcs{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border2);border:1px solid var(--border2);border-radius:4px;overflow:hidden;margin-bottom:80px}
.sr-svc{background:var(--card);display:flex;align-items:flex-start;gap:14px;padding:20px 22px;transition:background .2s}
.sr-svc:hover{background:var(--dark2)}
.sr-svc-icon{width:38px;height:38px;background:var(--gold-dim);border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}
.sr-svc-icon svg{width:18px;height:18px;stroke:var(--gold);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.sr-svc-body strong{display:block;font-size:.88rem;font-weight:600;color:var(--white);margin-bottom:4px}
.sr-svc-body p{font-size:.76rem;color:var(--muted);line-height:1.6;margin:0}
.sr-split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
.sr-benefits{margin:24px 0 0;display:flex;flex-direction:column;gap:10px}
.sr-benefit{display:flex;align-items:flex-start;gap:10px;font-size:.875rem;color:var(--light)}
.sr-benefit svg{width:16px;height:16px;stroke:var(--gold);flex-shrink:0;margin-top:3px}
@media(max-width:860px){.sr-svcs{grid-template-columns:1fr 1fr}.sr-split{grid-template-columns:1fr;gap:40px}}
@media(max-width:560px){.sr-svcs{grid-template-columns:1fr}}
.wh__svc{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border-radius:3px;text-decoration:none;border:1px solid transparent;transition:background .15s,border-color .15s,transform .12s}
.wh__mega--elec .wh__svc:hover{background:rgba(201,168,76,.07);border-color:rgba(201,168,76,.18);transform:translateY(-1px)}
.wh__mega--smart .wh__svc:hover{background:var(--green-glow);border-color:rgba(59,181,75,.18);transform:translateY(-1px)}
.wh__mega--commercial .wh__svc:hover{background:rgba(255,255,255,.04);border-color:var(--border2);transform:translateY(-1px)}
.wh__svc-icon{width:32px;height:32px;border-radius:3px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s;margin-top:1px}
.wh__mega--elec .wh__svc-icon{background:var(--gold-dim);color:var(--gold)}
.wh__mega--smart .wh__svc-icon{background:var(--green-dim);color:var(--green)}
.wh__svc-icon--elec{background:var(--gold-dim);color:var(--gold)}
.wh__svc-icon--smart{background:var(--green-dim);color:var(--green)}
.wh__svc-icon svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.wh__mega--elec .wh__svc:hover .wh__svc-icon{background:rgba(201,168,76,.2)}
.wh__mega--smart .wh__svc:hover .wh__svc-icon{background:var(--green-mid)}
.wh__svc-text{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}
.wh__svc-name{font-size:.82rem;font-weight:600;color:var(--white);transition:color .15s;line-height:1.3}
.wh__svc-desc{font-size:.72rem;color:var(--muted);line-height:1.45}
.wh__mega--elec .wh__svc:hover .wh__svc-name{color:var(--gold)}
.wh__mega--smart .wh__svc:hover .wh__svc-name{color:var(--green)}
.wh__mega--commercial .wh__svc:hover .wh__svc-name{color:var(--white)}
.wh__svc-arrow{margin-left:auto;padding-left:8px;align-self:center;flex-shrink:0;opacity:0;transform:translateX(-4px);transition:opacity .15s,transform .15s}
.wh__svc-arrow svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.wh__mega--elec .wh__svc-arrow{color:var(--gold)}
.wh__mega--smart .wh__svc-arrow{color:var(--green)}
.wh__mega--commercial .wh__svc-arrow{color:var(--muted)}
.wh__svc:hover .wh__svc-arrow{opacity:1;transform:translateX(0)}
.wh__mega-grid--2col{grid-template-columns:repeat(2,1fr)}
.wh__mega--elec .wh__svc--active{background:rgba(201,168,76,.07);border-color:rgba(201,168,76,.18)}
.wh__mega--elec .wh__svc--active .wh__svc-name{color:var(--gold)}
.wh__mega--elec .wh__svc--active .wh__svc-icon{background:rgba(201,168,76,.2)}
.wh__mega--elec .wh__svc--active .wh__svc-arrow{opacity:1;transform:translateX(0)}
.wh__mega--smart .wh__svc--active{background:var(--green-glow);border-color:rgba(59,181,75,.18)}
.wh__mega--smart .wh__svc--active .wh__svc-name{color:var(--green)}
.wh__mega--smart .wh__svc--active .wh__svc-icon{background:var(--green-mid)}
.wh__mega--smart .wh__svc--active .wh__svc-arrow{opacity:1;transform:translateX(0)}
.wh__mobile-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;background:none;border:none;cursor:pointer;padding:8px;grid-column:3;justify-self:end}
.wh__mobile-toggle span{display:block;width:22px;height:2px;background:var(--white);border-radius:2px;transition:all .25s cubic-bezier(.22,.61,.36,1);transform-origin:center}
body.wh-open .wh__mobile-toggle span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
body.wh-open .wh__mobile-toggle span:nth-child(2){opacity:0;transform:scaleX(0)}
body.wh-open .wh__mobile-toggle span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}
.wh__mobile-drawer{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:var(--black);z-index:998;overflow-y:auto;padding:90px 24px 40px;transform:translateX(100%);transition:transform .3s cubic-bezier(.22,.61,.36,1)}
body.wh-open .wh__mobile-drawer{transform:translateX(0)}
.wh__mobile-section{margin-bottom:28px}
.wh__mobile-section-header{display:flex;align-items:center;gap:10px;padding-bottom:10px;margin-bottom:6px;border-bottom:2px solid var(--border)}
.wh__mobile-section-header--elec{border-color:var(--gold)}
.wh__mobile-section-header--smart{border-color:var(--green)}
.wh__mobile-section-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em}
.wh__mobile-section-label--elec{color:var(--gold)}
.wh__mobile-section-label--smart{color:var(--green)}
.wh__mobile-list{list-style:none;padding:0;margin:0}
.wh__mobile-list a{display:block;padding:11px 8px;font-size:.9rem;color:var(--light);text-decoration:none;border-bottom:1px solid var(--border);transition:color .15s}
.wh__mobile-list a:hover{color:var(--white)}
.wh__mobile-misc{display:flex;flex-direction:column;margin-bottom:20px;margin-top:8px}
.wh__mobile-misc a{display:block;padding:11px 8px;font-size:.9rem;font-weight:500;color:var(--light);text-decoration:none;border-bottom:1px solid var(--border);transition:color .15s}
.wh__mobile-misc a:hover{color:var(--white)}
.wh__mobile-cta{display:flex;align-items:center;justify-content:center;padding:14px;background:var(--green);color:var(--white);font-weight:700;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;margin-top:16px;transition:background .2s}
.wh__mobile-cta:hover{background:var(--green-light)}
@media(max-width:1100px){.wh__nav-link{padding:0 8px}.wh__nav-btn{padding:0 10px}}
@media(max-width:860px){.wh__main{grid-template-columns:auto 1fr auto}.wh__nav{display:none}.wh__actions{display:none}.wh__mobile-toggle{display:flex}.wh__mobile-drawer{display:block}.wh__logo{margin-right:0}.wh__topbar{display:none}}
/* ─── Footer CTA Split ─── */
.cta-split-section{border-top:1px solid var(--border);margin-bottom:0;display:block}
.cta-split{display:grid;grid-template-columns:1fr 1fr}
.cta-panel{padding:72px 40px;position:relative;overflow:hidden}
.cta-panel--elec{background:var(--black);border-right:1px solid var(--border);padding-left:max(24px,calc((100vw - 1280px) / 2 + 24px))}
.cta-panel--elec .label{color:var(--white)}
.cta-panel--elec .btn-g{background:var(--gold);color:#111111}
.cta-panel--elec .btn-g:hover{background:var(--gold-light);box-shadow:0 4px 20px rgba(201,168,76,.35);transform:translateY(-2px)}
.cta-panel--elec .btn-o:hover{border-color:var(--gold);color:var(--gold)}
.cta-panel--elec::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 90% 90% at 15% 50%,rgba(201,168,76,.07) 0%,transparent 65%);pointer-events:none}
.cta-panel--elec::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 90% 90% at 15% 50%,rgba(201,168,76,.20) 0%,transparent 65%);pointer-events:none;opacity:0;transition:opacity .55s ease}
.cta-panel--elec:hover::after{opacity:1}
.cta-panel--smart{background:var(--black);padding-right:max(24px,calc((100vw - 1280px) / 2 + 24px))}
.cta-panel--smart::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 80% at 80% 50%,rgba(59,181,75,.05) 0%,transparent 70%);pointer-events:none}
.cta-panel--smart::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 85% 85% at 80% 50%,rgba(59,181,75,.16) 0%,transparent 65%);pointer-events:none;opacity:0;transition:opacity .55s ease}
.cta-panel--smart:hover::after{opacity:1}
.cta-panel--smart .label{color:var(--white)}
.cta-panel h2{font-family:var(--serif);font-size:clamp(1.4rem,2vw,2rem);font-weight:400;line-height:1.15;color:var(--white);margin-bottom:12px}
.cta-panel>p{font-size:.875rem;font-weight:300;line-height:1.75;color:var(--muted);margin-bottom:28px;max-width:340px}
.cta-btns{display:flex;gap:10px;flex-wrap:wrap}
@media(max-width:860px){.cta-split{grid-template-columns:1fr}.cta-panel--elec{padding:52px 28px;border-right:none;border-bottom:1px solid var(--border)}.cta-panel--smart{padding:52px 28px}}
/* ─── Process Section ─── */
.process-header{margin-bottom:56px}
.process-sub{font-size:.92rem;font-weight:300;line-height:1.78;color:var(--muted);max-width:480px;margin-top:14px}
.process-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:2px}
.process-step{background:var(--card);border:1px solid var(--border);padding:40px 32px;position:relative;overflow:hidden;transition:border-color .3s}
.process-step::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--green);transform:scaleX(0);transform-origin:left;transition:transform .42s cubic-bezier(.4,0,.2,1)}
.process-num{font-family:var(--serif);font-size:3.5rem;font-weight:300;color:var(--border2);line-height:1;margin-bottom:24px;transition:color .3s}
.process-step h3{font-size:.95rem;font-weight:600;color:var(--white);margin-bottom:12px}
.process-step p{font-size:.83rem;font-weight:300;color:var(--muted);line-height:1.7}
@media(max-width:1024px){.process-steps{grid-template-columns:repeat(2,1fr)}}
@media(max-width:540px){.process-steps{grid-template-columns:1fr}.process-step{padding:28px 24px}}
.process-steps.process-steps--3{grid-template-columns:repeat(3,1fr)}
.process-steps.process-steps--2{grid-template-columns:repeat(2,1fr)}
@media(max-width:640px){.process-steps.process-steps--3{grid-template-columns:1fr}.process-steps.process-steps--2{grid-template-columns:1fr}.process-step{padding:28px 24px}}
.elec-page .process-step::before{background:var(--gold)}
.process-step.is-active{border-color:rgba(59,181,75,.2)}.process-step.is-active::before{transform:scaleX(1)}.process-step.is-active .process-num{color:var(--green)}.elec-page .process-step.is-active{border-color:rgba(201,168,76,.2)}.elec-page .process-step.is-active::before{transform:scaleX(1)}.elec-page .process-step.is-active .process-num{color:var(--gold)}
/* ─── Footer (v2) ─── */
footer{background:var(--black);border-top:1px solid var(--border);padding:0}
.ft-main{display:grid;grid-template-columns:380px 1fr 1fr 1fr;border-bottom:1px solid var(--border);max-width:1280px;margin-left:auto;margin-right:auto}
.ft-brand{padding:64px 24px;border-right:1px solid var(--border);display:flex;flex-direction:column;justify-content:space-between}
.ft-logo-link{display:block;margin-bottom:20px;text-decoration:none}
.ft-logo-img{height:40px;width:auto;display:block}
.ft-tagline{font-size:.82rem;line-height:1.75;color:var(--muted);max-width:260px;font-weight:300}
.ft-socials{display:flex;gap:14px;margin-top:28px}
.ft-socials a{color:var(--subtle);text-decoration:none;transition:color .2s;display:flex;align-items:center}
.ft-socials a:hover{color:var(--green)}
.ft-brand-mark{margin-top:48px;opacity:.15}
.ft-col{padding:64px 24px;border-right:1px solid var(--border)}
.ft-col:last-child{border-right:none}
.ft-label{display:block;font-size:.7rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--subtle);margin-bottom:28px;padding-left:0;border-left:none;transition:color .25s}
.ft-label::after{content:'';display:block;width:20px;height:1px;background:var(--border2);margin-top:14px;transition:background .25s,width .3s}
.ft-col--elec:hover .ft-label{color:var(--gold)}
.ft-col--elec:hover .ft-label::after{background:var(--gold);width:36px}
.ft-col--smart:hover .ft-label{color:var(--green)}
.ft-col--smart:hover .ft-label::after{background:var(--green);width:36px}
.ft-col--co:hover .ft-label{color:var(--light)}
.ft-col--co:hover .ft-label::after{background:var(--border2);width:36px}
.ft-col-links a{display:block;font-size:.78rem;font-weight:300;color:var(--muted);text-decoration:none;padding:5px 0;margin-bottom:0;transition:color .2s,padding-left .2s}
.ft-col--elec .ft-col-links a:hover{color:var(--gold-light);padding-left:5px}
.ft-col--smart .ft-col-links a:hover{color:var(--green-light);padding-left:5px}
.ft-col--co .ft-col-links a:hover{color:var(--white);padding-left:5px}
.ft-badges{border-bottom:1px solid var(--border);padding:20px 24px;display:flex;flex-wrap:wrap;gap:36px;align-items:center;border-top:none;margin-top:0;max-width:1280px;margin-left:auto;margin-right:auto}
.bb-item{display:flex;flex-direction:column;gap:3px;opacity:1;min-width:auto;padding:0}
.bb-name{font-size:.62rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.bb-role{font-size:.6rem;font-weight:400;letter-spacing:.06em;text-transform:uppercase;color:var(--subtle)}
.ft-bottom{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;flex-wrap:wrap;gap:12px;border-top:none;max-width:1280px;margin-left:auto;margin-right:auto}
.ft-copy{font-size:.72rem;font-weight:300;color:var(--subtle)}
.ft-legal{display:flex;gap:24px}
.ft-legal a{font-size:.72rem;font-weight:300;color:var(--subtle);text-decoration:none;transition:color .2s}
.ft-legal a:hover{color:var(--muted)}
@media(max-width:1100px){.ft-main{grid-template-columns:1fr 1fr}.ft-brand{grid-column:1/-1;border-right:none;border-bottom:1px solid var(--border);flex-direction:row;align-items:flex-start;gap:40px;padding:40px 32px}.ft-brand-mark{margin-top:0}.ft-col{border-right:none;border-bottom:1px solid var(--border);padding:32px}}
@media(max-width:860px){.ft-main{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.ft-main{grid-template-columns:1fr}.ft-brand{flex-direction:column}.ft-bottom{flex-direction:column;align-items:flex-start;padding:16px 24px}.ft-badges{padding:16px 24px;gap:24px}}
/* ─── Project Page ─── */
.pj-hero{min-height:78vh;display:flex;align-items:flex-end;position:relative;overflow:hidden;background:var(--black)}
.pj-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.pj-hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(8,8,8,.97) 0%,rgba(8,8,8,.85) 40%,rgba(8,8,8,.74) 70%,rgba(8,8,8,.68) 100%)}
.pj-hero-content{position:relative;z-index:2;padding-top:160px;padding-bottom:72px}
.pj-breadcrumb{display:flex;align-items:center;gap:10px;font-size:.72rem;color:var(--subtle);margin-bottom:20px}
.pj-breadcrumb a{color:var(--muted);text-decoration:none;transition:color .2s}
.pj-breadcrumb a:hover{color:var(--green)}
.pj-h1{font-family:var(--serif);font-size:clamp(2.4rem,5vw,4.2rem);font-weight:400;line-height:1.08;color:var(--white);margin-bottom:16px}
.pj-hero-sub{font-size:1rem;font-weight:300;color:var(--light);max-width:560px;line-height:1.7}
.pj-gallery{background:var(--dark)}
.pj-grid{display:grid;gap:2px}
.pj-grid--top{grid-template-columns:2fr 1fr}
.pj-grid--bottom{grid-template-columns:repeat(4,1fr);margin-top:2px}
.pj-thumb{position:relative;overflow:hidden;background:var(--card);aspect-ratio:4/3}
.pj-thumb--wide{aspect-ratio:unset}
.pj-thumb-bg{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .65s cubic-bezier(.16,1,.3,1)}
.pj-thumb:hover .pj-thumb-bg{transform:scale(1.04)}
.pj-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;border:1px dashed var(--border2)}
.pj-placeholder svg{opacity:.18;stroke:var(--subtle)}
.pj-placeholder span{font-size:.6rem;font-weight:500;text-transform:uppercase;letter-spacing:.14em;color:var(--subtle)}
.pj-body{padding:80px 0 100px;background:var(--dark)}
.pj-split{display:grid;grid-template-columns:1fr 300px;gap:72px;align-items:start}
.pj-section-heading{font-family:var(--serif);font-size:1.6rem;font-weight:400;color:var(--white);margin-bottom:28px}
.pj-main p{font-size:.92rem;font-weight:300;color:var(--light);line-height:1.85;margin-bottom:18px}
.pj-pullquote{border-left:2px solid var(--green);padding:20px 28px;margin:36px 0;background:var(--green-glow)}
.pj-pullquote p{font-family:var(--serif);font-size:1.05rem;font-style:italic;color:var(--light);line-height:1.7;margin:0}
.pj-scope{margin-top:48px}
.pj-scope-label{display:block;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.18em;color:var(--green);margin-bottom:4px}
.pj-scope-list{list-style:none;margin-top:4px}
.pj-scope-item{display:flex;align-items:center;gap:14px;padding:13px 0;border-bottom:1px solid var(--border);font-size:.875rem;font-weight:300;color:var(--light)}
.pj-scope-item:last-child{border-bottom:none}
.pj-scope-item svg{width:15px;height:15px;stroke:var(--green);flex-shrink:0;stroke-width:1.5;fill:none}
.pj-sidebar{position:sticky;top:112px;display:flex;flex-direction:column;gap:2px}
.pj-sidebar-block{background:var(--card);border:1px solid var(--border);padding:28px 28px 24px}
.pj-block-label{display:block;font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.18em;color:var(--green);margin-bottom:20px}
.pj-block-label--gold{color:var(--gold)}
.pj-meta{display:flex;flex-direction:column}
.pj-meta-item{padding:12px 0;border-bottom:1px solid var(--border)}
.pj-meta-item:last-child{border-bottom:none;padding-bottom:0}
.pj-meta-item:first-child{padding-top:0}
.pj-meta-label{display:block;font-size:.58rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--subtle);margin-bottom:4px}
.pj-meta-value{font-size:.875rem;color:var(--white);font-weight:400}
.pj-credit-list{list-style:none}
.pj-credit-item{padding:11px 0;border-bottom:1px solid var(--border)}
.pj-credit-item:last-child{border-bottom:none;padding-bottom:0}
.pj-credit-item:first-child{padding-top:0}
.pj-credit-role{display:block;font-size:.58rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--subtle);margin-bottom:3px}
.pj-credit-name{font-size:.875rem;color:var(--white);font-weight:400}
.pj-sidebar-cta p{font-size:.82rem;font-weight:300;color:var(--muted);line-height:1.6}
@media(max-width:1024px){.pj-split{grid-template-columns:1fr;gap:48px}.pj-sidebar{position:static}.pj-grid--top{grid-template-columns:1fr}}
@media(max-width:768px){.pj-hero{min-height:60vh}.pj-h1{font-size:clamp(2rem,5vw,2.8rem)}.pj-grid--bottom{grid-template-columns:repeat(2,1fr)}.pj-body{padding:48px 0 64px}}
@media(max-width:480px){.pj-grid--bottom{grid-template-columns:1fr 1fr}}
/* ─── Project Cards ─── */
a.proj{display:block;color:inherit;text-decoration:none}
.proj-cta{text-align:center;margin-top:40px}
.proj--soon{cursor:default}
.proj--soon:hover .proj-bg{transform:none}
.proj--soon .proj-ov,.proj--soon:hover .proj-ov{background:linear-gradient(to top,rgba(5,5,5,.94) 0%,rgba(5,5,5,.78) 38%,rgba(5,5,5,.32) 62%,rgba(5,5,5,.05) 100%)}
.proj--soon .proj-tag{border-color:rgba(255,255,255,.18);color:var(--muted)}
.proj--soon h3,.proj--soon p{color:var(--muted)}
/* ─── Page Hero Chip / Eyebrow ─── */
.ph-chip{display:inline-block;font-size:.6rem;text-transform:uppercase;letter-spacing:.18em;font-weight:600;padding:4px 14px;border-radius:99px;margin-bottom:20px}
.ph-chip--elec{color:var(--gold);border:1px solid rgba(201,168,76,.35);background:rgba(201,168,76,.08)}
.ph-chip--smart{color:var(--green);border:1px solid rgba(59,181,75,.3);background:rgba(59,181,75,.06)}
/* ─── Page Hero sizing & layout ─── */
.page-hero{padding:180px 0 70px}
.page-hero-content{max-width:520px}
.smart-page .page-hero-content{max-width:1080px;text-align:center}
.smart-page .page-hero .page-hero-content>p{max-width:720px;margin-left:auto;margin-right:auto}
.smart-page .page-hero>.container{display:flex;justify-content:center}
.smart-page .page-hero{box-shadow:inset 0 0 0 9999px rgba(0,0,0,.15)}
.page-hero h1{font-size:clamp(1.8rem,3.5vw,3.2rem);line-height:1.1}
.page-hero .page-hero-content>p{font-size:1rem;max-width:none}
.page-hero--crumbs{padding-top:0}
.page-hero--crumbs .page-hero-content{margin-top:56px}
.page-hero-crumbs{position:relative;padding-top:132px;border-bottom:1px solid var(--border);color:var(--muted)}
.page-hero-crumbs::before{content:'';position:absolute;left:0;right:0;top:132px;height:1px;background:var(--border)}
.page-hero-crumbs .container{padding-top:13px;padding-bottom:13px;font-size:.78rem;letter-spacing:.04em}
.page-hero-crumbs a{color:var(--green);text-decoration:none;transition:color .25s}
.page-hero-crumbs a:hover{color:var(--white)}
.page-hero-crumbs [aria-current="page"]{color:var(--white);font-weight:500}
.page-hero-crumbs .bc-sep{display:inline-block;color:var(--subtle);margin:0 10px;opacity:.7;font-weight:300;transform:translateY(-1px)}
.elec-page .page-hero-crumbs a{color:var(--gold)}
.elec-page .page-hero-crumbs a:hover{color:var(--gold-light)}
@media(max-width:480px){.page-hero{padding:110px 0 48px}.page-hero--crumbs{padding-top:0}.page-hero--crumbs .page-hero-content{margin-top:36px}.page-hero-crumbs{padding-top:108px}.page-hero-crumbs::before{top:108px}.page-hero-crumbs .container{padding-top:10px;padding-bottom:10px;font-size:.72rem}.page-hero-crumbs .bc-sep{margin:0 7px}}
/* ─── Electrical page: gold overrides for .srv service cards ─── */
.elec-page .srv::before{background:linear-gradient(90deg,var(--gold),var(--gold-light))}.elec-page .srv:hover{border-color:rgba(201,168,76,.3);box-shadow:var(--shadow-md),0 0 30px rgba(201,168,76,.06)}.elec-page .srv-icon{background:var(--gold-dim)}.elec-page .srv-icon svg{stroke:var(--gold)}.elec-page .srv-link{color:var(--gold)}.elec-page .srv:hover .srv-icon{background:rgba(201,168,76,.2)}.elec-smart-cta{background:#111;padding:96px 24px 80px;text-align:center;position:relative;overflow:hidden}.elec-smart-cta::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 80% 80% at 50% 50%,rgba(59,181,75,.05) 0%,transparent 70%);pointer-events:none}.elec-smart-cta::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 85% 85% at 50% 50%,rgba(59,181,75,.16) 0%,transparent 65%);pointer-events:none;opacity:0;transition:opacity .55s ease}.elec-smart-cta:hover::after{opacity:1}.elec-smart-cta .container{position:relative;z-index:1}.elec-smart-cta .btn-g{background:var(--green);color:var(--white)}.elec-smart-cta .btn-g:hover{background:var(--green-light);box-shadow:0 4px 20px rgba(59,181,75,.25);transform:translateY(-2px)}@media(max-width:768px){.elec-smart-cta{padding:60px 20px 56px}}
/* ─── Electrical Smart CTA: gold variant ─── */.elec-smart-cta--gold{border-bottom:1px solid var(--border)}.elec-smart-cta--gold::before{background:radial-gradient(ellipse 80% 80% at 50% 50%,rgba(224,188,62,.05) 0%,transparent 70%)}.elec-smart-cta--gold::after{background:radial-gradient(ellipse 85% 85% at 50% 50%,rgba(224,188,62,.18) 0%,transparent 65%)}.elec-smart-cta--gold .btn-g{background:var(--gold);color:var(--black)}.elec-smart-cta--gold .btn-g:hover{background:var(--gold-light);box-shadow:0 4px 20px rgba(224,188,62,.28);transform:translateY(-2px)}