/* =====================================================================
   CANYONYAS - a folha de estilos (versao 2, 09-10-2026).

   O Paulo achou a versao 1 (areia que escurecia ate a umbra, cartoes
   brancos em todo o lado) com "aspecto antiquado", com textos sobrepostos
   e coisas a rolar de lado. A versao 2:
   - branco e quase-preto, com o terracota da marca so no que importa e os
     numeros grandes em degrade de rocha (ocre -> terracota -> tijolo);
   - fotografias enormes a toda a largura, o texto branco por cima;
   - A ASSINATURA: a fotografia acaba no CORTE do proprio canhao, recortado
     na cor da pagina (.capa__corte, .mini-corte--cartao) -- a pagina e a
     rocha e a fotografia o ar por cima dela;
   - letras grandes e apertadas (Outfit 800), uma ideia por seccao, muito ar;
   - nada rola de lado: graficos com versao estreita (.grafico--estreito),
     tabelas deitadas ao contrario no telemovel, menu proprio no telemovel.
   Letras: Outfit (titulos), Albert Sans (texto), JetBrains Mono (so eixos).
   ===================================================================== */

:root {
    --t0: #213480;
  --t1: #2953a5;
  --t2: #367ac1;
  --t3: #5da3d3;
  --t4: #9ccce3;
  --t5: #e7f0f5;
  --t6: #ebdaa6;
  --t7: #ebb761;
  --t8: #e68c2c;
  --t9: #d1601f;
  --t10: #ae4022;
  --papel: #FFFFFF;
  --papel-2: #F5F3F0;
  --papel-3: #EAE5E0;
  --papel-4: #DCD5CD;
  --cartao: #FFFFFF;
  --tinta: #15100E;
  --tinta-2: #5A514C;
  --tinta-3: #8C837D;
  --linha: #E8E3DE;
  --linha-forte: #D3CBC3;
  --terra: #C9502B;
  --terra-2: #A33C1B;
  --terra-claro: #FBE8DF;
  --ocre: #E0A458;
  --ocre-claro: #FBEFDD;
  --rio: #1F9E8F;
  --rio-claro: #DDF3EF;
  --gelo-fundo: #E3EEF7; --gelo-tinta: #2C5A82;
  --umbra: #100C0A;
  --umbra-2: #1B1512;
  --umbra-3: #271F1B;
  --estrato-1: #E0A458;
  --estrato-2: #D4794A;
  --estrato-3: #C9502B;
  --estrato-4: #8E3517;
  --rocha: linear-gradient(160deg, #E8A85A 0%, #D4652F 48%, #9E3A1B 100%);
  --chao: var(--papel);
  --realce: rgba(201, 80, 43, .09);
  --letra-titulo: "Outfit", "Albert Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --letra: "Albert Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --mono: "JetBrains Mono", ui-monospace, Consolas, monospace;
  --raio: 24px;
  --raio-p: 14px;
  --topo: 64px;
  --sombra: 0 30px 70px -36px rgba(20, 12, 8, .38);
  --recorte: clamp(64px, 10vw, 150px);
  color-scheme: light;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --papel: #0F0C0B; --papel-2: #181413; --papel-3: #231D1B; --papel-4: #302825; --cartao: #1B1615;
    --tinta: #F5F1ED; --tinta-2: #C3B9B2; --tinta-3: #8F8580;
    --linha: #2A2321; --linha-forte: #3E3532; --terra: #EC6A3F; --terra-2: #F48D64; --terra-claro: #3A1E14;
    --ocre-claro: #33261A; --rio-claro: #123430; --umbra: #070504; --umbra-2: #141010; --umbra-3: #1F1917;
    --gelo-fundo: #1E3A52; --gelo-tinta: #CFE3F5; --realce: rgba(236, 106, 63, .14);
    --sombra: 0 30px 70px -36px rgba(0, 0, 0, .8);
    color-scheme: dark;
  }
}
:root[data-theme="dark"] {
  --papel: #0F0C0B; --papel-2: #181413; --papel-3: #231D1B; --papel-4: #302825; --cartao: #1B1615;
  --tinta: #F5F1ED; --tinta-2: #C3B9B2; --tinta-3: #8F8580;
  --linha: #2A2321; --linha-forte: #3E3532; --terra: #EC6A3F; --terra-2: #F48D64; --terra-claro: #3A1E14;
  --ocre-claro: #33261A; --rio-claro: #123430; --umbra: #070504; --umbra-2: #141010; --umbra-3: #1F1917;
  --gelo-fundo: #1E3A52; --gelo-tinta: #CFE3F5; --realce: rgba(236, 106, 63, .14);
  --sombra: 0 30px 70px -36px rgba(0, 0, 0, .8);
  color-scheme: dark;
}

