/* =====================================================================
   PEAKYAS - a folha de estilos.

   Identidade: a sinaletica da montanha. Letra condensada de placa
   (Barlow Condensed) para nomes, numeros e titulos, Barlow para o texto,
   JetBrains Mono para altitudes e coordenadas (o altimetro). Branco-neve
   frio, granito, e o amarelo das placas dos trilhos como unico acento.
   Cantos vivos, regras finas, a regua do altimetro como textura.
   As cores da temperatura (--t0 ... --t10, de -30 a +30 C) sao escritas
   pelo gerador a partir de build/paleta.py.

   Nada aqui vem do Coastya (creme, Archivo, coral, mapa do mar) nem do
   Lakeyas (verde-abeto, Fraunces, curvas de nivel, relogio da agua).
   ===================================================================== */

:root {
  --t0: #213480;
  --t1: #2953a5;
  --t2: #367ac1;
  --t3: #5da3d3;
  --t4: #9ccce3;
  --t5: #e7f0f5;
  --t6: #ebdaa6;
  --t7: #ebb761;
  --t8: #e68c2c;
  --t9: #d1601f;
  --t10: #ae4022;
  --neve: #f4f6f8;
  --neve-2: #e9edf1;
  --neve-3: #dde3e9;
  --cartao: #ffffff;
  --tinta: #1c2430;
  --tinta-2: #475262;
  --tinta-3: #758192;
  --linha: #d8dee5;
  --linha-forte: #b6c0cc;
  --sinal: #ffc629;
  --sinal-forte: #f2b200;
  --glaciar: #2b78b0;
  --glaciar-claro: #cfe3f1;
  --aurora: #ef8547;
  --noite: #121822;
  --noite-2: #1a2230;
  --noite-3: #263247;
  --sobre-noite: #eef2f6;
  --sobre-noite-2: #a6b1bf;
  --rocha-1: #a7b1be;
  --rocha-2: #556173;
  --sombra: 0 1px 2px rgba(18, 24, 34, .06), 0 10px 28px -14px rgba(18, 24, 34, .28);
  --raio: 3px;
  --letra-titulo: "Barlow Condensed", "Arial Narrow", "Roboto Condensed", sans-serif;
  --letra: "Barlow", "Segoe UI", system-ui, -apple-system, sans-serif;
  --mono: "JetBrains Mono", "Cascadia Mono", Consolas, monospace;
  --largura: 1240px;
  color-scheme: light;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --neve: #0d1219;
    --neve-2: #121925;
    --neve-3: #18212f;
    --cartao: #141c28;
    --tinta: #e8edf3;
    --tinta-2: #aab5c3;
    --tinta-3: #7d8899;
    --linha: #232e3e;
    --linha-forte: #34425a;
    --glaciar: #7fb7e2;
    --glaciar-claro: #1f3a52;
    --rocha-1: #6d7a8d;
    --rocha-2: #2c3647;
    --sombra: 0 1px 2px rgba(0, 0, 0, .3), 0 12px 30px -14px rgba(0, 0, 0, .7);
    color-scheme: dark;
  }
}
:root[data-theme="dark"] {
  --neve: #0d1219;
  --neve-2: #121925;
  --neve-3: #18212f;
  --cartao: #141c28;
  --tinta: #e8edf3;
  --tinta-2: #aab5c3;
  --tinta-3: #7d8899;
  --linha: #232e3e;
  --linha-forte: #34425a;
  --glaciar: #7fb7e2;
  --glaciar-claro: #1f3a52;
  --rocha-1: #6d7a8d;
  --rocha-2: #2c3647;
  --sombra: 0 1px 2px rgba(0, 0, 0, .3), 0 12px 30px -14px rgba(0, 0, 0, .7);
  color-scheme: dark;
}

/* ---------------------------------------------------------------- base */
*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
html.i18n-espera body { visibility: hidden; }
body { margin: 0; background: var(--neve); color: var(--tinta); font: 400 17px/1.62 var(--letra);
  -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overflow-x: hidden; }
img, svg { max-width: 100%; }
img { height: auto; display: block; }
a { color: inherit; text-decoration-color: color-mix(in oklab, currentColor 35%, transparent);
  text-underline-offset: 3px; }
a:hover { text-decoration-color: currentColor; }
p { margin: 0 0 1em; }
h1, h2, h3, h4 { margin: 0; font-family: var(--letra-titulo); font-weight: 700; line-height: 1.02;
  letter-spacing: .005em; }
button, input, select { font: inherit; color: inherit; }
:focus-visible { outline: 3px solid var(--sinal); outline-offset: 2px; }
.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: -999px; top: 8px; background: var(--sinal); color: #1c2430;
  padding: 8px 14px; z-index: 100; font-weight: 700; }
.saltar:focus { left: 12px; }
.envolve { max-width: var(--largura); margin: 0 auto; padding: 0 28px; }
.estreito { max-width: 820px; }
.mono { font-family: var(--mono); font-size: .86em; letter-spacing: -.01em; }
.pequeno { font-size: .86rem; }
.discreto { color: var(--tinta-3); }
.esconde-movel { }
@media (max-width: 760px) { .envolve { padding: 0 16px; } .esconde-movel { display: none !important; } }

.h1 { font-size: clamp(2.6rem, 6vw, 4.4rem); text-transform: uppercase; }
.h2 { font-size: clamp(2rem, 4.2vw, 3rem); text-transform: uppercase; }
.h3 { font-size: 1.6rem; text-transform: uppercase; margin-bottom: .6em; }
.h4 { font-size: 1.15rem; text-transform: uppercase; letter-spacing: .03em; margin-bottom: .5em; }
.lede { font-size: 1.12rem; color: var(--tinta-2); max-width: 64ch; margin-top: 12px; }
.sobretitulo { display: inline-flex; align-items: center; gap: 10px; margin: 0 0 12px; font: 500 .74rem/1 var(--mono);
  text-transform: uppercase; letter-spacing: .16em; color: var(--tinta-2); }
.sobretitulo::before { content: ""; width: 0; height: 0; border-left: 6px solid transparent;
  border-right: 6px solid transparent; border-bottom: 10px solid var(--sinal-forte); }
.cab-seccao { max-width: 820px; margin-bottom: 34px; }
.ligacao-seta { font-family: var(--letra-titulo); font-weight: 700; text-transform: uppercase; letter-spacing: .05em;
  text-decoration: none; display: inline-flex; align-items: center; gap: 8px; border-bottom: 3px solid var(--sinal); }
.ligacao-seta::after { content: "\2192"; transition: transform .2s; }
.ligacao-seta:hover::after { transform: translateX(4px); }
.botao, .botao-fantasma { display: inline-flex; align-items: center; gap: 10px; padding: 12px 20px; border: 0;
  font: 700 1rem/1 var(--letra-titulo); text-transform: uppercase; letter-spacing: .07em; cursor: pointer;
  text-decoration: none; border-radius: var(--raio); }
