
/* =========================================
   DOLLY BEATRIZ — ARCHITECTURAL GALLERY
   Archivo: css/proyectos-galeria.css

   COMPOSICIÓN EDITORIAL ASIMÉTRICA
   ========================================= */


/* =========================================
   01. ENCUADRE GENERAL
   ========================================= */

@media (min-width: 1025px) {

  .inmersive-projects {
    min-height: 90vh;
  }

  .projects-header {
    margin-bottom: 38px;
  }

  .projects-header h2 {
    font-size: clamp(38px, 4.2vw, 62px);
  }

  .projects-intro {
    margin-top: 14px;
    font-size: 15px;
  }

  .projects-experience {
    display: grid;

    grid-template-columns:
      minmax(0, 1.65fr)
      minmax(260px, 0.85fr);

    align-items: center;

    column-gap: clamp(28px, 4vw, 72px);

    min-height: 530px;
  }


  /* =========================================
     02. GALERÍA ASIMÉTRICA
     ========================================= */

  .projects-viewport {
    min-width: 0;
    padding-block: 12px;
  }

  .projects-track {
    align-items: center;
    gap: 20px;
    min-height: 500px;
    padding-block: 36px;
  }

  .project-card {
    flex-basis: clamp(220px, 25vw, 340px);

    aspect-ratio: 4 / 5;

    opacity: 0.58;

    transform: translateY(16px) scale(0.94);

    transition:
      flex-basis 850ms var(--projects-ease),
      opacity 850ms var(--projects-ease),
      transform 850ms var(--projects-ease),
      box-shadow 850ms var(--projects-ease);
  }

  /* Proyecto principal destacado */

  .project-card.is-active {
    flex-basis: clamp(300px, 34vw, 455px);

    opacity: 1;

    transform: translateY(0) scale(1);

    z-index: 2;
  }


  /* =========================================
     03. RITMO VISUAL DE LAS TARJETAS
     ========================================= */

  .project-card:nth-child(2n):not(.is-active) {
    transform: translateY(-18px) scale(0.92);
  }

  .project-card:nth-child(3n):not(.is-active) {
    transform: translateY(28px) scale(0.91);
  }

  .project-card:nth-child(5n):not(.is-active) {
    transform: translateY(-8px) scale(0.94);
  }


  /* =========================================
     04. INFORMACIÓN EDITORIAL INTEGRADA
     ========================================= */

  .project-panel {
    display: flex;
    flex-direction: column;
    justify-content: center;

    max-width: none;
    min-width: 0;
    min-height: 0;

    padding: 28px 0 28px 26px;

    border-top: none;
    border-left: 1px solid
      rgb(51 37 31 / 16%);
  }

  .project-panel-count {
    margin-bottom: 30px;

    color: var(--marron);
    font-size: 11px;
    letter-spacing: 0.25em;
  }

  .project-panel-title {
    font-size: clamp(34px, 3.2vw, 56px);
    line-height: 1.08;
    letter-spacing: -0.035em;

    margin-bottom: 20px;
  }

  .project-panel-location {
    margin-bottom: 22px;
  }

  .project-panel-summary {
    max-width: 340px;

    font-size: 15px;
    line-height: 1.85;
  }

  .project-panel-link {
    margin-top: 32px;
  }

}


/* =========================================
   05. AMBIENTE Y PROFUNDIDAD
   ========================================= */

.project-card.is-active {
  box-shadow:
    0 24px 65px rgb(51 37 31 / 12%),
    0 4px 15px rgb(51 37 31 / 6%);
}

.project-card.is-active::after {
  border-color: rgb(215 194 161 / 80%);
}

.project-card .project-image.is-visible {
  transform: scale(1.03);
}

.project-card.is-active .project-image.is-visible {
  transform: scale(1.1);
}


/* =========================================
   06. TABLETS Y CELULARES
   ========================================= */

@media (max-width: 1024px) {

  .projects-experience {
    display: flex;
    flex-direction: column;
    gap: 12px;
  }

  .projects-viewport {
    width: 100%;
  }

  .projects-track {
    align-items: center;
  }

  .project-panel {
    width: 100%;
    max-width: 700px;

    min-height: 0;
    padding-top: 24px;
  }

  .project-card.is-active {
    opacity: 1;
    transform: scale(1);
  }
}


/* =========================================
   07. ACCESIBILIDAD
   ========================================= */

@media (prefers-reduced-motion: reduce) {

  .project-card,
  .project-card.is-active,
  .project-card:nth-child(n) {
    transition: none !important;
    transform: none !important;
  }

  .project-image {
    transition: none !important;
  }
}
