/* Desktop legível: o ajuste automático mede todo o texto antes de expandir.
 * Referências: 20px em telas grandes, 18px intermediárias e 16px notebooks.
 * O ajuste por altura respeita o piso de 16px. O mobile mantém seus estilos. */
@media (min-width: 768px) {
  :root { --copy-preferred-font: 16px; }

  .section-copy {
    font-size: clamp(16px, var(--copy-font-size, var(--copy-preferred-font)), 20px);
    line-height: 1.3;
  }

  .section-copy p + p { margin-top: var(--copy-paragraph-gap, 16px); }
  .copy-reveal > div > p:first-child { padding-top: var(--copy-paragraph-gap, 16px); }

  .manifesto-section,
  .essence-feature,
  .partnership-section {
    height: max(100svh, var(--copy-required-height, 0px));
    min-height: 100svh;
  }
  /* Se precisar crescer, a seção passa a acompanhar a rolagem da página. */
  .essence-feature-sequence .essence-feature.is-copy-tall { position: relative; }

  .manifesto-section .manifesto-section__inner,
  .essence-feature__inner,
  .partnership-section__inner {
    padding-top: var(--copy-top-space, 76px);
    padding-bottom: var(--copy-bottom-space, 48px);
  }

  .manifesto-section__content,
  .essence-feature__content,
  .partnership-section__content {
    width: min(720px, 100%);
  }

  .section-composition {
    width: 100%;
    grid-template-rows: auto 32px;
    gap: 10px;
  }

  /* O conteúdo aberto permanece inteiro no fluxo, sem caixa rolável. */
  .section-composition__body {
    max-height: none;
    overflow: visible;
  }

  .section-copy__toggle { width: 32px; height: 32px; padding: 4px; }

  /* Todos os títulos destas seções usam a mesma escala. */
  .essence-feature__title,
  .partnership-section__header .partnership-section__title {
    font-size: clamp(32px, 2.3vw, 38px);
    line-height: 1.1;
  }

  .essence-feature__title,
  .section-composition__body > .partnership-section__header {
    margin-bottom: var(--copy-heading-gap, 22px);
  }

  .manifesto-section__logo {
    width: clamp(200px, 18vw, 260px);
    margin-bottom: 18px;
  }

  .partnership-section__wordmark {
    width: clamp(230px, 22vw, 320px);
    margin-bottom: 18px;
  }

  .personalization-copy__logos { margin-top: 18px; gap: 22px; }
  .personalization-copy__logos button {
    width: 180px;
    min-height: 56px;
    padding: 6px;
  }

  .partnership-section__link { margin-top: 14px; }
}

@media (min-width: 1440px) {
  :root { --copy-preferred-font: 18px; }
}

@media (min-width: 1680px) {
  :root { --copy-preferred-font: 20px; }
}

/* Clones temporários de medição: invisíveis, fora do fluxo e não interativos. */
.copy-measure {
  position: fixed !important;
  top: 0 !important;
  left: -10000px !important;
  visibility: hidden !important;
  pointer-events: none !important;
  contain: layout style;
}
.copy-measure *, .copy-measure *::before, .copy-measure *::after {
  animation: none !important;
  transition: none !important;
}
.copy-measure .copy-reveal { grid-template-rows: 1fr !important; }
