/* * Sergio Goumaz - Especificación UI v5.0 (FINAL)
 * Cobertura: Home, Servicios, Sobre Mí, Contacto
 */

:root {
    --primary: #1E3A8A;           /* Azul Estratégico */
    --primary-hover: #3B82F6;     /* Azul Medio */
    --accent: #E0F2FE;            /* Celeste Suave */
    --neutral-dark: #111827;      /* Gris Profundo */
    --neutral-medium: #6B7280;    /* Gris Texto */
    --white: #FFFFFF;
    --font-main: 'Inter', sans-serif;
}

/* --- BASE & TIPOGRAFÍA --- */
body {
    font-family: var(--font-main);
    color: var(--neutral-dark);
    background-color: var(--white);
    line-height: 1.6;
}

h1 { font-size: 48px; font-weight: 700; letter-spacing: -0.02em; line-height: 1.2; }
h2 { font-size: 32px; font-weight: 600; line-height: 1.3; }
h3 { font-size: 24px; font-weight: 600; }

.text-body-large { font-size: 18px; color: var(--neutral-medium); }
.text-secondary-neutro { color: var(--neutral-medium); }
.fw-600 { font-weight: 600; }
.fw-700 { font-weight: 700; }

/* --- HEADER (Sticky 72px) --- */
.main-header {
    min-height: 72px;
    background: var(--white);
    display: flex;
    align-items: center;
    border-bottom: 1px solid rgba(0,0,0,0.05);
}

.img-logo { transition: all 0.3s ease; }

/* --- COMPONENTES --- */
.py-6 { padding: 80px 0; }
.bg-light { background-color: #F8FAFC; }
.bg-accent { background-color: var(--accent); }
.bg-dark-neutro { background-color: var(--neutral-dark); }
.max-w-700 { max-width: 700px; margin: 0 auto; }

.btn-primary-cta {
    background-color: var(--primary);
    color: var(--white) !important;
    font-weight: 600;
    padding: 14px 32px;
    border-radius: 8px;
    border: none;
    transition: all 0.3s ease;
    display: inline-block;
    text-decoration: none;
}

.btn-primary-cta:hover {
    background-color: var(--primary-hover);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(30, 58, 138, 0.2);
}

.btn-secondary-outline {
    background: transparent;
    border: 2px solid var(--primary);
    color: var(--primary);
    font-weight: 600;
    padding: 14px 32px;
    border-radius: 8px;
    transition: all 0.3s ease;
    text-decoration: none;
}

/* --- FORMULARIO DE CONTACTO --- */
.form-control {
    padding: 12px 16px;
    border: 1px solid #E2E8F0;
    border-radius: 8px;
    font-size: 15px;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.form-control:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(30, 58, 138, 0.1);
    outline: none;
}

.form-label {
    margin-bottom: 8px;
    color: var(--neutral-dark);
}

/* Cards y Bloques */
.rounded-4 { border-radius: 16px !important; }
.shadow-lg { box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04) !important; }

/* --- RESPONSIVE --- */
@media (max-width: 991px) {
    h1 { font-size: 34px; }
    h2 { font-size: 28px; }
    .py-6 { padding: 50px 0; }
    .img-logo { max-height: 80px !important; }
}