.home-map-hero {
  position: relative;
  min-height: 100vh;
  padding: 0;
  overflow: hidden;
  isolation: isolate;
  background:
    radial-gradient(circle at 48% 44%, rgba(250,204,21,0.08), transparent 22%),
    linear-gradient(135deg, #020203 0%, #050507 48%, #010101 100%);
}

.home-map-canvas,
.home-map-fallback {
  position: absolute;
  inset: 0;
}

.home-map-canvas {
  z-index: 1;
  opacity: 0;
  filter: saturate(0.82) contrast(1.14) brightness(0.82);
  transition: opacity 900ms var(--ease-premium);
}

.home-map-canvas.is-ready {
  opacity: 1;
}

.home-map-fallback {
  z-index: 0;
  display: grid;
  place-items: center;
  background:
    linear-gradient(180deg, rgba(0,0,0,0.1), rgba(0,0,0,0.84)),
    radial-gradient(circle at 62% 30%, rgba(250,204,21,0.16), transparent 28%),
    linear-gradient(135deg, #050507 0%, #111014 42%, #020203 100%);
}

.home-map-fallback-grid {
  width: min(1100px, 92vw);
  height: min(560px, 58vh);
  border: 1px solid rgba(250,204,21,0.16);
  border-radius: 8px;
  background:
    linear-gradient(rgba(250,204,21,0.1) 1px, transparent 1px),
    linear-gradient(90deg, rgba(250,204,21,0.1) 1px, transparent 1px),
    radial-gradient(circle at 54% 42%, rgba(250,204,21,0.2), transparent 7%),
    radial-gradient(circle at 36% 66%, rgba(255,255,255,0.12), transparent 8%);
  background-size: 64px 64px, 64px 64px, 100% 100%, 100% 100%;
  box-shadow: 0 30px 120px rgba(0,0,0,0.72);
  transform: perspective(900px) rotateX(58deg) rotateZ(-10deg);
}

.home-map-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(0,0,0,0.82), transparent 44%, rgba(0,0,0,0.36)),
    linear-gradient(180deg, rgba(0,0,0,0.58), transparent 30%, rgba(0,0,0,0.76)),
    radial-gradient(circle at 52% 56%, transparent 0 24%, rgba(0,0,0,0.42) 70%),
    radial-gradient(ellipse at center, transparent 0 42%, rgba(0,0,0,0.58) 100%);
}

.home-map-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background:
    linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px),
    radial-gradient(circle at 72% 18%, rgba(250,204,21,0.1), transparent 20%),
    radial-gradient(circle at 24% 78%, rgba(255,255,255,0.055), transparent 18%);
  background-size: 100% 4px, 100% 100%, 100% 100%;
  mix-blend-mode: screen;
  opacity: 0.42;
}

.home-map-overlay {
  position: relative;
  z-index: 3;
  width: min(620px, calc(100% - 48px));
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: 120px 0 80px;
  margin-left: clamp(22px, 7vw, 92px);
  text-align: left;
  pointer-events: none;
  transition:
    opacity 260ms var(--ease-premium),
    transform 260ms var(--ease-premium),
    filter 260ms var(--ease-premium);
}

.home-map-kicker {
  display: inline-flex;
  margin-bottom: 16px;
  padding: 7px 12px;
  border: 1px solid rgba(250,204,21,0.28);
  border-radius: 999px;
  background: rgba(5,5,5,0.54);
  color: var(--gold2);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  backdrop-filter: blur(20px);
  pointer-events: auto;
}

.home-map-overlay h2 {
  max-width: 100%;
  margin-bottom: 18px;
  font-size: clamp(54px, 11vw, 132px);
  line-height: 0.9;
  letter-spacing: 0.02em;
  text-shadow:
    0 20px 80px rgba(0,0,0,0.72),
    0 0 42px rgba(250,204,21,0.14);
}

.home-map-overlay p {
  max-width: 520px;
  margin-bottom: 26px;
  color: rgba(235,235,235,0.78);
  font-size: clamp(15px, 2vw, 19px);
  line-height: 1.65;
  text-shadow: 0 10px 34px rgba(0,0,0,0.7);
}

.home-map-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  pointer-events: auto;
}

