body { font-family: 'Inter', sans-serif; }
        .font-display { font-family: 'Playfair Display', serif; }
        .reveal { opacity: 0; transform: translateY(40px); transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1); }
        .reveal.visible { opacity: 1; transform: translateY(0); }
        .reveal-left { opacity: 0; transform: translateX(-40px); transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1); }
        .reveal-left.visible { opacity: 1; transform: translateX(0); }
        .reveal-right { opacity: 0; transform: translateX(40px); transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1); }
        .reveal-right.visible { opacity: 1; transform: translateX(0); }
        .reveal-scale { opacity: 0; transform: scale(0.95); transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1); }
        .reveal-scale.visible { opacity: 1; transform: scale(1); }
        .stagger > *:nth-child(1) { transition-delay: 0ms; }
        .stagger > *:nth-child(2) { transition-delay: 100ms; }
        .stagger > *:nth-child(3) { transition-delay: 200ms; }
        .stagger > *:nth-child(4) { transition-delay: 300ms; }
        .stagger > *:nth-child(5) { transition-delay: 400ms; }
        .stagger > *:nth-child(6) { transition-delay: 500ms; }
        html { scroll-behavior: smooth; }
        ::-webkit-scrollbar { width: 8px; }
        ::-webkit-scrollbar-track { background: #f8fafc; }
        .dark ::-webkit-scrollbar-track { background: #0f172a; }
        ::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 4px; }
        .dark ::-webkit-scrollbar-thumb { background: #334155; }
        .custom-scrollbar::-webkit-scrollbar { width: 4px; }
        .custom-scrollbar::-webkit-scrollbar-track { background: transparent; }
        .custom-scrollbar::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 4px; }
        .dark .custom-scrollbar::-webkit-scrollbar-thumb { background: #334155; }
        .slider-container { position: relative; overflow: hidden; }
        .slider-track { display: flex; transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1); height: 100%; }
        .slider-slide { min-width: 100%; height: 100%; }
        .slider-slide img { width: 100%; height: 100%; object-fit: cover; }
        #main-content { width: 100%; transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1); transform-origin: center center; }
        #main-content.menu-open { transform: translateX(-70%); }
        @media (min-width: 1280px) { #main-content.menu-open { transform: none !important; } }
        #mobile-menu { position: fixed; top: 0; right: 0; width: 70%; max-width: 320px; height: 100vh; height: 100dvh; z-index: 100; transform: translateX(100%); transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1); overflow-y: auto; }
        #mobile-menu.open { transform: translateX(0); }
        #menu-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100vh; height: 100dvh; background: rgba(0, 0, 0, 0.4); backdrop-filter: blur(2px); z-index: 90; opacity: 0; pointer-events: none; transition: opacity 0.5s ease; }
        #menu-overlay.active { opacity: 1; pointer-events: auto; }
        body.menu-active { overflow-x: hidden; }
        .dropdown-menu { opacity: 0; visibility: hidden; transform: translateY(10px); transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease; }
        .group:hover .dropdown-menu { opacity: 1; visibility: visible; transform: translateY(0); }