/* ==========================================================================
   Intro Pagina — blocco page-intro (mobile first, valori Figma × --figma-px)
   ========================================================================== */

.page-intro {
  display: flex;
  flex-direction: column;
}

.page-intro .container {
  display: flex;
  flex-direction: column;
}

.page-intro__head {
  display: flex;
  flex-direction: column;
  gap: 15px;
  padding-block: 0;
}

.page-intro--text-only .page-intro__head {
  padding-bottom: 0;
}

.page-intro__title {
  font-family: var(--font-heading);
  font-size: min(78px, 11.143vw);
  font-size: calc(var(--figma-px) * 78);
  font-weight: 700;
  line-height: calc(var(--figma-px) * 70.2);
  text-transform: uppercase;
  color: var(--color-nolves-blue);
}

.page-intro__description {
  font-family: var(--font-body);
  font-size: var(--fs-32-min);
  font-size: var(--fs-32);
  font-weight: 400;
  line-height: var(--lh-32-body);
  color: var(--color-oxford-blue);
}

.page-intro__media {
  margin-top: 25px;
  margin-bottom: 0;
  margin-inline: 0;
}

.page-intro__image {
  display: block;
  width: 100%;
  height: calc(var(--figma-px) * 776);
  border-top-left-radius: calc(var(--figma-px) * 30.44);
  border-top-right-radius: calc(var(--figma-px) * 30.44);
  object-fit: cover;
  background-color: var(--color-border-gray);
}

.page-intro__image--desktop {
  display: none;
}

/* Desktop — min-width 768px
   -------------------------------------------------------------------------- */

@media (min-width: 768px) {
  .page-intro .container {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }

  .page-intro__head {
    gap: 24px;
    padding-block: 0;
    padding-inline: 0;
  }

  .page-intro__title,
  .page-intro__description {
    max-width: 947px;
  }

  .page-intro__title {
    font-size: 48px;
    line-height: 43.2px;
  }

  .page-intro__description {
    font-size: var(--fs-body-desktop);
    line-height: var(--lh-body-desktop);
  }

  .page-intro__media {
    align-self: stretch;
    display: flex;
    justify-content: center;
    margin-top: 35px;
    padding-inline: 0;
  }

  .page-intro__image {
    width: 100%;
    max-width: none;
    height: 712px;
    border-radius: 0;
  }

  .page-intro__image--mobile {
    display: none;
  }

  .page-intro__image--desktop {
    display: block;
  }
}
