@import "tailwindcss"; @theme inline { --font-sans: "Inter", "Helvetica Neue", Arial, sans-serif; --color-background: #fcf9f8; --color-on-background: #1b1c1c; --color-surface: #fcf9f8; --color-on-surface: #1b1c1c; --color-surface-dim: #dcd9d9; --color-surface-bright: #fcf9f8; --color-surface-container-lowest: #ffffff; --color-surface-container-low: #f6f3f2; --color-surface-container: #f0eded; --color-surface-container-high: #eae7e7; --color-surface-container-highest: #e4e2e1; --color-surface-variant: #e4e2e1; --color-on-surface-variant: #454558; --color-primary: #0001bb; --color-on-primary: #ffffff; --color-primary-container: #0000ff; --color-on-primary-container: #b3b7ff; --color-secondary: #5f5e5e; --color-on-secondary: #ffffff; --color-secondary-container: #e4e2e1; --color-on-secondary-container: #656464; --color-tertiary: #720001; --color-on-tertiary: #ffffff; --color-error: #ba1a1a; --color-on-error: #ffffff; --color-outline: #757589; --color-outline-variant: #c5c4db; --color-inverse-surface: #303030; --color-inverse-on-surface: #f3f0ef; --color-inverse-primary: #bec2ff; --color-dark-bg: #282828; } html { scroll-behavior: smooth; } /* Scroll snap for section-by-section navigation */ .snap-container { scroll-snap-type: y proximity; } .snap-section { scroll-snap-align: start; } body { font-family: var(--font-sans); background: var(--color-background); color: var(--color-on-background); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; overflow-x: hidden; } .text-huge { font-size: clamp(2.5rem, 8vw, 8rem); line-height: 0.9; letter-spacing: -0.04em; } /* Performance optimizations */ img { decoding: async; } /* Skeleton wave animation */ @keyframes wave { 0% { background-position: -1000px 0; } 100% { background-position: 1000px 0; } } .skeleton-wave { background: linear-gradient( 90deg, var(--color-surface-container) 0%, var(--color-surface-container-high) 50%, var(--color-surface-container) 100% ); background-size: 200% 100%; animation: wave 2s infinite; } /* Optimize font loading */ @font-face { font-family: "Inter"; font-display: swap; src: url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;900"); } /* Prevent layout shift for lazy-loaded images */ img { aspect-ratio: auto; } /* Optimize animations for reduced motion preference */ @media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; } .skeleton-wave { animation: none; background: var(--color-surface-container-high); } } /* Hide scrollbar for horizontal carousels */ .scrollbar-hide { -ms-overflow-style: none; scrollbar-width: none; } .scrollbar-hide::-webkit-scrollbar { display: none; }