:root {
  --verde: #0a2e24;
  --verde-2: #12614a;
  --verde-3: #0f4634;
  --ouro: #f2b705;
  --ouro-claro: #ffd866;
  --lima: #8fe36b;
  --creme: #f3f6f1;
  --papel: #ffffff;
  --tinta: #14211b;
  --suave: #5a6a62;
  --linha: #dfe7de;
  --vermelho: #d6382f;
  --raio: 16px;
  --sombra: 0 1px 2px rgba(10,46,36,.06), 0 8px 24px rgba(10,46,36,.08);
  --sombra-alta: 0 2px 4px rgba(10,46,36,.08), 0 18px 40px rgba(10,46,36,.16);
  --serif: "Barlow Condensed", "Arial Narrow", "Segoe UI", system-ui, sans-serif;
  --sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--creme);
  color: var(--tinta);
  font: 16.5px/1.65 var(--sans);
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; display: block; }
a { color: var(--verde-2); text-underline-offset: 3px; }
a:hover { color: var(--vermelho); }
h1, h2, h3 { font-family: var(--serif); line-height: 1.08; color: var(--verde); margin: 0 0 .5em; font-weight: 700; letter-spacing: .005em; }
h1 { font-size: clamp(2.4rem, 6vw, 4.2rem); font-weight: 800; }
h2 { font-size: clamp(1.9rem, 3.6vw, 2.6rem); font-weight: 800; }
h3 { font-size: 1.45rem; }
p { margin: 0 0 1em; }
:focus-visible { outline: 3px solid var(--ouro); outline-offset: 2px; border-radius: 6px; }

.miolo { width: min(1180px, 100% - 40px); margin-inline: auto; }

