/* PSM Base */
:root {
    --psm-deep-navy: #0E1B2D;
    --psm-industrial-blue: #0A4F9C;
    --psm-precision-cyan: #00AEEF;
    --psm-performance-amber: #FFB400;
    --psm-technical-gray: #6B7785;
    --psm-white: #FFFFFF;
    
    /* CAMBIO: Fondo general ahora es blanco puro */
    --psm-bg-light: #FFFFFF; 
    
    --psm-border-color: #E2E8F0;
    --psm-text-main: #1A202C;

    --font-headings: 'Sora', sans-serif;
    --font-body: 'Inter', sans-serif;

    --container-max-width: 1280px;
    --container-padding: 1.5rem;
    --header-height: 80px;
    --header-height-sticky: 64px;
    --space-sm: 0.5rem; --space-md: 1rem; --space-lg: 2rem; --space-xl: 4rem;
    --transition-fast: 0.2s ease-in-out;
}
*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; font-family: var(--font-body); color: var(--psm-text-main); background-color: var(--psm-bg-light); line-height: 1.6; -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4, h5, h6 { font-family: var(--font-headings); color: var(--psm-deep-navy); margin-top: 0; font-weight: 600; line-height: 1.2; }
a { color: var(--psm-industrial-blue); text-decoration: none; transition: color var(--transition-fast); }
a:hover { color: var(--psm-precision-cyan); }
img { max-width: 100%; height: auto; display: block; }

.screen-reader-text { border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; }
.skip-link:focus { background-color: var(--psm-white); clip: auto !important; clip-path: none; color: var(--psm-deep-navy); display: block; font-size: 1rem; height: auto; left: 5px; line-height: normal; padding: 15px 23px 14px; text-decoration: none; top: 5px; width: auto; z-index: 100000; }

.container { width: 100%; max-width: var(--container-max-width); margin-left: auto; margin-right: auto; padding-left: var(--container-padding); padding-right: var(--container-padding); }
.section { padding-top: var(--space-xl); padding-bottom: var(--space-xl); }
.text-center { text-align: center; }