/* ── MOBILE (≤900px) ── */
@media (max-width: 900px) {
  /* NAV */
  nav { padding: 0 20px; height: 64px; }
  .nav-logo-text { font-size: 17px; }
  .nav-logo-sub { font-size: 10px; }
  .nav-links { display: none; }

  /* MOBILE MENU BUTTON */
  .nav-mobile-btn {
    display: flex; flex-direction: column; gap: 5px; cursor: pointer;
    padding: 8px; border: none; background: transparent;
  }
  .nav-mobile-btn span {
    display: block; width: 24px; height: 2px;
    background: rgba(255,255,255,0.85); border-radius: 2px; transition: all 0.3s;
  }

  /* MOBILE DROPDOWN MENU */
  .nav-mobile-menu {
    display: none; position: fixed; top: 64px; left: 0; right: 0;
    background: rgba(15,33,55,0.99); backdrop-filter: blur(8px);
    padding: 20px; z-index: 99; border-bottom: 1px solid rgba(201,168,76,0.2);
    flex-direction: column; gap: 4px;
  }
  .nav-mobile-menu.open { display: flex; }
  .nav-mobile-menu a {
    font-size: 15px; color: rgba(255,255,255,0.85); font-weight: 400;
    padding: 12px 16px; border-radius: 8px; transition: all 0.2s;
    display: block;
  }
  .nav-mobile-menu a:hover { background: rgba(255,255,255,0.06); color: var(--gold); }
  .nav-mobile-menu .nav-cta {
    background: var(--green) !important; color: var(--white) !important;
    text-align: center; font-weight: 700 !important; margin-top: 8px;
  }
  .nav-mobile-menu .nav-phone {
    background: rgba(201,168,76,0.12); border: 1.5px solid rgba(201,168,76,0.4);
    color: var(--white) !important; text-align: center; font-weight: 600 !important;
  }

  /* HERO */
  .hero { padding: 90px 20px 48px; }
  .hero h1 { font-size: clamp(30px, 8vw, 42px); }
  .hero-sub { font-size: 16px; }
  .hero-stats { gap: 24px; margin-top: 36px; padding-top: 24px; }
  .hero-stat-num { font-size: 26px; }
  .btn-primary, .btn-outline { padding: 13px 24px; font-size: 14px; }

  /* SECTIONS */
  section { padding: 56px 20px; }
  .section-title { font-size: clamp(24px, 6vw, 32px); }

  /* COMPLIANCE ALERT */
  .compliance-alert { padding: 48px 20px; }
  .compliance-cards { grid-template-columns: 1fr; gap: 14px; }
  .compliance-cta-bar { flex-direction: column; text-align: center; padding: 28px 20px; }
  .compliance-cta-actions { width: 100%; }
  .compliance-cta-actions .btn-primary { width: 100%; justify-content: center; }

  /* CREDENTIALS */
  .creds-strip { padding: 10px 20px; }
  .creds-inner { gap: 0; }
  .creds-inner { justify-content: flex-start; }
  .cred-item { padding: 6px 12px; font-size: 12px; }

  /* TRUST BAR */
  .trust-bar { padding: 12px 20px; }
  .trust-bar-inner { gap: 14px; }
  .trust-item { font-size: 12.5px; }

  /* SERVICES */
  .services-grid { grid-template-columns: 1fr; }
  .service-card { padding: 28px 22px; }
  .service-photo { margin: -28px -22px 18px; height: 140px; }

  /* WHY */
  .why-grid { grid-template-columns: 1fr; }
  .enforcement-highlight { grid-template-columns: 1fr; padding: 24px 20px; }
  .enforcement-tags { gap: 8px; }

  /* PRICING */
  .pricing-grid { grid-template-columns: 1fr 1fr; gap: 14px; }
  .price-card { padding: 20px 16px; }
  .price-amount { font-size: 30px; }
  .pricing-bundle { flex-direction: column; padding: 24px 20px; }
  .bundle-price { text-align: left; }
  .bundle-now { font-size: 36px; }

  /* AREAS */
  .areas-grid { grid-template-columns: 1fr 1fr; }

  /* QUOTE */
  .quote-wrapper { grid-template-columns: 1fr; }
  .form-row { grid-template-columns: 1fr; }
  .quote-form { padding: 24px 18px; }
  .services-check { gap: 8px; }
  .check-label { font-size: 12px; padding: 6px 12px; }

  /* FOOTER */
  .footer-top { grid-template-columns: 1fr; gap: 28px; }
  footer { padding: 40px 20px 24px; }
  .footer-bottom { flex-direction: column; text-align: center; gap: 6px; }

  /* LEGAL PAGES */
  .legal-page { padding: 96px 16px 56px; }
  .legal-inner { padding: 32px 22px; }
  .legal-inner h2 { font-size: 21px; margin-top: 32px; }
}

/* ── SMALL MOBILE (≤480px) ── */
@media (max-width: 480px) {
  .pricing-grid { grid-template-columns: 1fr; }
  .areas-grid { grid-template-columns: 1fr 1fr; }
  .compliance-cards { grid-template-columns: 1fr; }
  .hero-actions { flex-direction: column; }
  .btn-primary, .btn-outline { width: 100%; justify-content: center; text-align: center; }
}
