/* =====================================================================
   DARKSKYAS - a folha de estilos (09-10-2026).

   Cara propria, diferente dos oito irmaos:
   - NOITE por omissao: indigo quase preto (#07081A), tinta lavanda-clara,
     um acento ROSA-HIDROGENIO (#FF6B9A, a cor das nebulosas H-alfa) e um
     violeta de Via Lactea (#8E7CFF). O modo DIA e lavanda palida; o modo
     LUZ VERMELHA pinta tudo de vermelho escuro para usar no campo sem
     estragar a visao nocturna (botao do cabecalho, tres estados);
   - letras: Instrument Serif (titulos, finos e enormes, como num atlas
     antigo do ceu), Hanken Grotesk (texto), Spline Sans Mono (numeros);
   - ASSINATURAS: o CEU AO VIVO na capa (ceu.js), a ESCALA DO ESCURO de 1 a 9
     com estrelas desenhadas, a ROSA DA LUZ (de onde vem a luz das cidades),
     o CALENDARIO DO CEU, a FITA DA LUA e o PANORAMA do horizonte a 360 graus.
   ===================================================================== */

:root {
  --papel: #07081A;
  --papel-2: #0C0E26;
  --papel-3: #141734;
  --papel-4: #1E2246;
  --cartao: #10132D;
  --tinta: #F1EEFF;
  --tinta-2: #BDB8DC;
  --tinta-3: #8984AE;
  --linha: #1C2042;
  --linha-forte: #2B3060;
  --terra: #FF6B9A;
  --terra-2: #FF9BBB;
  --terra-claro: #2A1330;
  --rosa: #FF6B9A;
  --violeta: #8E7CFF;
  --ambar: #FFB070;
  --lima: #FF6B9A;
  --lima-2: #FF6B9A;
  --ocre: #FFB070;
  --ocre-claro: #2A1F30;
  --rio: #7FD4FF;
  --rio-claro: #10263A;
  --umbra: #04050F;
  --umbra-2: #090B1E;
  --umbra-3: #12152F;
  --rocha: radial-gradient(120% 90% at 30% 10%, #2B2F6B 0%, #0C0E26 60%, #05061A 100%);
  --chao: var(--papel);
  --realce: rgba(255, 107, 154, .10);
  --letra-titulo: "Instrument Serif", "Iowan Old Style", Georgia, serif;
  --letra: "Hanken Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;
  --mono: "Spline Sans Mono", ui-monospace, Consolas, monospace;
  --raio: 26px;
  --raio-p: 16px;
  --topo: 64px;
  --sombra: 0 30px 70px -36px rgba(0, 0, 0, .85);
  --recorte: 0px;
  color-scheme: dark;
}
:root[data-theme="light"] {
  --papel: #F6F4FF; --papel-2: #ECE8FB; --papel-3: #DFD9F6; --papel-4: #CFC7F0; --cartao: #FFFFFF;
  --tinta: #12102E; --tinta-2: #46426E; --tinta-3: #77739B;
  --linha: #E1DCF4; --linha-forte: #CBC4EA; --terra: #C2245B; --terra-2: #9D1745; --terra-claro: #FBE3EC;
  --ocre-claro: #FFF0E0; --rio-claro: #E0F2FC; --realce: rgba(194, 36, 91, .08);
  --sombra: 0 30px 70px -36px rgba(30, 20, 80, .35);
  color-scheme: light;
}
/* LUZ VERMELHA: o ecra inteiro em vermelho escuro (os olhos continuam habituados ao escuro) */
:root[data-theme="red"] { filter: grayscale(1) sepia(1) saturate(9) hue-rotate(-50deg) brightness(.55) contrast(1.15); background: #000; }
:root[data-theme="red"] body { background: #000; }
.tema__sol, .tema__vermelho { display: none; }
:root[data-theme="light"] .tema__lua { display: none; } :root[data-theme="light"] .tema__sol { display: inline; }
:root[data-theme="red"] .tema__lua { display: none; } :root[data-theme="red"] .tema__vermelho { display: inline; }


/* ---------------------------------------------------------------- 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 { color: #F1EEFF;
  --tinta: #F1EEFF; --tinta-2: #BDB8DC; --tinta-3: #8984AE; --linha: #1C2042; --linha-forte: #2B3060;
  --cartao: var(--umbra-2); --terra: #FF6B9A; --terra-claro: #2A1330; --papel: var(--umbra); --papel-2: var(--umbra-2);
  --papel-3: var(--umbra-3); --ocre-claro: #2A1F30; --rio-claro: #10263A; }
.nivel-4 a { color: #FF9BBB; }
.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-place { --capa-chao: var(--umbra); }
.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 lugar */
.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-place { 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-place__linha { display: flex; align-items: center; gap: 18px; min-height: 52px; }
.barra-place__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-place__nome:hover { text-decoration: none; }
.barra-place__ligacoes { display: flex; gap: 2px; flex: 1; min-width: 0; overflow: hidden; }
.barra-place__ligacoes a { color: var(--tinta-2); font-size: .9rem; padding: 6px 10px; border-radius: 999px; white-space: nowrap; }
.barra-place__ligacoes a:hover { color: var(--tinta); text-decoration: none; }
.barra-place .pilula { padding: 8px 16px; font-size: .86rem; margin-left: auto; background: var(--terra); color: #fff; }
@media (max-width: 760px) {
  .barra-place__nome, .barra-place .pilula { display: none; }
  .barra-place__ligacoes { justify-content: space-between; }
  .barra-place__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); }

/* ---------------------------------------------------------------- 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; }

/* ---------------------------------------------------------------- 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--lugar { 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--lugar 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; } }

/* ---------------------------------------------------------------- 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); }

/* ---------------------------------------------------------------- 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: italic; color: var(--terra); }
.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); } }

/* ---------------------------------------------------------------- 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-places { list-style: none; margin: 16px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.outros-places li { background: var(--papel-2); border-radius: 999px; padding: 7px 14px; font-size: .88rem; }
.outros-places 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-place, .faixa--explorar, .faixa--familia, .rodape, .v3d, .cookies { display: none !important; } }


/* =====================================================================
   DARKSKYAS - as pecas proprias
   ===================================================================== */
.titulo-seccao, .h1, .h2, .capa__titulo, .tile__nome { letter-spacing: -.045em; }
.sobretitulo { font-family: var(--mono); font-size: .74rem; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; }
.numero__valor, .numeros__lista b { font-family: var(--letra-titulo); }
.numeros__lista b { background: none; -webkit-background-clip: initial; background-clip: initial; color: var(--tinta); position: relative; }
.numeros__lista > div { border-top: 2px solid var(--tinta); }

/* ---- os tipos ---- */
.tipos { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.tipo { position: relative; isolation: isolate; overflow: hidden; display: flex; align-items: flex-end; min-height: 250px; border-radius: 22px;
  background: #15171A; color: #F3F2EE; }
.tipo:hover { text-decoration: none; }
.tipo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; filter: brightness(.55) saturate(.9); transition: transform .9s cubic-bezier(.2, .7, .2, 1), filter .4s; }
.tipo:hover img { transform: scale(1.05); filter: brightness(.75) saturate(1); }
.tipo::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, transparent 30%, rgba(5, 6, 7, .85)); }
.tipo__texto { display: block; padding: 20px; }
.tipo__texto b { display: block; font: 800 1.45rem/1.05 var(--letra-titulo); letter-spacing: -.035em; }
.tipo__texto span { display: block; margin-top: 6px; font-size: .9rem; color: rgba(243, 242, 238, .82); line-height: 1.4; }
.tipo__texto em { display: inline-block; margin-top: 12px; font: 600 .76rem/1 var(--mono); font-style: normal; color: var(--lima); }
@media (max-width: 1000px) { .tipos { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 700px) { .tipos { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } .tipo { min-height: 200px; } .tipo__texto { padding: 14px; } .tipo__texto b { font-size: 1.15rem; } .tipo__texto span { font-size: .8rem; } }


/* =====================================================================
   DARKSKYAS - por cima da base: as letras e as pecas proprias do ceu
   ===================================================================== */

/* ---- as letras: a serifa fina so tem um peso (nada de negrito falso) ---- */
.h1, .h2, .h3, .titulo-seccao, .capa__titulo, .tile__nome, .numero__valor, .tipo__texto b, .cartao__nome,
.apresentacao__descr, .marca-nome, .barra-place__nome, .modelo__nome, .menu-movel__painel a, .rank__corpo b {
  font-family: var(--letra-titulo); font-weight: 400; letter-spacing: -.012em; }
.h1 { font-size: clamp(3rem, 7.6vw, 6.4rem); line-height: .95; }
.h2, .titulo-seccao { font-size: clamp(2.4rem, 5.4vw, 4.4rem); line-height: 1; }
.h3 { font-size: clamp(1.6rem, 2.6vw, 2.2rem); line-height: 1.05; }
.h2 em, .h1 em { font-style: italic; color: var(--terra); }
.sobretitulo { font: 500 .78rem/1.3 var(--mono); letter-spacing: .14em; text-transform: uppercase; color: var(--terra); }
.lede { color: var(--tinta-2); }
.marca-nome { font-size: 1.62rem; letter-spacing: -.01em; }
.marca-palavra { font-style: italic; }
.cartao__nome { font-size: 1.5rem; line-height: 1.05; }
.tipo__texto b { font-size: 1.9rem; line-height: 1; }
.tipo__texto em { color: var(--terra); }
body { background: var(--papel); }
a { color: var(--terra-2); }
:root[data-theme="light"] a { color: var(--terra); }

/* um ceu de estrelas fixo por tras de tudo (so no modo noite) */
body::before { content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none; opacity: .55;
  background-image:
    radial-gradient(1px 1px at 12% 18%, #fff 50%, transparent 52%), radial-gradient(1px 1px at 72% 8%, #fff 50%, transparent 52%),
    radial-gradient(1.4px 1.4px at 38% 62%, #EDE8FF 50%, transparent 52%), radial-gradient(1px 1px at 88% 44%, #fff 50%, transparent 52%),
    radial-gradient(1px 1px at 22% 84%, #fff 50%, transparent 52%), radial-gradient(1.2px 1.2px at 56% 30%, #FFE3EC 50%, transparent 52%),
    radial-gradient(1px 1px at 94% 76%, #fff 50%, transparent 52%), radial-gradient(1px 1px at 6% 52%, #fff 50%, transparent 52%);
  background-size: 640px 640px; }
:root[data-theme="light"] body::before { display: none; }
.nivel-0, .nivel-2 { --chao: transparent; }
.nivel-1, .nivel-3 { --chao: color-mix(in srgb, var(--papel-2) 88%, transparent); }
.nivel-4 { --chao: linear-gradient(180deg, #050617 0%, #0B0D2A 100%); color: var(--tinta); }
:root[data-theme="light"] .nivel-4 { --chao: var(--papel-3); }
.faixa { background: var(--chao); }

/* ---------------------------------------------------------------- O CEU AO VIVO (capa) */
.ceuvivo { min-height: min(100vh, 980px); align-items: stretch; flex-direction: column; justify-content: flex-end; background: #03040E; }
.ceuvivo__foto { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -3; opacity: .55; }
.ceuvivo__tela { position: absolute; inset: 0; width: 100%; height: 100%; z-index: -2; display: block; touch-action: pan-y; cursor: grab; }
.ceuvivo__tela:active { cursor: grabbing; }
.ceuvivo::after { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: linear-gradient(180deg, rgba(3, 4, 14, .55) 0%, rgba(3, 4, 14, 0) 28%, rgba(3, 4, 14, 0) 62%, rgba(3, 4, 14, .65) 100%); }
.ceuvivo__texto { padding: calc(var(--topo) + 44px) 0 0; flex: 1; pointer-events: none; }
.ceuvivo__texto a, .ceuvivo__texto form, .ceuvivo__texto .capa__ligacoes, .ceuvivo__texto button, .ceuvivo__texto input { pointer-events: auto; }
.ceuvivo .capa__titulo { font-size: clamp(3.2rem, 10.5vw, 9.4rem); line-height: .9; letter-spacing: -.02em; max-width: 12ch; margin-top: 16px;
  text-shadow: 0 4px 60px rgba(3, 4, 14, .9); }
.ceuvivo--inicio .capa__titulo { font-size: clamp(3rem, 8.6vw, 8rem); max-width: 13ch; }
.ceuvivo--inicio .capa__titulo::first-line { font-style: italic; }
.ceuvivo .capa__frase { color: rgba(241, 238, 255, .88); text-shadow: 0 2px 20px rgba(3, 4, 14, .9); }
.ceuvivo .capa__sobre { font: 500 .82rem/1.4 var(--mono); letter-spacing: .08em; text-transform: uppercase; color: rgba(241, 238, 255, .85); }
.capa__linha { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 18px; margin-top: 26px; }
.capa__nota { display: inline-flex; align-items: baseline; gap: 8px; padding: 10px 16px 10px 14px; border-radius: 999px; color: #fff;
  background: linear-gradient(120deg, rgba(142, 124, 255, .35), rgba(255, 107, 154, .35)); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .22); pointer-events: auto; }
.capa__nota b { font: 400 1.9rem/1 var(--letra-titulo); }
.capa__nota span { font: 500 .72rem/1.2 var(--mono); letter-spacing: .06em; text-transform: uppercase; opacity: .9; }
.capa__nota:hover { text-decoration: none; }
.capa__facetas { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; }
.faceta { display: inline-block; padding: 7px 13px; border-radius: 999px; font: 500 .8rem/1 var(--letra); color: #fff;
  background: rgba(255, 255, 255, .12); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .18); pointer-events: auto; backdrop-filter: blur(8px); }
.faceta:hover { background: rgba(255, 107, 154, .35); text-decoration: none; }
.ceuvivo__baixo { position: relative; padding: 18px 0 26px; display: flex; flex-wrap: wrap; align-items: center; gap: 10px 22px; }
.ceuvivo__comandos { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; padding: 10px 14px; border-radius: 22px;
  background: rgba(7, 8, 26, .55); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .12); color: #fff; }
.ceuvivo__campo { display: inline-flex; align-items: center; gap: 8px; font: 500 .72rem/1 var(--mono); letter-spacing: .06em; text-transform: uppercase; color: rgba(241, 238, 255, .75); }
.ceuvivo__campo select { font: 500 .92rem var(--letra); color: #fff; background: rgba(255, 255, 255, .1); border: 0; border-radius: 999px; padding: 7px 12px; }
.ceuvivo__campo select option { color: #111; }
.ceuvivo__campo input[type="range"] { width: clamp(110px, 18vw, 220px); accent-color: var(--rosa); }
.ceuvivo__luz { display: inline-flex; align-items: center; gap: 8px; border: 0; border-radius: 999px; padding: 8px 14px; cursor: pointer;
  background: rgba(255, 176, 112, .2); color: #FFD9B8; font: 600 .86rem var(--letra); }
.ceuvivo__luz[aria-pressed="true"] { background: var(--violeta); color: #fff; }
.ceuvivo__luz .icone { width: 16px; height: 16px; }
.ceuvivo__estado { margin: 0; font: 500 .84rem/1.4 var(--mono); color: rgba(241, 238, 255, .82); text-shadow: 0 1px 8px #000; }
.ceuvivo__dica, .ceuvivo__onde { margin: 0; font-size: .8rem; color: rgba(241, 238, 255, .6); flex-basis: 100%; }
.ceuvivo__onde a { color: #fff; }
.ceuvivo .pesquisa { pointer-events: auto; }
@media (max-width: 640px) {
  .ceuvivo { min-height: 100svh; }
  .ceuvivo__comandos { border-radius: 18px; width: 100%; justify-content: space-between; }
  .ceuvivo__campo--hora { flex: 1 1 100%; }
  .ceuvivo__campo--hora input { flex: 1; width: auto; }
}

/* ---------------------------------------------------------------- O CEU DAQUI */
.ceudaqui { display: grid; grid-template-columns: minmax(240px, 340px) minmax(0, 1fr); gap: clamp(28px, 5vw, 72px); align-items: center; }
.ceudaqui__nota { text-align: center; }
.ceudaqui__nota-txt { color: var(--tinta-3); font-size: .9rem; max-width: 34ch; margin: 10px auto 0; }
.mostrador { width: min(100%, 300px); height: auto; margin: 0 auto; overflow: visible; }
.mostrador__fundo { fill: none; stroke: var(--linha-forte); stroke-width: 14; stroke-linecap: round; }
.mostrador__valor { fill: none; stroke-width: 14; stroke-linecap: round; filter: drop-shadow(0 0 10px rgba(255, 107, 154, .55)); }
.mostrador__n { font: 400 76px/1 var(--letra-titulo); fill: var(--tinta); text-anchor: middle; }
.mostrador__de { font: 500 12px var(--mono); fill: var(--tinta-3); text-anchor: middle; letter-spacing: .1em; text-transform: uppercase; }
.escada { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.escada__d { position: relative; display: grid; grid-template-columns: 34px 120px minmax(0, 1fr) auto; align-items: center; gap: 14px;
  padding: 6px 14px 6px 8px; border-radius: 14px; background: color-mix(in srgb, var(--cartao) 70%, transparent); }
.escada__n { font: 400 1.6rem/1 var(--letra-titulo); color: var(--tinta-3); text-align: center; }
.escada__ceu { display: block; width: 120px; height: 46px; border-radius: 10px; overflow: hidden; }
.escada__ceu svg { width: 100%; height: 100%; }
.escada__txt b { display: block; font-weight: 600; font-size: .95rem; }
.escada__txt small { display: block; color: var(--tinta-3); font: 500 .74rem/1.4 var(--mono); }
.escada__ex { display: inline-block; margin-top: 4px; font-size: .84rem; }
.escada__d--aqui { background: linear-gradient(90deg, rgba(255, 107, 154, .22), rgba(142, 124, 255, .12)); box-shadow: inset 0 0 0 1.5px var(--rosa); }
.escada__d--aqui .escada__n { color: var(--rosa); }
.escada__aqui { font: 600 .74rem/1 var(--mono); font-style: normal; text-transform: uppercase; letter-spacing: .08em; color: #fff; background: var(--rosa); padding: 6px 10px; border-radius: 999px; }
.faixa--escala .escada { max-width: 860px; }
.numeros--ceu { list-style: none; margin: clamp(36px, 5vw, 64px) 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; }
.numero { background: var(--cartao); border-radius: 20px; padding: 20px 22px; box-shadow: inset 0 0 0 1px var(--linha); }
.numero__valor { display: block; font-size: clamp(2.2rem, 3.4vw, 3rem); line-height: 1; color: var(--tinta); }
.numero__rotulo { display: block; margin-top: 8px; font-weight: 600; font-size: .92rem; }
.numero small { display: block; margin-top: 4px; color: var(--tinta-3); font-size: .8rem; line-height: 1.4; }
.ceudaqui__rosa { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: clamp(20px, 4vw, 60px); align-items: center; margin-top: clamp(40px, 6vw, 80px); }
.ceudaqui__rosa--escuro { grid-template-columns: 1fr; }
.rosa { width: 100%; height: auto; max-width: 560px; justify-self: center; overflow: visible; }
.rosa__anel { fill: none; stroke: var(--linha-forte); stroke-dasharray: 2 5; }
.rosa__eixo { stroke: var(--linha); }
.rosa__aqui { fill: var(--rosa); filter: drop-shadow(0 0 8px var(--rosa)); }
.rosa__ponto { font: 500 15px var(--mono); fill: var(--tinta-3); text-anchor: middle; }
.rosa__ponto--n { fill: var(--rosa); }
.rosa__cidade { font: 600 16px var(--letra); fill: #FFD9B8; }
.rosa__km { font: 500 13px var(--mono); fill: var(--tinta-3); }
.rosa__cidade-pt { fill: #FFB070; }
.ceudaqui__aviso { margin-top: 28px; max-width: 80ch; }
@media (max-width: 860px) {
  .ceudaqui, .ceudaqui__rosa { grid-template-columns: 1fr; }
  .escada__d { grid-template-columns: 26px 72px minmax(0, 1fr); gap: 10px; padding: 6px 10px 6px 6px; }
  .escada__ceu { width: 72px; height: 40px; }
  .escada__aqui { grid-column: 3; justify-self: start; }
  .escada__txt b { font-size: .88rem; }
}

/* ---------------------------------------------------------------- O CALENDARIO DO CEU */
.cal__meses { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 8px; }
.cal__mes { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 12px 4px; border-radius: 16px; background: color-mix(in srgb, var(--cartao) 70%, transparent); }
.cal__h { font: 400 1.4rem/1 var(--letra-titulo); }
.cal__h small { font: 500 .7rem var(--mono); color: var(--tinta-3); margin-left: 1px; }
.cal__coluna { position: relative; width: 26px; height: 170px; border-radius: 999px; background: var(--papel-3); overflow: hidden; }
.cal__noite { position: absolute; left: 0; right: 0; bottom: 0; height: calc(var(--n) * 100%); background: linear-gradient(180deg, #2E3480, #141844); border-radius: 999px; }
.cal__vl { position: absolute; left: 5px; right: 5px; bottom: 4px; height: calc(var(--v) * 100% - 4px); min-height: 0; border-radius: 999px;
  background: linear-gradient(180deg, #FFE3EC, var(--violeta)); box-shadow: 0 0 12px rgba(142, 124, 255, .9); opacity: .95; }
.cal__limpo { font: 600 .74rem/1 var(--mono); padding: 5px 6px; border-radius: 999px; color: #06071A;
  background: color-mix(in srgb, #7FD4FF calc(var(--l) * 100%), #5A5878); }
.cal__frio { font: 500 .72rem/1 var(--mono); color: var(--rio); min-height: .72rem; }
.cal__nome { font: 600 .8rem/1 var(--letra); color: var(--tinta-2); text-transform: capitalize; }
.cal__mes--melhor { background: linear-gradient(180deg, rgba(255, 107, 154, .22), rgba(255, 107, 154, .04)); box-shadow: inset 0 0 0 1.5px var(--rosa); }
.cal__mes--melhor .cal__nome { color: var(--rosa); }
.cal__mes--agora .cal__nome::after { content: " •"; color: var(--rosa); }
.cal__legenda { list-style: none; margin: 18px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 22px; font-size: .84rem; color: var(--tinta-2); }
.cal__legenda li { display: inline-flex; align-items: center; gap: 8px; }
.cal__legenda i { width: 14px; height: 14px; border-radius: 4px; display: inline-block; }
.cal__ln { background: #2E3480; } .cal__lv { background: var(--violeta); } .cal__ll { background: #7FD4FF; } .cal__lf { background: var(--rio-claro); box-shadow: inset 0 0 0 1px var(--rio); }
.cal__lm { box-shadow: inset 0 0 0 1.5px var(--rosa); }
@media (max-width: 760px) {
  .cal__meses { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 6px; }
  .cal__coluna { height: 110px; width: 22px; }
  .cal__h { font-size: 1.1rem; }
}

/* ---- a Lua ---- */
.lua { margin-top: clamp(36px, 5vw, 60px); padding: clamp(20px, 3vw, 32px); border-radius: var(--raio); background: var(--cartao); box-shadow: inset 0 0 0 1px var(--linha); }
.lua__cab { display: flex; gap: 16px; align-items: flex-start; }
.lua__cab p { margin: 6px 0 0; color: var(--tinta-2); }
.icone--g { width: 34px; height: 34px; color: var(--rosa); flex: none; }
.lua__fita { list-style: none; margin: 22px 0 0; padding: 0; display: grid; grid-template-columns: repeat(30, minmax(0, 1fr)); gap: 3px; }
.lua__noite { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 6px 0; border-radius: 8px; }
.lua__noite span { font: 500 .62rem/1 var(--mono); color: var(--tinta-3); }
.lua__disco { position: relative; width: 16px; height: 16px; border-radius: 50%; background: #23264A; overflow: hidden; }
.lua__disco::after { content: ""; position: absolute; inset: 0; border-radius: 50%; background: #F3F1E6;
  clip-path: inset(0 calc((1 - var(--f)) * 100%) 0 0); transform: scaleX(var(--lado)); }
.lua__noite--escura { background: rgba(142, 124, 255, .18); }
.lua__noite--escura span { color: var(--tinta); }
.lua__noite--hoje { box-shadow: inset 0 0 0 1.5px var(--rosa); }
.lua__novas { list-style: none; margin: 18px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.lua__novas li { display: inline-flex; align-items: baseline; gap: 6px; padding: 8px 14px; border-radius: 999px; background: var(--papel-3); }
.lua__novas b { font-weight: 600; }
.lua__novas span { font: 500 .74rem var(--mono); color: var(--tinta-3); }
@media (max-width: 760px) { .lua__fita { grid-template-columns: repeat(15, minmax(0, 1fr)); row-gap: 8px; } }

/* ---------------------------------------------------------------- EVENTOS */
.eventos__grelha { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 18px; }
.eventos__bloco { padding: 24px; border-radius: var(--raio); background: rgba(255, 255, 255, .04); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .08); }
:root[data-theme="light"] .eventos__bloco { background: var(--cartao); box-shadow: inset 0 0 0 1px var(--linha); }
.eventos { list-style: none; margin: 14px 0 0; padding: 0; display: grid; gap: 8px; }
.evento { display: flex; gap: 12px; align-items: flex-start; padding: 12px 14px; border-radius: 14px; background: rgba(255, 255, 255, .04); }
.evento .icone { width: 22px; height: 22px; flex: none; color: var(--violeta); margin-top: 2px; }
.evento b { display: block; font-weight: 600; }
.evento span, .evento small { display: block; font-size: .86rem; color: var(--tinta-2); }
.evento small { color: var(--tinta-3); font: 500 .74rem/1.4 var(--mono); margin-top: 2px; }
.evento--bom { box-shadow: inset 3px 0 0 #7FD4FF; } .evento--medio { box-shadow: inset 3px 0 0 #FFB070; } .evento--mau { box-shadow: inset 3px 0 0 #6B6790; }
.evento--sol .icone { color: #FFB070; }
.kp { position: relative; margin: 22px 0 12px; padding-top: 34px; }
.kp__regua { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(10, minmax(0, 1fr)); gap: 3px; }
.kp__c { text-align: center; padding: 10px 0 6px; border-radius: 8px; color: #04140E;
  background: color-mix(in srgb, #4CF2A1 calc(100% - var(--k) * 9%), #B05CFF); }
.kp__c span { display: block; font: 600 .9rem/1 var(--mono); }
.kp__c small { display: block; font-size: .62rem; min-height: .7rem; margin-top: 3px; }
.kp__marca { position: absolute; top: 0; left: clamp(70px, calc(var(--m) * 90% + 5%), calc(100% - 70px)); transform: translateX(-50%); white-space: nowrap; }
.kp__marca span { display: inline-block; font: 600 .76rem/1 var(--mono); padding: 6px 10px; border-radius: 999px; background: var(--rosa); color: #fff; }
.kp__marca::after { content: ""; position: absolute; left: 50%; top: 100%; width: 2px; height: 12px; background: var(--rosa); }

/* ---------------------------------------------------------------- O LUGAR, VISITAR */
.apresentacao { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: clamp(28px, 5vw, 72px); align-items: start; }
.apresentacao--so-texto { grid-template-columns: minmax(0, 1fr); max-width: 860px; }
.apresentacao__descr { font-size: clamp(1.9rem, 3.6vw, 3rem); line-height: 1.05; color: var(--tinta); }
.apresentacao__foto { margin: 0; position: sticky; top: calc(var(--topo) + 70px); }
.apresentacao__foto img { width: 100%; height: auto; border-radius: var(--raio); display: block; box-shadow: var(--sombra); }
.apresentacao__foto figcaption { font-size: .74rem; color: var(--tinta-3); margin-top: 8px; }
.apresentacao__foto figcaption a { color: var(--tinta-2); }
.visitar { margin-top: clamp(36px, 5vw, 60px); }
.visitar__titulo { margin-bottom: 18px; }
.sinais { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 12px; }
.sinais > li { display: flex; gap: 14px; align-items: flex-start; background: var(--cartao); border-radius: 20px; padding: 18px 20px; box-shadow: inset 0 0 0 1px var(--linha); }
.sinais > li > div { flex: 1; min-width: 0; }
.sinais > li b { display: block; font-weight: 600; }
.sinais > li span { display: block; color: var(--tinta-3); font-size: .88rem; margin-top: 2px; }
.sinais .icone, .volta .icone { width: 24px; height: 24px; flex: none; color: var(--rosa); }
.visita--sim { box-shadow: inset 3px 0 0 var(--violeta), inset 0 0 0 1px var(--linha); }
@media (max-width: 860px) { .apresentacao { grid-template-columns: 1fr; } .apresentacao__foto { position: static; } }

/* ---------------------------------------------------------------- O HORIZONTE */
.pano { width: 100%; height: auto; display: block; border-radius: var(--raio); overflow: hidden; }
.grafico--estreito .pano + .pano { margin-top: 10px; }
.pano__estrelas circle { fill: #F4F1FF; opacity: .75; }
.pano__relevo { fill: #02030A; }
.pano__linha { fill: none; stroke: rgba(142, 124, 255, .7); stroke-width: 1.4; }
.pano__ponto { font: 500 13px var(--mono); fill: rgba(241, 238, 255, .8); text-anchor: middle; }
.pano__ponto--n { fill: var(--rosa); }
.pano__cidade { font: 600 13px var(--letra); fill: #FFD9B8; text-anchor: middle; }
.horizonte__baixo { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(24px, 4vw, 56px); margin-top: clamp(32px, 5vw, 56px); align-items: start; }
.placa { margin: 0; }
.placa__img { position: relative; border-radius: var(--raio); overflow: hidden; box-shadow: var(--sombra); }
.placa__img img { display: block; width: 100%; height: auto; }
.placa__pt, .placa__aqui { position: absolute; width: 12px; height: 12px; border-radius: 50%; transform: translate(-50%, -50%); border: 2px solid #fff; background: #FFB070; box-shadow: 0 1px 4px rgba(0, 0, 0, .6); }
.placa__pt--observatorio { background: var(--violeta); } .placa__pt--miradouro { background: #FFD166; } .placa__pt--cume { background: #F4F1FF; }
.placa__pt--campismo { background: #4CF2A1; } .placa__pt--alojamento { background: #7FD4FF; } .placa__pt--parque { background: #B9B5D6; }
.placa__aqui { width: 22px; height: 22px; background: var(--rosa); box-shadow: 0 0 0 6px rgba(255, 107, 154, .35), 0 1px 6px #000; z-index: 2; }
.placa figcaption { font-size: .74rem; color: var(--tinta-3); margin-top: 8px; }
.horizonte__volta .h3 { margin-bottom: 16px; }
.volta { grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); }
.volta__item { background: rgba(255, 255, 255, .05); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .08); }
:root[data-theme="light"] .volta__item { background: var(--cartao); }
.volta__item b { display: block; font: 400 1.8rem/1 var(--letra-titulo); }
.volta__item span { display: block; font-size: .86rem; color: var(--tinta-2); }
.volta__nomes { margin-top: 4px; font-size: .78rem !important; color: var(--tinta-3) !important; }
.volta-zeros { list-style: none; padding: 0; margin: 14px 0 0; display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: .8rem; color: var(--tinta-3); }
.volta-zeros li { display: inline-flex; align-items: center; gap: 6px; }
.icone--p { width: 14px; height: 14px; }
@media (max-width: 900px) { .horizonte__baixo { grid-template-columns: 1fr; } }

/* ---------------------------------------------------------------- O SELO DO CEU (cartoes, listas) */
.selo-ceu { position: absolute; top: 12px; left: 12px; display: inline-flex; align-items: baseline; gap: 5px; padding: 7px 11px 7px 9px; border-radius: 999px;
  background: color-mix(in srgb, var(--c) 82%, transparent); color: #fff; backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .28), 0 6px 18px -6px rgba(0, 0, 0, .6); }
.selo-ceu b { font: 400 1.3rem/1 var(--letra-titulo); }
.selo-ceu small { font: 500 .62rem/1 var(--mono); letter-spacing: .06em; text-transform: uppercase; opacity: .85; }
.selo-ceu em { font: 600 .72rem/1 var(--mono); font-style: normal; margin-left: 4px; padding: 3px 6px; border-radius: 999px; background: rgba(255, 255, 255, .2); }
.selo-ceu--linha { position: static; }
.cartao__img { border-radius: 22px; }
.cartao__corpo { padding-top: 12px; }
.cartao__tipo { display: block; font: 500 .7rem/1.2 var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--terra); margin-bottom: 4px; }
.cartao__vazio { background: var(--rocha); }
.resultado__img { position: relative; }

/* ---------------------------------------------------------------- PAGINA INICIAL */
.cab-seccao--sub { margin: clamp(40px, 5vw, 64px) 0 20px; }
.cab-seccao--sub p { color: var(--tinta-2); margin: 6px 0 0; }
.numeros__lista b { font: 400 clamp(2.8rem, 6vw, 5rem)/1 var(--letra-titulo); }
.escuros { display: grid; gap: 8px; }
.escuro { display: grid; grid-template-columns: 40px auto minmax(0, 1fr) auto; align-items: center; gap: 16px; padding: 14px 18px; border-radius: 18px;
  background: color-mix(in srgb, var(--cartao) 80%, transparent); color: var(--tinta); box-shadow: inset 0 0 0 1px var(--linha); }
.escuro:hover { text-decoration: none; box-shadow: inset 0 0 0 1.5px var(--rosa); }
.escuro__pos { font: 400 1.6rem/1 var(--letra-titulo); color: var(--tinta-3); text-align: center; }
.escuro__nome b { display: block; font: 400 1.5rem/1.05 var(--letra-titulo); }
.escuro__nome span { display: flex; align-items: center; gap: 2px; font-size: .84rem; color: var(--tinta-3); margin-top: 4px; }
.escuro__sqm { text-align: right; }
.escuro__sqm b { display: block; font: 500 1.3rem/1 var(--mono); color: var(--tinta); }
.escuro__sqm small { font: 500 .66rem var(--mono); color: var(--tinta-3); }
@media (max-width: 600px) { .escuro { grid-template-columns: 28px minmax(0, 1fr) auto; } .escuro .selo-ceu { display: none; } }
.terra { margin: 0; }
.terra__img { position: relative; border-radius: var(--raio); overflow: hidden; box-shadow: 0 40px 90px -40px rgba(0, 0, 0, .9); background: #05061A; }
.terra__img img { display: block; width: 100%; height: auto; }
.terra__pt { position: absolute; width: 7px; height: 7px; border-radius: 50%; transform: translate(-50%, -50%); background: var(--rosa);
  box-shadow: 0 0 0 2px rgba(255, 107, 154, .3), 0 0 10px var(--rosa); }
.terra__pt--observatory, .terra__pt--planetarium { background: var(--violeta); box-shadow: 0 0 0 2px rgba(142, 124, 255, .3), 0 0 10px var(--violeta); }
.terra__pt:hover { transform: translate(-50%, -50%) scale(2); z-index: 2; }
.terra figcaption { margin-top: 10px; }
.eclipses { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 10px; }
.eclipse, .chuva { display: flex; gap: 16px; align-items: flex-start; padding: 16px 18px; border-radius: 18px; background: var(--cartao); box-shadow: inset 0 0 0 1px var(--linha); }
.eclipse__data { flex: none; width: 66px; text-align: center; }
.eclipse__data b { display: block; font: 400 2.2rem/1 var(--letra-titulo); }
.eclipse__data span { display: block; font: 500 .7rem/1.3 var(--mono); color: var(--tinta-3); text-transform: uppercase; }
.eclipse__corpo b { display: block; font-weight: 600; }
.eclipse__corpo > span, .eclipse__corpo small { display: block; font-size: .86rem; color: var(--tinta-2); margin-top: 3px; }
.eclipse__corpo small { font: 500 .74rem var(--mono); color: var(--tinta-3); }
.eclipse--sol.eclipse--total { box-shadow: inset 3px 0 0 #FFB070, inset 0 0 0 1px var(--linha); }
.eclipse--lua { box-shadow: inset 3px 0 0 #E2574C, inset 0 0 0 1px var(--linha); }
.chuva--bom { box-shadow: inset 3px 0 0 #7FD4FF, inset 0 0 0 1px var(--linha); }
.chuva__lugares { display: block; margin-top: 6px; font-size: .82rem; color: var(--tinta-3); }
.chuva__lugares a { margin-right: 8px; }
.mes-botao { font-family: var(--letra); }
.mes-botao[aria-pressed="true"] { background: var(--rosa) !important; color: #fff !important; }
.escala-bortle { display: flex; align-items: center; gap: 8px; font-size: .78rem; color: var(--tinta-3); }
.escala-bortle i { flex: 1; height: 8px; border-radius: 999px; background: linear-gradient(90deg, #05061A, #141C5A, #4B4791, #B06C86, #F2A65A, #FFD27A); box-shadow: inset 0 0 0 1px var(--linha); }
.tipo { background: #0C0E26; }
.tipo::after { background: linear-gradient(180deg, rgba(4, 5, 15, .1) 25%, rgba(4, 5, 15, .9)); }
.tipo--observatory img, .tipo--planetarium img { filter: brightness(.6) saturate(.8) hue-rotate(-12deg); }
.pesquisa__icone { color: var(--rosa); }
.capa__ligacoes .liga:first-child { background: var(--rosa); color: #fff; }

/* o modo dia: as seccoes escuras continuam escuras so na capa */
:root[data-theme="light"] .ceuvivo { color: #fff; }

/* ---- a escala do escuro na pagina inicial: faixas largas de ceu ---- */
.faixa--escala .escada { max-width: none; gap: 8px; }
.faixa--escala .escada__d { grid-template-columns: 44px minmax(0, 1.2fr) minmax(0, 1fr); padding: 0; overflow: hidden; min-height: 78px; }
.faixa--escala .escada__n { font-size: 2.2rem; }
.faixa--escala .escada__ceu { width: 100%; height: 100%; min-height: 78px; border-radius: 0; order: 3; }
.faixa--escala .escada__txt { order: 2; padding: 12px 6px; }
.faixa--escala .escada__ex { font-weight: 600; }
@media (max-width: 760px) {
  .faixa--escala .escada__d { grid-template-columns: 32px minmax(0, 1fr); }
  .faixa--escala .escada__ceu { grid-column: 1 / -1; min-height: 46px; order: 4; }
}

.faixa .lede + .eclipses, .faixa .lede + ol.eclipses { margin-top: 28px; }
.eclipses { margin-top: 24px; }
.ceuvivo__luz--linhas { background: rgba(142, 124, 255, .22); color: #DCD5FF; }
.resultado__nome, .rank__corpo b, .escuro__nome b, .modelo__nome, .atlas__site b { font-family: var(--letra-titulo); font-weight: 400 !important; letter-spacing: -.01em; }
.resultado__nome { font-size: 1.35rem; line-height: 1.1; }

/* =====================================================================
   A FAMILIA, harmonizada em todos os sites (10-10-2026): os cartoes da mesma
   fila com a mesma altura, o botao sempre no fundo, todos do mesmo tamanho.
   O "Em breve" e o "Esta aqui" ficam do mesmo tamanho, so com contorno.
   ===================================================================== */
.irmaos { align-items: stretch; }
.irmao { display: flex !important; flex-direction: column; align-items: flex-start; }
.irmao > * { flex: none; max-width: 100%; }
.irmao__frase { margin-bottom: 16px; }
.irmao__accao { margin-top: auto !important; align-self: flex-start; box-sizing: border-box; min-width: 116px; height: 40px;
  line-height: 40px; padding: 0 18px !important; border-radius: 999px; text-align: center; white-space: nowrap;
  font-size: .86rem !important; font-weight: 700 !important; letter-spacing: 0; opacity: 1;
  background: var(--a); color: var(--b, #ffffff); box-shadow: none; }
.irmao--este .irmao__accao, .irmao[data-familia] .irmao__accao, .irmao .so-breve {
  background: transparent !important; color: var(--a) !important; box-shadow: inset 0 0 0 1.5px var(--a); opacity: 1; }
.irmao__favicon, .irmao__simbolo svg { width: 48px !important; height: 48px !important; }
