/* ── EQUIPO PAGE ── */
.eq-page { font-family: "Jost","Segoe UI",Arial,sans-serif; color: var(--txt); background: var(--blanco); }

.eq-hero {
  background: linear-gradient(to bottom, #0d0608 0%, #1a0a0e 60%, #3a0f1a 100%);
  margin-top: 67px; padding: 8rem 3rem 5rem;
  text-align: center; position: relative;
}
.eq-hero::after {
  content: ''; position: absolute; bottom: 0; left: 50%;
  transform: translateX(-50%); width: 48px; height: 2px; background: var(--gold);
}
.eq-over {
  font-size: .6rem; letter-spacing: .3em; text-transform: uppercase;
  color: var(--gold2); display: flex; align-items: center;
  justify-content: center; gap: .7rem; margin-bottom: 1rem;
}
.eq-over::before, .eq-over::after { content: ''; width: 22px; height: 1px; background: var(--gold2); }
.eq-h1 {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(2rem, 4vw, 3rem); font-weight: 300;
  color: #fff; line-height: 1.1; margin-bottom: 1rem;
}
.eq-h1 em { font-style: italic; color: var(--gold2); }
.eq-hero-sub {
  font-size: .85rem; color: rgba(255,255,255,.4);
  font-weight: 300; max-width: 480px; margin: 0 auto; line-height: 1.9;
}

/* ── WRAPPER Y LABEL ── */
.eq-section-wrap { max-width: 1100px; margin: 0 auto; }
.eq-section-label {
  font-size: .6rem; letter-spacing: .3em; text-transform: uppercase;
  color: var(--gold); display: flex; align-items: center; gap: .7rem; margin-bottom: 2.5rem;
}
.eq-section-label::before { content: ''; width: 24px; height: 1px; background: var(--gold); }

/* ══ DIRECTORES ══ */
.eq-directors-section {
  background: linear-gradient(to bottom, #3a0f1a 0%, #6d1422 10%, var(--crema) 35%);
  padding: 5rem 3rem 6rem;
}
.eq-directors-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }

/* ══ EQUIPO TÉCNICO ══ */
.eq-team-section { background: var(--blanco); padding: 5rem 3rem 6rem; }
.eq-team-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem; }

/* ══ TARJETAS — BASE COMPARTIDA ══ */
.eq-director-card,
.eq-team-card {
  display: block !important;
  position: relative !important;
  overflow: hidden !important;
  cursor: pointer !important;
  border-top: 2px solid var(--g);
  background: #111;
}
.eq-director-card { height: 620px; }
.eq-team-card    { height: 380px; }

/* Imagen */
.eq-director-card > img,
.eq-team-card > img {
  display: block !important;
  position: absolute !important;
  top: 0 !important; left: 0 !important;
  width: 100% !important; height: 100% !important;
  object-fit: cover !important;
  object-position: center top !important;
  z-index: 1 !important;
  margin: 0 !important;
  transition: transform .55s ease;
}
.eq-director-card:hover > img,
.eq-director-card.active > img,
.eq-team-card:hover > img,
.eq-team-card.active > img { transform: scale(1.04); }

/* ── FRANJA PREVIEW (nombre + cargo siempre visible) ── */
.eq-ov-preview {
  position: absolute !important;
  bottom: 0; left: 0; right: 0;
  z-index: 3;
  background: linear-gradient(to top, rgba(10,3,6,0.88) 0%, rgba(10,3,6,0.0) 100%);
  padding: 2.5rem 1.5rem 1.2rem;
  pointer-events: none;
  transition: opacity .3s ease, transform .3s ease;
  z-index: 5;
}
.eq-ov-preview .prev-name {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 1.2rem; font-weight: 600; color: #fff;
  display: block; margin-bottom: .25rem;
  text-shadow: 0 2px 8px rgba(0,0,0,.6);
}
.eq-ov-preview .prev-cargo {
  font-size: .52rem; letter-spacing: .2em; text-transform: uppercase;
  color: var(--gold); display: block;
}
/* Se oculta al activar */
.eq-director-card.active .eq-ov-preview,
.eq-team-card.active .eq-ov-preview {
  opacity: 0;
  transform: translateY(6px);
  pointer-events: none;
}

/* Hint */
.eq-ov-hint {
  position: absolute !important;
  top: 1rem !important; right: 1rem !important;
  z-index: 4 !important;
  font-size: .52rem; letter-spacing: .14em; text-transform: uppercase;
  color: rgba(196,146,42,.85); background: rgba(0,0,0,.42);
  padding: 5px 10px; display: flex; align-items: center; gap: 5px;
  pointer-events: none;
  transition: opacity .3s;
}
.eq-director-card.active .eq-ov-hint,
.eq-team-card.active .eq-ov-hint { opacity: 0; }