/* Cabeçalho */
.topo { background: rgba(6, 30, 23, .88); -webkit-backdrop-filter: saturate(1.4) blur(14px); backdrop-filter: saturate(1.4) blur(14px); color: #fff; position: sticky; top: 0; z-index: 30; border-bottom: 1px solid rgba(255,255,255,.08); }
.topo .miolo { display: flex; align-items: center; gap: 20px; min-height: 68px; }
.marca { display: flex; align-items: center; gap: 12px; color: #fff; text-decoration: none; font-family: var(--serif); font-size: 1.55rem; font-weight: 800; letter-spacing: .01em; padding: 8px 0; line-height: 1; }
.marca:hover { color: #fff; }
.marca img { height: 42px; width: 42px; object-fit: contain; background: #fff; border-radius: 12px; padding: 3px; }
.marca span small { display: block; font: 600 .66rem var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--ouro-claro); margin-top: 3px; }
.menu { display: flex; gap: 2px; margin-left: auto; align-items: center; }
.menu a { color: rgba(255,255,255,.82); text-decoration: none; padding: 9px 14px; border-radius: 99px; font-size: .93rem; font-weight: 500; transition: background .15s, color .15s; }
.menu a:hover { background: rgba(255,255,255,.1); color: #fff; }
.menu a[aria-current="page"] { background: var(--ouro); color: #1a1a1a; font-weight: 700; }
.menu .breve { opacity: .5; }
.menu-botao { display: none; margin-left: auto; background: rgba(255,255,255,.1); color: #fff; border: 1px solid rgba(255,255,255,.2); border-radius: 99px; padding: 8px 16px; font: 600 .9rem var(--sans); cursor: pointer; }

/* Abertura da página inicial */
.abertura { background:
    radial-gradient(900px 500px at 85% -10%, rgba(143,227,107,.20), transparent 60%),
    radial-gradient(700px 480px at -10% 110%, rgba(242,183,5,.16), transparent 60%),
    linear-gradient(160deg, #0a2e24 0%, #06201a 100%);
  color: #fff; padding: 64px 0 120px; position: relative; overflow: hidden; }
.abertura::before { content: ""; position: absolute; inset: 0; opacity: .5; pointer-events: none;
  background: repeating-linear-gradient(90deg, rgba(255,255,255,.035) 0 2px, transparent 2px 120px); }
.abertura .miolo { position: relative; display: grid; grid-template-columns: 1.05fr .95fr; gap: 48px; align-items: center; }
.abertura h1 { color: #fff; text-transform: uppercase; font-size: clamp(3rem, 8vw, 6rem); line-height: .92; margin: 0 0 .3em; letter-spacing: .01em; }
.abertura h1 em { font-style: normal; color: var(--ouro); display: block; }
.abertura .selo { display: inline-flex; align-items: center; gap: 8px; font: 700 .76rem var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--ouro-claro); background: rgba(242,183,5,.12); border: 1px solid rgba(242,183,5,.4); border-radius: 99px; padding: 6px 16px; margin-bottom: 22px; }
.abertura .selo::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--lima); box-shadow: 0 0 0 4px rgba(143,227,107,.2); }
.abertura p { max-width: 34em; font-size: 1.2rem; color: #d3e3d8; }
.botoes { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 30px; }
.colagem { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 150px 190px 150px; gap: 14px; transform: rotate(2deg); }
.colagem img { width: 100%; height: 100%; object-fit: cover; border-radius: 20px; border: 3px solid rgba(255,255,255,.9); box-shadow: 0 18px 40px rgba(0,0,0,.4); }
.colagem img:nth-child(1) { grid-row: 1 / 3; }
.colagem img:nth-child(2) { grid-row: 1 / 2; }
.colagem img:nth-child(3) { grid-row: 2 / 4; }
.colagem img:nth-child(4) { grid-row: 3 / 4; grid-column: 1; }

.botao { display: inline-flex; align-items: center; gap: 8px; background: var(--ouro); color: #1a1a1a; text-decoration: none; padding: 13px 26px; border-radius: 99px; font-weight: 700; border: 2px solid var(--ouro); cursor: pointer; font-family: var(--sans); font-size: .98rem; transition: transform .15s, box-shadow .15s, background .15s; }
.botao:hover { background: var(--ouro-claro); border-color: var(--ouro-claro); color: #1a1a1a; transform: translateY(-2px); box-shadow: 0 8px 20px rgba(242,183,5,.35); }
.botao.vazado { background: transparent; color: #fff; border-color: rgba(255,255,255,.45); }
.botao.vazado:hover { background: rgba(255,255,255,.12); color: #fff; box-shadow: none; border-color: #fff; }
.botao.escuro { background: var(--verde); border-color: var(--verde); color: #fff; }
.botao.escuro:hover { background: var(--verde-2); border-color: var(--verde-2); color: #fff; box-shadow: 0 8px 20px rgba(10,46,36,.3); }

/* Números da abertura */
.faixa-numeros { margin-top: -64px; position: relative; z-index: 2; }
.faixa-numeros .miolo { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.faixa-numeros .item { background: var(--papel); border-radius: var(--raio); padding: 22px 24px; box-shadow: var(--sombra-alta); border-top: 4px solid var(--ouro); }
.faixa-numeros b { display: block; font: 800 clamp(2.2rem, 4vw, 3.2rem)/1 var(--serif); color: var(--verde); }
.faixa-numeros span { color: var(--suave); font-size: .92rem; }

/* Blocos */
.bloco { padding: 64px 0; }
.bloco.claro { background: var(--papel); }
.bloco.escuro-fundo { background: var(--verde); color: #d3e3d8; }
.bloco.escuro-fundo h2 { color: #fff; }
.cabeca-bloco { max-width: 46em; margin-bottom: 32px; }
.cabeca-bloco .sobre { display: block; font: 700 .76rem var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--verde-2); margin-bottom: 8px; }
.cabeca-bloco p { color: var(--suave); font-size: 1.05rem; }
.escuro-fundo .cabeca-bloco p { color: #b9cfc2; }
.escuro-fundo .cabeca-bloco .sobre { color: var(--ouro-claro); }

.grade { display: grid; gap: 22px; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
.cartao { background: var(--papel); border: 1px solid var(--linha); border-radius: var(--raio); overflow: hidden; display: flex; flex-direction: column; text-decoration: none; color: inherit; box-shadow: var(--sombra); transition: transform .18s, box-shadow .18s; }
a.cartao:hover { transform: translateY(-5px); box-shadow: var(--sombra-alta); color: inherit; }
.cartao .corpo { padding: 20px; flex: 1; display: flex; flex-direction: column; gap: 6px; }
.cartao h3 { margin: 0; }
.cartao p { margin: 0; color: var(--suave); font-size: .95rem; }
.cartao .etiqueta { font: 700 .7rem var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--verde-2); }
.cartao.breve { opacity: .65; border-style: dashed; }
.cartao .capa { aspect-ratio: 842 / 595; background: var(--verde); object-fit: cover; width: 100%; }
.cartao .capa-texto { aspect-ratio: 842 / 595; background: linear-gradient(135deg, var(--verde), var(--verde-2)); color: #fff; display: grid; place-content: center; text-align: center; padding: 16px; }
.cartao .capa-texto b { font: 800 3.4rem/1 var(--serif); color: var(--ouro); display: block; }
.cartao .capa-texto span { font-size: .8rem; letter-spacing: .14em; text-transform: uppercase; }

/* Destinos com foto (página inicial) */
.destinos { display: grid; gap: 18px; grid-template-columns: repeat(6, 1fr); grid-auto-rows: 210px; }
.destino { position: relative; border-radius: 20px; overflow: hidden; color: #fff; text-decoration: none; display: flex; align-items: flex-end; grid-column: span 2; box-shadow: var(--sombra); isolation: isolate; }
.destino.largo { grid-column: span 3; }
.destino img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform .5s ease; }
.destino::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(6,32,26,.05) 0%, rgba(6,32,26,.6) 50%, rgba(6,32,26,.95) 100%); }
.destino:hover { color: #fff; }
.destino:hover img { transform: scale(1.06); }
.destino .texto { padding: 22px 24px; }
.destino h3 { color: #fff; margin: 0 0 4px; font-size: 1.9rem; font-weight: 800; }
.destino p { margin: 0; color: #dbe8df; font-size: .93rem; line-height: 1.4; }
.destino .seta-dest { position: absolute; top: 16px; right: 16px; width: 38px; height: 38px; border-radius: 50%; background: var(--ouro); color: #1a1a1a; display: grid; place-content: center; font-weight: 800; transform: translate(6px, -6px); opacity: 0; transition: .2s; }
.destino:hover .seta-dest { opacity: 1; transform: none; }
.atalhos { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
.atalhos a { background: var(--papel); border: 1px solid var(--linha); border-radius: 99px; padding: 9px 18px; text-decoration: none; font-weight: 600; font-size: .92rem; color: var(--verde); box-shadow: var(--sombra); transition: .15s; }
.atalhos a:hover { background: var(--verde); color: #fff; border-color: var(--verde); }

/* Campeões da Série A (faixa de rolagem) */
.faixa-campeoes { display: flex; gap: 14px; overflow-x: auto; padding: 6px 4px 18px; scroll-snap-type: x proximity; scrollbar-color: var(--ouro) transparent; }
.faixa-campeoes .campeao-card { flex: 0 0 188px; scroll-snap-align: start; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12); border-radius: 18px; padding: 18px; color: #fff; }
.faixa-campeoes .ano { font: 800 2.6rem/1 var(--serif); color: var(--ouro); }
.faixa-campeoes .ed { font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: #9fb9aa; }
.faixa-campeoes .nome { font: 700 1.3rem/1.15 var(--serif); margin: 12px 0 4px; min-height: 2.3em; }
.faixa-campeoes .vice { font-size: .8rem; color: #b9cfc2; }

.numeros { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); }
.numero { background: var(--papel); border: 1px solid var(--linha); border-top: 4px solid var(--ouro); border-radius: var(--raio); padding: 16px 20px; box-shadow: var(--sombra); }
.numero b { display: block; font: 800 2.3rem/1.1 var(--serif); color: var(--verde); }
.numero span { color: var(--suave); font-size: .92rem; }

/* Destaques em cartões com ano */
.marcos { display: grid; gap: 18px; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); }
.marco { background: var(--creme); border-radius: var(--raio); padding: 24px; border: 1px solid var(--linha); }
.marco .ano { font: 800 3rem/1 var(--serif); color: var(--verde-2); }
.marco h3 { margin: 6px 0 8px; font-size: 1.35rem; }
.marco p { color: var(--suave); font-size: .95rem; margin: 0; }

.linha-tempo { list-style: none; margin: 0; padding: 0; border-left: 3px solid var(--ouro); }
.linha-tempo li { padding: 0 0 22px 22px; position: relative; }
.linha-tempo li::before { content: ""; position: absolute; left: -9px; top: 6px; width: 15px; height: 15px; border-radius: 50%; background: var(--verde); border: 3px solid var(--ouro); }
.linha-tempo b { font: 700 1.25rem var(--serif); color: var(--verde); }

/* Páginas internas */
.titulo-pagina { background:
    radial-gradient(700px 320px at 90% -20%, rgba(143,227,107,.18), transparent 60%),
    radial-gradient(500px 260px at 0% 120%, rgba(242,183,5,.14), transparent 60%),
    linear-gradient(160deg, #0a2e24, #06201a);
  color: #fff; padding: 44px 0 40px; position: relative; overflow: hidden; }
.titulo-pagina::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: linear-gradient(90deg, var(--ouro), var(--lima)); }
.titulo-pagina h1 { color: #fff; margin: 0; font-size: clamp(2.1rem, 5vw, 3.4rem); text-transform: uppercase; letter-spacing: .01em; }
.titulo-pagina p { color: #c4d8cb; margin: 10px 0 0; max-width: 44em; font-size: 1.05rem; }
.rastro { font-size: .84rem; margin-bottom: 12px; color: var(--ouro-claro); }
.rastro a { color: var(--ouro-claro); text-decoration: none; opacity: .85; }
.rastro a:hover { opacity: 1; text-decoration: underline; color: var(--ouro-claro); }

.documento { background: var(--papel); border: 1px solid var(--linha); border-radius: var(--raio); padding: clamp(22px, 4vw, 48px); max-width: 840px; margin: 36px auto; box-shadow: var(--sombra); }
.documento h2 { margin-top: 1.6em; padding-bottom: .3em; border-bottom: 3px solid var(--ouro); display: inline-block; }
.documento h2:first-child { margin-top: 0; }
.documento figure { margin: 1.4em 0; }
.documento figure img { border-radius: 12px; border: 1px solid var(--linha); margin-inline: auto; }
.documento figcaption { font-size: .88rem; color: var(--suave); text-align: center; margin-top: 6px; }
.documento table { width: 100%; border-collapse: collapse; margin: 1em 0 1.4em; font-size: .97rem; }
.documento th, .documento td { text-align: left; padding: 9px 10px; border-bottom: 1px solid var(--linha); vertical-align: top; }
.documento td { overflow-wrap: anywhere; }
.documento td:first-child { color: var(--suave); width: 52%; }
.documento td:last-child { font-weight: 600; color: var(--verde); }
.nota { font-size: .88rem; color: var(--suave); border-left: 4px solid var(--ouro); padding: 10px 16px; background: #fff8e1; border-radius: 0 12px 12px 0; margin: 1.4em 0 0; }

/* Leitor */
.leitor { background: #14201a; color: #fff; padding: 18px 0 32px; }
.palco { position: relative; max-width: 1120px; margin: 0 auto; background: #0b130f; border-radius: 8px; overflow: hidden; min-height: 200px; touch-action: pan-y; }
.palco img { width: 100%; height: auto; }
.seta { position: absolute; top: 50%; transform: translateY(-50%); width: 52px; height: 52px; border-radius: 50%; border: 0; background: rgba(0,0,0,.55); color: #fff; font-size: 1.6rem; cursor: pointer; display: grid; place-content: center; }
.seta:hover { background: var(--ouro); color: #111; }
.seta[disabled] { opacity: .25; cursor: default; }
.seta.ant { left: 10px; }
.seta.prox { right: 10px; }
.barra { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; justify-content: space-between; max-width: 1120px; margin: 12px auto; }
.barra .contador { font-variant-numeric: tabular-nums; color: var(--ouro-claro); font-weight: 600; }
.barra .acoes { display: flex; gap: 8px; flex-wrap: wrap; }
.barra .botao { padding: 8px 16px; font-size: .92rem; }
.tiras { display: flex; gap: 8px; overflow-x: auto; max-width: 1120px; margin: 0 auto; padding: 6px 0 10px; scrollbar-color: var(--ouro) #0b130f; }
.tiras button { flex: 0 0 auto; width: 120px; padding: 0; border: 2px solid transparent; border-radius: 6px; overflow: hidden; background: #0b130f; cursor: pointer; opacity: .6; }
.tiras button[aria-current="true"] { border-color: var(--ouro); opacity: 1; }
.tiras img { width: 100%; height: auto; }
.leitor:fullscreen { overflow: auto; padding: 12px; }
.leitor:fullscreen .palco { max-height: calc(100vh - 150px); display: grid; place-content: center; }
.leitor:fullscreen .palco img { max-height: calc(100vh - 150px); width: auto; margin: auto; }

.rodape { background: var(--verde); color: #cfe0d4; padding: 36px 0; margin-top: 0; border-top: 4px solid var(--ouro); font-size: .92rem; }
.rodape a { color: var(--ouro-claro); }
.rodape strong { color: #fff; }

.so-leitor { position: absolute; left: -9999px; }

@media (max-width: 640px) {
  body { font-size: 16px; }
  .topo { position: static; }
  .abertura { padding: 48px 0 56px; }
  .seta { width: 40px; height: 40px; font-size: 1.2rem; }
  .tiras button { width: 84px; }
  .documento td:first-child { width: auto; }
}
@media print {
  .topo, .rodape, .botoes, .barra, .tiras { display: none; }
  body { background: #fff; }
}

/* Clipagem */
.filtros { display: flex; flex-wrap: wrap; gap: 8px; margin: 28px 0 8px; }
.chip { font: 600 .9rem var(--sans); padding: 7px 16px; border-radius: 99px; border: 1px solid var(--linha); background: var(--papel); color: var(--verde); cursor: pointer; }
.chip:hover { border-color: var(--ouro); }
.chip[aria-pressed="true"] { background: var(--verde); color: #fff; border-color: var(--verde); }
.ano-clip { margin-top: 28px; }
.ano-clip[hidden], .recorte[hidden] { display: none; }
.mural { list-style: none; margin: 0; padding: 0; display: grid; gap: 18px; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); align-items: start; }
.recorte { background: var(--papel); border: 1px solid var(--linha); border-radius: var(--raio); overflow: hidden; }
.recorte-botao { display: block; width: 100%; padding: 0; border: 0; background: #ece6d2; cursor: zoom-in; }
.recorte-botao img { width: 100%; height: auto; aspect-ratio: auto; max-height: 340px; object-fit: contain; margin: 0 auto; }
.recorte-botao:hover img { opacity: .9; }
.legenda { padding: 10px 12px 12px; display: flex; flex-direction: column; gap: 2px; }
.legenda b { font: 700 .98rem/1.3 var(--serif); color: var(--verde); }
.legenda span { font-size: .82rem; color: var(--suave); }
.vazio { color: var(--suave); padding: 24px 0; }
.ampliado { border: 0; padding: 0; background: #14201a; color: #fff; width: min(1100px, 96vw); max-height: 96vh; border-radius: 10px; overflow: auto; }
.ampliado::backdrop { background: rgba(0, 0, 0, .75); }
.ampliado-barra { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 12px 16px; flex-wrap: wrap; position: sticky; top: 0; background: #14201a; z-index: 2; }
.ampliado-barra span { color: var(--ouro-claro); font-weight: 600; }
.ampliado-barra .botao { padding: 6px 14px; font-size: .9rem; margin-left: 6px; }
.ampliado-palco { position: relative; padding: 0 8px; }
.ampliado-palco img { margin: 0 auto; max-width: 100%; height: auto; background: #fff; }
.ampliado-titulo { text-align: center; padding: 12px 16px 18px; margin: 0; font-family: var(--serif); font-size: 1.1rem; }

/* Galeria de Campeões */
.painel-camp[hidden] { display: none; }
.painel-camp h2 { margin-top: 24px; }
.galeria-camp { display: grid; gap: 18px; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); align-items: start; }
.trofeu { background: var(--papel); border: 1px solid var(--linha); border-top: 4px solid var(--ouro); border-radius: var(--raio); padding: 14px 16px 16px; display: flex; flex-direction: column; gap: 10px; }
.trofeu header { display: flex; justify-content: space-between; align-items: baseline; }
.trofeu .ano { font: 700 1.6rem/1 var(--serif); color: var(--verde); }
.trofeu .ed { font-size: .82rem; color: var(--suave); text-transform: uppercase; letter-spacing: .06em; }
.trofeu .campeao { display: flex; gap: 12px; align-items: center; }
.trofeu .campeao small { font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; color: var(--ouro); font-weight: 700; }
.trofeu h3 { margin: 0; font-size: 1.25rem; }
.escudo { width: 52px; height: 52px; object-fit: contain; flex: 0 0 auto; background: #fff; border-radius: 6px; margin-right: 8px; vertical-align: middle; }
.trofeu .escudo { margin: 0; }
.trofeu .vice { font-size: .92rem; color: var(--suave); }
.trofeu .final { display: flex; flex-direction: column; gap: 2px; }
.trofeu .placar { font: 700 1.15rem var(--serif); color: var(--tinta); }
.nota-placar { color: var(--suave); font-size: .8rem; }
.foto-trofeu { display: block; text-decoration: none; color: var(--suave); border-top: 1px dashed var(--linha); padding-top: 10px; }
.foto-trofeu img { width: 100%; max-height: 220px; object-fit: cover; border-radius: 6px; }
.foto-trofeu.recorte-mini img { object-fit: contain; background: #ece6d2; max-height: 260px; }
.foto-trofeu span { display: block; font-size: .8rem; margin-top: 4px; }
.hall { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
.hall-item { display: flex; align-items: center; gap: 12px; background: var(--papel); border: 1px solid var(--linha); border-radius: var(--raio); padding: 12px 14px; }
.hall-item > div:nth-child(2), .hall-item > div:first-child { flex: 1; }
.hall-item b { display: block; font-family: var(--serif); color: var(--verde); }
.hall-item span { font-size: .85rem; color: var(--suave); }
.hall-item .escudo { margin: 0; }
.medalha { flex: 0 0 auto !important; width: 42px; height: 42px; border-radius: 50%; background: var(--ouro); color: #1a1a1a; display: grid; place-content: center; font: 700 1.2rem var(--serif); }
.feitos { margin: 8px 0 0; padding-left: 18px; font-size: .92rem; color: var(--suave); }

/* Resultados */
.rolagem { overflow-x: auto; border: 1px solid var(--linha); border-radius: var(--raio); background: var(--papel); }
.matriz { width: 100%; border-collapse: collapse; font-size: .93rem; min-width: 520px; }
.matriz th, .matriz td { padding: 8px 12px; text-align: left; border-bottom: 1px solid var(--linha); vertical-align: middle; }
.matriz thead th { background: var(--verde); color: #fff; font-weight: 600; position: sticky; top: 0; }
.matriz tbody th { font-weight: 600; color: var(--verde); white-space: nowrap; }
.matriz tbody tr:nth-child(even) { background: #faf5e6; }
.matriz .escudo { width: 26px; height: 26px; margin-right: 8px; }
.matriz small { color: var(--suave); }
details { margin-top: 12px; }
summary { cursor: pointer; color: var(--verde-2); font-weight: 600; padding: 6px 0; }
.barras { display: grid; gap: 6px; }
.barra-linha { display: grid; grid-template-columns: 110px 1fr 50px; gap: 10px; align-items: center; font-size: .9rem; }
.barra-trilho { background: #e9e2cc; border-radius: 99px; height: 14px; overflow: hidden; }
.barra-preench { display: block; height: 100%; border-radius: 99px; background: var(--verde-2); }
.barra-preench.ouro { background: var(--ouro); }
.barra-val { text-align: right; font-variant-numeric: tabular-nums; font-weight: 600; color: var(--verde); }
.navega-ed { display: flex; justify-content: space-between; margin: 32px 0 48px; }
.botao.vazado-escuro { background: transparent; color: var(--verde); border-color: var(--verde); }
.botao.vazado-escuro:hover { background: var(--verde); color: #fff; }
.lista-simples { margin: 0; padding-left: 18px; }
@media (max-width: 640px) { .barra-linha { grid-template-columns: 90px 1fr 42px; font-size: .82rem; } }

/* Galeria de fotos */
.fotos { list-style: none; margin: 20px 0 40px; padding: 0; columns: 3 240px; column-gap: 16px; }
.foto { break-inside: avoid; margin: 0 0 16px; background: var(--papel); border: 1px solid var(--linha); border-radius: var(--raio); overflow: hidden; }
.foto[hidden] { display: none; }
.foto-botao { display: block; width: 100%; padding: 0; border: 0; background: #ece6d2; cursor: zoom-in; }
.foto-botao img { width: 100%; height: auto; display: block; }
.foto-botao:hover img { opacity: .9; }
.foto-leg { display: block; padding: 8px 12px 10px; font-size: .86rem; color: var(--suave); line-height: 1.35; }

/* História */
.linha-hist { display: grid; gap: 0; margin: 8px 0 24px; }
.ano-hist { display: grid; grid-template-columns: 120px 1fr; gap: 24px; padding: 28px 0; border-top: 1px solid var(--linha); scroll-margin-top: 80px; }
.ano-marca b { font: 700 2.6rem/1 var(--serif); color: var(--ouro); position: sticky; top: 90px; }
.ano-corpo h2 { margin-bottom: .6em; }
.links-hist { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0 8px; }
.links-hist .botao { padding: 6px 14px; font-size: .9rem; }
.fonte-hist { font-size: .82rem; color: var(--suave); margin: 4px 0 0; }
.reis { list-style: none; margin: 0 0 20px; padding: 0; display: grid; gap: 8px; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); }
.reis a { display: flex; flex-direction: column; background: var(--papel); border: 1px solid var(--linha); border-left: 4px solid var(--ouro); border-radius: var(--raio); padding: 8px 12px; text-decoration: none; color: var(--tinta); }
.reis a:hover { border-left-color: var(--verde); }
.reis b { font-family: var(--serif); color: var(--verde); font-size: .9rem; }
.reis span { font-weight: 600; }
@media (max-width: 640px) { .ano-hist { grid-template-columns: 1fr; gap: 6px; } .ano-marca b { position: static; font-size: 2rem; } }

/* Jogos */
.barra-filtros { display: flex; flex-wrap: wrap; gap: 12px 16px; align-items: flex-end; margin: 12px 0 14px; }
.barra-filtros .filtros { margin: 0; }
.campo-filtro { display: flex; flex-direction: column; font-size: .8rem; color: var(--suave); gap: 4px; }
.campo-filtro input, .campo-filtro select { font: 1rem var(--sans); padding: 8px 12px; border: 1px solid var(--linha); border-radius: 8px; background: var(--papel); min-width: 200px; }
.cont-filtro { font-size: .85rem; color: var(--suave); padding-bottom: 10px; }
.matriz.jogos td { font-size: .92rem; }
.matriz tr[hidden] { display: none; }
.nw { white-space: nowrap; }
.vit { font-weight: 700; color: var(--verde); }
.pl { font-family: var(--serif); padding: 0 4px; }
.res-v { color: #1b7a3d; font-weight: 700; }
.res-d { color: var(--vermelho); font-weight: 700; }
.res-e { color: var(--suave); font-weight: 600; }

/* Releases */
.etapa { margin-top: 24px; }
.etapa[hidden], .release[hidden] { display: none; }
.release { background: var(--papel); border: 1px solid var(--linha); border-radius: var(--raio); margin: 8px 0; }
.release summary { cursor: pointer; padding: 12px 16px; font: 600 1rem var(--serif); color: var(--verde); list-style-position: inside; }
.release[open] summary { border-bottom: 1px solid var(--linha); }
.release-corpo { padding: 12px 18px 16px; max-width: 760px; }
.release-corpo p { margin: 0 0 .8em; }
.sub-release { font-style: italic; color: var(--suave); }
.lista-release { margin: 0 0 1em; padding-left: 20px; font-size: .95rem; }

/* Classificação */
.matriz.classif td.num, .matriz.classif th.num { text-align: right; font-variant-numeric: tabular-nums; }
.matriz.classif tbody tr.acesso td:first-child { box-shadow: inset 4px 0 0 #1b7a3d; }
.matriz.classif tbody tr.rebaixado td:first-child { box-shadow: inset 4px 0 0 var(--vermelho); }
.matriz.classif tbody tr.acesso { background: #e8f3ea; }
.matriz.classif tbody tr.rebaixado { background: #f9e8e6; }
.bloco-serie { margin-top: 20px; }
.bloco-serie[hidden] { display: none; }
.bloco-serie h3 { font: 600 1.15rem var(--serif); color: var(--verde); margin: 22px 0 8px; }
.bloco-serie h4 { font: 600 1rem var(--sans); color: var(--suave); margin: 18px 0 6px; }
.grupos { margin-top: 18px; background: var(--papel); border: 1px solid var(--linha); border-radius: var(--raio); padding: 4px 16px 12px; }
.grupos summary { cursor: pointer; font: 600 1rem var(--serif); color: var(--verde); padding: 10px 0; }
.legendas { margin: 8px 0 0; font-size: .85rem; display: flex; flex-wrap: wrap; gap: 8px 16px; }
.leg { padding-left: 10px; border-left: 4px solid; }
.leg.acesso { border-color: #1b7a3d; }
.leg.rebaixado { border-color: var(--vermelho); }
.nota-lista { margin: 6px 0 0; padding-left: 18px; font-size: .85rem; color: var(--suave); }

/* ---- Visual 2: refinos em componentes e responsivo ---- */
.rodape { background: linear-gradient(160deg, #0a2e24, #06201a); border-top: 0; padding: 48px 0; position: relative; }
.rodape::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px; background: linear-gradient(90deg, var(--ouro), var(--lima)); }
.rodape strong { font: 800 1.3rem var(--serif); letter-spacing: .02em; }
.rolagem { border-radius: var(--raio); box-shadow: var(--sombra); border-color: var(--linha); }
.matriz thead th { background: var(--verde); font-weight: 600; font-size: .85rem; letter-spacing: .04em; text-transform: uppercase; }
.matriz tbody tr { transition: background .12s; }
.matriz tbody tr:nth-child(even) { background: #f7faf6; }
.matriz tbody tr:hover { background: #fff6d6; }
.chip { padding: 8px 18px; border-color: var(--linha); box-shadow: var(--sombra); transition: .15s; }
.chip:hover { border-color: var(--verde); transform: translateY(-1px); }
.chip[aria-pressed="true"] { background: var(--verde); border-color: var(--verde); box-shadow: 0 6px 16px rgba(10,46,36,.25); }
.campo-filtro input, .campo-filtro select { border-radius: 99px; padding: 9px 16px; }
.release, .recorte, .foto, .trofeu, .hall-item, .grupos { box-shadow: var(--sombra); border-color: var(--linha); }
.release summary { font-family: var(--serif); font-size: 1.2rem; }
.trofeu { border-top-color: var(--ouro); }
.leitor { background: #0a1611; }
.so-leitor { position: absolute; left: -9999px; }

@media (max-width: 900px) {
  .abertura { padding: 44px 0 100px; }
  .abertura .miolo { grid-template-columns: 1fr; gap: 36px; }
  .colagem { transform: none; grid-template-rows: 110px 140px 110px; }
  .faixa-numeros .miolo { grid-template-columns: repeat(2, 1fr); }
  .destinos { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 190px; }
  .destino, .destino.largo { grid-column: span 1; }
  .menu-botao { display: inline-block; }
  .menu { display: none; position: absolute; left: 0; right: 0; top: 100%; flex-direction: column; align-items: stretch; background: #06201a; padding: 10px 20px 18px; gap: 4px; border-bottom: 1px solid rgba(255,255,255,.1); }
  .menu.aberto { display: flex; }
  .menu a { padding: 12px 16px; font-size: 1rem; }
  .topo .miolo { position: relative; }
}
@media (max-width: 640px) {
  body { font-size: 16px; }
  .topo { position: sticky; }
  .bloco { padding: 44px 0; }
  .destinos { grid-template-columns: 1fr; grid-auto-rows: 170px; }
  .destino h3 { font-size: 1.6rem; }
  .faixa-numeros .item { padding: 16px 18px; }
  .marca { font-size: 1.35rem; }
}
@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; scroll-behavior: auto !important; }
}
.matriz.classif td:nth-child(2) { min-width: 170px; }

/* História: origem */
.origem { padding-top: 24px; }
.passos { list-style: none; margin: 0; padding: 0; display: grid; gap: 18px; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); counter-reset: passo; }
.passo { background: var(--papel); border: 1px solid var(--linha); border-radius: var(--raio); padding: 22px 22px 20px; box-shadow: var(--sombra); position: relative; }
.passo .n { display: inline-grid; place-content: center; width: 36px; height: 36px; border-radius: 50%; background: var(--ouro); color: #1a1a1a; font: 800 1.15rem var(--serif); margin-bottom: 10px; }
.passo h3 { margin: 0 0 6px; font-size: 1.4rem; }
.passo p { margin: 0; color: var(--suave); font-size: .96rem; }
.sub-origem { margin: 34px 0 12px; }
.sedes { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); }
.sedes li { background: var(--verde); color: #d3e3d8; border-radius: var(--raio); padding: 18px 20px; position: relative; }
.sedes li b { display: block; font: 800 1.35rem var(--serif); color: var(--ouro); }
.sedes li span { font-size: .9rem; }
.sedes li:not(:last-child)::after { content: "→"; position: absolute; right: -13px; top: 50%; transform: translateY(-50%); width: 24px; height: 24px; border-radius: 50%; background: var(--ouro); color: #1a1a1a; font-weight: 800; display: grid; place-content: center; font-size: .85rem; z-index: 1; }
.midia-origem { margin-top: 18px; background: #fff8e1; border-left: 4px solid var(--ouro); border-radius: 0 var(--raio) var(--raio) 0; padding: 16px 20px; }
.fecho-origem { margin: 22px 0 8px; padding: 20px 26px; border-left: 6px solid var(--verde-2); background: var(--papel); border-radius: 0 var(--raio) var(--raio) 0; font: 600 1.25rem/1.4 var(--serif); color: var(--verde); box-shadow: var(--sombra); }
@media (max-width: 900px) { .sedes li:not(:last-child)::after { right: auto; left: 50%; top: auto; bottom: -13px; transform: translateX(-50%) rotate(90deg); } }

/* Vídeos */
.nav-videos { margin: 18px 0 8px; }
.sec-video { margin-top: 18px; }
.sec-video[hidden], .etapa-video[hidden], .cartao-video[hidden] { display: none; }
.sec-video .cabeca-bloco { margin: 18px 0 14px; }
.quadro-video { position: relative; aspect-ratio: 16 / 9; background: #000; border-radius: var(--raio); overflow: hidden; box-shadow: var(--sombra-alta); }
.quadro-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.destaque-video { margin: 0 0 28px; max-width: 880px; }
.destaque-video h3 { margin: 14px 0 4px; }
.legenda-video { color: var(--suave); font-size: .93rem; margin: 0; }
.etapa-video { margin-top: 26px; }
.etapa-video h3 { font-size: 1.5rem; margin-bottom: 12px; }
.etapa-video h3 small { font: 700 .75rem var(--sans); color: #1a1a1a; background: var(--ouro); border-radius: 99px; padding: 2px 10px; vertical-align: middle; margin-left: 6px; }
.grade-video { list-style: none; margin: 0; padding: 0; display: grid; gap: 18px; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
.cartao-video { background: var(--papel); border: 1px solid var(--linha); border-radius: var(--raio); overflow: hidden; box-shadow: var(--sombra); transition: transform .18s, box-shadow .18s; }
.cartao-video:hover { transform: translateY(-4px); box-shadow: var(--sombra-alta); }
.abrir-video { all: unset; box-sizing: border-box; display: block; width: 100%; cursor: pointer; }
.abrir-video:focus-visible { outline: 3px solid var(--ouro); outline-offset: -3px; }
.miniatura { position: relative; display: block; aspect-ratio: 16 / 9; background: var(--verde); }
.miniatura img { width: 100%; height: 100%; object-fit: cover; }
.play { position: absolute; left: 50%; top: 50%; width: 54px; height: 54px; margin: -27px 0 0 -27px; border-radius: 50%; background: rgba(10,46,36,.78); border: 2px solid #fff; transition: background .15s, transform .15s; }
.play::after { content: ""; position: absolute; left: 21px; top: 15px; border-style: solid; border-width: 11px 0 11px 18px; border-color: transparent transparent transparent #fff; }
.cartao-video:hover .play { background: var(--ouro); transform: scale(1.08); }
.cartao-video:hover .play::after { border-left-color: #1a1a1a; }
.info-video { display: block; padding: 12px 14px 14px; }
.info-video b { display: block; font: 700 1.15rem/1.2 var(--serif); color: var(--verde); }
.info-video small { display: block; margin-top: 4px; color: var(--suave); font-size: .8rem; }
#janela-video { width: min(960px, 96vw); border: 0; border-radius: 20px; padding: 16px; background: var(--papel); box-shadow: 0 30px 80px rgba(0,0,0,.5); }
#janela-video::backdrop { background: rgba(6,32,26,.82); }
.janela-barra { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
.janela-barra > span { font: 800 1.4rem var(--serif); color: var(--verde); }
.janela-barra .botao { padding: 8px 18px; font-size: .88rem; }
.video-local { position: absolute; inset: 0; display: grid; place-content: center; text-align: center; color: #fff; text-decoration: none; }
.video-local img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .45; }
.video-local span { position: relative; font: 800 1.6rem var(--serif); }
.video-local small { display: block; margin: 6px auto 0; max-width: 26em; font: 400 .85rem var(--sans); color: #dbe8df; }

/* Logo da Floripa Cup */
.marca img.logo-fc { height: 34px; width: auto; background: none; border-radius: 0; padding: 0; object-fit: contain; }
.marca { gap: 14px; }
.marca span { padding-left: 14px; border-left: 1px solid rgba(255,255,255,.22); font-size: 1.3rem; }
.logo-hero { width: min(340px, 80%); height: auto; margin: 0 0 22px; filter: drop-shadow(0 8px 22px rgba(0,0,0,.35)); }
.logo-rodape { width: 200px; height: auto; margin-bottom: 14px; }
@media (max-width: 760px) { .marca span { display: none; } .marca img.logo-fc { height: 30px; } }

/* Coberturas da época (textos e fotos do blog da Fut7-SC) */
.post-epoca{padding:14px 0 6px;border-top:1px solid rgba(10,46,36,.14)}
.post-epoca h3{font-family:"Barlow Condensed",sans-serif;font-size:1.35rem;margin:0 0 6px;color:var(--verde)}
.post-corpo p{margin:.4em 0;line-height:1.6}
.fotos-post{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;margin:10px 0 8px}
.fotos-post a{display:block;border-radius:8px;overflow:hidden;background:#dfe6df}
.fotos-post img{display:block;width:100%;height:150px;object-fit:cover}

/* Escudos das equipes */
.numero-escudo{display:flex;align-items:center;justify-content:center}
.numero-escudo img{width:84px;height:84px;object-fit:contain}
.grade-escudos{display:grid;grid-template-columns:repeat(auto-fill,minmax(116px,1fr));gap:12px;list-style:none;padding:0;margin:16px 0}
.grade-escudos li a{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 8px;border-radius:10px;background:#fff;border:1px solid rgba(10,46,36,.12);text-decoration:none;color:var(--verde);height:100%;text-align:center;font-weight:600;font-size:.92rem}
.grade-escudos li a:hover{border-color:var(--ouro)}
.grade-escudos img{width:84px;height:84px;object-fit:contain}

/* Classificação: escudo e nome na mesma linha */
.equipe-com-escudo{display:inline-flex;align-items:center;gap:8px}
.equipe-com-escudo .escudo{display:inline-block;margin:0;flex:0 0 26px}
