/* Dense editorial pages: reusable layout for long institutional text. */
.atlante-dense-page {
  background: var(--paper, #f3f3f1);
  color: #0b1117;
}

.atlante-dense-section {
  padding: 0;
  background: #184042;
  color: #fcfcfc;
}

.atlante-dense-section--paper {
  background: #f3f3f1;
  color: #0b1117;
}

.atlante-dense-section__inner {
  width: min(calc(100% - 56px), 1320px);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(28px, 5vw, 76px);
  align-items: center;
  padding: clamp(44px, 6vw, 86px) 0;
}

.atlante-dense-section--text .atlante-dense-section__inner {
  grid-template-columns: 1fr;
}

.atlante-dense-media {
  min-width: 0;
  background: #000;
  overflow: hidden;
}

.atlante-dense-media img {
  display: block;
  width: 100%;
  height: min(64svh, 620px);
  object-fit: cover;
}

.atlante-dense-title {
  margin: 0 0 18px;
  font-family: "Libre Bodoni", serif;
  font-size: clamp(32px, 3.7vw, 62px);
  line-height: .98;
  letter-spacing: -.02em;
  font-weight: 700;
  text-transform: uppercase;
  color: #b3f3e8;
  text-wrap: balance;
}

.atlante-dense-section--paper .atlante-dense-title {
  color: #0b1117;
}

.atlante-dense-copy {
  margin: 0;
  font-family: "IBM Plex Serif", serif;
  font-size: clamp(15px, 1.02vw, 19px);
  line-height: 1.5;
  color: rgba(255, 255, 255, .9);
  white-space: pre-line;
}

.atlante-dense-section--paper .atlante-dense-copy {
  color: rgba(11, 17, 23, .86);
}

.atlante-dense-copy + .atlante-dense-copy {
  margin-top: 14px;
}

.atlante-dense-section--text .atlante-dense-copy {
  column-count: 2;
  column-gap: 2cm;
}

.atlante-dense-cta {
  margin-top: 28px;
  display: flex;
  justify-content: center;
}

.atlante-dense-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 22px;
  border: 1px solid #0a1520;
  background: #0a1520;
  color: #fcfcfc;
  font-family: "IBM Plex Sans", sans-serif;
  font-size: 14px;
  line-height: 1;
  letter-spacing: .02em;
  font-weight: 700;
  text-decoration: none;
}

@media (max-width: 900px) {
  .atlante-dense-section__inner {
    grid-template-columns: 1fr;
    width: min(calc(100% - 36px), 1320px);
  }

  .atlante-dense-media img {
    height: min(62svh, 520px);
  }

  .atlante-dense-section--text .atlante-dense-copy {
    column-count: 1;
    column-gap: 0;
  }
}