/* Textos sobre os vídeos, com controles abaixo da composição. */
.section-copy { color: rgba(255,255,255,.88); font-size: clamp(15px,1.15vw,19px); font-weight: 300; line-height: 1.35; }
.section-copy p { margin: 0; }
.section-copy p + p { margin-top: 24px; }
.section-composition { display: grid; grid-template-columns: minmax(0,1fr); grid-template-rows: auto 40px; gap: 16px; align-items: start; width: fit-content; max-width: 100%; }
.section-composition__body { grid-column: 1; grid-row: 1; min-width: 0; overflow-x: hidden; overflow-y: auto; scrollbar-width: none; }
.section-composition__body::-webkit-scrollbar { display: none; }
/* Os parágrafos recolhidos também definem a largura: a seta não salta ao abrir. */
.section-composition__body .copy-reveal { contain: none; }
.copy-reveal { display: grid; grid-template-rows: 0fr; opacity: 0; transition: grid-template-rows 650ms cubic-bezier(.2,.7,.2,1), opacity 450ms ease; }
.copy-reveal > div { min-height: 0; overflow: hidden; }
.copy-reveal.is-copy-open { grid-template-rows: 1fr; opacity: 1; }
.copy-reveal > div > p:first-child { padding-top: 24px; }
.section-copy__toggle { display: block; grid-column: 1; grid-row: 2; align-self: start; justify-self: start; width: 40px; height: 40px; margin: 0; padding: 8px; border: 0; background: transparent; cursor: pointer; }
.section-copy__toggle img { display: block; width: 24px; height: 24px; transform-origin: 50% 68%; transition: transform 300ms ease; }
.section-copy__toggle[aria-expanded=true] img { transform: rotate(180deg); }
.section-copy__toggle:focus-visible, [data-brand-toggle]:focus-visible, .essence-card:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.essence-card { color: #fff; text-decoration: none; }
.manifesto-section__logo { display: block; width: clamp(220px,20vw,310px); max-width: 100%; height: auto; margin: 0 0 26px; object-fit: contain; }
.manifesto-section__content { width: min(670px,100%); max-height: calc(100% - 100px); }
.manifesto-section .section-copy { text-align: left; }
.essence-feature { min-height: 620px; scroll-margin-top: 0; }
.essence-feature__inner { display: block; padding-bottom: 46px; }
.essence-feature__title { width: min(670px,100%); text-align: left; margin: 0 0 30px; }
.essence-feature__content { width: min(670px,100%); min-height: 0; max-height: calc(100% - 100px); margin: 0; text-align: left; }
.personalization-copy__logos { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: center; gap: 28px; width: 100%; margin: 30px 0 0; }
.personalization-copy__logos button { display: grid; place-items: center; width: 210px; max-width: 100%; min-height: 74px; padding: 8px; border: 0; background: transparent; opacity: .6; cursor: pointer; transition: opacity 350ms ease; }
.personalization-copy__logos button:hover { opacity: .8; }
.personalization-copy__logos button.is-brand-active { opacity: 1; }
.personalization-copy__logos button[aria-disabled=true] { cursor: default; }
.personalization-copy__logos img { display: block; max-width: 100%; width: 100%; height: auto; object-fit: contain; }
.personalization-copy__logos [data-brand-toggle=tailor] img[data-fade-in] { transition-delay: 160ms; }
.personalization-copy__brand p { margin: 0; }
.partnership-section__inner { display: block; padding-bottom: 46px; }
.partnership-section__header { width: min(670px,100%); text-align: left; }
.partnership-section__content { position: static; width: min(670px,100%); min-height: 0; max-height: calc(100% - 78px); margin: 30px 0 0; text-align: left; }
.partnership-section__wordmark { width: clamp(280px,29vw,420px); margin: 0 0 26px; }
.partnership-section__content .section-copy { padding-bottom: 8px; }
.partnership-section__content [data-expandable-copy] { margin-inline: 0; }
@media (min-width: 768px) {
  /* Centraliza a composição inteira na altura da seção, com margens simétricas. */
  .manifesto-section .manifesto-section__inner {
    align-items: center;
    padding-block: clamp(72px,9vh,112px);
  }
  .manifesto-section__content { max-height: 100%; }
  .section-composition__body { max-height: calc(100svh - 2 * clamp(72px,9vh,112px) - 56px); }
  .section-composition__body > .partnership-section__header { margin-bottom: 30px; }
  .essence-feature__inner,
  .partnership-section__inner {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding-block: clamp(72px,9vh,112px);
  }
  .essence-feature__title,
  .partnership-section__header { flex-shrink: 0; }
  .essence-feature__content,
  .partnership-section__content { max-height: 100%; margin: 0; }
}
@media (max-width: 767px) {
  /* Quebras editoriais no desktop; no celular o texto acompanha a largura da tela. */
  .copy-break { display: none; }
  .section-copy { font-size: 14px; line-height: 1.35; text-align: left; }
  .section-composition { width: 100%; }
  /* Mesmo controle do desktop: abaixo do texto e alinhado à esquerda. */
  .section-composition > .section-copy__toggle {
    position: static;
    inset: auto;
    grid-column: 1;
    grid-row: 2;
    align-self: start;
    justify-self: start;
    width: 40px;
    height: 40px;
    margin: 0;
    padding: 8px;
    transform: none;
  }
  .section-copy__toggle img { width: 24px; height: 24px; }
  .essence-feature { --essence-feature-title-band: 0px; }
  .partnership-section { --partnership-title-band: 0px; }
  .section-composition__body { max-height: calc(100svh - 200px); }
  .essence-feature .section-composition__body,
  .partnership-section .section-composition__body { max-height: calc(100svh - 226px); }
  .section-copy p + p { margin-top: 20px; }
  .copy-reveal > div > p:first-child { padding-top: 20px; }
  .manifesto-section__logo { width: min(230px,75vw); margin-bottom: 22px; }
  .manifesto-section__content { max-height: calc(100% - 40px); }
  .essence-feature__inner { display: block; padding: 0 26px; }
  .section-composition__body .essence-feature__title { position: static; display: block; width: 100%; height: auto; margin: 0 0 20px; padding: 0; background: transparent; color: #fff; text-align: left; }
  .essence-feature__content { position: absolute; top: auto; right: 26px; bottom: clamp(58px,12svh,82px); left: 26px; width: auto; max-height: calc(100% - 170px); margin: 0; text-align: left; }
  .personalization-copy__logos { gap: 16px; margin-top: 24px; }
  .personalization-copy__logos button { width: min(100%,160px); min-height: 58px; padding: 4px; }
  .partnership-section__inner { display: block; padding: 0 26px; }
  .partnership-section__header { display: block; height: auto; width: 100%; margin: 0 0 20px; padding: 0; background: transparent; text-align: left; }
  .partnership-section__header .partnership-section__title { color: #fff; }
  .partnership-section__content { position: absolute; inset: auto 26px clamp(58px,12svh,82px); width: auto; max-height: calc(100% - 170px); margin: 0; text-align: left; }
  .partnership-section__wordmark { width: min(230px,74vw); margin: 0 0 24px; }
  /* O novo arquivo substitui o vídeo que exigia recorte extra no Wellness. */
  .essence-feature--wellness .essence-feature__background-video { transform: none; }
}
@media (prefers-reduced-motion: reduce) { .copy-reveal, .section-copy__toggle img { transition: none; } }
