/* ============================================================
   ONIT — DARK / RED-NEON HOMEPAGE  (homepage only: body.nx)
   Bold charcoal + brand red identity, tuned for conversion:
   legible, verifiable, fast, one-tap calling. No gimmicks.
   ============================================================ */

body.nx{
  --nx-bg:#070709;
  --nx-bg2:#0b0b0f;
  --nx-panel:#101015;
  --nx-red:#F12629;          /* brand red — glows, accents, fills */
  --nx-red-cta:#C81E22;      /* deep, calm red for solid buttons (white text passes AA) */
  --nx-red-bright:#FF5A5F;   /* lighter red for small text on dark (AA) */
  --nx-red-deep:#A60810;
  --nx-glow:rgba(241,38,41,.5);
  --nx-glow-soft:rgba(241,38,41,.18);
  --nx-line:rgba(255,255,255,.09);
  --nx-text:#ECECF1;
  --nx-muted:#a6a6b2;        /* AA on near-black */
  background:var(--nx-bg);
  color:var(--nx-text);
  overflow-x:hidden;
}
body.nx a{color:var(--nx-red-bright);}
body.nx::selection,body.nx ::selection{background:var(--nx-red);color:#fff;}

/* keyboard focus — visible ring for accessibility (WCAG 2.4.7) */
body.nx a:focus-visible,body.nx button:focus-visible,body.nx .nx-btn:focus-visible,
body.nx .nx-faq-q:focus-visible,body.nx input:focus-visible,body.nx select:focus-visible{
  outline:3px solid var(--nx-red-bright);outline-offset:3px;border-radius:4px;}

/* ---------- subtle fixed texture (static, near-imperceptible) ---------- */
.nx-vignette{position:fixed;inset:0;pointer-events:none;z-index:9001;
  background:radial-gradient(ellipse 120% 80% at 50% 40%,transparent 60%,rgba(0,0,0,.5) 100%);}
.nx-grain{position:fixed;inset:0;pointer-events:none;z-index:9003;opacity:.025;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}

/* scroll progress bar */
.nx-progress{position:fixed;top:0;left:0;height:3px;width:0;z-index:9100;
  background:linear-gradient(90deg,var(--nx-red-deep),var(--nx-red),var(--nx-red-bright));
  box-shadow:0 0 14px var(--nx-glow);transition:width .1s linear;}

/* ---------- ambient red mood glow ---------- */
.nx-ambient{position:fixed;inset:0;pointer-events:none;z-index:0;
  background:
    radial-gradient(40% 40% at 16% 10%,rgba(241,38,41,.10),transparent 70%),
    radial-gradient(45% 45% at 86% 82%,rgba(241,38,41,.07),transparent 70%);}

/* keep header/footer styled within the dark theme */
body.nx .site-header{z-index:500;background:rgba(7,7,9,.86);backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(241,38,41,.22);box-shadow:0 6px 30px rgba(0,0,0,.6);}
body.nx .site-header::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;
  background:linear-gradient(90deg,transparent,var(--nx-red),transparent);opacity:.8;
  box-shadow:0 0 12px var(--nx-glow);}
