:root{
  --navy:#04192a; --navy-2:#062438; --navy-3:#0a3350;
  --brand:#00719b; --brand-2:#1a9fd0; --sky:#bfe6f7;
  --volt:#ffd200; --ink:#0d1b26; --muted:#5b6b78; --line:rgba(191,230,247,.22);
  --radius:14px; --max:1200px;
  --sans:"Inter",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --display:"Space Grotesk","Inter",system-ui,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:var(--sans);color:var(--ink);line-height:1.6;background:#fff;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}a{color:inherit}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
.eyebrow{font-family:var(--mono);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brand-2);display:inline-flex;align-items:center;gap:.6rem}
.eyebrow::before{content:"";width:22px;height:2px;background:var(--volt)}
h1,h2,h3{font-family:var(--display);line-height:1.12;margin:0 0 .6em;letter-spacing:-.01em}
h1{font-size:clamp(2.3rem,5vw,4rem);font-weight:700}
h2{font-size:clamp(1.8rem,3.2vw,2.7rem);font-weight:700}
h3{font-size:1.28rem;font-weight:600}
p{margin:0 0 1em}
.btn{display:inline-flex;align-items:center;gap:.5rem;font-weight:600;text-decoration:none;border-radius:999px;padding:.85rem 1.5rem;border:2px solid transparent;transition:.2s;font-size:.98rem;white-space:nowrap}
.btn-volt{background:var(--volt);color:var(--navy)}.btn-volt:hover{background:#ffe04d}
.btn-ghost{border-color:var(--sky);color:#fff}.btn-ghost:hover{background:rgba(255,255,255,.08)}
.btn-brand{background:var(--brand);color:#fff}.btn-brand:hover{background:#005f83}
/* top bar + header */
.topbar{background:var(--navy);color:#cfe3ee;font-size:.85rem}
.topbar .wrap{display:flex;justify-content:space-between;gap:1rem;padding-top:.5rem;padding-bottom:.5rem;flex-wrap:wrap}
.topbar a{text-decoration:none}.topbar span{opacity:.85}
header.site{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid #e3ebf0;box-shadow:0 2px 14px rgba(4,25,42,.05)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;height:78px}
.logo img{height:52px;width:auto}
nav.main ul{list-style:none;display:flex;gap:1.6rem;margin:0;padding:0}
nav.main a{text-decoration:none;font-weight:500;font-size:.95rem;color:var(--ink);padding:.4rem 0;border-bottom:2px solid transparent}
nav.main a:hover,nav.main a.active{border-color:var(--volt)}
.hdr-cta{display:flex;gap:.7rem;align-items:center}
.hdr-cta .call{font-weight:600;text-decoration:none;color:var(--brand);font-size:.95rem}
.menu-btn{display:none;background:none;border:1px solid #cfdbe3;border-radius:10px;padding:.55rem .7rem;font:600 .9rem var(--sans)}
/* hero */
.hero{position:relative;color:#fff;background:radial-gradient(1100px 500px at 85% 10%,rgba(26,159,208,.35),transparent 60%),radial-gradient(800px 500px at 0% 100%,rgba(0,113,155,.45),transparent 60%),var(--navy);overflow:hidden}
.hero .grid-bg{position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(180deg,rgba(0,0,0,.55),transparent 85%);-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.55),transparent 85%)}
.hero .wrap{position:relative;display:grid;grid-template-columns:1.25fr 1fr;gap:3.5rem;align-items:center;padding-top:6rem;padding-bottom:6rem}
.hero h1 span{color:var(--volt)}
.hero p.lead{font-size:1.15rem;color:#d6e8f1;max-width:36rem}
.hero .actions{display:flex;gap:.9rem;flex-wrap:wrap;margin:1.8rem 0 2.2rem}
.hero .chips{display:flex;flex-wrap:wrap;gap:.5rem}
.chip{font-family:var(--mono);font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--line);color:var(--sky);padding:.4rem .75rem;border-radius:999px;background:rgba(255,255,255,.03)}
.hero-card{border:1px solid var(--line);border-radius:20px;background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.02));padding:1.2rem;backdrop-filter:blur(4px)}
.hero-card img{border-radius:12px;aspect-ratio:4/3;object-fit:cover;width:100%}
.hero-card .cap{display:flex;justify-content:space-between;align-items:center;padding:.9rem .3rem .2rem;font-size:.9rem;color:#cfe3ee}
.hero-card .cap b{color:#fff;font-family:var(--display)}
.volt-line{height:4px;background:linear-gradient(90deg,var(--volt),var(--brand-2) 60%,transparent)}
/* sections */
section{padding:6rem 0}
.split-head{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:end;margin-bottom:3rem}
.split-head p{color:var(--muted);font-size:1.05rem;margin:0}
.dark{background:var(--navy-2);color:#fff}.dark .split-head p,.dark p{color:#c9dce6}
.alt{background:#f3f8fb}
/* services */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.svc{border:1px solid #dbe7ee;border-radius:var(--radius);padding:1.8rem;background:#fff;display:flex;flex-direction:column;transition:.2s;position:relative}
.svc:hover{border-color:var(--brand-2);box-shadow:0 12px 30px rgba(0,113,155,.12);transform:translateY(-2px)}
.svc.feature{background:var(--navy);color:#fff;border-color:var(--navy)}
.svc.feature p{color:#c9dce6}
.svc .ic{width:52px;height:52px;border-radius:12px;display:grid;place-items:center;background:#e6f3f9;color:var(--brand);margin-bottom:1.2rem}
.svc.feature .ic{background:rgba(255,210,0,.14);color:var(--volt)}
.svc p{color:var(--muted);font-size:.97rem}
.svc .tag{font-family:var(--mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--brand);margin-bottom:.5rem}
.svc.feature .tag{color:var(--volt)}
.svc ul{margin:0 0 1.2rem;padding-left:1.1rem;color:var(--muted);font-size:.93rem}.svc.feature ul{color:#c9dce6}
.svc .more{margin-top:auto;font-family:var(--mono);font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;color:var(--brand);font-weight:600}
.svc.feature .more{color:var(--volt)}
/* spotlight */
.spot{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.spot img{border-radius:18px;aspect-ratio:1/1;object-fit:cover;box-shadow:0 30px 60px rgba(0,0,0,.35)}
.checks{list-style:none;padding:0;margin:1.5rem 0 2rem;display:grid;gap:.8rem}
.checks li{display:flex;gap:.8rem;align-items:flex-start}
.checks li::before{content:"";flex:0 0 22px;height:22px;border-radius:50%;background:var(--volt) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2304192a' stroke-width='3'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center/14px no-repeat;margin-top:.15rem}
.spot.reverse .media{order:2}
/* why */
.why{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem}
.why .item{border-top:2px solid var(--volt);padding-top:1.3rem}
.why .num{font-family:var(--mono);color:var(--brand-2);font-size:.8rem;letter-spacing:.1em}
.why p{color:var(--muted);font-size:.96rem}
/* partners */
.partners{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.badge{border:1px solid #d6e3eb;border-radius:12px;background:#fff;padding:1.3rem 1rem;text-align:center}
.badge b{display:block;font-family:var(--display);font-size:1.3rem;color:var(--navy);letter-spacing:-.01em}
.badge small{display:block;font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--brand);margin-top:.35rem}
.badge.dealer{border-color:var(--brand);box-shadow:inset 0 -3px 0 var(--volt)}
.note{font-size:.85rem;color:var(--muted);margin-top:1.2rem}
/* area */
.area{display:grid;grid-template-columns:1.1fr 1fr;gap:3rem;align-items:center}
.area-map{border:1px solid var(--line);border-radius:18px;padding:2rem;background:radial-gradient(circle at 50% 50%,rgba(26,159,208,.25),transparent 65%);aspect-ratio:4/3;position:relative;overflow:hidden}
.area-map .ring{position:absolute;left:50%;top:50%;border:1px dashed rgba(191,230,247,.4);border-radius:50%;transform:translate(-50%,-50%)}
.area-map .pin{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center}
.area-map .dot{width:18px;height:18px;border-radius:50%;background:var(--volt);margin:0 auto .5rem;box-shadow:0 0 0 8px rgba(255,210,0,.2),0 0 0 18px rgba(255,210,0,.08)}
.area-map .pin b{font-family:var(--display);font-size:1.1rem}.area-map .pin small{display:block;color:#c9dce6;font-size:.82rem}
.cities{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.2rem 0 1.6rem}
/* cta */
.cta{background:linear-gradient(120deg,var(--brand),#005273);color:#fff;border-radius:24px;padding:3.5rem;display:grid;grid-template-columns:1fr 1.1fr;gap:3rem;align-items:start;position:relative;overflow:hidden}
.cta::after{content:"";position:absolute;right:-80px;top:-80px;width:280px;height:280px;border-radius:50%;border:40px solid rgba(255,210,0,.12)}
.cta p{color:#dcedf5}
.contact-list{list-style:none;padding:0;margin:1.5rem 0 0;display:grid;gap:1rem}
.contact-list li{display:flex;gap:.9rem;align-items:flex-start}
.contact-list .ic{flex:0 0 40px;height:40px;border-radius:10px;background:rgba(255,255,255,.12);display:grid;place-items:center;color:var(--volt)}
.contact-list small{display:block;font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--sky)}
.contact-list a{text-decoration:none;font-weight:600}
form.quote{background:#fff;color:var(--ink);border-radius:16px;padding:1.8rem;display:grid;grid-template-columns:1fr 1fr;gap:1rem;position:relative;z-index:1}
form.quote label{display:grid;gap:.35rem;font-size:.82rem;font-weight:600;color:#33434f}
form.quote .full{grid-column:1/-1}
form.quote input,form.quote select,form.quote textarea{font:inherit;font-weight:400;border:1px solid #cfdbe3;border-radius:10px;padding:.75rem .85rem;background:#f9fbfc;width:100%}
form.quote textarea{min-height:110px;resize:vertical}
form.quote .fine{font-size:.78rem;color:var(--muted);font-weight:400}
/* footer */
footer.site{background:var(--navy);color:#c9dce6;padding:4.5rem 0 2rem;font-size:.93rem}
.f-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2.5rem}
.f-logo{background:#fff;border-radius:12px;padding:.6rem .9rem;display:inline-block;margin-bottom:1.2rem}.f-logo img{height:46px}
footer h4{font-family:var(--mono);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:#fff;margin:0 0 1rem}
footer ul{list-style:none;padding:0;margin:0;display:grid;gap:.55rem}
footer a{text-decoration:none}footer a:hover{color:var(--volt)}
.f-bottom{border-top:1px solid var(--line);margin-top:3rem;padding-top:1.5rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.84rem}
.f-bottom nav{display:flex;gap:1.2rem;flex-wrap:wrap}
.f-bottom nav a{color:#fff;text-decoration:underline;text-decoration-color:rgba(255,210,0,.6);text-underline-offset:3px}
.mockup-flag{text-align:center;background:var(--volt);color:var(--navy);font:600 .75rem var(--mono);padding:.4rem .8rem}
/* responsive */
@media (max-width:1080px){nav.main{display:none}.menu-btn{display:inline-block}.hdr-cta .call{display:none}.why{grid-template-columns:repeat(2,1fr)}.f-grid{grid-template-columns:1fr 1fr}}
@media (max-width:860px){
  section{padding:4.2rem 0}
  .hero .wrap,.split-head,.spot,.area,.cta{grid-template-columns:1fr}
  .hero .wrap{padding-top:3.5rem;padding-bottom:4rem;gap:2.2rem}
  .split-head{gap:1rem;margin-bottom:2rem}
  .svc-grid{grid-template-columns:1fr}.partners{grid-template-columns:repeat(2,1fr)}
  .spot{gap:2rem}.spot.reverse .media{order:0}
  .cta{padding:2rem 1.3rem;border-radius:18px}
  form.quote{grid-template-columns:1fr;padding:1.3rem}
  .topbar .hide-sm{display:none}
}
@media (max-width:560px){.why{grid-template-columns:1fr}.f-grid{grid-template-columns:1fr}.hdr-cta .btn{padding:.6rem 1rem;font-size:.88rem}.logo img{height:44px}header.site .wrap{height:68px}}

.show-sm{display:none}
.stack{padding:1.4rem}
.stack-head{display:flex;justify-content:space-between;font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--sky);padding:0 .3rem .9rem;border-bottom:1px solid var(--line);margin-bottom:.4rem}
.stack-head .live{color:var(--volt)}
.stack .row{display:grid;grid-template-columns:44px 1fr auto;gap:.9rem;align-items:center;padding:.85rem .3rem;border-bottom:1px solid rgba(191,230,247,.1)}
.stack .row:last-child{border-bottom:0}
.stack .row .ic{width:44px;height:44px;border-radius:10px;display:grid;place-items:center;background:rgba(26,159,208,.16);color:var(--sky)}
.stack .row b{font-family:var(--display);font-weight:600;display:block;color:#fff}
.stack .row small{color:#a9c4d2;font-size:.85rem}
.stack .row em{font-style:normal;font-family:var(--mono);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line);border-radius:999px;padding:.25rem .55rem;color:var(--sky)}
.stack .row em.hv{border-color:rgba(255,210,0,.5);color:var(--volt)}
@media (max-width:860px){.show-sm{display:inline}}
@media (max-width:400px){.stack .row{grid-template-columns:40px 1fr}.stack .row em{display:none}}

.offices{display:grid;gap:1rem}
.office{display:flex;gap:1.1rem;align-items:flex-start;border:1px solid var(--line);border-radius:16px;padding:1.4rem 1.5rem;background:linear-gradient(160deg,rgba(255,255,255,.06),rgba(255,255,255,.02))}
.office .st{flex:0 0 56px;height:56px;border-radius:12px;display:grid;place-items:center;font:700 1.2rem var(--display);background:rgba(255,210,0,.14);color:var(--volt);border:1px solid rgba(255,210,0,.4)}
.office small{display:block;font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--sky)}
.office b{display:block;font-family:var(--display);font-size:1.15rem;color:#fff;margin:.15rem 0 .3rem}
.office p{margin:0;color:#c9dce6}
.office a{text-decoration:none}
.office.line{background:var(--brand);border-color:var(--brand)}
.office.line b{font-size:1.5rem}
.spot .btn+.btn,.area .btn+.btn{margin-left:.5rem}
@media (max-width:560px){.spot .btn+.btn,.area .btn+.btn{margin:.7rem 0 0}}

/* ===== v3: cabling-first layout ===== */
nav.main ul{gap:1.4rem}
.lead-grid{grid-template-columns:repeat(3,1fr);grid-auto-rows:auto}
.svc.big{grid-column:span 2;grid-row:span 2;padding:2.4rem;background:linear-gradient(150deg,#062c45,var(--navy) 60%);}
.svc.big h3{font-size:2rem}
.svc.big p{font-size:1.05rem;max-width:40rem}
.svc.big .ic{width:60px;height:60px}
.big-cols{display:grid;grid-template-columns:1fr 1fr;gap:0 1.5rem;margin:.4rem 0 1.4rem}
.big-cols ul{margin:0;font-size:.98rem}
.big-cta{margin-top:auto;display:flex;gap:.7rem;flex-wrap:wrap}
.types{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;margin-bottom:2.4rem}
.type{border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem 1.5rem;background:rgba(4,25,42,.55);display:flex;flex-direction:column}
.type .cat{font-family:var(--display);font-weight:700;font-size:1.45rem;color:#fff;margin-bottom:.4rem}
.type p{font-size:.95rem;margin-bottom:1rem}
.type .spec{margin-top:auto;font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--sky);border-top:1px solid var(--line);padding-top:.8rem}
.type.fib{border-color:rgba(255,210,0,.35)}
.type.fib .cat{color:var(--volt)}
.includes{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem;border-top:1px solid var(--line);padding-top:2rem}
.inc{display:flex;gap:.9rem;align-items:flex-start}
.inc svg{flex:0 0 24px;color:var(--volt);margin-top:.15rem}
.inc b{font-family:var(--display);color:#fff;display:block;margin-bottom:.25rem;font-size:1.05rem}
.inc p{font-size:.9rem;margin:0}
.fiber-split{display:grid;grid-template-columns:1.05fr 1fr;gap:4rem;align-items:center}
.compare{background:#fff;border:1px solid #d6e3eb;border-radius:18px;overflow:hidden;box-shadow:0 20px 50px rgba(4,25,42,.08)}
.cmp-head,.cmp-row{display:grid;grid-template-columns:.8fr 1fr 1fr;gap:1rem;padding:.95rem 1.3rem;align-items:start}
.cmp-head{background:var(--navy);color:#fff;font-family:var(--display)}
.cmp-head b:last-child{color:var(--volt)}
.cmp-row{border-top:1px solid #e3ebf0;font-size:.9rem}
.cmp-row span{font-family:var(--mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--brand);padding-top:.15rem}
.cmp-row p{margin:0;color:#33434f}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.duo-card{display:grid;grid-template-columns:200px 1fr;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:rgba(4,25,42,.6)}
.duo-card img{width:100%;height:100%;object-fit:cover;min-height:240px}
.duo-body{padding:1.6rem}
.duo-body .tag{font-family:var(--mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--volt);margin-bottom:.5rem}
.duo-body p{font-size:.95rem}
.duo-body .more{font-family:var(--mono);font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;color:var(--volt);font-weight:600}
@media (max-width:1080px){.includes{grid-template-columns:1fr 1fr}.types{grid-template-columns:1fr 1fr}.duo{grid-template-columns:1fr}}
@media (max-width:860px){
  .lead-grid{grid-template-columns:1fr}.svc.big{grid-column:auto;grid-row:auto;padding:1.7rem}.svc.big h3{font-size:1.6rem}
  .big-cols{grid-template-columns:1fr}
  .fiber-split{grid-template-columns:1fr;gap:2rem}.fiber-split .compare{order:2}
  .cmp-head,.cmp-row{grid-template-columns:.7fr 1fr 1fr;gap:.6rem;padding:.8rem .9rem;font-size:.84rem}
}
@media (max-width:560px){.types,.includes{grid-template-columns:1fr}.duo-card{grid-template-columns:1fr}.duo-card img{min-height:0;aspect-ratio:16/9}}

/* checklist: allow inline placeholders inside items */
.checks li{display:block;position:relative;padding-left:2.1rem}
.checks li::before{position:absolute;left:0;top:.15rem;width:22px;margin-top:0}

/* v4: Cat6/Cat6A lead, Cat5e legacy */
.types{grid-template-columns:repeat(6,1fr)}
.type.lead{grid-column:span 3;padding:1.9rem 2rem;border-color:rgba(26,159,208,.55);background:linear-gradient(150deg,rgba(0,113,155,.28),rgba(4,25,42,.7) 70%)}
.type.lead .cat{font-size:2.3rem}
.type.lead p{font-size:1.02rem}
.type.minor,.type.fib{grid-column:span 2}
.type.minor{opacity:.85;background:rgba(4,25,42,.35);border-style:dashed}
.type.minor .cat{font-size:1.2rem;color:#c9dce6}
.type.minor p{font-size:.88rem}
.type .tier{font-family:var(--mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--sky);margin-bottom:.35rem}
.type.lead .tier{color:var(--volt)}
.type.fib .tier{color:var(--volt)}
.chip-lead{border-color:rgba(255,210,0,.6);color:var(--volt);font-weight:600}
.chip-minor{opacity:.7}
.stack .row.minor{opacity:.72;padding:.6rem .3rem}
.stack .row.minor .ic{width:36px;height:36px;margin-left:4px}
.stack .row.minor b{font-size:.92rem}
@media (max-width:1080px){.types{grid-template-columns:1fr 1fr}.type.lead,.type.fib{grid-column:span 1}.type.minor{grid-column:1/-1}}
@media (max-width:560px){.types{grid-template-columns:1fr}.type.lead,.type.fib,.type.minor{grid-column:auto}.type.lead .cat{font-size:1.9rem}}

/* ===== v5: dark header + logo badge, trust strip, network/smart hands, contractors, map ===== */
.topbar{background:#020f1a}
header.site{background:var(--navy);border-bottom:1px solid rgba(191,230,247,.14);box-shadow:0 6px 24px rgba(0,0,0,.35)}
header.site .wrap{height:96px}
nav.main ul{gap:1.25rem}
nav.main a{color:#e3f1f8;font-size:.92rem}
nav.main a:hover,nav.main a.active{color:#fff}
.hdr-cta .call{color:var(--volt)}
.menu-btn{background:transparent;color:#fff;border-color:rgba(191,230,247,.35)}
.logo{position:relative;display:inline-flex;align-items:center;background:#fff;border-radius:14px;padding:6px 12px;
  box-shadow:0 0 0 1px rgba(41,182,232,.55),0 0 18px rgba(41,182,232,.35);transition:box-shadow .3s}
.logo img{height:64px;width:auto}
/* short "patch lead": the duplex fiber leaves the logo and runs to the header edge, where the page fiber picks it up */
.logo::after{content:"";position:absolute;left:calc(50% - 4px);top:100%;width:10px;height:14px;
  background:linear-gradient(90deg,#29b6e8 0 2px,transparent 2px 8px,#ffd200 8px 10px);opacity:.9}
.hero .wrap{padding-top:5.5rem}
/* trust strip */
.trust{padding:1.6rem 0;background:#041f31;color:#fff;border-bottom:1px solid rgba(191,230,247,.12)}
.trust .wrap{display:flex;align-items:center;gap:2rem;flex-wrap:wrap;justify-content:space-between}
.trust-title{display:flex;align-items:center;gap:.8rem;color:var(--volt)}
.trust-title b{display:block;font-family:var(--display);font-size:1.2rem;color:#fff}
.trust-title small{font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--sky)}
.trust-badges{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;flex:1;max-width:820px}
.tb{display:flex;align-items:center;gap:.7rem;border:1px solid rgba(191,230,247,.22);border-radius:12px;padding:.6rem .8rem;background:rgba(255,255,255,.03)}
.tb .st{flex:0 0 40px;height:40px;border-radius:10px;display:grid;place-items:center;font:700 1rem var(--display);color:var(--navy);background:var(--volt)}
.tb b{display:block;font-size:.92rem}.tb small{font-size:.75rem;color:#c9dce6}
/* services grid with two "right after cabling" cards */
.svc.second{border-color:var(--brand-2);box-shadow:inset 0 3px 0 var(--volt)}
.svc.second h3{font-size:1.4rem}
/* network + smart hands */
.net-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.net-card{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:rgba(4,25,42,.6);display:flex;flex-direction:column}
.illo{background:radial-gradient(circle at 50% 40%,rgba(26,159,208,.18),transparent 70%),#03182a;border-bottom:1px solid var(--line);padding:1.2rem 1.4rem}
.illo svg{width:100%;height:auto;display:block}
.net-body{padding:1.6rem 1.7rem 1.9rem;display:flex;flex-direction:column;flex:1}
.net-body .tag,.ctr-card .tag{font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--volt);margin-bottom:.5rem}
.net-body h3{font-size:1.6rem}
.mini{margin:0 0 1.4rem;padding-left:1.1rem;color:#c9dce6;font-size:.94rem;display:grid;gap:.25rem}
.net-body .btn{align-self:flex-start;margin-top:auto}
.led{animation:led-blink 2.2s steps(2,start) infinite}.led.d2{animation-duration:1.7s}.led.d3{animation-duration:2.9s}
@keyframes led-blink{50%{opacity:.25}}
/* contractors */
.contractors{background:radial-gradient(900px 400px at 100% 0,rgba(255,210,0,.12),transparent 60%),linear-gradient(135deg,#00577a,#033149 70%);color:#fff}
.contractors p{color:#d8ebf4}
.contractors .eyebrow{color:var(--volt)}
.ctr{display:grid;grid-template-columns:1.25fr .9fr;gap:3.5rem;align-items:start}
.ctr h2{font-size:clamp(2rem,3.6vw,3rem)}
.ctr-list{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:1.8rem 0 2rem}
.ctr-list div{border:1px solid rgba(191,230,247,.25);border-radius:14px;padding:1rem;background:rgba(2,15,26,.25)}
.ctr-list svg{color:var(--volt);display:block;margin-bottom:.5rem}
.ctr-list b{display:block;font-family:var(--display);font-size:1.02rem}.ctr-list span{font-size:.86rem;color:#c9dce6}
.contractors .actions{display:flex;gap:.8rem;flex-wrap:wrap}
.ctr-card{background:#fff;color:var(--ink);border-radius:20px;padding:1.8rem;box-shadow:0 30px 60px rgba(0,0,0,.3)}
.ctr-card .tag{color:var(--brand)}
.reg{border-left:3px solid var(--volt);padding:.2rem 0 .2rem .9rem;margin:.9rem 0}
.reg b{display:block;font-family:var(--display);font-size:1.15rem}.reg span{font-size:.88rem;color:var(--muted)}
.steps{border-top:1px solid #e3ebf0;margin-top:1.2rem;padding-top:1rem;display:grid;gap:.55rem;font-size:.92rem}
.steps i{font-style:normal;display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--navy);color:var(--volt);font:600 .75rem var(--mono);margin-right:.6rem}
.ctr-fine{font-size:.8rem;margin:1rem 0 0;color:var(--muted)!important}
/* duo illustrations */
.duo-card{background:#fff;border-color:#d6e3eb;color:var(--ink)}
.duo-illo{background:radial-gradient(circle at 50% 45%,rgba(26,159,208,.25),transparent 70%),var(--navy);display:grid;place-items:center;padding:1rem}
.duo-illo svg{width:100%;max-width:220px;height:auto}
#more .duo-body p{color:var(--muted)}#more .duo-body .tag,#more .duo-body .more{color:var(--brand)}
/* platforms */
.badge.net-badge{border-color:var(--brand-2);background:#f0f9fd}
/* service area map */
.area2{display:grid;grid-template-columns:1.5fr 1fr;gap:2rem;align-items:center}
.map-card{border:1px solid var(--line);border-radius:20px;padding:1rem;background:#03182a}
.usmap{width:100%;height:auto;display:block}
.pin-office circle{fill:#ffd200}.pin-office .ring{fill:rgba(255,210,0,.15);stroke:#ffd200;stroke-width:1.5;transform-box:fill-box;transform-origin:center;animation:fiber-breathe 2.8s ease-in-out infinite}
.pin-lic circle{fill:#04192a;stroke:#29b6e8;stroke-width:3}
.offices .office{padding:1rem 1.2rem}
.offices .office p{font-size:.92rem}
@media (prefers-reduced-motion:reduce){.map-pulse{display:none}.led,.pin-office .ring{animation:none}}
@media (max-width:1240px){nav.main a{font-size:.86rem}nav.main ul{gap:.9rem}.hdr-cta .call{display:none}}
@media (max-width:1080px){.net-grid,.ctr,.area2{grid-template-columns:1fr}.ctr-list{grid-template-columns:1fr 1fr}.trust-badges{grid-template-columns:repeat(2,1fr);max-width:none}}
@media (max-width:860px){header.site .wrap{height:80px}.logo img{height:50px}.logo{padding:5px 9px;border-radius:12px}}
@media (max-width:560px){header.site .wrap{height:72px}.logo img{height:44px}.ctr-list{grid-template-columns:1fr}.trust .wrap{gap:1rem}.hdr-cta .btn{padding:.55rem .85rem;font-size:.82rem}}
nav.main a{white-space:nowrap;font-size:.9rem}
.hdr-cta .call{white-space:nowrap}
@media (max-width:1480px){.hdr-cta .call{display:none}}

/* v6: "licensed" strip (no license numbers) */
.trust-title small{font-family:var(--sans);font-size:.95rem;letter-spacing:0;text-transform:none;color:#cfe3ee}
.trust-badges{max-width:none;flex:0 1 auto;grid-template-columns:repeat(4,auto)}
@media (max-width:1080px){.trust-badges{grid-template-columns:repeat(2,minmax(0,1fr));flex:1}}
.tb{min-width:0;padding:.55rem .75rem}.tb b{white-space:nowrap}
@media (min-width:1081px){.trust .wrap{flex-wrap:nowrap;gap:1.5rem}.trust-title{flex:1 1 auto;min-width:0}.trust-badges{flex:0 0 auto;gap:.6rem}}

/* ===================== site build additions (multi-page) ===================== */
.mockup-flag{display:none!important}
.skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--volt);color:var(--navy);padding:.6rem 1rem;font-weight:700;border-radius:0 0 10px 0}
.skip:focus{left:0}
:focus-visible{outline:3px solid var(--volt);outline-offset:2px}
/* page hero */
.page-hero .wrap{padding-top:4.2rem;padding-bottom:4.6rem;grid-template-columns:1.2fr 1fr}
.page-hero h1{font-size:clamp(2.2rem,4.4vw,3.6rem)}
.crumbs{font-family:var(--mono);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:#9cc6da;margin-bottom:1.2rem}
.crumbs a{color:#cfe3ee;text-decoration:none}.crumbs a:hover{color:#fff}
.crumbs [aria-current]{color:var(--volt)}
.illo-card .illo{border-radius:12px;border:1px solid var(--line)}
/* "More" dropdown */
nav.main .has-sub{position:relative}
.sub-btn{background:none;border:0;color:#e3f1f8;font:500 .9rem var(--sans);padding:.4rem 0;cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap}
.sub-btn:hover,.has-sub.active-parent .sub-btn{color:#fff;border-color:var(--volt)}
nav.main .sub{display:none;position:absolute;right:-1rem;top:100%;min-width:230px;background:#06243a;border:1px solid rgba(191,230,247,.2);border-radius:14px;padding:.6rem;box-shadow:0 20px 40px rgba(0,0,0,.4);flex-direction:column;gap:0;z-index:60}
nav.main .sub a{display:block;padding:.55rem .8rem;border-radius:8px;border:0}
nav.main .sub a:hover,nav.main .sub a.active{background:rgba(255,255,255,.08);color:#fff}
nav.main .has-sub:hover .sub,nav.main .has-sub:focus-within .sub,nav.main .has-sub.open .sub{display:flex}
nav.main .has-sub::after{content:"";position:absolute;left:0;right:0;top:100%;height:12px}
/* mobile menu panel */
@media (max-width:1080px){
  header.site .wrap{position:relative}
  header.site.open nav.main{display:block;position:absolute;left:0;right:0;top:100%;background:#04192a;border-top:1px solid rgba(191,230,247,.15);border-bottom:1px solid rgba(191,230,247,.15);padding:1rem 1.25rem 1.4rem;max-height:calc(100vh - 120px);overflow:auto;box-shadow:0 20px 40px rgba(0,0,0,.4)}
  header.site.open nav.main ul{flex-direction:column;gap:0}
  header.site.open nav.main a{display:block;padding:.75rem .2rem;font-size:1rem;border-bottom:1px solid rgba(191,230,247,.1)}
  header.site.open .sub-btn{display:none}
  header.site.open nav.main .sub{display:flex;position:static;box-shadow:none;border:0;background:none;padding:0;min-width:0}
  header.site.open nav.main .sub a{padding:.75rem .2rem;border-radius:0}
}
/* grids */
.svc-grid.cols-2{grid-template-columns:repeat(2,1fr)}.svc-grid.cols-4{grid-template-columns:repeat(4,1fr)}
.svc .more+.more{margin-top:.5rem}
/* process */
.process{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1rem;counter-reset:none}
.process li{border:1px solid #dbe7ee;border-radius:16px;padding:1.3rem 1.3rem 1.4rem;background:#fff;position:relative}
.process .n{display:inline-block;font-family:var(--mono);font-size:.78rem;letter-spacing:.1em;color:var(--navy);background:var(--volt);border-radius:6px;padding:.15rem .45rem;margin-bottom:.8rem}
.process b{display:block;font-family:var(--display);font-size:1.08rem;margin-bottom:.35rem}
.process p{margin:0;font-size:.93rem;color:var(--muted)}
.dark .process li{background:rgba(4,25,42,.55);border-color:var(--line)}.dark .process p{color:#c9dce6}
.ctr .process{grid-template-columns:1fr 1fr;margin-top:1.6rem}
/* faq */
.faq{display:grid;gap:.8rem;max-width:880px}
.faq details{border:1px solid #dbe7ee;border-radius:14px;background:#fff;padding:0 1.3rem}
.faq summary{cursor:pointer;list-style:none;padding:1.1rem 0;font-weight:600;font-family:var(--display);font-size:1.05rem;display:flex;justify-content:space-between;gap:1rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--brand);font-family:var(--mono);font-size:1.2rem}
.faq details[open] summary::after{content:"\2212"}
.faq details p{margin:0 0 1.1rem;color:var(--muted)}
/* checks */
.checks{list-style:none;padding:0;margin:1.2rem 0 1.6rem;display:grid;gap:.6rem}
.checks li{position:relative;padding-left:1.8rem}
.checks li::before{content:"";position:absolute;left:0;top:.35em;width:1rem;height:.55rem;border-left:3px solid var(--brand-2);border-bottom:3px solid var(--brand-2);transform:rotate(-45deg)}
/* CTA band */
.cta-sec{padding:4.5rem 0}
.cta-band{background:linear-gradient(120deg,var(--brand),#005273);color:#fff;border-radius:24px;padding:2.6rem 3rem;display:grid;grid-template-columns:1.4fr 1fr;gap:2rem;align-items:center;position:relative;overflow:hidden}
.cta-band::after{content:"";position:absolute;right:-90px;top:-90px;width:260px;height:260px;border-radius:50%;border:38px solid rgba(255,210,0,.12);pointer-events:none}
.cta-band h2{font-size:clamp(1.6rem,3vw,2.3rem);margin:.2rem 0 .5rem}.cta-band p{color:#dcedf5;margin:0}
.cta-actions{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center;position:relative;z-index:1}
.cta-actions small{flex-basis:100%;color:#dcedf5}.cta-actions small a{color:#fff;font-weight:600}
/* home contact CTA */
.quote-card{background:#fff;color:var(--ink);border-radius:20px;padding:2rem;display:grid;gap:.9rem;position:relative;z-index:1}
.quote-card h3{margin:0;font-size:1.5rem}.quote-card p{color:var(--muted)!important;margin:0}
.quote-card .btn{justify-content:center}.quote-card .btn-outline{border-color:var(--brand);color:var(--brand)}
.quote-card .fine{font-size:.8rem}
/* contractors */
.ctr-card .send{margin:.6rem 0 0;padding-left:1.1rem;display:grid;gap:.4rem}
.partners.two{grid-template-columns:repeat(2,minmax(0,340px))}
.note{font-size:.88rem;color:var(--muted);margin-top:1.6rem}
.legal-links a{color:var(--brand);font-weight:600}
/* contact page */
.contact-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:2rem;align-items:start}
.form-card{background:#fff;border:1px solid #dbe7ee;border-radius:20px;padding:2rem;box-shadow:0 20px 50px rgba(4,25,42,.08);min-width:0}
.form-card h2{margin-top:0}.form-card p{color:var(--muted)}
#formspark-embed{max-width:100%;overflow-x:hidden}
.form-card iframe{width:100%!important;max-width:100%;border:0;display:block;min-height:520px}
.fine{font-size:.82rem}
.contact-side{display:grid;gap:1rem}
.side-card{border:1px solid #dbe7ee;border-radius:16px;padding:1.2rem 1.3rem;background:#f3f8fb}
.side-card small{display:block;font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--brand);margin-bottom:.3rem}
.side-card p{margin:.3rem 0 0;color:var(--muted);font-size:.95rem}
.side-card a{color:var(--brand);font-weight:600}.side-card a.big{font:700 1.4rem var(--display);color:var(--ink);text-decoration:none}
/* 404 */
.nf{text-align:center;padding:6rem 0}.nf h1{font-size:clamp(2.4rem,6vw,4rem)}
@media (max-width:1080px){.svc-grid.cols-4{grid-template-columns:repeat(2,1fr)}.cta-band{grid-template-columns:1fr}.contact-grid{grid-template-columns:1fr}}
@media (max-width:860px){.page-hero .wrap{grid-template-columns:1fr;padding-top:3rem;padding-bottom:3.4rem}.svc-grid.cols-2,.svc-grid.cols-4{grid-template-columns:1fr}.ctr .process{grid-template-columns:1fr}.partners.two{grid-template-columns:1fr 1fr}.cta-band{padding:2rem 1.4rem;border-radius:18px}.form-card{padding:1.3rem}}
@media (max-width:560px){.partners.two{grid-template-columns:1fr}.cta-actions .btn{width:100%;justify-content:center}.quote-card{padding:1.4rem}}

/* v6: "licensed" strip (no license numbers) */
.trust-title small{font-family:var(--sans);font-size:.95rem;letter-spacing:0;text-transform:none;color:#cfe3ee}
.trust-badges{max-width:none;flex:0 1 auto;grid-template-columns:repeat(4,auto)}
@media (max-width:1080px){.trust-badges{grid-template-columns:repeat(2,minmax(0,1fr));flex:1}}
.tb{min-width:0;padding:.55rem .75rem}.tb b{white-space:nowrap}
@media (min-width:1081px){.trust .wrap{flex-wrap:nowrap;gap:1.5rem}.trust-title{flex:1 1 auto;min-width:0}.trust-badges{flex:0 0 auto;gap:.6rem}}

/* ===== v7: transparent logo on navy + "charging" effect (fiber pulses + scroll) ===== */
.logo{position:relative;display:inline-flex;align-items:center;background:none;border-radius:0;padding:0;box-shadow:none;--charge:0;isolation:isolate}
.logo .logo-img{position:relative;z-index:1;display:block;height:68px;width:auto}
.logo .logo-glow{position:absolute;z-index:0;left:-14%;right:-14%;top:-30%;bottom:-30%;pointer-events:none;border-radius:50%;
  background:radial-gradient(closest-side,rgba(60,195,240,.75),rgba(41,182,232,.24) 55%,rgba(41,182,232,0) 100%);
  opacity:calc(.16 + var(--charge) * .84);transform:scale(calc(.86 + var(--charge) * .2));will-change:opacity,transform}
.logo .logo-sweep{position:absolute;z-index:2;inset:0;pointer-events:none;overflow:hidden;opacity:0;
  -webkit-mask:url(/img/logo-mask.png) center/100% 100% no-repeat;mask:url(/img/logo-mask.png) center/100% 100% no-repeat}
.logo .logo-sweep::before{content:"";position:absolute;top:0;bottom:0;left:0;width:55%;transform:translateX(-110%);
  background:linear-gradient(100deg,rgba(255,255,255,0) 0,rgba(140,225,255,.55) 35%,#fff 50%,rgba(140,225,255,.55) 65%,rgba(255,255,255,0) 100%)}
.logo .logo-sweep::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(80,205,255,.25),rgba(150,230,255,.55));transform-origin:left center;transform:scaleX(0)}
.logo .logo-bolt{position:absolute;z-index:3;left:0;top:0;height:100%;width:auto;pointer-events:none;opacity:0;
  filter:drop-shadow(0 0 3px rgba(255,236,120,.95)) drop-shadow(0 0 8px rgba(255,210,0,.75))}
.logo.charge-a .logo-sweep{animation:logo-show-a .95s ease-out}
.logo.charge-b .logo-sweep{animation:logo-show-b .95s ease-out}
.logo.charge-a .logo-sweep::before{animation:logo-sweep-a .95s cubic-bezier(.3,.1,.3,1)}
.logo.charge-b .logo-sweep::before{animation:logo-sweep-b .95s cubic-bezier(.3,.1,.3,1)}
.logo.charge-a .logo-sweep::after{animation:logo-fill-a .95s ease-out}
.logo.charge-b .logo-sweep::after{animation:logo-fill-b .95s ease-out}
.logo.charge-a .logo-bolt{animation:logo-bolt-a .95s linear}
.logo.charge-b .logo-bolt{animation:logo-bolt-b .95s linear}
@keyframes logo-show-a{0%,70%{opacity:1}100%{opacity:0}}
@keyframes logo-show-b{0%,70%{opacity:1}100%{opacity:0}}
@keyframes logo-sweep-a{from{transform:translateX(-110%)}to{transform:translateX(240%)}}
@keyframes logo-sweep-b{from{transform:translateX(-110%)}to{transform:translateX(240%)}}
@keyframes logo-fill-a{0%{transform:scaleX(0)}60%{transform:scaleX(1)}100%{transform:scaleX(1)}}
@keyframes logo-fill-b{0%{transform:scaleX(0)}60%{transform:scaleX(1)}100%{transform:scaleX(1)}}
@keyframes logo-bolt-a{0%{opacity:0}8%{opacity:1}16%{opacity:.25}24%{opacity:1}55%{opacity:.8}100%{opacity:0}}
@keyframes logo-bolt-b{0%{opacity:0}8%{opacity:1}16%{opacity:.25}24%{opacity:1}55%{opacity:.8}100%{opacity:0}}
.fiber-beat{animation:none}
.f-logo{background:none;padding:0;border-radius:0}.f-logo img{height:50px;width:auto}
@media (max-width:860px){.logo{padding:0}.logo .logo-img{height:50px}}
@media (max-width:560px){.logo .logo-img{height:46px}}
@media (prefers-reduced-motion:reduce){
  .logo .logo-glow{opacity:.3;transform:none}
  .logo .logo-sweep,.logo .logo-bolt{display:none}
}

/* ===== v8: nationwide fiber map ===== */
.usmap.nation .nm-strand{stroke-width:2.2;opacity:.55}
.usmap.nation .nm-a{stroke-width:2.4}
.usmap.nation .nm-dash{stroke-dasharray:6 6;opacity:.45}
.usmap.nation .nm-node circle{fill:#bfe6f7;stroke:#04192a;stroke-width:2}
.usmap.nation .pin-office circle{fill:#ffd200}
.map-legend{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;margin:.7rem .4rem .2rem;font-size:.82rem;color:#bfe6f7}
.map-legend span{display:inline-flex;align-items:center;gap:.45rem}
.map-legend i{width:12px;height:12px;border-radius:50%;display:inline-block}
.map-legend .lg-hub{background:#ffd200;box-shadow:0 0 0 3px rgba(255,210,0,.25)}
.map-legend .lg-pt{background:#bfe6f7;width:9px;height:9px}
.map-legend .lg-ln{width:18px;height:3px;border-radius:2px;background:linear-gradient(90deg,#29b6e8,#ffd200)}
.office.nat{border-color:rgba(255,210,0,.45)}
@media (max-width:560px){
  .usmap.nation .nm-lbl-region{display:none}
  .usmap.nation .nm-lbl-state{font-size:27px}
  .usmap.nation .nm-strand{stroke-width:3.2}
  .usmap.nation .nm-node circle{r:7px}
  .usmap.nation .map-pulse rect{transform:scale(1.5)}
}
.offices .office.nat{border:1px solid rgba(255,210,0,.55);background:linear-gradient(135deg,rgba(255,210,0,.12),rgba(41,182,232,.10));display:block}
.offices .office.nat b{font-size:1.3rem;color:#fff}
.offices .office.nat small{color:var(--volt)}