/* ---------------------------------------------------------------- base */
*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 124px; }
html.i18n-espera body { visibility: hidden; }
body { margin: 0; background: var(--papel); color: var(--tinta); font: 400 17px/1.6 var(--letra); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; overflow-x: clip; }
::selection { background: var(--terra); color: #fff; }
img { max-width: 100%; height: auto; }
a { color: var(--terra); text-decoration: none; }
a:hover { text-decoration: underline; text-underline-offset: 3px; }
button { font: inherit; color: inherit; }
svg { display: block; }
.envolve { width: min(1200px, 100% - 40px); margin-inline: auto; }
.estreito { max-width: 760px; }
.so-para-leitores { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.saltar { position: absolute; left: 8px; top: -60px; background: var(--terra); color: #fff; padding: 8px 14px; border-radius: 8px; z-index: 90; }
.saltar:focus { top: 8px; }
.pequeno { font-size: .86rem; }
.discreto { color: var(--tinta-3); }
.bandeira { width: 20px; height: 15px; border-radius: 3px; vertical-align: -2px; margin-right: 6px; object-fit: cover; box-shadow: 0 0 0 1px rgba(0,0,0,.08); }
.rola, .tabela-rola { overflow-x: auto; }
hr { border: 0; border-top: 1px solid var(--linha); }
:focus-visible { outline: 2.5px solid var(--terra); outline-offset: 3px; border-radius: 6px; }

/* as duas versoes dos graficos e das tabelas: larga no computador, estreita no telemovel */
.grafico--estreito, .so-estreito { display: none; }
@media (max-width: 640px) {
  .grafico--largo, .so-largo { display: none !important; }
  .grafico--estreito, .so-estreito { display: block; }
}

/* ---------------------------------------------------------------- titulos */
.h1, .h2, .h3, .h4, .titulo-seccao, .capa__titulo, .tile__nome, .numero__valor {
  font-family: var(--letra-titulo); font-weight: 800; letter-spacing: -.04em; line-height: 1; margin: 0; }
.h1 { font-size: clamp(2.6rem, 6.4vw, 5.4rem); line-height: .96; }
.h2, .titulo-seccao { font-size: clamp(2.1rem, 4.8vw, 3.9rem); }
.h3 { font-size: clamp(1.45rem, 2.4vw, 2rem); font-weight: 700; letter-spacing: -.03em; line-height: 1.1; }
.h4 { font-size: 1.05rem; letter-spacing: -.01em; line-height: 1.3; font-weight: 600; }
.titulo-seccao { text-align: center; }
.sobretitulo { margin: 0 0 14px; font: 600 1rem/1.3 var(--letra-titulo); letter-spacing: -.005em; color: var(--terra); }
.sobretitulo .bandeira { margin-right: 8px; }
.lede { font-size: clamp(1.08rem, 1.6vw, 1.35rem); line-height: 1.5; color: var(--tinta-2); max-width: 58ch; margin: 18px 0 0; }
.cab-seccao { margin-bottom: clamp(32px, 4vw, 52px); }
.cab-seccao .h2 { max-width: 18ch; }
.cab-seccao--centro, .cab-centro { text-align: center; }
.cab-seccao--centro .h2, .cab-seccao--centro .lede, .cab-centro .lede { margin-inline: auto; }
.cab-seccao--linha { display: flex; justify-content: space-between; align-items: end; gap: 24px 40px; flex-wrap: wrap; }
.cab-centro { margin-bottom: 40px; }
.texto-longo p { max-width: 68ch; }
.texto-longo h2 { margin-top: 40px; }

/* ---------------------------------------------------------------- faixas (seccoes) */
.faixa { padding: clamp(72px, 10vw, 140px) 0; background: var(--chao); }
.faixa--estreita { padding: 8px 0 0; }
.faixa--cab-pagina { padding: clamp(56px, 8vw, 104px) 0 8px; }
.faixa--cab-pagina + .faixa { padding-top: clamp(36px, 5vw, 56px); }
.nivel-0, .nivel-2 { --chao: var(--papel); }
.nivel-1, .nivel-3 { --chao: var(--papel-2); }
.nivel-4 { --chao: var(--umbra); background: var(--umbra); color: #F5F1ED;
  --tinta: #F5F1ED; --tinta-2: #C9BEB6; --tinta-3: #948A84; --linha: #2E2622; --linha-forte: #463B36;
  --cartao: var(--umbra-2); --terra: #F08A5B; --terra-claro: #3D2217; --papel: var(--umbra); --papel-2: var(--umbra-2);
  --papel-3: var(--umbra-3); --ocre-claro: #4A3419; --rio-claro: #163A36; }
.nivel-4 a { color: #F6B98F; }
.nivel-4 .sobretitulo { color: var(--ocre); }

/* ---------------------------------------------------------------- botoes e ligacoes */
.liga { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; color: var(--terra); background: none; border: 0; padding: 0; cursor: pointer; font-size: 1.02rem; }
.liga::after { content: "›"; font-size: 1.25em; line-height: 1; transition: transform .2s; }
.liga:hover::after { transform: translateX(3px); }
.liga:hover { text-decoration: none; }
.abertura__ligacoes { display: flex; gap: 26px; flex-wrap: wrap; margin: 22px 0 0; }
.pilula, .botao { display: inline-flex; align-items: center; gap: 8px; background: var(--tinta); color: var(--papel); border: 0; border-radius: 999px; padding: 12px 22px; font-weight: 600; cursor: pointer; font-size: .98rem; transition: transform .2s, background .2s; }
.pilula:hover, .botao:hover { text-decoration: none; transform: scale(1.03); }
.pilula--clara { background: #fff; color: #15100E; }
.botao--vazado { background: transparent; color: var(--tinta); box-shadow: inset 0 0 0 1.5px var(--linha-forte); }
.ligacao-seta { font-weight: 600; }
.ligacao-seta::after { content: " →"; }
.ligacao-seta--adormecida { color: var(--tinta-3); cursor: default; }
.ligacao-seta--adormecida::after { content: ""; }
.selo { display: inline-block; background: rgba(224, 164, 88, .2); color: inherit; border-radius: 999px; padding: 2px 10px; font: 600 .8rem/1.5 var(--letra); }
.chips { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.chip { display: inline-flex; align-items: center; gap: 8px; border-radius: 999px; padding: 9px 15px; font-weight: 600; font-size: .92rem; background: var(--papel-2); }
.chip__icone { width: 16px; height: 16px; }
.chip--melhor { background: var(--rio-claro); color: #0E5D54; }
.chip--calor { background: var(--terra-claro); color: var(--terra-2); }
.chip--gelo { background: var(--gelo-fundo); color: var(--gelo-tinta); }
.chip--chuva { background: var(--papel-3); color: var(--tinta-2); }
:root[data-theme="dark"] .chip--melhor { color: #E6F4F1; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .chip--melhor { color: #E6F4F1; } }
.icone { width: 22px; height: 22px; flex: none; color: var(--terra); }
.icone--p { width: 16px; height: 16px; color: var(--tinta-3); }

/* ---------------------------------------------------------------- cabecalho */
.topo { position: sticky; top: 0; z-index: 40; height: var(--topo); background: color-mix(in srgb, var(--papel) 80%, transparent);
  backdrop-filter: saturate(180%) blur(20px); -webkit-backdrop-filter: saturate(180%) blur(20px);
  border-bottom: 1px solid color-mix(in srgb, var(--linha) 80%, transparent); transition: background .3s, border-color .3s, color .3s; }
.com-capa .topo { margin-bottom: calc(-1 * var(--topo)); }
.topo__linha { display: flex; align-items: center; gap: 28px; height: 100%; }
.marca-nome { display: inline-flex; align-items: center; gap: 10px; color: var(--tinta); font-family: var(--letra-titulo); font-weight: 700; font-size: 1.3rem; letter-spacing: -.035em; }
.marca-nome:hover { text-decoration: none; }
.marca-simbolo { width: 30px; height: 30px; border-radius: 8px; }
.topo__nav { display: flex; gap: 2px; flex: 1; }
.topo__nav a { color: var(--tinta-2); font-weight: 500; padding: 8px 12px; border-radius: 999px; font-size: .94rem; transition: color .2s; }
.topo__nav a:hover { color: var(--tinta); text-decoration: none; }
.topo__nav a[aria-current="page"] { color: var(--tinta); font-weight: 600; }
.topo__ferramentas { display: flex; align-items: center; gap: 4px; margin-left: auto; }
.tema { background: none; border: 0; width: 38px; height: 38px; border-radius: 999px; display: grid; place-items: center; cursor: pointer; color: var(--tinta); }
.tema:hover { background: color-mix(in srgb, var(--tinta) 8%, transparent); }
.linguas-menu { position: relative; }
.linguas-menu summary { list-style: none; display: inline-flex; align-items: center; gap: 6px; cursor: pointer; padding: 8px 12px; border-radius: 999px; font: 600 .84rem/1 var(--letra); letter-spacing: .02em; }
.linguas-menu summary::-webkit-details-marker { display: none; }
.linguas-menu summary:hover { background: color-mix(in srgb, var(--tinta) 8%, transparent); }
.linguas-menu ul { position: absolute; right: 0; top: calc(100% + 10px); margin: 0; padding: 6px; list-style: none; background: var(--cartao); color: var(--tinta); border-radius: 16px; box-shadow: var(--sombra), 0 0 0 1px var(--linha); min-width: 200px; z-index: 45; }
.linguas-menu li button { display: flex; width: 100%; align-items: center; gap: 10px; background: none; border: 0; padding: 10px 12px; border-radius: 10px; cursor: pointer; text-align: left; }
.linguas-menu li button:hover, .linguas-menu li button[aria-pressed="true"] { background: var(--papel-2); }
.linguas-menu__codigo { font: 600 .74rem/1 var(--mono); color: var(--terra); width: 24px; }
/* por cima da fotografia: transparente e branco, ate se descer */
.topo--escuro:not(.topo--solido) { background: transparent; border-color: transparent; backdrop-filter: none; -webkit-backdrop-filter: none; }
.topo--escuro:not(.topo--solido) .marca-nome,
.topo--escuro:not(.topo--solido) .topo__nav a,
.topo--escuro:not(.topo--solido) .tema,
.topo--escuro:not(.topo--solido) .linguas-menu summary,
.topo--escuro:not(.topo--solido) .menu-movel summary { color: #fff; }
.topo--escuro:not(.topo--solido) .topo__nav a { color: rgba(255, 255, 255, .82); }
.topo--escuro:not(.topo--solido) .topo__nav a:hover { color: #fff; }
.topo--escuro:not(.topo--solido)::before { content: ""; position: absolute; inset: 0 0 -40px; z-index: -1; pointer-events: none;
  background: linear-gradient(rgba(8, 5, 3, .45), transparent); }
/* o menu do telemovel */
.menu-movel { display: none; position: static; }
.menu-movel summary { list-style: none; width: 42px; height: 42px; border-radius: 999px; display: grid; place-content: center; gap: 6px; cursor: pointer; color: var(--tinta); }
.menu-movel summary::-webkit-details-marker { display: none; }
.menu-movel__risca { display: block; width: 20px; height: 2px; border-radius: 2px; background: currentColor; transition: transform .25s; }
.menu-movel[open] .menu-movel__risca:first-child { transform: translateY(4px) rotate(45deg); }
.menu-movel[open] .menu-movel__risca:last-child { transform: translateY(-4px) rotate(-45deg); }
.menu-movel__painel { position: fixed; left: 0; right: 0; top: var(--topo); max-height: calc(100vh - var(--topo)); overflow-y: auto;
  background: var(--papel); color: var(--tinta); padding: 8px 20px 28px; box-shadow: 0 30px 50px -20px rgba(0, 0, 0, .35); border-top: 1px solid var(--linha); }
.menu-movel__painel a { display: block; padding: 14px 2px; border-bottom: 1px solid var(--linha); color: var(--tinta); font: 600 1.3rem/1.2 var(--letra-titulo); letter-spacing: -.02em; }
.menu-movel__painel a[aria-current="page"] { color: var(--terra); }
.menu-movel__painel a:hover { text-decoration: none; color: var(--terra); }
.menu-movel[open] summary { color: var(--tinta) !important; background: var(--papel); }
/* com o menu aberto, o cabecalho por cima da fotografia fica solido */
.topo--escuro:not(.topo--solido):has(.menu-movel[open]) { background: var(--papel); border-color: var(--linha); }
.topo--escuro:not(.topo--solido):has(.menu-movel[open])::before { display: none; }
.topo--escuro:not(.topo--solido):has(.menu-movel[open]) .marca-nome,
.topo--escuro:not(.topo--solido):has(.menu-movel[open]) .tema,
.topo--escuro:not(.topo--solido):has(.menu-movel[open]) .linguas-menu summary { color: var(--tinta); }
@media (max-width: 1080px) { .esconde-medio { display: none !important; } }
@media (max-width: 900px) {
  .topo__nav { display: none; }
  .menu-movel { display: block; }
  .topo__linha { gap: 12px; }
}
@media (max-width: 760px) { .esconde-movel { display: none !important; } .marca-nome { font-size: 1.18rem; } }

/* ---------------------------------------------------------------- a capa (abertura com fotografia) */
.capa { position: relative; isolation: isolate; overflow: hidden; display: flex; align-items: flex-end;
  min-height: min(94vh, 940px); background: var(--umbra); color: #fff; }
.capa__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; animation: capa-entra 1.6s cubic-bezier(.2, .7, .2, 1) both; }
.capa__img--alta { object-position: 50% 35%; }
@keyframes capa-entra { from { transform: scale(1.06); opacity: .6; } to { transform: none; opacity: 1; } }
.capa__veu { position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(180deg, rgba(8, 5, 3, .5) 0%, rgba(8, 5, 3, .08) 26%, rgba(8, 5, 3, .1) 46%, rgba(8, 5, 3, .72) 100%); }
.capa__texto { position: relative; padding: calc(var(--topo) + 56px) 0 calc(var(--recorte) + clamp(28px, 4vw, 56px)); }
.capa__sobre { margin: 14px 0 0; font: 600 1rem/1.4 var(--letra-titulo); color: rgba(255, 255, 255, .9); display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.capa__titulo { font-size: clamp(3rem, 10vw, 8.6rem); line-height: .92; letter-spacing: -.05em; margin: 22px 0 0; max-width: 13ch;
  text-shadow: 0 2px 40px rgba(0, 0, 0, .25); text-wrap: balance; overflow-wrap: break-word; }
.capa--inicio .capa__titulo { font-size: clamp(2.7rem, 7vw, 6.6rem); max-width: 14ch; }
.capa__frase { margin: 22px 0 0; font-size: clamp(1.1rem, 1.9vw, 1.55rem); line-height: 1.4; color: rgba(255, 255, 255, .9); max-width: 40ch; text-wrap: pretty; }
.capa__ligacoes { display: flex; flex-wrap: wrap; gap: 10px; margin: 30px 0 0; }
.capa__ligacoes .liga { color: #fff; background: rgba(255, 255, 255, .16); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
  border-radius: 999px; padding: 11px 20px; font-size: .98rem; transition: background .2s; }
.capa__ligacoes .liga:hover { background: rgba(255, 255, 255, .28); }
.capa__ligacoes .liga:first-child { background: #fff; color: #15100E; }
.capa__ligacoes .liga::after { display: none; }
.capa .migalhas { justify-content: flex-start; color: rgba(255, 255, 255, .65); }
.capa .migalhas a { color: rgba(255, 255, 255, .85); }
.capa .selo { background: rgba(255, 255, 255, .18); color: #fff; }
.capa__corte { position: absolute; left: 0; right: 0; bottom: -1px; width: 100%; height: var(--recorte); z-index: 1; pointer-events: none; }
.capa__corte path { fill: var(--capa-chao, var(--papel)); }
.capa__corte circle { display: none; }
.pagina-canyon { --capa-chao: var(--papel-2); }
.capa__credito { position: absolute; top: calc(var(--topo) + 14px); right: 20px; margin: 0; z-index: 2; max-width: min(46ch, 60%); text-align: right;
  font-size: .72rem; line-height: 1.4; color: rgba(255, 255, 255, .62); }
.capa__credito a { color: rgba(255, 255, 255, .82); }
.capa--sem-foto { min-height: 0; background: radial-gradient(120% 90% at 20% 0%, #3A2016 0%, var(--umbra) 70%); }
.capa--sem-foto .capa__texto { padding-bottom: calc(var(--recorte) + 40px); }
.capa .pesquisa { margin: 32px 0 0; box-shadow: 0 20px 60px -20px rgba(0, 0, 0, .55); }
@media (max-width: 640px) {
  .capa { min-height: 88vh; }
  .capa__texto { padding-top: calc(var(--topo) + 48px); }
  .capa__credito { max-width: 70%; }
  .capa__ligacoes .liga { padding: 10px 16px; font-size: .92rem; }
}

/* ---------------------------------------------------------------- migalhas, barra do canhao */
.migalhas { font-size: .86rem; color: var(--tinta-3); display: flex; flex-wrap: wrap; gap: 6px; }
.migalhas a { color: var(--tinta-2); }
.faixa--cab-pagina .migalhas { margin-bottom: 26px; }
.barra-canyon { position: sticky; top: var(--topo); z-index: 30; background: color-mix(in srgb, var(--papel-2) 86%, transparent);
  backdrop-filter: saturate(180%) blur(18px); -webkit-backdrop-filter: saturate(180%) blur(18px); border-bottom: 1px solid var(--linha); }
.barra-canyon__linha { display: flex; align-items: center; gap: 18px; min-height: 52px; }
.barra-canyon__nome { color: var(--tinta); font-family: var(--letra-titulo); font-weight: 700; font-size: 1.1rem; letter-spacing: -.025em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 34%; }
.barra-canyon__nome:hover { text-decoration: none; }
.barra-canyon__ligacoes { display: flex; gap: 2px; flex: 1; min-width: 0; overflow: hidden; }
.barra-canyon__ligacoes a { color: var(--tinta-2); font-size: .9rem; padding: 6px 10px; border-radius: 999px; white-space: nowrap; }
.barra-canyon__ligacoes a:hover { color: var(--tinta); text-decoration: none; }
.barra-canyon .pilula { padding: 8px 16px; font-size: .86rem; margin-left: auto; background: var(--terra); color: #fff; }
@media (max-width: 760px) {
  .barra-canyon__nome, .barra-canyon .pilula { display: none; }
  .barra-canyon__ligacoes { justify-content: space-between; }
  .barra-canyon__ligacoes a { padding: 6px 4px; font-size: .86rem; }
}

/* ---------------------------------------------------------------- graficos (SVG) */
.grafico { width: 100%; height: auto; font-family: var(--mono); overflow: visible; }
.grafico__grelha { stroke: var(--linha-forte); stroke-width: 1; stroke-dasharray: 2 5; }
.grafico__eixo, .corte__eixo, .c-eixo { fill: var(--tinta-3); font-size: 12px; font-family: var(--mono); }

/* ---------------------------------------------------------------- o corte */
.corte-caixa { margin-top: 8px; }
.corte__rocha { stroke: none; }
.corte__linha { fill: none; stroke: var(--tinta); stroke-width: 2; stroke-linejoin: round; }
.corte__rio { fill: var(--rio); }
.escala__mon { fill: var(--tinta); opacity: .92; }
.corte__cota { fill: var(--tinta-2); font-size: 12.5px; font-family: var(--mono); font-weight: 500; }
.corte__bordo { fill: var(--chao); stroke: var(--terra); stroke-width: 2.5; }
.corte__cota-linha { stroke: var(--terra); stroke-width: 1.4; stroke-dasharray: 5 4; }
.corte__cota-ponta { stroke: var(--terra); stroke-width: 1.6; }
.corte__prof { fill: var(--terra); font: 800 20px var(--letra-titulo); letter-spacing: -.02em; }
.corte__larg { fill: var(--tinta-2); font-size: 12.5px; font-family: var(--mono); }
.corte__escala { stroke: var(--tinta-2); stroke-width: 3; }
.corte__legenda { margin: 18px auto 0; text-align: center; color: var(--tinta-2); font-size: .92rem; max-width: 70ch; }
.corte__nota { max-width: 72ch; margin: 10px auto 0; text-align: center; }
.faixa--corte .cab-seccao { text-align: center; }
.faixa--corte .cab-seccao .h2, .faixa--corte .cab-seccao .lede { margin-inline: auto; }
.faixa--corte .numeros-grelha { margin-top: clamp(48px, 6vw, 80px); }
.numeros-grelha { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 28px 32px; }
.numero { padding-top: 22px; border-top: 1px solid var(--linha-forte); }
.numero__valor { font-size: clamp(2.8rem, 5.4vw, 4.8rem); letter-spacing: -.05em; line-height: .95; display: flex; align-items: baseline; gap: 8px; margin: 0; }
.numero__valor span { background: var(--rocha); -webkit-background-clip: text; background-clip: text; color: transparent; padding-right: .04em; }
.numero__valor small { font: 600 1rem/1 var(--letra); color: var(--tinta-3); letter-spacing: 0; }
.numero__rotulo { margin: 12px 0 0; font-weight: 600; }
.numero__nota { margin: 4px 0 0; color: var(--tinta-3); font-size: .86rem; }
@media (max-width: 640px) { .numeros-grelha { grid-template-columns: 1fr 1fr; gap: 26px 18px; } .numero__valor { font-size: 2.6rem; } }

/* ---------------------------------------------------------------- do bordo ao fundo */
.bf { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 6px; height: 340px; align-items: stretch; }
.bf__mes { position: relative; display: grid; grid-template-rows: 1fr auto; text-align: center; font-family: var(--letra); border-radius: 14px; }
.bf__mes--hoje { background: var(--realce); }
.bf__barra { position: absolute; left: 50%; width: 12px; transform: translateX(-50%); border-radius: 999px;
  top: calc((1 - var(--f)) * (100% - 64px) + 30px); bottom: calc(var(--b) * (100% - 64px) + 34px);
  background: linear-gradient(180deg, var(--terra), var(--ocre) 50%, var(--rio)); min-height: 12px; }
.bf__bordo, .bf__fundo { position: absolute; left: 0; right: 0; font-size: .8rem; font-weight: 600; font-variant-numeric: tabular-nums; }
/* o fundo e sempre o mais quente: a etiqueta dele fica por cima da barra, a do bordo por baixo */
.bf__fundo { bottom: calc(var(--f) * (100% - 64px) + 36px); margin-bottom: 4px; color: var(--terra-2); }
.bf__bordo { top: calc((1 - var(--b)) * (100% - 64px) + 30px); margin-top: 4px; color: #0E6E63; }
.nivel-4 .bf__bordo { color: #6FD8CB; }
.bf__nome { align-self: end; font-size: .8rem; color: var(--tinta-3); padding: 8px 0 6px; border-top: 1px solid var(--linha-forte); }
.bf__mes--melhor .bf__nome { color: var(--tinta); font-weight: 700; }
.bf__mes--melhor::after { content: ""; position: absolute; left: 50%; bottom: -10px; transform: translateX(-50%); width: 6px; height: 6px; border-radius: 50%; background: var(--rio); }
.bf__mes--hoje .bf__nome { color: var(--terra); font-weight: 700; }
.bf__legenda { display: flex; gap: 22px; margin: 0 0 22px; font-size: .92rem; color: var(--tinta-2); flex-wrap: wrap; }
.leg { display: inline-block; width: 12px; height: 12px; border-radius: 50%; vertical-align: -1px; margin-right: 6px; }
.leg--bordo { background: var(--rio); }
.leg--fundo { background: var(--terra); }
:root[data-theme="dark"] .bf__bordo { color: #6FD8CB; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .bf__bordo { color: #6FD8CB; } }
@media (max-width: 640px) {
  .bf { height: 280px; gap: 2px; }
  .bf__barra { width: 8px; }
  .bf__bordo, .bf__fundo { font-size: .64rem; letter-spacing: -.02em; }
  .bf__nome { font-size: .64rem; }
}

/* ---------------------------------------------------------------- apresentacao, como chegar */
.faixa--intro .envolve { display: grid; grid-template-columns: 1.3fr 1fr; gap: clamp(36px, 6vw, 88px); align-items: start; }
.texto-grande { font-size: clamp(1.1rem, 1.6vw, 1.3rem); line-height: 1.55; color: var(--tinta-2); }
.apresentacao__descr { font-family: var(--letra-titulo); font-size: clamp(1.7rem, 3.4vw, 2.8rem); letter-spacing: -.035em; line-height: 1.08; margin: 0 0 22px; font-weight: 700; color: var(--tinta); text-wrap: balance; }
.intro { margin: 0; }
.nota-autor { margin-top: 22px; padding: 20px 24px; background: var(--cartao); border-radius: var(--raio-p); font-size: 1rem; }
.chegar .titulo-seccao { text-align: left; font-size: 1.7rem; margin-bottom: 18px; letter-spacing: -.03em; }
.mosaico { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.mosaico li { display: flex; gap: 14px; align-items: flex-start; background: var(--cartao); border-radius: 18px; padding: 16px 18px; }
.mosaico li > div { flex: 1; min-width: 0; }
.mosaico li b { display: block; font-weight: 600; }
.mosaico li span { display: block; color: var(--tinta-3); font-size: .88rem; }
.sinal__ligacao { display: grid; grid-template-columns: 20px minmax(0, 1fr) auto; column-gap: 10px; row-gap: 2px; align-items: center; margin-top: 12px;
  padding: 10px 12px; border-radius: 12px; background: var(--papel-2); color: var(--tinta); font-size: .9rem; }
.sinal__ligacao:hover { text-decoration: none; background: var(--papel-3); }
.sinal__ligacao .parceiro__icone { grid-row: 1 / span 2; width: 18px; height: 18px; color: var(--terra); }
.sinal__ligacao em { grid-column: 2; font-style: normal; font-weight: 600; }
.sinal__ligacao small { grid-column: 2; color: var(--tinta-3); font-size: .74rem; }
.sinal__ligacao i { grid-column: 3; grid-row: 1 / span 2; font-style: normal; color: var(--terra); }
@media (max-width: 860px) { .faixa--intro .envolve { grid-template-columns: 1fr; } }

/* ---------------------------------------------------------------- afiliados e anuncios */
.afiliados[data-activo="0"], .anuncio[data-activo="0"] { display: none; }
.parceiros { display: grid; grid-template-columns: repeat(auto-fit, minmax(270px, 1fr)); gap: 14px; margin-top: 28px; }
.parceiro { display: flex; align-items: center; gap: 14px; background: var(--papel-2); border-radius: 18px; padding: 18px 20px; color: var(--tinta); transition: background .2s; }
.parceiro:hover { text-decoration: none; background: var(--papel-3); }
.parceiro__icone { width: 24px; height: 24px; color: var(--terra); flex: none; }
.parceiro__corpo { flex: 1; min-width: 0; }
.parceiro__texto { display: block; font-weight: 600; }
.parceiro__nome { display: block; color: var(--tinta-3); font-size: .84rem; }
.parceiro__accao { color: var(--terra); font-weight: 600; font-size: .9rem; white-space: nowrap; }
.afiliados__aviso { margin-top: 16px; max-width: 80ch; }
.anuncio { padding: 20px 0; }
.anuncio__nota { font: 500 .7rem/1 var(--mono); letter-spacing: .12em; text-transform: uppercase; color: var(--tinta-3); margin: 0 0 6px; }

/* ---------------------------------------------------------------- o rio */
.agua { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 6px; height: 240px; align-items: end; }
.agua__mes { display: grid; grid-template-rows: auto 1fr auto; height: 100%; text-align: center; border-radius: 12px; }
.agua__mes--hoje { background: var(--realce); }
.agua__valor { font-size: .74rem; color: var(--tinta-2); align-self: end; margin-bottom: 6px; font-variant-numeric: tabular-nums; }
.agua__coluna { display: flex; align-items: end; padding: 0 3px; }
.agua__coluna i { display: block; width: 100%; height: calc(var(--v) * 100%); background: var(--rio); border-radius: 10px 10px 4px 4px; opacity: .45; min-height: 6px; }
.agua__mes--cheio .agua__coluna i { opacity: 1; }
.agua__mes--gelo .agua__coluna i { background: repeating-linear-gradient(135deg, #7FB6C9 0 4px, #B9DCE6 4px 8px); }
.agua__nome { font-size: .8rem; color: var(--tinta-3); padding: 8px 0 6px; border-top: 1px solid var(--linha-forte); }
.agua__mes--hoje .agua__nome { color: var(--terra); font-weight: 700; }
.agua__texto { margin: 22px 0 0; font-size: 1.05rem; }
.agua__valor small { font-size: .85em; color: var(--tinta-3); }
@media (max-width: 640px) { .agua { height: 180px; gap: 2px; } .agua__valor { font-size: .62rem; letter-spacing: -.03em; } .agua__valor small { display: none; } .agua__nome { font-size: .64rem; } .agua__coluna { padding: 0 1px; } }

/* ---------------------------------------------------------------- visto do ceu */
.ceu__accao { margin: 22px 0 0; }
.ceu__placa { max-width: 960px; margin: 0 auto; }
.placa-sat__imagem { position: relative; border-radius: 28px; overflow: hidden; box-shadow: 0 40px 90px -40px rgba(0, 0, 0, .8); background: #2a2a2a; }
.placa-sat__imagem img { display: block; width: 100%; }
.placa-sat__desenho { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.placa-sat__rio { fill: none; stroke: #4FE0D0; stroke-opacity: .9; stroke-linejoin: round; stroke-linecap: round; vector-effect: non-scaling-stroke; stroke-width: 2.5px; }
.placa-sat__corte { stroke: #FFFFFF; stroke-width: 2px; stroke-dasharray: 6 5; vector-effect: non-scaling-stroke; }
.placa-sat__ponta { fill: #FFFFFF; stroke: var(--terra); stroke-width: .6; }
.sinal-mapa { position: absolute; width: 14px; height: 14px; border-radius: 50%; transform: translate(-50%, -50%); border: 2px solid #fff; box-shadow: 0 1px 4px rgba(0,0,0,.5); background: var(--ocre); }
.sinal-mapa.escondido { display: none; }
.sinal-mapa--principal { width: 22px; height: 22px; background: #C9502B; box-shadow: 0 0 0 5px rgba(201, 80, 43, .35), 0 1px 6px rgba(0,0,0,.6); z-index: 2; }
.sinal-mapa--miradouro { background: #FFD166; }
.sinal-mapa--ponte { background: #F4F1DE; }
.sinal-mapa--ferrata { background: #E76F51; }
.sinal-mapa--escalada { background: #B5838D; }
.sinal-mapa--agua, .sinal-mapa--banho { background: #4FE0D0; }
.sinal-mapa--cascata { background: #8ECAE6; }
.sinal-mapa--gruta { background: #6D597A; }
.sinal-mapa--parque { background: #BDBDBD; }
.sinal-mapa--info { background: #FFFFFF; }
.sinal-mapa--autocarro { background: #A8DADC; }
.sinal-mapa--merenda, .sinal-mapa--wc { background: #CDB4DB; }
.sinal-mapa--campismo { background: #95D5B2; }
.placa-sat__norte { position: absolute; top: 14px; left: 16px; color: #fff; font: 600 .8rem/1 var(--mono); text-shadow: 0 1px 3px #000; }
.placa-sat__norte::before { content: "▲ "; }
.placa-sat__escala { position: absolute; bottom: 14px; left: 16px; right: 16px; color: #fff; font: 500 .74rem/1 var(--mono); text-shadow: 0 1px 3px #000; display: flex; align-items: center; gap: 8px; white-space: nowrap; }
.placa-sat__escala i { display: block; width: 25%; height: 3px; background: #fff; box-shadow: 0 1px 2px #000; flex: none; }
.placa-sat__filtros { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 8px; }
.placa-sat__filtros .filtro { display: inline-flex; align-items: center; gap: 7px; font-size: .86rem; padding: 6px 12px; border-radius: 999px; background: var(--cartao); cursor: pointer; }
.placa-sat__filtros .filtro input { position: absolute; opacity: 0; pointer-events: none; }
.placa-sat__filtros .filtro i { width: 10px; height: 10px; border-radius: 50%; background: var(--ocre); }
.placa-sat__filtros .filtro:has(input:not(:checked)) { opacity: .45; }
.filtro--miradouro i { background: #FFD166 !important; } .filtro--ponte i { background: #F4F1DE !important; } .filtro--ferrata i { background: #E76F51 !important; }
.filtro--escalada i { background: #B5838D !important; } .filtro--agua i, .filtro--banho i { background: #4FE0D0 !important; } .filtro--cascata i { background: #8ECAE6 !important; }
.filtro--gruta i { background: #6D597A !important; } .filtro--parque i { background: #BDBDBD !important; } .filtro--info i { background: #FFF !important; box-shadow: 0 0 0 1px #999; }
.filtro--autocarro i { background: #A8DADC !important; } .filtro--merenda i, .filtro--wc i { background: #CDB4DB !important; } .filtro--campismo i { background: #95D5B2 !important; }
@media (max-width: 640px) { .placa-sat__imagem { border-radius: 20px; } }

/* ---------------------------------------------------------------- a volta, terras */
.faixa--volta .titulo-seccao, .faixa--volta .h2 { text-align: left; margin-bottom: 32px; }
.volta { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 12px; }
.volta__item { display: flex; gap: 14px; align-items: flex-start; background: var(--cartao); border-radius: 20px; padding: 20px; }
.volta__item > div { min-width: 0; }
.volta__item b { display: block; font-family: var(--letra-titulo); font-size: 2rem; font-weight: 800; letter-spacing: -.04em; line-height: 1; }
.volta__item span { display: block; font-size: .9rem; color: var(--tinta-2); margin-top: 6px; }
.volta__nomes { color: var(--tinta-3) !important; font-size: .82rem !important; }
.volta-zeros { list-style: none; margin: 18px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.volta-zeros li { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px 6px 10px; border-radius: 999px; box-shadow: inset 0 0 0 1px var(--linha-forte); font-size: .82rem; color: var(--tinta-3); }
.terras { list-style: none; margin: 20px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.terras li { background: var(--papel-2); border-radius: 999px; padding: 9px 16px; font-size: .92rem; }
.terras li b { font-weight: 600; margin-right: 6px; }
.terras li span { color: var(--tinta-3); font-size: .84rem; }
.faixa--terras { padding-top: clamp(48px, 6vw, 80px); padding-bottom: clamp(48px, 6vw, 80px); }

/* ---------------------------------------------------------------- nos nossos outros atlas */
.atlas { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 16px; }
.atlas__grupo { background: var(--umbra-2); border-radius: var(--raio); padding: 22px 20px 18px; }
.atlas__site { display: flex; align-items: center; gap: 12px; color: #F5F1ED; margin-bottom: 14px; }
.atlas__site:hover { text-decoration: none; }
.atlas__site b { display: block; font-family: var(--letra-titulo); font-size: 1.2rem; letter-spacing: -.02em; }
.atlas__site span { display: block; font-size: .84rem; color: var(--tinta-3); }
.atlas__site em { font-style: normal; margin-left: auto; font: 600 .72rem/1 var(--letra); letter-spacing: .04em; color: var(--a, var(--ocre)); }
.atlas__icone { width: 38px; height: 38px; border-radius: 10px; }
.atlas__lista { display: grid; gap: 6px; }
.atlas__item { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 12px; background: var(--umbra-3); color: #F5F1ED; font-size: .92rem; }
.atlas__item b { font-weight: 600; flex: 1; min-width: 0; }
.atlas__item span { color: var(--tinta-3); font-size: .82rem; white-space: nowrap; }
.atlas__item i { color: var(--a, var(--ocre)); font-style: normal; }
.atlas__item--breve i, .atlas__item--so i { opacity: .35; }
a.atlas__item:hover { text-decoration: none; background: #3A2A23; }
@media (max-width: 480px) { .atlas { grid-template-columns: 1fr; } .atlas__item { flex-wrap: wrap; } .atlas__item span { white-space: normal; } }

/* ---------------------------------------------------------------- tabelas do tempo */
table.tempo, table.anos { border-collapse: separate; border-spacing: 3px; width: 100%; min-width: 760px; font-size: .9rem; font-variant-numeric: tabular-nums; }
table.tempo th, table.anos th { text-align: left; font-weight: 500; color: var(--tinta-2); padding: 6px 8px; white-space: nowrap; }
table.tempo td, table.anos td { text-align: center; padding: 9px 4px; border-radius: 8px; background: var(--cartao); }
table.anos i { font-style: normal; }
td.temp { font-weight: 600; }
td.sem-dados { color: var(--tinta-3); }
.anos__c--molhado { background: var(--rio-claro) !important; color: #0E5D54; }
.anos__c--seco { background: var(--terra-claro) !important; color: var(--terra-2); }
.anos__legenda { margin-top: 14px; display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.anos__legenda .anos__c { padding: 2px 8px; border-radius: 6px; font-weight: 600; }
table.tempo--deitada { min-width: 0; table-layout: fixed; font-size: .8rem; border-spacing: 2px; }
table.tempo--deitada thead th { white-space: normal; vertical-align: bottom; font-size: .66rem; line-height: 1.25; padding: 4px 2px; text-align: center; }
table.tempo--deitada thead th:first-child { width: 42px; }
table.tempo--deitada tbody th { padding: 6px 4px; font-weight: 600; }
table.tempo--deitada td { padding: 8px 2px; border-radius: 6px; }
@media (max-width: 640px) {
  .tabela-rola { overflow: visible; }
  table.anos { min-width: 0; table-layout: fixed; font-size: .62rem; border-spacing: 1px; }
  table.anos th { padding: 4px 1px; font-size: .62rem; }
  table.anos thead th:first-child { width: 34px; }
  table.anos td { padding: 6px 0; border-radius: 4px; }
  table.anos i { display: none; }
}

/* ---------------------------------------------------------------- fotografias */
.fotos { display: grid; gap: 18px; }
.fotos--n1 { grid-template-columns: minmax(0, 860px); }
.fotos--n2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.fotos--n3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.fotos__item { margin: 0; }
.fotos__item img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; border-radius: 20px; }
.fotos__item--alta img { object-position: 50% 30%; }
.fotos__item figcaption { padding: 10px 4px; font-size: .78rem; color: var(--tinta-3); overflow-wrap: anywhere; }
@media (max-width: 760px) { .fotos--n2, .fotos--n3 { grid-template-columns: 1fr; } }

/* ---------------------------------------------------------------- vizinhos (montra) */
.modelos { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 18px; }
.modelo { --chao: var(--papel-2); text-align: center; background: var(--papel-2); border-radius: var(--raio); padding: 0 0 22px; overflow: hidden; }
.modelo--este { box-shadow: inset 0 0 0 2px var(--terra); }
.modelo__img { display: block; position: relative; aspect-ratio: 4 / 3; background: var(--papel-3); overflow: hidden; }
.modelo__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.modelo__nome { font-family: var(--letra-titulo); font-size: 1.3rem; font-weight: 700; letter-spacing: -.03em; margin: 10px 14px 2px; }
.modelo__onde { margin: 0 14px 12px; color: var(--tinta-3); font-size: .86rem; }
.modelo__specs { list-style: none; margin: 0 14px 12px; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px 6px; }
.modelo__specs li b { display: block; font-family: var(--letra-titulo); font-size: 1.3rem; font-weight: 800; letter-spacing: -.03em; }
.modelo__specs li span { font-size: .76rem; color: var(--tinta-3); }

/* ---------------------------------------------------------------- mini corte (a assinatura) */
.mini-corte { width: 100%; height: 40px; }
.mini-corte path { fill: var(--terra); opacity: .9; }
.mini-corte circle { fill: var(--rio); }
/* nos cartoes, a fotografia acaba no corte do canhao, na cor do fundo da pagina */
.mini-corte--cartao, .mini-corte--modelo { position: absolute; left: 0; right: 0; bottom: -1px; height: 24%; pointer-events: none; }
.mini-corte--cartao path, .mini-corte--modelo path { fill: var(--chao); opacity: 1; }
.mini-corte--cartao circle, .mini-corte--modelo circle { fill: var(--rio); }
.mini-corte--destaque { width: 140px; height: 44px; margin: 14px 0 0; }
.mini-corte--rank { width: 84px; height: 30px; flex: none; }
.mini-corte--popup { width: 100%; height: 36px; margin-bottom: 6px; }
.mini-corte--chip { width: 40px; height: 16px; }

/* ---------------------------------------------------------------- cartoes */
.cartoes { display: grid; gap: 40px 24px; }
.cartoes--grelha { grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); }
.cartoes--quatro { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.cartoes--fila { grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); }
.cartao { display: block; color: var(--tinta); }
.cartao:hover { text-decoration: none; }
.cartao__img { display: block; position: relative; aspect-ratio: 4 / 3; background: var(--papel-3); border-radius: 22px 22px 0 0; overflow: hidden; }
.cartao__img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .7s cubic-bezier(.2, .7, .2, 1); }
.cartao:hover .cartao__img img { transform: scale(1.05); }
.cartao__vazio { display: block; width: 100%; height: 100%; background: var(--rocha); }
.cartao__prof { position: absolute; top: 12px; left: 12px; background: rgba(15, 10, 8, .5); color: #fff; border-radius: 999px; padding: 6px 12px;
  font: 700 .98rem/1 var(--letra-titulo); letter-spacing: -.02em; backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
.cartao__prof small { font: 600 .74rem var(--letra); margin-left: 2px; opacity: .85; }
.cartao__corpo { display: block; padding: 6px 2px 0; }
.cartao__nome { display: block; font-family: var(--letra-titulo); font-weight: 700; font-size: 1.25rem; letter-spacing: -.03em; line-height: 1.15; transition: color .2s; }
.cartao:hover .cartao__nome { color: var(--terra); }
.cartao__pais { display: flex; align-items: center; gap: 2px; font-size: .88rem; color: var(--tinta-3); margin-top: 6px; }
.cartao__linha { display: block; font-size: .86rem; color: var(--tinta-2); margin-top: 6px; }
.cartao__extra { display: block; margin-top: 6px; color: var(--terra); font-weight: 600; font-size: .86rem; }
.setas { display: none !important; }
@media (max-width: 1100px) { .cartoes--quatro { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 860px) { .cartoes--quatro { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) {
  .cartoes--grelha, .cartoes--quatro, .cartoes--fila { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 14px; }
  .cartao__img { border-radius: 16px 16px 0 0; }
  .cartao__nome { font-size: 1.02rem; }
  .cartao__pais { font-size: .78rem; }
  .cartao__linha { display: none; }
  .cartao__prof { top: 8px; left: 8px; padding: 5px 9px; font-size: .82rem; }
}

/* ---------------------------------------------------------------- pagina inicial */
.numeros { padding: clamp(56px, 7vw, 96px) 0; }
.numeros__lista { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.numeros__lista > div { padding-top: 18px; border-top: 1px solid var(--linha-forte); }
.numeros__lista b { display: block; font-family: var(--letra-titulo); font-size: clamp(2.8rem, 6.4vw, 5.6rem); font-weight: 800; letter-spacing: -.055em; line-height: .95;
  background: var(--rocha); -webkit-background-clip: text; background-clip: text; color: transparent; padding-right: .04em; }
.numeros__lista span { display: block; margin-top: 14px; color: var(--tinta-2); font-size: .96rem; }
@media (max-width: 760px) { .numeros__lista { grid-template-columns: 1fr 1fr; gap: 30px 18px; } }
.faixa--escala { padding-top: clamp(24px, 4vw, 48px); }
.lado-caixa { margin-top: 12px; }
.lado__chao { stroke: var(--tinta); stroke-width: 2.5; }
.lado__corte { fill: var(--terra); opacity: .92; transition: opacity .2s, fill .2s; }
.lado__item:nth-of-type(3n+1) .lado__corte { fill: #D4652F; }
.lado__item:nth-of-type(3n+2) .lado__corte { fill: #C9502B; }
.lado__item:nth-of-type(3n) .lado__corte { fill: #B4441F; }
.lado__item:hover .lado__corte { opacity: 1; fill: var(--estrato-4); }
.lado__num { fill: var(--tinta); font: 800 15px var(--letra-titulo); letter-spacing: -.02em; }
.lado__nome { fill: var(--tinta-2); font-size: 12.5px; font-family: var(--letra); font-weight: 500; }
.lado__item:hover .lado__nome { fill: var(--terra); }
.faixa--destaques { padding-top: clamp(32px, 4vw, 56px); }
.tile { position: relative; isolation: isolate; display: flex; align-items: flex-end; overflow: hidden; border-radius: 30px; color: #fff; background: var(--umbra); }
.tile:hover { text-decoration: none; }
.tile__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform 1.1s cubic-bezier(.2, .7, .2, 1); }
.tile:hover .tile__img { transform: scale(1.04); }
.tile::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(8, 5, 3, 0) 35%, rgba(8, 5, 3, .8) 100%); }
.tile--grande { min-height: clamp(480px, 62vw, 720px); }
.tile--meio { aspect-ratio: 4 / 5; }
.tiles-dois { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 20px; }
.tile__texto { display: block; padding: clamp(24px, 4vw, 52px); max-width: 760px; }
.tile__onde { display: flex; align-items: center; gap: 2px; font: 600 .98rem/1.3 var(--letra-titulo); color: rgba(255, 255, 255, .88); }
.tile__nome { font-size: clamp(2.4rem, 6vw, 5.4rem); line-height: .95; letter-spacing: -.05em; margin: 16px 0 12px; text-wrap: balance; }
.tile--meio .tile__nome { font-size: clamp(2rem, 3.6vw, 3.4rem); }
.tile__frase { display: block; font-size: clamp(1.02rem, 1.4vw, 1.2rem); color: rgba(255, 255, 255, .9); }
.tile__quando { display: block; margin-top: 4px; font-size: .95rem; color: rgba(255, 255, 255, .72); }
.tile__accao { display: inline-flex; align-items: center; gap: 6px; margin-top: 22px; background: #fff; color: #15100E; border-radius: 999px; padding: 11px 20px; font-weight: 600; font-size: .95rem; transition: transform .2s; }
.tile__accao::after { content: "›"; font-size: 1.2em; line-height: 1; }
.tile:hover .tile__accao { transform: scale(1.04); }
.tile__prof { position: absolute; top: 20px; right: 20px; background: rgba(15, 10, 8, .45); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
  border-radius: 999px; padding: 8px 14px; font: 700 1.05rem/1 var(--letra-titulo); letter-spacing: -.02em; }
.tile__prof small { font: 600 .78rem var(--letra); opacity: .85; margin-left: 2px; }
.mais-destaques { margin-top: clamp(64px, 8vw, 110px); }
.mais-destaques .h3 { margin-bottom: 28px; }
@media (max-width: 760px) {
  .tile { border-radius: 22px; }
  .tile--grande, .tile--meio { min-height: 0; aspect-ratio: 4 / 5; }
  .tiles-dois { grid-template-columns: 1fr; gap: 14px; margin-top: 14px; }
  .tile__prof { top: 14px; right: 14px; }
}
.meses-botoes { display: flex; flex-wrap: wrap; gap: 6px; }
.mes-botao { border: 0; background: transparent; border-radius: 999px; padding: 9px 14px; cursor: pointer; font-weight: 600; font-size: .9rem; color: var(--tinta-2); box-shadow: inset 0 0 0 1px var(--linha-forte); transition: background .2s, color .2s; }
.mes-botao:hover { color: var(--tinta); }
.mes-botao[aria-pressed="true"] { background: var(--tinta); color: var(--papel); box-shadow: none; }
.faixa--mes .h2 em { font-style: normal; background: var(--rocha); -webkit-background-clip: text; background-clip: text; color: transparent; padding-right: .05em; }
.ligacoes-mes { margin: 36px 0 0; }
@media (max-width: 640px) {
  .meses-botoes { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); width: 100%; gap: 6px; }
  .mes-botao { padding: 9px 0; font-size: .84rem; }
}
.faixa--fundos .lado-caixa { margin-top: 10px; }
.dois { display: grid; grid-template-columns: 1fr 1.3fr; gap: clamp(36px, 6vw, 88px); align-items: start; }
@media (max-width: 860px) { .dois { grid-template-columns: 1fr; } }
.fortes { display: grid; border-top: 1px solid var(--linha); }
.forte { display: grid; grid-template-columns: 40px minmax(0, 1fr) auto; grid-template-areas: "n nome mw" "n pais mw"; align-items: center; column-gap: 14px; padding: 16px 4px; border-bottom: 1px solid var(--linha); color: var(--tinta); }
.forte:hover { text-decoration: none; }
.forte:hover .forte__nome { color: var(--terra); }
.forte__num { grid-area: n; font: 700 1.1rem var(--letra-titulo); color: var(--tinta-3); }
.forte__nome { grid-area: nome; font-weight: 700; font-family: var(--letra-titulo); font-size: 1.2rem; letter-spacing: -.025em; transition: color .2s; }
.forte__pais { grid-area: pais; font-size: .86rem; color: var(--tinta-3); }
.forte__mw { grid-area: mw; font-size: .9rem; color: var(--tinta-3); }
.forte__mw b { font: 800 1.6rem var(--letra-titulo); color: var(--tinta); letter-spacing: -.04em; }
.paises-chips { display: flex; flex-wrap: wrap; gap: 10px; }
.pais-chip { display: inline-flex; align-items: center; gap: 6px; background: var(--papel-2); border-radius: 999px; padding: 9px 16px 9px 12px; color: var(--tinta); font-size: .94rem; font-weight: 500; transition: background .2s; }
.pais-chip:hover { text-decoration: none; background: var(--papel-3); }
.pais-chip b { font: 600 .82rem var(--letra); color: var(--tinta-3); margin-left: 2px; }
.pais-chip--todos { background: var(--tinta); color: var(--papel); }
.pais-chip--todos:hover { background: var(--tinta); }
.confianca { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(36px, 6vw, 88px); align-items: start; }
.confianca p { color: var(--tinta-2); }
.confianca__lista { list-style: none; margin: 0; padding: 0; display: grid; border-top: 1px solid var(--linha-forte); }
.confianca__lista li { padding: 16px 2px; border-bottom: 1px solid var(--linha-forte); display: grid; grid-template-columns: 160px 1fr; gap: 12px; align-items: baseline; }
.confianca__lista b { font-family: var(--letra-titulo); font-size: 1.05rem; letter-spacing: -.02em; }
.confianca__lista span { color: var(--tinta-2); font-size: .94rem; }
@media (max-width: 860px) { .confianca { grid-template-columns: 1fr; } .confianca__lista li { grid-template-columns: 1fr; gap: 2px; } }

/* ---------------------------------------------------------------- a caixa de procurar */
.pesquisa { position: relative; display: flex; align-items: center; margin: 26px 0 0; max-width: 620px; background: var(--cartao); color: var(--tinta); border-radius: 999px; box-shadow: 0 0 0 1px var(--linha-forte); }
.capa .pesquisa { background: #fff; color: #15100E; box-shadow: none; }
.pesquisa:focus-within { box-shadow: 0 0 0 2.5px var(--terra); }
.pesquisa__icone { width: 22px; height: 22px; margin-left: 20px; color: var(--terra); flex: none; }
.capa .pesquisa__icone { color: #C9502B; }
.pesquisa input { flex: 1; min-width: 0; border: 0; background: none; padding: 15px 12px; font: inherit; font-size: 1.05rem; color: inherit; outline: none; text-overflow: ellipsis; }
.pesquisa input::placeholder { color: #8C837D; opacity: 1; text-overflow: ellipsis; }
.pesquisa__ir { display: inline-flex; align-items: center; gap: 8px; border: 0; background: #15100E; color: #fff; border-radius: 999px; padding: 11px 20px; margin: 5px; cursor: pointer; font-weight: 600; flex: none; }
.pesquisa__ir svg { width: 18px; height: 18px; }
.pesquisa--grande input { padding: 19px 12px; font-size: 1.12rem; }
.pesquisa--grande .pesquisa__ir { padding: 14px 22px; }
@media (max-width: 640px) {
  .pesquisa__ir-texto { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .pesquisa__ir, .pesquisa--grande .pesquisa__ir { padding: 12px; }
  .pesquisa--grande input { padding: 16px 10px; font-size: 1rem; }
  .pesquisa__icone { margin-left: 16px; }
}
.pesquisa__lista { position: absolute; left: 0; right: 0; top: calc(100% + 10px); background: var(--cartao); color: var(--tinta); border-radius: 22px; box-shadow: var(--sombra), 0 0 0 1px var(--linha); padding: 6px; display: none; z-index: 25; text-align: left; }
.pesquisa__lista.aberta { display: block; }
.sugestao { display: flex; align-items: center; gap: 12px; padding: 11px 14px; border-radius: 14px; color: var(--tinta); }
.sugestao:hover, .sugestao[aria-selected="true"] { background: var(--papel-2); text-decoration: none; }
.sugestao__ponto { width: 10px; height: 10px; border-radius: 50%; background: var(--linha-forte); flex: none; }
.sugestao__ponto.tem { background: var(--terra); }
.sugestao > span { flex: 1; min-width: 0; }
.sugestao__nome { display: block; font-weight: 600; }
.sugestao__onde { display: block; font-size: .82rem; color: var(--tinta-3); }
.sugestao__seta { font-size: .8rem; color: var(--tinta-3); }

/* ---------------------------------------------------------------- procurar */
.procurar { display: grid; grid-template-columns: 290px minmax(0, 1fr); gap: 40px; align-items: start; }
.filtros { display: grid; gap: 16px; position: sticky; top: calc(var(--topo) + 20px); background: var(--papel-2); border-radius: var(--raio); padding: 22px; }
.filtro { display: grid; gap: 6px; font-size: .9rem; }
.filtro > span, .filtro legend { font-weight: 600; font-size: .84rem; color: var(--tinta-2); }
.filtro input[type="search"], .filtro select { font: inherit; padding: 11px 12px; border-radius: 12px; border: 1px solid var(--linha-forte); background: var(--cartao); color: var(--tinta); width: 100%; }
.filtro input[type="range"] { width: 100%; accent-color: var(--terra); }
.filtro output { font-family: var(--letra); font-weight: 600; color: var(--terra); margin-left: 6px; }
.filtro--chips { border: 0; margin: 0; padding: 0; }
.filtro--chips label { display: inline-flex; margin: 4px 6px 0 0; }
.filtro--chips input { position: absolute; opacity: 0; }
.filtro--chips span { display: inline-block; padding: 7px 13px; border-radius: 999px; background: var(--cartao); cursor: pointer; font-size: .86rem; box-shadow: inset 0 0 0 1px var(--linha); }
.filtro--chips input:checked + span { background: var(--tinta); color: var(--papel); box-shadow: none; }
.filtro--check { display: flex; align-items: center; gap: 10px; }
.filtro--check input { accent-color: var(--terra); width: 18px; height: 18px; }
.resultados__conta { color: var(--tinta-3); margin: 0 0 18px; }
.resultados__lista { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 28px 18px; }
.resultado { display: block; color: var(--tinta); }
.resultado:hover { text-decoration: none; }
.resultado:hover .resultado__nome { color: var(--terra); }
.resultado__img { display: block; position: relative; aspect-ratio: 4 / 3; border-radius: 18px; overflow: hidden; background: var(--rocha); }
.resultado__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.resultado__nome { display: block; font-weight: 700; font-family: var(--letra-titulo); padding: 10px 2px 0; letter-spacing: -.02em; font-size: 1.1rem; }
.resultado__onde { display: block; padding: 2px 2px 0; font-size: .84rem; color: var(--tinta-3); }
.resultado__nums { display: block; padding: 4px 2px 6px; font-size: .84rem; color: var(--tinta-2); }
.resultado__bom { display: inline-block; margin: 0 2px; padding: 3px 10px; border-radius: 999px; background: var(--rio-claro); color: #0E5D54; font-size: .76rem; font-weight: 600; }
.resultado--simples { opacity: .8; }
@media (max-width: 860px) { .procurar { grid-template-columns: 1fr; } .filtros { position: static; } }
@media (max-width: 560px) { .resultados__lista { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 12px; } .resultado__nome { font-size: 1rem; } }

/* ---------------------------------------------------------------- mapa */
.pagina-mapa main { padding: 0; }
.mapa-pagina { display: grid; grid-template-columns: 320px minmax(0, 1fr); min-height: calc(100vh - var(--topo)); }
.mapa-pagina__painel { padding: 28px 24px; border-right: 1px solid var(--linha); overflow: auto; }
.mapa { position: relative !important; min-height: 60vh; height: 100%; }
.mapa canvas { outline: none; }
.mapa-legenda { margin-top: 16px; font-size: .88rem; }
.mapa-legenda p { margin: 6px 0; display: flex; align-items: center; gap: 8px; }
.ponto { width: 14px; height: 14px; border-radius: 50%; display: inline-block; }
.ponto--pagina { background: var(--terra); box-shadow: 0 0 0 3px rgba(201, 80, 43, .3); }
.ponto--simples { background: #A08F82; width: 9px; height: 9px; }
.escala-prof { display: flex; align-items: center; gap: 8px; margin-top: 10px; font-size: .78rem; color: var(--tinta-3); }
.escala-prof i { flex: 1; height: 10px; border-radius: 999px; background: linear-gradient(90deg, #F2D9B8, #C9502B, #3A1710); }
.mapa-popup { font: 400 .9rem/1.4 var(--letra); color: #241410; }
.mapa-popup b { display: block; font-family: var(--letra-titulo); font-size: 1.05rem; }
.mapa-popup a { color: #C9502B; font-weight: 600; }
.maplibregl-popup-content { border-radius: 14px; padding: 12px 16px; }
@media (max-width: 860px) { .mapa-pagina { grid-template-columns: 1fr; } .mapa { min-height: 70vh; } .mapa-pagina__painel { border-right: 0; border-bottom: 1px solid var(--linha); } }

/* ---------------------------------------------------------------- comparar */
.comparar__juntar { max-width: 620px; }
.comparar__escolhidos { display: flex; flex-wrap: wrap; gap: 10px; margin: 20px 0; }
.escolhido { display: inline-flex; align-items: center; gap: 8px; background: var(--cartao); border-radius: 999px; padding: 6px 8px 6px 12px; font-weight: 600; box-shadow: inset 0 0 0 2px var(--c, var(--terra)); max-width: 100%; }
.escolhido .mini-corte path { fill: var(--c, var(--terra)); }
.escolhido button { border: 0; background: var(--papel-2); width: 26px; height: 26px; border-radius: 50%; cursor: pointer; line-height: 1; flex: none; }
.comparar__escala svg { width: 100%; height: auto; background: var(--papel-2); border-radius: var(--raio); padding: 12px; font-family: var(--mono); }
.c-grelha { stroke: var(--linha-forte); stroke-dasharray: 2 4; }
.c-chao { stroke: var(--tinta); stroke-width: 3; }
.c-nome { font-size: 13px; font-weight: 600; font-family: var(--letra); }
.tabela-comparar { width: 100%; border-collapse: collapse; margin-top: 24px; font-size: .95rem; table-layout: fixed; }
.tabela-comparar th, .tabela-comparar td { padding: 12px 10px; border-bottom: 1px solid var(--linha); text-align: left; vertical-align: top; overflow-wrap: break-word; hyphens: auto; }
.tabela-comparar thead th:first-child { width: 28%; }
.tabela-comparar thead th { font-family: var(--letra-titulo); font-size: 1.05rem; letter-spacing: -.02em; }
.tabela-comparar tbody th { font-weight: 500; color: var(--tinta-2); }
@media (max-width: 640px) { .tabela-comparar { font-size: .8rem; } .tabela-comparar thead th { font-size: .86rem; } .tabela-comparar th, .tabela-comparar td { padding: 9px 4px; } }

/* ---------------------------------------------------------------- paises, rankings, meses */
.continentes { display: grid; gap: 48px; }
.paises-lista { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 8px; margin-top: 16px; }
.pais-linha { display: flex; align-items: center; gap: 4px; background: var(--papel-2); border-radius: 14px; padding: 12px 16px; color: var(--tinta); transition: background .2s; }
.pais-linha:hover { text-decoration: none; background: var(--papel-3); }
.pais-linha span { flex: 1; min-width: 0; }
.pais-linha b { font: 600 .82rem var(--letra); color: var(--tinta-3); }
.outros-canyons { list-style: none; margin: 16px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.outros-canyons li { background: var(--papel-2); border-radius: 999px; padding: 7px 14px; font-size: .88rem; }
.outros-canyons li span { color: var(--tinta-3); margin-left: 6px; font-size: .8rem; }
.pais__fundos { margin-bottom: clamp(48px, 6vw, 80px); }
.pais__fundos .h3 { margin-bottom: 14px; }
.ranks { display: grid; margin-top: 28px; border-top: 1px solid var(--linha); }
.rank { display: grid; grid-template-columns: 44px 104px minmax(0, 1fr) auto auto; gap: 16px; align-items: center; padding: 12px 4px; border-bottom: 1px solid var(--linha); color: var(--tinta); }
.rank:hover { text-decoration: none; }
.rank:hover .rank__corpo b { color: var(--terra); }
.rank__pos { font: 700 1.2rem var(--letra-titulo); color: var(--tinta-3); text-align: center; }
.rank__img { width: 104px; aspect-ratio: 4 / 3; border-radius: 12px; overflow: hidden; background: var(--papel-3); }
.rank__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rank__corpo b { display: block; font-family: var(--letra-titulo); font-weight: 700; font-size: 1.2rem; letter-spacing: -.025em; transition: color .2s; }
.rank__corpo span { font-size: .86rem; color: var(--tinta-3); }
.rank__valor { text-align: right; }
.rank__valor b { display: block; font: 800 1.7rem var(--letra-titulo); color: var(--tinta); letter-spacing: -.04em; line-height: 1; }
.rank__valor small { font-size: .8rem; color: var(--tinta-3); }
@media (max-width: 640px) {
  .rank { grid-template-columns: 26px 64px minmax(0, 1fr) auto; gap: 10px; }
  .rank .mini-corte--rank { display: none; }
  .rank__img { width: 64px; border-radius: 8px; }
  .rank__corpo b { font-size: 1rem; }
  .rank__valor b { font-size: 1.25rem; }
}
.meses-nav { display: flex; flex-wrap: wrap; gap: 6px; }
.meses-nav a { padding: 8px 14px; border-radius: 999px; color: var(--tinta-2); font-size: .9rem; font-weight: 600; box-shadow: inset 0 0 0 1px var(--linha-forte); }
.meses-nav a:hover { color: var(--tinta); text-decoration: none; }
.meses-nav a[aria-current="page"] { background: var(--tinta); color: var(--papel); box-shadow: none; }
@media (max-width: 640px) { .meses-nav { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); } .meses-nav a { text-align: center; padding: 8px 0; font-size: .84rem; } }
.meses-grelha { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 20px; }
.mes-cartao { display: block; background: var(--papel-2); border-radius: var(--raio); overflow: hidden; color: var(--tinta); transition: transform .3s; }
.mes-cartao:hover { text-decoration: none; transform: translateY(-4px); }
.mes-cartao__caras { display: grid; grid-template-columns: repeat(2, 1fr); aspect-ratio: 4 / 3; background: var(--rocha); }
.mes-cartao__caras img { width: 100%; height: 100%; object-fit: cover; }
.mes-cartao__nome { display: block; padding: 14px 18px 0; font-family: var(--letra-titulo); font-weight: 800; font-size: 1.5rem; letter-spacing: -.035em; }
.mes-cartao__n { display: block; padding: 0 18px 16px; color: var(--tinta-3); font-size: .88rem; }
@media (max-width: 560px) { .meses-grelha { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } .mes-cartao__nome { font-size: 1.15rem; padding: 10px 12px 0; } .mes-cartao__n { padding: 0 12px 12px; font-size: .78rem; } }

/* ---------------------------------------------------------------- fontes, legais, 404 */
.tabela-fontes { width: 100%; border-collapse: collapse; font-size: .92rem; }
.tabela-fontes th, .tabela-fontes td { text-align: left; padding: 11px 10px; border-bottom: 1px solid var(--linha); vertical-align: top; }
.tabela-fontes th { font-weight: 600; }
.tabela-fontes td { overflow-wrap: anywhere; }
.tabela-fontes--larga { min-width: 860px; }
.tabela-fontes--larga th { white-space: normal; }
@media (max-width: 760px) {
  .tabela-fontes--larga { min-width: 0; }
  .tabela-fontes--larga thead { display: none; }
  .tabela-fontes--larga tr { display: block; padding: 14px 0; border-bottom: 1px solid var(--linha); }
  .tabela-fontes--larga th, .tabela-fontes--larga td { display: block; border: 0; padding: 3px 0; }
  .tabela-fontes--larga th { font-size: 1.05rem; }
  .tabela-fontes th[scope="row"] { overflow-wrap: anywhere; }
}
.faixa--fontes .h3 { margin-bottom: 14px; }
.faixa--fontes .tabela-fontes th[scope="row"] { width: 34%; color: var(--tinta-2); font-weight: 500; }
@media (max-width: 640px) { .faixa--fontes .tabela-fontes tr { display: block; padding: 12px 0; border-bottom: 1px solid var(--linha); }
  .faixa--fontes .tabela-fontes th[scope="row"], .faixa--fontes .tabela-fontes td { display: block; width: auto; border: 0; padding: 2px 0; } }
.contacto dt { font-weight: 600; margin-top: 14px; }
.contacto dd { margin: 2px 0 0; }
.faixa--404 { text-align: center; padding: 120px 0; }
.faixa--404 .pesquisa { margin: 26px auto; }

/* ---------------------------------------------------------------- continue a explorar, a familia */
.faixa--explorar { padding: clamp(56px, 7vw, 96px) 0; border-top: 1px solid var(--linha); background: var(--papel); }
.faixa--explorar .h3 { margin-bottom: 22px; }
.explorar { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 8px; }
.explorar__item { display: flex; align-items: center; gap: 10px; background: var(--papel-2); border-radius: 16px; padding: 14px 16px; color: var(--tinta); font-size: .92rem; font-weight: 600; transition: background .2s; }
.explorar__item svg { width: 20px; height: 20px; color: var(--terra); flex: none; }
.explorar__item:hover { text-decoration: none; background: var(--papel-3); }
.explorar__item[aria-current="page"] { opacity: .5; }
@media (max-width: 560px) { .explorar { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.faixa--familia { background: var(--umbra); color: #F5F1ED; --tinta: #F5F1ED; --tinta-2: #C9BEB6; --tinta-3: #948A84; --chao: var(--umbra); }
.faixa--familia .sobretitulo { color: var(--ocre); }
.irmaos { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 14px; }
.irmao { display: grid; grid-template-rows: auto auto auto 1fr auto; gap: 6px; background: var(--f); color: var(--t); border-radius: var(--raio); padding: 24px 22px 20px; min-height: 260px; position: relative; overflow: hidden; transition: transform .3s; }
a.irmao:hover { text-decoration: none; transform: translateY(-4px); }
.irmao__favicon, .irmao__simbolo svg, .irmao__simbolo { width: 44px; height: 44px; border-radius: 10px; }
.irmao__tema { font: 700 .74rem/1 var(--letra); letter-spacing: .12em; text-transform: uppercase; color: var(--a); margin-top: 8px; }
.irmao__letras { height: 30px; width: auto; max-width: 100%; justify-self: start; }
.irmao__nome { font-family: var(--letra-titulo); font-weight: 700; font-size: 1.5rem; letter-spacing: -.03em; }
.irmao__frase { font-size: .92rem; opacity: .85; line-height: 1.45; }
.irmao__accao { justify-self: start; margin-top: 10px; background: var(--a); color: var(--b); border-radius: 999px; padding: 8px 15px; font-weight: 700; font-size: .84rem; }
.irmao--este { outline: 2px solid var(--a); outline-offset: -2px; }
.irmao--este .irmao__accao { background: transparent; color: var(--a); box-shadow: inset 0 0 0 1.5px var(--a); }
.irmao .so-online { display: none; }
a.irmao .so-breve { display: none; }
a.irmao .so-online { display: inline-block; }
.irmao .so-breve { background: transparent; color: var(--t); opacity: .65; box-shadow: inset 0 0 0 1.5px currentColor; }

/* ---------------------------------------------------------------- rodape */
.rodape { background: var(--umbra); color: #C9BEB6; padding: 56px 0 36px; border-top: 1px solid #241C18; }
.rodape a { color: #F5F1ED; }
.rodape__cima { display: grid; grid-template-columns: 1.1fr 2fr; gap: 40px; }
.rodape__marca .marca-nome { color: #F5F1ED; }
.rodape__marca p { max-width: 36ch; font-size: .94rem; margin: 16px 0 0; }
.rodape__colunas { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.rodape h4 { margin: 0 0 12px; font: 600 .86rem/1 var(--letra-titulo); color: var(--ocre); }
.rodape ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 7px; font-size: .92rem; }
.botao-texto { background: none; border: 0; padding: 0; color: #F5F1ED; cursor: pointer; }
.botao-texto[aria-pressed="true"] { color: var(--ocre); font-weight: 600; }
.rodape__legal { margin-top: 40px; padding-top: 20px; border-top: 1px solid #241C18; font-size: .76rem; color: #948A84; line-height: 1.6; overflow-wrap: anywhere; }
.rodape__familia { display: none; }
@media (max-width: 860px) { .rodape__cima { grid-template-columns: 1fr; } .rodape__colunas { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* ---------------------------------------------------------------- cookies */
.cookies { position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; background: var(--cartao); box-shadow: 0 -10px 40px rgba(0,0,0,.2); padding: 18px 0; }
.cookies__linha { display: grid; grid-template-columns: 1fr auto; gap: 18px; align-items: center; }
.cookies__texto { font-size: .92rem; max-width: 70ch; }
.cookies__opcoes { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 8px; font-size: .86rem; }
.cookies__botoes { display: flex; gap: 8px; flex-wrap: wrap; }
@media (max-width: 760px) { .cookies__linha { grid-template-columns: 1fr; } }

/* ---------------------------------------------------------------- 3D */
.v3d { position: fixed; inset: 0; z-index: 80; background: #0C0807; display: grid; grid-template-rows: auto 1fr auto; }
.v3d[hidden] { display: none !important; }
html.v3d-aberto { overflow: hidden; }
.v3d canvas { grid-row: 1 / -1; grid-column: 1; width: 100%; height: 100%; display: block; touch-action: none; }
.v3d__cab { grid-row: 1; grid-column: 1; z-index: 2; display: flex; align-items: center; gap: 16px; flex-wrap: wrap; padding: 14px 20px; color: #F5F1ED; background: linear-gradient(rgba(12,8,7,.85), transparent); }
.v3d__nome { font-family: var(--letra-titulo); font-weight: 700; font-size: 1.2rem; flex: 1; min-width: 0; }
.v3d__exagero { font: 500 .82rem var(--letra); display: flex; align-items: center; gap: 8px; }
.v3d__exagero input { accent-color: var(--ocre); }
.v3d__fechar { border: 0; background: #F5F1ED; color: #15100E; border-radius: 999px; padding: 9px 18px; font-weight: 700; cursor: pointer; }
.v3d__ajuda, .v3d__estado { grid-column: 1; z-index: 2; align-self: end; margin: 0; padding: 12px 20px; color: #C9BEB6; font-size: .82rem; text-align: center; }
.v3d__ajuda { grid-row: 3; }
.v3d__estado { grid-row: 2; align-self: center; font-size: 1rem; }

/* ---------------------------------------------------------------- animacoes */
.revela { opacity: 0; transform: translateY(28px); transition: opacity .8s cubic-bezier(.2, .7, .2, 1), transform .8s cubic-bezier(.2, .7, .2, 1); }
.revela.visivel { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .revela { opacity: 1; transform: none; transition: none; } html { scroll-behavior: auto; } .capa__img { animation: none; } }
@media print { .topo, .barra-canyon, .faixa--explorar, .faixa--familia, .rodape, .v3d, .cookies { display: none !important; } }
