
/* Layout idea: a breaker-panel circuit directory is the organising motif; ink header bands, paper body, copper for every action. */
:root{
  --ink:#10242b; --ink-2:#1b3640; --paper:#f4f6f2; --tint:#e6ebe6; --line:#c5cfc9;
  --text:#1a2a30; --muted:#51646b; --copper:#b24a14; --copper-d:#8f3a0e; --amber:#f0b429; --white:#fff;
  --display:"Barlow Condensed","Arial Narrow",Arial,sans-serif;
  --body:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  color-scheme:light;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--text);font:400 17px/1.6 var(--body)}
img{max-width:100%}
a{color:var(--copper-d)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--amber);outline-offset:2px}
h1,h2,h3{font-family:var(--display);line-height:1.08;text-wrap:balance;margin:0;color:var(--ink)}
h1{font-size:clamp(2.3rem,5.4vw,3.9rem);font-weight:700;letter-spacing:-.005em}
h2{font-size:clamp(1.7rem,3.2vw,2.3rem);font-weight:600}
h3{font-size:1.3rem;font-weight:600}
p{margin:0 0 1em;max-width:66ch}
.wrap{max-width:1160px;margin:0 auto;padding:0 20px}
.narrow{max-width:800px}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:var(--white);padding:8px 12px;z-index:9}
mark.todo{background:var(--amber);color:#2a1d00;padding:0 .35em;border-radius:3px;font-weight:500}
.topbar{background:var(--ink);color:#cfdad6;font-size:.82rem}
.topbar-in{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 20px;padding-top:7px;padding-bottom:7px}
.site-head{background:var(--white);border-bottom:1px solid var(--line)}
.head-in{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;padding-top:12px;padding-bottom:12px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}
.brand-mark{width:22px;height:34px;border-radius:4px;background:var(--ink);position:relative}
.brand-mark::after{content:"";position:absolute;left:5px;right:5px;top:5px;height:13px;border-radius:2px;background:var(--amber)}
.brand-t{font:700 1.5rem/1 var(--display);text-transform:uppercase;letter-spacing:.02em}
.brand-t small{display:block;font:500 .7rem/1.3 var(--mono);letter-spacing:.06em;color:var(--muted)}
.nav{display:flex;flex-wrap:wrap;gap:4px 18px;margin-left:auto;font-size:.93rem}
.nav a{color:var(--text);text-decoration:none;padding:4px 0;border-bottom:2px solid transparent}
.nav a:hover,.nav a[aria-current]{border-color:var(--copper)}
.btn{display:inline-flex;align-items:center;gap:.5em;font:600 1rem/1 var(--body);padding:.8em 1.1em;border-radius:6px;text-decoration:none;border:2px solid transparent;cursor:pointer;white-space:nowrap}
.btn-lg{font-size:1.1rem;padding:.95em 1.3em}
.btn-call{background:var(--copper);color:var(--white)}.btn-call:hover{background:var(--copper-d)}
.btn-k{font:500 .72em var(--mono);text-transform:uppercase;letter-spacing:.08em;opacity:.85}
.btn-line{border-color:var(--ink);color:var(--ink)}.btn-line:hover{background:var(--ink);color:var(--white)}
.btn-ghost{border-color:#ffffff88;color:var(--white)}.btn-ghost:hover{background:var(--white);color:var(--ink)}
.eyebrow{font:500 .8rem var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--copper-d);margin-bottom:.9em}
.lede{font-size:1.15rem;color:var(--muted);margin-top:1em}
.hero{padding:56px 0 64px;background:linear-gradient(var(--white),var(--paper))}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr);gap:48px;align-items:center}
.hero-btns{display:flex;flex-wrap:wrap;gap:12px;margin:1.5em 0}
.ticks{list-style:none;padding:0;margin:0;display:grid;gap:6px;color:var(--muted);font-size:.97rem}
.ticks li{padding-left:1.4em;position:relative}
.ticks li::before{content:"";position:absolute;left:0;top:.55em;width:.7em;height:.35em;border-left:2px solid var(--copper);border-bottom:2px solid var(--copper);transform:rotate(-45deg)}
.panel{background:var(--ink);border-radius:10px;padding:14px;color:#dbe5e1;box-shadow:0 18px 40px -22px #10242b99;display:grid;gap:6px}
.panel-head{display:flex;justify-content:space-between;gap:10px;font:500 .72rem var(--mono);text-transform:uppercase;letter-spacing:.08em;color:#9fb3ad;padding:2px 4px 8px}
.panel-main,.ckt{display:grid;grid-template-columns:auto auto 1fr auto;align-items:center;gap:12px;background:var(--ink-2);border-radius:5px;padding:11px 12px;text-decoration:none;color:#eef3f1}
.panel-main{grid-template-columns:auto 1fr auto;font-weight:600;border:1px solid #ffffff22}
.ckt:hover{background:#25464f}
.ckt-sw{width:34px;height:16px;border-radius:3px;background:#0a171c;position:relative;flex:none}
.ckt-sw::after{content:"";position:absolute;top:2px;bottom:2px;right:2px;width:15px;border-radius:2px;background:#e9eeec}
.ckt-sw.on::after{background:var(--amber)}
.ckt-n,.ckt-a{font:500 .8rem var(--mono);color:#9fb3ad}
.ckt-l{font-weight:500}
.panel-foot{font-size:.8rem;color:#9fb3ad;margin:8px 4px 2px}
.sec{padding:64px 0}
.sec-tint{background:var(--tint)}
.sec-ink{background:var(--ink);color:#dbe5e1}.sec-ink h2{color:var(--white)}.sec-ink strong{color:var(--white)}
.sec h2{margin-bottom:.5em}
.sec-lede{color:var(--muted);margin-bottom:1.6em}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.card{background:var(--white);border:1px solid var(--line);border-left:4px solid var(--ink);border-radius:6px;padding:20px;display:flex;flex-direction:column;gap:8px}
.card p{margin:0;font-size:.97rem}
.card-k{font:500 .74rem var(--mono);text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}
.card h3 a{color:var(--ink);text-decoration:none}
.more{font-weight:600;margin-top:auto}
.more::after{content:" →"}
.signs{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:6px;overflow:hidden}
.signs a{display:grid;gap:4px;padding:18px 20px;background:var(--white);text-decoration:none;color:var(--text);height:100%}
.signs a:hover{background:#fbf5ef}
.signs strong{font:600 1.2rem var(--display);color:var(--ink)}
.signs span{font-size:.94rem;color:var(--muted)}
.steps{list-style:none;counter-reset:s;padding:0;margin:1.4em 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:28px}
.steps li{counter-increment:s;border-top:3px solid var(--ink);padding-top:14px}
.steps li::before{content:"0" counter(s);font:500 .85rem var(--mono);color:var(--copper-d)}
.steps p{margin:.4em 0 0;font-size:.97rem}
.why{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:40px}
.why-list{list-style:none;padding:0;margin:0;display:grid;gap:14px}
.why-list li{border-left:3px solid var(--amber);padding-left:14px}
.sec-ink mark.todo{color:#2a1d00}
.reviews{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.review{margin:0;border:2px dashed var(--line);border-radius:6px;padding:20px;display:grid;gap:10px;background:var(--white)}
.review-tag{font:500 .72rem var(--mono);text-transform:uppercase;letter-spacing:.08em;color:#2a1d00;background:var(--amber);justify-self:start;padding:2px 8px;border-radius:3px;margin:0}
.stars{color:var(--copper);letter-spacing:.15em}
.review blockquote{margin:0;color:var(--muted);font-style:italic}
.review figcaption{font-size:.88rem;font-weight:600}
.chips{list-style:none;padding:0;margin:0 0 1.4em;display:flex;flex-wrap:wrap;gap:8px}
.chips li{background:var(--white);border:1px solid var(--line);border-radius:4px;padding:5px 11px;font-size:.92rem}
.faq{display:grid;gap:10px;margin-top:1.2em}
.faq details{background:var(--white);border:1px solid var(--line);border-radius:6px;padding:0 18px}
.faq summary{cursor:pointer;padding:15px 0;list-style-position:outside}
.faq summary h3{display:inline;font-size:1.2rem}
.faq p{margin:0 0 16px;color:var(--muted)}
.cta{background:var(--copper-d);color:var(--white);padding:48px 0}
.cta h2{color:var(--white)}.cta p{margin:.5em 0 0;color:#ffe4d3}
.cta-in{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px}
.cta-btns{display:flex;flex-wrap:wrap;gap:12px}
.cta .btn-call{background:var(--white);color:var(--copper-d)}
.phero{padding:40px 0 48px;background:var(--white);border-bottom:1px solid var(--line)}
.crumbs{font-size:.86rem;color:var(--muted);margin-bottom:1.4em}
.split{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:44px;align-items:start}
.checks{list-style:none;padding:0;margin:1em 0 0;display:grid;gap:9px}
.checks li{padding-left:1.6em;position:relative}
.checks li::before{content:"";position:absolute;left:0;top:.5em;width:.75em;height:.4em;border-left:2px solid var(--copper);border-bottom:2px solid var(--copper);transform:rotate(-45deg)}
.note{background:var(--white);border:1px solid var(--line);border-top:4px solid var(--amber);border-radius:6px;padding:22px}
.note h2{font-size:1.5rem}.note h3{margin-top:1em}
.note ul{padding-left:1.1em;margin:.8em 0 0;display:grid;gap:7px;font-size:.97rem}
.links{list-style:none;padding:0;margin:1em 0 0;display:grid;gap:8px}
.areas{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;margin-top:1.2em}
.area{border-top:3px solid var(--ink);padding-top:12px}
.area ul{list-style:none;padding:0;margin:.6em 0 0;display:grid;gap:4px}
address{font-style:normal;margin:0 0 1em}
.bigphone a{font:700 2.2rem var(--display);color:var(--copper-d);text-decoration:none}
.form{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:1.2em}
.f{display:grid;gap:5px}.f-wide{grid-column:1/-1}
.f label{font-size:.88rem;font-weight:600}
.f input,.f select,.f textarea{font:inherit;padding:.65em .75em;border:1px solid #8fa099;border-radius:5px;background:var(--white);color:var(--text);width:100%}
.form .btn{justify-self:start}
.form-out{grid-column:1/-1;margin:0;background:#fff4d6;border:1px solid var(--amber);padding:10px 12px;border-radius:5px}
.site-foot{background:var(--ink);color:#c6d3ce;font-size:.93rem;padding-top:48px}
.site-foot a{color:#f3c9ae}
.foot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:32px}
.foot-name{font:700 1.3rem var(--display);color:var(--white);text-transform:uppercase;margin-bottom:.4em}
.foot-h{font:500 .76rem var(--mono);text-transform:uppercase;letter-spacing:.08em;color:#9fb3ad;margin-bottom:.7em}
.site-foot ul{list-style:none;padding:0;margin:0;display:grid;gap:6px}
.foot-lic{font:400 .82rem var(--mono)}
.foot-base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 20px;border-top:1px solid #ffffff22;margin-top:36px;padding-top:16px;padding-bottom:20px;font-size:.82rem}
.callbar{display:none}
@media (max-width:860px){
  .hero-grid,.split,.why{grid-template-columns:1fr;gap:32px}
  .hero{padding:36px 0 44px}.sec{padding:44px 0}
  .nav{order:3;width:100%;margin-left:0;overflow-x:auto;flex-wrap:nowrap;white-space:nowrap;padding-bottom:4px}
  .head-in .btn-call{margin-left:auto}
  .form{grid-template-columns:1fr}
  .callbar{display:grid;grid-template-columns:1fr 1fr;position:sticky;bottom:0;z-index:5}
  .callbar a{padding:14px 8px;text-align:center;font-weight:600;text-decoration:none;background:var(--copper);color:var(--white)}
  .callbar a+a{background:var(--ink)}
}
@media (max-width:480px){.head-in .btn-call .btn-k{display:none}.topbar-in span+span{display:none}}
@media (prefers-reduced-motion:no-preference){.btn,.ckt,.signs a{transition:background-color .15s,color .15s}}

.panel{background:var(--white);color:var(--text);border:1px solid var(--line);border-top:4px solid var(--copper);padding:22px 24px;gap:0;box-shadow:0 18px 40px -28px #10242b66}
.panel-h{font:600 1.6rem/1.1 var(--display);color:var(--ink);margin:0 0 .5em}
.svc{display:grid;grid-template-columns:1fr auto;column-gap:12px;padding:13px 0;border-top:1px solid var(--line);text-decoration:none;color:var(--text)}
.svc::after{content:"\2192";grid-column:2;grid-row:1/3;align-self:center;color:var(--copper-d);font-size:1.2rem}
.svc-t{font-weight:600;color:var(--ink)}
.svc-d{font-size:.9rem;color:var(--muted)}
.svc:hover .svc-t{color:var(--copper-d)}
.panel-foot{color:var(--muted);font-size:.92rem;margin:0;border-top:1px solid var(--line);padding-top:14px}
.review{border:1px solid var(--line);border-top:4px solid var(--ink);align-content:start}
.review blockquote{color:var(--text);font-style:normal}
.review figcaption{color:var(--muted)}

h1{font-size:clamp(2rem,5.4vw,3.9rem)}
.nav-toggle{display:none;font:600 1rem var(--body);padding:.6em 1em;border:2px solid var(--ink);border-radius:6px;background:var(--white);color:var(--ink);cursor:pointer}
.site-foot a,.note a,address{overflow-wrap:anywhere}
@media (max-width:860px){
  body{padding-bottom:54px}
  .nav-toggle{display:inline-block;margin-left:auto}
  .head-in .btn-call{display:none}
  .nav{display:none;order:3;width:100%;margin:0;overflow:visible;white-space:normal;flex-direction:column;flex-wrap:nowrap;gap:0;padding:0;border-top:1px solid var(--line)}
  .nav.open{display:flex}
  .nav a{padding:13px 2px;border-bottom:1px solid var(--line);font-size:1.02rem}
  .nav a[aria-current]{border-color:var(--line);color:var(--copper-d);font-weight:600}
  .callbar{position:fixed;left:0;right:0;bottom:0;box-shadow:0 -4px 14px #10242b33}
  .callbar a{padding:16px 8px}
  .site-foot ul{gap:2px}.site-foot li a{display:inline-block;padding:6px 0}
  .cta-in{flex-direction:column;align-items:stretch}
}
@media (max-width:520px){
  .hero-btns,.cta-btns{flex-direction:column}
  .hero-btns .btn,.cta-btns .btn,.form .btn{justify-content:center;width:100%}
  .topbar-in{justify-content:center;text-align:center}
  .wrap{padding:0 16px}
  .faq details{padding:0 14px}
  .panel{padding:18px}
}
