.fs-section {
  --fs-image-height: 850px;
  width: 100%;
  padding: 0;
}

.fs-row {
  width: 1360px;
  margin: 0 auto;
  display: flex;
  gap: 30px;
  align-items: stretch;
}

.fs-col {
  position: relative;
}

.fs-col-text {
  flex: 0 0 60%;
  /* Altezza vincolata alla media */
  height: var(--fs-image-height);
}

.fs-col-media {
  flex: 0 0 38%;
}

/* Testo: non sticky via CSS, lo gestisce GSAP */
.fs-text-wrap {
  position: relative;
  /*max-width: 520px;*/
}

/* Immagine destra */
.fs-media-frame {
  height: var(--fs-image-height);
  width: 100%;
  overflow: hidden;
  border-radius: 5px;
}

.fs-media-img {
  width: 100%;
  height: 130% !important;
  object-fit: cover;
  object-position: center;
  display: block;
  will-change: transform;
}

/* Tipografia base */
.fs-eyebrow {
  color: var(--gold);
  margin-bottom: 14px;
  text-transform: uppercase;
}

.fs-title {
  color: var(--blue);
  margin: 0 0 22px 0;
}

.fs-desc {
  color: var(--grey);
  max-width: 70%;
}

.fs-cta {
  margin-top: 26px;
}

.fs-section.is-reversed .fs-row {
  flex-direction: row-reverse;
}

/* Mobile: pin disabilitato di fatto via JS (vedi script) */
@media (max-width: 840px) {
  .fs-row {
    flex-direction: column;
    gap: 36px;
    width: 100%;
    padding: 0;
  }
  .fs-col-text,
  .fs-col-media {
    flex: 1 1 auto;
  }
  .fs-col-text {
    height: auto !important;
  }
  .fs-media-frame {
    height: 550px !important;
  }
  .fs-media-img {
    height: 130% !important;
  }
  .fs-desc {
    max-width: 100%;
  }
  .fs-section.is-reversed .fs-row {
    flex-direction: column;
  }
}
