:root{
  --navy-deep:#040507;
  --navy-mid:#0D0F14;
  --blue:#1E4FE0;
  --blue-light:#3E7BFF;
  --white:#FFFFFF;
  --offwhite:#F2F6FB;
  --gray:#6E7B90;
  --line: rgba(255,255,255,0.12);
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Barlow', sans-serif;
  color:var(--navy-deep);
  background:var(--offwhite);
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,.display{
  font-family:'Barlow Condensed', sans-serif;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.01em;
  line-height:1.02;
}
.mono{font-family:'Roboto Mono', monospace;}
a{color:inherit;}
img{max-width:100%; display:block;}
.wrap{max-width:1180px; margin:0 auto; padding:0 24px;}
section{padding:80px 0;}
@media (max-width:720px){ section{padding:56px 0;} }

/* ---------- PROMO BAR ---------- */
.promo-bar{
  background:linear-gradient(90deg, #12308F, var(--blue), #3E7BFF);
  color:var(--white); text-align:center;
  padding:10px 16px; font-size:14px; font-weight:700;
  letter-spacing:0.02em;
  display:flex; align-items:center; justify-content:center; gap:22px; flex-wrap:wrap;
}
.promo-bar b{
  background:var(--white); color:var(--blue); padding:2px 9px; border-radius:20px;
  margin:0 4px; font-family:'Roboto Mono'; font-weight:700;
}
.promo-phones{display:flex; gap:16px;}
.promo-phones a{ color:var(--white); text-decoration:none; font-family:'Roboto Mono'; font-weight:700; white-space:nowrap; }
@media (max-width:700px){ .promo-msg{display:none;} }

/* ---------- NAV ---------- */
header.nav{
  position:sticky; top:0; z-index:50;
  background:rgba(4,5,7,0.96);
  backdrop-filter:blur(6px);
  border-bottom:1px solid var(--line);
}
.nav-inner{
  max-width:1180px; margin:0 auto; padding:14px 24px;
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px;
}
.brand{display:flex; align-items:center; gap:12px; color:var(--white); text-decoration:none;}
.brand-logo{height:60px; width:auto; object-fit:contain; filter:drop-shadow(0 2px 6px rgba(0,0,0,0.4));}
@media (max-width:560px){ .brand-logo{height:48px;} }
.brand-name{font-family:'Barlow Condensed'; font-weight:700; font-size:22px; letter-spacing:0.02em; text-transform:uppercase;}
.brand-name span{color:var(--blue-light);}
nav.links{display:flex; gap:24px; font-size:15px; font-weight:600; color:var(--white); flex-wrap:wrap;}
nav.links a{opacity:0.82; text-decoration:none; transition:opacity .2s;}
nav.links a:hover{opacity:1;}
.nav-phone{ color:var(--blue-light); text-decoration:none; font-weight:700; font-size:14px; font-family:'Roboto Mono'; display:flex; align-items:center; gap:6px; }
@media (max-width:760px){ .nav-phone{display:none;} nav.links{display:none;} }
.nav-cta{
  background:var(--blue); color:var(--white); border:none;
  padding:11px 20px; font-weight:700; font-size:14px;
  border-radius:4px; cursor:pointer; text-decoration:none;
  text-transform:uppercase; letter-spacing:0.03em;
}

/* ---------- HERO ---------- */
.hero{ position:relative; overflow:hidden; background:var(--navy-deep); color:var(--white); padding:80px 0 90px; }
.eyebrow{
  font-family:'Roboto Mono'; font-size:12px; letter-spacing:0.18em;
  text-transform:uppercase; color:var(--blue-light); margin-bottom:18px;
  display:flex; align-items:center; gap:10px;
}
.eyebrow::before{content:''; width:26px; height:2px; background:var(--blue-light);}
.hero h1{font-size:clamp(38px, 6vw, 66px); color:var(--white); max-width:760px;}
.hero h1 em{font-style:normal; color:var(--blue-light);}
.hero p.lede{font-size:18px; color:#C7D3E6; max-width:600px; margin-top:20px; line-height:1.55; font-weight:400;}
.hero-ctas{display:flex; gap:14px; margin-top:30px; flex-wrap:wrap;}
.hero-phones{display:flex; gap:22px; margin-top:16px; flex-wrap:wrap;}
.hero-phones a{ color:var(--blue-light); text-decoration:none; font-family:'Roboto Mono'; font-weight:700; font-size:15px; }
.hero-phones a:hover{color:var(--white);}
.benefits-strip{ display:flex; flex-wrap:wrap; gap:12px; margin-bottom:28px; }
.benefit-chip{
  display:flex; align-items:center; gap:9px;
  background:rgba(255,255,255,0.06); border:1px solid var(--line);
  padding:9px 15px; border-radius:30px; font-size:13px; font-weight:600; color:var(--white);
}
.benefit-chip.highlight{ background:linear-gradient(90deg, var(--blue), var(--blue-light)); border:none; color:var(--navy-deep); font-weight:700; }
.benefit-chip .dot{width:7px; height:7px; border-radius:50%; background:var(--blue-light); flex-shrink:0;}
.benefit-chip.highlight .dot{background:var(--navy-deep);}

.btn-primary{
  background:var(--blue); color:var(--white); border:none;
  padding:15px 26px; font-weight:700; font-size:15px;
  border-radius:4px; cursor:pointer; text-decoration:none;
  text-transform:uppercase; letter-spacing:0.03em;
  transition:transform .15s, background .15s; display:inline-block;
}
.btn-primary:hover{background:#173DB3; transform:translateY(-1px);}
.btn-ghost{
  background:transparent; color:var(--white); border:1.5px solid var(--line);
  padding:15px 26px; font-weight:700; font-size:15px;
  border-radius:4px; cursor:pointer; text-decoration:none;
  text-transform:uppercase; letter-spacing:0.03em; display:inline-block;
}
.btn-ghost:hover{border-color:var(--blue-light);}

/* ---------- SECTION HEAD ---------- */
.section-head{max-width:680px; margin-bottom:44px;}
.section-head .eyebrow{color:var(--blue);}
.section-head .eyebrow::before{background:var(--blue);}
.section-head h2{font-size:clamp(30px,4vw,44px); color:var(--navy-deep);}
.section-head p{color:var(--gray); margin-top:14px; font-size:16px; line-height:1.6;}
.section-head.on-dark h2{color:var(--white);}
.section-head.on-dark p{color:#B7C4DA;}
.section-head.on-dark .eyebrow{color:var(--blue-light);}
.section-head.on-dark .eyebrow::before{background:var(--blue-light);}

/* ---------- INCLUDES LIST ---------- */
.includes-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--line); border:1px solid #E2E9F2;}
@media (max-width:700px){ .includes-grid{grid-template-columns:1fr;} }
.includes-item{background:var(--white); padding:24px 26px; display:flex; gap:14px; align-items:flex-start;}
.includes-item .check{
  width:26px; height:26px; border-radius:50%; background:var(--blue); color:var(--white); flex-shrink:0;
  display:flex; align-items:center; justify-content:center; font-size:14px; font-weight:700;
}
.includes-item b{display:block; font-size:16px; margin-bottom:4px;}
.includes-item span{font-size:14px; color:var(--gray); line-height:1.5;}

/* ---------- FAQ ---------- */
.faq-list{max-width:760px;}
.faq-item{border-bottom:1px solid #E2E9F2;}
.faq-q{ display:flex; align-items:center; justify-content:space-between; gap:20px; padding:22px 0; cursor:pointer; background:none; border:none; width:100%; text-align:left; }
.faq-q span.q-text{font-size:17px; font-weight:700; color:var(--navy-deep);}
.faq-q .plus{font-family:'Roboto Mono'; font-size:20px; color:var(--blue); flex-shrink:0; transition:transform .2s;}
.faq-item.open .faq-q .plus{transform:rotate(45deg);}
.faq-a{max-height:0; overflow:hidden; transition:max-height .25s ease;}
.faq-a p{padding:0 0 22px; font-size:15px; color:var(--gray); line-height:1.6; max-width:640px;}

/* ---------- CTA BAND ---------- */
.cta-band{ background:var(--navy-deep); color:var(--white); text-align:center; }
.cta-band h2{color:var(--white); font-size:clamp(28px,4vw,40px);}
.cta-band p{color:#B7C4DA; margin-top:12px; font-size:16px;}
.cta-band .hero-ctas{justify-content:center; margin-top:26px;}
.cta-band .hero-phones{justify-content:center;}

/* ---------- CALCULATOR (signature element: gauge) ---------- */
.calc-section{background:var(--navy-mid); color:var(--white);}
.calc-section .section-head .eyebrow{color:var(--blue-light);}
.calc-section .section-head .eyebrow::before{background:var(--blue-light);}
.calc-section .section-head h2{color:var(--white);}
.calc-section .section-head p{color:#B7C4DA;}

.calc-grid{display:grid; grid-template-columns:1.15fr 0.85fr; gap:0; background:var(--navy-deep); border-radius:10px; overflow:hidden; border:1px solid var(--line);}
@media (max-width:900px){ .calc-grid{grid-template-columns:1fr;} }

.calc-form{padding:40px;}
.calc-form h3{font-size:14px; letter-spacing:0.08em; color:var(--blue-light); margin-bottom:24px; font-family:'Roboto Mono'; text-transform:uppercase;}
.service-row{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 0; border-bottom:1px solid var(--line);
  gap:16px;
}
.service-row.addon-row{ padding:8px 0 14px 32px; border-bottom:1px solid var(--line); }
.service-row.addon-row label{font-size:13px; font-weight:500; color:var(--gray);}
.service-row.addon-row input[type=checkbox]{width:16px; height:16px;}
.service-row label{display:flex; align-items:center; gap:12px; font-weight:600; font-size:15px; cursor:pointer;}
.service-row input[type=checkbox]{
  appearance:none; width:20px; height:20px; border:2px solid var(--gray);
  border-radius:4px; cursor:pointer; position:relative; flex-shrink:0;
}
.service-row input[type=checkbox]:checked{background:var(--blue); border-color:var(--blue);}
.service-row input[type=checkbox]:checked::after{
  content:'✓'; position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  color:var(--white); font-size:13px; font-weight:700;
}
.size-input{display:flex; align-items:center; gap:8px;}
.size-input input[type=number]{
  width:72px; background:var(--navy-mid); border:1px solid var(--line); color:var(--white);
  padding:8px 10px; border-radius:4px; font-family:'Roboto Mono'; font-size:14px;
}
.size-input span{font-size:12px; color:var(--gray);}
.base-price{font-family:'Roboto Mono'; font-size:13px; color:var(--gray);}

.calc-readout{
  background:linear-gradient(160deg, var(--navy-mid), var(--navy-deep));
  padding:40px; display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; position:relative;
}
.gauge-wrap{position:relative; width:220px; height:220px; margin-bottom:10px;}
.gauge-label{font-family:'Roboto Mono'; font-size:11px; letter-spacing:0.15em; color:var(--gray); text-transform:uppercase; margin-bottom:6px;}
.gauge-price{font-family:'Roboto Mono'; font-weight:700; font-size:44px; color:var(--white); margin-top:4px;}
.gauge-price small{font-size:16px; color:var(--blue-light); display:block; font-weight:500; margin-top:6px;}
.gauge-hint{font-size:13px; color:var(--gray); margin-top:18px; max-width:260px; line-height:1.5;}
.discount-badge{
  margin-top:18px; background:linear-gradient(90deg, var(--blue), var(--blue-light));
  color:var(--navy-deep); font-weight:700; font-size:14px;
  padding:10px 18px; border-radius:30px; letter-spacing:0.01em;
}
.calc-cta{
  margin-top:24px; width:100%; background:var(--blue); color:var(--white); border:none;
  padding:15px; font-weight:700; border-radius:4px; cursor:pointer; text-transform:uppercase;
  letter-spacing:0.03em; font-size:14px; text-decoration:none; display:inline-block; text-align:center;
}
.calc-note{font-size:11px; color:#7C8AA0; margin-top:14px; line-height:1.5;}

/* ---------- FOOTER ---------- */
footer{background:var(--navy-deep); color:#8C99AF; padding:44px 0;}
.footer-inner{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:18px;}
.footer-inner .brand-name{color:var(--white);}
.foot-links{display:flex; gap:22px; font-size:13px; flex-wrap:wrap;}
.foot-links a{text-decoration:none; color:#8C99AF;}
.foot-links a:hover{color:var(--blue-light);}

/* sticky call bar (mobile) */
.call-bar{
  position:fixed; bottom:0; left:0; right:0; z-index:60;
  background:var(--navy-deep); border-top:1px solid var(--line);
  display:flex; box-shadow:0 -6px 20px rgba(0,0,0,0.25);
}
.call-bar a{
  flex:1; display:flex; align-items:center; justify-content:center; gap:8px;
  padding:14px; color:var(--white); text-decoration:none; font-weight:700; font-size:14px;
  text-transform:uppercase; letter-spacing:0.02em;
}
.call-bar a.call{background:var(--blue);}
.call-bar a.quote-link{background:transparent; border-left:1px solid var(--line);}
@media (min-width:860px){ .call-bar{display:none;} }
@media (max-width:860px){ body{padding-bottom:58px;} }
