/* W18 — composição fluida de Produto, Fontes, Confiança e Contato.
   A grade ocupa a página; a medida pertence à prosa, não a wrappers aninhados. */
/* Decisão 4 de Tiago (26/09/2026): mesma largura útil do contêiner global (.env) e do
   cabeçalho; o conteúdo termina alinhado ao cabeçalho, sem faixa reservada à direita. */
.site-clean .m24 .m24-wrap {
  max-width: none;
  padding-inline: var(--margem-pagina);
}
/* W19 — o herói m24 segue o herói editorial (style.css, .heroi--pagina): mesma margem
   superior, mesmo corpo do h1 e, a partir de 1051 px, as mesmas duas colunas; ao trocar de
   página pelo menu, o título e a coluna direita não saltam. */
.site-clean .m24 .m24-hero { padding-block: clamp(2.5rem, 6vw, 5rem); }
.site-clean .m24 .m24-hero h1 { max-width: 24ch; font-size: clamp(2rem, 1.6rem + 2.4vw, 3.8rem); font-weight: 600; }
@media screen and (min-width: 1051px) {
  .site-clean .m24 .m24-hero h1 { font-size: var(--t-h1); }
  .site-clean .m24 .m24-hero > .m24-wrap { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 var(--fluido-gap); }
}
.site-clean .m24 .m24-hero .lead { font-size: var(--t-lead); max-width: 58ch; }
.site-clean .m24 .m24-heading { max-width: 76ch; }
.site-clean .m24 .m24-heading h2 { max-width: 30ch; font-size: var(--t-h2); font-weight: 600; }
.site-clean .m24 :is(.m24-section,.produto-modalidades) { padding-block: clamp(2.75rem, 4vw, 7rem); }
.site-clean .m24 .m24-family + .m24-family { margin-top: 0; }
.site-clean .m24--fontes [aria-label="Índice de fontes"] { padding-block: clamp(1.5rem, 2vw, 2.5rem); }
.site-clean .m24 .m24-index { display: grid; grid-template-columns: 1fr; gap: 0; margin: 0; border: 1px solid var(--cor-filete-forte); border-radius: 8px; overflow: hidden; background: var(--cor-papel); }
.site-clean .m24 .m24-index a { display: grid; grid-template-columns: auto 1fr auto; gap: .8rem; align-items: center; min-height: 64px; padding: 1rem; border: 0; border-radius: 0; color: var(--cor-tinta); font-weight: 600; text-align: start; text-decoration: none; line-height: 1.4; }
.site-clean .m24 .m24-index a + a { border-top: 1px solid var(--cor-filete); }
.site-clean .m24 .m24-index__numero { color: var(--cor-marca); font: 500 var(--t-mini)/1.4 var(--fonte-mono); letter-spacing: .12em; }
.site-clean .m24 .m24-index__seta { color: var(--cor-marca); font-size: 1.25rem; }
.site-clean .m24 .m24-index a:hover { background: var(--cor-papel-2); }
.site-clean .m24 .m24-index a:focus-visible { outline: 3px solid var(--cor-marca); outline-offset: -4px; background: var(--cor-papel-2); }
.site-clean .m24 .m24-index a[aria-current="location"] { color: var(--cor-marca); background: var(--cor-papel-2); box-shadow: inset 0 -3px var(--cor-marca); }
.site-clean .m24 .m24-contact-context { max-width: 58ch; }
.site-clean .m24 .m24-contact-context p:has(.contato-email) { text-align: start; }
.site-clean .m24 .m24-contact { gap: clamp(2rem, 4vw, 7rem); }
.site-clean .m24 .m24-form { width: 100%; padding: clamp(1.25rem, 2.5vw, 3.5rem); }
.site-clean .m24 .m24-field textarea { min-height: 14rem; }
.site-clean .m24 .m24-fields { gap: clamp(1.25rem, 2vw, 2rem); }
.site-clean .m24 .m24-form h2 { font-size: var(--t-h3); }
.site-clean .m24 .m24-error { text-align: start; text-align-last: start; }
.site-clean .m24--confianca .escalada-caso { max-width: none; }
.site-clean .m24--confianca .escalada-caso li { align-content: start; }
.site-clean .m24--confianca .escalada-caso span { max-width: 62ch; }
.site-clean .m24 .produto-filme { color: var(--cor-tinta-invertida); background: var(--cor-papel-escuro); }
.site-clean .m24 .produto-filme .video-institucional { margin-top: 0; padding-top: 0; border: 0; }
.site-clean .m24 .produto-filme > .m24-wrap::before { display: none; }
.site-clean .m24 .produto-filme .video-institucional__texto h2 { font-size: var(--t-h2); max-width: 22ch; }
.site-clean .m24 .produto-filme .video-apresentacao { margin: 0; }
.site-clean .m24 .produto-filme .video-institucional__texto p { max-width: 52ch; }
.site-clean .m24 .produto-filme .versalete { color: var(--cor-acento-claro); }
@media (min-width: 1101px) {
  .site-clean .m24 .m24-contact { grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); }
  .site-clean .m24--confianca .escalada-caso { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--esp-6); }
  /* Uma coluna por item: com a largura global, três itens não deixam uma quarta célula vazia. */
  .site-clean .m24 .m24-index { grid-template-columns: none; grid-auto-columns: minmax(0, 1fr); grid-auto-flow: column; }
  .site-clean .m24 .m24-index a { padding: clamp(1rem, 1.5vw, 2rem); }
  .site-clean .m24 .m24-index a + a { border-top: 0; border-left: 1px solid var(--cor-filete); }
}
@media (min-width: 2000px) {
  .site-clean .m24--fontes .fontes-contexto { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .site-clean .m24 .m24-contact { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
}
@media (min-width: 600px) and (max-width: 1100px) {
  .site-clean .m24 .m24-index { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .site-clean .m24 .m24-index a:nth-child(2) { border-top: 0; }
  .site-clean .m24 .m24-index a:nth-child(even) { border-left: 1px solid var(--cor-filete); }
}
@media (max-width: 1050px) {
  .site-clean .m24 .m24-hero > .m24-wrap { display: block; }
}
@media (max-width: 1100px) {
  .site-clean .m24 :is(.m24-contact) { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 720px) {
  .site-clean .m24 .m24-hero .lead { font-size: 1.125rem; line-height: 1.65; }
  .site-clean .m24 .m24-heading h2 { font-size: clamp(1.65rem, 5.5vw, 2.25rem); }
  .site-clean .m24 .m24-form { padding: 1.125rem; }
  .site-clean .m24 .m24-index a { gap: .65rem; }
}
