/* Shanghai Med Navigator - enhancement polish (uiverse-inspired, restrained) */
:root {
  --smn-chocolate: #794532;
  --smn-caramel: #BC7D50;
  --smn-accent: #D15A20;
  --smn-cream: #FFFBF7;
  --smn-border-soft: #E8DDD5;
}

/* ---------- scrollbar (subtle, palette-consistent) ---------- */
@media (min-width: 769px) {
  ::-webkit-scrollbar { width: 10px; }
  ::-webkit-scrollbar-track { background: #F7F1EC; }
  ::-webkit-scrollbar-thumb { background: #D9C3B2; border-radius: 8px; border: 2px solid #F7F1EC; }
  ::-webkit-scrollbar-thumb:hover { background: var(--smn-caramel); }
}

/* ---------- cards: lift + soft glow on hover ---------- */
.smn-card { transition: transform .35s cubic-bezier(.22,1,.36,1), box-shadow .35s ease, border-color .35s ease; }
.smn-card:hover {
  transform: translateY(-6px);
  border-color: #E4C6AC !important;
  box-shadow: 0 18px 40px rgba(121, 69, 50, .13), 0 4px 12px rgba(121, 69, 50, .07);
}

/* ---------- CTA buttons: shine sweep + lift ---------- */
.smn-cta { position: relative; overflow: hidden; transition: transform .3s ease, box-shadow .3s ease, filter .3s ease; }
.smn-cta::after {
  content: '';
  position: absolute;
  top: 0; left: -80%;
  width: 45%; height: 100%;
  background: linear-gradient(105deg, transparent, rgba(255,255,255,.35), transparent);
  transform: skewX(-20deg);
  transition: left .55s ease;
  pointer-events: none;
}
.smn-cta:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(209, 90, 32, .28); }
.smn-cta:hover::after { left: 130%; }

/* ---------- nav links: underline grow ---------- */
.smn-nav-link { position: relative; }
.smn-nav-link::after {
  content: '';
  position: absolute;
  left: 0; right: 0; bottom: -3px;
  height: 1.5px;
  background: var(--smn-caramel);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .3s ease;
}
.smn-nav-link:hover::after { transform: scaleX(1); }

/* ---------- Lenis defaults ---------- */
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior: contain; }
.lenis.lenis-stopped { overflow: hidden; }

/* ---------- AOS reveal polish ---------- */
[data-aos="fade-up"] { will-change: transform, opacity; }
