*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: var(--font-body); background: var(--color-bg); color: var(--color-text-secondary); line-height: var(--lh-normal); }
h1,h2,h3,h4,h5,h6 { font-family: var(--font-heading); color: var(--color-text-primary); line-height: var(--lh-snug); }
a { text-decoration: none; color: inherit; }
img { max-width: 100%; display: block; }
ul { list-style: none; }
.container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
@media (min-width: 768px) { .container { padding: 0 40px; } }
section { padding: 64px 0; }
@media (min-width: 1024px) { section { padding: 96px 0; } }
.section-eyebrow { font-family: var(--font-heading); font-size: var(--text-xs); font-weight: var(--fw-semibold); letter-spacing: 2px; text-transform: uppercase; color: var(--color-primary); margin-bottom: 12px; }
.section-title { font-size: var(--text-3xl); font-weight: var(--fw-black); color: var(--color-text-primary); margin-bottom: 16px; }
@media (min-width: 1024px) { .section-title { font-size: var(--text-4xl); } }
.section-subtitle { font-size: var(--text-lg); color: var(--color-text-secondary); max-width: 600px; }
.text-center { text-align: center; }
.text-primary { color: var(--color-primary); }
.bg-secondary { background: var(--color-secondary); }
.bg-dark { background: #111827; }
