:root{
  --bg:#141414;
  --panel:#1D1D1D;
  --panel-2:#252525;
  --line:#333333;
  --yellow:#FFC600;
  --yellow-2:#FFD84D;
  --red:#E2231A;
  --red-2:#FF3B2E;
  --ink:#F5F3EE;
  --muted:#A3A099;
  --mono:'IBM Plex Mono', monospace;
  --display:'Archivo', sans-serif;
  --body:'Inter', sans-serif;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font-family:var(--body);line-height:1.55;-webkit-font-smoothing:antialiased;
  background-image:
    repeating-linear-gradient(-45deg, rgba(255,198,0,0.025) 0px, rgba(255,198,0,0.025) 2px, transparent 2px, transparent 14px);
}
img,svg{display:block;max-width:100%;}
a{color:inherit;}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px;}

h1,h2,h3{font-family:var(--display);font-weight:800;letter-spacing:-0.01em;margin:0;text-transform:uppercase;}

.eyebrow{
  font-family:var(--mono);font-size:12.5px;letter-spacing:0.12em;text-transform:uppercase;
  color:var(--yellow);display:inline-flex;align-items:center;gap:8px;
}
.eyebrow::before{content:"";width:16px;height:2px;background:var(--yellow);}

/* ---------- Hazard rule (signature divider, in ring-safety colors) ---------- */
.hazard{
  height:8px;
  background:repeating-linear-gradient(
    -45deg,
    var(--yellow) 0px, var(--yellow) 16px,
    #141414 16px, #141414 32px
  );
}

/* ---------- Header ---------- */
header{
  position:sticky;top:0;z-index:50;background:rgba(20,20,20,0.92);
  backdrop-filter:blur(10px);border-bottom:1px solid var(--line);
}
.nav{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;}
.brand svg{width:34px;height:34px;}
.brand span{font-family:var(--display);font-weight:800;font-size:21px;letter-spacing:0.01em;color:var(--ink);text-transform:uppercase;}
nav.links{display:flex;gap:26px;}
nav.links a{font-size:14px;color:var(--muted);text-decoration:none;font-weight:500;}
nav.links a:hover{color:var(--yellow);}
.navcta{display:flex;align-items:center;gap:14px;}
.btn{
  display:inline-flex;align-items:center;gap:8px;padding:11px 20px;border-radius:4px;
  font-weight:700;font-size:14px;text-decoration:none;border:1px solid transparent;cursor:pointer;
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
  text-transform:uppercase;letter-spacing:0.02em;
}
.btn-alert{background:var(--red);color:#fff;}
.btn-alert:hover{box-shadow:0 0 0 3px rgba(226,35,26,.28);transform:translateY(-1px);}
.btn-primary{background:var(--yellow);color:#141414;}
.btn-primary:hover{background:var(--yellow-2);box-shadow:0 0 0 3px rgba(255,198,0,.22);}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line);}
.btn-ghost:hover{border-color:var(--yellow);color:var(--yellow);}
.menu-toggle{display:none;background:none;border:1px solid var(--line);border-radius:4px;color:var(--ink);padding:7px 9px;cursor:pointer;}
.mobile-panel{display:none;flex-direction:column;background:var(--panel);border-bottom:1px solid var(--line);padding:8px 24px 18px;}
.mobile-panel.open{display:flex;}
.mobile-panel a{padding:12px 0;color:var(--muted);text-decoration:none;font-size:15px;border-bottom:1px solid var(--line);}
.mobile-panel a:last-child{border-bottom:none;}
.mobile-panel .mp-alert{color:var(--red-2);font-family:var(--mono);font-weight:700;}

