 :root {
            --primary-color: #0f172a;
            --accent-color: #3b82f6;
            --accent-hover: #2563eb;
            --text-color: #334155;
            --border-light: #e2e8f0;
        }

        body { font-family: 'Open Sans', sans-serif; background-color: #f8fafc; color: var(--text-color); }
        .contact-section { padding: 80px 0; }
        
        /* Contenedor del Logo (Icono + Texto) */
        .logo-wrapper {
            display: flex;
            flex-direction: column;
            align-items: center;
            margin-bottom: 20px;
        }

        /* Icono Circular Elegante y Discreto */
        .logo-icon {
            width: 65px;
            height: 65px;
            border-radius: 50%;
            object-fit: contain;
            padding: 10px;
            background-color: #ffffff;
            border: 2px solid var(--border-light);
            box-shadow: 0 4px 10px rgba(0,0,0,0.03);
            margin-bottom: 12px;
        }

        .logo-canseco { 
            font-family: 'Montserrat', sans-serif;
            font-weight: 800;
            font-size: 2rem;
            color: var(--primary-color);
            text-decoration: none;
            display: inline-block;
            margin-bottom: 0;
            letter-spacing: 1px;
        }
        
        .section-title { 
            font-family: 'Montserrat', sans-serif;
            color: var(--primary-color); 
            font-weight: 800; 
            margin-bottom: 10px; 
            letter-spacing: -0.5px; 
        }
        .section-subtitle { color: #64748b; font-size: 1.1rem; margin-bottom: 15px; }
        
        /* Disclaimer de Marketing */
        .marketing-disclaimer {
            font-size: 0.9rem;
            color: #64748b; 
            margin-bottom: 35px;
        }
        .marketing-disclaimer a { color: var(--accent-color); text-decoration: none; font-weight: 600; }
        .marketing-disclaimer a:hover { text-decoration: underline; color: var(--accent-hover); }

        .contact-card {
            background: #fff; 
            padding: 40px; 
            border-radius: 12px;
            box-shadow: 0 10px 30px rgba(0,0,0,0.05); 
            border-top: 5px solid var(--accent-color); 
        }
        
        .form-label { 
            font-weight: 700; 
            font-size: 0.85rem; 
            color: var(--primary-color); 
            margin-bottom: 8px; 
            text-transform: uppercase; 
            letter-spacing: 0.5px; 
        }
        .form-control, .form-select {
            padding: 12px 15px; 
            border-radius: 8px; 
            border: 1px solid #e2e8f0; 
            margin-bottom: 20px; 
            font-size: 0.95rem;
            background-color: #f8fafc;
            transition: all 0.3s ease;
        }
        .form-control:focus, .form-select:focus { 
            border-color: var(--accent-color); 
            box-shadow: 0 0 0 0.25rem rgba(59, 130, 246, 0.15); 
            background-color: #fff;
        }
        
        /* Botón principal estilo Canseco */
        .btn-canseco {
            background-color: var(--accent-color); 
            color: white; 
            padding: 15px 30px; 
            font-weight: 700;
            border-radius: 50px; 
            border: none; 
            width: 100%; 
            transition: 0.3s; 
            margin-top: 10px; 
            text-transform: uppercase; 
            letter-spacing: 1px;
            box-shadow: 0 10px 20px rgba(59, 130, 246, 0.3);
        }
        .btn-canseco:hover { 
            background-color: var(--accent-hover); 
            color: white; 
            transform: translateY(-2px); 
            box-shadow: 0 15px 25px rgba(59, 130, 246, 0.4); 
        }
        
        /* Checkbox */
        .checkbox-wrapper { font-size: 0.85rem; color: #64748b; margin-top: -10px; margin-bottom: 25px; display: flex; align-items: flex-start; gap: 8px; }
        .checkbox-wrapper input { margin-top: 4px; }
        
        /* Captcha Estético */
        .captcha-box { 
            background: #f8fafc; 
            padding: 15px 20px; 
            border-radius: 8px; 
            margin-bottom: 25px; 
            border-left: 4px solid var(--primary-color); 
            display: flex; 
            align-items: center; 
            justify-content: space-between; 
            flex-wrap: wrap; 
            gap: 10px; 
        }
        .captcha-box label { margin: 0; font-size: 0.95rem; color: var(--primary-color);}
        
        /* Eliminar flechitas feas del input number */
        input[type=number]::-webkit-inner-spin-button, input[type=number]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
        input[type=number] { -moz-appearance: textfield; }

        /* Responsividad Móvil */
        @media (max-width: 767px) {
            .section-title { font-size: 1.8rem; }
            .contact-card { padding: 30px 20px; }
            .captcha-box { flex-direction: column; align-items: flex-start; }
            .captcha-box input { width: 100%; max-width: 100% !important; margin-top:10px !important;}
        }