*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } html { font-size: 16px; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } body { font-family: var(--font-primary); background: var(--bg); color: var(--text); line-height: 1.6; min-height: 100vh; } .container { max-width: var(--max-width); margin: 0 auto; padding: var(--spacing-xl) var(--spacing-lg); } @media (max-width: 768px) { .container { padding: var(--spacing-lg) var(--spacing-md); } .grid { grid-template-columns: 1fr !important; } } @media (max-width: 640px) { html { font-size: 15px; } .container { padding: var(--spacing-md) var(--spacing-sm); } }