body { font-family: 'Geist', sans-serif; background-color: #f7f9fb; }
.material-symbols-outlined { font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24; }
.premium-shadow, .p-shadow, .ambient-shadow { box-shadow: 0 20px 40px rgba(15, 23, 42, 0.05); }
.hero-gradient { background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(247,249,251,1) 100%); }
.glass-effect { backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); background-color: rgba(255,255,255,0.8); }
.no-scrollbar::-webkit-scrollbar, .scrollbar-hide::-webkit-scrollbar { display: none; }
.no-scrollbar, .scrollbar-hide { -ms-overflow-style: none; scrollbar-width: none; }
html { scroll-behavior: smooth; scroll-padding-top: 120px; }

/* Mobile nav drawer */
#mobile-menu { transition: transform .3s ease, opacity .3s ease; }
#mobile-menu.hidden-drawer { transform: translateX(100%); opacity: 0; pointer-events: none; }

/* Sticky nav scrolled state */
nav[data-nav].nav-scrolled { box-shadow: 0 10px 30px rgba(15,23,42,.06); }

/* Toast */
#toast { transition: opacity .3s ease, transform .3s ease; }
#toast.hidden-toast { opacity: 0; transform: translateY(20px); pointer-events: none; }

/* FAQ accordion */
.faq-answer { display: none; }
.faq-item.open .faq-answer { display: block; }
.faq-item.open .faq-icon { transform: rotate(180deg); }
.faq-icon { transition: transform .25s ease; }

/* Search filtering */
.search-hidden { display: none !important; }
mark.search-hit { background: #62fae3; color: #00201c; padding: 0 2px; border-radius: 2px; }
