/* Critical CSS - enables fast first contentful paint */
*,
*::before,
*::after { box-sizing: border-box; }
html { line-height: 1.5; -webkit-text-size-adjust: 100%; font-family: system-ui, -apple-system, sans-serif; }
body { margin: 0; background-color: #ffffff; color: #0f172a; }
#root { min-height: 100vh; }
/* Navigation skeleton */
nav { position: sticky; top: 0; z-index: 50; background: rgba(255, 255, 255, 0.95); backdrop-filter: blur(8px); padding: 0.5rem 1rem; }
/* Hero section skeleton */
section.hero-skeleton { position: relative; min-height: 100vh; display: flex; align-items: center; justify-content: center; }
.hero-skeleton::before { content: ''; position: absolute; inset: 0; background: linear-gradient(135deg, #ffffff 0%, #e7f8fc 100%); }
/* Loading text placeholder */
h1 { font-size: clamp(2rem, 5vw, 3.5rem); font-weight: 700; color: #0f172a; text-align: center; }
/* Smooth transition when full CSS loads */
.loading-fade { opacity: 1; transition: opacity 0.2s ease-out; }

/* Noscript navigation fallback */
.noscript-nav { padding: 20px; background: #f5f5f5; }
.noscript-nav ul { list-style: none; padding: 0; }

/* SEO sitemap footer (visually hidden, crawlable) */
.seo-hidden {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
