/* =============================================================
   SummitFrame Restore — Dallas, TX
   Design: Clean Professional / High-Contrast — Character Pass
   Prefix: nq- (bluebonnet-water)
   Palette: off-white #F8FAFD + blue #15355F + orange #CA3826
   Fonts: Plus Jakarta Sans (headings) + Inter (body) + DM Mono (labels)
   ============================================================= */

/* ── Nav ─────────────────────────────────────────────────── */
.nq-nav{display:flex;align-items:center;gap:2px;margin-left:20px;}
.nq-nav-link{
  font-family:var(--font-body);font-weight:500;font-size:.9rem;
  color:var(--c-ink);padding:8px 12px;border-radius:var(--r-sm);
  white-space:nowrap;
  transition:color .15s ease,background .15s ease;
}
.nq-nav-link:hover{color:var(--c-primary);background:var(--c-bg-alt);}
.nq-nav-link:focus-visible{outline:3px solid var(--c-accent);outline-offset:2px;}
.nq-nav-link[aria-current="page"]{color:var(--c-primary);font-weight:600;}

.nq-header-right{margin-left:auto;display:flex;align-items:center;gap:12px;}
.nq-header-phone{
  display:flex;align-items:center;gap:6px;flex-shrink:0;
  font-family:var(--font-body);font-weight:700;font-size:1rem;
  color:var(--c-primary);white-space:nowrap;
}
.nq-header-phone svg{width:17px;height:17px;flex-shrink:0;}
.nq-header-phone:hover{color:var(--c-primary-dark);}
.nq-header-phone:focus-visible{outline:3px solid var(--c-accent);outline-offset:3px;border-radius:4px;}
.nq-header-cta{
  display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;
  background:var(--c-accent);color:#fff;
  padding:9px 18px;border-radius:var(--r-sm);
  font-family:var(--font-body);font-weight:600;font-size:.88rem;
  min-height:40px;touch-action:manipulation;white-space:nowrap;
  transition:background .15s ease,transform .15s ease;
}
.nq-header-cta:hover{background:var(--c-accent-dark);transform:translateY(-1px);}
.nq-header-cta:active{transform:translateY(0);}
.nq-header-cta:focus-visible{outline:3px solid var(--c-accent-dark);outline-offset:3px;}

/* ── Hamburger ── */
.nq-burger{
  display:none;flex-direction:column;gap:5px;align-items:center;justify-content:center;
  width:44px;height:44px;flex-shrink:0;border-radius:var(--r-sm);margin-left:auto;
}
.nq-burger span{display:block;width:22px;height:2px;background:var(--c-ink);border-radius:2px;transition:transform .25s ease,opacity .25s ease;}
.nq-burger.active span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nq-burger.active span:nth-child(2){opacity:0;}
.nq-burger.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.nq-burger:focus-visible{outline:3px solid var(--c-accent);outline-offset:2px;}

/* ── Mobile nav ── */
.nq-nav-mobile{
  display:none;position:fixed;top:64px;left:0;right:0;bottom:0;
  background:#fff;z-index:998;padding:20px;overflow-y:auto;
  -webkit-overflow-scrolling:touch;
}
.nq-nav-mobile.active{display:block;}
.nq-nav-mobile a{
  display:block;padding:14px 0;font-size:1.05rem;font-weight:500;
  color:var(--c-ink);border-bottom:1px solid var(--c-border);
}
.nq-nav-mobile a:hover{color:var(--c-primary);}
.nq-nav-mobile a:last-of-type{border-bottom:none;}
.nq-mnav-cta{padding-top:20px;}

/* ── Header dropdowns (desktop) ── */
.nq-nav-item{position:relative;display:flex;align-items:center;}
.nq-nav-trigger{background:none;border:0;cursor:pointer;font:inherit;}
.nq-nav-caret{width:14px;height:14px;margin-left:4px;stroke:currentColor;stroke-width:2.2;fill:none;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease;}
.nq-nav-item:hover .nq-nav-caret,.nq-nav-item:focus-within .nq-nav-caret,.nq-nav-item.open .nq-nav-caret{transform:rotate(180deg);}
.nq-dropdown{
  position:absolute;top:100%;left:0;margin-top:8px;
  background:#fff;border:1px solid var(--c-border);border-radius:var(--r-md);
  box-shadow:var(--shadow-lg);padding:10px;
  opacity:0;visibility:hidden;transform:translateY(6px);
  transition:opacity .16s ease,transform .16s ease;z-index:60;
}
.nq-dropdown::before{content:"";position:absolute;top:-12px;left:0;right:0;height:12px;}
.nq-nav-item:hover .nq-dropdown,.nq-nav-item:focus-within .nq-dropdown,.nq-nav-item.open .nq-dropdown{opacity:1;visibility:visible;transform:translateY(0);}
.nq-dropdown-grid{display:grid;gap:1px;}
.nq-dd-services{grid-template-columns:1fr 1fr;width:480px;}
.nq-dd-resources{grid-template-columns:1fr;width:288px;}
.nq-dropdown-wide{left:auto;right:0;}
.nq-dd-areas{grid-template-columns:repeat(4,1fr);width:560px;}
.nq-dropdown-grid a{display:block;padding:9px 12px;border-radius:7px;font-size:.85rem;font-weight:500;color:var(--c-ink);white-space:nowrap;}
.nq-dropdown-grid a:hover{background:var(--c-bg-alt);color:var(--c-primary);}

/* ── Header accordions (mobile) ── */
.nq-mnav-acc{
  width:100%;background:none;border:0;border-bottom:1px solid var(--c-border);
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  font:inherit;font-size:1.05rem;font-weight:500;color:var(--c-ink);
  padding:14px 0;cursor:pointer;text-align:left;
}
.nq-mnav-acc svg{width:18px;height:18px;stroke:currentColor;stroke-width:2.2;fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;transition:transform .2s ease;}
.nq-mnav-acc[aria-expanded="true"] svg{transform:rotate(180deg);}
.nq-mnav-sub{display:none;padding:2px 0 10px 16px;}
.nq-mnav-sub.open{display:block;}
.nq-nav-mobile .nq-mnav-sub a{padding:10px 0;font-size:.95rem;font-weight:500;color:var(--c-ink-muted);border-bottom:1px solid var(--c-bg-alt);}
.nq-nav-mobile .nq-mnav-sub a:last-child{border-bottom:0;}
.nq-mnav-cta .nq-btn-call{width:100%;font-size:1.05rem;padding:15px 28px;}
.nq-mnav-cta .nq-btn-call svg{width:18px;height:18px;flex-shrink:0;}
a.nq-btn-call,a.nq-btn-call:visited{color:#fff;}

/* ── Services — editorial numbered list ─────────────────────── */
.nq-services-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:22px;
}
.nq-svc-card{
  display:flex;flex-direction:column;
  background:var(--c-bg);
  border:1px solid var(--c-border);
  border-radius:var(--r-md);overflow:hidden;
  box-shadow:var(--shadow-sm);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
  text-decoration:none;position:relative;
}
.nq-svc-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--c-primary);}
.nq-svc-card:active{transform:translateY(-1px);}
.nq-svc-card:focus-visible{outline:3px solid var(--c-accent);outline-offset:2px;z-index:1;}