.home-walk-button {
  min-height: 48px;
  padding: 13px 20px;
  border: 1px solid rgba(255,255,255,0.2);
  border-radius: 999px;
  background: rgba(255,255,255,0.08);
  color: white;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 14px 36px rgba(0,0,0,0.24);
  backdrop-filter: blur(18px);
  transition:
    transform var(--motion-fast) var(--ease-press),
    border-color var(--motion-fast) var(--ease-premium),
    background var(--motion-fast) var(--ease-premium),
    color var(--motion-fast) var(--ease-premium);
}

.home-walk-button:hover,
.home-walk-button[aria-pressed="true"] {
  border-color: rgba(250,204,21,0.46);
  background:
    linear-gradient(135deg, rgba(250,204,21,0.22), rgba(255,255,255,0.08));
  color: var(--gold2);
}

.home-walk-button:active {
  transform: scale(0.98);
}

.home-map-marker {
  position: relative;
  width: 24px;
  height: 24px;
  border: 1px solid rgba(255,255,255,0.95);
  border-radius: 50%;
  background:
    radial-gradient(circle, #fff 0 13%, var(--gold2) 14% 38%, rgba(250,204,21,0.24) 40% 58%, rgba(0,0,0,0.22) 60%);
  box-shadow:
    0 0 0 8px rgba(250,204,21,0.1),
    0 0 0 16px rgba(250,204,21,0.045),
    0 0 34px rgba(250,204,21,0.82),
    0 8px 20px rgba(0,0,0,0.45);
  cursor: pointer;
  transition:
    transform 180ms var(--ease-press),
    box-shadow 180ms var(--ease-premium);
}

.home-map-marker::after {
  content: "";
  position: absolute;
  inset: -10px;
  border: 1px solid rgba(250,204,21,0.18);
  border-radius: 50%;
  animation: homeMarkerPulse 2.8s ease-out infinite;
}

.home-map-marker:hover,
.home-map-marker:focus-visible {
  transform: scale(1.18);
  box-shadow:
    0 0 0 10px rgba(250,204,21,0.16),
    0 0 0 20px rgba(250,204,21,0.06),
    0 0 44px rgba(250,204,21,0.95),
    0 10px 26px rgba(0,0,0,0.52);
}

.home-map-marker--real {
  background:
    radial-gradient(circle, #fff 0 13%, #f7d366 14% 42%, rgba(255,255,255,0.22) 44% 60%, rgba(0,0,0,0.24) 62%);
  box-shadow:
    0 0 0 8px rgba(255,255,255,0.08),
    0 0 0 16px rgba(250,204,21,0.04),
    0 0 38px rgba(255,236,179,0.9),
    0 8px 22px rgba(0,0,0,0.46);
}

@keyframes homeMarkerPulse {
  0% {
    opacity: 0.72;
    transform: scale(0.72);
  }

  100% {
    opacity: 0;
    transform: scale(1.45);
  }
}

.home-venue-preview {
  position: absolute;
  right: clamp(18px, 4vw, 56px);
  bottom: clamp(24px, 6vw, 64px);
  z-index: 4;
  width: min(360px, calc(100% - 36px));
  padding: 20px;
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(18,18,20,0.82), rgba(5,5,7,0.78));
  box-shadow:
    0 24px 80px rgba(0,0,0,0.58),
    inset 0 1px 0 rgba(255,255,255,0.06);
  backdrop-filter: blur(26px) saturate(160%);
  opacity: 0;
  transform: translateY(16px);
  pointer-events: none;
  transition:
    opacity 220ms var(--ease-premium),
    transform 220ms var(--ease-premium);
}

.home-venue-preview.is-visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.home-venue-preview span {
  display: inline-flex;
  margin-bottom: 10px;
  color: var(--gold2);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.home-venue-preview h3 {
  margin-bottom: 8px;
  font-size: 24px;
  line-height: 1.1;
}

.home-venue-preview p {
  color: rgba(232,232,232,0.74);
  font-size: 14px;
  line-height: 1.55;
}

.home-venue-link {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  margin-top: 14px;
  padding: 9px 13px;
  border: 1px solid rgba(250,204,21,0.28);
  border-radius: 999px;
  background: rgba(250,204,21,0.1);
  color: var(--gold2);
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.home-map-reticle {
  position: absolute;
  left: 50%;
  top: 53%;
  z-index: 5;
  width: 34px;
  height: 34px;
  opacity: 0;
  transform: translate(-50%, -50%);
  pointer-events: none;
  transition: opacity 220ms var(--ease-premium);
}

.home-map-reticle::before,
.home-map-reticle::after {
  content: "";
  position: absolute;
  background: rgba(250,204,21,0.86);
  box-shadow: 0 0 16px rgba(250,204,21,0.4);
}

.home-map-reticle::before {
  left: 50%;
  top: 0;
  width: 1px;
  height: 100%;
}

.home-map-reticle::after {
  left: 0;
  top: 50%;
  width: 100%;
  height: 1px;
}

.home-walk-hud {
  position: absolute;
  left: 50%;
  bottom: 24px;
  z-index: 5;
  display: flex;
  gap: 10px;
  opacity: 0;
  transform: translate(-50%, 10px);
  pointer-events: none;
  transition:
    opacity 220ms var(--ease-premium),
    transform 220ms var(--ease-premium);
}

.home-walk-hud span {
  padding: 8px 12px;
  border: 1px solid rgba(250,204,21,0.18);
  border-radius: 999px;
  background:
    linear-gradient(180deg, rgba(18,18,20,0.64), rgba(0,0,0,0.48));
  color: rgba(255,255,255,0.78);
  font-size: 11px;
  font-weight: 700;
  box-shadow:
    0 12px 32px rgba(0,0,0,0.34),
    inset 0 1px 0 rgba(255,255,255,0.07);
  backdrop-filter: blur(16px);
}

body.home-walk-active {
  cursor: crosshair;
}

body.home-walk-active .navbar {
  opacity: 0.18;
  transform: translateY(-10px);
}

body.home-walk-active .home-map-overlay {
  opacity: 0.14;
  transform: translateX(-18px);
  filter: blur(1px);
}

body.home-walk-active .home-map-canvas {
  filter: saturate(0.92) contrast(1.2) brightness(0.74);
}

body.home-walk-active .home-venue-preview {
  opacity: 0;
  pointer-events: none;
}

body.home-walk-active .home-map-reticle,
body.home-walk-active .home-walk-hud {
  opacity: 1;
}

body.home-walk-active .home-walk-hud {
  transform: translate(-50%, 0);
}

body.home-walk-active .maplibregl-ctrl-bottom-left,
body.home-walk-active .maplibregl-ctrl-bottom-right {
  opacity: 0.25;
}

@media (max-width: 700px) {
  .home-map-overlay {
    width: calc(100% - 32px);
    min-height: 100svh;
    padding: 132px 0 120px;
    margin-left: 16px;
  }

  .home-map-overlay h2 {
    font-size: clamp(52px, 18vw, 84px);
  }

  .home-map-overlay p {
    max-width: 92%;
  }

  .home-map-actions {
    width: 100%;
  }

  .home-map-actions .btn,
  .home-walk-button {
    display: inline-flex;
    justify-content: center;
    width: min(100%, 180px);
  }

  .home-venue-preview {
    left: 16px;
    right: 16px;
    bottom: 18px;
    width: auto;
    padding: 16px;
  }

  body.home-walk-active .home-venue-preview {
    display: none;
  }

  .home-walk-hud {
    bottom: 16px;
    flex-direction: column;
    align-items: center;
  }

  body.home-walk-active .navbar {
    opacity: 0.08;
  }
}

/* ═══════════════════════════════════════════════════════
   CINEMATIC OS POLISH — index.html scoped overrides
   home-map.css is only loaded on index.html, so all
   rules here safely override style.css for this page.
   ═══════════════════════════════════════════════════════ */

/* ── Navbar: fully transparent — TANIDIK h2 is the hero ── */
.navbar {
  background: transparent !important;
  box-shadow: none !important;
  border-bottom: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Hide navbar brand — overlay h2 carries TANIDIK */
.navbar h1 {
  opacity: 0 !important;
  pointer-events: none !important;
  user-select: none !important;
}

/* Nav links: ghost-floating over map */
.nav-links a {
  font-size: 9.5px !important;
  font-weight: 600 !important;
  letter-spacing: 0.14em !important;
  color: rgba(255, 255, 255, 0.46) !important;
  background: transparent !important;
  padding: 6px 12px !important;
  border-radius: 6px !important;
}

.nav-links a:hover {
  color: rgba(255, 255, 255, 0.82) !important;
  background: rgba(255, 255, 255, 0.06) !important;
}

.nav-links a.active {
  color: rgba(240, 192, 96, 0.80) !important;
  background: rgba(240, 192, 96, 0.06) !important;
}

/* ── Satellite: noir depth + strong ocean contrast ── */
.home-map-canvas {
  filter: saturate(0.76) contrast(1.36) brightness(0.66) !important;
}

.home-map-hero.home-map-provider-maptiler .home-map-canvas {
  filter: saturate(0.9) contrast(1.24) brightness(0.58) !important;
}

/* Walk mode: slightly lighter than ambient */
body.home-walk-active .home-map-canvas {
  filter: saturate(0.86) contrast(1.22) brightness(0.78) !important;
}

body.home-walk-active
  .home-map-hero.home-map-provider-maptiler
  .home-map-canvas {
  filter: saturate(0.96) contrast(1.16) brightness(0.74) !important;
}

/* ── Depth vignette: strong cinematic edges ── */
.home-map-hero::after {
  background:
    linear-gradient(90deg, rgba(0,0,0,0.80) 0%, rgba(0,0,0,0.14) 46%, rgba(0,0,0,0.34) 100%),
    linear-gradient(180deg, rgba(0,0,0,0.58) 0%, transparent 36%, rgba(0,0,0,0.82) 100%),
    radial-gradient(ellipse 66% 60% at 52% 54%,
      transparent 0 18%,
      rgba(0,0,0,0.44) 62%,
      rgba(0,0,0,0.70) 100%) !important;
}

/* ── Cloud shadow drift — subtle fog over map ── */
@keyframes homeCloudDrift {
  0%, 100% { opacity: 0.46; transform: translate(0, 0) scale(1); }
  30%       { opacity: 0.62; transform: translate(-2.5%, -1.8%) scale(1.03); }
  65%       { opacity: 0.38; transform: translate(3.5%, 2.2%) scale(1.02); }
}

.home-map-hero::before {
  background:
    radial-gradient(ellipse 48% 34% at 66% 24%, rgba(0,0,0,0.22), transparent 60%),
    radial-gradient(ellipse 38% 28% at 28% 68%, rgba(0,0,0,0.16), transparent 54%),
    radial-gradient(ellipse 30% 22% at 52% 76%, rgba(0,0,0,0.12), transparent 50%),
    linear-gradient(rgba(255,255,255,0.016) 1px, transparent 1px),
    radial-gradient(circle at 72% 18%, rgba(250,204,21,0.07), transparent 22%);
  background-size: 100% 100%, 100% 100%, 100% 100%, 100% 4px, 100% 100%;
  mix-blend-mode: multiply !important;
  animation: homeCloudDrift 30s ease-in-out infinite !important;
  opacity: 0.46 !important;
}

/* ── Remove buttons, kicker, description ── */
.home-map-kicker,
.home-map-overlay p,
.home-map-actions,
.home-walk-button {
  display: none !important;
}

/* ── Overlay: TANIDIK pinned to top ── */
.home-map-overlay {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  padding: 18px 28px 0 !important;
  align-items: center !important;
  justify-content: flex-start !important;
  text-align: center !important;
}

/* ── TANIDIK: small top header ── */
.home-map-overlay h2 {
  margin: 0 !important;
  font-size: clamp(13px, 1.6vw, 18px) !important;
  font-weight: 600 !important;
  letter-spacing: 0.22em !important;
  line-height: 1 !important;
  background: linear-gradient(
    135deg,
    rgba(255,255,255,0.88) 0%,
    rgba(240,192,96,0.82) 100%
  ) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  filter: drop-shadow(0 1px 8px rgba(0,0,0,0.72)) !important;
  text-shadow: none !important;
}

/* ── Venue preview: deep glass card ── */
.home-venue-preview {
  border-radius: 20px !important;
  border: 1px solid rgba(255,255,255,0.07) !important;
  background: rgba(6, 6, 12, 0.84) !important;
  backdrop-filter: blur(44px) saturate(2.2) !important;
  -webkit-backdrop-filter: blur(44px) saturate(2.2) !important;
  box-shadow:
    0 40px 120px rgba(0,0,0,0.72),
    0 0 0 1px rgba(255,255,255,0.04),
    inset 0 1px 0 rgba(255,255,255,0.07) !important;
}

/* ── Markers: smaller premium glow pins ── */
.home-map-marker {
  width: 13px !important;
  height: 13px !important;
  border: 1.5px solid rgba(255,255,255,0.90) !important;
  border-radius: 50% !important;
  background: #facc15 !important;
  box-shadow:
    0 0 0 3px rgba(0,0,0,0.52),
    0 0 0 5px rgba(250,204,21,0.22),
    0 0 16px rgba(250,204,21,0.70),
    0 2px 8px rgba(0,0,0,0.62) !important;
  transition: transform 160ms cubic-bezier(0.34,1.56,0.64,1),
              box-shadow 160ms ease !important;
}

.home-map-marker::after {
  inset: -8px !important;
  border: 1px solid rgba(250,204,21,0.20) !important;
  animation: homeMarkerPulse 3.2s ease-out infinite !important;
}

.home-map-marker:hover,
.home-map-marker:focus-visible {
  transform: scale(1.32) !important;
  box-shadow:
    0 0 0 3px rgba(0,0,0,0.44),
    0 0 0 6px rgba(250,204,21,0.26),
    0 0 24px rgba(250,204,21,0.88),
    0 3px 10px rgba(0,0,0,0.64) !important;
}

.home-map-marker--real {
  background: #edd060 !important;
  box-shadow:
    0 0 0 3px rgba(0,0,0,0.48),
    0 0 0 5px rgba(255,255,255,0.09),
    0 0 18px rgba(255,224,140,0.80),
    0 2px 8px rgba(0,0,0,0.60) !important;
}

@keyframes homeMarkerPulse {
  0%   { opacity: 0.80; transform: scale(0.62); }
  65%  { opacity: 0.14; transform: scale(1.38); }
  100% { opacity: 0;    transform: scale(1.54); }
}

/* ── Pin label: minimal luxury pill ── */
.home-map-pin-label {
  position: absolute;
  top: calc(100% + 6px);
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
  max-width: 90px;
  overflow: hidden;
  text-overflow: ellipsis;
  padding: 2px 7px;
  border-radius: 999px;
  background: rgba(4, 4, 8, 0.90);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255,255,255,0.09);
  color: rgba(255,255,255,0.88);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.04em;
  pointer-events: none;
  box-shadow: 0 2px 10px rgba(0,0,0,0.58);
}

/* ─────────────────────────────────────────────────────
   MOBILE
───────────────────────────────────────────────────── */
@media (max-width: 700px) {
  .home-map-canvas {
    filter: saturate(0.80) contrast(1.28) brightness(0.72) !important;
  }

  .home-map-hero.home-map-provider-maptiler .home-map-canvas {
    filter: saturate(0.88) contrast(1.2) brightness(0.64) !important;
  }

  .home-map-hero::after {
    background:
      linear-gradient(180deg, rgba(0,0,0,0.24) 0%, transparent 46%, rgba(0,0,0,0.72) 100%),
      linear-gradient(90deg, rgba(0,0,0,0.14) 0%, transparent 60%) !important;
  }

  /* TANIDIK: small header at top */
  .home-map-overlay {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: auto !important;
    inset: unset !important;
    min-height: unset !important;
    width: 100% !important;
    margin-left: 0 !important;
    padding: 14px 20px 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    text-align: center !important;
    background: none !important;
    pointer-events: none !important;
  }

  .home-map-overlay h2 {
    font-size: clamp(12px, 3.8vw, 17px) !important;
    letter-spacing: 0.20em !important;
  }

  /* Venue preview card: above bottom tabbar */
  .home-venue-preview {
    left: 12px !important;
    right: 12px !important;
    bottom: 84px !important;
    top: auto !important;
    width: auto !important;
    padding: 14px 16px !important;
    border-radius: 18px !important;
  }

  .home-venue-preview p {
    display: none !important;
  }

  /* ════════════════════════════════════════
     ULTRA PREMIUM iOS GLASS TABBAR
     ════════════════════════════════════════ */
  .mobile-bottom-nav {
    left: max(14px, env(safe-area-inset-left)) !important;
    right: max(14px, env(safe-area-inset-right)) !important;
    bottom: max(14px, env(safe-area-inset-bottom)) !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 0 !important;
    padding: 5px !important;
    min-height: 56px !important;
    border-radius: 32px !important;
    /* Layered black glass */
    background: rgba(2, 2, 5, 0.80) !important;
    border: 1px solid rgba(255, 255, 255, 0.055) !important;
    box-shadow:
      /* outer ambient glow */
      0 0 0 1px rgba(0,0,0,0.72),
      0 30px 90px rgba(0,0,0,0.88),
      0 8px 24px rgba(0,0,0,0.64),
      /* soft gold underlight */
      0 0 48px rgba(240,192,96,0.05),
      /* inner top highlight */
      inset 0 1px 0 rgba(255,255,255,0.09),
      /* inner bottom shadow */
      inset 0 -1px 0 rgba(0,0,0,0.72) !important;
    backdrop-filter: blur(64px) saturate(3.2) brightness(0.96) !important;
    -webkit-backdrop-filter: blur(64px) saturate(3.2) brightness(0.96) !important;
  }

  /* ── Tab items ── */
  .mobile-bottom-nav a {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 3.5px !important;
    min-width: 0 !important;
    padding: 6px 4px 5px !important;
    border-radius: 26px !important;
    border: 1px solid transparent !important;
    text-decoration: none !important;
    color: rgba(148, 148, 172, 0.46) !important;
    font-size: 7px !important;
    font-weight: 500 !important;
    letter-spacing: 0.03em !important;
    text-transform: uppercase !important;
    line-height: 1 !important;
    transition:
      color        160ms ease,
      background   160ms ease,
      border-color 160ms ease,
      box-shadow   160ms ease,
      transform    120ms cubic-bezier(0.34, 1.56, 0.64, 1) !important;
  }

  /* ── Icon (letter monogram) ── */
  .mobile-bottom-nav a span {
    display: block !important;
    font-family: var(--fu), sans-serif !important;
    font-size: 13px !important;
    font-weight: 200 !important;
    letter-spacing: -0.02em !important;
    line-height: 1 !important;
    color: inherit !important;
    opacity: 1 !important;
  }

  /* ── Tap feedback ── */
  .mobile-bottom-nav a:active {
    transform: scale(0.86) !important;
  }

  /* ── Active tab: gold glow pill ── */
  .mobile-bottom-nav a.active {
    background: rgba(240, 192, 96, 0.09) !important;
    border-color: rgba(240, 192, 96, 0.16) !important;
    color: rgba(240, 192, 96, 0.95) !important;
    box-shadow:
      0 0 18px rgba(240,192,96,0.12),
      inset 0 1px 0 rgba(240,192,96,0.12),
      inset 0 -1px 0 rgba(0,0,0,0.30) !important;
  }

  .mobile-bottom-nav a.active span {
    font-weight: 300 !important;
  }
}

body.home-map-intro-active .mobile-bottom-nav {
  opacity: 0 !important;
  pointer-events: none !important;
  transform: translate3d(
    0,
    calc(100% + max(32px, env(safe-area-inset-bottom, 0px))),
    0
  ) !important;
  transition:
    opacity 420ms var(--ease-premium),
    transform 760ms cubic-bezier(0.16, 1, 0.3, 1) !important;
}

body.home-map-intro-done .mobile-bottom-nav {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) !important;
  transition:
    opacity 420ms var(--ease-premium),
    transform 760ms cubic-bezier(0.16, 1, 0.3, 1) !important;
}

@media (prefers-reduced-motion: reduce) {
  body.home-map-intro-active .mobile-bottom-nav,
  body.home-map-intro-done .mobile-bottom-nav {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}
