/* ============================================================
   Rota do Rio Uruguai — folha única, sem framework
   Paleta: o rio (azul-petróleo), a mata das margens, o sol do
   entardecer (dourado da marca) e um papel claro e frio.
   ============================================================ */

@font-face{font-family:"Young Serif";src:url(../fonts/young-serif.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Figtree";src:url(../fonts/figtree.woff2) format("woff2");font-weight:300 900;font-display:swap}

:root{
  --rio-950:#082631; --rio-900:#0c3443; --rio-800:#114558; --rio-700:#15586d; --rio-500:#1f7f93; --rio-300:#7fb8c4; --rio-100:#dcecef;
  --mata-700:#24562f; --mata-600:#2e6b3c; --mata-400:#5e9a4b; --mata-100:#e3efdc;
  --sol:#f2a93b; --sol-escuro:#c77d12; --sol-claro:#fbe3b8;
  --papel:#f5f7f2; --areia:#ecefe6; --branco:#fff;
  --tinta:#15262c; --pedra:#55666b; --linha:#d7dfda;

  --serif:"Young Serif",Georgia,"Times New Roman",serif;
  --sans:"Figtree",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;

  --caixa:1240px;
  --r-grande:22px; --r:14px; --r-peq:9px;
  --sombra:0 1px 2px rgba(8,38,49,.06),0 8px 24px -12px rgba(8,38,49,.22);
  --t:cubic-bezier(.2,.7,.2,1);
  --topo-h:68px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--topo-h) + 12px)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;font-family:var(--sans);font-size:1.0625rem;line-height:1.6;color:var(--tinta);background:var(--papel);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{display:block;max-width:100%}
img{height:auto}
a{color:var(--rio-700);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--rio-900)}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;line-height:1.12;color:var(--rio-950);margin:0 0 .5em;letter-spacing:-.01em;text-wrap:balance}
p{margin:0 0 1em}
:focus-visible{outline:3px solid var(--sol);outline-offset:3px;border-radius:4px}
.pular{position:absolute;left:-999px;top:0;background:var(--sol);color:var(--rio-950);padding:.6rem 1rem;z-index:100}
.pular:focus{left:1rem;top:1rem}
.caixa{width:min(100% - 2.5rem,var(--caixa));margin-inline:auto}
@media (min-width:900px){.caixa{width:min(100% - 4rem,var(--caixa))}}
.ico{width:1.15em;height:1.15em;flex:none}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ---------- botões ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.85rem 1.4rem;border-radius:999px;font:600 1rem/1 var(--sans);text-decoration:none;border:0;cursor:pointer;transition:background .2s,color .2s,transform .2s var(--t)}
.btn:active{transform:translateY(1px)}
.btn--sol{background:var(--sol);color:var(--rio-950)}
.btn--sol:hover{background:#f7bb5e;color:var(--rio-950)}
.btn--rio{background:var(--rio-800);color:#fff}
.btn--rio:hover{background:var(--rio-900);color:#fff}
.btn--vidro{background:rgba(255,255,255,.14);color:#fff;backdrop-filter:blur(6px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.45)}
.btn--vidro:hover{background:rgba(255,255,255,.24);color:#fff}
.btn--claro{background:#fff;color:var(--rio-900)}
.btn--claro:hover{background:var(--sol-claro);color:var(--rio-950)}
.btn--contorno{background:transparent;color:var(--rio-800);box-shadow:inset 0 0 0 1.5px var(--rio-300)}
.btn--contorno:hover{background:var(--rio-100);color:var(--rio-900)}
.btn--pequeno{padding:.6rem 1rem;font-size:.92rem}
.link-seta{display:inline-flex;align-items:center;gap:.4rem;font-weight:600;text-decoration:none;color:var(--rio-700)}
.link-seta .ico{transition:transform .2s var(--t)}
.link-seta:hover .ico{transform:translateX(3px)}
.pilula{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .75rem;border-radius:999px;background:var(--rio-100);color:var(--rio-800);font-size:.88rem;font-weight:600;text-decoration:none;white-space:nowrap}
.pilula .ico{width:1rem;height:1rem}
.pilula:hover{background:#c8e1e6;color:var(--rio-950)}
.pilula--zap{background:#dff3e3;color:#13612b}
.pilula--zap:hover{background:#c7ebcf;color:#0b4a1f}

/* ---------- foto ausente ---------- */
.sem-foto{display:block;width:100%;height:100%;min-height:100%;background:
  radial-gradient(120% 80% at 80% 110%,rgba(242,169,59,.55),transparent 60%),
  linear-gradient(160deg,var(--rio-700),var(--rio-900))}

/* ============================================================
   Topo
   ============================================================ */
.topo{position:sticky;top:0;z-index:40;background:rgba(245,247,242,.92);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid rgba(21,38,44,.07);transition:background .3s,border-color .3s}
.topo__barra{display:flex;align-items:center;gap:1.5rem;height:var(--topo-h);width:min(100% - 2rem,1400px);margin-inline:auto}
.marca{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--rio-950);flex:none}
.marca__simbolo{width:46px;height:auto}
.marca__nome{font-family:var(--serif);font-size:1.12rem;line-height:1;letter-spacing:-.01em}
.marca__nome span{display:block;color:var(--rio-700)}
.marca--clara{color:#fff}.marca--clara .marca__nome span{color:var(--sol)}
.topo__nav{display:none;gap:.25rem;margin-left:auto}
.topo__nav a{padding:.5rem .8rem;border-radius:999px;color:var(--tinta);text-decoration:none;font-weight:500;font-size:.98rem}
.topo__nav a:hover{background:rgba(31,127,147,.1)}
.topo__nav a[aria-current]{background:var(--rio-900);color:#fff}
.topo__acoes{display:flex;align-items:center;gap:.25rem;margin-left:auto}
@media (min-width:1080px){.topo__nav{display:flex}.topo__acoes{margin-left:0}}
.topo__busca,.topo__menu{display:inline-flex;align-items:center;gap:.4rem;height:42px;min-width:42px;justify-content:center;padding:0 .7rem;border-radius:999px;border:0;background:transparent;color:var(--tinta);font:600 .95rem var(--sans);cursor:pointer;text-decoration:none}
.topo__busca:hover,.topo__menu:hover{background:rgba(31,127,147,.1);color:var(--tinta)}
.topo__busca .ico,.topo__menu .ico{width:22px;height:22px}
@media (max-width:520px){.topo__menu span{display:none}}

/* cabeçalho transparente sobre a foto da abertura */
.com-hero .topo{position:fixed;left:0;right:0;background:linear-gradient(rgba(8,38,49,.55),rgba(8,38,49,0));border-color:transparent;backdrop-filter:none}
.com-hero .topo .marca,.com-hero .topo__nav a,.com-hero .topo__busca,.com-hero .topo__menu{color:#fff}
.com-hero .topo .marca__nome span{color:var(--sol)}
.com-hero .topo__nav a:hover,.com-hero .topo__busca:hover,.com-hero .topo__menu:hover{background:rgba(255,255,255,.14)}
.com-hero .topo.is-rolado{background:rgba(245,247,242,.94);backdrop-filter:saturate(1.4) blur(10px);border-color:rgba(21,38,44,.07)}
.com-hero .topo.is-rolado .marca,.com-hero .topo.is-rolado .topo__nav a,.com-hero .topo.is-rolado .topo__busca,.com-hero .topo.is-rolado .topo__menu{color:var(--tinta)}
.com-hero .topo.is-rolado .marca__nome span{color:var(--rio-700)}
.com-hero .topo.is-rolado .topo__nav a[aria-current]{color:#fff}
.com-hero .topo.is-rolado .topo__nav a:hover{background:rgba(31,127,147,.1)}

/* gaveta (menu completo) */
.gaveta{position:fixed;inset:0;z-index:60;background:rgba(8,38,49,.45);display:flex;justify-content:flex-end}
.gaveta[hidden]{display:none}
.gaveta__painel{width:min(100%,400px);height:100%;overflow:auto;background:var(--rio-950);color:#fff;padding:1.25rem 1.5rem 2rem;display:flex;flex-direction:column;gap:1.5rem;animation:gaveta .32s var(--t)}
@keyframes gaveta{from{transform:translateX(30px);opacity:0}}
.gaveta__fechar{align-self:flex-end;width:44px;height:44px;border-radius:999px;border:0;background:rgba(255,255,255,.1);color:#fff;cursor:pointer;display:grid;place-items:center}
.gaveta__fechar .ico{width:22px;height:22px}
.gaveta__busca{display:flex;align-items:center;gap:.6rem;background:rgba(255,255,255,.08);border-radius:var(--r);padding:0 .9rem}
.gaveta__busca input{flex:1;background:transparent;border:0;color:#fff;font:1rem var(--sans);padding:.9rem 0;outline:none}
.gaveta__busca input::placeholder{color:rgba(255,255,255,.55)}
.gaveta__nav{display:flex;flex-direction:column}
.gaveta__nav a{font-family:var(--serif);font-size:1.7rem;color:#fff;text-decoration:none;padding:.35rem 0;line-height:1.2}
.gaveta__nav a[aria-current]{color:var(--sol)}
.gaveta__nav a:hover{color:var(--sol-claro)}
.gaveta__nav--sec{border-top:1px solid rgba(255,255,255,.14);padding-top:1rem}
.gaveta__nav--sec a{font-family:var(--sans);font-size:1.05rem;color:rgba(255,255,255,.8)}
.gaveta__insta{display:flex;align-items:center;gap:.5rem;color:rgba(255,255,255,.8);text-decoration:none;margin-top:auto}

/* ============================================================
   Abertura (home)
   ============================================================ */
.hero{position:relative;min-height:min(92svh,860px);display:flex;align-items:flex-end;color:#fff;isolation:isolate;overflow:hidden;background:var(--rio-950)}
.hero__fundo{position:absolute;inset:0;z-index:-1}
.hero__fundo img{width:100%;height:100%;object-fit:cover;animation:respira 22s ease-out both}
@keyframes respira{from{transform:scale(1.08)}to{transform:scale(1)}}
.hero__fundo::after{content:"";position:absolute;inset:0;background:
  linear-gradient(180deg,rgba(8,38,49,.35) 0%,rgba(8,38,49,0) 30%,rgba(8,38,49,.15) 55%,rgba(8,38,49,.82) 100%)}
.hero__conteudo{padding:8rem 0 7.5rem;position:relative}
.hero__lugar{font-weight:600;font-size:.98rem;color:var(--sol-claro);margin-bottom:.9rem;display:flex;align-items:center;gap:.6rem}
.hero__lugar::before{content:"";width:28px;height:2px;background:var(--sol)}
.hero__titulo{color:#fff;font-size:clamp(2.5rem,7.2vw,5.6rem);line-height:1.02;max-width:13ch;margin-bottom:.35em;text-shadow:0 2px 30px rgba(8,38,49,.35)}
.hero__texto{font-size:clamp(1.05rem,1.6vw,1.25rem);max-width:36ch;color:rgba(255,255,255,.9);margin-bottom:1.75rem}
.hero__botoes{display:flex;flex-wrap:wrap;gap:.75rem}
.hero__legenda{position:absolute;right:1.25rem;bottom:5.2rem;font-size:.8rem;color:rgba(255,255,255,.7);margin:0;writing-mode:vertical-rl;transform:rotate(180deg)}
@media (max-width:700px){.hero__legenda{display:none}}
.hero__rio{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:clamp(40px,7vw,90px)}
.hero__rio-agua{fill:var(--papel)}
.hero__rio-linha{fill:none;stroke:var(--sol);stroke-width:2.5;vector-effect:non-scaling-stroke;stroke-dasharray:1800;stroke-dashoffset:1800;animation:rio 2.6s .4s var(--t) forwards}
@keyframes rio{to{stroke-dashoffset:0}}

/* ============================================================
   Seções e cabeçalhos
   ============================================================ */
.secao{padding:clamp(3.5rem,8vw,6.5rem) 0}
.secao--areia{background:var(--areia)}
.secao--eixos{padding-top:clamp(2rem,5vw,4rem)}
.cabeca{max-width:46rem;margin-bottom:2.25rem}
.cabeca__titulo{font-size:clamp(2rem,4.4vw,3.3rem);margin-bottom:.3em}
.cabeca__titulo--menor{font-size:clamp(1.5rem,3vw,2.1rem)}
.cabeca__texto{font-size:1.12rem;color:var(--pedra);max-width:40rem;margin:0}
.cabeca--linha{max-width:none;display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem 2rem}
.cabeca--clara .cabeca__titulo{color:#fff}
.cabeca--clara .cabeca__texto{color:rgba(255,255,255,.75)}
.titulo-secao{font-size:clamp(1.7rem,3.4vw,2.4rem);margin-bottom:.2em}
.sub-secao{color:var(--pedra);margin-bottom:1.5rem}

/* ---------- eixos (categorias) ---------- */
.eixos{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}
@media (min-width:720px){.eixos{grid-template-columns:repeat(3,1fr);gap:1rem}}
@media (min-width:1100px){.eixos{grid-template-columns:repeat(6,1fr)}}
.eixo{position:relative;display:flex;flex-direction:column;justify-content:flex-end;aspect-ratio:3/4;border-radius:var(--r);overflow:hidden;text-decoration:none;color:#fff;padding:1rem;isolation:isolate}
.eixo__foto{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .6s var(--t)}
.eixo::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 35%,rgba(8,38,49,.88))}
.eixo:hover .eixo__foto{transform:scale(1.05)}
.eixo__nome{display:flex;align-items:center;gap:.45rem;font-family:var(--serif);font-size:1.22rem;line-height:1.15}
.eixo__nome .ico{color:var(--sol);width:1.25rem;height:1.25rem}
.eixo__n{font-size:.85rem;color:rgba(255,255,255,.75);margin-top:.15rem}
.eixo:hover{color:#fff}

/* ============================================================
   Mapa do território
   ============================================================ */
.secao--territorio{background:
  radial-gradient(70% 60% at 85% 0%,rgba(31,127,147,.35),transparent 70%),
  var(--rio-950);color:#fff}
.mapa{display:grid;gap:1.5rem}
.mapa--com-cartoes{grid-template-columns:1fr}
@media (min-width:960px){.mapa--com-cartoes{grid-template-columns:minmax(0,1.75fr) minmax(300px,1fr);align-items:start}}
.mapa__figura{margin:0}
.mapa__svg{width:100%;height:auto;overflow:visible}
.mapa__ar-a{stop-color:#fff;stop-opacity:.07}.mapa__ar-b{stop-color:#fff;stop-opacity:0}
.mapa__margem{fill:none;stroke:rgba(127,184,196,.18);stroke-width:26;stroke-linecap:round}
.mapa__rio{fill:none;stroke:var(--rio-300);stroke-width:5;stroke-linecap:round}
.mapa__rio-nome{fill:var(--rio-300);font:italic 400 19px var(--serif);letter-spacing:.06em}
.mapa__pais{fill:rgba(255,255,255,.32);font:400 30px var(--serif);letter-spacing:.04em}
.mapa__pais--br{font-size:22px;fill:rgba(255,255,255,.22)}
.mapa__ponto{cursor:pointer}
.mapa__ponto circle{fill:var(--rio-950);stroke:var(--sol);stroke-width:3;transition:r .2s,fill .2s}
.mapa__ponto.is-ribeirinho circle{stroke:var(--rio-300)}
.mapa__ponto text{fill:rgba(255,255,255,.88);font:600 16.5px var(--sans);paint-order:stroke;stroke:var(--rio-950);stroke-width:5px;stroke-linejoin:round;transition:fill .2s}
.mapa__ponto:hover circle,.mapa__ponto:focus circle,.mapa__ponto.is-ativo circle,.mapa__ponto.is-destaque circle{fill:var(--sol);r:11px}
.mapa__ponto:hover text,.mapa__ponto:focus text,.mapa__ponto.is-ativo text,.mapa__ponto.is-destaque text{fill:var(--sol-claro)}
.mapa__ponto:focus{outline:none}
.mapa figcaption{font-size:.82rem;color:rgba(255,255,255,.5);margin-top:.5rem}
.mapa__lista{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.mapa__lista a{display:block;padding:.45rem .85rem;border-radius:999px;background:rgba(255,255,255,.08);color:#fff;text-decoration:none;font-size:.92rem}
.mapa__lista a:hover,.mapa__lista a[aria-current]{background:var(--sol);color:var(--rio-950)}
.mapa--com-cartoes .mapa__lista{grid-column:1/-1}
@media (min-width:960px){.mapa--com-cartoes .mapa__lista{display:none}}
@media (max-width:640px){.mapa__ponto text{display:none}.mapa__ponto circle{r:9px}}
.mapa__cartoes{position:relative}
@media (min-width:960px){.mapa__cartoes{position:sticky;top:calc(var(--topo-h) + 1.5rem)}}
@media (max-width:959px){.mapa__cartoes{display:none}}
.mapa__cartao{display:flex;flex-direction:column;gap:.35rem;background:var(--rio-900);border-radius:var(--r-grande);overflow:hidden;color:#fff;text-decoration:none;box-shadow:0 30px 60px -30px rgba(0,0,0,.6);padding-bottom:1.4rem}
.mapa__cartao[hidden]{display:none}
.mapa__cartao:hover{color:#fff}
.mapa__cartao--inicio{padding:2rem;background:transparent;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}
.mapa__dica{margin:0;color:rgba(255,255,255,.75);font-size:1.05rem}
.mapa__foto{width:100%;aspect-ratio:16/10;object-fit:cover;margin-bottom:.85rem;display:block}
.mapa__cartao .sem-foto{aspect-ratio:16/10;margin-bottom:.85rem;height:auto}
.mapa__nome{font-family:var(--serif);font-size:1.9rem;line-height:1.1;padding:0 1.4rem}
.mapa__slogan{color:var(--sol-claro);padding:0 1.4rem;font-size:1.02rem}
.mapa__meta{color:rgba(255,255,255,.6);font-size:.9rem;padding:0 1.4rem}
.mapa__ir{margin:.6rem 1.4rem 0;align-self:flex-start;background:var(--sol);color:var(--rio-950);font-weight:600;padding:.6rem 1.1rem;border-radius:999px;font-size:.95rem}
/* versão clara (páginas internas) */
.mapa--claro .mapa__ar-a{stop-color:#0c3443;stop-opacity:.07}.mapa--claro .mapa__ar-b{stop-color:#0c3443;stop-opacity:0}
.mapa--claro .mapa__margem{stroke:rgba(31,127,147,.14)}
.mapa--claro .mapa__rio{stroke:var(--rio-500)}
.mapa--claro .mapa__rio-nome{fill:var(--rio-500)}
.mapa--claro .mapa__pais{fill:rgba(21,38,44,.25)}
.mapa--claro .mapa__ponto circle{fill:#fff;stroke:var(--rio-700)}
.mapa--claro .mapa__ponto text{fill:var(--tinta);stroke:var(--papel)}
.mapa--claro .mapa__ponto:hover circle,.mapa--claro .mapa__ponto.is-destaque circle{fill:var(--sol);stroke:var(--sol-escuro)}
.mapa--claro .mapa__ponto:hover text,.mapa--claro .mapa__ponto.is-destaque text{fill:var(--rio-950)}
.mapa--claro figcaption{color:var(--pedra)}
.mapa--claro .mapa__lista a{background:var(--rio-100);color:var(--rio-900)}

/* ============================================================
   Experiências (cartões altos) e trilho horizontal
   ============================================================ */
.exp{position:relative}
.exp__link{position:relative;display:flex;flex-direction:column;justify-content:flex-end;aspect-ratio:4/5;border-radius:var(--r-grande);overflow:hidden;text-decoration:none;color:#fff;isolation:isolate;background:var(--rio-900)}
.exp__foto,.exp__link>.sem-foto{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .7s var(--t)}
.exp__link::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(8,38,49,0) 40%,rgba(8,38,49,.9))}
.exp__link:hover .exp__foto{transform:scale(1.045)}
.exp__link:hover{color:#fff}
.exp__texto{display:flex;flex-direction:column;gap:.2rem;padding:1.25rem}
.exp__cat{display:inline-flex;align-items:center;gap:.35rem;font-size:.82rem;font-weight:600;color:var(--sol-claro)}
.exp__cat .ico{width:1rem;height:1rem}
.exp__nome{font-family:var(--serif);font-size:1.45rem;line-height:1.12}
.exp__cidade{font-size:.92rem;color:rgba(255,255,255,.75)}

.trilho{position:relative}
.trilho__faixa{display:grid;grid-auto-flow:column;grid-auto-columns:min(78vw,320px);gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:0 max(1.25rem,calc((100vw - var(--caixa)) / 2)) .5rem;scroll-padding-inline:max(1.25rem,calc((100vw - var(--caixa)) / 2))}
@media (min-width:900px){.trilho__faixa{padding-inline:max(2rem,calc((100vw - var(--caixa)) / 2));scroll-padding-inline:max(2rem,calc((100vw - var(--caixa)) / 2))}}
.trilho__faixa::-webkit-scrollbar{display:none}
.trilho__faixa>*{scroll-snap-align:start}
.trilho__controles{display:none;justify-content:flex-end;gap:.5rem;margin-top:1.25rem}
@media (min-width:900px){.trilho__controles{display:flex}}
.trilho__btn{width:48px;height:48px;border-radius:999px;border:1.5px solid var(--linha);background:#fff;color:var(--rio-900);display:grid;place-items:center;cursor:pointer}
.trilho__btn:hover{border-color:var(--rio-500)}
.trilho__btn .ico{width:20px;height:20px}

.grade-exp{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:1.1rem}

/* ============================================================
   Planejar: roteiros + agenda
   ============================================================ */
.planejar{display:grid;gap:3rem}
@media (min-width:960px){.planejar{grid-template-columns:1.3fr 1fr;gap:4rem}}
.roteiros-lista{display:flex;flex-direction:column;gap:.85rem}
.rot{display:grid;grid-template-columns:118px 1fr;gap:1rem;align-items:center;background:#fff;border-radius:var(--r);padding:.6rem;text-decoration:none;color:var(--tinta);box-shadow:var(--sombra);transition:transform .25s var(--t)}
.rot:hover{transform:translateY(-2px);color:var(--tinta)}
.rot__foto,.rot>.sem-foto{width:118px;height:96px;object-fit:cover;border-radius:var(--r-peq)}
.rot__texto{display:flex;flex-direction:column;gap:.15rem}
.rot__dias{font-size:.82rem;font-weight:700;color:var(--mata-600)}
.rot__nome{font-family:var(--serif);font-size:1.28rem;line-height:1.15;color:var(--rio-950)}
.rot__cidades{font-size:.9rem;color:var(--pedra)}
.agenda-curta{list-style:none;margin:0 0 1.5rem;padding:0;display:flex;flex-direction:column}
.agenda-curta li{display:flex;gap:1rem;align-items:center;padding:.9rem 0;border-bottom:1px solid var(--linha)}
.agenda-curta li:first-child{border-top:1px solid var(--linha)}
.data-bloco{flex:none;width:62px;height:62px;border-radius:var(--r);background:var(--rio-900);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}
.data-bloco b{font-family:var(--serif);font-weight:400;font-size:1.55rem}
.data-bloco span{font-size:.82rem;color:var(--sol-claro);margin-top:.15rem}
.agenda-curta__nome{display:block;font-weight:700;color:var(--rio-950)}
.agenda-curta__onde{display:block;font-size:.92rem;color:var(--pedra)}

/* ---------- onde ficar / comer / chegar ---------- */
.estadia{display:grid;gap:1rem}
@media (min-width:820px){.estadia{grid-template-columns:repeat(3,1fr)}}
.estadia__bloco{display:flex;flex-direction:column;gap:.35rem;padding:1.6rem;border-radius:var(--r-grande);background:#fff;box-shadow:var(--sombra);text-decoration:none;color:var(--tinta);transition:transform .25s var(--t),box-shadow .25s}
.estadia__bloco:hover{transform:translateY(-3px);color:var(--tinta)}
.estadia__ico{width:34px;height:34px;color:var(--rio-500);margin-bottom:.4rem}
.estadia__titulo{font-family:var(--serif);font-size:1.6rem;color:var(--rio-950)}
.estadia__texto{color:var(--pedra)}

/* ---------- notícias ---------- */
.secao--notas{padding-top:0}
.notas{display:grid;gap:1.25rem}
@media (min-width:820px){.notas{grid-template-columns:repeat(3,1fr)}}
.nota__link{display:flex;flex-direction:column;gap:.35rem;text-decoration:none;color:var(--tinta)}
.nota__foto{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:var(--r);margin-bottom:.5rem}
.nota time{font-size:.85rem;color:var(--pedra)}
.nota__titulo{font-weight:700;font-size:1.08rem;line-height:1.35;color:var(--rio-950)}
.nota__link:hover .nota__titulo{color:var(--rio-700);text-decoration:underline;text-underline-offset:3px}

/* ============================================================
   Páginas internas
   ============================================================ */
.capa{position:relative;min-height:clamp(380px,62svh,640px);display:flex;align-items:flex-end;color:#fff;isolation:isolate;overflow:hidden;background:var(--rio-950)}
.capa__fundo{position:absolute;inset:0;z-index:-1}
.capa__fundo img,.capa__fundo .sem-foto{width:100%;height:100%;object-fit:cover}
.capa__fundo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,38,49,.4),rgba(8,38,49,0) 35%,rgba(8,38,49,.85))}
.capa__conteudo{padding:7rem 0 3rem}
.capa__volta{display:inline-flex;align-items:center;gap:.4rem;color:rgba(255,255,255,.85);text-decoration:none;font-weight:600;font-size:.95rem;margin-bottom:1rem}
.capa__volta:hover{color:#fff}
.capa__volta .ico{width:18px;height:18px}
.capa__titulo{color:#fff;font-size:clamp(2.6rem,7vw,5.2rem);line-height:1;margin-bottom:.2em}
.capa__slogan{font-family:var(--serif);font-size:clamp(1.15rem,2.4vw,1.6rem);color:var(--sol-claro);margin:0 0 .3em;max-width:30ch}
.capa__sub{color:rgba(255,255,255,.85);max-width:44ch;margin:0}
.capa--curta{min-height:clamp(300px,42svh,440px)}

.cabecalho-simples{padding:clamp(2.5rem,6vw,4.5rem) 0 1.5rem}
.cabecalho-simples h1{font-size:clamp(2.4rem,6vw,4.2rem);margin-bottom:.2em}
.cabecalho-simples p{font-size:1.15rem;color:var(--pedra);max-width:44rem}
.trilha{font-size:.9rem;color:var(--pedra);margin-bottom:1rem}
.trilha a{color:var(--pedra)}

.subnav{position:sticky;top:var(--topo-h);z-index:30;background:rgba(245,247,242,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--linha)}
.subnav .caixa{display:flex;gap:.25rem;overflow-x:auto;scrollbar-width:none}
.subnav .caixa::-webkit-scrollbar{display:none}
.subnav a{flex:none;padding:.95rem .9rem;color:var(--pedra);text-decoration:none;font-weight:600;font-size:.95rem;border-bottom:2px solid transparent}
.subnav a:hover,.subnav a.is-ativo{color:var(--rio-900);border-color:var(--sol)}

.texto-longo{font-size:1.12rem;line-height:1.75;max-width:40rem}
.texto-longo p{margin-bottom:1.1em}
.texto-longo strong{color:var(--rio-950)}
.texto-longo h2{font-size:1.7rem;margin-top:1.6em}
.texto-longo h3{font-size:1.35rem;margin-top:1.4em}
.texto-longo img{border-radius:var(--r);margin:1.5rem 0}
.texto-longo ul,.texto-longo ol{padding-left:1.25rem}
.texto-longo a{color:var(--rio-700)}
.texto-longo blockquote{margin:1.5rem 0;padding-left:1.25rem;border-left:3px solid var(--sol);font-family:var(--serif);font-size:1.3rem;color:var(--rio-900)}

.duas-col{display:grid;gap:2.5rem}
@media (min-width:960px){.duas-col{grid-template-columns:minmax(0,1fr) 340px;gap:4rem;align-items:start}}
.ficha{background:#fff;border-radius:var(--r-grande);box-shadow:var(--sombra);padding:1.6rem;display:flex;flex-direction:column;gap:1.1rem}
@media (min-width:960px){.ficha{position:sticky;top:calc(var(--topo-h) + 4rem)}}
.ficha h2{font-family:var(--sans);font-weight:700;font-size:.95rem;color:var(--pedra);margin:0}
.ficha__item{display:flex;gap:.7rem;align-items:flex-start;font-size:1rem;line-height:1.45}
.ficha__item .ico{color:var(--rio-500);margin-top:.15rem}
.ficha__item a{color:var(--tinta);text-decoration:none;word-break:break-word}
.ficha__item a:hover{color:var(--rio-700);text-decoration:underline}
.ficha__item small{display:block;color:var(--pedra);font-size:.85rem}
.ficha__botoes{display:flex;flex-direction:column;gap:.5rem}
.ficha__botoes .btn{width:100%}
.ficha__grande{font-family:var(--serif);font-size:2.4rem;color:var(--rio-950);line-height:1}

.estacoes{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--linha);border-radius:var(--r);overflow:hidden;margin:2rem 0 0}
@media (min-width:720px){.estacoes{grid-template-columns:repeat(4,1fr)}}
.estacao{background:#fff;padding:1.1rem 1rem}
.estacao__nome{display:flex;align-items:center;gap:.4rem;font-weight:700;color:var(--rio-950);margin-bottom:.25rem}
.estacao__nome .ico{color:var(--sol-escuro)}
.estacao p{margin:0;font-size:.95rem;color:var(--pedra);line-height:1.4}

.frase-final{padding:clamp(3rem,7vw,5rem) 0;text-align:center}
.frase-final p{font-family:var(--serif);font-size:clamp(1.5rem,3.4vw,2.4rem);line-height:1.25;color:var(--rio-900);max-width:28ch;margin:0 auto}
.frase-final svg{width:120px;margin:0 auto 1.4rem;color:var(--sol)}

/* galeria */
.galeria{columns:2 220px;column-gap:.75rem}
.galeria__item{display:block;margin-bottom:.75rem;border-radius:var(--r);overflow:hidden;break-inside:avoid}
.galeria__item img{width:100%;transition:transform .5s var(--t)}
.galeria__item:hover img{transform:scale(1.03)}
.lightbox{border:0;padding:0;background:transparent;max-width:100vw;max-height:100vh;width:100vw;height:100vh;margin:0}
.lightbox::backdrop{background:rgba(5,22,28,.92)}
.lightbox[open]{display:grid;place-items:center}
.lightbox img{max-width:92vw;max-height:86vh;border-radius:var(--r-peq);object-fit:contain}
.lightbox__btn{position:fixed;width:52px;height:52px;border-radius:999px;border:0;background:rgba(255,255,255,.12);color:#fff;display:grid;place-items:center;cursor:pointer}
.lightbox__btn:hover{background:rgba(255,255,255,.25)}
.lightbox__btn .ico{width:24px;height:24px}
.lightbox__fechar{top:1rem;right:1rem}
.lightbox__ant{left:1rem;top:50%;transform:translateY(-50%)}
.lightbox__prox{right:1rem;top:50%;transform:translateY(-50%)}

/* filtros */
.filtros{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:2rem}
.chip{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem 1rem;border-radius:999px;background:#fff;color:var(--tinta);text-decoration:none;font-weight:600;font-size:.94rem;box-shadow:inset 0 0 0 1px var(--linha);white-space:nowrap}
.chip:hover{box-shadow:inset 0 0 0 1.5px var(--rio-300);color:var(--tinta)}
.chip[aria-current]{background:var(--rio-900);color:#fff;box-shadow:none}
.chip .ico{width:1.05rem;height:1.05rem}
.chip small{font-weight:500;opacity:.65}
.seletor{display:flex;align-items:center;gap:.5rem;margin-left:auto}
.seletor label{font-size:.9rem;color:var(--pedra)}
.seletor select,.campo input,.campo select,.campo textarea{font:1rem var(--sans);color:var(--tinta);background:#fff;border:1px solid var(--linha);border-radius:var(--r-peq);padding:.7rem .85rem;width:100%}
.seletor select{width:auto;padding-right:2rem}
.campo input:focus,.campo select:focus,.campo textarea:focus,.seletor select:focus{outline:none;border-color:var(--rio-500);box-shadow:0 0 0 3px rgba(31,127,147,.18)}
.filtros__faixa{display:flex;gap:.5rem;overflow-x:auto;scrollbar-width:none;padding-bottom:.25rem;margin-inline:-1.25rem;padding-inline:1.25rem}
.filtros__faixa::-webkit-scrollbar{display:none}
@media (min-width:900px){.filtros__faixa{flex-wrap:wrap;overflow:visible;margin:0;padding:0}}
.vazio{padding:3rem 1.5rem;text-align:center;background:#fff;border-radius:var(--r-grande);color:var(--pedra)}
.vazio strong{display:block;font-family:var(--serif);font-weight:400;font-size:1.5rem;color:var(--rio-950);margin-bottom:.3rem}

/* serviços (lista) */
.lista-srv{display:grid;gap:1rem}
@media (min-width:900px){.lista-srv{grid-template-columns:repeat(2,1fr)}}
.srv{display:grid;grid-template-columns:104px 1fr;gap:1rem;background:#fff;border-radius:var(--r);padding:.75rem;box-shadow:var(--sombra)}
@media (min-width:560px){.srv{grid-template-columns:150px 1fr}}
.srv__foto{display:block;border-radius:var(--r-peq);overflow:hidden;aspect-ratio:1;background:var(--rio-100)}
.srv__foto img,.srv__foto .sem-foto{width:100%;height:100%;object-fit:cover}
.srv__corpo{display:flex;flex-direction:column;gap:.15rem;min-width:0;padding:.2rem .2rem .2rem 0}
.srv__nome{font-family:var(--sans);font-weight:700;font-size:1.1rem;line-height:1.3;margin:0}
.srv__nome a{color:var(--rio-950);text-decoration:none}
.srv__nome a:hover{color:var(--rio-700);text-decoration:underline}
.srv__meta{margin:0;color:var(--mata-600);font-size:.9rem;font-weight:600}
.srv__end{margin:0;color:var(--pedra);font-size:.92rem;line-height:1.4}
.srv__acoes{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.55rem}
.grupo-cidade{margin-bottom:2.5rem}
.grupo-cidade h2{font-size:1.6rem;display:flex;align-items:baseline;gap:.6rem}
.grupo-cidade h2 a{font-family:var(--sans);font-size:.92rem;font-weight:600}

/* roteiro (linha do tempo por dia) */
.dia{margin-bottom:3rem}
.dia__titulo{font-size:1.7rem;display:flex;align-items:center;gap:.75rem}
.dia__titulo span{display:grid;place-items:center;width:44px;height:44px;border-radius:999px;background:var(--sol);color:var(--rio-950);font-size:1.2rem}
.paradas{list-style:none;margin:0;padding:0 0 0 21px;border-left:2px dashed var(--rio-300)}
.parada{position:relative;padding:0 0 1.75rem 1.75rem}
.parada::before{content:"";position:absolute;left:-8px;top:.35rem;width:14px;height:14px;border-radius:999px;background:var(--papel);border:3px solid var(--rio-500)}
.parada__periodo{font-size:.85rem;font-weight:700;color:var(--mata-600)}
.parada__titulo{font-family:var(--serif);font-size:1.4rem;color:var(--rio-950);margin:.1rem 0 .3rem}
.parada__corpo{display:grid;gap:1rem}
@media (min-width:640px){.parada__corpo{grid-template-columns:200px 1fr;align-items:start}}
.parada__foto{border-radius:var(--r);overflow:hidden;aspect-ratio:4/3}
.parada__foto img,.parada__foto .sem-foto{width:100%;height:100%;object-fit:cover}
.parada p{margin:0 0 .4rem;color:var(--pedra)}

/* agenda */
.agenda{display:flex;flex-direction:column;gap:1rem}
.evento{display:grid;grid-template-columns:auto 1fr;gap:1.1rem;background:#fff;border-radius:var(--r-grande);padding:1rem;box-shadow:var(--sombra);align-items:start}
@media (min-width:720px){.evento{grid-template-columns:auto 1fr 240px}}
.evento .data-bloco{width:78px;height:84px}
.evento .data-bloco b{font-size:2rem}
.evento h2{font-size:1.5rem;margin:.1rem 0 .25rem}
.evento__onde{color:var(--mata-600);font-weight:600;font-size:.95rem;margin-bottom:.4rem}
.evento p{color:var(--pedra);margin:0}
.evento__foto{display:none;border-radius:var(--r);overflow:hidden;aspect-ratio:16/10}
@media (min-width:720px){.evento__foto{display:block}}
.evento__foto img{width:100%;height:100%;object-fit:cover}

/* distâncias */
.distancias{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.5rem 2rem;margin:0;padding:0;list-style:none}
.distancias li{display:flex;justify-content:space-between;gap:1rem;padding:.6rem 0;border-bottom:1px solid var(--linha)}
.distancias b{font-variant-numeric:tabular-nums;color:var(--rio-800)}

/* formulário */
.form{display:grid;gap:1rem}
.campo{display:flex;flex-direction:column;gap:.35rem}
.campo>span{font-weight:600;font-size:.95rem}
.campo--duplo{display:grid;gap:1rem}
@media (min-width:640px){.campo--duplo{grid-template-columns:1fr 1fr}}
.form__nota{font-size:.88rem;color:var(--pedra)}
.armadilha{position:absolute;left:-9999px}
.alerta{padding:.95rem 1.2rem;border-radius:var(--r);margin:1rem 0;font-weight:500}
.alerta--sucesso{background:var(--mata-100);color:var(--mata-700)}
.alerta--erro{background:#fde8e4;color:#8f2a17}
.alerta--info{background:var(--rio-100);color:var(--rio-900)}

/* paginação */
.paginacao{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:center;margin-top:2.5rem}
.paginacao a,.paginacao span{min-width:42px;height:42px;display:grid;place-items:center;border-radius:999px;text-decoration:none;font-weight:600;padding:0 .7rem}
.paginacao a{background:#fff;color:var(--rio-900);box-shadow:inset 0 0 0 1px var(--linha)}
.paginacao .atual{background:var(--rio-900);color:#fff}

/* notícia */
.materia{padding-bottom:4rem}
.materia__capa{margin:0 0 2rem;border-radius:var(--r-grande);overflow:hidden}
.materia__capa img{width:100%;max-height:560px;object-fit:cover}
.materia__meta{color:var(--pedra);font-size:.95rem;margin-bottom:1.5rem}
.materia h1{font-size:clamp(2rem,4.6vw,3.3rem);max-width:22ch}

/* busca */
.busca-form{display:flex;gap:.5rem;max-width:40rem;margin-bottom:2rem}
.busca-form input{flex:1;font:1.1rem var(--sans);padding:.9rem 1.1rem;border:1px solid var(--linha);border-radius:999px;background:#fff}
.resultado-grupo{margin-bottom:2.5rem}
.resultado-grupo h2{font-size:1.5rem}

/* ============================================================
   Rodapé
   ============================================================ */
.rodape{position:relative;background:var(--rio-950);color:rgba(255,255,255,.78);padding:4.5rem 0 1.5rem;margin-top:0;font-size:.98rem}
.rodape__rio{position:absolute;top:22px;left:0;width:100%;height:40px;color:rgba(242,169,59,.5)}
.rodape__grade{display:grid;gap:2.5rem}
@media (min-width:820px){.rodape__grade{grid-template-columns:1.5fr 1fr 1fr 1.4fr}}
.rodape__marca p{margin:1rem 0;max-width:30ch}
.rodape h2{font-family:var(--sans);font-size:.95rem;font-weight:700;color:#fff;margin-bottom:.9rem}
.rodape__col{display:flex;flex-direction:column;gap:.5rem;align-items:flex-start}
.rodape a{color:rgba(255,255,255,.78);text-decoration:none}
.rodape a:hover{color:var(--sol-claro)}
.rodape__contato a,.rodape__contato p{display:flex;gap:.55rem;align-items:flex-start;margin:0}
.rodape__contato .ico{margin-top:.2rem;color:var(--sol)}
.rodape__contato .btn{margin-top:.6rem;color:var(--rio-900)}
.rodape__insta{display:inline-flex;align-items:center;gap:.5rem}
.rodape__base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;border-top:1px solid rgba(255,255,255,.12);margin-top:3rem;padding-top:1.25rem;font-size:.85rem;color:rgba(255,255,255,.5)}
.rodape__base p{margin:0}
.rodape__base a{color:rgba(255,255,255,.5)}
.rodape__base-links{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1.25rem}
.rodape__base a.rodape__selo{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .75rem;border:1px solid rgba(255,255,255,.2);border-radius:999px;color:rgba(255,255,255,.7)}
.rodape__selo strong{color:#fff;font-weight:700}
.rodape__base a.rodape__selo:hover{border-color:var(--sol-claro);color:#fff}

/* ---------- destinos (grade de cidades) ---------- */
.destinos{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
.destino{position:relative;display:flex;flex-direction:column;justify-content:flex-end;aspect-ratio:5/4;border-radius:var(--r-grande);overflow:hidden;color:#fff;text-decoration:none;isolation:isolate;background:var(--rio-900)}
.destino__foto,.destino>.sem-foto{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .7s var(--t)}
.destino::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(8,38,49,0) 35%,rgba(8,38,49,.88))}
.destino:hover .destino__foto{transform:scale(1.04)}
.destino:hover{color:#fff}
.destino__texto{display:flex;flex-direction:column;gap:.15rem;padding:1.3rem}
.destino__nome{font-family:var(--serif);font-size:1.75rem;line-height:1.1}
.destino__slogan{color:var(--sol-claro);font-size:.98rem;line-height:1.35}
.destino__meta{font-size:.85rem;color:rgba(255,255,255,.65)}

/* ---------- roteiros (página) ---------- */
.roteiros-grade{display:grid;gap:1.25rem}
@media (min-width:820px){.roteiros-grade{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1150px){.roteiros-grade{grid-template-columns:repeat(3,1fr)}}
.roteiro-cartao{display:flex;flex-direction:column;background:#fff;border-radius:var(--r-grande);overflow:hidden;box-shadow:var(--sombra);text-decoration:none;color:var(--tinta);transition:transform .25s var(--t)}
.roteiro-cartao:hover{transform:translateY(-3px);color:var(--tinta)}
.roteiro-cartao__foto,.roteiro-cartao>.sem-foto{width:100%;aspect-ratio:16/10;object-fit:cover;height:auto}
.roteiro-cartao__texto{display:flex;flex-direction:column;gap:.35rem;padding:1.3rem 1.4rem 1.5rem}
.roteiro-cartao__nome{font-family:var(--serif);font-size:1.55rem;line-height:1.15;color:var(--rio-950)}
.roteiro-cartao__resumo{color:var(--pedra)}
.roteiro-cartao .rot__cidades{display:flex;align-items:center;gap:.4rem;margin-top:.3rem}

.destaque-texto{font-family:var(--serif);font-size:clamp(1.3rem,2.4vw,1.7rem);line-height:1.35;color:var(--rio-900);max-width:34ch;margin-bottom:1.5rem}
.lista-municipios{list-style:none;margin:0;padding:0;columns:2;column-gap:1rem;font-size:.96rem}
.lista-municipios li{padding:.2rem 0}
.lista-municipios a{color:var(--tinta);text-decoration:none}
.lista-municipios a:hover{color:var(--rio-700);text-decoration:underline}
.notas--grade{row-gap:2.5rem}

.srv__foto .sem-foto{background:var(--rio-100) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 44'%3E%3Cpath d='M13 27a12 12 0 0 1 23-5' fill='none' stroke='%237fb8c4' stroke-width='3' stroke-linecap='round'/%3E%3Cpath d='M6 41c9-6 17-2 26-6s16-9 30-6' fill='none' stroke='%237fb8c4' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") center/42% no-repeat}
