/* ---------- Menu ---------- */

body.menu-open .page-content {
  opacity: 0;
  transform: translateY(-12px);
  pointer-events: none;
  transition: opacity .25s ease, transform .25s ease;
}

/* opcional: también desactivar el scroll */
body.menu-open {
  overflow: hidden;
}

/* ---------- Layout base ---------- */
.page-content {
  min-height: 100vh;
  padding-top: 230px;
  padding-left: 80px;
  padding-right: 80px;
}

.projects {
  display: grid;
  grid-template-columns: 420px 1fr;
  gap: 64px;
  align-items: start;
}



/* ---------- Columna derecha (header + lista) ---------- */
.page-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
}

.page-title {
  margin: 0;
  font-family: "Host Grotesk", sans-serif;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: 3.2rem;
  color: var(--text);
  text-align: end;
}

.elementes-number {
  margin: 0;
  font-family: "Barlow Condensed", sans-serif;
  letter-spacing: .12em;
  color: var(--muted-2);
  font-size: 1.6rem;
}

/* ---------- Lista ---------- */
.projects-right ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 18px;
}

.projects-right a {
  text-decoration: none;
  color: inherit;
}

.projects-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 10px 0;
}

.projects-row-left {
  display: flex;
  align-items: center;
  gap: 14px;
}

.project-selected-wrapper {
  width: 24px;
  overflow: hidden;
}

.projects-selected {
  margin: 0;
  font-family: "Host Grotesk", sans-serif;
  color: var(--text);
  opacity: .9;
  transform: translateX(-120%);
  transition: transform .5s cubic-bezier(.19, 1, .22, 1);
}

.project-title {
  margin: 0;
  font-family: "Host Grotesk", sans-serif;
  font-size: 1.8rem;
  letter-spacing: .08em;
  color: var(--text);
  opacity: .95;
}

.projects-category {
  margin: 0;
  font-family: "Barlow Condensed", sans-serif;
  letter-spacing: .14em;
  color: var(--muted-2);
  font-size: 1.1rem;
}

/* Hover: aparece la flecha */
.projects-row:hover .projects-selected {
  transform: translateX(0);
}

/*Separador */
.work-line {
  width: 100%;
  height: 1px;
  margin: 18px 0 28px;
}

.work-line line {
  stroke: var(--line-soft);
  stroke-width: 1;
  stroke-dasharray: 50;
  stroke-dashoffset: 25;
}

.anim-line line {
  stroke-dasharray: 100;
  stroke-dashoffset: 100;
}

@keyframes drawLine {
  to {
    stroke-dashoffset: 0;
  }
}

.anim.is-in.anim-line line {
  animation: drawLine .9s cubic-bezier(.19, 1, .22, 1) forwards;
}

/* ---------- Animación de entrada tipo “inicio” ---------- */
.work-enter {
  opacity: 0;
  transform: translateY(18px);
}

.work-enter.is-in {
  opacity: 1;
  transform: translateY(0);
  transition: opacity .7s ease, transform .9s cubic-bezier(.19, 1, .22, 1);
}

/* Stagger de filas */
.projects-right li {
  opacity: 0;
  transform: translateY(14px);
}

.work-enter.is-in .projects-right li {
  opacity: 1;
  transform: translateY(0);
  transition: opacity .5s ease, transform .75s cubic-bezier(.19, 1, .22, 1);
}

.work-enter.is-in .projects-right li:nth-child(1) {
  transition-delay: .12s;
}

.work-enter.is-in .projects-right li:nth-child(2) {
  transition-delay: .20s;
}

.work-enter.is-in .projects-right li:nth-child(3) {
  transition-delay: .28s;
}

.work-enter.is-in .projects-right li:nth-child(4) {
  transition-delay: .36s;
}

.work-enter.is-in .projects-right li:nth-child(5) {
  transition-delay: .44s;
}

/* Responsive */
@media (max-width: 992px) {
  .page-content {
    padding: 110px 26px;
  }

  .projects {
    grid-template-columns: 1fr;
    gap: 26px;
  }

  .projects-left-inside {
    position: relative;
    top: auto;
    height: 260px;
  }

  .page-title {
    font-size: 2.4rem;
  }
}