.botao { background: var(--tinta); color: var(--neve); }
.botao-fantasma { background: transparent; color: #fff; box-shadow: inset 0 0 0 1.5px rgba(255,255,255,.55); }
.botao-fantasma:hover { box-shadow: inset 0 0 0 1.5px #fff; }
.icone { width: 22px; height: 22px; flex: none; }
.rola { overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: thin; }
.tabela-rola { overflow-x: auto; -webkit-overflow-scrolling: touch; }

/* a placa amarela dos trilhos (com a ponta em seta) */
.placa { display: inline-flex; align-items: center; gap: 8px; background: var(--sinal); color: #1c2430;
  font: 700 .86rem/1 var(--letra-titulo); text-transform: uppercase; letter-spacing: .08em;
  padding: 8px 26px 8px 12px; clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 50%, calc(100% - 14px) 100%, 0 100%); }
.placa .bandeira { width: 18px; height: 13.5px; box-shadow: 0 0 0 1px rgba(0,0,0,.15); }
.placa__sep { opacity: .5; }
.bandeira { display: inline-block; width: 20px; height: 15px; object-fit: cover; vertical-align: -2px; }

/* ---------------------------------------------------------------- cabecalho */
.topo { position: relative; z-index: 30; background: var(--neve); border-bottom: 1px solid var(--linha); }
.topo__linha { display: flex; align-items: center; gap: 28px; height: 66px; }
.marca-nome { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; color: inherit; }
.marca-simbolo { width: 34px; height: 34px; flex: none; }
.marca-palavra { font: 800 1.5rem/1 var(--letra-titulo); text-transform: uppercase; letter-spacing: .07em; }
.topo__nav { display: flex; gap: 24px; margin-left: auto; }
.topo__nav a { font: 600 .98rem/1 var(--letra-titulo); text-transform: uppercase; letter-spacing: .08em;
  text-decoration: none; padding: 8px 0; border-bottom: 3px solid transparent; }
.topo__nav a:hover { border-bottom-color: color-mix(in oklab, var(--sinal) 55%, transparent); }
.topo__nav a[aria-current="page"] { border-bottom-color: var(--sinal); }
.topo__ferramentas { display: flex; align-items: center; gap: 6px; }
.tema { width: 38px; height: 38px; display: grid; place-items: center; border: 0; background: transparent;
  cursor: pointer; border-radius: var(--raio); }
.tema:hover { background: color-mix(in oklab, currentColor 12%, transparent); }
.linguas-menu { position: relative; }
.linguas-menu summary { list-style: none; display: flex; align-items: center; gap: 6px; cursor: pointer;
  padding: 9px 10px; font: 600 .9rem/1 var(--letra-titulo); letter-spacing: .08em; border-radius: var(--raio); }
.linguas-menu summary::-webkit-details-marker { display: none; }
.linguas-menu summary:hover { background: color-mix(in oklab, currentColor 12%, transparent); }
.linguas-menu ul { position: absolute; right: 0; top: calc(100% + 8px); list-style: none; margin: 0; padding: 6px;
  background: var(--cartao); color: var(--tinta); border: 1px solid var(--linha); box-shadow: var(--sombra);
  min-width: 190px; z-index: 50; }
.linguas-menu li button { width: 100%; display: flex; gap: 10px; align-items: center; padding: 9px 12px;
  background: none; border: 0; cursor: pointer; text-align: left; }
.linguas-menu li button:hover, .linguas-menu li button[aria-pressed="true"] { background: var(--neve-2); }
.linguas-menu__codigo { font: 500 .72rem var(--mono); color: var(--tinta-3); width: 22px; }
/* por cima da vista 3D ou do ceu da pagina inicial */
.topo--escuro { position: absolute; left: 0; right: 0; top: 0; background: transparent; border-bottom: 0;
  color: #fff; }
.topo--escuro.topo--solido { position: fixed; background: rgba(18, 24, 34, .9); backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px); }
.topo--escuro .linguas-menu ul { color: var(--tinta); }
@media (max-width: 760px) {
  .topo__linha { gap: 12px; height: 58px; }
  .topo__nav { gap: 14px; }
  .topo__nav a { font-size: .86rem; letter-spacing: .05em; }
  .marca-palavra { font-size: 1.2rem; }
  .marca-simbolo { width: 28px; height: 28px; }
  .linguas-menu summary span { display: none; }
}
@media (max-width: 420px) { .marca-palavra { display: none; } }

/* ---------------------------------------------------------------- migalhas */
.migalhas { font: 500 .78rem/1.4 var(--mono); color: var(--tinta-3); margin-bottom: 18px; }
.migalhas a { text-decoration: none; }
.migalhas a:hover { text-decoration: underline; }
.migalhas__sep { margin: 0 6px; opacity: .6; }

/* ---------------------------------------------------------------- topo da montanha */
.heroi-pico { position: relative; min-height: clamp(560px, 88vh, 900px); display: flex; align-items: flex-end;
  background: var(--noite); color: #fff; overflow: hidden; isolation: isolate; }
.heroi-pico__vista { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
  object-position: 50% 32%; z-index: -2; animation: aproximar 18s ease-out both; }
@keyframes aproximar { from { transform: scale(1.06); } to { transform: scale(1); } }
.heroi-pico__veu { position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(270deg, rgba(12,16,24,.5) 0, rgba(12,16,24,0) 26%),
              linear-gradient(180deg, rgba(12,16,24,.62) 0%, rgba(12,16,24,0) 20%, rgba(12,16,24,0) 46%,
              rgba(12,16,24,.55) 70%, rgba(18,24,34,.96) 100%); }
.heroi-pico__grelha { width: 100%; display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 32px;
  padding-top: 120px; padding-bottom: 56px; }
.heroi-pico .migalhas { color: rgba(255,255,255,.72); }
.heroi-pico__placa { margin: 0 0 18px; }
.heroi-pico__nome { font-size: clamp(3.2rem, 9.5vw, 8rem); font-weight: 800; text-transform: uppercase;
  line-height: .86; letter-spacing: -.005em; text-shadow: 0 2px 30px rgba(0,0,0,.35); max-width: 14ch;
  overflow-wrap: anywhere; }
.heroi-pico__alt { margin: 14px 0 0; display: flex; align-items: baseline; gap: 8px; }
.heroi-pico__num { font: 600 clamp(2.6rem, 7vw, 5.6rem)/1 var(--letra-titulo); color: var(--sinal);
  font-variant-numeric: tabular-nums; letter-spacing: .01em; }
.heroi-pico__un { font: 600 clamp(1.2rem, 2.4vw, 1.8rem)/1 var(--letra-titulo); color: var(--sinal); }
.heroi-pico__sub { margin: 10px 0 0; font: 500 1.05rem/1.3 var(--letra-titulo); text-transform: uppercase;
  letter-spacing: .1em; color: rgba(255,255,255,.82); }
.heroi-pico__accoes { margin-top: 26px; display: flex; flex-wrap: wrap; gap: 12px; }
.botao-3d { display: inline-flex; align-items: center; gap: 10px; padding: 13px 22px 13px 16px; border: 0;
  background: var(--sinal); color: #1c2430; font: 700 1.02rem/1 var(--letra-titulo); text-transform: uppercase;
  letter-spacing: .08em; cursor: pointer; border-radius: var(--raio); box-shadow: 0 10px 30px -10px rgba(255,198,41,.55); }
.botao-3d:hover { background: #ffd34f; }
.heroi-pico__credito { position: absolute; left: 0; right: 0; bottom: 0; margin: 0; padding: 4px 12px;
  font: 400 .64rem/1.3 var(--mono); color: rgba(255,255,255,.55); text-align: right; white-space: nowrap;
  overflow: hidden; text-overflow: ellipsis; }

/* o altimetro */
.altimetro { position: relative; width: 210px; height: min(52vh, 440px); margin-bottom: 18px; }
.altimetro__regua { position: absolute; right: 0; top: 0; bottom: 0; width: 18px;
  border-right: 2px solid rgba(255,255,255,.75); }
.altimetro__regua i { position: absolute; right: 0; bottom: var(--y); width: 8px; height: 1px; background: rgba(255,255,255,.45); }
.altimetro__regua i:nth-child(4n+1) { width: 16px; background: rgba(255,255,255,.75); }
.altimetro ul { list-style: none; margin: 0; padding: 0; position: absolute; inset: 0; }
.altimetro li { position: absolute; right: 26px; bottom: var(--y); transform: translateY(50%); text-align: right; white-space: nowrap;
  display: flex; flex-direction: column; align-items: flex-end; transition: bottom .8s cubic-bezier(.2,.7,.2,1);
  background: rgba(12,16,24,.62); padding: 5px 8px 4px; backdrop-filter: blur(3px); -webkit-backdrop-filter: blur(3px);
  text-shadow: 0 1px 2px rgba(0,0,0,.6); }
.altimetro li::after { content: ""; position: absolute; right: -26px; top: 50%; width: 26px; height: 2px;
  background: currentColor; }
.altimetro li b { font: 600 1.45rem/1 var(--mono); font-variant-numeric: tabular-nums; letter-spacing: -.02em; }
.altimetro li span { font: 600 .74rem/1.2 var(--letra-titulo); text-transform: uppercase; letter-spacing: .12em; opacity: .85; }
.altimetro__cume { color: var(--sinal); }
.altimetro__zero { color: #9fd3ff; }
.altimetro li.altimetro__zero--lado { right: var(--lado, 140px); }
.altimetro li.altimetro__zero--lado::after { right: calc(-1 * var(--lado, 140px)); width: var(--lado, 140px); opacity: .6; }
/* nomes de terra compridos (Heiligenblut am Grossglockner) partem em duas linhas */
.altimetro__terra span, .altimetro__cume span { white-space: normal; max-width: 104px; }
.altimetro__zero b::before { content: "\2744  "; font-size: .8em; }
.altimetro__terra { color: rgba(255,255,255,.85); }
.altimetro__terra b { font-size: 1.1rem; }
@media (max-width: 860px) {
  .heroi-pico__grelha { grid-template-columns: 1fr; padding-bottom: 36px; }
  .altimetro { display: none; }
  .heroi-pico { min-height: 640px; }
}

/* ---------------------------------------------------------------- a ficha */
.ficha { background: var(--noite); color: var(--sobre-noite); border-top: 1px solid rgba(255,255,255,.08); }
.ficha__lista { margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.ficha__item { padding: 22px 20px 24px; border-left: 1px solid rgba(255,255,255,.1); }
.ficha__item:first-child { border-left: 0; padding-left: 0; }
.ficha dt { font: 500 .7rem/1.2 var(--mono); text-transform: uppercase; letter-spacing: .14em; color: var(--sobre-noite-2); }
.ficha dd { margin: 8px 0 0; }
.ficha dd b { font: 600 2.15rem/1 var(--letra-titulo); font-variant-numeric: tabular-nums; color: #fff; }
.ficha dd b .mono { font-size: .95rem; font-weight: 400; color: var(--sobre-noite); }
.ficha dd small { font: 600 1rem var(--letra-titulo); margin-left: 4px; color: var(--sinal); }
.ficha__nota { display: block; margin-top: 6px; font-size: .78rem; color: var(--sobre-noite-2); line-height: 1.3; }
@media (max-width: 760px) {
  .ficha__lista { grid-template-columns: 1fr 1fr; }
  .ficha__item { padding: 16px 0 18px; border-left: 0; border-top: 1px solid rgba(255,255,255,.1); }
  .ficha__item:nth-child(-n+2) { border-top: 0; }
  .ficha__item:nth-child(even) { padding-left: 16px; border-left: 1px solid rgba(255,255,255,.1); }
}

/* ---------------------------------------------------------------- faixas */
.faixa { padding: 64px 0; }
.faixa + .faixa { border-top: 1px solid var(--linha); }
.faixa--intro { background: var(--cartao); }
.faixa--cab-pagina { padding: 64px 0 40px; background:
  repeating-linear-gradient(90deg, transparent 0 39px, color-mix(in oklab, var(--tinta) 6%, transparent) 39px 40px),
  var(--neve-2); border-bottom: 1px solid var(--linha); }
.faixa--fontes { background: var(--neve-2); }
@media (max-width: 760px) { .faixa { padding: 52px 0; } }

/* apresentacao e placa */
.apresentacao { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 56px; align-items: start; }
.apresentacao__descr { font: 600 1.4rem/1.25 var(--letra-titulo); text-transform: uppercase; letter-spacing: .03em;
  color: var(--tinta-2); margin-bottom: 18px; }
.intro { font-size: 1.22rem; line-height: 1.6; }
.nota-autor { border-left: 4px solid var(--sinal); padding: 4px 0 4px 18px; margin: 22px 0; }
.sinal { background: var(--neve); border: 1px solid var(--linha); position: sticky; top: 90px; }
.sinal__cab { margin: 0; background: var(--sinal); color: #1c2430; padding: 12px 18px;
  font: 700 1.05rem/1 var(--letra-titulo); text-transform: uppercase; letter-spacing: .1em;
  clip-path: polygon(0 0, calc(100% - 16px) 0, 100% 50%, calc(100% - 16px) 100%, 0 100%); }
.sinal ul { list-style: none; margin: 0; padding: 6px 18px 12px; }
.sinal li { display: flex; gap: 14px; padding: 14px 0; border-bottom: 1px solid var(--linha); }
.sinal li:last-child { border-bottom: 0; }
.sinal li .icone { color: var(--tinta-2); margin-top: 2px; }
.sinal li b { display: block; font: 700 1.1rem/1.2 var(--letra-titulo); text-transform: uppercase; letter-spacing: .03em; }
.sinal li span { display: block; font-size: .88rem; color: var(--tinta-2); line-height: 1.4; }
.sinal__ligacao { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 4px 8px; margin-top: 10px;
  padding: 7px 12px; background: var(--sinal); color: #1c2430; text-decoration: none;
  border-left: 4px solid #1c2430; transition: background .15s, color .15s; }
.sinal__ligacao .parceiro__icone { width: 18px; height: 18px; flex: none; }
.sinal__ligacao em { font: 700 .9rem/1.2 var(--letra-titulo); font-style: normal; text-transform: uppercase;
  letter-spacing: .04em; }
.sinal__ligacao small { font-size: .72rem; opacity: .7; }
.sinal__ligacao i { font-style: normal; font-weight: 700; }
.sinal__ligacao:hover, .sinal__ligacao:focus-visible { background: #1c2430; color: var(--sinal); }
@media (max-width: 900px) { .apresentacao { grid-template-columns: 1fr; gap: 32px; } .sinal { position: static; } }

/* ---------------------------------------------------------------- afiliados e anuncios */
.afiliados[data-activo="0"], .anuncio[data-activo="0"] { display: none; }
.afiliados { background: var(--neve-2); }
.afiliados__cab { margin-bottom: 22px; }
.parceiros { display: grid; grid-template-columns: repeat(auto-fit, minmax(270px, 1fr)); gap: 12px; }
.parceiro { display: grid; grid-template-columns: auto 1fr auto; gap: 14px; align-items: center; padding: 16px 18px;
  background: var(--cartao); border: 1px solid var(--linha); text-decoration: none; border-radius: var(--raio);
  transition: border-color .15s, transform .15s; }
.parceiro:hover { border-color: var(--tinta); transform: translateY(-2px); }
.parceiro__icone { width: 26px; height: 26px; color: var(--tinta-2); }
.parceiro__texto { display: block; font-weight: 600; line-height: 1.3; }
.parceiro__nome { display: block; font: 500 .74rem var(--mono); color: var(--tinta-3); margin-top: 3px; }
.parceiro__accao { font: 700 .82rem var(--letra-titulo); text-transform: uppercase; letter-spacing: .08em;
  background: var(--sinal); color: #1c2430; padding: 7px 10px; }
.afiliados__aviso { margin-top: 14px; }
.anuncio { margin: 24px 0; }
.anuncio__nota { font: 500 .66rem var(--mono); text-transform: uppercase; letter-spacing: .12em; color: var(--tinta-3);
  margin-bottom: 4px; }

/* ---------------------------------------------------------------- o cume mes a mes */
.faixa--cume { background: var(--neve); }
.cume__texto { max-width: 780px; font-size: 1.08rem; margin-bottom: 26px; }
.cume__grafico { margin: 0 0 30px; background: var(--cartao); border: 1px solid var(--linha); padding: 18px 18px 12px; }
.grafico { display: block; width: 100%; height: auto; overflow: visible; }
.grafico--zero { min-width: 640px; }
.g-grelha { stroke: var(--linha); stroke-width: 1; }
.g-eixo { font: 400 12px var(--mono); fill: var(--tinta-3); }
.g-mes { font: 600 13px var(--letra-titulo); fill: var(--tinta-2); text-transform: uppercase; letter-spacing: .06em; }
.g-faixa { fill: color-mix(in oklab, var(--glaciar) 16%, transparent); }
.g-linha { fill: none; stroke-linejoin: round; stroke-linecap: round; }
.g-linha--dia { stroke: var(--aurora); stroke-width: 3; }
.g-linha--noite { stroke: var(--glaciar); stroke-width: 2.2; stroke-dasharray: 6 5; }
.g-ponto { fill: var(--cartao); stroke: var(--aurora); stroke-width: 2.5; }
.g-ponto--acima { fill: var(--aurora); }
.g-cume { stroke: var(--tinta); stroke-width: 2; stroke-dasharray: 2 4; }
.g-terra { stroke: var(--tinta-3); stroke-width: 1.5; stroke-dasharray: 8 6; }
.g-rotulo { font: 700 13px var(--letra-titulo); fill: var(--tinta); letter-spacing: .06em; }
.g-cota { font: 600 12px var(--mono); fill: var(--tinta); }
.g-cota--baixo { fill: #fff; opacity: .85; }
.g-rotulo--terra { fill: var(--tinta-2); }
.legenda-zero { display: flex; flex-wrap: wrap; gap: 8px 18px; align-items: center; margin-top: 8px;
  font-size: .86rem; color: var(--tinta-2); }
.lz { display: inline-block; width: 26px; height: 0; border-top: 3px solid var(--aurora); margin-right: 6px; vertical-align: middle; }
.lz--noite { border-top: 2.5px dashed var(--glaciar); }
.lz--cume { border-top: 2px dotted var(--tinta); }

table { border-collapse: collapse; width: 100%; }
.meses { min-width: 720px; background: var(--cartao); border: 1px solid var(--linha); font-variant-numeric: tabular-nums; }
.meses th, .meses td { padding: 9px 12px; text-align: right; border-bottom: 1px solid var(--linha); white-space: nowrap; }
.meses thead th { font: 600 .72rem/1.25 var(--mono); text-transform: uppercase; letter-spacing: .04em; color: var(--tinta-2);
  background: var(--neve-2); white-space: normal; vertical-align: bottom; }
.meses thead th:first-child { text-align: left; }
.meses tbody th { text-align: left; font: 700 1rem var(--letra-titulo); text-transform: uppercase; letter-spacing: .05em; }
.meses td.temp { font-weight: 700; background: color-mix(in oklab, var(--c) 82%, var(--cartao)); color: var(--tc); }
.meses tr.melhor th { box-shadow: inset 5px 0 0 var(--sinal); }
.meses tr.melhor th::after { content: " \2605"; color: var(--sinal-forte); }
.sem-dados { color: var(--tinta-3); }

/* ---------------------------------------------------------------- o relevo */
.relevo { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 40px; align-items: start; }
.relevo figure { margin: 0 0 24px; }
.relevo figcaption { font: 600 .78rem var(--mono); text-transform: uppercase; letter-spacing: .1em; color: var(--tinta-2);
  margin-bottom: 8px; }
.grafico--perfil { min-width: 560px; }
.g-perfil-topo { stop-color: var(--rocha-1); }
.g-perfil-pe { stop-color: var(--rocha-2); }
.g-perfil-linha { fill: none; stroke: var(--tinta); stroke-width: 1.6; stroke-linejoin: round; }
.g-chao { stroke: var(--tinta); stroke-width: 1.5; }
.g-regua { stroke: var(--tinta-3); }
.g-marca-cume { fill: var(--sinal); stroke: #1c2430; stroke-width: 1; }
.relevo__rosa { background: var(--cartao); border: 1px solid var(--linha); padding: 18px; }
.g-rosa-anel { fill: none; stroke: var(--linha); }
.g-petala { fill: color-mix(in oklab, var(--glaciar) 45%, transparent); stroke: var(--glaciar); stroke-width: 1; }
.g-petala--max { fill: color-mix(in oklab, var(--aurora) 70%, transparent); stroke: var(--aurora); }
.g-rumo { font: 700 13px var(--letra-titulo); fill: var(--tinta); }
@media (max-width: 900px) { .relevo { grid-template-columns: 1fr; } .relevo__rosa { max-width: 340px; } }

/* ---------------------------------------------------------------- a volta */
.faixa--volta { background: var(--cartao); }
.volta-grelha { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 40px; align-items: start; }
.placa-sat__imagem { position: relative; border: 1px solid var(--linha); background: #333; aspect-ratio: 1; overflow: hidden; }
.placa-sat__imagem img { width: 100%; height: 100%; object-fit: cover; }
.sinal-mapa { position: absolute; width: 12px; height: 12px; transform: translate(-50%, -50%); border-radius: 50%;
  background: #fff; box-shadow: 0 0 0 2px rgba(18,24,34,.75), 0 2px 6px rgba(0,0,0,.4); cursor: help; }
.sinal-mapa--refugio { background: #d9432f; }
.sinal-mapa--teleferico { border-radius: 0; background: #1c2430; box-shadow: 0 0 0 2px #fff; width: 10px; height: 10px; }
.sinal-mapa--estacao { border-radius: 0; background: #fff; width: 9px; height: 9px; }
.sinal-mapa--miradouro { background: var(--sinal); }
.sinal-mapa--cume { border-radius: 0; width: 15px; height: 13px; background: #1c2430;
  clip-path: polygon(50% 0, 100% 100%, 0 100%); box-shadow: none; }
.sinal-mapa--cume::before { content: ""; position: absolute; left: 3px; right: 3px; top: 4.5px; bottom: 2px;
  background: #fff; clip-path: polygon(50% 0, 100% 100%, 0 100%); }
.sinal-mapa--glaciar { background: #9fd3ff; }
.sinal-mapa--campismo { background: #4f9a54; }
.sinal-mapa--ferrata { background: var(--aurora); }
.sinal-mapa--principal { width: 26px; height: 23px; border-radius: 0; background: #1c2430;
  clip-path: polygon(50% 0, 100% 100%, 0 100%); box-shadow: none; z-index: 2; }
.sinal-mapa--principal::before { content: ""; position: absolute; left: 3.5px; right: 3.5px; top: 5px; bottom: 2px;
  background: var(--sinal); clip-path: polygon(50% 0, 100% 100%, 0 100%); }
.sinal-mapa.escondido { display: none; }
.placa-sat__norte { position: absolute; top: 10px; left: 10px; background: rgba(18,24,34,.8); color: #fff;
  font: 700 .8rem var(--letra-titulo); padding: 4px 8px; }
.placa-sat__norte::before { content: "\25B2  "; color: var(--sinal); }
.placa-sat__escala { position: absolute; bottom: 10px; left: 10px; display: flex; align-items: center; gap: 8px;
  font: 500 .72rem var(--mono); color: #fff; text-shadow: 0 1px 2px #000; width: 40%; white-space: nowrap;
  filter: drop-shadow(0 0 1px rgba(0,0,0,.9)) drop-shadow(0 1px 2px rgba(0,0,0,.6)); }
.placa-sat__escala i { display: block; width: 89%; height: 6px; border: 2px solid #fff; border-top: 0; flex: none; }
.placa-sat__filtros { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0 6px; }
.filtro { font-size: .86rem; }
.placa-sat__filtros .filtro { position: relative; display: inline-flex; align-items: center; gap: 7px; cursor: pointer;
  padding: 6px 10px; border: 1px solid var(--linha); background: var(--neve); user-select: none; }
.placa-sat__filtros input { position: absolute; opacity: 0; }
.placa-sat__filtros i { width: 10px; height: 10px; border-radius: 50%; background: currentColor; }
.placa-sat__filtros .filtro:has(input:not(:checked)) { opacity: .45; text-decoration: line-through; }
.filtro--refugio i { color: #d9432f; } .filtro--teleferico i { color: #1c2430; border-radius: 0; }
.filtro--estacao i { color: var(--tinta-3); border-radius: 0; } .filtro--miradouro i { color: var(--sinal-forte); }
.filtro--cume i { color: var(--tinta-2); clip-path: polygon(50% 0, 100% 100%, 0 100%); border-radius: 0; }
.filtro--glaciar i { color: #6fb9ee; } .filtro--campismo i { color: #4f9a54; } .filtro--ferrata i { color: var(--aurora); }
.volta { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 1px;
  background: var(--linha); border: 1px solid var(--linha); }
.volta__item { display: flex; gap: 12px; padding: 16px; background: var(--cartao); }
.volta__item .icone { color: var(--tinta-2); margin-top: 3px; }
.volta__item b { display: block; font: 700 1.7rem/1 var(--letra-titulo); }
.volta__item span { display: block; font-size: .86rem; color: var(--tinta-2); margin-top: 4px; }
.volta__item--zero b { color: var(--tinta-3); }
.volta__nomes { margin: 6px 0 0; font-size: .8rem; color: var(--tinta-3); line-height: 1.35; }
.volta__destaque { display: flex; gap: 12px; align-items: flex-start; background: var(--noite); color: var(--sobre-noite);
  padding: 16px 18px; margin: 0 0 14px; }
.volta__destaque .icone { color: var(--sinal); }
.volta__destaque b { color: #fff; }
.sac { margin-top: 22px; }
.sac__barra { display: flex; height: 34px; margin: 10px 0; border: 1px solid var(--linha); }
.sac__parte { display: flex; align-items: center; justify-content: center; min-width: 26px; color: #fff; font: 700 .8rem var(--mono); }
.sac__parte--t1 { background: #f2c500; color: #1c2430; }
.sac__parte--t2 { background: #e2513e; } .sac__parte--t3 { background: #b23a2b; }
.sac__parte--t4 { background: #4b8ad8; } .sac__parte--t5 { background: #2d62b4; } .sac__parte--t6 { background: #1a3b78; }
.sac__legenda { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 4px 16px;
  font-size: .82rem; color: var(--tinta-2); }
.sac__ponto { display: inline-block; width: 10px; height: 10px; margin-right: 6px; }
.volta__baixo { display: grid; grid-template-columns: 1fr auto; gap: 32px; margin-top: 36px; align-items: start; }
.volta__terras ul { list-style: none; margin: 0; padding: 0; columns: 2; column-gap: 32px; }
.volta__terras li { break-inside: avoid; padding: 7px 0; border-bottom: 1px solid var(--linha); display: flex;
  justify-content: space-between; gap: 12px; }
.volta__terras li span { font: 400 .8rem var(--mono); color: var(--tinta-3); }
.volta__carro { display: flex; gap: 12px; align-items: center; padding: 14px 16px; background: var(--neve);
  border: 1px solid var(--linha); text-decoration: none; max-width: 360px; }
.volta__carro-corpo b { display: block; font-weight: 600; }
.volta__carro-corpo span { font: 500 .72rem var(--mono); color: var(--tinta-3); }
@media (max-width: 900px) {
  .volta-grelha, .volta__baixo { grid-template-columns: 1fr; }
  .volta__terras ul { columns: 1; }
}
@media (max-width: 480px) { .volta { grid-template-columns: 1fr; } }

/* ---------------------------------------------------------------- fotografias */
.fotos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.fotos__item { margin: 0; }
.fotos__item img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.fotos__item--larga { grid-column: 1 / -1; }
.fotos__item--larga img { aspect-ratio: 16 / 7; }
.fotos figcaption { font: 400 .72rem/1.4 var(--mono); color: var(--tinta-3); margin-top: 6px; }
@media (max-width: 760px) { .fotos { grid-template-columns: 1fr; } .fotos__item--larga img { aspect-ratio: 3 / 2; } }

/* ---------------------------------------------------------------- anos */
.anos { min-width: 760px; background: var(--cartao); border: 1px solid var(--linha); font-variant-numeric: tabular-nums; }
.anos th, .anos td { padding: 8px 6px; text-align: center; border-bottom: 1px solid var(--linha); font-size: .9rem; }
.anos thead th { font: 600 .74rem var(--mono); text-transform: uppercase; color: var(--tinta-2); }
.anos tbody th { font: 700 1rem var(--letra-titulo); text-align: left; padding-left: 12px; }
.anos__ref td { font-weight: 700; background: var(--neve-2); }
.anos__c--quente { background: color-mix(in oklab, var(--aurora) 26%, transparent); }
.anos__c--frio { background: color-mix(in oklab, var(--glaciar) 22%, transparent); }
.anos__legenda span { display: inline-block; padding: 2px 6px; font-weight: 700; margin: 0 4px 0 12px; }

/* ---------------------------------------------------------------- cartoes */
.cartoes { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 18px; }
.cartoes--grandes { grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }
.cartao-pico { display: flex; flex-direction: column; text-decoration: none; background: var(--cartao);
  border: 1px solid var(--linha); transition: transform .2s, box-shadow .2s, border-color .2s; }
.cartao-pico:hover { transform: translateY(-3px); box-shadow: var(--sombra); border-color: var(--linha-forte); }
.cartao-pico__img { position: relative; display: block; aspect-ratio: 16 / 9; background:
  linear-gradient(180deg, #3a62a0, #c9d9e6 70%, #6c7a69); overflow: hidden; }
.cartao-pico__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
.cartao-pico:hover .cartao-pico__img img { transform: scale(1.04); }
.cartao-pico__alt { position: absolute; left: 0; bottom: 0; background: var(--sinal); color: #1c2430;
  font: 700 1.05rem/1 var(--letra-titulo); padding: 7px 18px 7px 10px; letter-spacing: .03em;
  clip-path: polygon(0 0, calc(100% - 10px) 0, 100% 50%, calc(100% - 10px) 100%, 0 100%); }
.cartao-pico__alt small { font-size: .8em; }
.cartao-pico__corpo { padding: 14px 16px 16px; display: grid; gap: 4px; }
.cartao-pico__nome { font: 700 1.35rem/1.05 var(--letra-titulo); text-transform: uppercase; letter-spacing: .02em; }
.cartao-pico__pais { display: flex; align-items: center; gap: 8px; font-size: .86rem; color: var(--tinta-2); }
.cartao-pico__extra { font: 500 .76rem var(--mono); color: var(--tinta-3); }

/* ---------------------------------------------------------------- fontes */
.tabela-fontes { font-size: .9rem; }
.tabela-fontes th, .tabela-fontes td { text-align: left; vertical-align: top; padding: 10px 12px 10px 0;
  border-bottom: 1px solid var(--linha); }
.tabela-fontes th { font-weight: 600; width: 34%; }
.tabela-fontes--larga { min-width: 860px; background: var(--cartao); }
.tabela-fontes--larga th, .tabela-fontes--larga td { padding: 12px; }
.texto-longo { font-size: 1.04rem; }
.texto-longo h2 { margin-top: 1.8em; }

/* ---------------------------------------------------------------- pagina inicial */
.heroi-inicio { position: relative; color: #fff; overflow: hidden; isolation: isolate; padding: 128px 0 0;
  background: linear-gradient(180deg, #070b16 0%, #121a33 30%, #2c2c55 52%, #6d4a6a 70%, #c8735c 86%, #f0b077 100%); }
.heroi-inicio__ceu { position: absolute; inset: 0; z-index: -1; opacity: .7;
  background-image: radial-gradient(1px 1px at 12% 18%, #fff 50%, transparent 52%),
    radial-gradient(1px 1px at 28% 9%, #fff 50%, transparent 52%), radial-gradient(1.5px 1.5px at 44% 22%, #fff 50%, transparent 52%),
    radial-gradient(1px 1px at 63% 12%, #fff 50%, transparent 52%), radial-gradient(1px 1px at 78% 27%, #fff 50%, transparent 52%),
    radial-gradient(1.5px 1.5px at 88% 8%, #fff 50%, transparent 52%), radial-gradient(1px 1px at 6% 34%, #fff 50%, transparent 52%),
    radial-gradient(1px 1px at 52% 4%, #fff 50%, transparent 52%), radial-gradient(1px 1px at 93% 38%, #fff 50%, transparent 52%),
    radial-gradient(1px 1px at 36% 31%, #fff 50%, transparent 52%); }
.heroi-inicio__kicker { font: 500 .78rem var(--mono); text-transform: uppercase; letter-spacing: .2em; color: var(--sinal);
  margin-bottom: 18px; }
.heroi-inicio__titulo { font-size: clamp(3rem, 8vw, 6.6rem); font-weight: 800; text-transform: uppercase; line-height: .88;
  max-width: 13ch; }
.heroi-inicio__titulo em { font-style: normal; color: var(--sinal); }
.heroi-inicio__lede { font-size: 1.18rem; color: rgba(255,255,255,.82); max-width: 54ch; margin: 22px 0 26px; }
.atalhos { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.atalhos a { font: 600 .86rem/1 var(--letra-titulo); text-transform: uppercase; letter-spacing: .08em; text-decoration: none;
  padding: 9px 14px; border: 1px solid rgba(255,255,255,.35); color: #fff; }
.atalhos a:hover { background: rgba(255,255,255,.12); border-color: #fff; }
.heroi-inicio__escala { margin-top: 26px; padding: 0 12px; }
.escala-mundo { display: block; width: 100%; min-width: 980px; max-width: 1500px; margin: 0 auto; height: auto; overflow: visible; }
.e-grelha { stroke: rgba(255,255,255,.1); }
.e-eixo { font: 400 11px var(--mono); fill: rgba(255,255,255,.55); }
.e-mar { stroke: rgba(255,255,255,.5); stroke-width: 1.5; }
.e-pico { cursor: pointer; }
.e-sil { fill: rgba(10, 14, 26, .82); stroke: rgba(255,255,255,.38); stroke-width: 1.2; stroke-linejoin: round;
  transition: fill .25s, stroke .25s; animation: subir 1.2s cubic-bezier(.2,.7,.2,1) both; animation-delay: calc(var(--k) * 60ms);
  transform-box: fill-box; transform-origin: 50% 100%; }
@keyframes subir { from { transform: scaleY(.15); opacity: 0; } to { transform: none; opacity: 1; } }
.e-guia { stroke: rgba(255,255,255,.4); stroke-dasharray: 2 3; }
.e-nome { font: 700 14px var(--letra-titulo); fill: #fff; text-transform: uppercase; letter-spacing: .06em; }
.e-alt { font: 500 11.5px var(--mono); fill: var(--sinal); }
.e-pico:hover .e-sil, .e-pico:focus .e-sil { fill: rgba(255, 198, 41, .9); stroke: #fff; }
.e-pico:hover .e-nome { fill: var(--sinal); }
.heroi-inicio__nota { font: 400 .72rem var(--mono); color: rgba(28,36,48,.8); padding-top: 8px; padding-bottom: 14px; margin: 0 auto; }
@media (prefers-reduced-motion: reduce) { .e-sil, .heroi-pico__vista { animation: none; } }

.pesquisa { position: relative; display: flex; align-items: stretch; max-width: 640px; background: var(--cartao);
  border: 2px solid var(--tinta); color: var(--tinta); }
.pesquisa--grande { border-color: transparent; box-shadow: 0 20px 50px -20px rgba(0,0,0,.6); }
.pesquisa__icone { width: 24px; height: 24px; margin: auto 0 auto 16px; color: var(--tinta-2); flex: none; }
.pesquisa input { flex: 1; min-width: 0; border: 0; background: transparent; padding: 16px 14px; font-size: 1.08rem; outline: 0; }
.pesquisa__ir { border: 0; background: var(--sinal); color: #1c2430; padding: 0 26px; cursor: pointer;
  font: 700 1rem var(--letra-titulo); text-transform: uppercase; letter-spacing: .1em; }
.pesquisa__lista { position: absolute; left: -2px; right: -2px; top: 100%; list-style: none; margin: 0; padding: 0;
  background: var(--cartao); border: 2px solid var(--tinta); border-top: 0; z-index: 40; max-height: 420px; overflow-y: auto;
  box-shadow: var(--sombra); }
.pesquisa__lista:not(.aberta) { display: none; }
.sugestao { display: flex; gap: 12px; align-items: center; padding: 10px 14px; text-decoration: none; color: var(--tinta); }
.sugestao > span:nth-child(2) { display: grid; min-width: 0; }
a.sugestao:hover, .sugestao[aria-selected="true"] { background: var(--neve-2); }
.sugestao__seta { margin-left: auto; font: 600 .74rem var(--mono); color: var(--tinta-3); white-space: nowrap; }
.sugestao__nome { font-weight: 600; }
.sugestao__onde { font: 400 .78rem var(--mono); color: var(--tinta-3); display: flex; gap: 6px; align-items: center; }
.sugestao__forma { width: 52px; height: 22px; flex: none; fill: var(--rocha-2); }
.sugestao__ponto { width: 10px; height: 10px; flex: none; background: var(--linha-forte);
  clip-path: polygon(50% 0, 100% 100%, 0 100%); }

.numeros { background: var(--sinal); color: #1c2430; }
.numeros__lista { display: grid; grid-template-columns: repeat(4, 1fr); }
.numeros__lista div { padding: 24px 22px; border-left: 1px solid rgba(28,36,48,.18); }
.numeros__lista div:first-child { border-left: 0; padding-left: 0; }
.numeros b { display: block; font: 700 2.5rem/1 var(--letra-titulo); font-variant-numeric: tabular-nums; }
.numeros span { font: 600 .8rem var(--mono); text-transform: uppercase; letter-spacing: .08em; }
@media (max-width: 760px) {
  .numeros__lista { grid-template-columns: 1fr 1fr; }
  .numeros__lista div { padding: 16px 0; border-left: 0; }
}
.meses-botoes { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 24px; }
.mes-botao { border: 1px solid var(--linha-forte); background: var(--cartao); padding: 9px 13px; cursor: pointer;
  font: 700 .9rem var(--letra-titulo); text-transform: uppercase; letter-spacing: .06em; min-width: 54px; }
.mes-botao[aria-pressed="true"] { background: var(--tinta); color: var(--neve); border-color: var(--tinta); }
.faixa--estacao { background: var(--cartao); }
.faixa--tectos { background: var(--noite); color: var(--sobre-noite); }
.faixa--tectos .sobretitulo, .faixa--tectos .lede { color: var(--sobre-noite-2); }
.faixa--tectos .ligacao-seta { color: #fff; }
.tectos { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 1px; background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.1); margin-bottom: 28px; }
.tecto { display: flex; flex-direction: column; gap: 6px; padding: 16px; background: var(--noite); text-decoration: none; }
.tecto:hover { background: var(--noite-2); }
.tecto__cont { font: 500 .7rem var(--mono); text-transform: uppercase; letter-spacing: .12em; color: var(--sinal); }
.tecto__perfil { width: 100%; height: 64px; fill: rgba(255,255,255,.18); stroke: none; }
.tecto:hover .tecto__perfil { fill: var(--sinal); }
.tecto__nome { font: 700 1.2rem/1.05 var(--letra-titulo); text-transform: uppercase; color: #fff; }
.tecto__alt { font: 500 .86rem var(--mono); color: var(--sobre-noite-2); }
.paises-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.pais-chip { display: inline-flex; align-items: center; gap: 8px; padding: 8px 12px; border: 1px solid var(--linha);
  background: var(--cartao); text-decoration: none; font-weight: 500; }
.pais-chip b { font: 500 .76rem var(--mono); color: var(--tinta-3); }
.pais-chip:hover { border-color: var(--tinta); }
.pais-chip--todos { background: var(--tinta); color: var(--neve); border-color: var(--tinta); }
.faixa--confianca { background: var(--neve-2); }
.confianca { display: grid; grid-template-columns: 1.1fr 1fr; gap: 56px; align-items: start; }
.confianca__lista { list-style: none; margin: 0; padding: 0; border-top: 2px solid var(--tinta); }
.confianca__lista li { display: grid; grid-template-columns: 160px 1fr; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--linha); }
.confianca__lista b { font: 700 1.05rem var(--letra-titulo); text-transform: uppercase; letter-spacing: .04em; }
.confianca__lista span { color: var(--tinta-2); font-size: .95rem; }
@media (max-width: 860px) { .confianca { grid-template-columns: 1fr; gap: 28px; } .confianca__lista li { grid-template-columns: 1fr; gap: 2px; } }

/* ---------------------------------------------------------------- procurar */
.procurar { display: grid; grid-template-columns: 290px minmax(0, 1fr); gap: 36px; align-items: start; }
.filtros { display: grid; gap: 16px; position: sticky; top: 20px; background: var(--cartao); border: 1px solid var(--linha);
  padding: 20px; }
.filtros .filtro { display: grid; gap: 6px; }
.filtros .filtro > span, .filtros legend { font: 600 .74rem var(--mono); text-transform: uppercase; letter-spacing: .08em;
  color: var(--tinta-2); display: flex; justify-content: space-between; }
.filtros input[type="search"], .filtros select { padding: 10px 12px; border: 1px solid var(--linha-forte); background: var(--neve);
  border-radius: 0; }
.filtros input[type="range"] { accent-color: var(--tinta); }
.filtro--chips { border: 0; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.filtro--chips legend { width: 100%; margin-bottom: 6px; }
.filtro--chips label { cursor: pointer; position: relative; }
.filtro--chips input { position: absolute; opacity: 0; }
.filtro--chips span { display: inline-block; padding: 7px 11px; border: 1px solid var(--linha-forte); font-size: .88rem; }
.filtro--chips input:checked + span { background: var(--tinta); color: var(--neve); border-color: var(--tinta); }
.filtros .filtro--check { display: flex; align-items: center; gap: 10px; cursor: pointer; }
.filtro--check input { width: 18px; height: 18px; accent-color: var(--tinta); }
.resultados__conta { font: 500 .82rem var(--mono); color: var(--tinta-2); margin-bottom: 14px; }
.resultados__lista { display: grid; gap: 1px; background: var(--linha); border: 1px solid var(--linha); }
.resultado { display: grid; grid-template-columns: 110px minmax(0, 1fr) auto; gap: 18px; align-items: center; padding: 12px 16px;
  background: var(--cartao); text-decoration: none; }
.resultado:hover { background: var(--neve-2); }
.resultado__perfil { width: 110px; height: 40px; fill: var(--rocha-2); }
.resultado__nome { font: 700 1.2rem/1.1 var(--letra-titulo); text-transform: uppercase; }
.resultado__onde { font-size: .84rem; color: var(--tinta-2); display: flex; gap: 8px; align-items: center; }
.resultado__nums { text-align: right; font: 500 .82rem var(--mono); color: var(--tinta-2); }
.resultado__nums b { display: block; font: 700 1.3rem var(--letra-titulo); color: var(--tinta); }
.resultado__temp { display: inline-block; padding: 1px 6px; margin-top: 4px; }
.resultado--simples .resultado__nome { font-size: 1.05rem; color: var(--tinta-2); }
@media (max-width: 900px) {
  .procurar { grid-template-columns: 1fr; }
  .filtros { position: static; }
  .resultado { grid-template-columns: 70px minmax(0, 1fr) auto; gap: 12px; }
  .resultado__perfil { width: 70px; }
}

/* ---------------------------------------------------------------- mapa */
.pagina-mapa .rodape { display: none; }
.mapa-pagina { display: grid; grid-template-columns: 320px 1fr; height: calc(100vh - 67px); min-height: 520px; }
.mapa-pagina__painel { padding: 24px; overflow-y: auto; border-right: 1px solid var(--linha); background: var(--cartao);
  display: grid; gap: 16px; align-content: start; }
.mapa-pagina__painel .filtro { display: grid; gap: 6px; }
.mapa-pagina__painel .filtro > span { font: 600 .74rem var(--mono); text-transform: uppercase; color: var(--tinta-2); }
.mapa-pagina__painel .filtro--check { display: flex; align-items: center; gap: 10px; }
.mapa-pagina__painel select { padding: 10px; border: 1px solid var(--linha-forte); background: var(--neve); }
.mapa { width: 100%; height: 100%; background: #c9d6e2; }
.mapa-legenda p { display: flex; align-items: center; gap: 8px; margin: 0 0 6px; font-size: .86rem; }
.ponto { display: inline-block; width: 12px; height: 12px; border-radius: 50%; }
.ponto--pagina { background: var(--sinal); box-shadow: 0 0 0 2px #1c2430; }
.ponto--simples { width: 7px; height: 7px; background: #6d7a8d; }
.escala-cores { display: flex; gap: 2px; margin-top: 8px; }
.escala-cores span { flex: 1; font: 400 .66rem var(--mono); color: var(--tinta-3); text-align: center; }
.escala-cores i { display: block; height: 10px; margin-bottom: 3px; }
@media (max-width: 760px) {
  .mapa-pagina { grid-template-columns: 1fr; grid-template-rows: auto 70vh; height: auto; }
  .mapa-pagina__painel { border-right: 0; border-bottom: 1px solid var(--linha); }
}
.maplibregl-popup-content { font: 400 14px/1.4 var(--letra); border-radius: 0 !important; padding: 12px 14px !important; color: #1c2430; }
.mapa-popup b { display: block; font: 700 1.1rem var(--letra-titulo); text-transform: uppercase; }
.mapa-popup a { display: inline-block; margin-top: 6px; font-weight: 700; }

/* ---------------------------------------------------------------- comparar */
.comparar { display: grid; gap: 26px; }
.comparar__escolhidos { display: flex; flex-wrap: wrap; gap: 8px; }
.escolhido { display: inline-flex; align-items: center; gap: 8px; padding: 6px 6px 6px 12px; background: var(--tinta); color: var(--neve);
  font: 700 .95rem var(--letra-titulo); text-transform: uppercase; letter-spacing: .04em; }
.escolhido i { width: 12px; height: 12px; display: inline-block; }
.escolhido button { border: 0; background: rgba(255,255,255,.15); color: inherit; cursor: pointer; width: 26px; height: 26px; }
.comparar__escala:empty { display: none; }
.comparar__escala { background: var(--noite); padding: 18px; }
.comparar__escala svg { width: 100%; height: auto; display: block; }
.c-eixo { font: 400 11px var(--mono); fill: rgba(255,255,255,.55); }
.c-grelha { stroke: rgba(255,255,255,.1); }
.c-sil { fill-opacity: .35; stroke-width: 2; }
.c-nome { font: 700 13px var(--letra-titulo); letter-spacing: .05em; }
.tabela-comparar:empty { display: none; }
.tabela-comparar { min-width: 640px; background: var(--cartao); border: 1px solid var(--linha); }
.tabela-comparar th, .tabela-comparar td { padding: 10px 12px; border-bottom: 1px solid var(--linha); text-align: right; }
.tabela-comparar tbody th { text-align: left; font: 600 .76rem var(--mono); text-transform: uppercase; color: var(--tinta-2); }
.tabela-comparar thead th { font: 700 1rem var(--letra-titulo); text-transform: uppercase; }

/* ---------------------------------------------------------------- paises e listas */
.continentes { display: grid; gap: 40px; }
.paises-lista { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 1px; background: var(--linha);
  border: 1px solid var(--linha); }
.pais-linha { display: flex; align-items: center; gap: 10px; padding: 12px 14px; background: var(--cartao); text-decoration: none; }
.pais-linha:hover { background: var(--neve-2); }
.pais-linha b { margin-left: auto; font: 500 .8rem var(--mono); color: var(--tinta-3); }
.cartoes--grelha { margin-bottom: 40px; }
.outros-picos { list-style: none; margin: 0; padding: 0; columns: 3; column-gap: 32px; }
.outros-picos li { display: flex; justify-content: space-between; gap: 10px; padding: 6px 0; border-bottom: 1px solid var(--linha);
  break-inside: avoid; }
.outros-picos span { font: 400 .8rem var(--mono); color: var(--tinta-3); }
@media (max-width: 760px) { .outros-picos { columns: 1; } }
.tabela-altos { background: var(--cartao); border: 1px solid var(--linha); min-width: 520px; }
.tabela-altos th, .tabela-altos td { text-align: left; padding: 10px 14px; border-bottom: 1px solid var(--linha); }
.tabela-altos thead th { font: 600 .74rem var(--mono); text-transform: uppercase; color: var(--tinta-2); background: var(--neve-2); }
.tabela-altos td a { font-weight: 700; }
.tabela-altos .num { text-align: right; font-family: var(--mono); font-size: .9rem; white-space: nowrap; }
.contacto dt { font: 600 .74rem var(--mono); text-transform: uppercase; color: var(--tinta-3); margin-top: 14px; }
.contacto dd { margin: 4px 0 0; font-size: 1.1rem; }
.faixa--404 { min-height: 50vh; }
.faixa--404 .pesquisa { margin: 24px 0; }

/* ---------------------------------------------------------------- o visualizador 3D */
.v3d { position: fixed; inset: 0; z-index: 200; background: radial-gradient(ellipse at 50% 30%, #2a3a5c, #0b0f18 70%); color: #fff; }
.v3d[hidden] { display: none; }
.v3d canvas { width: 100%; height: 100%; display: block; touch-action: none; cursor: grab; }
.v3d canvas:active { cursor: grabbing; }
.v3d__cab { position: absolute; left: 0; right: 0; top: 0; display: flex; align-items: center; gap: 14px; padding: 14px 18px;
  background: linear-gradient(180deg, rgba(0,0,0,.55), transparent); pointer-events: none; flex-wrap: wrap; }
.v3d__cab > * { pointer-events: auto; }
.v3d__nome { font: 800 1.6rem/1 var(--letra-titulo); text-transform: uppercase; letter-spacing: .03em; }
.v3d__fechar { margin-left: auto; border: 0; background: var(--sinal); color: #1c2430; font: 700 .95rem var(--letra-titulo);
  text-transform: uppercase; letter-spacing: .08em; padding: 10px 16px; cursor: pointer; }
.v3d__ajuda { position: absolute; left: 50%; bottom: 18px; transform: translateX(-50%); font: 500 .78rem var(--mono);
  color: rgba(255,255,255,.75); background: rgba(0,0,0,.4); padding: 8px 14px; text-align: center; max-width: 92vw; }
.v3d__estado { position: absolute; inset: 0; display: grid; place-items: center; font: 600 1rem var(--mono); color: rgba(255,255,255,.8);
  pointer-events: none; }
.v3d__exagero { display: flex; align-items: center; gap: 8px; font: 500 .74rem var(--mono); }
.v3d__exagero input { accent-color: var(--sinal); width: 110px; }
html.v3d-aberto { overflow: hidden; }

/* ---------------------------------------------------------------- rodape */
.rodape { background: var(--noite); color: var(--sobre-noite); padding: 64px 0 36px; position: relative; }
.rodape::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 12px;
  background: repeating-linear-gradient(90deg, var(--sinal) 0 2px, transparent 2px 24px) top left / 100% 12px no-repeat,
              repeating-linear-gradient(90deg, rgba(255,198,41,.5) 0 1px, transparent 1px 6px) top left / 100% 6px no-repeat; }
.rodape a { color: var(--sobre-noite); text-decoration: none; }
.rodape a:hover { color: #fff; text-decoration: underline; }
.rodape__cima { display: grid; grid-template-columns: 300px 1fr; gap: 48px; }
.rodape__marca p { color: var(--sobre-noite-2); margin-top: 14px; font-size: .95rem; }
.rodape__colunas { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.rodape h4 { font: 600 .74rem var(--mono); text-transform: uppercase; letter-spacing: .12em; color: var(--sinal); margin-bottom: 14px; }
.rodape ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; font-size: .94rem; }
.botao-texto { background: none; border: 0; padding: 0; cursor: pointer; color: var(--sobre-noite); }
.botao-texto:hover { color: #fff; text-decoration: underline; }
.rodape__legal { margin-top: 44px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.1); }
.rodape__legal p { font: 400 .7rem/1.6 var(--mono); color: var(--sobre-noite-2); margin: 0; }
@media (max-width: 900px) {
  .rodape__cima { grid-template-columns: 1fr; }
  .rodape__colunas { grid-template-columns: 1fr 1fr; }
}

/* ---------------------------------------------------------------- cookies (medir.js) */
.cookies { position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 90; max-width: 760px; margin: 0 auto;
  background: var(--cartao); color: var(--tinta); border: 2px solid var(--tinta); box-shadow: var(--sombra); padding: 20px; }
.cookies .envolve { max-width: none; padding: 0; }
.cookies h2 { font-size: 1.4rem; text-transform: uppercase; margin-bottom: 8px; }
.cookies__linha { display: grid; gap: 14px; }
.cookies__texto p { margin: 0; color: var(--tinta-2); font-size: .92rem; }
.cookies__botoes { display: flex; gap: 10px; flex-wrap: wrap; justify-content: flex-end; }
.cookies__botoes button { border: 2px solid var(--tinta); background: transparent; padding: 10px 16px; cursor: pointer;
  font: 700 .92rem var(--letra-titulo); text-transform: uppercase; letter-spacing: .06em; }
.cookies__botoes button:last-child { background: var(--sinal); border-color: var(--sinal); color: #1c2430; }
.cookies__opcoes { display: grid; gap: 8px; }
.cookies__opcao { display: flex; gap: 10px; align-items: flex-start; font-size: .9rem; }

@media print {
  .topo, .rodape, .afiliados, .anuncio, .botao-3d, .v3d { display: none !important; }
  .heroi-pico { min-height: 0; color: #000; background: none; }
  .heroi-pico__vista, .heroi-pico__veu, .altimetro { display: none; }
}

/* ---------------------------------------------------------------- as notas (esqui, montanhismo) */
.faixa--notas { background: var(--neve-2); }
.notas { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 18px; }
.nota { background: var(--cartao); border: 1px solid var(--linha); padding: 22px 22px 18px; display: grid; gap: 14px; align-content: start; }
.nota__cab { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.nota__rotulo { margin: 0; font: 700 1.1rem/1 var(--letra-titulo); text-transform: uppercase; letter-spacing: .08em; }
.nota__valor { margin: 0; display: flex; align-items: baseline; gap: 4px; }
.nota__valor b { font: 700 3.4rem/1 var(--letra-titulo); font-variant-numeric: tabular-nums; }
.nota__valor span { font: 600 1.1rem var(--letra-titulo); color: var(--tinta-3); }
.nota__barra { display: block; height: 10px; background: var(--neve-3); position: relative; overflow: hidden; }
.nota__barra i { position: absolute; left: 0; top: 0; bottom: 0; width: var(--v); background: var(--sinal);
  box-shadow: inset -2px 0 0 #1c2430; }
.nota__barra--fina { height: 6px; width: 90px; display: inline-block; vertical-align: middle; }
.nota--esqui .nota__barra i { background: var(--glaciar); }
.nota--vazia { opacity: .75; }
.nota__vazio { margin: 0; color: var(--tinta-2); }
.nota__partes { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.nota__partes li { display: grid; grid-template-columns: 54px 62px 1fr; gap: 10px; align-items: center; font-size: .9rem; }
.nota__partes li > span:last-child { color: var(--tinta-2); line-height: 1.3; }
.nota__partes b { font: 600 .9rem var(--mono); }
.nota__partes b small { color: var(--tinta-3); font-weight: 400; }
.nota__mini { display: block; height: 6px; background: var(--neve-3); position: relative; }
.nota__mini i { position: absolute; inset: 0 auto 0 0; width: var(--v); background: var(--tinta-2); }
.nota__sub { margin: 0 0 6px; font: 600 .7rem var(--mono); text-transform: uppercase; letter-spacing: .1em; color: var(--tinta-3); }
.nota__det { margin: 0; font: 500 .78rem var(--mono); color: var(--tinta-2); }
.pistas__barra { display: flex; height: 14px; border: 1px solid var(--linha); }
.pista { display: inline-block; min-width: 3px; }
.pista--novice { background: #8bc34a; } .pista--easy { background: #2f7de1; } .pista--intermediate { background: #e2513e; }
.pista--advanced { background: #1c2430; } .pista--expert { background: repeating-linear-gradient(45deg, #1c2430 0 4px, #ffc629 4px 7px); }
.pista--freeride { background: repeating-linear-gradient(45deg, #ef8547 0 4px, #fff 4px 7px); }
:root[data-theme="dark"] .pista--advanced { background: #d8dee5; }
.pistas__legenda { list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 14px; font-size: .8rem; color: var(--tinta-2); }
.pistas__legenda i { width: 10px; height: 10px; margin-right: 5px; vertical-align: -1px; }
.neve__meses { display: grid; grid-template-columns: repeat(12, 1fr); gap: 3px; }
.mes-neve { text-align: center; font: 600 .74rem/1 var(--mono); padding: 7px 0; background: var(--neve-3); color: var(--tinta-3); }
.mes-neve--sim { background: var(--glaciar); color: #fff; }
.dificuldade { border-top: 1px solid var(--linha); border-bottom: 1px solid var(--linha); padding: 12px 0; }
.dificuldade__placa { margin: 2px 0 8px; }
.dificuldade__placa span { display: inline-block; padding: 7px 16px; font: 700 1.05rem/1 var(--letra-titulo); text-transform: uppercase;
  letter-spacing: .1em; border: 5px solid #fff; box-shadow: 0 0 0 1px var(--linha-forte); }
.dificuldade--caminhada .dificuldade__placa span { background: #ffc629; color: #1c2430; border-color: #ffc629; }
.dificuldade--montanha .dificuldade__placa span { background: #d9342b; color: #fff; }
.dificuldade--alpinismo .dificuldade__placa span { background: #2d62b4; color: #fff; }
.dificuldade--expedicao .dificuldade__placa span { background: #1c2430; color: #ffc629; border-color: #1c2430; }
.dificuldade__texto { margin: 0 0 4px; font-size: .92rem; }
.dificuldade__aviso { margin: 0; font-size: .78rem; color: var(--tinta-3); }
.notas__como { margin-top: 18px; background: var(--cartao); border: 1px solid var(--linha); padding: 14px 18px; font-size: .9rem; }
.notas__como summary { cursor: pointer; font: 700 1rem var(--letra-titulo); text-transform: uppercase; letter-spacing: .06em; }
.notas__como p { margin: 10px 0 0; color: var(--tinta-2); }
@media (max-width: 480px) { .nota__partes li { grid-template-columns: 40px 56px 1fr; } }

/* ---------------------------------------------------------------- rankings */
.tabela-rank { min-width: 700px; background: var(--cartao); border: 1px solid var(--linha); }
.tabela-rank th, .tabela-rank td { padding: 10px 14px; border-bottom: 1px solid var(--linha); text-align: left; vertical-align: middle; }
.tabela-rank thead th { font: 600 .72rem var(--mono); text-transform: uppercase; color: var(--tinta-2); background: var(--neve-2); }
.tabela-rank td a { font: 700 1.15rem var(--letra-titulo); text-transform: uppercase; text-decoration: none; }
.tabela-rank small { color: var(--tinta-2); display: inline-flex; gap: 6px; align-items: center; }
.tabela-rank .num { text-align: right; font-family: var(--mono); font-size: .9rem; white-space: nowrap; }
.rank__pos { font: 700 1.2rem var(--letra-titulo); color: var(--tinta-3); width: 36px; }
.rank__perfil { width: 120px; height: 40px; fill: var(--rocha-2); display: block; }
.rank__nota { display: inline-flex; align-items: center; gap: 10px; }
.rank__nota b { font: 700 1.3rem var(--letra-titulo); min-width: 38px; }
.dif-chip { display: inline-block; padding: 3px 8px; font: 700 .78rem var(--letra-titulo); text-transform: uppercase; letter-spacing: .06em; }
.dif-chip--caminhada { background: #ffc629; color: #1c2430; } .dif-chip--montanha { background: #d9342b; color: #fff; }
.dif-chip--alpinismo { background: #2d62b4; color: #fff; } .dif-chip--expedicao { background: #1c2430; color: #ffc629; }
.faixa--rankings { background: var(--neve-2); }
.tops { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 18px; }
.top { background: var(--cartao); border: 1px solid var(--linha); padding: 20px 22px; }
.top__lista { list-style: none; margin: 0 0 16px; padding: 0; }
.top__lista li { display: grid; grid-template-columns: 30px 1fr auto; gap: 10px; align-items: center; padding: 9px 0; border-bottom: 1px solid var(--linha); }
.top__lista a { font: 700 1.1rem var(--letra-titulo); text-transform: uppercase; text-decoration: none; }

/* ---------------------------------------------------------------- a familia de sites */
.faixa--familia { background: var(--cartao); }
.irmaos { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 16px; }
.irmao { position: relative; display: grid; gap: 8px; align-content: start; padding: 22px 22px 20px; min-height: 230px;
  background: var(--f); color: var(--t); text-decoration: none; overflow: hidden; transition: transform .2s, box-shadow .2s; }
a.irmao:hover { transform: translateY(-4px); box-shadow: 0 18px 40px -18px rgba(0,0,0,.45); }
.irmao::after { content: ""; position: absolute; right: -40px; bottom: -40px; width: 160px; height: 160px; border-radius: 50%;
  background: var(--a); opacity: .14; }
.irmao__simbolo svg { width: 46px; height: 46px; display: block; }
.irmao__tema { font: 600 .74rem var(--mono); text-transform: uppercase; letter-spacing: .16em; color: var(--a); margin-top: 6px; }
.irmao__nome { font: 800 2.1rem/1 var(--letra-titulo); text-transform: uppercase; letter-spacing: .03em; }
.irmao__frase { font-size: .95rem; opacity: .85; line-height: 1.4; }
.irmao__accao { justify-self: start; margin-top: 6px; background: var(--a); color: #1c2430; padding: 8px 14px;
  font: 700 .86rem var(--letra-titulo); text-transform: uppercase; letter-spacing: .08em; position: relative; z-index: 1; }
.irmao--este { box-shadow: inset 0 0 0 3px var(--a); }
.irmao--este .irmao__accao { background: transparent; color: var(--a); padding-left: 0; }
.rodape__familia { margin-top: 36px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.1); display: flex; flex-wrap: wrap;
  align-items: center; gap: 10px 14px; }
.rodape__familia > span { font: 600 .72rem var(--mono); text-transform: uppercase; letter-spacing: .12em; color: var(--sobre-noite-2); }
.irmao-chip { display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px 6px 6px; border: 1px solid rgba(255,255,255,.18);
  text-decoration: none !important; }
.irmao-chip:hover { border-color: var(--a); }
.irmao-chip__simbolo svg { width: 26px; height: 26px; display: block; }
.irmao-chip b { font: 700 1rem var(--letra-titulo); text-transform: uppercase; letter-spacing: .05em; color: #fff; }
.irmao-chip em { font: normal 500 .72rem var(--mono); color: var(--a); text-transform: uppercase; }

/* 0 C fora da regua: acima do cume (Vesuvio no verao) ou abaixo do vale. Nao fica na escala,
   fica por cima / por baixo dela, com a regua a continuar a tracejado ate a etiqueta */
.altimetro__fora { display: none !important; }
.altimetro__zero--acima .altimetro__fora--acima, .altimetro__zero--abaixo .altimetro__fora--abaixo { display: block !important; }
.altimetro li.altimetro__zero--acima { bottom: calc(100% + 40px) !important; right: 0; transform: none; }
.altimetro li.altimetro__zero--abaixo { bottom: auto !important; top: calc(100% + 34px); right: 0; transform: none; }
.altimetro li.altimetro__zero--acima::after, .altimetro li.altimetro__zero--abaixo::after {
  right: 8px; width: 0; height: 34px; background: none; border-left: 2px dashed currentColor; opacity: .7; }
.altimetro li.altimetro__zero--acima::after { top: 100%; }
.altimetro li.altimetro__zero--abaixo::after { top: auto; bottom: 100%; }
.altimetro__zero--acima b::before { content: "\2191\00a0"; font-size: .9em; }
.altimetro__zero--abaixo b::before { content: "\2193\00a0"; font-size: .9em; }
/* a regua encolhe para a etiqueta de fora caber dentro do altimetro (sem ir para o cabecalho
   nem para os creditos da imagem) */
.altimetro .altimetro__regua, .altimetro ul { transition: top .6s, bottom .6s; }
.altimetro--acima .altimetro__regua, .altimetro--acima ul { top: 100px; }
.altimetro--abaixo .altimetro__regua, .altimetro--abaixo ul { bottom: 100px; }

/* ---------------------------------------------------------------- a neve, mes a mes */
.faixa--neve { background: var(--neve); }
.neve-quadro { width: 100%; border-collapse: separate; border-spacing: 3px; table-layout: fixed; min-width: 560px; }
.neve-quadro thead th { font: 600 .74rem/1 var(--mono); text-transform: uppercase; color: var(--tinta-2);
  padding: 0 0 8px; text-align: center; }
.neve-quadro thead td { width: 230px; }
.neve-quadro tbody th { text-align: left; padding: 0 14px 0 0; vertical-align: middle; }
/* altura FIXA (uma div pode ter altura certa, uma celula de tabela so minima): todas as filas iguais */
.nq-lugar { height: 104px; display: flex; flex-direction: column; justify-content: center; overflow: hidden; }
.nq-lugar b { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nq-lugar em { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; overflow: hidden; }
.neve-quadro tbody th b { display: block; font: 700 1.05rem/1.15 var(--letra-titulo); text-transform: uppercase;
  letter-spacing: .03em; }
.neve-quadro tbody th .mono { font-size: .78rem; color: var(--tinta-3); }
.neve-quadro tbody th em { display: block; font-style: normal; font-size: .84rem; color: var(--tinta-2); margin-top: 3px; }
.nq { height: 104px; border-radius: 0; }
td.nq, i.nq, li.nq { background: var(--neve-3); }
.nq--sim { background: var(--glaciar) !important; }
.nq--pouca { background: repeating-linear-gradient(135deg, var(--glaciar) 0 4px, transparent 4px 9px), var(--neve-3) !important; }
.nq-agora { outline: 3px solid var(--sinal); outline-offset: 1px; }
th.nq-agora { outline: 0; color: var(--tinta); }
th.nq-agora::after { content: ""; display: block; width: 8px; height: 8px; margin: 5px auto 0; background: var(--sinal);
  transform: rotate(45deg); }
.nq-mes-curto { display: none; }
.neve-legenda { list-style: none; display: flex; flex-wrap: wrap; gap: 10px 22px; margin: 16px 0 10px; padding: 0;
  font-size: .88rem; color: var(--tinta-2); }
.neve-legenda li { display: flex; align-items: center; gap: 8px; }
.neve-legenda i { display: inline-block; width: 22px; height: 16px; }
.neve-legenda__agora i { outline: 3px solid var(--sinal); outline-offset: -3px; }
.so-leitor { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.ficha__neve { color: inherit; text-decoration: none; border-bottom: 2px solid var(--glaciar); }
.sinal__mais { display: inline-block; margin-top: 6px; font: 600 .8rem var(--letra-titulo); text-transform: uppercase;
  letter-spacing: .06em; color: var(--tinta); text-decoration: none; border-bottom: 2px solid var(--glaciar); }
@media (max-width: 640px) {
  .neve-quadro { min-width: 0; border-spacing: 2px; }
  .neve-quadro thead td { width: 112px; }
  .nq-mes-longo { display: none; }
  .nq-mes-curto { display: inline; }
  .nq, .nq-lugar { height: 128px; }
  .nq-lugar em { -webkit-line-clamp: 5; line-clamp: 5; line-height: 1.3; }
  .neve-quadro tbody th b { font-size: .9rem; }
  .neve-quadro tbody th em { font-size: .76rem; }
}
.ficha__neve { font-size: 1.5rem; line-height: 1.1; white-space: nowrap; }
.faixa--neve-sem { padding-bottom: 40px; }
.altimetro li.altimetro__terra--lado { right: 140px; }
.altimetro li.altimetro__terra--lado::after { right: -140px; width: 140px; opacity: .6; }
.v3d__tentar { margin-top: 12px; background: var(--sinal); color: #1c2430; border: 0; cursor: pointer;
  font: 700 .9rem var(--letra-titulo); text-transform: uppercase; letter-spacing: .06em; padding: 10px 18px; }
/* a temporada de neve no cartao do esqui */
.neve-esqui__frase { margin: 4px 0 10px; font: 600 1rem/1.35 var(--letra); color: var(--tinta); }
.neve-esqui { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(12, 1fr); gap: 3px; }
.neve-esqui li { height: 40px; display: flex; align-items: flex-end; justify-content: center; padding-bottom: 5px; }
.neve-esqui li span { font: 600 .66rem/1 var(--mono); text-transform: uppercase; letter-spacing: .02em;
  color: var(--tinta-2); background: var(--neve); padding: 2px 3px; }
.neve-esqui .nq--sim span { background: #fff; color: #1c2430; }
.neve-legenda--pequena { margin: 10px 0 4px; font-size: .8rem; gap: 6px 16px; }
.neve-legenda--pequena i { width: 16px; height: 12px; }
@media (max-width: 640px) {
  .neve-esqui { grid-template-columns: repeat(6, 1fr); }
}
/* a familia: favicon verdadeiro e as letras do logotipo oficial de cada site */
.irmao__favicon { width: 48px; height: 48px; display: block; }
.irmao__letras { display: block; height: 40px; width: auto; max-width: 100%; margin: 2px 0 2px; }

/* familia com cinco sites: 5 lado a lado, 3 + 2 em ecras medios, 2 e depois 1 no telemovel (nunca 4 + 1) */
@media (min-width: 1100px) { .irmaos { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
@media (min-width: 760px) and (max-width: 1099.98px) { .irmaos { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 520px) and (max-width: 759.98px) { .irmaos { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 519.98px) { .irmaos { grid-template-columns: minmax(0, 1fr); } }

/* familia: irmao ainda nao publicado ("Em breve"); o base.js troca-o por ligacao quando ficar online */
[data-familia] .so-online { display: none !important; }
.irmao[data-familia] { cursor: default; }
.irmao[data-familia] .irmao__accao { background: transparent; color: var(--a); padding-left: 0; opacity: .85; }
