
:root{
  --bg:#0b0b0b; --ink:#f9fafb; --muted:#9ca3af;
  --brand:#111111; --accent:#f4c900;
  --radius:16px; --shadow:0 10px 30px rgba(2,22,10,.2)
}
*{box-sizing:border-box} html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,"Helvetica Neue",Arial}
img{max-width:100%;height:auto;display:block}
a{color:var(--accent);text-decoration:none} a:hover{text-decoration:underline}
.wrap{width:min(1200px,92%);margin-inline:auto}
.grid-4{display:grid;gap:18px;grid-template-columns:repeat(4,minmax(0,1fr))}
.grid-3{display:grid;gap:24px;grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:980px){.grid-4{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:1fr}}
h1{font-size:clamp(32px,5vw,52px);line-height:1.1;margin:0 0 12px}
h2{font-size:clamp(24px,3.5vw,34px);margin:0 0 12px}
h3{font-size:20px;margin:0 0 8px}
.lead{font-size:clamp(18px,2.4vw,20px);color:var(--muted);margin:0 0 16px}
.tiny{font-size:12px;color:var(--muted)} .subtle{color:var(--muted)}
.btn{display:inline-flex;align-items:center;gap:10px;border:2px solid var(--ink);padding:12px 18px;border-radius:999px;font-weight:800;transition:.2s;box-shadow:var(--shadow);background:#fff;color:#0b1220}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--brand);border-color:var(--brand);color:#fff}
.btn-primary:hover{filter:brightness(.95)}
.btn-accent{background:var(--accent);border-color:var(--accent);color:#000}
.site-header{position:sticky;top:0;background:#111;box-shadow:0 2px 12px rgba(0,0,0,.4);z-index:50}
.site-header .wrap{display:flex;justify-content:space-between;align-items:center;padding:10px 0}
.brand{display:flex;align-items:center;gap:10px;font-weight:900;color:var(--ink)} .brand .logo{width:40px;height:40px;border-radius:8px;object-fit:contain;background:#000}
.menu{display:flex;gap:16px;align-items:center;margin:0;padding:0;list-style:none;position:relative}
.has-mega{position:static}
.has-mega .mega{display:none;position:absolute;left:50%;transform:translateX(-50%);top:52px;width:min(1100px,92vw);background:#0f0f0f;border:1px solid #222;border-radius:16px;box-shadow:var(--shadow);padding:20px;z-index:60;grid-template-columns:repeat(4,1fr);gap:16px}
.has-mega:hover .mega{display:grid}
.mega h4{margin:0 0 8px;color:#e5e7eb}
.mega a{display:block;padding:6px 0}
.nav-toggle{display:none}
@media (max-width:860px){
  .nav-toggle{display:inline-block;border:0;background:#fff;font-weight:700;padding:8px 12px;border-radius:10px;border:2px solid #000}
  .menu{position:absolute;right:4%;top:68px;background:#0f0f0f;border:2px solid #222;border-radius:12px;box-shadow:var(--shadow);padding:12px;flex-direction:column;align-items:flex-start;display:none}
  .has-mega .mega{position:static;transform:none;width:auto;display:block;border:0;padding:0;box-shadow:none}
}
.hero{background:linear-gradient(120deg,#000 0%,#111 50%,#1a1a1a);color:#fff;padding:32px 0 0;position:relative}
.hero .wrap{position:relative;z-index:1}
.hero .lead{color:#f3f4f6}
.hero-bullets{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 16px;padding:0;list-style:none;margin:12px 0}
@media (max-width:700px){.hero-bullets{grid-template-columns:1fr}}
.trust{display:flex;gap:18px;flex-wrap:wrap;color:#e5e7eb;font-weight:700}
.cards{padding:40px 0} .card{background:#0f0f0f;border:1px solid #222;border-radius:var(--radius);padding:16px;box-shadow:var(--shadow)} .card .more{font-weight:700}
.split{display:grid;grid-template-columns:1.15fr .85fr;gap:32px;align-items:center;padding:40px 0}
@media (max-width:980px){.split{grid-template-columns:1fr}}
.panel{border:1px solid #222;border-radius:var(--radius);padding:16px;background:#0f0f0f;box-shadow:var(--shadow)}
.lead-form label{display:block;margin:8px 0 10px} .lead-form input,.lead-form textarea,.lead-form select{width:100%;padding:12px;border:1px solid #333;border-radius:10px;background:#121212;color:#f9fafb}
.cta-band{background:linear-gradient(90deg,var(--brand) 0%,#000 100%);color:#fff;padding:32px 0;text-align:center}
.site-footer{background:#0b0b0b;color:#fff;padding:24px 0;margin-top:16px} .site-footer a{color:#f4c900}
/* Carousel / Lightbox */
.carousel{position:relative;overflow:hidden} .carousel-track{display:flex;scroll-snap-type:x mandatory;overflow-x:auto} .carousel-slide{min-width:100%;scroll-snap-align:center} .carousel-slide img{width:100%;height:56vh;object-fit:cover;display:block}
.carousel .ctrl{position:absolute;top:50%;transform:translateY(-50%);background:#fff;border:2px solid #000;padding:10px;border-radius:999px;cursor:pointer}
.carousel .prev{left:10px}.carousel .next{right:10px} .carousel .dots{position:absolute;bottom:10px;left:0;right:0;display:flex;gap:6px;justify-content:center}
.carousel .dot{width:10px;height:10px;border-radius:999px;background:#d1d5db;border:1px solid #9ca3af} .carousel .dot.active{background:#111827}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.86);display:none;align-items:center;justify-content:center;z-index:80} .lightbox.open{display:flex} .lightbox img{max-width:92vw;max-height:82vh;border-radius:14px;box-shadow:var(--shadow)}
/* Estimator */
.estimate-out{background:#0f0f0f;border:1px solid #222;border-radius:16px;padding:16px;box-shadow:var(--shadow)} .estimate-line{display:flex;justify-content:space-between;border-bottom:1px dashed #333;padding:8px 0} .total{font-weight:900;font-size:20px}
.estimator{display:grid;grid-template-columns:1.1fr .9fr;gap:20px} @media (max-width:980px){.estimator{grid-template-columns:1fr}}
/* Geo banner */
.geo-banner{background:#13250f;color:#dcfce7;padding:8px 12px;border-bottom:1px solid #1f3b18;text-align:center;font-weight:700}

/* v6.1 mega menu improvements */
.site-header{position:sticky;top:0;background:#101010;box-shadow:0 4px 20px rgba(0,0,0,.5);z-index:100}
.site-header .wrap{padding:14px 0}
.menu>li>a{padding:10px 12px;border-radius:10px}
.menu>li>a:hover{background:#181818}
.menu{gap:22px}
.has-mega{position:relative}
.has-mega .mega{display:block;visibility:hidden;opacity:0;position:absolute;left:50%;transform:translateX(-50%);top:100%;margin-top:10px;width:min(1160px,94vw);background:#0f0f0f;border:1px solid #262626;border-radius:18px;box-shadow:0 18px 50px rgba(0,0,0,.6);padding:22px;z-index:120;
  grid-template-columns:repeat(4,1fr);gap:18px;pointer-events:none;transition:opacity .15s ease, visibility .15s ease, margin-top .15s ease}
.has-mega:hover .mega,
.has-mega:focus-within .mega{visibility:visible;opacity:1;pointer-events:auto;margin-top:12px}
.mega h4{margin-top:0;color:#e5e7eb;font-size:16px}
.mega a{display:block;padding:8px 0;font-weight:600}
/* Keep menu open when moving cursor between link and panel */
.has-mega::after{content:'';position:absolute;left:0;right:0;top:100%;height:16px}
/* Bigger phone button and estimator/estimate buttons */
.menu .btn{padding:12px 18px;font-size:15px}
.phone a{font-weight:900}
@media (max-width:860px){
  .menu{gap:8px}
  .has-mega .mega{position:static;transform:none;width:auto;visibility:visible;opacity:1;pointer-events:auto;border:0;box-shadow:none;padding:8px}
}

/* v6.2 wizard */
.wizard{display:grid;grid-template-columns:1fr;gap:18px}
.stepper{display:flex;gap:8px;flex-wrap:wrap}
.stepper .pill{padding:8px 12px;border-radius:999px;border:1px solid #333;background:#0f0f0f;color:#e5e7eb}
.stepper .pill.active{background:#f4c900;color:#000;border-color:#f4c900;font-weight:900}
.wstep{display:none}.wstep.active{display:block}
.w-controls{display:flex;gap:10px;justify-content:space-between}
.w-controls .left{display:flex;gap:10px}
.w-summary{background:#0f0f0f;border:1px solid #222;border-radius:16px;padding:16px}
.w-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:800px){.w-grid{grid-template-columns:1fr}}
.req{color:#fca5a5;font-size:12px;display:none}
.req.show{display:block}

/* v6.3 service cards with images */
.card img{width:100%;height:140px;object-fit:cover;border-radius:12px;margin-bottom:8px;border:1px solid #222}

/* v6.4 quick-nav, breadcrumbs, toc */
.quick-nav{background:#0e0e0e;border-bottom:1px solid #1f1f1f}
.quick-nav .wrap{display:flex;gap:14px;overflow:auto;padding:8px 0}
.quick-nav a{color:#e5e7eb;padding:6px 10px;border-radius:999px;border:1px solid #2a2a2a;background:#111111;white-space:nowrap}
.quick-nav a:hover{background:#151515}
.breadcrumbs{font-size:13px;color:#a3a3a3;margin:8px 0}
.breadcrumbs a{color:#d1d5db}
.page{display:grid;grid-template-columns:260px 1fr;gap:26px}
@media (max-width:980px){.page{grid-template-columns:1fr}}
.toc{position:sticky;top:88px;background:#0f0f0f;border:1px solid #222;padding:14px;border-radius:12px}
.toc h4{margin:0 0 8px} .toc a{display:block;color:#cbd5e1;padding:6px 4px;border-left:2px solid transparent}
.toc a.active{border-color:#f4c900;color:#fff}
.table{width:100%;border-collapse:collapse;border:1px solid #222}
.table th,.table td{border:1px solid #222;padding:10px;text-align:left}
.footer-sitemap{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
@media (max-width:980px){.footer-sitemap{grid-template-columns:repeat(2,1fr)}}