.alert-strip{
  background:var(--red);color:#fff;text-align:center;padding:9px 16px;
  font-family:var(--mono);font-size:13px;letter-spacing:.02em;
}
.alert-strip a{color:#fff;text-decoration:underline;font-weight:700;}

/* ---------- Hero ---------- */
.hero{padding:88px 0 56px;}
.hero-grid{display:grid;grid-template-columns:1.15fr 0.85fr;gap:48px;align-items:start;}
.hero h1{font-size:clamp(34px,4.6vw,54px);line-height:1.05;color:var(--ink);margin-top:16px;}
.hero h1 em{font-style:normal;color:var(--yellow);}
.hero p.lead{font-size:17px;color:var(--muted);max-width:50ch;margin:20px 0 30px;font-family:var(--body);text-transform:none;}
.hero-ctas{display:flex;gap:12px;flex-wrap:wrap;}

.hero-panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:26px;}
.hero-panel .badge{
  display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:12px;
  color:var(--red-2);border:1px solid rgba(226,35,26,.4);background:rgba(226,35,26,.08);
  border-radius:100px;padding:5px 11px;margin-bottom:16px;
}
.pulse{width:7px;height:7px;border-radius:50%;background:var(--red-2);animation:pulse 1.6s infinite;}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:.35;}}
.hero-panel h3{font-size:16px;margin-bottom:6px;text-transform:none;}
.hero-panel p{color:var(--muted);font-size:14px;margin:0 0 18px;}
.hero-phone{
  display:flex;align-items:center;justify-content:space-between;
  font-family:var(--mono);font-size:20px;color:var(--yellow);text-decoration:none;
  border-top:1px dashed var(--line);padding-top:16px;
}
.hero-phone svg{width:18px;height:18px;color:var(--red-2);}

/* ---------- Voltage scale (signature) ---------- */
.vscale{margin-top:52px;}
.vscale-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:14px;}
.vscale-head span{font-family:var(--mono);font-size:12px;color:var(--muted);}
.vscale-track{position:relative;border:1px solid var(--line);border-radius:8px;background:var(--panel);overflow:hidden;}
.vscale-ticks{position:relative;display:flex;}
.vzone{flex:1;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;padding:14px;position:relative;}
.vzone:last-child{border-right:none;}
.vzone b{font-family:var(--mono);font-size:12.5px;color:var(--yellow);}
.vzone span{font-size:11.5px;color:var(--muted);}
.vzone.emergency{background:rgba(226,35,26,.12);}
.vzone.emergency b{color:var(--red-2);}

/* ---------- Sections ---------- */
section{padding:80px 0;}
.section-head{max-width:640px;margin-bottom:44px;}
.section-head h2{font-size:clamp(24px,3vw,34px);margin-top:10px;}
.section-head p{color:var(--muted);font-size:15.5px;margin-top:12px;text-transform:none;font-family:var(--body);}

/* ---------- Segments ---------- */
.segments-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.segment-card{
  background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:24px;
  transition:border-color .2s ease, transform .2s ease;
}
.segment-card:hover{border-color:var(--yellow);transform:translateY(-3px);}
.segment-card.emergency{border-color:rgba(226,35,26,.5);background:linear-gradient(180deg,rgba(226,35,26,.08),transparent 60%);}
.segment-card .tag{
  font-family:var(--mono);font-size:11px;color:var(--yellow);text-transform:uppercase;letter-spacing:.06em;
}
.segment-card.emergency .tag{color:var(--red-2);}
.segment-card h3{font-size:17px;font-weight:700;margin:10px 0 8px;text-transform:none;}
.segment-card p{color:var(--muted);font-size:13.5px;margin:0;text-transform:none;font-family:var(--body);}

/* ---------- Services ---------- */
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.service-card{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:26px;}
.service-card svg{width:30px;height:30px;color:var(--yellow);margin-bottom:16px;}
.service-card h3{font-size:16.5px;font-weight:700;margin-bottom:8px;text-transform:none;}
.service-card p{color:var(--muted);font-size:14px;margin:0;text-transform:none;font-family:var(--body);}

/* ---------- Process ---------- */
.process{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative;}
.process::before{content:"";position:absolute;top:23px;left:0;right:0;height:1px;background:var(--line);}
.step{padding-right:24px;position:relative;}
.step .num{
  font-family:var(--mono);color:#141414;background:var(--yellow);width:46px;height:46px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;position:relative;z-index:2;margin-bottom:20px;
}
.step h3{font-size:16px;font-weight:700;margin-bottom:8px;text-transform:none;}
.step p{color:var(--muted);font-size:13.5px;margin:0;text-transform:none;font-family:var(--body);}