body.nx .top-bar{background:#120406;border-bottom:1px solid rgba(241,38,41,.18);color:#ffd7d9;}
body.nx .top-bar a{color:#fff;}
body.nx .logo-img{filter:drop-shadow(0 0 10px rgba(241,38,41,.5));}
body.nx .nav-links>li>a{color:rgba(255,255,255,.82);}
body.nx .nav-links>li>a:hover{color:#fff;background:rgba(241,38,41,.12);}
body.nx .nav-phone{color:#fff;}
body.nx .btn-nav{background:var(--nx-red-cta);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 4px 14px rgba(0,0,0,.4);}
body.nx .btn-nav:hover{background:#D5252A;box-shadow:0 6px 18px rgba(0,0,0,.5),0 0 14px rgba(200,30,34,.26);}
body.nx .dropdown-menu{background:#0d0d12;border:1px solid rgba(241,38,41,.25);box-shadow:0 20px 60px rgba(0,0,0,.7),0 0 30px rgba(241,38,41,.1);}
body.nx .mobile-menu{background:#0b0b0f;border-top:1px solid rgba(241,38,41,.2);}

main.nx-main{position:relative;z-index:1;}

/* ============================================================
   SHARED PIECES
   ============================================================ */
.nx-wrap{max-width:1240px;margin:0 auto;padding:0 26px;}
.nx-eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:.74rem;font-weight:700;
  letter-spacing:.28em;text-transform:uppercase;color:var(--nx-red-bright);margin-bottom:20px;}
.nx-eyebrow::before{content:"";width:34px;height:2px;background:var(--nx-red);box-shadow:0 0 10px var(--nx-glow);}
.nx-eyebrow.center{justify-content:center;}
.nx-eyebrow.center::after{content:"";width:34px;height:2px;background:var(--nx-red);box-shadow:0 0 10px var(--nx-glow);}

.nx-h2{font-family:'Anton',Impact,sans-serif;text-transform:uppercase;letter-spacing:1px;
  font-size:clamp(2.1rem,5.2vw,3.8rem);line-height:1;color:#fff;}
.nx-h2 .hl{color:var(--nx-red);text-shadow:none;}
.nx-lead{color:#c5c5d0;font-size:1.05rem;line-height:1.75;max-width:620px;}

/* neon buttons */
.nx-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:17px 32px;border-radius:6px;font-weight:800;font-size:1rem;letter-spacing:.02em;
  text-decoration:none;border:none;cursor:pointer;text-transform:uppercase;
  background:var(--nx-red-cta);color:#fff;overflow:hidden;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 6px 18px rgba(0,0,0,.4);
  transition:transform .2s,box-shadow .25s,background .2s;}
.nx-btn:hover{background:#D5252A;transform:translateY(-2px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 10px 26px rgba(0,0,0,.5),0 0 16px rgba(200,30,34,.28);color:#fff;}
.nx-btn:active{transform:translateY(0) scale(.98);}
.nx-btn::after{content:"";position:absolute;top:0;left:-120%;width:60%;height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.32),transparent);transform:skewX(-18deg);}
.nx-btn:hover::after{animation:nx-shine .9s forwards;}
@keyframes nx-shine{to{left:130%;}}
.nx-btn-ghost{background:transparent;color:#fff;
  box-shadow:inset 0 0 0 1.5px rgba(241,38,41,.7),0 0 18px rgba(241,38,41,.18);}
.nx-btn-ghost:hover{background:rgba(241,38,41,.1);color:#fff;
  box-shadow:inset 0 0 0 1.5px var(--nx-red),0 0 30px var(--nx-glow);}
/* CTA / call buttons stay white-on-red — override the global body.nx a link color */
body.nx .nx-btn,
body.nx .nx-btn:hover,
body.nx .nx-btn:visited,
body.nx .btn-nav,
body.nx .nx-callbar a,
body.nx .nx-phone{color:#fff;}

/* ============================================================
   HERO
   ============================================================ */
.nx-hero{position:relative;min-height:90vh;display:flex;align-items:center;
  padding:116px 0 72px;overflow:hidden;background:var(--nx-bg);}
/* real branded-truck photo — now clearly visible (trust asset) */
.nx-hero-photo{position:absolute;inset:0;z-index:0;
  background-image:url('images/hero.jpg');
  background-image:-webkit-image-set(url('images/hero.webp') 1x,url('images/hero.jpg') 1x);
  background-image:image-set(url('images/hero.webp') type('image/webp'),url('images/hero.jpg') type('image/jpeg'));
  background-position:center right;background-size:cover;background-repeat:no-repeat;
  opacity:.92;filter:contrast(1.04) saturate(1.06);}
/* left-to-right scrim: dark behind copy/form, photo visible on the right */
.nx-hero-tint{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    linear-gradient(90deg,rgba(7,7,9,.96) 0%,rgba(7,7,9,.9) 34%,rgba(7,7,9,.45) 66%,rgba(7,7,9,.12) 100%),
    linear-gradient(0deg,rgba(7,7,9,.7) 0%,transparent 28%);}
.nx-hero-inner{position:relative;z-index:3;display:grid;grid-template-columns:1.1fr .9fr;
  gap:56px;align-items:center;width:100%;}

.nx-hero h1{font-family:'Anton',Impact,sans-serif;text-transform:uppercase;color:#fff;
  font-size:clamp(2.6rem,6.6vw,5.4rem);line-height:.96;letter-spacing:1px;margin:0 0 18px;
  text-shadow:0 2px 24px rgba(0,0,0,.6);}
.nx-hero h1 .hl{color:var(--nx-red);text-shadow:none;}

.nx-hero-sub{color:#dadae2;font-size:1.14rem;line-height:1.65;max-width:520px;margin-bottom:22px;
  text-shadow:0 1px 12px rgba(0,0,0,.6);}
.nx-hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:26px;}
.nx-trust{display:flex;flex-wrap:wrap;gap:9px;}
.nx-chip{display:inline-flex;align-items:center;gap:7px;padding:9px 14px;border-radius:50px;
  font-size:.82rem;font-weight:600;color:#f2f2f6;background:rgba(20,20,26,.66);
  border:1px solid rgba(241,38,41,.32);box-shadow:0 0 14px rgba(241,38,41,.08);backdrop-filter:blur(4px);}
.nx-chip b{color:var(--nx-red-bright);}

/* hero quote card — brightest focal element on the fold */
.nx-card{position:relative;background:linear-gradient(180deg,rgba(24,24,30,.94),rgba(13,13,17,.96));
  border:1px solid rgba(241,38,41,.3);border-radius:14px;padding:28px 26px;
  box-shadow:0 30px 80px rgba(0,0,0,.6),0 0 46px rgba(241,38,41,.14),inset 0 1px 0 rgba(255,255,255,.06);
  backdrop-filter:blur(8px);}
.nx-card::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;border-radius:14px 14px 0 0;
  background:linear-gradient(90deg,var(--nx-red),var(--nx-red-bright));box-shadow:0 0 18px var(--nx-glow);}
.nx-card-title{font-family:'Anton',sans-serif;text-transform:uppercase;font-size:1.55rem;color:#fff;letter-spacing:.5px;padding-top:6px;}
.nx-card-sub{color:#b7b7c2;font-size:.88rem;margin:5px 0 18px;}
.nx-field{margin-bottom:13px;}
.nx-field label{display:block;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#c9c9d2;margin-bottom:6px;}
.nx-field input,.nx-field select{width:100%;padding:14px;border-radius:8px;font-size:16px;font-family:inherit;
  background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.2);color:#fff;transition:border-color .2s,box-shadow .2s,background .2s;}
.nx-field input::placeholder{color:#a3a5b1;}
.nx-field input:focus-visible,.nx-field select:focus-visible{outline:none;border-color:var(--nx-red);background:rgba(255,255,255,.13);box-shadow:0 0 0 3px rgba(241,38,41,.22);}
.nx-row{display:grid;grid-template-columns:1fr 1fr;gap:13px;}
.nx-card-note{text-align:center;font-size:.78rem;color:#a3a5b1;margin-top:12px;}
.nx-card-or{text-align:center;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:#a3a5b1;margin:16px 0 10px;}
.nx-phone{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px;border-radius:8px;
  font-weight:800;font-size:1.18rem;color:#fff;letter-spacing:.02em;text-decoration:none;
  background:rgba(200,30,34,.12);border:1px solid rgba(200,30,34,.45);transition:all .2s;}
.nx-phone:hover{background:rgba(200,30,34,.2);border-color:rgba(200,30,34,.7);color:#fff;}
.nx-sms{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:11px;margin-top:9px;
  border-radius:8px;font-weight:700;font-size:.92rem;color:#dcdce3;text-decoration:none;
  background:rgba(255,255,255,.05);border:1px solid var(--nx-line);transition:all .2s;}
.nx-sms:hover{background:rgba(255,255,255,.09);color:#fff;border-color:rgba(241,38,41,.5);}
/* inline Google trust badge under the form */
.nx-googlebadge{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:14px;
  font-size:.82rem;color:#cfcfd8;text-decoration:none;}
.nx-googlebadge .stars{color:#FFC53D;letter-spacing:1px;}
.nx-googlebadge b{color:#fff;}

.nx-scrollcue{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);z-index:4;
  display:flex;flex-direction:column;align-items:center;gap:7px;color:#9a9aa6;font-size:.66rem;
  letter-spacing:.22em;text-transform:uppercase;}
.nx-scrollcue .mouse{width:22px;height:35px;border:2px solid rgba(241,38,41,.6);border-radius:12px;position:relative;}
.nx-scrollcue .mouse::after{content:"";position:absolute;left:50%;top:6px;width:3px;height:7px;background:var(--nx-red);border-radius:2px;transform:translateX(-50%);animation:nx-wheel 1.5s ease-in-out infinite;}
@keyframes nx-wheel{0%{opacity:0;top:6px}40%{opacity:1}100%{opacity:0;top:18px}}

/* ============================================================
   TRUST STRIP (replaces the decorative marquee)
   ============================================================ */
.nx-strip{background:#0a0a0e;border-top:1px solid rgba(241,38,41,.22);border-bottom:1px solid rgba(241,38,41,.22);}
.nx-strip-inner{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px 30px;padding:18px 26px;
  max-width:1240px;margin:0 auto;}
.nx-strip span{display:inline-flex;align-items:center;gap:9px;font-size:.92rem;font-weight:700;color:#e6e6ec;letter-spacing:.02em;}
.nx-strip span .ic{color:var(--nx-red-bright);font-size:1.05rem;}
.nx-strip .sep{width:5px;height:5px;border-radius:50%;background:rgba(241,38,41,.55);}
@media(max-width:640px){.nx-strip .sep{display:none;}.nx-strip-inner{gap:12px 20px;}}

/* ============================================================
   SECTION SHELL + STATS
   ============================================================ */
.nx-section{position:relative;padding:104px 0;}
.nx-section.alt{background:linear-gradient(180deg,#070709,#0b0b10 50%,#070709);}

.nx-stats{position:relative;padding:56px 0;background:#0a0a0e;border-top:1px solid var(--nx-line);border-bottom:1px solid var(--nx-line);}
.nx-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;text-align:center;}
.nx-stat{padding:14px;border-right:1px solid var(--nx-line);}
.nx-stat:last-child{border-right:none;}
.nx-stat .num{font-family:'Anton',sans-serif;font-size:clamp(2.4rem,5vw,3.4rem);color:#fff;line-height:1;
  text-shadow:none;font-variant-numeric:tabular-nums;}
.nx-stat .num .accent{color:var(--nx-red);}
.nx-stat .lbl{margin-top:9px;font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;color:var(--nx-muted);}
a.nx-stat{text-decoration:none;display:block;transition:transform .25s;}
a.nx-stat:hover{transform:translateY(-3px);}

/* ============================================================
   SERVICES — neon cards
   ============================================================ */
.nx-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.nx-tile{position:relative;background:linear-gradient(180deg,#101015,#0b0b0f);
  border:1px solid rgba(255,255,255,.09);border-radius:14px;overflow:hidden;
  text-decoration:none;display:block;transition:transform .3s cubic-bezier(.2,.7,.2,1),border-color .3s,box-shadow .3s;}
.nx-tile::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;z-index:3;
  background:linear-gradient(90deg,transparent,var(--nx-red),transparent);opacity:0;transition:opacity .3s;}
.nx-tile:hover{transform:translateY(-8px);border-color:rgba(241,38,41,.5);
  box-shadow:0 24px 56px rgba(0,0,0,.55),0 0 36px rgba(241,38,41,.16);}
.nx-tile:hover::before{opacity:1;}
/* photoreal service banner (Higgsfield) */
.nx-tile-img{position:relative;height:172px;overflow:hidden;background:#0a0a0e;}
.nx-tile-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.7,.2,1);}
.nx-tile:hover .nx-tile-img img{transform:scale(1.07);}
.nx-tile-img::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(7,7,9,.15) 0%,transparent 38%,rgba(13,13,17,.55) 78%,#0c0c10 100%);}
.nx-tile-body{padding:22px 24px 26px;}
.nx-tile h3{font-size:1.12rem;font-weight:800;color:#fff;margin-bottom:8px;letter-spacing:.2px;}
.nx-tile p{color:var(--nx-muted);font-size:.9rem;line-height:1.6;margin-bottom:14px;}
.nx-tile .more{color:var(--nx-red-bright);font-weight:700;font-size:.85rem;letter-spacing:.04em;text-transform:uppercase;}

/* ============================================================
   HOW PRICING WORKS — truck-fill (kills the surprise-bill fear)
   ============================================================ */
.nx-price{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center;}
.nx-price-promise{display:inline-flex;align-items:center;gap:10px;margin-bottom:18px;padding:10px 16px;border-radius:50px;
  background:rgba(241,38,41,.12);border:1px solid rgba(241,38,41,.45);color:#fff;font-weight:700;font-size:.9rem;}
.nx-price-promise .ic{color:var(--nx-red-bright);font-size:1.1rem;}
.nx-fill{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.nx-fill-step{background:rgba(255,255,255,.03);border:1px solid var(--nx-line);border-radius:12px;padding:16px 12px;text-align:center;transition:border-color .3s,transform .3s;}
.nx-fill-step:hover{border-color:rgba(241,38,41,.45);transform:translateY(-4px);}
.nx-fill-bar{height:78px;display:flex;align-items:flex-end;justify-content:center;margin-bottom:12px;}
.nx-fill-bar i{display:block;width:34px;border-radius:5px 5px 0 0;background:linear-gradient(180deg,var(--nx-red-bright),var(--nx-red));box-shadow:0 0 16px var(--nx-glow);}
.nx-fill-step b{display:block;color:#fff;font-size:.92rem;}
.nx-fill-step span{color:var(--nx-muted);font-size:.76rem;}

/* ============================================================
   STEPS
   ============================================================ */
.nx-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.nx-step{position:relative;background:rgba(255,255,255,.02);border:1px solid var(--nx-line);
  border-radius:14px;padding:32px 26px;transition:transform .3s,border-color .3s;}
.nx-step:hover{transform:translateY(-8px);border-color:rgba(241,38,41,.4);}
.nx-step .n{font-family:'Anton',sans-serif;font-size:2.4rem;color:var(--nx-red);line-height:1;
  text-shadow:none;margin-bottom:12px;}
.nx-step h3{color:#fff;font-size:1.1rem;font-weight:800;margin-bottom:8px;}
.nx-step p{color:var(--nx-muted);font-size:.9rem;line-height:1.65;}

/* ============================================================
   WHY US
   ============================================================ */
.nx-grid3.tight{gap:16px;}
.nx-feat{background:rgba(255,255,255,.02);border:1px solid var(--nx-line);border-radius:12px;padding:26px 24px;transition:border-color .3s,transform .3s,box-shadow .3s;}
.nx-feat:hover{border-color:rgba(241,38,41,.4);transform:translateY(-6px);box-shadow:0 0 30px rgba(241,38,41,.1);}
.nx-feat .ic{font-size:1.6rem;display:block;margin-bottom:12px;filter:drop-shadow(0 0 8px rgba(241,38,41,.4));}
.nx-feat h3{color:#fff;font-size:1rem;font-weight:800;margin-bottom:7px;}
.nx-feat p{color:var(--nx-muted);font-size:.88rem;line-height:1.6;}

/* ============================================================
   TESTIMONIALS
   ============================================================ */
.nx-quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.nx-quote{background:linear-gradient(180deg,#0f0f14,#0a0a0e);border:1px solid var(--nx-line);
  border-radius:14px;padding:26px 24px;transition:transform .3s,border-color .3s,box-shadow .3s;}
.nx-quote:hover{transform:translateY(-6px);border-color:rgba(241,38,41,.4);box-shadow:0 20px 50px rgba(0,0,0,.5),0 0 30px rgba(241,38,41,.1);}
.nx-quote .stars{color:#FFC53D;letter-spacing:3px;margin-bottom:12px;}
.nx-quote p{color:#dadae2;font-size:.95rem;line-height:1.7;margin-bottom:16px;}
.nx-quote .who{display:flex;align-items:center;gap:12px;}
.nx-quote .av{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;
  font-weight:800;color:#fff;background:linear-gradient(135deg,var(--nx-red),var(--nx-red-deep));box-shadow:0 0 16px rgba(241,38,41,.3);}
.nx-quote .who b{color:#fff;display:block;font-size:.92rem;}
.nx-quote .who span{color:var(--nx-muted);font-size:.8rem;}
.nx-quote .verified{display:inline-flex;align-items:center;gap:5px;margin-top:3px;font-size:.72rem;color:#7fb98a;}

/* ============================================================
   AREAS
   ============================================================ */
.nx-areas{display:flex;flex-wrap:wrap;gap:12px;}
.nx-area{display:inline-flex;align-items:center;gap:8px;padding:12px 18px;border-radius:8px;
  text-decoration:none;color:#e0e0e7;font-weight:600;font-size:.9rem;
  background:rgba(255,255,255,.03);border:1px solid var(--nx-line);transition:all .25s;}
.nx-area:hover{color:#fff;border-color:var(--nx-red);background:rgba(241,38,41,.1);
  box-shadow:0 0 22px rgba(241,38,41,.2);transform:translateY(-3px);}
.nx-area .dot{color:var(--nx-red);}

/* ============================================================
   FAQ
   ============================================================ */
.nx-faq{max-width:820px;margin:0 auto;}
.nx-faq-item{border:1px solid var(--nx-line);border-radius:10px;margin-bottom:12px;overflow:hidden;background:rgba(255,255,255,.02);transition:border-color .3s;}
.nx-faq-item.open{border-color:rgba(241,38,41,.45);box-shadow:0 0 26px rgba(241,38,41,.08);}
.nx-faq-q{width:100%;text-align:left;background:none;border:none;cursor:pointer;color:#fff;
  font-size:1rem;font-weight:700;padding:20px 22px;display:flex;justify-content:space-between;align-items:center;gap:14px;font-family:inherit;}
.nx-faq-q .pl{color:var(--nx-red-bright);font-size:1.3rem;transition:transform .3s;flex-shrink:0;}
.nx-faq-item.open .pl{transform:rotate(45deg);}
.nx-faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease;}
.nx-faq-item.open .nx-faq-a{max-height:340px;}
.nx-faq-a p{padding:0 22px 20px;color:#bcbcc6;font-size:.93rem;line-height:1.7;}

/* ============================================================
   MEGA CTA
   ============================================================ */
.nx-cta{position:relative;text-align:center;padding:120px 0;overflow:hidden;background:#08080b;}
.nx-cta-glow{position:absolute;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(60% 90% at 50% 50%,rgba(241,38,41,.22),transparent 70%);}
.nx-cta .nx-wrap{position:relative;z-index:1;}
.nx-cta h2{font-family:'Anton',sans-serif;text-transform:uppercase;color:#fff;
  font-size:clamp(2.4rem,6.4vw,5rem);line-height:.98;letter-spacing:1px;margin-bottom:16px;}
.nx-cta h2 .hl{color:var(--nx-red);text-shadow:none;}
.nx-cta p{color:#c7c7d0;font-size:1.1rem;max-width:560px;margin:0 auto 28px;line-height:1.7;}
.nx-cta-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}
.nx-cta-promise{margin-top:20px;font-size:.9rem;color:var(--nx-muted);}
.nx-cta-promise b{color:#fff;}
body.nx .footer{position:relative;z-index:1;background:#070709;border-top:1px solid rgba(241,38,41,.22);}

/* ============================================================
   STICKY MOBILE CALL + QUOTE BAR  (top conversion lever)
   ============================================================ */
.nx-callbar{position:fixed;left:0;right:0;bottom:0;z-index:9300;display:none;
  grid-template-columns:1.5fr 1fr 1fr;gap:1px;background:rgba(241,38,41,.4);
  box-shadow:0 -8px 30px rgba(0,0,0,.5);padding-bottom:env(safe-area-inset-bottom);}
.nx-callbar a{min-height:58px;display:flex;align-items:center;justify-content:center;gap:7px;
  font-weight:800;font-size:1rem;text-decoration:none;letter-spacing:.01em;}
.nx-callbar-call{background:var(--nx-red-cta);color:#fff;}
.nx-callbar-text{background:#15151b;color:#fff;}
.nx-callbar-quote{background:#15151b;color:#fff;}
.nx-callbar a:active{filter:brightness(.9);}

/* ============================================================
   REVEAL ANIMATIONS
   ============================================================ */
.nx-reveal{opacity:0;transform:translateY(34px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);}
.nx-reveal.in{opacity:1;transform:none;}
.nx-reveal.left{transform:translateX(-44px);}
.nx-reveal.left.in{transform:none;}
.nx-reveal.scale{transform:scale(.94);}
.nx-reveal.scale.in{transform:none;}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:980px){
  .nx-hero-inner{grid-template-columns:1fr;gap:36px;}
  .nx-grid3,.nx-steps,.nx-quotes{grid-template-columns:1fr 1fr;}
  .nx-stats-grid{grid-template-columns:1fr 1fr;}
  .nx-stat:nth-child(2){border-right:none;}
  .nx-price{grid-template-columns:1fr;gap:32px;}
}
@media (max-width:768px){
  /* sticky call bar on phones; reserve its full height (incl. notch inset) */
  .nx-callbar{display:grid;}
  body.nx{padding-bottom:calc(58px + env(safe-area-inset-bottom));}
  .nx-grain{display:none;}
  /* lift the quote form toward the fold: drop redundant hero CTAs (the sticky
     Call/Text bar already covers calling) and tighten the copy block */
  .nx-hero{min-height:auto;padding:60px 0 40px;}
  .nx-hero h1{font-size:clamp(2.1rem,8vw,2.7rem);margin-bottom:14px;}
  .nx-hero-sub{font-size:1.02rem;margin-bottom:16px;}
  .nx-hero-cta{display:none;}
  .nx-trust{gap:7px;margin-bottom:2px;}
  .nx-chip{padding:7px 11px;font-size:.76rem;}
  .nx-scrollcue{display:none;}
}
@media (max-width:640px){
  .nx-grid3,.nx-steps,.nx-quotes,.nx-fill{grid-template-columns:1fr 1fr;}
  .nx-row{grid-template-columns:1fr;}
  .nx-section{padding:72px 0;}
  .nx-stat{border-right:none;border-bottom:1px solid var(--nx-line);padding-bottom:16px;}
  .nx-callbar{grid-template-columns:1.4fr 1fr;}
  .nx-callbar a.nx-callbar-quote{display:none;}
  .top-bar .tb-area{display:none;}
}

/* ============================================================
   REDUCED MOTION
   ============================================================ */
@media (prefers-reduced-motion:reduce){
  body.nx *{animation:none!important;}
  .nx-reveal{opacity:1!important;transform:none!important;}
  .nx-hero-photo{transform:none!important;}
}

/* ============================================================
   DARK SUBPAGE THEME — service + location pages (body.nx)
   Scoped to subpage component classes the homepage doesn't use,
   so it never touches the nx- homepage layout.
   ============================================================ */
/* hero band — photo (per-page --ph) under a dark + red scrim for legibility */
body.nx .page-hero{
  background-color:#0a0a0e;
  background-image:linear-gradient(115deg,rgba(8,8,11,.95) 0%,rgba(12,12,18,.82) 46%,rgba(124,15,19,.60) 100%),var(--ph,none);
  background-size:cover,cover;background-position:center,center right;background-repeat:no-repeat,no-repeat;
  position:relative;overflow:hidden;}
body.nx .page-hero h1{font-family:'Anton',Impact,sans-serif;text-transform:uppercase;letter-spacing:.5px;color:#fff;font-weight:400;}
body.nx .page-hero p{color:rgba(255,255,255,.86);}
body.nx .breadcrumb{color:rgba(255,255,255,.6);}
body.nx .breadcrumb a{color:rgba(255,255,255,.8);}
body.nx .breadcrumb a:hover{color:#fff;}

/* body sections + prose */
body.nx .section{background:transparent;}
body.nx .section-alt{background:#0b0b10;}
body.nx .main-content h2,body.nx .main-content h3{color:#fff;}
body.nx .main-content p,body.nx .main-content li{color:#c7c7d2;}
body.nx .main-content a:not(.btn){color:var(--nx-red-bright);}

/* cards + sidebar panels */
body.nx .item-card,body.nx .svc-card,body.nx .svc-link-card,body.nx .sidebar{
  background:linear-gradient(180deg,#101015,#0b0b0f);border:1px solid var(--nx-line);border-radius:12px;}
body.nx .item-card h4,body.nx .svc-link-card h4{color:#fff;}
body.nx .svc-card h4{color:var(--nx-red-bright);}
body.nx .item-card p,body.nx .svc-card p,body.nx .svc-link-card p{color:var(--nx-muted);}
body.nx .svc-card,body.nx .svc-link-card{text-decoration:none;transition:transform .25s,border-color .25s,box-shadow .25s;}
body.nx .svc-card:hover,body.nx .svc-link-card:hover{transform:translateY(-4px);border-color:rgba(200,30,34,.5);box-shadow:0 16px 40px rgba(0,0,0,.5);}
body.nx .item-card:hover{border-color:rgba(200,30,34,.4);}

/* sidebar text + links */
body.nx .sidebar h3,body.nx .sidebar h4{color:#fff;}
body.nx .sidebar p,body.nx .sidebar div{color:var(--nx-muted);}
body.nx .sidebar hr{border-color:var(--nx-line)!important;}
body.nx .service-links a,body.nx .location-links a{color:var(--nx-red-bright);}
body.nx .service-links a:hover,body.nx .location-links a:hover{color:#fff;}

/* checklist */
body.nx .checklist li{color:#dcdce3;border-bottom-color:var(--nx-line);}
body.nx .checklist li::before{color:var(--nx-red-bright);}

/* inline pale-red CTA box (style="...var(--green-light)...") -> dark tinted */
body.nx [style*="green-light"]{background:rgba(200,30,34,.1)!important;border:1px solid rgba(200,30,34,.3);}
body.nx [style*="green-light"] h3{color:#fff!important;}
body.nx [style*="green-light"] p{color:#c7c7d2!important;}

/* buttons (keep white text over the global body.nx a red link color) */
body.nx .btn-primary{background:var(--nx-red-cta);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 6px 18px rgba(0,0,0,.4);}
body.nx .btn-primary:hover{background:#D5252A;color:#fff;box-shadow:0 10px 26px rgba(0,0,0,.5),0 0 16px rgba(200,30,34,.28);}
body.nx .btn-secondary{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.45);}
body.nx .btn-secondary:hover{background:rgba(255,255,255,.08);border-color:#fff;color:#fff;}
body.nx .sidebar .btn-secondary[style]{color:#fff!important;border-color:rgba(255,255,255,.4)!important;}

/* closing CTA band -> dark + calm red glow (matches homepage) */
body.nx .cta-section{background:#08080b;}
body.nx .cta-section::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(60% 95% at 50% 50%,rgba(200,30,34,.16),transparent 70%);}
body.nx .cta-section h2{color:#fff;position:relative;z-index:1;}
body.nx .cta-section p{color:#c7c7d0;position:relative;z-index:1;}
body.nx .cta-inner{position:relative;z-index:1;}

/* ============================================================
   DARK SUBPAGE THEME — "Type B" page coverage
   (btn-orange / btn-outline-* / highlight-box / sidebar-* / svc-link-card)
   ============================================================ */
/* primary call CTA (btn-orange) -> calm deep red, white label, no pulse */
body.nx .btn-orange,body.nx .btn-orange:hover,body.nx .btn-orange:visited{color:#fff;}
body.nx .btn-orange{background:var(--nx-red-cta);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 6px 18px rgba(0,0,0,.4);}
body.nx .btn-orange:hover{background:#D5252A;box-shadow:0 10px 26px rgba(0,0,0,.5),0 0 16px rgba(200,30,34,.28);}
body.nx .btn-orange.btn-lg{animation:none;}

/* outline buttons -> white label/border */
body.nx .btn-outline-white,body.nx .btn-outline-green{color:#fff;}
body.nx .btn-outline-green{border-color:rgba(255,255,255,.45);}
body.nx .btn-outline-green:hover{background:rgba(255,255,255,.08);border-color:#fff;color:#fff;}

/* highlight-box CTA panel -> dark red-tinted */
body.nx .highlight-box{background:rgba(200,30,34,.1);border:1px solid rgba(200,30,34,.3);}
body.nx .highlight-box h3{color:#fff;}
body.nx .highlight-box p{color:#c7c7d2;}

/* Type B sidebar inner content */
body.nx .sidebar-header{background:transparent;border-bottom:1px solid var(--nx-line);}
body.nx .sidebar-header p{color:var(--nx-muted);}
body.nx .sidebar-section{border-top-color:var(--nx-line);}
body.nx .sidebar-section h4{color:#fff;}
body.nx .sidebar-trust-item{color:#c7c7d2;border-bottom-color:var(--nx-line);}
body.nx .sidebar-links a{color:var(--nx-red-bright);}
body.nx .sidebar-links a:hover{background:rgba(200,30,34,.12);color:#fff;}

/* keep service-link cards dark on hover (styles.css turned them pale pink) */
body.nx .svc-card:hover,body.nx .svc-link-card:hover{background:linear-gradient(180deg,#16161c,#101015);}

/* ---- blog index cards (dark) ---- */
body.nx .blog-card{background:linear-gradient(180deg,#101015,#0b0b0f);border:1px solid var(--nx-line);}
body.nx .blog-card h3 a{color:#fff;}
body.nx .blog-card h3 a:hover{color:var(--nx-red-bright);}
body.nx .blog-card p{color:var(--nx-muted);}
body.nx .blog-meta{color:#9a9aa6;}
body.nx .blog-tag{background:rgba(200,30,34,.16);color:var(--nx-red-bright);}
body.nx .page-hero-sub{color:rgba(255,255,255,.86);}
/* article body (blog posts use .main-content.article, already themed) */
body.nx .article ul{list-style:disc;margin:0 0 16px 22px;}
body.nx .article li{margin-bottom:7px;}
