.btn-sm {
      min-height: 36px;
      font-size: .85rem;
    }

    .page-hero {
      background:
        linear-gradient(rgba(10, 18, 12, 0.68), rgba(10, 18, 12, 0.68)),
        url('https://images.unsplash.com/photo-1600566753086-00f18fb6b3ea?auto=format&fit=crop&w=1800&q=80') center/cover;
      color: #fff;
      padding: 3rem 0 5.5rem;
    }

    .page-hero h1 {
      font-size: clamp(2.2rem, 4vw, 4rem);
      font-weight: 800;
      letter-spacing: -.055em;
      margin-bottom: .85rem;
      max-width: 920px;
    }

    .page-hero p {
      color: rgba(255,255,255,.92);
      max-width: 850px;
      margin-bottom: 0;
      font-size: 1.08rem;
    }

    .surface-card,
    .filter-card,
    .vendor-card,
    .category-card,
    .review-card,
    .sponsored-card,
    .lead-card,
    .feature-card,
    .map-panel,
    .ad-card {
      background: var(--lv-surface);
      border: 1px solid var(--lv-border);
      border-radius: var(--lv-radius);
      box-shadow: var(--lv-shadow);
    }

    .resource-search-shell {
      margin-top: -3.5rem;
      position: relative;
      z-index: 5;
    }

    .hero-eyebrow {
      color: #fff;
      background: rgba(255,255,255,.15);
      border: 1px solid rgba(255,255,255,.22);
    }

    .summary-stat {
      border: 1px solid var(--lv-border);
      border-radius: 16px;
      background: var(--lv-surface-soft);
      padding: .9rem 1rem;
      height: 100%;
    }

    .summary-stat strong {
      display: block;
      font-size: 1.25rem;
      color: var(--lv-text);
      line-height: 1.1;
    }

    .summary-stat span {
      color: var(--lv-muted);
      font-size: .82rem;
      font-weight: 700;
    }

    .chip-list {
      display: flex;
      flex-wrap: wrap;
      gap: .5rem;
    }

    .chip {
      display: inline-flex;
      align-items: center;
      gap: .35rem;
      border: 1px solid #cbdccd;
      background: #edf4ef;
      color: var(--lv-primary-dark);
      border-radius: 999px;
      padding: .45rem .7rem;
      font-size: .82rem;
      font-weight: 800;
      cursor: pointer;
    }

    .chip-muted {
      background: #fff;
      color: var(--lv-muted);
    }

    .layout-shell {
      display: grid;
      grid-template-columns: 320px minmax(0, 1fr);
      gap: 1.25rem;
      align-items: start;
    }

    .filter-stack {
      position: sticky;
      top: 92px;
      max-height: calc(100vh - 110px);
      overflow: auto;
    }

    .filter-section {
      border-top: 1px solid var(--lv-border);
      padding-top: 1rem;
      margin-top: 1rem;
    }

    .filter-section:first-child {
      border-top: 0;
      padding-top: 0;
      margin-top: 0;
    }

    .filter-heading {
      font-size: .92rem;
      font-weight: 800;
      margin-bottom: .75rem;
      color: var(--lv-text);
    }

    .check-row {
      display: flex;
      align-items: center;
      gap: .55rem;
      margin-bottom: .6rem;
      color: var(--lv-muted);
      font-weight: 600;
      font-size: .92rem;
    }

    .check-row input {
      width: 18px;
      height: 18px;
      accent-color: var(--lv-primary);
    }

    .category-card {
      height: 100%;
      transition: transform .18s ease, box-shadow .18s ease;
    }

    .category-card:hover {
      transform: translateY(-3px);
      box-shadow: var(--lv-shadow-strong);
    }

    .icon-circle {
      width: 48px;
      height: 48px;
      border-radius: 50%;
      background: #e9f3ec;
      color: var(--lv-primary-dark);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-weight: 800;
      margin-bottom: 1rem;
    }

    .gold-icon {
      background: #fff3cf;
      color: #7a6118;
    }

    .vendor-toolbar {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 1rem;
      flex-wrap: wrap;
    }

    .vendor-card {
      overflow: hidden;
      transition: transform .18s ease, box-shadow .18s ease;
    }

    .vendor-card:hover {
      transform: translateY(-3px);
      box-shadow: var(--lv-shadow-strong);
    }

    .vendor-card.featured {
      border-color: rgba(184, 138, 27, .45);
      box-shadow: 0 16px 40px rgba(184, 138, 27, .12);
    }

    .vendor-logo {
      width: 74px;
      height: 74px;
      border-radius: 18px;
      background: #e9f3ec;
      color: var(--lv-primary-dark);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-weight: 900;
      font-size: 1.1rem;
      flex: 0 0 auto;
      border: 1px solid #cbdccd;
    }

    .vendor-logo.gold {
      background: #fff3cf;
      color: #7a6118;
      border-color: #eed489;
    }

    .vendor-name {
      font-size: 1.17rem;
      font-weight: 800;
      margin-bottom: .15rem;
      letter-spacing: -.02em;
    }

    .vendor-category {
      color: var(--lv-muted);
      font-weight: 700;
      font-size: .88rem;
    }

    .vendor-description {
      color: var(--lv-muted);
      font-size: .94rem;
      margin-bottom: 1rem;
    }

    .rating-row {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: .45rem;
      color: var(--lv-muted);
      font-weight: 700;
      font-size: .86rem;
    }

    .stars {
      color: #b88a1b;
      letter-spacing: .04em;
      font-weight: 900;
    }

    .vendor-stat-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: .55rem;
      margin: 1rem 0;
    }

    .vendor-stat {
      background: var(--lv-surface-soft);
      border: 1px solid var(--lv-border);
      border-radius: 13px;
      padding: .72rem .45rem;
      text-align: center;
    }

    .vendor-stat strong {
      display: block;
      font-size: .92rem;
      color: var(--lv-text);
      line-height: 1.1;
    }

    .vendor-stat span {
      display: block;
      color: var(--lv-muted);
      font-size: .68rem;
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: .04em;
      margin-top: .18rem;
    }

    .vendor-tag-row {
      display: flex;
      flex-wrap: wrap;
      gap: .4rem;
      margin-bottom: 1rem;
    }

    .vendor-tag {
      border-radius: 999px;
      background: #edf4ef;
      color: var(--lv-primary-dark);
      border: 1px solid #cbdccd;
      padding: .32rem .55rem;
      font-size: .74rem;
      font-weight: 800;
    }

    .sponsored-label {
      display: inline-block;
      font-size: .72rem;
      font-weight: 800;
      color: #7a6118;
      background: #fff3cf;
      border-radius: 999px;
      padding: .34rem .6rem;
      margin-bottom: .7rem;
    }

    .recommended-label {
      display: inline-block;
      font-size: .72rem;
      font-weight: 800;
      color: var(--lv-primary-dark);
      background: #e9f3ec;
      border-radius: 999px;
      padding: .34rem .6rem;
      margin-bottom: .7rem;
    }

    .review-card {
      height: 100%;
    }

    .review-quote {
      color: var(--lv-muted);
      font-size: .96rem;
      margin-bottom: 1rem;
    }

    .review-author {
      font-weight: 800;
      color: var(--lv-text);
    }

    .review-context {
      color: var(--lv-muted);
      font-weight: 700;
      font-size: .82rem;
    }

    .sponsored-card {
      background:
        radial-gradient(circle at top left, rgba(184, 138, 27, .16), transparent 34%),
        linear-gradient(180deg, #fffdf7, #ffffff);
      overflow: hidden;
    }

    .sponsored-image {
      min-height: 240px;
      background-size: cover;
      background-position: center;
      border-radius: 20px;
      box-shadow: var(--lv-shadow);
    }

    .map-panel {
      background:
        linear-gradient(135deg, rgba(238, 245, 239, .92), rgba(248, 251, 248, .92)),
        url('https://images.unsplash.com/photo-1587174486073-ae5e5cff23aa?auto=format&fit=crop&w=1400&q=80') center/cover;
      min-height: 320px;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #314a37;
      font-weight: 800;
      text-align: center;
      padding: 1.5rem;
      position: relative;
      overflow: hidden;
    }

    .map-placeholder-content {
      background: rgba(255,255,255,.92);
      border: 1px solid var(--lv-border);
      border-radius: 20px;
      padding: 1.25rem;
      box-shadow: var(--lv-shadow);
      max-width: 360px;
    }

    .lead-card {
      background:
        linear-gradient(135deg, rgba(22, 90, 57, .96), rgba(16, 68, 40, .96)),
        url('https://images.unsplash.com/photo-1535131749006-b7f58c99034b?auto=format&fit=crop&w=1400&q=80') center/cover;
      color: #fff;
      overflow: hidden;
    }

    .lead-card p,
    .lead-card .section-subtitle {
      color: rgba(255,255,255,.86);
    }

    .lead-card .form-label {
      color: #fff;
    }

    .lead-card .form-control,
    .lead-card .form-select {
      border-color: rgba(255,255,255,.3);
    }

    .feature-card,
    .resource-card {
      height: 100%;
    }

    .feature-card h3,
    .resource-card h3,
    .sponsored-card h3,
    .category-card h3,
    .ad-card h3 {
      font-size: 1.05rem;
      font-weight: 800;
      margin-bottom: .45rem;
    }

    .feature-card p,
    .resource-card p,
    .sponsored-card p,
    .category-card p,
    .ad-card p {
      color: var(--lv-muted);
      font-size: .94rem;
      margin-bottom: 0;
    }

    .mobile-filter-btn {
      display: none;
    }

    @media (max-width: 991.98px) {
      .layout-shell {
        display: block;
      }

      .filter-stack {
        position: static;
        max-height: none;
        overflow: visible;
        display: none;
        margin-bottom: 1rem;
      }

      .filter-stack.show-mobile {
        display: block;
      }

      .mobile-filter-btn {
        display: inline-flex;
      }
    }

    @media (max-width: 575.98px) {
      .page-hero {
        padding: 2.4rem 0 5rem;
      }

      .vendor-stat-grid {
        grid-template-columns: 1fr;
      }

      .vendor-toolbar {
        align-items: stretch;
      }

      .vendor-toolbar .form-select {
        width: 100% !important;
      }
    }
