/* ============================================================

   SECCIÓN ESTUDIO + POPUP SLIDER

   ============================================================ */



/* ---------- Sección ---------- */

.estudio {

  background: #fff;

  padding: 72px 0px;

  border-bottom: 1px solid #eee;

}



.estudio__inner {

  display: flex;

  align-items: center;

  gap: 80px;

  max-width: 90%;

  margin: 0 auto;

}



.estudio__left {

  flex-shrink: 0;

  min-width: 220px;

}



.estudio__titulo {

font-family: 'Geist-SemiBold';

    font-size: 50px;

    color: #1a1a1a;

    margin-bottom: 20px;

    line-height: 1.15;

}



.estudio__btn {

    display: inline-block;

    padding: 5px 25px;

    background: #971921;

    color: #fff;

    font-family: 'Geist-Light';

    font-size: 20px;

    border: none;

    border-radius: 50px;

    cursor: pointer;

    transition: transform 0.25s ease, box-shadow 0.25s ease;

}

.estudio__btn:hover {

  transform: scale(1.06);

  box-shadow: 0 6px 20px rgba(139,32,32,0.3);

}





.estudio__left  { order: 0;    width: 50%; }

.estudio__right { order: 2;    width: 50%; }



.estudio__desc {

  font-family: 'Geist-Light';

    font-size: 20px;

    line-height: 1.5;

  color: #000;

  max-width: 520px;

}



/* ---------- Overlay ---------- */

.ep-overlay {

  position: fixed;

  inset: 0;

  background: rgb(0 0 0 / 94%);

  backdrop-filter: blur(4px);

  z-index: 2000;

  display: flex;

  align-items: center;

  justify-content: center;

  opacity: 0;

  pointer-events: none;

  transition: opacity 0.3s ease;

}

.ep-overlay.is-open {

  opacity: 1;

  pointer-events: all;

}



/* ---------- Modal ---------- */

.ep-modal {

  background: #F6F6F6;

  border-radius: 20px;

  width: 80%;

  max-width: calc(100vw - 32px);

  max-height: 90vh;

  overflow: hidden;

  display: flex;

  flex-direction: column;

  position: relative;

  transform: translateY(24px) scale(0.97);

  transition: transform 0.35s cubic-bezier(0.34,1.3,0.64,1), opacity 0.3s ease;

  opacity: 0;

}

.ep-overlay.is-open .ep-modal {

  transform: translateY(0) scale(1);

  opacity: 1;

}



/* Cerrar */

.ep-close {

  position: absolute;

  top: 14px; right: 14px;

  width: 32px; height: 32px;

  background: none;

  border: none;

  cursor: pointer;

  color: #888;

  display: flex; align-items: center; justify-content: center;

  border-radius: 50%;

  transition: background 0.2s, color 0.2s;

  z-index: 10;

}

.ep-close:hover { background: rgba(0,0,0,0.06); color: #222; }

.ep-close svg { width: 18px; height: 18px; }



/* Header */

.ep-header {

  display: flex;

  align-items: flex-start;

  justify-content: space-between;

  padding: 32px 32px 16px;

}

.ep-header__title {

font-family: 'Geist-Regular';
    font-size: 120px;
    font-weight: 200;
    color: #971921;
    line-height: 1;
}

.ep-header__logo {

  width: 200px;

  height: 200px;

  flex-shrink: 0;

}

.ep-header__logo img { width: 100%; height: 100%; object-fit: contain; }



/* Slides wrapper */

.ep-slides {

  flex: 1;

  overflow: hidden;

  position: relative;

  padding: 0 20px;

}



/* Slide individual */

.ep-slide {

  display: none;

  animation: epFadeIn 0.4s ease;

}

.ep-slide.active { display: block; }



@keyframes epFadeIn {

  from { opacity: 0; transform: translateX(20px); }

  to   { opacity: 1; transform: translateX(0); }

}



.ep-slide__card {

  background: #fff;

  border-radius: 25px;

  padding: 24px 24px 20px;

  border: 1px solid #e8e8e8;

}



.ep-slide__top {

  display: flex;

  align-items: start;

  justify-content: space-between;

  margin-bottom: 18px;

}



.ep-slide__label {
font-family: 'Geist-Regular';
    font-size: 35px;
    line-height: 1;
    font-weight: 100;
    color: #971921;
}



.ep-slide__year {
font-family: 'Geist-Medium';
    font-size: 160px;
    font-weight: 400;
    color: #e8e8e8;
    line-height: 1;
    letter-spacing: -2px;
}



.ep-slide__card p {
    font-family: 'Geist-Regular';
    font-size: 20px;
    line-height: 1;
    color: #000000;
    margin-bottom: 12px;
    font-weight: 100;
}

.ep-slide__card p:last-child { margin-bottom: 0; }



/* Footer: dots + flecha */

.ep-footer {

  display: flex;

  align-items: center;

  justify-content: space-between;

  padding: 18px 28px 24px;

}



.ep-dots {

  display: flex;

  gap: 7px;

}

.ep-dot {

  width: 8px; height: 8px;

  border-radius: 50%;

  background: #ccc;

  cursor: pointer;

  transition: background 0.25s, transform 0.25s;

}

.ep-dot.active {

  background: #971921;

  transform: scale(1.2);

}



.ep-nav-btns {

  display: flex;

  align-items: center;

  gap: 8px;

}

.ep-next,
.ep-prev {

  background: none;

  border: none;

  cursor: pointer;

  color: #D9D9D9;

  display: flex; align-items: center; justify-content: center;

  transition: transform 0.25s;

}

.ep-next:hover,
.ep-prev:hover { transform: scale(1.15); }

.ep-next svg,
.ep-prev svg { width: 32px; height: 32px; }



/* En el último slide ocultar flecha siguiente */

.ep-next.is-last { opacity: 0.25; pointer-events: none; }

/* En el primer slide ocultar flecha anterior */

.ep-prev.is-first { opacity: 0.25; pointer-events: none; }



/* ---- Responsive ---- */

@media (max-width: 768px) {
.ep-header__logo {
    width: 50px;
    height: 50px;
    flex-shrink: 0;
}

  .estudio { padding: 52px 20px; }

  .estudio__inner {

    flex-direction: column;

    gap: 28px;

    align-items: flex-start;

  }

  .estudio__inner::after { display: none; }

  .ep-header__title { font-size: 1.9rem; }

  .ep-slide__year   { font-size: 40px; }

.ep-slide__label {
    font-size: 20px;
}
.estudio__left  { order: 0;    width: 100%; }

.estudio__right { order: 2;    width: 100%; }

}