.nq-svc-photo{
  aspect-ratio:3/2;overflow:hidden;background:var(--c-bg-alt);
  border-bottom:1px solid var(--c-border);
}
.nq-svc-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease;}
.nq-svc-card:hover .nq-svc-photo img{transform:scale(1.04);}

.nq-svc-body{display:flex;flex-direction:column;flex:1;padding:18px 22px 20px;}
.nq-svc-body h3{
  font-size:1.1rem;font-weight:700;color:var(--c-ink);
  margin-bottom:7px;line-height:1.25;
}
.nq-svc-desc{
  font-size:.88rem;color:var(--c-ink-muted);line-height:1.55;margin-bottom:0;
}

.nq-svc-img{display:none;}

/* ── Section rhythm variation ────────────────────────────────── */
.nq-section-tight{padding:clamp(36px,5vh,56px) 0;}
.nq-section-loose{padding:clamp(56px,9vh,96px) 0;}

/* ── Section header accent variant ──────────────────────────── */
.nq-section-header-left{
  text-align:left;max-width:none;margin-left:0;margin-right:0;
}
.nq-kicker{
  display:inline-block;font-family:var(--font-mono);font-size:.72rem;font-weight:500;
  letter-spacing:.08em;text-transform:uppercase;color:var(--c-primary);margin-bottom:10px;
}
.nq-section-header-left h2{margin-bottom:8px;}
.nq-section-header-left p{color:var(--c-ink-muted);}

/* ── Why-Us Block ─────────────────────────────────────────── */
.nq-why{
  display:grid;grid-template-columns:420px 1fr;gap:clamp(32px,5vw,64px);
  align-items:center;
}
.nq-why-photo{
  border-radius:var(--r-lg);overflow:hidden;
  box-shadow:var(--shadow-lg);aspect-ratio:4/3;
  background:var(--c-bg-alt);position:relative;
}
.nq-why-photo img{width:100%;height:100%;object-fit:cover;}
.nq-why-photo-cap{
  position:absolute;bottom:0;left:0;right:0;
  background:var(--c-primary-dark);
  font-family:var(--font-body);font-size:.65rem;font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;
  color:rgba(255,255,255,.82);padding:8px 14px;
}
.nq-why-content h2{
  font-size:clamp(1.4rem,2.8vw,2.1rem);
  margin-bottom:24px;color:var(--c-ink);
}
.nq-why-list{display:grid;gap:14px;}
.nq-why-item{
  display:flex;gap:14px;align-items:flex-start;
  padding:16px 18px;
  background:#fff;border:1px solid var(--c-border);
  border-radius:var(--r-sm);
  box-shadow:var(--shadow-sm);
}
.nq-why-item svg{
  width:20px;height:20px;color:var(--c-primary);
  flex-shrink:0;margin-top:2px;
}
.nq-why-item strong{
  display:block;font-size:.93rem;font-weight:700;
  color:var(--c-ink);margin-bottom:2px;
}
.nq-why-item p{font-size:.85rem;color:var(--c-ink-muted);line-height:1.55;margin-bottom:0;}

/* ── Credentials strip (real cert badges, no hover filters) ── */
.nq-creds-strip{
  padding:clamp(30px,4.5vh,48px) 0;
  background:var(--c-bg);
  border-top:1px solid var(--c-border);
  border-bottom:1px solid var(--c-border);
  text-align:center;
}
.nq-creds-label{
  font-family:var(--font-body);font-size:.72rem;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;
  color:var(--c-ink-muted);margin-bottom:22px;
}
.nq-creds-logos{
  display:flex;align-items:center;justify-content:center;
  gap:clamp(30px,5vw,60px);flex-wrap:wrap;
}
.nq-creds-logo img{display:block;width:auto;}
.nq-creds-logo:nth-child(1) img{height:108px;}
.nq-creds-logo:nth-child(2) img{height:96px;}
.nq-creds-logo:nth-child(3) img{height:106px;}
.nq-creds-logo:nth-child(4) img{height:98px;}
.nq-about-creds{margin:32px 0;padding:26px 24px;background:var(--c-bg-alt);border:1px solid var(--c-border);border-radius:var(--r-lg);}
.nq-about-creds .nq-creds-logos{justify-content:center;}

