/* Oftalmo Vista - Nosotros inmersivo (se carga después de ov-home.css) */

/* ---------- Hero ---------- */
.ovx-np-hero { position: relative; padding: calc(110px + clamp(2rem, 6vw, 4rem)) 0 clamp(3rem, 7vw, 5.5rem); }
.ovx-np-hero__grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(2.5rem, 6vw, 5rem); align-items: center; }
.ovx-np-hero__title { font: 500 clamp(2rem, 3.8vw, 3.4rem)/1.08 var(--ovx-head); letter-spacing: -.03em; color: var(--ovx-ink); text-wrap: balance; }
.ovx-np-hero__text { color: var(--ovx-muted); font-size: clamp(1.02rem, 1.2vw, 1.14rem); line-height: 1.65; margin-top: 1.3rem; max-width: 56ch; }
.ovx-np-hero__ctas { display: flex; flex-wrap: wrap; gap: .9rem; margin-top: 2.2rem; }
.ovx-np-hero__media { margin: 0; }
.ovx-np-hero__media img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--ovx-radius); box-shadow: 0 40px 80px -40px rgba(13, 27, 46, .35); display: block; }

/* ---------- Factores (filas numeradas) ---------- */
.ovx-np-factors { position: relative; padding: clamp(2rem, 6vw, 4rem) 0 clamp(4rem, 9vw, 7rem); }
.ovx-np-factors__title { color: var(--ovx-c-blue-225); }
.ovx-np-factor {
	display: grid; grid-template-columns: 120px 1fr minmax(0, 460px); grid-template-areas: "num body media";
	gap: clamp(1.5rem, 4vw, 3.5rem); align-items: center;
	padding: clamp(2.2rem, 5vw, 3.6rem) 0; border-top: 1px solid var(--ovx-line);
}
.ovx-np-factor:last-child { border-bottom: 1px solid var(--ovx-line); }
.ovx-np-factor:nth-child(even):not(.ovx-np-factor--no-media) { grid-template-columns: minmax(0, 460px) 1fr 120px; grid-template-areas: "media body num"; }
.ovx-np-factor--no-media { grid-template-columns: 120px minmax(0, 1fr); grid-template-areas: "num body" !important; }
.ovx-np-factor--no-media .ovx-np-factor__body { max-width: 780px; }
.ovx-np-factor__num {
	grid-area: num; align-self: start; padding-top: .3rem;
	font: 600 clamp(2.4rem, 4.5vw, 3.8rem)/1 var(--ovx-head); letter-spacing: -.04em;
	background: linear-gradient(135deg, var(--ovx-c-green), var(--ovx-c-blue));
	-webkit-background-clip: text; background-clip: text; color: transparent;
}
.ovx-np-factor__body { grid-area: body; }
.ovx-np-factor__title { font: 500 clamp(1.45rem, 2.4vw, 2.05rem)/1.15 var(--ovx-head); letter-spacing: -.02em; color: var(--ovx-c-blue-225); margin-bottom: .9rem; text-wrap: balance; }
.ovx-np-factor__text { color: var(--ovx-muted); line-height: 1.65; max-width: 62ch; }
.ovx-np-factor__media { grid-area: media; margin: 0; }
.ovx-np-factor__media img { width: 100%; height: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 24px; box-shadow: 0 30px 60px -30px rgba(13, 27, 46, .35); display: block; }

.ovx-np-checks { display: grid; gap: .85rem; margin-top: 1.5rem; }
.ovx-np-checks li { display: flex; gap: .8rem; align-items: flex-start; font: 400 1.02rem/1.5 var(--ovx-head); color: var(--ovx-muted); }
.ovx-np-checks strong { color: var(--ovx-ink); font-weight: 600; }
.ovx-np-checks .ovx-icon { flex: none; font-size: 22px; margin-top: .15rem; color: var(--ovx-c-green); }

/* ---------- FAQ y CTA llevan el degradado (misma clase de la portada) ---------- */

/* ---------- CTA ---------- */
.ovx-np-cta__inner { text-align: center; max-width: 860px; margin-inline: auto; }
.ovx-np-cta__title { font: 500 clamp(2.4rem, 6vw, 4.6rem)/1.02 var(--ovx-head); letter-spacing: -.04em; color: var(--ovx-c-blue-225); }
.ovx-np-cta .ovx-lead { margin-inline: auto; }
.ovx-np-cta .ovx-btn--xl { margin-top: 2.2rem; }
.ovx-np-cta__phone { margin-top: 1.6rem; color: var(--ovx-ink); font: 500 1.05rem/1.4 var(--ovx-head); }
.ovx-np-cta__phone a { color: var(--ovx-c-blue-225); font-weight: 600; text-decoration: underline; text-underline-offset: .2em; }
.ovx-np-cta__phone a:hover { color: #fff; }

/* ---------- Equipo ---------- */
.ovx-np-team__title { color: var(--ovx-c-blue-225); }
.ovx-np-doctors { display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(1.2rem, 3vw, 2.2rem); }
.ovx-np-doctor {
	background: rgba(255,255,255,.92); border: 1px solid rgba(255,255,255,.6);
	border-radius: var(--ovx-radius); padding: clamp(1.4rem, 2.5vw, 2.2rem); text-align: center;
	box-shadow: 0 30px 60px -30px rgba(13,27,46,.3);
	transition: transform .5s var(--ovx-ease), box-shadow .5s;
}
.ovx-np-doctor:hover { transform: translateY(-4px); box-shadow: 0 40px 80px -30px rgba(13,27,46,.35); }
.ovx-np-doctor__photo { margin: 0 auto 1.2rem; width: 100%; max-width: 230px; aspect-ratio: 1; border-radius: 24px; overflow: hidden; box-shadow: 0 20px 40px -20px rgba(13,27,46,.3); }
.ovx-np-doctor__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ovx-np-doctor__name { font: 600 1.15rem/1.2 var(--ovx-head); color: var(--ovx-ink); letter-spacing: -.01em; }
.ovx-np-doctor__role { margin-top: .4rem; font: 500 15px/1.3 var(--ovx-head); letter-spacing: .02em; color: var(--ovx-c-blue-225); }

/* ---------- Responsive ---------- */
@media (max-width: 900px) {
	.ovx-np-hero { padding-top: calc(100px + 1.5rem); }
	.ovx-np-hero__grid { grid-template-columns: 1fr; gap: 2.2rem; }
	.ovx-np-factor,
	.ovx-np-factor:nth-child(even):not(.ovx-np-factor--no-media),
	.ovx-np-factor--no-media { grid-template-columns: 1fr; grid-template-areas: "num" "body" "media"; gap: 1.4rem; }
	.ovx-np-factor__num { padding-top: 0; }
	.ovx-np-factor__media img { aspect-ratio: 16 / 10; }
	.ovx-np-doctors { grid-template-columns: repeat(2, 1fr); }
	.ovx-np-cta .ovx-btn--xl { width: 100%; }
}

@media (max-width: 1100px) and (min-width: 901px) {
	.ovx-np-doctors { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 560px) {
	.ovx-np-doctors { grid-template-columns: 1fr; }
	.ovx-np-doctor__photo { max-width: 260px; }
}
