/* Ajustes de responsividade — só o que não pode viver inline */
@media (max-width: 860px) {
  :root {
    --fs-display-xl: 46px; --fs-display-l: 40px; --fs-display-m: 34px; --fs-display-s: 28px;
    --fs-h1: 26px; --fs-h2: 22px; --fs-h3: 20px; --fs-h4: 18px;
    --fs-body-l: 17px; --fs-body: 16px;
  }
  [style*="min-width: 1280px"], [style*="min-width:1280px"] { min-width: 0 !important; overflow-x: hidden; }
  header { flex-wrap: wrap !important; padding: 18px 5% !important; gap: 14px !important; }
  header nav { gap: 16px !important; row-gap: 14px !important; flex-wrap: wrap !important; align-items: flex-start !important; }
  header nav a { white-space: nowrap !important; line-height: 1.4 !important; }
  section, footer { padding-left: 5% !important; padding-right: 5% !important; }
  section { padding-top: 64px !important; padding-bottom: 64px !important; min-height: 0 !important; display: block !important; }
  /* Seções que usavam grid/flex pra layout de colunas: manter o display original,
     senão o "gap" que separa os itens empilhados no mobile é perdido
     (display:block ignora gap). grid-template-columns:1fr (regra acima) já
     garante o empilhamento em coluna única. */
  section[style*="display:grid"], section[style*="display: grid"] { display: grid !important; }
  section[style*="display:flex"][style*="gap:"], section[style*="display: flex"][style*="gap:"] { display: flex !important; }
  footer { padding-top: 56px !important; }
  [style*="grid-template-columns"] { grid-template-columns: 1fr !important; }
  [style*="repeat(5"], [style*="repeat(4"], [style*="repeat(6"] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  [style*="grid-template-rows"] { grid-template-rows: auto !important; }
  [style*="grid-column"] { grid-column: auto !important; }
  [style*="grid-row"] { grid-row: auto !important; min-height: 220px; }
  [style*="clip-path"] {
    clip-path: none !important; position: relative !important; inset: auto !important;
    height: 260px !important; margin-bottom: 28px !important; border-radius: var(--radius-lg); overflow: hidden;
  }
  [style*="clip-path"] img { position: absolute !important; inset: 0 !important; left: 0 !important; right: auto !important; width: 100% !important; height: 100% !important; }
  section > div, section > img, section > button, section > a { max-width: 100% !important; }
  section > div[style*="width: 48%"], section > div[style*="width: 46%"], section > div[style*="width: 52%"],
  section > div[style*="width:48%"], section > div[style*="width:46%"], section > div[style*="width:52%"] {
    width: 100% !important; padding: 0 !important; margin: 0 !important;
  }
  section > img, section > div > img[style*="width: 691px"], section img[style*="width: 871px"] {
    height: auto !important; max-height: 320px; width: 100% !important; object-fit: cover;
  }
  section span[style*="width: 296px"], section span[style*="width:296px"] { width: auto !important; height: auto !important; }
  img[style*="mix-blend-mode:multiply"] { max-width: 100% !important; }
  section > div[style*="padding: 110px"], section > div[style*="padding: 104px"], section > div[style*="padding: 88px"],
  section > div[style*="padding:110px"], section > div[style*="padding:104px"], section > div[style*="padding:88px"] { padding: 48px 0 !important; }
  section > button, section > div > button[style*="width: 674px"], #video-institucional { width: 100% !important; height: auto !important; aspect-ratio: 16/9; }
  #hub > div { display: block !important; }
  #hub > div > div:first-child {
    width: 700px !important; height: 700px !important;
    transform: scale(0.44); transform-origin: top left;
    margin-bottom: -370px !important;
  }
  [style*="margin-left: -88px"], [style*="margin-left:-88px"] { margin-left: 0 !important; padding: 32px !important; margin-top: 20px !important; }
  [style*="88px 6% 110px 7%"] { padding: 48px 6% !important; }
  [style*="position: sticky"], [style*="position:sticky"] { position: static !important; }
  blockquote { font-size: var(--fs-h1) !important; }
}
