html,body{background:#fff}
@font-face{font-family:Manrope;src:url('/assets/fonts/manrope-regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Manrope;src:url('/assets/fonts/manrope-bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}
:root{--blue:#123ed1;--deep:#0a2375;--ink:#132344;--paper:#fff;--pale:#eef3fd;--line:#c7d3ed;--yellow:#f6eb72;--muted:#46546e;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.65 Manrope,sans-serif}::selection{color:var(--ink);background:var(--yellow)}a{color:inherit;text-underline-offset:.22em}a,summary{-webkit-tap-highlight-color:#f6eb7280}a:focus-visible,summary:focus-visible{outline:3px solid currentColor;outline-offset:5px}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;flex:none}img{display:block;width:100%;height:auto}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:700;line-height:1.08;letter-spacing:-.035em;text-wrap:balance}p{max-width:65ch}h2{font-size:clamp(2rem,4.3vw,3.75rem)}h3{font-size:1.35rem}section{scroll-margin-top:24px}.wrap{width:min(1280px,calc(100% - 96px));margin-inline:auto}.skip{position:absolute;z-index:20;left:16px;top:16px;padding:12px 18px;background:var(--yellow);color:var(--ink);transform:translateY(-160%)}.skip:focus{transform:none}.electric-header{display:flex;justify-content:space-between;align-items:center;gap:32px;padding-block:26px}.electric-brand{display:flex;align-items:center;gap:12px;font-weight:700;font-size:1.38rem;line-height:1.05;letter-spacing:-.03em;text-decoration:none;min-height:44px}.electric-brand svg{width:40px;height:40px;stroke-width:2.2;color:var(--blue)}.electric-header nav{display:flex;align-items:center;gap:28px}.electric-header nav>a{font-size:.9rem;font-weight:700;min-height:44px;display:inline-flex;align-items:center}.electric-header nav>a:not(.button){text-decoration:none}.electric-header nav>a:not(.button):hover{text-decoration:underline}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-height:54px;padding:15px 22px;background:var(--blue);color:white;font-weight:700;text-decoration:none;line-height:1.35}.button:hover{background:var(--deep)}.button.yellow{background:var(--yellow);color:var(--ink)}.button.yellow:hover{background:#fff59a}.button.compact{min-height:48px;padding:12px 18px;gap:24px}.electric-hero{background:var(--blue);color:white;padding-top:64px}.hero-heading{display:grid;grid-template-columns:1.3fr 1fr;align-items:end;gap:70px;padding-bottom:54px}.hero-heading h1{font-size:clamp(3rem,6.7vw,6rem);line-height:1.02;max-width:12ch}.hero-purpose{padding-bottom:7px;max-width:370px}.hero-purpose p{font-size:1.13rem;line-height:1.65;margin-bottom:26px}.work-image{position:relative}.work-image img{aspect-ratio:2.55;object-fit:cover;object-position:center 55%}.work-image figcaption{display:flex;justify-content:space-between;gap:24px;font-size:.8rem;line-height:1.5;padding:14px 0;color:#e1e9ff}.service-shortcuts{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 0 26px}.service-shortcuts a{display:flex;align-items:center;min-height:44px;font-weight:700;text-decoration:none}.service-shortcuts a:after{content:'';width:8px;height:8px;border-right:2px solid var(--yellow);border-bottom:2px solid var(--yellow);transform:rotate(45deg);margin-left:24px;margin-top:-4px}.service-shortcuts a:hover{text-decoration:underline}.services{padding-block:92px}.section-heading{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:end;margin-bottom:54px}.section-heading p{max-width:470px;color:var(--muted)}.service-list article{display:grid;grid-template-columns:1.1fr 1.35fr .55fr;gap:40px;border-top:1px solid var(--line);padding:34px 0;scroll-margin-top:30px}.service-list article:last-child{border-bottom:1px solid var(--line)}.service-list h3{font-size:1.38rem;line-height:1.25;max-width:17ch}.service-list p{color:var(--muted)}.service-list a{display:inline-flex;align-items:center;gap:20px;font-weight:700;font-size:.9rem;min-height:44px;margin-top:14px}.service-tag{text-align:right;color:var(--blue);font-size:.75rem;font-weight:700;line-height:1.5;padding-top:4px}.process{background:var(--pale);padding-block:88px}.process-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:100px}.process-layout>div>p{margin-top:24px;max-width:35ch;color:var(--muted);font-size:.9rem}.process-list{list-style:none;padding:0;margin:0;counter-reset:visit}.process-list li{position:relative;counter-increment:visit;padding-left:58px;padding-bottom:36px}.process-list li:last-child{padding-bottom:0}.process-list li:before{content:counter(visit);position:absolute;top:0;left:0;width:34px;height:34px;display:grid;place-items:center;background:var(--blue);color:#fff;font-weight:700;font-variant-numeric:tabular-nums}.process-list h3{font-size:1.25rem;line-height:1.35}.process-list p{margin-top:10px;color:var(--muted)}.electric-questions{display:grid;grid-template-columns:1fr 1.2fr;gap:90px;padding-block:88px}.electric-questions h2{font-size:clamp(2rem,3.2vw,3rem);max-width:12ch}.electric-questions details{border-top:1px solid var(--line)}.electric-questions details:last-child{border-bottom:1px solid var(--line)}.electric-questions summary{cursor:pointer;padding:22px 32px 22px 0;font-weight:700;line-height:1.5;position:relative;list-style:none}.electric-questions summary::-webkit-details-marker{display:none}.electric-questions summary:after{content:'+';font-size:1.5rem;font-weight:400;position:absolute;right:2px;top:15px;color:var(--blue)}.electric-questions details[open] summary:after{content:'−'}.electric-questions details p{color:var(--muted);padding:0 30px 24px 0}.electric-contact{background:var(--blue);color:#fff;padding-block:80px}.contact-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:90px;align-items:start}.contact-layout>div>p{max-width:43ch;margin-bottom:28px}.pricing-link{display:flex;align-items:center;width:fit-content;min-height:44px;font-size:.85rem;margin-top:16px}.electric-footer{display:flex;align-items:center;justify-content:space-between;gap:32px;padding-block:34px}.electric-footer .electric-brand{color:var(--blue);font-size:1.15rem}.electric-footer p{font-size:.75rem;color:var(--muted);line-height:1.8}.electric-footer p a{display:inline-flex;min-height:44px;align-items:center}
@media(max-width:1000px){.wrap{width:calc(100% - 56px)}.hero-heading{gap:40px}.hero-heading h1{font-size:clamp(3rem,7.5vw,5rem)}.section-heading{gap:50px}.service-list article{grid-template-columns:1fr 1.3fr;gap:30px}.service-tag{grid-column:1;text-align:left;grid-row:2;padding:0;margin-top:-15px}.service-list article>div{grid-column:2;grid-row:1/3}.process-layout,.electric-questions,.contact-layout{gap:50px}.electric-header nav{gap:20px}.electric-header nav>a:not(.button){font-size:.83rem}}
@media(max-width:700px){.wrap{width:calc(100% - 36px)}.electric-header{flex-wrap:wrap;gap:18px;padding-block:20px}.electric-brand{font-size:1.2rem}.electric-header nav{width:100%;justify-content:space-between;gap:12px}.electric-header nav>a{font-size:.8rem}.button.compact{padding:12px;gap:10px;font-size:.8rem}.button.compact svg{width:18px}.electric-hero{padding-top:44px}.hero-heading{grid-template-columns:1fr;gap:26px;padding-bottom:34px}.hero-heading h1{font-size:clamp(3.1rem,11.5vw,4.5rem)}.hero-purpose{max-width:36ch;padding:0}.hero-purpose p{font-size:1rem;margin-bottom:22px}.work-image img{aspect-ratio:1.5;object-position:center}.work-image figcaption{font-size:.72rem;flex-direction:column;gap:4px}.service-shortcuts{gap:12px;flex-wrap:wrap;justify-content:flex-start;padding:10px 0 22px}.service-shortcuts a{font-size:.8rem;flex:1 1 auto}.service-shortcuts a:after{margin-left:12px;width:6px;height:6px}.services{padding-block:60px}.section-heading{grid-template-columns:1fr;gap:22px;margin-bottom:34px}.section-heading h2{font-size:2.4rem}.service-list article{grid-template-columns:1fr;gap:14px;padding:28px 0}.service-list article>div{grid-column:auto;grid-row:auto}.service-list h3{max-width:none;font-size:1.3rem}.service-tag{display:none}.service-list a{margin-top:10px;font-size:.85rem;gap:12px}.process{padding-block:58px}.process-layout,.electric-questions,.contact-layout{grid-template-columns:1fr;gap:36px}.process-layout h2{font-size:2.4rem}.process-layout>div>p{margin-top:18px}.process-list li{padding-left:48px;padding-bottom:28px}.electric-questions{padding-block:58px}.electric-questions h2{max-width:none;font-size:2.3rem}.electric-questions summary{font-size:.95rem}.electric-contact{padding-block:58px}.electric-contact h2{font-size:2.5rem}.electric-footer{align-items:flex-start;flex-direction:column;gap:16px;padding-block:28px}}
.hero-bottom{display:flex;justify-content:space-between;gap:24px;padding-block:18px 26px;align-items:center}.hero-bottom p{font-size:.9rem;color:#e1e9ff}.hero-bottom a{display:inline-flex;align-items:center;gap:24px;min-height:44px;font-size:.9rem;font-weight:700}.service-list details{border-top:1px solid var(--line)}.service-list details:last-child{border-bottom:1px solid var(--line)}.service-list summary{display:grid;grid-template-columns:1.5fr .7fr 24px;gap:32px;align-items:center;cursor:pointer;list-style:none;padding:32px 0;min-height:96px}.service-list summary::-webkit-details-marker{display:none}.service-list summary h3{max-width:none;font-size:clamp(1.4rem,2.7vw,2.3rem);line-height:1.2}.service-list summary>svg{color:var(--blue)}.service-list details[open] summary>svg{transform:rotate(180deg)}.service-list details[open] summary h3{color:var(--blue)}.service-content{display:grid;grid-template-columns:1fr 1fr;gap:64px;padding-bottom:34px;max-width:900px;margin-left:auto}.service-content>p{max-width:43ch}.service-content ul{list-style:none;padding:0;margin:0;color:var(--muted);font-size:.9rem}.service-content li{padding-block:6px}.service-content li:before{content:'';display:inline-block;width:6px;height:6px;background:var(--blue);margin:0 13px 2px 0}.electric-questions summary:after{content:'';top:27px;width:10px;height:10px;border-right:2px solid var(--blue);border-bottom:2px solid var(--blue);transform:rotate(45deg)}.electric-questions details[open] summary:after{content:'';transform:rotate(225deg);top:31px}
@media(max-width:700px){.hero-bottom{align-items:flex-start;flex-direction:column;gap:4px;padding-top:12px}.hero-bottom p,.hero-bottom a{font-size:.82rem}.service-list summary{grid-template-columns:1fr 24px;gap:20px;min-height:86px;padding-block:25px}.service-list summary h3{font-size:1.55rem}.service-content{grid-template-columns:1fr;gap:18px;padding-bottom:28px}.service-list summary .service-tag{display:none}.service-content>p{font-size:.95rem}.service-content a{margin-top:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* A working service index, with a compact electrical routing study. */
.electric-hero{padding-block:48px 0}
.electric-brief{display:grid;grid-template-columns:1fr 1.2fr;gap:90px;align-items:start;padding-bottom:48px}
.hero-heading{display:block;padding:0}
.hero-heading h1{font-size:clamp(2.8rem,4.7vw,4.5rem);line-height:1.08;max-width:11ch;letter-spacing:-.035em}
.hero-heading>p{font-size:1rem;max-width:30ch;line-height:1.8;margin-top:26px;color:#e1e9ff}
.service-finder{display:grid;grid-template-columns:1fr;gap:14px}
.electric-path{width:min(100%,360px);margin-left:auto}
.electric-path>svg{display:block;width:100%;height:auto;stroke-width:1.5}
.path-base{stroke:#7896f0}
.path-route{stroke:var(--yellow);stroke-width:3;opacity:0}
.path-origin{fill:var(--yellow);stroke:var(--blue);stroke-width:3}
.path-node{stroke:#b5c6ff;fill:var(--blue)}
.path-node circle{stroke-width:1}
[data-route="lighting"] .route-lighting,[data-route="outlets"] .route-outlets,[data-route="updates"] .route-updates{opacity:1}
[data-route="lighting"] .node-lighting,[data-route="outlets"] .node-outlets,[data-route="updates"] .node-updates{stroke:var(--yellow)}
.service-index{border-top:1px solid #7896f0}
.service-index>a{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:76px;padding-block:16px;border-bottom:1px solid #7896f0;font-size:clamp(1.2rem,2.3vw,2rem);font-weight:700;line-height:1.25;letter-spacing:-.025em;text-decoration:none}
.service-index>a>svg{width:26px;height:26px;color:var(--yellow)}
.service-index>a:hover,.service-index>a:focus-visible{color:var(--yellow)}
.service-index>a:focus-visible{outline-color:var(--yellow);outline-offset:-5px}
.work-image{display:grid;grid-template-columns:280px 1fr auto;align-items:center;gap:34px;border-top:1px solid #7896f0;padding-block:28px;margin-top:0}
.work-image img{width:100%;height:154px;aspect-ratio:auto;object-fit:cover;object-position:center 55%}
.work-image figcaption{display:flex;flex-direction:column;gap:10px;padding:0;line-height:1.45;min-width:0}
.work-image figcaption>span:first-child{font-size:1.15rem;font-weight:700;color:#fff;letter-spacing:-.015em}
.work-image figcaption>span:last-child{font-size:.8rem;color:#e1e9ff}
.work-image>a{display:inline-flex;align-items:center;gap:30px;min-height:48px;font-size:.85rem;font-weight:700;white-space:nowrap}
.service-list details:target{scroll-margin-top:30px}
.service-list details:target summary{color:var(--blue)}
@media(prefers-reduced-motion:no-preference){
  .electric-hero.is-routing[data-route="lighting"] .route-lighting,.electric-hero.is-routing[data-route="outlets"] .route-outlets,.electric-hero.is-routing[data-route="updates"] .route-updates{animation:electric-route 550ms cubic-bezier(.16,1,.3,1) both}
  .service-index>a>svg{transition:transform 180ms cubic-bezier(.16,1,.3,1)}
  .service-index>a:hover>svg{transform:translateX(5px)}
}
@keyframes electric-route{from{stroke-dasharray:1;stroke-dashoffset:1}to{stroke-dasharray:1;stroke-dashoffset:0}}
@media(max-width:1000px){.electric-brief{gap:48px;grid-template-columns:1fr 1.1fr}.electric-path{max-width:290px}.work-image{grid-template-columns:200px 1fr auto;gap:26px}.work-image img{height:130px}}
@media(max-width:700px){
  .electric-header{display:grid;grid-template-columns:1fr auto;align-items:start;gap:15px;padding-block:20px}
  .electric-brand{font-size:1.1rem;min-height:49px}
  .electric-brand svg{width:34px;height:34px}
  .electric-header nav{width:auto;display:flex;justify-content:end;gap:0;align-items:start;flex-direction:column}
  .electric-header nav>a:not(.button){display:none}
  .electric-header .button.compact{font-size:.75rem;min-height:48px;gap:12px;padding:12px 14px}
  .electric-hero{padding-top:28px}
  .electric-brief{display:block;padding-bottom:25px}
  .hero-heading{display:grid;grid-template-columns:1fr;gap:14px;padding:0}
  .hero-heading h1{font-size:clamp(2rem,8.5vw,3rem);line-height:1.12;max-width:13ch;letter-spacing:-.03em}
  .hero-heading>p{margin:0;max-width:34ch;font-size:.82rem;line-height:1.65}
  .service-finder{display:block;position:relative;padding-top:20px}
  .electric-path{position:absolute;top:-135px;right:-4px;width:105px;transform:rotate(-90deg);transform-origin:center;opacity:.55;pointer-events:none}
  .electric-path>svg{stroke-width:2}
  .service-index>a{font-size:clamp(1.2rem,5.5vw,1.65rem);min-height:69px;padding:16px 0;gap:14px;letter-spacing:-.025em}
  .service-index>a>svg{width:23px;height:23px}
  .work-image{grid-template-columns:130px 1fr;gap:16px;padding-block:21px}
  .work-image img{height:103px;grid-row:1/3}
  .work-image figcaption{gap:6px;padding:0}
  .work-image figcaption>span:first-child{font-size:.78rem;line-height:1.4}
  .work-image figcaption>span:last-child{font-size:.75rem;line-height:1.4}
  .work-image>a{grid-column:2;font-size:.8rem;gap:18px;min-height:44px;margin-top:-13px;justify-self:start}
  .work-image>a svg{width:18px;height:18px}
}
@media(max-width:360px){.electric-header{gap:8px}.electric-brand{font-size:1rem;gap:8px}.electric-header .button.compact{padding:10px;font-size:.75rem;gap:7px}.hero-heading h1{font-size:2.05rem}.electric-path{width:82px;right:-2px;top:-132px}.work-image{grid-template-columns:114px 1fr;gap:14px}.work-image figcaption>span:first-child{font-size:.75rem}}