/* Overlay info */
.eq-ov-info {
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  padding: 1.8rem !important;
  background: rgba(10,3,6,0) !important;
  transition: background .45s ease !important;
  pointer-events: none !important;
}
.eq-director-card.active .eq-ov-info,
.eq-team-card.active .eq-ov-info {
  background: rgba(10,3,6,0.90) !important;
}

/* El nombre dentro del overlay — oculto, lo muestra la preview */
.eq-ov-name { display: none; }

/* Links recuperan eventos */
.eq-ov-contact a { pointer-events: all !important; }

/* Elementos ocultos hasta .active */
.eq-ov-cargo {
  font-size: .54rem; letter-spacing: .2em; text-transform: uppercase;
  color: var(--gold); display: block; margin-bottom: .7rem;
  opacity: 0; transform: translateY(8px);
  transition: transform .3s ease .1s, opacity .3s ease .1s;
}
.eq-ov-badge {
  font-size: .5rem; letter-spacing: .12em; text-transform: uppercase;
  background: rgba(139,26,43,.55); color: var(--gold2);
  padding: 4px 12px; border-left: 2px solid var(--g);
  display: inline-block; margin-bottom: .9rem; width: fit-content;
  opacity: 0; transform: translateY(8px);
  transition: transform .3s ease .15s, opacity .3s ease .15s;
}
.eq-ov-sep {
  width: 22px; height: 1px; background: var(--gold); margin-bottom: .9rem;
  transform: scaleX(0); transform-origin: left; opacity: 0;
  transition: transform .3s ease .18s, opacity .3s ease .18s;
}
.eq-ov-desc {
  font-size: .8rem; color: rgba(255,255,255,.7);
  font-weight: 300; line-height: 1.75; margin-bottom: 1rem;
  opacity: 0; transform: translateY(6px);
  transition: transform .3s ease .22s, opacity .3s ease .22s;
}
.eq-ov-contact {
  display: flex; flex-direction: column; gap: .4rem;
  border-top: 1px solid rgba(255,255,255,.12); padding-top: .9rem;
  opacity: 0; transform: translateY(6px);
  transition: transform .3s ease .26s, opacity .3s ease .26s;
  pointer-events: none;
}

/* Estado activo */
.eq-director-card.active .eq-ov-cargo,
.eq-team-card.active .eq-ov-cargo { opacity: 1; transform: translateY(0); }
.eq-director-card.active .eq-ov-badge { opacity: 1; transform: translateY(0); }
.eq-director-card.active .eq-ov-sep,
.eq-team-card.active .eq-ov-sep { opacity: 1; transform: scaleX(1); }
.eq-director-card.active .eq-ov-desc,
.eq-team-card.active .eq-ov-desc { opacity: 1; transform: translateY(0); }
.eq-director-card.active .eq-ov-contact,
.eq-team-card.active .eq-ov-contact { opacity: 1; transform: translateY(0);pointer-events: auto; }

.eq-ov-contact a {
  display: flex; align-items: center; gap: .55rem;
  font-size: .76rem; color: rgba(255,255,255,.6);
  text-decoration: none; font-weight: 300;
  transition: color .2s; width: fit-content;
}
.eq-ov-contact a:hover { color: var(--gold2); }
.eq-ov-contact a i { color: var(--gold); font-size: .7rem; width: 14px; }

/* ── FORM + CTA ── */
.eq-form-section { background: var(--crema); padding: 6rem 3rem; }
.eq-cta {
  background: linear-gradient(to bottom, #1a0a0e, #0d0608);
  padding: 4rem 3rem; text-align: center;
}
.eq-cta p {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 1.6rem; font-weight: 300; color: rgba(255,255,255,.65); margin-bottom: 1.5rem;
}
.eq-cta p em { font-style: italic; color: var(--gold2); }
.eq-cta-sep { width: 36px; height: 1px; background: var(--gold); margin: 0 auto 1.5rem; }

/* ══ RESPONSIVE ══ */
@media (max-width: 1024px) {
  .eq-team-grid { grid-template-columns: repeat(2, 1fr); }
  .eq-team-card { height: 340px; }
}
@media (max-width: 768px) {
  .eq-hero { padding: 6rem 1.5rem 4rem; }
  .eq-directors-section { padding: 4rem 1.5rem 5rem; }
  .eq-team-section { padding: 4rem 1.5rem; }
  .eq-form-section { padding: 4rem 1.5rem; }
  .eq-cta { padding: 3rem 1.5rem; }
  .eq-directors-grid { grid-template-columns: 1fr; gap: 1.2rem; }
  .eq-director-card { height: 70vh; width: 95%;margin: auto; }
  .eq-team-grid { grid-template-columns: 1fr 1fr; gap: 1rem; }
  .eq-team-card { height: 40vh; }
  .eq-ov-desc { font-size: .76rem; }
  .eq-ov-preview .prev-name { font-size: 1.1rem; }
}
@media (max-width: 480px) {
  .eq-director-card { height: 500px; }
  .eq-ov-preview .prev-name { font-size: 1rem; }
}