* { margin: 0; padding: 0; box-sizing: border-box; } html { height: 100%; transition: color var(--transition-speed) ease, background-color var(--transition-speed) ease; } body { font-family: 'Montserrat', 'Open Sans', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; background: var(--bg-main); color: var(--text); line-height: 1.6; min-height: 100vh; transition: var(--theme-transition); will-change: background-color, color; } h1 { font-size: 2rem; margin-bottom: var(--spacing-lg); color: var(--text); opacity: 0.85; font-weight: 600; transition: var(--theme-transition); } h2 { font-size: 2rem; margin-bottom: var(--spacing-lg); color: var(--text); transition: var(--theme-transition); } h3 { color: var(--text); margin-bottom: var(--spacing-md); transition: var(--theme-transition); } h1.h1-hero { font-size: 2.5rem; margin: var(--spacing-xl); padding: var(--spacing-xl); color: var(--text); opacity: 0.85; font-weight: 100; text-align: center; } p { margin-bottom: var(--spacing-md); transition: var(--theme-transition); } a { color: var(--primary); text-decoration: none; transition: var(--theme-transition), opacity var(--transition-speed) ease; } a:hover { opacity: 0.8; } main { padding-top: var(--header-height); } .container { max-width: 1200px; margin: 0 auto; padding: 0 var(--spacing-md); } section { padding: var(--spacing-xl) 0; } /* Utility classes */ .text-center { text-align: center; } .mb-1 { margin-bottom: var(--spacing-sm); } .mb-2 { margin-bottom: var(--spacing-md); } .mb-3 { margin-bottom: var(--spacing-lg); } .mb-4 { margin-bottom: var(--spacing-xl); } .mt-1 { margin-top: var(--spacing-sm); } .mt-2 { margin-top: var(--spacing-md); } .mt-3 { margin-top: var(--spacing-lg); } .mt-4 { margin-top: var(--spacing-xl); }