/* PALETA INDEPENDIENTE - TONOS OSCUROS MODERNOS CON GRISES LIMPIOS */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
    --primary: #0284c7;
    --secondary: #0f172a;
    --text-main: #334155;
    --text-dark: #0f172a;
    --bg-light: #f8fafc;
    --bg-white: #ffffff;
    --warning-bg: #fef3c7;
    --warning-text: #78350f;
    --warning-border: #fcd34d;
    --border-color: #e2e8f0;
    --error: #ef4444;
}
body { font-family: system-ui, -apple-system, sans-serif; color: var(--text-main); background: var(--bg-light); line-height: 1.6; }
.container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.container-small { max-width: 600px; margin: 0 auto; padding: 0 20px; }
.main-header { background: var(--bg-white); border-bottom: 1px solid var(--border-color); position: sticky; top: 0; z-index: 100; }
.header-container { padding: 15px 20px; display: table; width: 100%; }
.logo-container { display: table-cell; vertical-align: middle; text-decoration: none; width: 250px; }
.logo-text { font-size: 20px; color: var(--secondary); text-decoration: none; }
.logo-bold { font-weight: 700; color: var(--primary); }
.main-nav { display: table-cell; vertical-align: middle; text-align: center; }
.nav-link { color: var(--text-main); text-decoration: none; margin: 0 15px; font-weight: 500; }
.nav-link:hover, .nav-link.active { color: var(--primary); }
.header-cta { display: table-cell; vertical-align: middle; text-align: right; width: 200px; }
.btn { display: inline-block; padding: 12px 24px; font-weight: 600; text-decoration: none; border-radius: 6px; text-align: center; border: 1px solid transparent; cursor: pointer; }
.btn-primary { background: var(--primary); color: white; }
.btn-secondary { background: var(--secondary); color: white; }
.btn-block { display: block; width: 100%; }
.top-disclaimer-box { background: var(--warning-bg); border-bottom: 1px solid var(--warning-border); padding: 12px 20px; }
.disclaimer-container { display: table; width: 100%; }
.disclaimer-icon { display: table-cell; vertical-align: top; width: 24px; padding-right: 10px; }
.disclaimer-text { display: table-cell; vertical-align: middle; font-size: 13px; color: var(--warning-text); }
.contact-section { padding: 60px 0; }
.form-wrapper { background: var(--bg-white); padding: 40px; border-radius: 8px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.05); color: var(--text-dark); }
.form-header { text-align: center; margin-bottom: 30px; }
.form-header h1 { font-size: 26px; margin-bottom: 10px; font-weight: 700; }
.form-header p { font-size: 14px; color: var(--text-main); }
.form-group { margin-bottom: 20px; }
.form-group label { display: block; font-size: 14px; font-weight: 600; margin-bottom: 6px; }
.form-group input[type="text"], .form-group input[type="email"], .form-group input[type="tel"], .form-group textarea { width: 100%; padding: 12px; border: 1px solid var(--border-color); border-radius: 6px; font-size: 15px; font-family: inherit; }
.form-group input:focus, .form-group textarea:focus { outline: none; border-color: var(--primary); }
.error-message { color: var(--error); font-size: 12px; display: none; margin-top: 5px; }
.form-success-box { display: none; background: #f0fdf4; border: 1px solid #bbf7d0; padding: 30px; border-radius: 6px; text-align: center; }
.form-success-box h4 { color: #166534; font-size: 18px; margin-bottom: 10px; }
.form-success-box p { color: #334155; font-size: 14px; }
.main-footer { background: #0b0f19; color: #94a3b8; padding: 60px 0 30px 0; font-size: 14px; }
.footer-grid { display: table; width: 100%; table-layout: fixed; margin-bottom: 40px; }
.footer-brand-col { display: table-cell; width: 50%; padding-right: 40px; }
.footer-links-col { display: table-cell; width: 25%; }
.text-white { color: white; }
.footer-description { margin-top: 15px; font-size: 13px; }
.footer-links-col h4 { color: white; margin-bottom: 15px; }
.footer-links-col a { display: block; color: #94a3b8; text-decoration: none; margin-bottom: 10px; }
.footer-links-col a:hover { color: white; }
.footer-divider { border: 0; border-top: 1px solid #1e293b; margin-bottom: 30px; }
.footer-disclaimer-box { background: #141b2d; padding: 20px; border-radius: 6px; margin-bottom: 30px; }
.footer-disclaimer-box p { font-size: 12px; color: #64748b; line-height: 1.6; }
.footer-bottom { text-align: center; font-size: 12px; color: #475569; }