*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { font-family: 'Inter', system-ui, sans-serif; color: #1e293b; background: #ffffff; -webkit-font-smoothing: antialiased; }
.skip-link { position: absolute; left: -9999px; top: 0; background: #0d9488; color: #f8fafc; padding: 0.5rem 1rem; z-index: 200; font-size: 0.875rem; text-decoration: none; border-radius: 0 0 0.5rem 0; }
.skip-link:focus { left: 0; }
.nav-toggle[aria-expanded="true"] .icon-close { display: block; }
.nav-toggle .icon-close { display: none; }
.nav-toggle[aria-expanded="true"] .icon-menu { display: none; }
.reveal { opacity: 1; transform: none; transition: opacity 0.6s ease, transform 0.6s ease; }
.reveal.revealed { opacity: 1; transform: none; }
@media (prefers-reduced-motion: no-preference) {
  .reveal { opacity: 0; transform: translateY(24px); }
  .reveal.revealed { opacity: 1; transform: translateY(0); }
  .card { will-change: transform; }
}
.site-header { position: sticky; top: 0; z-index: 100; background: rgba(255,255,255,0.95); backdrop-filter: blur(8px); border-bottom: 1px solid rgba(15,23,42,0.06); }
.site-header.scrolled { box-shadow: 0 1px 0 rgba(15,23,42,0.08); }
#mobile-menu { transition: max-height 0.3s ease, opacity 0.3s ease; max-height: 0; opacity: 0; overflow: hidden; }
#mobile-menu.open { max-height: 400px; opacity: 1; }
