
* {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  min-height: 100%;
}

body {
  background: #fff;
  color: #171717;
  font-family: "Helvetica Neue";
  font-weight: 300;
}

.site {
  min-height: 100vh;
  padding: 22px 20px 40px;
  overflow-x: hidden;
}

/* CABECERA */

.brand {
  line-height: .95;
}

.brand-title {
  font-size: clamp(31px, 2.15vw, 42px);
  letter-spacing: -3px;
  font-weight: 200;
}

.brand-subtitle {
  margin-top: 6px;
  font-size: clamp(19px, 1.35vw, 27px);
  letter-spacing: -1.3px;
}

/* WORK */

.work {
  margin-top: 78px;
}

.work-header {
  margin-bottom: 7px;
}

/* TÍTULOS MUSIC VIDEOS / FASHION */

.section-headings {
  display: grid;
  grid-template-columns: 124px 124px 124px 124px;
  column-gap: 13px;
  justify-content: start;
  margin-left: -20px;
}

.music-heading {
  grid-column: 1 / span 3;
}

.fashion-heading {
  grid-column: 4;
}

/* TEXTOS */

.eyebrow {
  font-size: 17px;
  letter-spacing: -1px;
  margin-bottom: 1px;
}

h1,
h2 {
  margin: 0;
  font-family: "Helvetica Neue";
  font-weight: 200;
  letter-spacing: -2px;
  line-height: .95;
}

h1,
h2 {
  font-size: clamp(30px, 2.25vw, 44px);
}

/* ESTRUCTURA PRINCIPAL */

.projects-layout {
  display: grid;
  grid-template-columns: 124px 124px 124px 124px;
  column-gap: 13px;
  align-items: start;
  justify-content: start;
  margin-left: -20px;
}

.project-column {
  width: 124px;
}

.project {
  display: block;
  width: 124px;
  color: inherit;
  text-decoration: none;
  min-width: 0;
  margin-bottom: 30px;
}

.project img {
  display: block;
  width: 124px;
  height: auto;
  object-fit: contain;
  margin: 0;
  transition: opacity .18s ease, transform .18s ease;
}

.project span {
  display: block;
  margin-top: 16px;
  color: #9b9b9b;
  font-size: 15px;
  line-height: 1.08;
  letter-spacing: -.65px;
}

.project:hover img {
  opacity: .72;
}

.project:hover span {
  color: #555;
}

/* FASHION */

.fashion-column {
  width: 124px;
}

.fashion-title {
  margin-bottom: 7px;
}

.fashion-column .project {
  margin-bottom: 30px;
}

/* TÍTULO FASHION MÓVIL */

.mobile-fashion-title {
  display: none;
}

/* MINIATURAS INDIVIDUALES */

.thumb-guim img {
  transform: scale(1);
}

.thumb-ouineta img {
  transform: scale(1);
}

.thumb-belial img {
  transform: scale(1);
}

.thumb-judeline img {
  transform: scale(1);
}

.thumb-mainline img {
  transform: scale(1);
}

.thumb-ciutat img {
  transform: scale(1);
}

.thumb-ciutat-bernarda img {
  transform: scale(1);
}

.thumb-javier img {
  transform: scale(1);
}

.thumb-sara img {
  transform: scale(1);
}

/* VÍDEOS DE LOS PROYECTOS */

.project-videos {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 20px;
  width: 100%;
}

.project-video {
  flex: 0 0 auto;
}

/* MAINLINE GIFS */

.mainline-gifs {
  display: grid;
  grid-template-columns: repeat(3, 180px);
  justify-content: center;
  gap: 20px 15px;
  width: 100%;
  margin: 30px auto 0;
}

.mainline-gifs video {
  display: block;
  width: 180px !important;
  height: auto !important;
}


/* ========================================= */
/* RESPONSIVE — MÓVIL */
/* ========================================= */

@media (max-width: 768px) {

  /* ESPACIADO GENERAL */

  .site {
    padding: 18px 16px 30px;
  }

  .work {
    margin-top: 62px;
  }


  /* CABECERA */

  .brand-title {
    font-size: 31px;
    letter-spacing: -3px;
  }

  .brand-subtitle {
    margin-top: 6px;
    font-size: 19px;
    letter-spacing: -1.3px;
  }


  /* TÍTULO MUSIC VIDEOS */

  .section-headings {
    display: block;
    margin-left: 0;
  }

  .music-heading {
    display: block;
  }

  /* OCULTAMOS FASHION DE ARRIBA */

  .section-headings .fashion-heading {
    display: none;
  }


  /* TEXTOS */

  .eyebrow {
    font-size: 17px;
    letter-spacing: -1px;
    margin-bottom: 1px;
  }

  h1,
  h2 {
    font-size: 30px;
    letter-spacing: -2px;
    line-height: .95;
  }


  /* ========================================= */
  /* PROYECTOS */
  /* ========================================= */

  .projects-layout {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin-left: 0;
  }

  .project-column,
  .fashion-column {
    display: contents;
  }

  .project {
    width: 100%;
    margin-bottom: 30px;
    flex: 0 0 auto;
  }

  .project img {
    width: 100%;
    height: auto;
  }

  .project span {
    margin-top: 9px;
    font-size: 13px;
    line-height: 1.08;
    letter-spacing: -.65px;
  }


  /* ========================================= */
  /* ORDEN DE PROYECTOS EN MÓVIL */
  /* ========================================= */

  .mobile-order-1 {
    order: 1;
  }

  .mobile-order-2 {
    order: 2;
  }

  .mobile-order-3 {
    order: 3;
  }

  .mobile-order-4 {
    order: 4;
  }

  .mobile-order-5 {
    order: 5;
  }

  .mobile-order-6 {
    order: 6;
  }

  .mobile-order-7 {
    order: 7;
  }


  /* ========================================= */
  /* VÍDEOS DE CADA PROYECTO EN MÓVIL */
  /* ========================================= */

  .project-videos {
    flex-direction: column;
    align-items: center;
    gap: 20px;
  }

  .project-video {
    width: 100%;
  }


  /* ========================================= */
  /* PÁGINAS DE PROYECTO — VÍDEOS EN COLUMNA */
  /* ========================================= */

  .project-page > div[style*="grid-template-columns"] {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 0px !important;
    width: 100% !important;
    margin-left: 0 !important;
  }

  .project-page > div[style*="grid-template-columns"] video {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    transform: none !important;
  }


  /* ========================================= */
  /* FASHION */
  /* ========================================= */

  .mobile-fashion-title {
    display: block;
    order: 8;
    margin-top: 30px;
    margin-bottom: 12px;
  }

  .thumb-javier {
    order: 9;
  }

  .thumb-sara {
    order: 10;
  }

}

