/* by osmy — Lo que también construyo.
   Requiere tokens.css.
*/

body.os-site .os-builds {
  background: var(--os-color-surface-alt);
}

/* ---------- INTRO ---------- */

body.os-site .os-builds__intro {
  max-width: var(--os-intro-max);

  margin: 0 auto var(--os-space-8);

  text-align: center;
}

body.os-site .os-builds__intro h2 {
  margin: 0 0 var(--os-space-5);
}

body.os-site .os-builds__lead {
  max-width: 54ch;

  margin: 0 auto;

  color: var(--os-color-text-secondary);

  font-size: var(--os-type-lead);
  line-height: 1.55;
}

/* ---------- GRID ---------- */

body.os-site .os-builds__grid {
  display: grid;

  grid-template-columns: repeat(2, minmax(0, 1fr));

  gap: 1px;

  overflow: hidden;

  border: 1px solid var(--os-color-border);
  border-radius: var(--os-radius-lg);

  background: var(--os-color-border);
}

/* ---------- CARD ---------- */

body.os-site .os-builds__card {
  display: flex;
  flex-direction: column;

  min-width: 0;

  padding: clamp(
    var(--os-space-6),
    4vw,
    var(--os-space-7)
  );

  background: var(--os-paper);
}

body.os-site .os-builds__card--itsom {
  background: var(--os-paper-2);
}

/* ---------- LOGO ---------- */

body.os-site .os-builds__logo-wrap {
  display: flex;
  align-items: center;

  min-height: 3rem;

  margin-bottom: var(--os-space-6);
}

body.os-site .os-builds__logo {
  display: block;

  width: auto;
  max-width: 10rem;
  max-height: 2.5rem;

  object-fit: contain;
  object-position: left center;
}

/* ---------- COPY ---------- */

body.os-site .os-builds__copy {
  margin-bottom: var(--os-space-6);
}

body.os-site .os-builds__copy h3 {
  margin: 0 0 var(--os-space-3);
}

body.os-site .os-builds__copy p {
  max-width: 44ch;

  margin: 0;

  color: var(--os-color-text-secondary);

  line-height: 1.6;
}

/* ---------- IMAGE ---------- */

body.os-site .os-builds__media {
  position: relative;

  width: 100%;

  margin: 0 0 var(--os-space-6);

  overflow: hidden;

  border-radius: var(--os-radius-md);

  background: var(--os-color-surface-alt);
}

body.os-site .os-builds__image {
  display: block;

  width: 100%;
  height: auto;

  aspect-ratio: 16 / 10;

  object-fit: cover;
  object-position: center;
}

/* ---------- LINK ---------- */

body.os-site .os-builds__link {
  display: inline-flex;
  align-items: center;

  align-self: flex-start;

  gap: var(--os-space-2);

  margin-top: auto;

  color: var(--os-ink);

  font-family: var(--os-font-body);
  font-size: var(--os-type-button);
  font-weight: var(--os-weight-bold);
  line-height: 1.3;

  letter-spacing: 0.07em;
  text-decoration: none;
  text-transform: uppercase;
}

body.os-site .os-builds__link span {
  display: inline-block;

  transition:
    transform var(--os-motion-fast) var(--os-ease);
}

body.os-site .os-builds__link:hover {
  color: var(--os-wine);
}

body.os-site .os-builds__link:hover span {
  transform: translateX(0.2rem);
}

/* ---------- TABLET / MOBILE ---------- */

@media (max-width: 820px) {

  body.os-site .os-builds__grid {
    grid-template-columns: 1fr;
  }

}

@media (max-width: 640px) {

  body.os-site .os-builds__intro {
    margin-bottom: var(--os-space-7);
  }

  body.os-site .os-builds__card {
    padding: var(--os-space-6);
  }

  body.os-site .os-builds__logo-wrap {
    margin-bottom: var(--os-space-5);
  }

  body.os-site .os-builds__copy {
    margin-bottom: var(--os-space-5);
  }

  body.os-site .os-builds__media {
    margin-bottom: var(--os-space-5);
  }

}