:root {
  --destaque: #F16641;
  --tinta: #1E222B;
  --texto: #34383F;
  --suave: #6A6E76;
  --osso: #F5F3ED;
  --greige: #D8D6C9;
  --linha: #DCD9CF;
  --fonte: 100%;
  --largura: 1240px;
}

*, *::before, *::after { box-sizing: border-box; }
html { font-size: var(--fonte); scroll-behavior: smooth; }
body.museu { margin: 0; font-family: 'Inter', system-ui, sans-serif; background: var(--osso); color: var(--texto); line-height: 1.65; -webkit-font-smoothing: antialiased; }
img { max-width: 100%; display: block; }
a { color: inherit; }
:focus-visible { outline: 3px solid var(--destaque); outline-offset: 3px; }
.m-wrap { width: min(var(--largura), 100% - 32px); margin-inline: auto; }
.m-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.m-pular { position: absolute; left: 16px; top: -60px; z-index: 60; background: var(--tinta); color: #fff; padding: 10px 16px; border-radius: 0 0 8px 8px; font-weight: 600; }
.m-pular:focus { top: 0; }
.m-aviso { background: var(--tinta); color: rgba(255, 255, 255, 0.82); text-align: center; font-size: 0.8rem; padding: 6px 16px; }

.m-topo { position: sticky; top: 0; z-index: 40; background: color-mix(in srgb, var(--osso) 92%, transparent); backdrop-filter: blur(10px); border-bottom: 1px dotted var(--linha); }
.m-topo__in { display: flex; align-items: center; gap: 28px; min-height: 72px; }
.m-marca { display: flex; align-items: center; gap: 12px; text-decoration: none; color: var(--tinta); }
.m-marca__selo { width: 40px; height: 40px; color: var(--destaque); flex-shrink: 0; }
.m-marca span { display: flex; flex-direction: column; font-family: 'Inter Tight', sans-serif; font-weight: 700; font-size: 1.05rem; line-height: 1.15; }
.m-marca small { font-family: 'Inter', sans-serif; font-weight: 500; font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.14em; color: var(--suave); }
.m-nav { margin-left: auto; }
.m-nav ul { list-style: none; display: flex; gap: 4px; margin: 0; padding: 0; }
.m-nav a { display: block; padding: 8px 12px; border-radius: 999px; text-decoration: none; font-weight: 500; font-size: 0.92rem; color: var(--texto); }
.m-nav a:hover { background: #ECE9E0; }
.m-nav a[aria-current] { background: var(--tinta); color: #fff; }
.m-nav__abrir { display: none; }
.m-acess { display: flex; gap: 4px; }
.m-acess button { font: inherit; font-size: 0.75rem; background: transparent; border: 1px solid var(--linha); border-radius: 6px; padding: 4px 8px; cursor: pointer; color: var(--texto); }

.m-sobre { text-transform: uppercase; letter-spacing: 0.16em; font-size: 0.75rem; font-weight: 600; color: var(--destaque); margin: 0 0 10px; display: block; }
.m-botao { display: inline-flex; align-items: center; gap: 10px; background: var(--destaque); color: #fff; text-decoration: none; font-weight: 600; padding: 13px 22px; border-radius: 999px; }
.m-botao:hover { filter: brightness(0.94); }
.m-link { display: inline-block; margin-top: 28px; font-weight: 600; text-underline-offset: 4px; }

.m-hero { position: relative; min-height: min(82vh, 760px); display: flex; align-items: flex-end; background: var(--tinta); color: #fff; overflow: hidden; }
.m-hero::before { content: ''; position: absolute; inset: 0; background:
  radial-gradient(ellipse at 85% 15%, color-mix(in srgb, var(--destaque) 45%, transparent), transparent 55%),
  repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.035) 0 1px, transparent 1px 120px),
  linear-gradient(180deg, #23272F, #15181E); }
.m-hero::after { content: ''; position: absolute; inset: 0; opacity: 0.18; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E"); }
.m-hero__in { position: relative; z-index: 1; padding: 120px 0 72px; }
.m-hero h1 { font-family: 'Inter Tight', sans-serif; font-weight: 800; font-size: clamp(3rem, 11vw, 9.5rem); line-height: 0.9; letter-spacing: -0.04em; margin: 0 0 28px; color: #fff; overflow-wrap: anywhere; }
.m-hero__texto { max-width: 620px; font-size: 1.15rem; color: rgba(255, 255, 255, 0.8); margin: 0 0 32px; }

.m-indice { padding: 72px 0 24px; }
.m-indice ol { list-style: none; margin: 0; padding: 0; }
.m-indice li { border-top: 1px dotted var(--linha); }
.m-indice li:last-child { border-bottom: 1px dotted var(--linha); }
.m-indice a { display: grid; grid-template-columns: 64px 1fr minmax(0, 340px); align-items: baseline; gap: 24px; padding: 22px 0; text-decoration: none; transition: padding 0.25s ease; }
.m-indice__num { font-variant-numeric: tabular-nums; color: var(--suave); font-weight: 500; }
.m-indice__palavra { font-family: 'Inter Tight', sans-serif; font-weight: 700; font-size: clamp(2rem, 6vw, 4.6rem); letter-spacing: -0.03em; line-height: 1; color: var(--tinta); transition: color 0.2s ease; }
.m-indice__texto { color: var(--suave); }
.m-indice a:hover { padding-left: 12px; }
.m-indice a:hover .m-indice__palavra { color: var(--destaque); }

.m-bloco { padding: 72px 0; }
.m-bloco--escuro { background: var(--tinta); color: rgba(255, 255, 255, 0.82); }
.m-bloco--escuro .m-titulo-secao, .m-bloco--escuro strong { color: #fff; }
.m-bloco--escuro .m-link { color: #fff; }
.m-bloco--claro { background: #ECE9E0; }
.m-titulo-secao { font-family: 'Inter Tight', sans-serif; font-weight: 700; font-size: clamp(2rem, 5vw, 3.6rem); letter-spacing: -0.03em; line-height: 1; margin: 0 0 40px; color: var(--tinta); }

.m-cab { padding: 64px 0 8px; }
.m-trilha { display: flex; gap: 8px; font-size: 0.85rem; color: var(--suave); margin-bottom: 18px; flex-wrap: wrap; }
.m-gigante { font-family: 'Inter Tight', sans-serif; font-weight: 800; font-size: clamp(3.2rem, 12vw, 10rem); letter-spacing: -0.05em; line-height: 0.88; margin: 0; color: var(--tinta); overflow-wrap: anywhere; }
.m-titulo-pagina { font-family: 'Inter Tight', sans-serif; font-weight: 700; font-size: clamp(2.2rem, 5vw, 4rem); letter-spacing: -0.03em; line-height: 1.02; margin: 0 0 18px; color: var(--tinta); }
.m-cab__texto { font-size: 1.2rem; max-width: 680px; color: var(--suave); margin: 22px 0 0; }
.m-vazio { color: var(--suave); padding: 24px 0; }

.m-linha { list-style: none; margin: 0; padding: 0; position: relative; }
.m-linha > li { display: grid; grid-template-columns: minmax(120px, 220px) 1fr; gap: 40px; padding: 36px 0; border-top: 1px dotted var(--linha); }
.m-linha__ano { font-family: 'Inter Tight', sans-serif; font-weight: 800; font-size: clamp(2.2rem, 5vw, 3.8rem); letter-spacing: -0.04em; line-height: 1; color: var(--destaque); }
.m-linha h2 { font-family: 'Inter Tight', sans-serif; font-size: 1.6rem; margin: 0 0 12px; color: var(--tinta); letter-spacing: -0.01em; }
.m-linha img { border-radius: 10px; margin: 8px 0 16px; max-height: 420px; object-fit: cover; width: 100%; }
.m-linha--curta { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.m-linha--curta > li { display: block; padding: 24px 0 0; border-top: 1px dotted rgba(255, 255, 255, 0.25); }
.m-linha--curta .m-linha__ano { display: block; font-size: 2.6rem; margin-bottom: 12px; }
.m-linha--curta strong { display: block; font-size: 1.05rem; margin-bottom: 6px; }
.m-linha--curta p { margin: 0; font-size: 0.95rem; }
.m-texto { font-size: 1.075rem; max-width: 720px; }
.m-texto p { margin: 0 0 1em; }
.m-texto blockquote { margin: 1.5em 0; padding-left: 20px; border-left: 3px solid var(--destaque); font-family: 'Inter Tight', sans-serif; font-size: 1.35rem; color: var(--tinta); }

.m-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.m-card { background: #fff; border-radius: 14px; padding: 28px; border: 1px solid var(--linha); }
.m-card h2, .m-card h3 { font-family: 'Inter Tight', sans-serif; color: var(--tinta); font-size: 1.3rem; margin: 0 0 10px; letter-spacing: -0.01em; }
.m-card p { margin: 0; }
.m-card img { border-radius: 8px; margin: 0 0 14px; }
.m-card__num { display: block; font-weight: 600; color: var(--destaque); margin-bottom: 18px; }
.m-cards--grandes { grid-template-columns: repeat(2, 1fr); gap: 24px; }

.m-albuns { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.m-album { position: relative; display: block; aspect-ratio: 4 / 5; border-radius: 14px; overflow: hidden; background: var(--tinta); text-decoration: none; }
.m-album img, .m-album__vazio { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s ease; display: block; }
.m-album__vazio { background: linear-gradient(135deg, #2A2F38, #1A1D23); }
.m-album::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 45%, rgba(15, 17, 21, 0.85)); }
.m-album__info { position: absolute; left: 22px; right: 22px; bottom: 20px; z-index: 1; color: #fff; display: flex; flex-direction: column; gap: 4px; }
.m-album__info strong { font-family: 'Inter Tight', sans-serif; font-size: 1.4rem; line-height: 1.15; }
.m-album__info small { color: rgba(255, 255, 255, 0.75); }
.m-album:hover img { transform: scale(1.04); }

.m-mosaico { list-style: none; margin: 0; padding: 0; columns: 3 280px; column-gap: 18px; }
.m-mosaico li { break-inside: avoid; margin-bottom: 18px; }
.m-mosaico button { display: block; width: 100%; padding: 0; border: 0; background: none; cursor: zoom-in; border-radius: 10px; overflow: hidden; }
.m-mosaico img { width: 100%; transition: transform 0.4s ease; }
.m-mosaico button:hover img { transform: scale(1.02); }
.m-mosaico p { margin: 8px 2px 0; font-size: 0.9rem; color: var(--suave); }
.m-mosaico small { display: block; font-size: 0.8rem; }

.m-lightbox { border: 0; padding: 0; background: transparent; max-width: 100vw; max-height: 100vh; width: 100vw; height: 100vh; }
.m-lightbox::backdrop { background: rgba(12, 13, 16, 0.94); }
.m-lightbox[open] { display: grid; place-items: center; }
.m-lightbox img { max-width: min(92vw, 1400px); max-height: 82vh; object-fit: contain; border-radius: 6px; }
.m-lightbox__legenda { color: rgba(255, 255, 255, 0.85); text-align: center; margin: 14px 16px 0; max-width: 820px; }
.m-lightbox button { position: fixed; background: rgba(255, 255, 255, 0.1); color: #fff; border: 1px solid rgba(255, 255, 255, 0.25); border-radius: 999px; cursor: pointer; font: inherit; }
.m-lightbox__ant, .m-lightbox__prox { top: 50%; transform: translateY(-50%); width: 52px; height: 52px; font-size: 1.8rem; line-height: 1; }
.m-lightbox__ant { left: 20px; }
.m-lightbox__prox { right: 20px; }
.m-lightbox__fechar { top: 20px; right: 20px; padding: 8px 16px; }

.m-videos { display: grid; grid-template-columns: repeat(2, 1fr); gap: 32px; }
.m-video__capa { position: relative; display: block; width: 100%; aspect-ratio: 16 / 9; border: 0; padding: 0; border-radius: 14px; overflow: hidden; background: var(--tinta); cursor: pointer; }
.m-video__capa img { width: 100%; height: 100%; object-fit: cover; opacity: 0.85; transition: opacity 0.3s ease; }
.m-video__capa:hover img { opacity: 1; }
.m-video__play { position: absolute; left: 50%; top: 50%; width: 72px; height: 72px; margin: -36px 0 0 -36px; border-radius: 50%; background: var(--destaque); }
.m-video__play::after { content: ''; position: absolute; left: 29px; top: 23px; border-style: solid; border-width: 13px 0 13px 21px; border-color: transparent transparent transparent #fff; }
.m-video iframe { width: 100%; aspect-ratio: 16 / 9; border: 0; border-radius: 14px; display: block; }
.m-video__txt { padding-top: 16px; }
.m-video h2 { font-family: 'Inter Tight', sans-serif; color: var(--tinta); font-size: 1.35rem; margin: 0 0 6px; }
.m-video p { margin: 0; }
.m-video--destaque { margin: 28px 0 36px; }

.m-entrevistas { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.m-entrevista { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--linha); border-radius: 14px; overflow: hidden; text-decoration: none; transition: border-color 0.2s ease; }
.m-entrevista:hover { border-color: var(--destaque); }
.m-entrevista img, .m-entrevista__inicial { aspect-ratio: 4 / 3; width: 100%; object-fit: cover; }
.m-entrevista__inicial { display: grid; place-items: center; background: var(--tinta); color: var(--destaque); font-family: 'Inter Tight', sans-serif; font-weight: 800; font-size: 5rem; }
.m-entrevista__txt { display: flex; flex-direction: column; gap: 2px; padding: 20px 22px 24px; }
.m-entrevista strong { font-family: 'Inter Tight', sans-serif; font-size: 1.25rem; color: var(--tinta); }
.m-entrevista small { color: var(--suave); }
.m-entrevista__tit { margin-top: 10px; color: var(--texto); }

.m-noticias { display: grid; gap: 0; }
.m-noticia { display: grid; grid-template-columns: 320px 1fr; gap: 32px; padding: 32px 0; border-top: 1px dotted var(--linha); }
.m-noticia img { border-radius: 10px; aspect-ratio: 4 / 3; object-fit: cover; width: 100%; }
.m-noticia time { color: var(--suave); font-size: 0.9rem; }
.m-noticia h2 { font-family: 'Inter Tight', sans-serif; font-size: 1.7rem; margin: 6px 0 10px; letter-spacing: -0.01em; }
.m-noticia h2 a { text-decoration: none; color: var(--tinta); }
.m-noticia h2 a:hover { color: var(--destaque); }
.m-noticia p { margin: 0; }
.m-noticia:not(:has(img)) { grid-template-columns: 1fr; }

.m-lista { list-style: none; margin: 0; padding: 0; }
.m-lista li { display: flex; gap: 24px; padding: 18px 0; border-top: 1px dotted var(--linha); font-size: 1.1rem; }
.m-lista time { color: var(--suave); min-width: 110px; }
.m-lista a { color: var(--tinta); text-decoration: none; font-weight: 500; }
.m-lista a:hover { color: var(--destaque); }

.m-artigo { max-width: 860px; padding: 56px 0 80px; }
.m-artigo__pessoa { font-size: 1.1rem; margin: 0; }
.m-artigo__capa { border-radius: 14px; margin: 28px 0; width: 100%; }

.m-rodape { background: var(--tinta); color: rgba(255, 255, 255, 0.72); padding: 56px 0; font-size: 0.95rem; }
.m-rodape__in { display: grid; grid-template-columns: 1.3fr 1fr auto; gap: 40px; align-items: start; }
.m-rodape__nome { font-family: 'Inter Tight', sans-serif; font-weight: 700; color: #fff; font-size: 1.3rem; margin: 0 0 6px; }
.m-rodape p { margin: 0; }
.m-rodape ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 8px 24px; }
.m-rodape ul a { color: rgba(255, 255, 255, 0.8); text-decoration: none; }
.m-rodape ul a:hover { color: #fff; }
.m-voltar { display: inline-block; color: #fff; border: 1px solid rgba(255, 255, 255, 0.3); border-radius: 999px; padding: 10px 18px; text-decoration: none; font-weight: 500; }
.m-voltar:hover { border-color: var(--destaque); }

.js .m-revela { opacity: 0; transform: translateY(18px); transition: opacity 0.6s ease, transform 0.6s ease; }
.js .m-revela.visivel { opacity: 1; transform: none; }

body.contraste { --osso: #000; --tinta: #fff; --texto: #fff; --suave: #fff; --linha: #fff; --destaque: #FFE600; }
body.contraste, body.contraste * { background-color: #000 !important; color: #fff !important; border-color: #fff !important; box-shadow: none !important; }
body.contraste a, body.contraste a * , body.contraste .m-sobre, body.contraste .m-linha__ano { color: #FFE600 !important; }
body.contraste .m-hero::before, body.contraste .m-hero::after, body.contraste .m-album::after { display: none; }
body.contraste img { filter: grayscale(1) contrast(1.15); }

@media (max-width: 980px) {
  .m-nav__abrir { display: block; font: inherit; font-weight: 600; background: var(--tinta); color: #fff; border: 0; border-radius: 999px; padding: 8px 16px; cursor: pointer; }
  .m-nav ul { display: none; position: absolute; left: 0; right: 0; top: 100%; flex-direction: column; background: var(--osso); padding: 12px 16px 20px; border-bottom: 1px dotted var(--linha); }
  .m-nav ul.aberto { display: flex; }
  .m-acess { display: none; }
  .m-indice a { grid-template-columns: 40px 1fr; }
  .m-indice__texto { grid-column: 2; }
  .m-linha > li { grid-template-columns: 1fr; gap: 12px; }
  .m-linha--curta, .m-cards, .m-cards--grandes, .m-albuns, .m-entrevistas, .m-videos { grid-template-columns: 1fr; }
  .m-noticia { grid-template-columns: 1fr; gap: 16px; }
  .m-rodape__in { grid-template-columns: 1fr; }
  .m-topo__in { position: relative; }
}

@media (min-width: 640px) and (max-width: 980px) {
  .m-albuns, .m-entrevistas, .m-cards { grid-template-columns: repeat(2, 1fr); }
  .m-linha--curta { grid-template-columns: repeat(2, 1fr); }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
  .js .m-revela { opacity: 1; transform: none; }
}
.m-filtros { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 36px; }
.m-filtros a { text-decoration: none; padding: 8px 16px; border-radius: 999px; border: 1px solid var(--linha); background: #fff; font-weight: 500; font-size: 0.92rem; }
.m-filtros a span { color: var(--suave); font-weight: 400; margin-left: 4px; }
.m-filtros a:hover { border-color: var(--tinta); }
.m-filtros a[aria-current] { background: var(--tinta); border-color: var(--tinta); color: #fff; }
.m-filtros a[aria-current] span { color: rgba(255, 255, 255, 0.7); }
.m-acervo { display: grid; gap: 0; }
.m-acervo__item { display: grid; grid-template-columns: 360px 1fr; gap: 40px; padding: 40px 0; border-top: 1px dotted var(--linha); }
.m-acervo__item:not(:has(img)) { grid-template-columns: 1fr; }
.m-acervo__item img { border-radius: 12px; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.m-acervo__item h2 { font-family: 'Inter Tight', sans-serif; color: var(--tinta); font-size: 1.7rem; margin: 0 0 12px; letter-spacing: -0.01em; }
.m-contato .m-form, .m-contato .m-alerta--ok { max-width: 820px; }
.m-form { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.m-form__campo { display: flex; flex-direction: column; gap: 6px; }
.m-form__campo--cheio, .m-form .m-alerta, .m-form .m-botao { grid-column: 1 / -1; }
.m-form .m-botao { justify-self: start; border: 0; font: inherit; font-weight: 600; cursor: pointer; }
.m-form label { font-weight: 600; color: var(--tinta); font-size: 0.92rem; }
.m-form input, .m-form select, .m-form textarea { font: inherit; padding: 12px 14px; border: 1px solid var(--linha); border-radius: 10px; background: #fff; color: var(--tinta); }
.m-form input:focus, .m-form select:focus, .m-form textarea:focus { outline: none; border-color: var(--destaque); box-shadow: 0 0 0 3px color-mix(in srgb, var(--destaque) 20%, transparent); }
.m-form__check { display: flex; gap: 10px; align-items: flex-start; font-weight: 400 !important; color: var(--texto) !important; }
.m-form__check input { margin-top: 4px; }
.m-form__isca { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.m-alerta { margin: 0; padding: 14px 18px; border-radius: 10px; background: #FBEAE7; color: #8E2B20; }
.m-alerta--ok { background: #E6F4EC; color: #1F5F3A; }
.m-alerta--ok p { margin: 4px 0 0; }
@media (min-width: 981px) { .m-rodape__in { grid-template-columns: 1.3fr 1fr 0.8fr auto; } }
.m-rodape ul + ul { grid-template-columns: 1fr; }
@media (max-width: 980px) {
  .m-acervo__item, .m-form { grid-template-columns: 1fr; }
}
@media (min-width: 981px) and (max-width: 1180px) {
  .m-nav__abrir { display: block; font: inherit; font-weight: 600; background: var(--tinta); color: #fff; border: 0; border-radius: 999px; padding: 8px 16px; cursor: pointer; }
  .m-topo__in { position: relative; }
  .m-nav ul { display: none; position: absolute; left: 0; right: 0; top: 100%; flex-direction: column; background: var(--osso); padding: 12px 16px 20px; border-bottom: 1px dotted var(--linha); }
  .m-nav ul.aberto { display: flex; }
}
.m-linha--legis { grid-template-columns: repeat(6, 1fr); }
.m-linha--legis > li { border-top-color: var(--linha); }
.m-linha--legis .m-linha__ano { font-size: 2rem; }
.m-presidentes { list-style: none; margin: 0; padding: 0; columns: 3 260px; column-gap: 32px; }
.m-presidentes li { break-inside: avoid; display: grid; grid-template-columns: 56px 1fr; gap: 2px 12px; padding: 10px 0; border-top: 1px dotted rgba(255, 255, 255, 0.2); }
.m-presidentes span { grid-row: span 2; font-family: 'Inter Tight', sans-serif; font-weight: 700; color: var(--destaque); }
.m-presidentes small { color: rgba(255, 255, 255, 0.6); }
@media (max-width: 980px) { .m-linha--legis { grid-template-columns: repeat(2, 1fr); } }
.m-baixar { display: inline-block; margin-top: 4px; font-size: 0.8rem; font-weight: 600; color: var(--tinta); }