/* ── Urgency + Common Causes blocks ── */
.nq-urgency-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.nq-urgency-card{background:#fff;border:1px solid var(--c-border);border-top:3px solid var(--c-accent);border-radius:var(--r-md);padding:22px 20px;box-shadow:0 2px 8px rgba(21,53,95,.06);}
.nq-urgency-time{display:inline-block;font-family:var(--font-mono);font-size:.7rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--c-accent);margin-bottom:10px;}
.nq-urgency-card h3{font-size:1.02rem;font-weight:700;color:var(--c-ink);margin-bottom:8px;line-height:1.25;}
.nq-urgency-card p{font-size:.86rem;color:var(--c-ink-muted);line-height:1.55;}
.nq-causes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.nq-cause{padding:18px 20px;border-left:3px solid var(--c-primary);background:#fff;border-radius:0 var(--r-md) var(--r-md) 0;box-shadow:0 1px 4px rgba(21,53,95,.05);}
.nq-cause h3{font-size:1rem;font-weight:700;color:var(--c-ink);margin-bottom:6px;}
.nq-cause p{font-size:.85rem;color:var(--c-ink-muted);line-height:1.5;}
@media(max-width:900px){.nq-urgency-grid{grid-template-columns:repeat(2,1fr);}.nq-causes-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.nq-urgency-grid,.nq-causes-grid{grid-template-columns:1fr;}}
@media(max-width:680px){
  .nq-inner-hero-content p{display:none;}
  .nq-creds-label{font-size:.64rem;letter-spacing:.07em;}
  .nq-creds-logos{display:grid;grid-template-columns:auto auto;justify-content:center;align-items:center;gap:22px clamp(28px,9vw,48px);}
  .nq-creds-logo:nth-child(1) img{height:80px;}
  .nq-creds-logo:nth-child(2) img{height:72px;}
  .nq-creds-logo:nth-child(3) img{height:78px;}
  .nq-creds-logo:nth-child(4) img{height:74px;}
}

/* ── Why-us scannable block (service pages) ── */
.nq-whyus{background:var(--c-bg-alt);padding:clamp(36px,5vh,56px) 0;border-bottom:1px solid var(--c-border);}
.nq-whyus .nq-kicker{display:block;}
.nq-whyus h2{font-size:clamp(1.35rem,2.6vw,1.95rem);margin-bottom:clamp(26px,3.5vw,40px);}
.nq-whyus-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(18px,2vw,30px);}
.nq-whyus-item{display:flex;flex-direction:column;gap:9px;}
.nq-whyus-icon{width:46px;height:46px;border-radius:var(--r-sm);background:#fff;border:1px solid var(--c-border);color:var(--c-primary);display:inline-flex;align-items:center;justify-content:center;}
.nq-whyus-icon svg{width:24px;height:24px;}
.nq-whyus-item strong{font-family:var(--font-heading);font-weight:700;font-size:1.02rem;color:var(--c-ink);}
.nq-whyus-item p{font-size:.88rem;color:var(--c-ink-muted);line-height:1.5;margin:0;}
@media(max-width:860px){.nq-whyus-grid{grid-template-columns:1fr 1fr;gap:22px 24px;}}
@media(max-width:520px){.nq-whyus-grid{grid-template-columns:1fr;}}

/* ── Process Steps — horizontal timeline ───────────────────── */
.nq-steps{
  display:grid;grid-template-columns:repeat(5,1fr);
  gap:0;position:relative;
}
.nq-steps::before{
  content:'';position:absolute;top:24px;left:calc(10% + 8px);right:calc(10% + 8px);
  height:2px;background:var(--c-border);z-index:0;
}
.nq-step{
  text-align:center;padding:0 10px 24px;
  position:relative;z-index:1;
}
.nq-step-num{
  width:48px;height:48px;border-radius:50%;
  background:var(--c-primary);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-heading);font-weight:800;font-size:1rem;
  margin:0 auto 16px;
  box-shadow:0 2px 6px rgba(21,53,95,.28),0 6px 18px rgba(21,53,95,.18);
  position:relative;z-index:2;
  letter-spacing:-.02em;
}
.nq-step h4{font-size:.85rem;font-weight:700;color:var(--c-ink);margin-bottom:5px;line-height:1.25;}
.nq-step p{font-size:.78rem;color:var(--c-ink-muted);line-height:1.5;margin-bottom:0;}
.nq-steps-4{grid-template-columns:repeat(4,1fr);}
.nq-steps-4::before{left:calc(12.5% + 8px);right:calc(12.5% + 8px);}

/* ── Area Grid ─────────────────────────────────────────────── */
.nq-area-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px 14px;
}
.nq-area-link{
  display:flex;align-items:center;gap:6px;
  padding:6px 0;font-size:.88rem;color:var(--c-ink-muted);
  transition:color .15s ease;
}
.nq-area-link::before{
  content:'';display:inline-block;width:6px;height:6px;
  border-radius:50%;background:var(--c-primary);flex-shrink:0;
}
.nq-area-link:hover{color:var(--c-primary);}
.nq-area-link:focus-visible{outline:3px solid var(--c-accent);outline-offset:3px;border-radius:3px;}

/* ── Service area: neighborhoods sentence + ZIP chips (city pages) ── */
.nq-zip-list{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 4px;}
.nq-zip{
  display:inline-flex;align-items:center;gap:5px;
  font-family:var(--font-body);font-weight:600;font-size:.9rem;
  color:var(--c-ink);background:#F2F5F8;
  border:1px solid var(--c-border);border-radius:6px;
  padding:6px 12px;letter-spacing:.01em;cursor:default;
}
.nq-zip::before{
  content:"";width:11px;height:13px;flex-shrink:0;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23C24810' fill-rule='evenodd'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5.2 7 13 7 13s7-7.8 7-13a7 7 0 0 0-7-7zm0 9.5a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.nq-zip-more{
  display:inline-flex;align-items:center;
  font-family:var(--font-body);font-weight:500;font-style:italic;font-size:.9rem;
  color:var(--c-ink-muted);
  border:1px dashed var(--c-border);border-radius:6px;
  padding:6px 12px;
}
.nq-zip-note{font-size:.85rem;color:var(--c-ink-muted);margin-top:10px;}

/* ── CTA Band ──────────────────────────────────────────────── */
.nq-cta-band{
  background-color:var(--c-primary-deep);color:#fff;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='tnc'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23tnc)' opacity='0.05'/%3E%3C/svg%3E");
  padding:clamp(52px,7vh,76px) 0;
  text-align:center;
  position:relative;overflow:hidden;
  border-top:4px solid var(--c-accent);
}
.nq-cta-band h2{
  font-size:clamp(1.7rem,3.4vw,2.6rem);
  color:#fff;margin-bottom:12px;font-weight:800;
  letter-spacing:-.02em;
}
.nq-cta-band p{
  font-size:1rem;color:rgba(255,255,255,.8);
  margin-bottom:32px;max-width:52ch;margin-left:auto;margin-right:auto;
}
.nq-cta-band .nq-btn-call{font-size:1.1rem;padding:17px 40px;}
.nq-cta-band .nq-btn-call:hover{
  box-shadow:0 4px 14px rgba(202,56,38,.45),0 8px 28px rgba(202,56,38,.28);
}

