  html { scroll-behavior: smooth; overflow-x: clip; }
  body { font-family: 'Inter', sans-serif; -webkit-font-smoothing: antialiased; overflow-x: clip; }
  img { max-width: 100%; }
  .font-display { font-family: 'Playfair Display', serif; }
  .grain::before {
    content: ''; position: absolute; inset: 0; pointer-events: none; opacity: 0.04;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  }
  .glass { background: rgba(255,255,255,0.7); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); }
  .glass-dark { background: rgba(15,23,42,0.5); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); }
  .gradient-text { background: linear-gradient(135deg, #0ea5e9 0%, #10b981 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
  .mesh-bg {
    background-image:
      radial-gradient(at 20% 20%, rgba(14,165,233,0.12) 0px, transparent 50%),
      radial-gradient(at 80% 10%, rgba(16,185,129,0.10) 0px, transparent 50%),
      radial-gradient(at 60% 80%, rgba(56,189,248,0.10) 0px, transparent 50%);
  }
  .card-hover { transition: transform .3s ease, box-shadow .3s ease; }
  .card-hover:hover { transform: translateY(-4px); box-shadow: 0 20px 50px -20px rgba(15,23,42,0.25); }
  .marquee { display: flex; gap: 3rem; animation: scroll 30s linear infinite; }
  @keyframes scroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }
  .reveal { opacity: 0; transform: translateY(24px); transition: opacity .7s ease, transform .7s ease; }
  .reveal.in { opacity: 1; transform: translateY(0); }

  /* Mega menu */
  .nav-item:hover > .mega-panel,
  .nav-item:focus-within > .mega-panel { opacity: 1; visibility: visible; transform: translateY(0); pointer-events: auto; }
  .mega-panel { opacity: 0; visibility: hidden; transform: translateY(8px); pointer-events: none; transition: opacity .18s ease, transform .18s ease, visibility .18s; }

  /* Search type badges (mirroring Vaidam's color taxonomy) */
  .badge { display:inline-block; padding:2px 8px; border-radius:9999px; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; }
  .badge-doctor { background:#e3f2fd; color:#1976d2; }
  .badge-hospital { background:#f3e5f5; color:#7b1fa2; }
  .badge-doctor-list { background:#e8f5e9; color:#388e3c; }
  .badge-hospital-list { background:#fff3e0; color:#f57c00; }
  .badge-cost { background:#fce4ec; color:#c2185b; }
  .badge-treatment { background:#ede9fe; color:#6d28d9; }
  .badge-blog { background:#fef3c7; color:#92400e; }

  /* FAQ accordion */
  details[open] summary .chev { transform: rotate(180deg); }
  summary { list-style: none; cursor: pointer; }
  summary::-webkit-details-marker { display: none; }

  /* Toast */
  .toast { transform: translateY(20px); opacity: 0; transition: all .3s ease; }
  .toast.show { transform: translateY(0); opacity: 1; }

  /* Modal */
  .modal-backdrop { opacity: 0; pointer-events: none; transition: opacity .25s ease; }
  .modal-backdrop.open { opacity: 1; pointer-events: auto; }
  .modal-panel { transform: scale(.96) translateY(8px); opacity: 0; transition: transform .25s ease, opacity .25s ease; }
  .modal-backdrop.open .modal-panel { transform: scale(1) translateY(0); opacity: 1; }

  /* Mobile drawer */
  .drawer { transform: translateX(100%); transition: transform .3s ease; }
  .drawer.open { transform: translateX(0); }

  /* Loading spinner */
  .spinner { width: 28px; height: 28px; border: 3px solid #e2e8f0; border-top-color: #0ea5e9; border-radius: 50%; animation: spin 1s linear infinite; margin: 0 auto; }
  @keyframes spin { to { transform: rotate(360deg); } }

  /* Custom scrollbar for search results */
  .results-scroll::-webkit-scrollbar { width: 6px; }
  .results-scroll::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 3px; }
