/* ============================================================
       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; }

    /* ============================================================
       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) {
      .size-grid { grid-template-columns: 1fr; }
      .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: "";
      }
    }
    .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-grid-2 {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 1.25rem;
      margin-top: 2.5rem;
    }
    .city-grid-2 { grid-template-columns: 1fr; }

    .junk-quote-section {
      background:
        radial-gradient(circle at top right, rgba(34,211,238,0.10), transparent 35%),
        radial-gradient(circle at bottom left, rgba(16,185,129,0.10), transparent 38%),
        rgba(255,255,255,0.02);
      border-top: 1px solid rgba(255,255,255,0.08);
      border-bottom: 1px solid rgba(255,255,255,0.08);
      padding: 4.5rem 0;
    }
    .junk-quote-shell {
      display: grid;
      grid-template-columns: 1fr;
      gap: 1.75rem;
      align-items: start;
    }
    .junk-quote-intro,
    .junk-quote-form-card {
      border-radius: 1.5rem;
      background: rgba(22,35,56,0.72);
      border: 1px solid rgba(255,255,255,0.08);
      box-shadow: 0 18px 50px rgba(0,0,0,0.22);
      padding: 2rem;
    }
    .junk-quote-eyebrow {
      display: inline-block;
      margin-bottom: 0.75rem;
      font-size: 0.8rem;
      font-weight: 800;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: var(--cyan-300);
    }
    .junk-quote-intro h2 {
      font-size: clamp(1.8rem, 4vw, 2.6rem);
      line-height: 1.08;
      font-weight: 900;
      color: #fff;
      margin-bottom: 1rem;
    }
    .junk-quote-intro > p {
      color: var(--slate-300);
      font-size: 1rem;
      line-height: 1.8;
    }
    .junk-quote-points {
      display: grid;
      gap: 0.9rem;
      margin-top: 1.5rem;
    }
    .junk-quote-point {
      border-radius: 1rem;
      background: rgba(255,255,255,0.07);
      border: 1px solid rgba(255,255,255,0.06);
      padding: 1rem 1.1rem;
      color: var(--slate-300);
      line-height: 1.7;
      font-size: 0.95rem;
    }
    .junk-quote-point strong {
      color: #fff;
    }
    .junk-quote-contact-card {
      margin-top: 1.5rem;
      padding: 1.25rem;
      border-radius: 1.1rem;
      background: linear-gradient(135deg, rgba(16,185,129,0.12), rgba(34,211,238,0.10));
      border: 1px solid rgba(52,211,153,0.22);
    }
    .junk-quote-contact-label {
      font-size: 0.78rem;
      font-weight: 800;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: var(--emerald-300);
      margin-bottom: 0.55rem;
    }
    .junk-quote-phone {
      display: inline-block;
      color: #fff;
      font-size: 1.65rem;
      font-weight: 900;
      letter-spacing: -0.02em;
    }
    .junk-quote-contact-card p {
      margin-top: 0.6rem;
      color: var(--slate-300);
      line-height: 1.7;
      font-size: 0.95rem;
    }
    .junk-quote-form {
      display: grid;
      gap: 1.25rem;
    }
    .junk-quote-grid {
      display: grid;
      grid-template-columns: 1fr;
      gap: 1rem;
    }
    .junk-quote-field {
      display: grid;
      gap: 0.45rem;
    }
    .junk-quote-field span {
      color: var(--slate-200);
      font-size: 0.9rem;
      font-weight: 700;
    }
    .junk-quote-field input,
    .junk-quote-field select,
    .junk-quote-field textarea {
      width: 100%;
      border-radius: 1rem;
      background: rgba(22,35,56,0.72);
      border: 1px solid rgba(255,255,255,0.10);
      padding: 0.9rem 1rem;
      color: #fff;
      outline: none;
      transition: border-color 0.15s, box-shadow 0.15s, background 0.15s;
    }
    .junk-quote-field textarea {
      resize: vertical;
      min-height: 8rem;
    }
    .junk-quote-field input::placeholder,
    .junk-quote-field textarea::placeholder {
      color: var(--slate-400);
    }
    .junk-quote-field input:focus,
    .junk-quote-field select:focus,
    .junk-quote-field textarea:focus {
      border-color: rgba(52,211,153,0.55);
      box-shadow: 0 0 0 3px rgba(16,185,129,0.15);
      background: rgba(22,35,56,0.9);
    }
    .junk-quote-field-full {
      grid-column: 1 / -1;
    }
    .junk-quote-actions {
      display: flex;
      flex-direction: column;
      gap: 0.75rem;
      align-items: flex-start;
    }
    .junk-quote-actions p {
      color: var(--slate-400);
      font-size: 0.85rem;
      line-height: 1.6;
    }
    .junk-quote-actions code {
      color: var(--cyan-300);
      font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
    }
    .junk-quote-honeypot {
      position: absolute !important;
      left: -9999px !important;
      opacity: 0 !important;
      pointer-events: none !important;
    }

    @media (min-width: 768px) {
      .junk-quote-shell {
        grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.25fr);
      }
      .junk-quote-grid {
        grid-template-columns: 1fr 1fr;
      }
    }