/* ── Mid-page CTA strip ─────────────────────────────────────── */
.nq-mid-strip{
  background:var(--c-primary-dark);padding:28px 0;
}
.nq-mid-strip-inner{
  max-width:var(--wrap);margin:0 auto;padding:0 var(--pad);
  display:flex;align-items:center;justify-content:space-between;
  gap:24px;flex-wrap:wrap;
}
.nq-mid-strip-copy{color:#fff;}
.nq-mid-strip-copy strong{display:block;font-size:1.05rem;font-weight:700;margin-bottom:2px;}
.nq-mid-strip-copy span{font-size:.88rem;color:rgba(255,255,255,.75);}

/* ── Contact / Map block ────────────────────────────────────── */
.nq-contact-block{
  display:grid;grid-template-columns:1fr 460px;gap:clamp(32px,5vw,56px);
  align-items:start;
}
.nq-contact-info h2{
  font-size:clamp(1.4rem,2.8vw,2rem);margin-bottom:20px;
}
.nq-nap-rows{
  border:1px solid var(--c-border);border-radius:var(--r-md);
  overflow:hidden;margin-bottom:24px;
  box-shadow:var(--shadow-sm);
}
.nq-nap-row{
  display:flex;align-items:flex-start;gap:14px;
  padding:14px 18px;background:#fff;border-bottom:1px solid var(--c-border);
  font-size:.93rem;
}
.nq-nap-row:last-child{border-bottom:none;}
.nq-nap-icon{width:18px;height:18px;color:var(--c-primary);flex-shrink:0;margin-top:2px;}
.nq-nap-label{font-weight:600;color:var(--c-ink);min-width:70px;flex-shrink:0;}
.nq-nap-val{color:var(--c-ink-muted);}
.nq-nap-val a{color:var(--c-primary);font-weight:600;}
.nq-nap-val a:hover{color:var(--c-primary-dark);}
.nq-map-frame{
  border-radius:var(--r-md);overflow:hidden;
  border:1px solid var(--c-border);
  box-shadow:var(--shadow-md);
}
.nq-map-frame iframe{display:block;width:100%;height:340px;border:0;}
.nq-map-cap,.nq-prose p.nq-map-cap{
  background:var(--c-primary-dark);
  font-family:var(--font-body);font-size:.68rem;font-weight:600;
  letter-spacing:.09em;text-transform:uppercase;
  color:#fff;padding:9px 14px;margin-bottom:0;
}
.nq-map-link{color:#fff;text-decoration:underline;text-underline-offset:2px;white-space:nowrap;}
.nq-map-link:hover{color:#cfe4fb;}
.nq-map-link:focus-visible{outline:2px solid #fff;outline-offset:2px;border-radius:2px;}
.nq-office-photo-heading{font-family:var(--font-heading);font-weight:700;font-size:1.1rem;color:var(--c-ink);margin:26px 0 12px;}
.nq-office-photo-cap{font-size:.85rem;color:var(--c-ink-muted);margin-top:10px;}

/* ── FAQ ─────────────────────────────────────────────────── */
.nq-faq-list{margin-bottom:8px;}
.nq-faq-item{
  background:#fff;border:1px solid var(--c-border);
  border-radius:var(--r-sm);margin-bottom:8px;overflow:hidden;
}
.nq-faq-item summary{
  padding:16px 20px;font-weight:600;font-size:.95rem;
  color:var(--c-ink);cursor:pointer;list-style:none;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  transition:background .15s ease;
  min-height:52px;
}
.nq-faq-item summary::-webkit-details-marker{display:none;}
.nq-faq-item summary::after{
  content:'+';font-size:1.3rem;font-weight:700;
  color:var(--c-primary);flex-shrink:0;
  transition:transform .2s ease;
}
.nq-faq-item[open] summary::after{content:'\2212';}
.nq-faq-item summary:hover{background:var(--c-bg-alt);}
.nq-faq-item[open]>summary{
  border-bottom:1px solid var(--c-border);
  background:var(--c-bg-alt);
}
.nq-faq-answer{
  padding:16px 20px;font-size:.9rem;
  color:var(--c-ink-muted);line-height:1.7;
}
.nq-faq-answer p{margin-bottom:0;}

/* ── Credentials strip ──────────────────────────────────────── */
.nq-creds{
  padding:48px 0;border-top:1px solid var(--c-border);
  border-bottom:1px solid var(--c-border);
}
.nq-creds-label{
  text-align:center;font-size:.75rem;font-weight:600;
  text-transform:uppercase;letter-spacing:.12em;
  color:var(--c-ink-muted);margin-bottom:28px;
}
.nq-creds-row{
  display:flex;align-items:center;justify-content:center;
  gap:48px;flex-wrap:wrap;
}
.nq-cred-badge{
  display:flex;flex-direction:column;align-items:center;gap:6px;
  padding:16px 20px;background:var(--c-bg-alt);
  border:1px solid var(--c-border);border-radius:var(--r-md);
  min-width:120px;text-align:center;
}
.nq-cred-badge-icon{
  width:48px;height:48px;
  display:flex;align-items:center;justify-content:center;
}
.nq-cred-badge-icon svg{width:36px;height:36px;color:var(--c-primary);}
.nq-cred-name{
  font-size:.72rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.06em;color:var(--c-ink);
}

/* ── Inner page hero CTA card ───────────────────────────────── */
.nq-cta-card{
  background:rgba(255,255,255,.1);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.2);
  border-radius:var(--r-lg);padding:32px 28px;text-align:center;
}
.nq-cta-card-badge{
  display:inline-flex;align-items:center;gap:6px;
  background:rgba(34,197,94,.15);color:#4ade80;
  font-size:.8rem;font-weight:600;padding:5px 14px;
  border-radius:20px;margin-bottom:14px;
}
.nq-cta-card-badge::before{
  content:'';width:7px;height:7px;border-radius:50%;
  background:#4ade80;animation:nq-pulse 2s ease-in-out infinite;
}
@keyframes nq-pulse{0%,100%{opacity:1;}50%{opacity:.4;}}
.nq-cta-card h2{font-size:1.1rem;color:#fff;margin:0 0 16px;line-height:1.3;}
.nq-cta-card .nq-btn-call{width:100%;margin-bottom:14px;font-size:1.1rem;padding:15px 28px;}
.nq-cta-card-phone{font-size:1.4rem;font-weight:700;color:#fff;margin-bottom:4px;}
.nq-cta-card-sub{font-size:.82rem;color:rgba(255,255,255,.7);}
.nq-cta-card-trust{
  display:flex;align-items:center;justify-content:center;gap:6px;
  margin-top:14px;font-size:.8rem;font-weight:600;color:rgba(255,255,255,.85);
}
.nq-cta-card-trust svg{color:#4ade80;width:16px;height:16px;}

/* ── Inner page body layout ─────────────────────────────────── */
.nq-inner-body{background:var(--c-bg-alt);padding:64px 0;}
.nq-body-grid{
  display:grid;grid-template-columns:1fr 280px;
  gap:40px;align-items:start;
}
.nq-content{min-width:0;}
.nq-content h2{
  font-size:clamp(1.25rem,2.5vw,1.65rem);
  color:var(--c-ink);margin-bottom:14px;
  padding-top:28px;border-top:1px solid var(--c-border);margin-top:36px;
}
.nq-content h2:first-child{margin-top:0;padding-top:0;border-top:none;}
.nq-content h3{
  font-size:clamp(1.05rem,2vw,1.25rem);
  color:var(--c-ink);margin-bottom:10px;margin-top:24px;
}
.nq-content p{font-size:.95rem;color:var(--c-ink-muted);line-height:1.75;}
.nq-content ul,.nq-content ol{
  display:grid;gap:10px;padding:0;margin-bottom:1em;
}
.nq-content li{
  background:#fff;border:1px solid var(--c-border);
  border-radius:var(--r-sm);
  padding:14px 18px;font-size:.93rem;
  color:var(--c-ink-muted);line-height:1.65;
  transition:transform .15s ease,box-shadow .15s ease;
  list-style:none;
}
.nq-content li:hover{transform:translateX(3px);box-shadow:var(--shadow-sm);}
.nq-content li strong{color:var(--c-ink);font-weight:600;}
.nq-lead{margin-bottom:1.4em;}
.nq-lead p{font-size:1.03rem;color:var(--c-ink);line-height:1.75;}
.nq-lead p:last-child{margin-bottom:0;}

/* ── Split intro (text + relevant photo) ── */
.nq-splitintro{padding:clamp(36px,5vh,60px) 0;}
.nq-splitintro-grid{
  display:grid;grid-template-columns:1.05fr .95fr;
  gap:clamp(26px,4vw,52px);align-items:center;
}
.nq-splitintro-text h2{font-size:clamp(1.45rem,2.7vw,2.05rem);margin-bottom:14px;}
.nq-splitintro-text .nq-lead p{font-size:1.05rem;line-height:1.7;}
.nq-splitintro-highlights{display:grid;gap:11px;margin-top:18px;padding:0;}
.nq-splitintro-highlights li{
  display:flex;align-items:flex-start;gap:11px;list-style:none;
  font-size:.96rem;color:var(--c-ink);line-height:1.5;font-weight:500;
}
.nq-splitintro-highlights li::before{
  content:'';width:21px;height:21px;flex-shrink:0;margin-top:1px;
  background:var(--c-accent);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm-1.3 14.3-3.6-3.6 1.5-1.5 2.1 2.1 4.6-4.6 1.5 1.5z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm-1.3 14.3-3.6-3.6 1.5-1.5 2.1 2.1 4.6-4.6 1.5 1.5z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.nq-splitintro-media{
  margin:0;border-radius:var(--r-md);overflow:hidden;
  border:1px solid var(--c-border);box-shadow:var(--shadow-md);
}
.nq-splitintro-media img{width:100%;height:auto;display:block;}
picture{display:contents;}
@media(max-width:860px){
  .nq-splitintro-grid{grid-template-columns:1fr;gap:22px;}
}

/* ── Sidebar ─────────────────────────────────────────────── */
.nq-sidebar{position:sticky;top:88px;}
.nq-sidebar-card{
  background:var(--c-primary-dark);color:#fff;
  border-radius:var(--r-md);padding:24px;margin-bottom:18px;
}
.nq-sidebar-title{
  font-size:1rem;font-weight:700;color:#fff;
  margin-bottom:14px;padding-bottom:12px;
  border-bottom:2px solid var(--c-accent);
}
.nq-sidebar-nav a{
  display:flex;align-items:center;gap:8px;
  padding:10px 0;font-size:.88rem;
  color:rgba(255,255,255,.8);
  border-bottom:1px solid rgba(255,255,255,.08);
  transition:color .15s ease,padding-left .15s ease;
}
.nq-sidebar-nav a:last-child{border-bottom:none;}
.nq-sidebar-nav a::before{
  content:'›';color:var(--c-accent);font-weight:700;
  font-size:1.1rem;line-height:1;flex-shrink:0;
}
.nq-sidebar-nav a:hover{color:#fff;padding-left:4px;}
.nq-sidebar-nav a:focus-visible{outline:2px solid var(--c-accent);outline-offset:2px;}
.nq-sidebar-cta{
  background:#fff;border:1px solid var(--c-border);
  border-radius:var(--r-md);padding:22px;text-align:center;
}
.nq-sidebar-cta h4{margin-bottom:4px;color:var(--c-ink);}
.nq-sidebar-cta p{font-size:.83rem;color:var(--c-ink-muted);margin-bottom:14px;}
.nq-sidebar-cta .nq-btn-call{width:100%;font-size:.93rem;padding:12px 18px;}

/* ── Gallery / work photos ──────────────────────────────────── */
.nq-gallery{
  display:flex;gap:10px;overflow-x:auto;
  scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
  scrollbar-width:none;margin-bottom:32px;
}
.nq-gallery::-webkit-scrollbar{display:none;}
.nq-gallery-item{
  flex:0 0 auto;width:clamp(200px,calc(25% - 8px),260px);
  border-radius:var(--r-sm);overflow:hidden;
  aspect-ratio:4/3;background:var(--c-bg-alt);
  scroll-snap-align:start;position:relative;cursor:pointer;
}
.nq-gallery-item img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .35s ease;
}
.nq-gallery-item:hover img{transform:scale(1.05);}
.nq-gallery-item::after{
  content:'';position:absolute;inset:0;
  background:rgba(21,53,95,.4);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' fill='none' stroke='white' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='7'/%3E%3Cpath d='m17 17 5 5M12 9v6M9 12h6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:center;background-size:28px;
  background-color:rgba(21,53,95,.45);
  opacity:0;transition:opacity .25s ease;
  border-radius:var(--r-sm);
}
.nq-gallery-item:hover::after{opacity:1;}

/* ── Content utility classes ────────────────────────────────── */
.nq-svc-cards{
  display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:32px;
}
.nq-svc-feature{
  background:#fff;border:1px solid var(--c-border);
  border-radius:var(--r-md);padding:20px;
  transition:transform .2s ease,box-shadow .2s ease;
}
.nq-svc-feature:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm);}
.nq-svc-feature svg{width:32px;height:32px;color:var(--c-primary);margin-bottom:10px;}
.nq-svc-feature h4{font-size:.93rem;font-weight:700;color:var(--c-ink);margin-bottom:4px;}
.nq-svc-feature p{font-size:.85rem;color:var(--c-ink-muted);line-height:1.55;margin-bottom:0;}
.nq-svc-feature:focus-visible{outline:3px solid var(--c-accent);outline-offset:3px;}

/* equipment spec list — non-icon editorial rows (no icon-card grid) */
.nq-spec-list{
  display:grid;gap:0;margin-bottom:32px;
  border:1px solid var(--c-border);border-radius:var(--r-md);
  overflow:hidden;background:#fff;
}
.nq-spec-row{
  display:grid;grid-template-columns:minmax(150px,210px) 1fr;
  gap:clamp(14px,2.5vw,32px);align-items:baseline;
  padding:16px clamp(16px,2.5vw,24px);
}
.nq-spec-row + .nq-spec-row{border-top:1px solid var(--c-border);}
.nq-spec-row dt{
  font-family:var(--font-mono);font-size:.74rem;font-weight:500;
  letter-spacing:.04em;text-transform:uppercase;color:var(--c-primary);
  line-height:1.4;
}
.nq-spec-row dd{
  margin:0;font-size:.88rem;color:var(--c-ink-muted);line-height:1.6;
}
.nq-spec-row dd strong{color:var(--c-ink);font-weight:700;}
@media(max-width:560px){
  .nq-spec-row{grid-template-columns:1fr;gap:4px;}
}

.nq-urgency-cards{
  display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:32px;
}
.nq-urgency-card{
  background:#fff;border:1px solid var(--c-border);
  border-radius:var(--r-sm);
  padding:18px;
}
.nq-urgency-card h4{font-size:.9rem;font-weight:700;color:var(--c-ink);margin-bottom:4px;}
.nq-urgency-card p{font-size:.85rem;color:var(--c-ink-muted);line-height:1.55;margin-bottom:0;}

/* service-page steps */
.nq-svc-steps{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:14px;
  margin-bottom:32px;counter-reset:svc-step;
}
.nq-svc-step{
  text-align:center;padding:18px 10px;
  background:#fff;border:1px solid var(--c-border);
  border-radius:var(--r-md);position:relative;
}
.nq-svc-step-num{
  width:38px;height:38px;border-radius:50%;
  background:var(--c-primary);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-weight:700;font-size:.9rem;margin:0 auto 10px;
}
.nq-svc-step h4{font-size:.84rem;font-weight:700;color:var(--c-ink);margin-bottom:3px;}
.nq-svc-step p{font-size:.78rem;color:var(--c-ink-muted);line-height:1.45;margin-bottom:0;}

/* insurance section */
.nq-insurance{
  background:#fff;border:1px solid var(--c-border);
  border-radius:var(--r-md);padding:28px;margin-bottom:32px;
}
.nq-insurance h3{font-size:1.1rem;color:var(--c-ink);margin-bottom:16px;}
.nq-insurance-steps{
  display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:16px;
}
.nq-insurance-step{
  text-align:center;padding:14px 10px;
  background:var(--c-bg-alt);border-radius:var(--r-sm);
}
.nq-insurance-step .nq-svc-step-num{width:34px;height:34px;font-size:.85rem;}
.nq-insurance-step h4{font-size:.85rem;font-weight:600;color:var(--c-ink);margin-bottom:3px;}
.nq-insurance-step p{font-size:.78rem;color:var(--c-ink-muted);margin-bottom:0;}
.nq-insurance-note{font-size:.82rem;color:var(--c-ink-muted);line-height:1.65;}
.nq-insurance-note strong{color:var(--c-ink);}

/* content img */
.nq-content-img{
  border-radius:var(--r-sm);overflow:hidden;margin:20px 0;
}
.nq-content-img img{width:100%;height:auto;display:block;}

/* article figure — guide content photo + mono caption (diagonal-scan anchor) */
.nq-article-figure{
  margin:24px 0 30px;border-radius:var(--r-sm);overflow:hidden;
  border:1px solid var(--c-border);background:var(--c-bg-alt);
  box-shadow:var(--shadow-sm);
}
.nq-article-figure picture{display:block;}
.nq-article-figure img{width:100%;height:auto;display:block;}
.nq-article-figure figcaption{
  font-family:var(--font-mono);font-size:.76rem;line-height:1.55;
  color:var(--c-ink-muted);padding:9px 14px 10px;
  border-top:1px solid var(--c-border);
}

/* ── City page service index — non-icon editorial list ───────── */
.nq-city-svc-grid{
  display:grid;grid-template-columns:repeat(2,1fr);
  gap:0 clamp(20px,3vw,44px);
  border-top:1px solid var(--c-border);
}
.nq-city-svc-card{
  display:grid;grid-template-columns:1fr auto;
  align-items:baseline;column-gap:16px;
  padding:18px 4px;
  border-bottom:1px solid var(--c-border);
  transition:background-color .15s ease;
}
.nq-city-svc-card:hover{background:var(--c-bg-alt);}
.nq-city-svc-card:hover h3{color:var(--c-primary);}
.nq-city-svc-card:hover .nq-city-svc-go{transform:translateX(3px);color:var(--c-accent);}
.nq-city-svc-card:focus-visible{outline:3px solid var(--c-accent);outline-offset:3px;border-radius:4px;}
.nq-city-svc-text{min-width:0;}
.nq-city-svc-card h3{font-size:1rem;font-weight:700;color:var(--c-ink);margin-bottom:4px;line-height:1.3;transition:color .15s ease;}
.nq-city-svc-card p{font-size:.85rem;color:var(--c-ink-muted);line-height:1.55;margin-bottom:0;}
.nq-city-svc-go{
  align-self:center;color:var(--c-primary);flex-shrink:0;
  transition:transform .18s ease,color .15s ease;
}
.nq-city-svc-go svg{width:20px;height:20px;display:block;stroke:currentColor;stroke-width:2;fill:none;}
@media(max-width:680px){
  .nq-city-svc-grid{grid-template-columns:1fr;}
}

/* ── Info / resource pages ───────────────────────────────────── */
.nq-info-hero{
  padding:48px 0 40px;
  background:var(--c-bg-alt);border-bottom:1px solid var(--c-border);
}
.nq-info-hero h1{
  font-size:clamp(1.8rem,3.5vw,2.8rem);
  color:var(--c-primary-dark);margin-bottom:12px;
}
.nq-info-hero p{font-size:1.05rem;color:var(--c-ink-muted);max-width:60ch;}
.nq-prose{max-width:720px;}
.nq-prose h2{font-size:clamp(1.25rem,2.4vw,1.65rem);margin-bottom:12px;margin-top:36px;padding-top:28px;border-top:1px solid var(--c-border);}
.nq-prose h2:first-child{margin-top:0;padding-top:0;border-top:none;}
/* mono kicker label carries the section divider when it precedes an h2 */
.nq-prose .nq-kicker{margin-top:38px;padding-top:30px;border-top:1px solid var(--c-border);margin-bottom:6px;}
.nq-prose > .nq-kicker:first-child{margin-top:0;padding-top:0;border-top:none;}
.nq-prose .nq-kicker + h2{margin-top:0;padding-top:0;border-top:none;}
.nq-prose h3{font-size:clamp(1.05rem,2vw,1.25rem);color:var(--c-ink);margin-bottom:8px;margin-top:22px;}
.nq-prose p{font-size:.95rem;color:var(--c-ink-muted);line-height:1.8;}
.nq-prose ul,.nq-prose ol{padding-left:0;margin-bottom:1em;}
.nq-prose li{font-size:.95rem;color:var(--c-ink-muted);line-height:1.7;margin-bottom:6px;}

/* ── Footer ──────────────────────────────────────────────────── */
.nq-footer{
  background:var(--c-primary-deep);color:rgba(255,255,255,.8);
  padding:56px 0 0;
}
.nq-footer-grid{
  display:grid;grid-template-columns:1.4fr repeat(3,1fr);
  gap:40px;margin-bottom:40px;
}
.nq-footer-brand .nq-footer-logo{
  display:block;margin-bottom:16px;
}
.nq-footer-brand .nq-footer-logo svg{width:36px;height:36px;flex-shrink:0;}
.nq-footer-brand .nq-footer-logo-img{height:40px;width:auto;display:block;}
.nq-footer-brand p{font-size:.88rem;line-height:1.7;max-width:280px;}
.nq-footer-nap{
  margin-top:14px;font-style:normal;
  font-size:.85rem;line-height:1.8;
}
.nq-footer-nap a{color:rgba(255,255,255,.9);font-weight:600;}
.nq-footer-nap a:hover{color:var(--c-accent);}
.nq-footer-email{text-decoration:underline;text-underline-offset:3px;}
.nq-footer-col h4{
  color:#fff;font-size:.93rem;font-weight:700;margin-bottom:14px;
  padding-bottom:8px;position:relative;
}
.nq-footer-col h4::after{
  content:'';display:block;width:28px;height:2px;
  background:var(--c-accent);margin-top:6px;
}
.nq-footer-col a{
  display:block;padding:4px 0;font-size:.85rem;
  color:rgba(255,255,255,.75);transition:color .15s ease;
}
.nq-footer-col a:hover{color:var(--c-accent);}
.nq-footer-col a:focus-visible{outline:2px solid var(--c-accent);outline-offset:3px;border-radius:2px;}
.nq-footer-bottom{
  border-top:1px solid rgba(255,255,255,.1);
  padding:18px 0;display:flex;
  justify-content:space-between;align-items:center;
  font-size:.82rem;flex-wrap:wrap;gap:10px;
}
.nq-footer-legal a{
  margin-left:16px;color:rgba(255,255,255,.65);
  transition:color .15s ease;
}
.nq-footer-legal a:hover{color:var(--c-accent);}
.nq-disclaimer-btn{margin-left:16px;color:rgba(255,255,255,.65);background:none;border:none;padding:0;font:inherit;cursor:pointer;transition:color .15s ease;}
.nq-disclaimer-btn:hover{color:var(--c-accent);}
.nq-disclaimer-btn:focus-visible{outline:2px solid var(--c-accent);outline-offset:3px;border-radius:3px;}

/* ── Disclaimer modal ── */
.nq-modal-overlay{position:fixed;inset:0;z-index:2000;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(10,28,52,.55);}
.nq-modal-overlay.active{display:flex;}
.nq-modal-box{position:relative;background:#fff;border-radius:var(--r-lg);max-width:560px;width:100%;max-height:85vh;overflow:auto;padding:clamp(24px,4vw,40px);box-shadow:var(--shadow-lg);}
.nq-modal-close{position:absolute;top:8px;right:12px;width:42px;height:42px;font-size:1.7rem;line-height:1;color:var(--c-ink-muted);background:none;border:none;cursor:pointer;border-radius:var(--r-sm);}
.nq-modal-close:hover{color:var(--c-ink);background:var(--c-bg-alt);}
.nq-modal-close:focus-visible{outline:3px solid var(--c-accent);outline-offset:2px;}
.nq-modal-content h2{font-size:1.3rem;margin-bottom:14px;color:var(--c-ink);padding-right:32px;}
.nq-modal-content p{font-size:.92rem;color:var(--c-ink-muted);line-height:1.65;margin-bottom:12px;}
.nq-modal-content p:last-child{margin-bottom:0;}
.nq-modal-content a{color:var(--c-primary);text-decoration:underline;}

/* ── Site map page ── */
.nq-sitemap-group{margin-bottom:clamp(28px,4vh,44px);}
.nq-sitemap-group > h2{font-size:clamp(1.15rem,2vw,1.45rem);color:var(--c-ink);margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid var(--c-border);}
.nq-sitemap-list{list-style:none;padding:0;margin:0;}
.nq-sitemap-cols{columns:3;column-gap:30px;}
.nq-sitemap-list li{margin-bottom:7px;break-inside:avoid;}
.nq-sitemap-list a{color:var(--c-primary);font-size:.93rem;}
.nq-sitemap-list a:hover{text-decoration:underline;}
.nq-sitemap-note{color:var(--c-ink-muted);font-size:.92rem;margin-bottom:16px;}
.nq-sitemap-cities{display:grid;grid-template-columns:repeat(auto-fill,minmax(228px,1fr));gap:18px;}
.nq-sitemap-city{background:var(--c-bg-alt);border:1px solid var(--c-border);border-radius:var(--r-md);padding:15px 18px;}
.nq-sitemap-city-head{display:block;font-family:var(--font-heading);font-weight:700;font-size:1rem;color:var(--c-ink);margin-bottom:9px;}
.nq-sitemap-city-head:hover{color:var(--c-primary);}
.nq-sitemap-city .nq-sitemap-list a{font-size:.85rem;color:var(--c-ink-muted);}
.nq-sitemap-city .nq-sitemap-list a:hover{color:var(--c-primary);text-decoration:underline;}
.nq-sitemap-city .nq-sitemap-list li{margin-bottom:5px;}
@media(max-width:768px){.nq-sitemap-cols{columns:2;}}
@media(max-width:480px){.nq-sitemap-cols{columns:1;}}

/* (scroll fade-in removed — content always visible, no scroll-triggered animation) */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
    scroll-behavior:auto !important;
  }
}

/* ── Lightbox ────────────────────────────────────────────────── */
.nq-lightbox{
  position:fixed;inset:0;z-index:3000;
  background:rgba(0,0,0,.88);
  display:none;align-items:center;justify-content:center;
  padding:20px;cursor:zoom-out;
}
.nq-lightbox.active{display:flex;}
.nq-lightbox img{
  max-width:90vw;max-height:90vh;object-fit:contain;
  border-radius:6px;box-shadow:0 8px 40px rgba(0,0,0,.5);
}
.nq-lb-close{
  position:absolute;top:16px;right:20px;width:40px;height:40px;
  border-radius:50%;background:rgba(255,255,255,.15);
  backdrop-filter:blur(4px);cursor:pointer;
  font-size:1.6rem;line-height:1;color:#fff;
  display:flex;align-items:center;justify-content:center;
  transition:background .2s ease;border:none;
}
.nq-lb-close:hover{background:rgba(255,255,255,.3);}
.nq-lb-prev,.nq-lb-next{
  position:absolute;top:50%;transform:translateY(-50%);
  width:48px;height:48px;border-radius:50%;
  background:rgba(255,255,255,.15);backdrop-filter:blur(4px);
  cursor:pointer;font-size:2rem;color:#fff;
  display:flex;align-items:center;justify-content:center;
  transition:background .2s ease;border:none;user-select:none;z-index:1;
}
.nq-lb-prev{left:20px;}
.nq-lb-next{right:20px;}
.nq-lb-prev:hover,.nq-lb-next:hover{background:rgba(255,255,255,.3);}

/* ── Modal ───────────────────────────────────────────────────── */
.nq-modal-overlay{
  position:fixed;inset:0;z-index:2000;background:rgba(0,0,0,.55);
  display:none;align-items:center;justify-content:center;padding:20px;
}
.nq-modal-overlay.active{display:flex;}
.nq-modal-box{
  background:#fff;border-radius:12px;max-width:580px;width:100%;
  max-height:80vh;overflow-y:auto;padding:32px;position:relative;
  color:var(--c-ink);
}
.nq-modal-close{
  position:absolute;top:12px;right:12px;width:32px;height:32px;
  font-size:1.5rem;line-height:1;color:#666;
  transition:color .15s ease;border:none;background:none;cursor:pointer;
}
.nq-modal-close:hover{color:var(--c-ink);}

/* ── [data-cta] feedback ─────────────────────────────────────── */
[data-cta]:active{transform:scale(.97);}

/* ── Inner-hero divergent composition (photo + inline CTA, no floating card) ── */
.nq-inner-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 22px;margin-top:24px;}
.nq-inner-hero-actions .nq-btn-call{font-size:1.08rem;padding:15px 28px;}
.nq-inner-hero-phone{display:inline-flex;flex-direction:column;line-height:1.2;}
.nq-inner-hero-phone .nq-ih-phone-num{font-family:var(--font-heading);font-weight:800;font-size:1.25rem;color:#fff;}
.nq-inner-hero-phone .nq-ih-phone-num a{color:#fff;text-decoration:none;}
.nq-inner-hero-phone .nq-ih-phone-num a:hover{color:var(--c-accent);}
.nq-inner-hero-phone .nq-ih-phone-sub{font-size:.78rem;color:rgba(255,255,255,.72);letter-spacing:.02em;}
.nq-inner-hero-photo{
  border-radius:var(--r-lg);overflow:hidden;
  box-shadow:var(--shadow-lg);
}
.nq-inner-hero-photo picture{display:block;aspect-ratio:4/3;background:var(--c-primary-deep);}
.nq-inner-hero-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.nq-inner-hero-photo-cap{
  display:block;
  background:var(--c-primary-deep);
  font-family:var(--font-body);font-size:.64rem;font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;
  color:rgba(255,255,255,.82);padding:9px 14px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}

/* =============================================================
   RESPONSIVE
   ============================================================= */

@media(max-width:1120px){
  /* the full nav needs room for the wide logo wordmark + 5 nav groups + phone + CTA;
     below ~1120 it crowds the logo, so switch to the burger earlier than the layout bp */
  .nq-nav,.nq-header-right{display:none;}
  .nq-burger{display:flex;}
}
@media(max-width:1024px){
  .nq-services-grid{grid-template-columns:1fr 1fr;}
  .nq-why{grid-template-columns:1fr;gap:28px;}
  .nq-why-photo{max-height:300px;}
  .nq-steps{grid-template-columns:repeat(3,1fr);}
  .nq-steps::before{display:none;}
  .nq-step{padding-bottom:16px;}
  .nq-body-grid{grid-template-columns:1fr;}
  .nq-sidebar{position:static;margin-top:16px;padding-top:20px;border-top:1px solid var(--c-border);}
  .nq-inner-hero-grid{grid-template-columns:1fr;gap:24px;}
  .nq-contact-block{grid-template-columns:1fr;}
  .nq-footer-grid{grid-template-columns:repeat(2,1fr);}
  .nq-svc-steps{grid-template-columns:repeat(3,1fr);}
}

@media(max-width:768px){
  .nq-section{padding:40px 0;}
  .nq-section-header{margin-bottom:28px;}
  .nq-inner-body{padding:36px 0;}
  .nq-services-grid{grid-template-columns:1fr 1fr;}
  .nq-svc-card{padding:24px 20px 20px;}
  .nq-svc-body h3{font-size:1.02rem;}
  .nq-svc-desc{font-size:.85rem;}
  .nq-why{grid-template-columns:1fr;}
  .nq-steps{grid-template-columns:repeat(2,1fr);gap:12px;}
  .nq-steps::before{display:none;}
  .nq-area-grid{grid-template-columns:repeat(2,1fr);}
  .nq-footer-grid{grid-template-columns:1fr;gap:28px;}
  .nq-footer-bottom{flex-direction:column;text-align:center;}
  .nq-footer{padding-bottom:52px;}
  .nq-svc-cards{grid-template-columns:1fr;}
  .nq-urgency-cards{grid-template-columns:1fr;}
  .nq-svc-steps{grid-template-columns:repeat(2,1fr);}
  .nq-insurance-steps{grid-template-columns:1fr;}
  .nq-city-svc-grid{grid-template-columns:1fr;}
  .nq-mid-strip-inner{flex-direction:column;text-align:center;}
  .nq-mid-strip .nq-btn-call{width:100%;justify-content:center;}
  .nq-cta-band .nq-btn-call{width:100%;justify-content:center;}
  .nq-sidebar-cta{display:none;}
  .nq-creds-row{gap:20px;}
  .nq-cred-badge{min-width:100px;padding:12px 14px;}
}

@media(max-width:480px){
  .nq-services-grid{grid-template-columns:1fr;}
  .nq-steps{grid-template-columns:1fr;}
  .nq-svc-steps{grid-template-columns:1fr;}
  .nq-inner-hero-actions{gap:12px 16px;}
  .nq-inner-hero-actions .nq-btn-call{width:100%;justify-content:center;}
  .nq-lb-prev{left:8px;}
  .nq-lb-next{right:8px;}
  .nq-lb-prev,.nq-lb-next{width:40px;height:40px;font-size:1.6rem;}
}
