/* ============================================================
       RESET & BASE
    ============================================================ */
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    html { scroll-behavior: smooth; overflow-x: hidden; }

    body {
      font-family: ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, Arial, 'Noto Sans', sans-serif;
      background: #0c1a2e;
      color: #f1f5f9;
      position: relative;
    }

    a { color: inherit; text-decoration: none; }
    ul { list-style: none; }
    img, svg { display: block; }
    button { font-family: inherit; cursor: pointer; border: none; background: none; }
    input, select { font-family: inherit; color: inherit; }

    /* ============================================================
       CSS VARIABLES
    ============================================================ */
    :root {
      --ev-bg: #0c1a2e;
      --ev-emerald: 16 185 129;
      --ev-cyan: 34 211 238;
      --ev-purple: 168 85 247;
      --emerald-300: #6ee7b7;
      --emerald-400: #34d399;
      --emerald-500: #10b981;
      --cyan-300: #67e8f9;
      --cyan-400: #22d3ee;
      --slate-100: #f1f5f9;
      --slate-200: #e2e8f0;
      --slate-300: #cbd5e1;
      --slate-400: #94a3b8;
      --slate-500: #64748b;
      --slate-900: #162338;
      --slate-950: #0c1a2e;
    }

    /* ============================================================
       LAYOUT UTILITIES
    ============================================================ */
    .container {
      width: 100%;
      max-width: 80rem; /* max-w-7xl */
      margin-left: auto;
      margin-right: auto;
      padding-left: 1rem;
      padding-right: 1rem;
    }

    .container-6xl {
      width: 100%;
      max-width: 72rem; /* max-w-6xl */
      margin-left: auto;
      margin-right: auto;
      padding-left: 1.5rem;
      padding-right: 1.5rem;
    }

    /* ============================================================
       BACKGROUND GLOW
    ============================================================ */
    .ev-glow {
      position: absolute;
      inset: 0;
      pointer-events: none;
    }
    .ev-glow .g1 {
      position: absolute;
      top: -10rem;
      left: 50%;
      height: 44rem;
      width: 44rem;
      transform: translateX(-50%);
      border-radius: 9999px;
      background: rgb(var(--ev-emerald) / .30);
      filter: blur(140px);
    }
    .ev-glow .g2 {
      position: absolute;
      top: 10rem;
      right: -12.5rem;
      height: 44rem;
      width: 44rem;
      border-radius: 9999px;
      background: rgb(var(--ev-cyan) / .25);
      filter: blur(150px);
    }
    .ev-glow .g3 {
      position: absolute;
      bottom: -18.75rem;
      left: -12.5rem;
      height: 50rem;
      width: 50rem;
      border-radius: 9999px;
      background: rgb(var(--ev-purple) / .20);
      filter: blur(160px);
    }
    .ev-glow .grain {
      position: absolute;
      inset: 0;
      background: radial-gradient(circle at top, rgba(255,255,255,0.06), transparent 55%);
    }

    /* ============================================================
       ANIMATIONS
    ============================================================ */
    @keyframes ev-pulse {
      0%   { box-shadow: 0 0 0 0 rgba(16,185,129,.65); transform: scale(1); }
      60%  { box-shadow: 0 0 0 18px rgba(16,185,129,0); transform: scale(1.03); }
      100% { box-shadow: 0 0 0 0 rgba(16,185,129,0); transform: scale(1); }
    }
    .ev-pulse {
      animation: ev-pulse 2.2s ease-out infinite;
      will-change: transform, box-shadow;
    }

    /* ============================================================
       TOP BAR
    ============================================================ */
    .top-bar {
      background: rgba(22,35,56,0.75);
      border-bottom: 1px solid rgba(255,255,255,0.10);
    }
    .top-bar-inner {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: space-between;
      gap: 0.75rem;
      padding-top: 0.5rem;
      padding-bottom: 0.5rem;
      font-size: 1rem;
    }
    .top-bar-left {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 1rem 1rem;
      color: var(--slate-200);
    }
    .top-bar-status {
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
    }
    .status-dot {
      display: inline-block;
      height: 0.5rem;
      width: 0.5rem;
      border-radius: 9999px;
      background: var(--emerald-400);
      flex-shrink: 0;
    }
    .top-bar-cities { display: none; }
    .top-bar-right {
      display: flex;
      align-items: center;
      gap: 0.5rem;
    }

    /* ============================================================
       SHARED BUTTON / PILL STYLES
    ============================================================ */
    .btn-pill-ghost {
      display: inline-flex;
      align-items: center;
      border-radius: 9999px;
      background: rgba(255,255,255,0.10);
      padding: 0.25rem 0.75rem;
      transition: background 0.15s;
    }
    .btn-pill-ghost:hover { background: rgba(255,255,255,0.15); }

    .btn-pill-sms {
      display: inline-flex;
      align-items: center;
      border-radius: 9999px;
      background: rgba(52,211,153,0.10);
      border: 1px solid rgba(52,211,153,0.30);
      color: var(--emerald-400);
      padding: 0.25rem 0.75rem;
      transition: background 0.15s;
    }
    .btn-pill-sms:hover { background: rgba(52,211,153,0.18); }

    .btn-pill-emerald {
      display: inline-flex;
      align-items: center;
      border-radius: 9999px;
      background: linear-gradient(135deg, var(--emerald-400), var(--cyan-300));
      padding: 0.25rem 0.75rem;
      font-weight: 600;
      color: #020617;
      transition: background 0.15s;
    }
    .btn-pill-emerald:hover { background: linear-gradient(135deg, var(--emerald-300), var(--cyan-300)); }

    .btn-compact { padding: 0.3rem 0.75rem; font-size: 0.875rem; }

    .btn-rounded-ghost {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 9999px;
      background: rgba(255,255,255,0.10);
      padding: 0.5rem 1rem;
      font-weight: 600;
      transition: background 0.15s;
    }
    .btn-rounded-ghost:hover { background: rgba(255,255,255,0.15); }

    .btn-rounded-white {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 9999px;
      background: #fff;
      padding: 0.5rem 1rem;
      font-weight: 600;
      color: #020617;
      transition: background 0.15s;
    }
    .btn-rounded-white:hover { background: #f1f5f9; }

    .btn-2xl-emerald {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 1rem;
      background: var(--emerald-500);
      padding: 0.75rem 1.5rem;
      font-weight: 800;
      color: #020617;
      transition: background 0.15s;
    }
    .btn-2xl-emerald:hover { background: var(--emerald-400); }

    .btn-2xl-ghost {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 1rem;
      background: rgba(255,255,255,0.10);
      border: 1px solid rgba(255,255,255,0.10);
      padding: 0.75rem 1.5rem;
      font-weight: 800;
      transition: background 0.15s;
    }
    .btn-2xl-ghost:hover { background: rgba(255,255,255,0.15); }

    .btn-hero-emerald {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 1rem;
      background: linear-gradient(135deg, var(--emerald-400), var(--cyan-300));
      padding: 1.25rem 2.5rem;
      font-size: 1.125rem;
      font-weight: 800;
      color: #020617;
      box-shadow: 0 8px 24px rgba(0,0,0,.06);
      transition: background 0.15s;
    }
    .btn-hero-emerald:hover { background: linear-gradient(135deg, var(--emerald-300), var(--cyan-300)); }

    .btn-hero-ghost {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 1rem;
      background: rgba(255,255,255,0.08);
      border: 1px solid rgba(255,255,255,0.10);
      padding: 1.25rem 2.5rem;
      font-size: 1.125rem;
      font-weight: 800;
      transition: background 0.15s;
    }
    .btn-hero-ghost:hover { background: rgba(255,255,255,0.10); }

    .btn-hero-pulse {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 1rem;
      background: linear-gradient(to right, var(--emerald-400), var(--emerald-500), var(--cyan-400));
      padding: 1rem 2rem;
      font-size: 1.125rem;
      font-weight: 800;
      color: #020617;
      box-shadow: 0 10px 15px -3px rgba(16,185,129,0.20);
    }

    /* ============================================================
       HEADER / NAV
    ============================================================ */
    .header-stack {
      position: sticky;
      top: 0;
      z-index: 50;
    }
    .site-header {
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
      background: rgba(22,35,56,0.70);
      border-bottom: 1px solid rgba(255,255,255,0.10);
    }
    .header-inner {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 1.25rem;
      padding-top: 0.6rem;
      padding-bottom: 0.6rem;
    }
    .logo-link {
      display: flex;
      align-items: center;
      flex: 0 1 auto;
      min-width: 0;
    }
    .logo-link img {
      height: 64px;
      width: auto;
      display: block;
    }
    .logo-tagline {
      flex: 0 1 auto;
      min-width: 0;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    @media (max-width: 1199px) {
      .logo-tagline { display: none; }
    }
    .logo-icon {
      height: 2.5rem;
      width: 2.5rem;
      border-radius: 1rem;
      background: linear-gradient(135deg, var(--emerald-400), var(--cyan-300));
      box-shadow: 0 8px 24px rgba(0,0,0,.06);
      flex-shrink: 0;
    }
    .logo-name {
      font-weight: 900;
      letter-spacing: -0.025em;
      font-size: 1.05rem;
      line-height: 1.15rem;
    }
    .logo-sub {
      display: none;
      font-size: 0.9rem;
      font-weight: 800;
      color: #fff;
      letter-spacing: 0.01em;
      line-height: 1.15rem;
    }

    /* Desktop nav */
    .desktop-nav {
      display: none;
      align-items: center;
      justify-content: center;
      flex: 1 1 auto;
      gap: 1.6rem;
      font-size: 1rem;
      color: var(--slate-200);
    }
    .nav-link-active {
      font-weight: 700;
      color: var(--emerald-300);
    }
    .nav-link-active:hover { color: #a7f3d0; }
    .nav-link:hover { color: #fff; }

    /* Dropdown */
    .dropdown { position: relative; }
    .dropdown-toggle {
      display: inline-flex;
      align-items: center;
      gap: 0.25rem;
      color: var(--slate-200);
      font-size: 1rem;
      transition: color 0.15s;
    }
    .dropdown-toggle:hover { color: #fff; }
    .dropdown-toggle svg { width: 1rem; height: 1rem; }

    .dropdown-panel {
      position: absolute;
      left: 0;
      top: calc(100% + 0.75rem);
      width: 35rem;
      border-radius: 1rem;
      background: var(--slate-900);
      border: 1px solid rgba(255,255,255,0.10);
      box-shadow: 0 8px 24px rgba(0,0,0,.06);
      opacity: 0;
      visibility: hidden;
      transition: opacity 0.2s, visibility 0.2s;
    }
    .dropdown:hover .dropdown-panel,
    .dropdown-panel.open {
      opacity: 1;
      visibility: visible;
    }
    .dropdown-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 0.75rem;
      padding: 1rem;
    }
    .dropdown-col {
      border-radius: 1rem;
      background: rgba(255,255,255,0.08);
      border: 1px solid rgba(255,255,255,0.10);
      padding: 1rem;
    }
    .dropdown-col-label {
      font-size: 0.75rem;
      font-weight: 800;
      letter-spacing: 0.05em;
      color: var(--slate-300);
    }
    .dropdown-item {
      display: flex;
      align-items: flex-start;
      gap: 0.75rem;
      border-radius: 0.75rem;
      padding: 0.75rem;
      margin-top: 0.75rem;
      transition: background 0.15s;
    }
    .dropdown-item:hover { background: rgba(255,255,255,0.08); }
    .dropdown-item-icon {
      margin-top: 0.125rem;
      display: inline-flex;
      height: 2.25rem;
      width: 2.25rem;
      align-items: center;
      justify-content: center;
      border-radius: 0.75rem;
      flex-shrink: 0;
    }
    .icon-emerald { background: rgba(16,185,129,0.15); border: 1px solid rgba(52,211,153,0.25); }
    .icon-emerald svg { color: var(--emerald-300); width: 1.25rem; height: 1.25rem; }
    .icon-cyan { background: rgba(34,211,238,0.15); border: 1px solid rgba(34,211,238,0.25); }
    .icon-cyan svg { color: #a5f3fc; width: 1.25rem; height: 1.25rem; }
    .dropdown-item-title { font-weight: 800; color: #fff; display: block; }
    .dropdown-item-desc { font-size: 1rem; color: var(--slate-300); display: block; margin-top: 0.1rem; }
    .dropdown-footer {
      padding: 0 1rem 1rem;
    }
    .dropdown-hint {
      border-radius: 1rem;
      background: rgba(255,255,255,0.08);
      border: 1px solid rgba(255,255,255,0.10);
      padding: 1rem;
      font-size: 1rem;
      color: var(--slate-200);
    }
    .dropdown-hint strong { color: #fff; }

    /* Header right */
    .header-right {
      display: flex;
      align-items: center;
      flex: 0 0 auto;
      gap: 0.75rem;
    }
    .header-right > a,
    .header-right > button {
      flex-shrink: 0;
    }
    .btn-book-online { display: none; }
    .btn-call-icon {
      justify-content: center;
      gap: 0.4rem;
      min-width: 4.6rem;
      padding: 0.5rem 0.95rem;
      font-weight: 700;
    }
    .btn-call-icon::after {
      content: "Call";
      font-size: 0.92rem;
      line-height: 1;
    }
    .btn-call-icon.is-revealed {
      min-width: 10.9rem;
    }
    .btn-call-icon.is-revealed::after {
      content: "(480) 643-9168";
    }
    .btn-sms-icon {
      justify-content: center;
      gap: 0.4rem;
      min-width: 4.6rem;
      padding: 0.5rem 0.95rem;
      font-weight: 700;
    }
    .btn-sms-icon::after {
      content: "Text";
      font-size: 0.92rem;
      line-height: 1;
    }

    /* Mobile menu button */
    .mobile-menu-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 9999px;
      background: rgba(255,255,255,0.10);
      padding: 0.5rem 1rem;
      font-weight: 600;
      transition: background 0.15s;
    }
    .mobile-menu-btn:hover { background: rgba(255,255,255,0.15); }
    .mobile-menu-btn svg { width: 1.25rem; height: 1.25rem; }

    /* ============================================================
       MOBILE MENU
    ============================================================ */
    .mobile-menu {
      display: none;
      border-top: 1px solid rgba(255,255,255,0.10);
      background: rgba(22,35,56,0.95);
    }
    .mobile-menu.open { display: block; }
    .mobile-menu-inner {
      padding: 1rem;
      display: grid;
      gap: 0.5rem;
      color: var(--slate-200);
    }
    .mobile-nav-link {
      display: block;
      border-radius: 1rem;
      background: rgba(255,255,255,0.08);
      border: 1px solid rgba(255,255,255,0.10);
      padding: 0.75rem 1rem;
      transition: background 0.15s;
    }
    .mobile-nav-link:hover { background: rgba(255,255,255,0.10); }
    .mobile-nav-link-featured {
      display: block;
      border-radius: 1rem;
      background: rgba(16,185,129,0.15);
      border: 1px solid rgba(52,211,153,0.25);
      padding: 0.75rem 1rem;
      font-weight: 800;
      color: #a7f3d0;
      transition: background 0.15s;
    }
    .mobile-nav-link-featured:hover { background: rgba(16,185,129,0.20); }
    .mobile-nav-call {
      display: block;
      text-align: center;
      border-radius: 1rem;
      background: var(--emerald-500);
      padding: 0.75rem 1rem;
      font-weight: 800;
      color: #020617;
      margin-top: 0.5rem;
      transition: background 0.15s;
    }
    .mobile-nav-call:hover { background: var(--emerald-400); }
    .mobile-nav-sms {
      display: block;
      text-align: center;
      border-radius: 1rem;
      background: rgba(52,211,153,0.12);
      border: 1px solid rgba(52,211,153,0.30);
      color: var(--emerald-400);
      padding: 0.75rem 1rem;
      font-weight: 700;
      text-decoration: none;
    }
    .mobile-nav-sms:hover { background: rgba(52,211,153,0.22); }

    /* Mobile accordion */
    details.mobile-accordion {
      border-radius: 1rem;
      background: rgba(255,255,255,0.08);
      border: 1px solid rgba(255,255,255,0.10);
      padding: 1rem;
    }
    details.mobile-accordion summary {
      cursor: pointer;
      font-weight: 800;
      display: flex;
      align-items: center;
      justify-content: space-between;
      list-style: none;
    }
    details.mobile-accordion summary::-webkit-details-marker { display: none; }
    details.mobile-accordion summary .tap-hint { color: var(--slate-400); font-weight: 400; font-size: 1rem; }
    .accordion-content {
      overflow: hidden;
      max-height: 0;
      opacity: 0;
      transform: translateY(-4px);
      transition: max-height 260ms ease, opacity 220ms ease, transform 220ms ease;
    }
    details.mobile-accordion[open] .accordion-content {
      max-height: 600px;
      opacity: 1;
      transform: translateY(0);
    }
    .accordion-inner { margin-top: 1rem; display: grid; gap: 0.75rem; }
    .accordion-item {
      display: flex;
      align-items: flex-start;
      gap: 0.75rem;
      border-radius: 1rem;
      background: rgba(255,255,255,0.12);
      border: 1px solid rgba(255,255,255,0.10);
      padding: 1rem;
      transition: background 0.15s;
    }
    .accordion-item:hover { background: rgba(255,255,255,0.08); }
    .accordion-item-icon {
      margin-top: 0.25rem;
      display: inline-flex;
      height: 2.25rem;
      width: 2.25rem;
      align-items: center;
      justify-content: center;
      border-radius: 0.75rem;
      flex-shrink: 0;
    }
    .accordion-item-title { font-weight: 800; color: #fff; display: block; }
    .accordion-item-desc { font-size: 1rem; color: var(--slate-300); display: block; margin-top: 0.1rem; }
    .accordion-item-cyan {
      background: rgba(34,211,238,0.10);
      border: 1px solid rgba(34,211,238,0.30);
    }
    .accordion-item-cyan .accordion-item-title { color: #cffafe; }
    .accordion-item-cyan .accordion-item-desc { color: rgba(207,250,254,0.80); }

    /* ============================================================
       HERO
    ============================================================ */
    .hero {
      position: relative;
      overflow: hidden;
      padding: 7rem 0;
    }
    .hero-inner {
      position: relative;
      z-index: 10;
      text-align: center;
      max-width: 56rem;
      margin: 0 auto;
    }
    .hero-badge {
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
      border-radius: 9999px;
      background: rgba(16,185,129,0.10);
      border: 1px solid rgba(52,211,153,0.30);
      padding: 0.375rem 1rem;
      font-size: 1rem;
      color: #a7f3d0;
      font-weight: 600;
    }
    .hero h1 {
      margin-top: 2rem;
      font-size: clamp(2.5rem, 7vw, 4.5rem);
      font-weight: 900;
      letter-spacing: -0.025em;
      line-height: 1.1;
    }
    .hero-sub {
      margin-top: 2rem;
      color: var(--slate-300);
      font-size: clamp(1rem, 2.5vw, 1.375rem);
      max-width: 42rem;
      margin-left: auto;
      margin-right: auto;
    }
    .hero-ctas {
      margin-top: 3.5rem;
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 1.25rem;
    }
    .hero-response {
      margin-top: 3rem;
      font-size: 1rem;
      color: var(--slate-400);
    }
    .hero-response strong { font-weight: 700; color: #fff; }
    .city-hero-cta-stack {
      display: flex;
      flex-direction: column;
      gap: 0.5rem;
    }
    .city-hero-primary-cta {
      align-self: flex-start;
      padding: 0.7rem 1.35rem;
      border-radius: 0.7rem;
      font-size: 0.95rem;
      line-height: 1.2;
      color: #020617;
      box-shadow: 0 10px 24px rgba(6, 182, 212, 0.16);
      transition: transform 0.15s ease, box-shadow 0.15s ease, filter 0.15s ease;
    }
    .city-hero-primary-cta:hover {
      transform: translateY(-1px);
      box-shadow: 0 14px 30px rgba(16, 185, 129, 0.18);
      filter: brightness(1.03);
    }
    .city-hero-help {
      margin: 0;
      color: var(--slate-300);
      font-size: 1rem;
      line-height: 1.55;
    }
    .city-hero-help a {
      color: var(--emerald-300);
      font-weight: 700;
    }
    .city-hero-zip-card {
      margin-top: 1.4rem;
      max-width: 42rem;
      background: rgba(255,255,255,0.07);
      border: 1px solid rgba(255,255,255,0.08);
      border-radius: 1rem;
      padding: 1.15rem 1.2rem 1rem;
      box-shadow: 0 18px 50px rgba(12, 26, 46, 0.16);
    }
    .city-hero-zip-card h3 {
      color: #fff;
      font-size: 1rem;
      font-weight: 800;
      margin: 0 0 0.7rem;
    }
    .city-hero-zip-card p {
      color: var(--slate-400);
      font-size: 0.9rem;
      margin: 0 0 0.9rem;
      line-height: 1.6;
    }
    .city-hero-zip-row {
      display: flex;
      gap: 0.6rem;
      align-items: stretch;
    }
    .city-hero-zip-input {
      flex: 1;
      min-width: 0;
      background: #f8fafc;
      border: 1px solid rgba(148,163,184,0.35);
      border-radius: 0.75rem;
      padding: 0.8rem 0.95rem;
      color: #0f172a;
      -webkit-text-fill-color: #0f172a;
      font-size: 1rem;
      outline: none;
    }
    .city-hero-zip-input::placeholder {
      color: #64748b;
    }
    .city-hero-zip-input:focus {
      border-color: rgba(52,211,153,0.45);
      box-shadow: 0 0 0 3px rgba(16,185,129,0.12);
    }
    .city-hero-zip-input:-webkit-autofill,
    .city-hero-zip-input:-webkit-autofill:hover,
    .city-hero-zip-input:-webkit-autofill:focus {
      -webkit-text-fill-color: #0f172a;
      box-shadow: 0 0 0 1000px #f8fafc inset;
      transition: background-color 9999s ease-in-out 0s;
    }
    .city-hero-zip-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border: none;
      border-radius: 0.75rem;
      padding: 0.8rem 1rem;
      min-width: 92px;
      background: linear-gradient(135deg,var(--emerald-500),var(--cyan-400));
      color: #fff;
      font-weight: 800;
      font-size: 0.92rem;
      cursor: pointer;
      white-space: nowrap;
    }
    .city-hero-zip-result {
      margin-top: 0.8rem;
      font-size: 0.9rem;
      min-height: 1.5rem;
    }

    /* ============================================================
       SECTION: DUMPSTER SIZES
    ============================================================ */
    .section-dumpsters { padding: 6rem 0; }
    .section-header {
      display: flex;
      flex-direction: column;
      gap: 1.5rem;
    }
    .section-header h2 {
      font-size: clamp(1.75rem, 4vw, 2.5rem);
      font-weight: 900;
      letter-spacing: -0.025em;
    }
    .section-header p { color: var(--slate-200); max-width: 42rem; margin-top: 0.75rem; }
    .size-grid {
      margin-top: 2.5rem;
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1.5rem;
    }
    @media (max-width: 768px) {
      .btn-pill-ghost,
      .btn-pill-emerald,
      .btn-rounded-ghost,
      .btn-rounded-white,
      .btn-2xl-emerald,
      .btn-2xl-ghost,
      .btn-hero-emerald,
      .btn-hero-ghost,
      .btn-hero-pulse,
      .mobile-menu-btn,
      .mobile-nav-link,
      .mobile-nav-link-featured,
      .mobile-nav-call,
      details.mobile-accordion summary {
        min-height: 44px;
        line-height: 1.2;
      }

      .size-grid { grid-template-columns: 1fr; }
      .mini-grid { grid-template-columns: 1fr; }
      .junk-items-grid { grid-template-columns: 1fr; }
      .areas-grid { grid-template-columns: 1fr; }
      .junk-grid { grid-template-columns: 1fr; }
      div[style*="grid-template-columns:1fr 1fr"] { grid-template-columns: 1fr !important; }
      .city-sidebar { position: static; top: auto; }
      .hero-ctas > a,
      .two-col-ctas > a,
      .restricted-box-ctas > a {
        width: 100%;
      }
      .city-hero-primary-cta {
        width: 100%;
        align-self: stretch;
      }
      .btn-call-icon {
        min-width: auto;
        padding: 0.5rem 1rem;
      }
      .btn-call-icon::after {
        content: "";
      }
      .btn-sms-icon {
        min-width: auto;
        padding: 0.5rem 1rem;
      }
      .btn-sms-icon::after {
        content: "";
      }
      .city-hero-zip-row {
        flex-direction: column;
      }
      .city-hero-zip-btn {
        width: 100%;
      }
    }
    .size-card {
      border-radius: 1.5rem;
      background: rgba(255,255,255,0.08);
      border: 1px solid rgba(255,255,255,0.05);
      padding: 2rem;
    }
    .size-label { color: var(--emerald-300); font-weight: 800; }
    .size-title { margin-top: 0.5rem; font-size: 1.25rem; font-weight: 900; }
    .size-list { margin-top: 1rem; display: grid; gap: 0.5rem; font-size: 1rem; color: var(--slate-200); }
    .restricted-box {
      margin-top: 3rem;
      border-radius: 1rem;
      background: rgba(255,255,255,0.02);
      border-top: 1px solid rgba(255,255,255,0.08);
      padding: 1.5rem 0 0;
    }
    .restricted-box h3 { font-size: 1.25rem; font-weight: 900; }
    .restricted-box p { margin-top: 0.5rem; color: var(--slate-200); }
    .restricted-box-ctas { margin-top: 1rem; display: flex; flex-wrap: wrap; gap: 0.75rem; }

    /* ============================================================
       SECTION: JUNK REMOVAL
    ============================================================ */
    .section-alt {
      background: rgba(255,255,255,0.08);
      border-top: 1px solid rgba(255,255,255,0.05);
      border-bottom: 1px solid rgba(255,255,255,0.05);
    }
    .section-alt-inner { padding: 4rem 0; }
    .two-col { display: grid; grid-template-columns: 1fr; gap: 2.5rem; align-items: center; }
    .two-col h2 {
      font-size: clamp(1.75rem, 4vw, 2.5rem);
      font-weight: 900;
      letter-spacing: -0.025em;
    }
    .two-col p { margin-top: 1rem; color: var(--slate-200); }
    .mini-grid {
      margin-top: 2rem;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 1rem;
    }
    .mini-card {
      border-radius: 1.5rem;
      background: rgba(255,255,255,0.08);
      border: 1px solid rgba(255,255,255,0.05);
      padding: 2rem;
    }
    .mini-card-title { font-weight: 800; }
    .mini-card-sub { font-size: 1rem; color: var(--slate-200); margin-top: 0.25rem; }
    .two-col-ctas { margin-top: 2rem; display: flex; flex-wrap: wrap; gap: 0.75rem; }

    .junk-items-card {
      border-radius: 1.5rem;
      background: rgba(255,255,255,0.08);
      border: 1px solid rgba(255,255,255,0.05);
      padding: 2rem;
    }
    .junk-items-card h3 { font-size: 1.5rem; font-weight: 900; }
    .junk-items-grid {
      margin-top: 1.25rem;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 0.75rem;
      font-size: 1rem;
      color: var(--slate-200);
    }
    .junk-item {
      border-radius: 1rem;
      background: rgba(255,255,255,0.12);
      border: 1px solid rgba(255,255,255,0.10);
      padding: 1rem;
    }
    .junk-note { margin-top: 1rem; font-size: 0.75rem; color: var(--slate-300); }

    /* ============================================================
       SECTION: COMMERCIAL
    ============================================================ */
    .section-commercial { padding: 6rem 0; }
    .commercial-info-box {
      border-radius: 1.5rem;
      background: rgba(255,255,255,0.07);
      border: 1px solid rgba(255,255,255,0.10);
      padding: 1.5rem 2rem;
    }
    .commercial-info-box h3 { font-size: 1.5rem; font-weight: 900; }
    .commercial-list { margin-top: 1rem; display: grid; gap: 0.5rem; color: var(--slate-200); }
    .commercial-tip { margin-top: 1rem; font-size: 0.75rem; color: var(--slate-300); }

    /* ============================================================
       SECTION: SERVICE AREAS
    ============================================================ */
    .areas-grid {
      margin-top: 2rem;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 1rem;
      color: var(--slate-200);
    }
    .area-link {
      border-radius: 1rem;
      background: rgba(255,255,255,0.08);
      border: 1px solid rgba(255,255,255,0.10);
      padding: 1.25rem;
      transition: background 0.15s;
      display: block;
    }
    .area-link:hover { background: rgba(255,255,255,0.10); }

    /* ============================================================
       SECTION: MESA SEO
    ============================================================ */
    .section-mesa { padding: 7rem 0; }
    .section-mesa .prose { max-width: 48rem; }
    .section-mesa h2 {
      font-size: clamp(1.75rem, 4vw, 2.5rem);
      font-weight: 900;
      letter-spacing: -0.025em;
    }
    .section-mesa p { margin-top: 1rem; color: var(--slate-200); line-height: 1.7; }
    .section-mesa h3 { margin-top: 2.5rem; font-size: 1.25rem; font-weight: 800; }
    .section-mesa ul { margin-top: 1rem; display: grid; gap: 0.5rem; color: var(--slate-200); }
    .section-mesa .mesa-ctas { margin-top: 2.5rem; display: flex; flex-wrap: wrap; gap: 1rem; }
    .mesa-faq { margin-top: 1.5rem; display: grid; gap: 1.5rem; color: var(--slate-200); }
    .mesa-faq p.q { font-weight: 700; color: #fff; }
    .mesa-faq p.a { color: var(--slate-300); margin-top: 0.25rem; }
    .mesa-footer-note { margin-top: 2.5rem; font-size: 1rem; color: var(--slate-300); }
    .mesa-footer-note strong { color: #fff; }

    /* ============================================================
       SECTION: CALCULATOR
    ============================================================ */
    .section-calc {
      background: rgba(255,255,255,0.07);
      border-top: 1px solid rgba(255,255,255,0.10);
      border-bottom: 1px solid rgba(255,255,255,0.10);
      padding: 4rem 0;
    }
    .calc-grid { display: grid; grid-template-columns: 1fr; gap: 2.5rem; align-items: start; }
    .calc-grid h2 {
      font-size: clamp(1.75rem, 4vw, 2.5rem);
      font-weight: 900;
      letter-spacing: -0.025em;
    }
    .calc-grid > div > p { margin-top: 1rem; color: var(--slate-200); }
    .calc-fields {
      margin-top: 2rem;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 1rem;
    }
    .calc-field { display: grid; gap: 0.5rem; }
    .calc-field label { font-size: 1rem; color: var(--slate-200); }
    .calc-field select,
    .calc-field input {
      border-radius: 1rem;
      background: rgba(255,255,255,0.12);
      border: 1px solid rgba(255,255,255,0.10);
      padding: 0.75rem 1rem;
      outline: none;
      width: 100%;
      transition: box-shadow 0.15s;
    }
    .calc-field select:focus,
    .calc-field input:focus {
      box-shadow: 0 0 0 2px var(--emerald-400);
    }
    .calc-field-full { grid-column: 1 / -1; }
    .calc-ctas { margin-top: 1.5rem; display: flex; flex-wrap: wrap; gap: 0.75rem; }
    .calc-note { margin-top: 1rem; font-size: 0.75rem; color: var(--slate-300); }

    .calc-result-card {
      border-radius: 1.5rem;
      background: rgba(255,255,255,0.08);
      border: 1px solid rgba(255,255,255,0.05);
      padding: 2rem;
    }
    .calc-result-card h3 { font-size: 1.5rem; font-weight: 900; }
    .calc-result-card > p { margin-top: 0.5rem; color: var(--slate-200); }
    .calc-rows { margin-top: 1.5rem; display: grid; gap: 0.75rem; color: var(--slate-200); }
    .calc-row { display: flex; align-items: center; justify-content: space-between; }
    .calc-row span:last-child { font-weight: 800; }
    .calc-total-row {
      margin-top: 1.5rem;
      border-top: 1px solid rgba(255,255,255,0.10);
      padding-top: 1rem;
      display: flex;
      align-items: center;
      justify-content: space-between;
      font-size: 1.125rem;
    }
    .calc-total-row .total-label { font-weight: 700; }
    .calc-total-row .total-value { font-weight: 900; color: var(--emerald-300); }

    /* ============================================================
       FOOTER
    ============================================================ */
    .site-footer {
      border-top: 1px solid rgba(255,255,255,0.10);
      background: rgba(22,35,56,0.80);
    }
    .footer-grid {
      padding: 3rem 0;
      display: grid;
      grid-template-columns: 1fr;
      gap: 2.5rem;
    }
    .footer-grid h3 { font-weight: 900; font-size: 1.25rem; }
    .footer-grid h4 { font-weight: 700; }
    .footer-grid p,
    .footer-grid ul {
      margin-top: 0.75rem;
      color: var(--slate-300);
      font-size: 1rem;
    }
    .footer-grid ul { display: grid; gap: 0.5rem; }
    .footer-copy {
      text-align: center;
      font-size: 0.75rem;
      color: var(--slate-400);
      padding-bottom: 1.5rem;
    }

    /* ============================================================
       RESPONSIVE — TABLET (640px+)
    ============================================================ */
    @media (min-width: 640px) {
      .top-bar-cities { display: inline; }
      .size-grid { grid-template-columns: 1fr 1fr; }
      .areas-grid { grid-template-columns: 1fr 1fr 1fr; }
      .footer-grid { grid-template-columns: 1fr 1fr 1fr; }
      .btn-book-online { display: inline-flex; }
    }

    /* ============================================================
       RESPONSIVE — DESKTOP (768px+)
    ============================================================ */
    @media (min-width: 768px) {
      .desktop-nav { display: flex; }
      .mobile-menu-btn { display: none; }
      .section-header { flex-direction: row; align-items: flex-end; justify-content: space-between; }
      .two-col { grid-template-columns: 1fr 1fr; }
      .calc-grid { grid-template-columns: 1fr 1fr; }
    }

    /* ============================================================
       RESPONSIVE — LARGE (1024px+)
    ============================================================ */
    @media (min-width: 1024px) {
      .size-grid { grid-template-columns: repeat(4, 1fr); }
    }

    .city-hero {
      background: linear-gradient(135deg, #0c1a2e 60%, #142236 100%);
      padding: 5rem 0 4rem;
      border-bottom: 1px solid rgba(255,255,255,0.08);
    }
    .city-breadcrumb { font-size: 0.82rem; color: var(--slate-500); margin-bottom: 1rem; }
    .city-breadcrumb a { color: var(--emerald-400); text-decoration: none; }
    .city-grid {
      display: grid;
      grid-template-columns: 1fr 340px;
      gap: 3rem;
      align-items: start;
      padding: 4rem 0;
    }
    .city-grid { grid-template-columns: 1fr; }
    .city-sidebar { position: sticky; top: 6rem; }
    .sidebar-card {
      background: rgba(255,255,255,0.07);
      border: 1px solid rgba(255,255,255,0.08);
      border-radius: 1rem;
      padding: 1.75rem;
      margin-bottom: 1.5rem;
    }
    .sidebar-card h3 { color: #fff; font-size: 1.05rem; font-weight: 800; margin: 0 0 1rem; }
    .size-option {
      display: flex; justify-content: space-between; align-items: center;
      padding: 0.6rem 0; border-bottom: 1px solid rgba(255,255,255,0.06);
      color: var(--slate-300); font-size: 0.9rem;
    }
    .size-option:last-child { border-bottom: none; }
    .size-price { color: var(--emerald-400); font-weight: 700; }
    .city-map { width: 100%; border-radius: 0.75rem; border: 1px solid rgba(255,255,255,0.08); height: 220px; display: block; }
    .prose h2 { font-size: 1.6rem; font-weight: 900; color: #fff; margin: 2.5rem 0 1rem; }
    .prose h2:first-child { margin-top: 0; }
    .prose h3 { font-size: 1.15rem; font-weight: 800; color: var(--emerald-300); margin: 2rem 0 0.75rem; }
    .prose p { color: var(--slate-300); line-height: 1.8; margin-bottom: 1.2rem; }
    .prose ul { list-style: none; padding: 0; margin: 0 0 1.5rem; }
    .junk-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.6rem; margin: 1rem 0 1.5rem; }
    .nearby-cities {
      background: rgba(255,255,255,0.02); border-top: 1px solid rgba(255,255,255,0.06); padding: 3rem 0;
    }
