.hero-slide {
      position: relative;
      min-height: 58vh;
      display: grid;
      place-items: center;
      color: #fff;
      overflow: hidden;
     }
    .hero-bg {
      position: absolute; inset: 0;
      background-image: var(--bg);
      background-size: cover;
      background-position: center;
      transform: scale(1.04);
      will-change: transform;
    }
    .hero-overlay {
      position: absolute; inset: 0;
      background: #795548;
    }
    .hero-content {
      position: relative;
      z-index: 2;
      width: min(1100px, 92vw);
      margin: 2rem auto;
      text-align: left;
    }
    .hero-badge {
      display: inline-block;
      font-size: .85rem;
      letter-spacing: .06em;
      background: rgba(255,255,255,.15);
      padding: .4rem .7rem;
      border: 1px solid rgba(255,255,255,.25);
      border-radius: 999px;
      backdrop-filter: blur(6px);
    }
    .hero-title {
      font-size: clamp(1.6rem, 3.6vw + .6rem, 3rem);
      line-height: 1.15;
      margin: .8rem 0 .4rem;
      font-weight: 800;
      color: #ffffff;
    }
    .hero-subtitle {
      font-size: clamp(1rem, 1.2vw + .6rem, 1.25rem);
      opacity: .95;
      margin: 0 0 1rem;
      color: #9f9f9f;
    }
    .hero-points {
      display: grid;
      gap: .4rem;
      margin: 0 0 1.4rem;
      padding: 0;
      list-style: none;
    }
    .hero-points li {
      display: flex; align-items: center; gap: .6rem;
      font-size: clamp(.95rem, 1vw + .6rem, 1.05rem);
      opacity: .98;
    }
    .hero-points li::before {
      content: "•";
      font-weight: 900;
      transform: translateY(-1px);
      opacity: .85;
    }
    .hero-cta { display: flex; gap: .8rem; flex-wrap: wrap; }
    .btn {
      display: inline-flex; align-items: center; justify-content: center;
      padding: .78rem 1.1rem; border-radius: 12px;
      background: #ffffff; color: #111; font-weight: 700;
      text-decoration: none; border: 1px solid rgba(255,255,255,.2);
      transition: transform .15s ease, opacity .15s ease;
    }
    .btn:hover { transform: translateY(-1px); opacity: .95; }
    .btn:active { transform: translateY(0); }
    .btn.btn-outline {
      background: transparent; color: #fff;
      border: 1.5px solid rgba(255,255,255,.75);
    }

    /* Optional: subtle entrance animation (respects reduced motion) */
    @media (prefers-reduced-motion: no-preference) {
      .hero-content { animation: fadeUp .6s ease both .1s; }
      .hero-bg { animation: slowZoom 14s ease-in-out infinite alternate; }
      @keyframes fadeUp { from { opacity: 0; transform: translateY(6px);} to { opacity: 1; transform: translateY(0);} }
      @keyframes slowZoom { from { transform: scale(1.04);} to { transform: scale(1.08);} }
    }

    /* Tighter layout on very small screens */
    @media (max-width: 480px) {
      .hero-slide { min-height: 64vh; }
      .hero-cta .btn { flex: 1 1 auto; }
    }