/* hero contact form con glow sutiles */
.contact-hero {
    background: var(--gradient-hero);
    position: relative;
    padding: 140px 0 120px;
    isolation: isolate;
}
.contact-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 20% 30%, rgba(30,198,243,0.1) 0%, transparent 40%),
                radial-gradient(circle at 90% 70%, rgba(30,198,243,0.08) 0%, transparent 45%);
    pointer-events: none;
    z-index: 1;
}
.contact-hero .container { position: relative; z-index: 3; }

/* formulario hero */
.hero-form input, .hero-form textarea, .hero-form select {
    background: transparent !important;
    border: 1px solid rgba(255,255,255,0.25);
    border-radius: 20px;
    color: white !important;
    padding: 12px 18px;
    transition: var(--transition);
}
.hero-form input:focus, .hero-form textarea:focus, .hero-form select:focus {
    border-color: var(--cyan-accent);
    box-shadow: 0 0 0 4px rgba(30,198,243,0.15);
    outline: none;
    background: rgba(255,255,255,0.02) !important;
}
.hero-form input::placeholder, .hero-form textarea::placeholder {
    color: rgba(255,255,255,0.5);
    font-weight: 300;
}
.hero-form label { font-weight:500; margin-bottom:6px; color:white; font-size:0.95rem; letter-spacing:0.01em; }

/* info contacto right */
.contact-info-block { margin-bottom: 2rem; }
.contact-info-block h5 { font-size: 1.2rem; margin-bottom: 0.5rem; color: white; }
.contact-info-block p { margin-bottom: 0.2rem; color: rgba(255,255,255,0.7); font-size: 0.98rem; }
.contact-info-block i { color: var(--cyan-accent); margin-right: 8px; width: 1.4rem; font-size: 1.2rem; }

/* sección 2: secondary form + image */
.section-partner {
    background: var(--gray-light-bg);
    padding: 6rem 0;
}
.partner-card {
    background: white;
    border: 2px solid var(--blue-deep);
    border-radius: var(--border-radius-xl);
    padding: 2.8rem 2.5rem;
    box-shadow: var(--shadow-sm);
    transition: var(--transition);
}
.partner-card:hover { box-shadow: var(--shadow-hover); transform: scale(1.01); }
.partner-card h2 { color: var(--blue-deep); font-size: 2.4rem; }
.partner-card .form-control, .partner-card .form-select {
    border-radius: 18px;
    border: 1px solid #dee2e6;
    padding: 12px 18px;
    background: white;
}
.partner-card .form-control:focus, .partner-card .form-select:focus {
    border-color: var(--blue-deep);
    box-shadow: 0 0 0 4px rgba(10,46,110,0.1);
}
.partner-card .btn-blue-deep {
    background: var(--blue-primary);
    border: none;
    border-radius: 60px;
    padding: 14px;
    font-weight: 600;
    color: white;
    transition: var(--transition);
    width: 100%;
}
.partner-card .btn-blue-deep:hover {
    background: var(--blue-deep);
    transform: translateY(-3px);
    box-shadow: 0 20px 25px -8px var(--blue-primary);
}

.img-partner {
    border-radius: var(--border-radius-xl);
    box-shadow: 0 30px 40px -20px rgba(0,0,0,0.25);
    width: 100%;
    height: 100%;
    object-fit: cover;
    min-height: 420px;
    transition: var(--transition);
}
.img-partner:hover { transform: scale(1.01); box-shadow: 0 35px 50px -18px #0A2E6E; }

/* sección 3: right solution pill block */
.pill-section {
    background: var(--gray-light-bg);
    padding: 5rem 0;
}
.pill-block {
    background: var(--gradient-card);
    border-radius: 100px 100px 100px 100px; /* forma de píldora alargada */
    padding: 3.5rem 3rem;
    display: flex;
    align-items: center;
    gap: 2.5rem;
    box-shadow: 0 30px 45px -12px rgba(1,22,65,0.6);
}
.pill-block .content { flex: 1.2; }
.pill-block .image-wrapper { flex: 0.9; }
.pill-block img {
    width: 100%;
    border-radius: 48px;
    box-shadow: 0 25px 35px -8px rgba(0,0,0,0.4);
    transition: transform 0.5s ease;
}
.pill-block img:hover { transform: scale(1.02); }
.pill-block h2 { color: white; font-size: 2.4rem; line-height: 1.2; }
.pill-block p { color: rgba(255,255,255,0.8); font-size: 1.15rem; }
.pill-block .btn-white-azure {
    background: white;
    color: var(--blue-deep);
    border-radius: 60px;
    padding: 0.9rem 2.5rem;
    font-weight: 700;
    border: none;
    transition: var(--transition);
}
.pill-block .btn-white-azure:hover {
    background: var(--cyan-accent);
    color: var(--blue-darker);
    transform: translateY(-4px);
    box-shadow: 0 15px 30px rgba(30,198,243,0.3);
}

.btn-white-azure,
.btn-white-azure:hover,
.btn-white-azure:focus {
  text-decoration: none;
}

/* fade-up reveal (simple) */
.fade-up { opacity:0; transform:translateY(20px); transition:opacity 0.8s ease, transform 0.8s ease; }
.fade-up.visible { opacity:1; transform:translateY(0); }

/* mobile ajustes */
@media (max-width: 992px) {
    .pill-block { flex-direction: column; border-radius: 60px; text-align: center; }
    .contact-hero { padding: 100px 0 70px; }
    .section-partner { padding: 4rem 0; }
    .pill-block h2 { font-size: 2rem; }
    .partner-card { padding: 2rem 1.5rem; }
    .pill-block .btn-white-azure { width: 100%; }
    .contact-info-block i { width: 1.6rem; }
}
@media (max-width: 576px) {
    .contact-hero h1 { font-size: 2.5rem; }
    .pill-block { border-radius: 40px; padding: 2rem 1.5rem; }
    .img-partner { min-height: 280px; }
}

/* pequeña mejora para el recaptcha simulado */
.fake-recaptcha { background:#f0f2f4; border-radius: 30px; padding:12px 20px; display:flex; align-items:center; gap:12px; border:1px solid #d2d6da; color:#2c3e50; }
.fake-recaptcha i { color:var(--blue-primary); font-size:1.6rem; }