/* ---------- Band ---------- */
.band{background:var(--red);color:#fff;}
.band-grid{display:grid;grid-template-columns:repeat(4,1fr);padding:42px 0;}
.band-item{text-align:center;border-left:1px solid rgba(255,255,255,.22);}
.band-item:first-child{border-left:none;}
.band-item b{display:block;font-family:var(--mono);font-size:30px;color:var(--yellow);}
.band-item span{font-size:12.5px;color:rgba(255,255,255,.85);}

/* ---------- Coverage ---------- */
.coverage{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.coverage ul{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:11px;}
.coverage li{display:flex;gap:10px;align-items:flex-start;color:var(--muted);font-size:14.5px;}
.coverage li svg{width:17px;height:17px;color:var(--yellow);flex:none;margin-top:2px;}
.coverage-card{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:30px;}

/* ---------- Contact ---------- */
.contact-grid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:48px;}
.contact-info .big-phone{font-family:var(--mono);font-size:clamp(26px,3.2vw,34px);color:var(--red-2);text-decoration:none;display:inline-block;margin:14px 0 6px;}
.contact-list{margin-top:26px;display:grid;gap:15px;}
.contact-list div{display:flex;gap:12px;font-size:14px;color:var(--muted);}
.contact-list b{color:var(--ink);font-weight:700;display:block;font-size:12.5px;text-transform:uppercase;}

form.card{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:30px;}
.field{margin-bottom:16px;}
.field label{display:block;font-size:12.5px;color:var(--muted);margin-bottom:6px;font-family:var(--mono);text-transform:uppercase;}
.field input, .field select, .field textarea{
  width:100%;background:#0F0F0F;border:1px solid var(--line);border-radius:6px;padding:11px 13px;
  color:var(--ink);font-family:var(--body);font-size:14px;
}
.field input:focus, .field select:focus, .field textarea:focus{outline:2px solid var(--yellow);outline-offset:1px;border-color:var(--yellow);}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.form-note{font-size:12px;color:var(--muted);margin-top:9px;}

/* ---------- Footer ---------- */
footer{padding:44px 0 26px;border-top:1px solid var(--line);}
.foot-grid{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:24px;}
.foot-brand{display:flex;align-items:center;gap:8px;}
.foot-brand svg{width:26px;height:26px;}
.foot-brand span{font-family:var(--display);font-weight:800;color:var(--ink);font-size:16px;text-transform:uppercase;}
.foot-links{display:flex;gap:20px;flex-wrap:wrap;}
.foot-links a{font-size:13px;color:var(--muted);text-decoration:none;}
.foot-links a:hover{color:var(--yellow);}
.fineprint{margin-top:26px;padding-top:18px;border-top:1px solid var(--line);font-size:12px;color:var(--muted);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;}

@media (max-width:900px){
  nav.links{display:none;}
  .menu-toggle{display:inline-flex;align-items:center;justify-content:center;}
  .hero-grid{grid-template-columns:1fr;}
  .segments-grid{grid-template-columns:repeat(2,1fr);}
  .services-grid{grid-template-columns:repeat(2,1fr);}
  .process{grid-template-columns:repeat(2,1fr);row-gap:30px;}
  .process::before{display:none;}
  .band-grid{grid-template-columns:repeat(2,1fr);row-gap:26px;}
  .band-item:nth-child(3){border-left:none;}
  .coverage{grid-template-columns:1fr;}
  .contact-grid{grid-template-columns:1fr;}
  .vscale-ticks{flex-direction:column;}
  .vzone{border-right:none;border-bottom:1px solid var(--line);}
}
@media (max-width:520px){
  .segments-grid{grid-template-columns:1fr;}
  .services-grid{grid-template-columns:1fr;}
  .process{grid-template-columns:1fr;}
  .band-grid{grid-template-columns:1fr 1fr;}
  .row2{grid-template-columns:1fr;}
  section{padding:56px 0;}
  .hero{padding:64px 0 36px;}
}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  .btn,.segment-card{transition:none;}
  .pulse{animation:none;}
}
