/* ============================================================
   MARAU — Secretaria de Cultura, Turismo e Eventos
   Folha de estilo do site, usada pelo tema filho AROK Marcas.
   Gerada a partir da prévia estática já validada.
   As fontes ficam em ../fontes/ e são carregadas pelos
   @font-face abaixo — nada é buscado no CDN do Google.
   ============================================================ */

/* ============================================================
   FONTES EMBUTIDAS (Google Fonts, subconjuntos latin e latin-ext)
   Bricolage Grotesque, Karla, IBM Plex Mono: SIL Open Font License 1.1
   Roboto: Apache License 2.0
   Auto-hospedadas em ../fontes/ — nada é buscado no CDN do Google.
   ============================================================ */
@font-face{
  font-family:'Bricolage Grotesque';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url('../fontes/bricolage-grotesque-400-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family:'Bricolage Grotesque';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url('../fontes/bricolage-grotesque-400-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family:'Bricolage Grotesque';
  font-style:normal;
  font-weight:600;
  font-display:swap;
  src:url('../fontes/bricolage-grotesque-600-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family:'Bricolage Grotesque';
  font-style:normal;
  font-weight:600;
  font-display:swap;
  src:url('../fontes/bricolage-grotesque-600-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family:'Bricolage Grotesque';
  font-style:normal;
  font-weight:800;
  font-display:swap;
  src:url('../fontes/bricolage-grotesque-800-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family:'Bricolage Grotesque';
  font-style:normal;
  font-weight:800;
  font-display:swap;
  src:url('../fontes/bricolage-grotesque-800-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family:'IBM Plex Mono';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url('../fontes/ibm-plex-mono-400-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family:'IBM Plex Mono';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url('../fontes/ibm-plex-mono-400-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family:'IBM Plex Mono';
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:url('../fontes/ibm-plex-mono-500-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family:'IBM Plex Mono';
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:url('../fontes/ibm-plex-mono-500-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family:'Karla';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url('../fontes/karla-400-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family:'Karla';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url('../fontes/karla-400-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family:'Karla';
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:url('../fontes/karla-500-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family:'Karla';
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:url('../fontes/karla-500-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family:'Karla';
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:url('../fontes/karla-700-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family:'Karla';
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:url('../fontes/karla-700-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family:'Roboto';
  font-style:normal;
  font-weight:300;
  font-display:swap;
  src:url('../fontes/roboto-300-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family:'Roboto';
  font-style:normal;
  font-weight:300;
  font-display:swap;
  src:url('../fontes/roboto-300-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family:'Roboto';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url('../fontes/roboto-400-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family:'Roboto';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url('../fontes/roboto-400-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ============================================================
   TOKENS — paleta oficial extraída do logotipo da Secretaria
   ============================================================ */
:root{
  --verde-claro:#89AE42;
  --verde:#4D7F49;
  --laranja:#D17235;
  --azul:#4874B2;
  --ardosia:#2F3C4A;

  --papel:#F6F7F2;
  --papel-2:#ECEFE5;
  --branco:#FFFFFF;
  --tinta:#26313B;
  --tinta-fraca:#5C6B77;
  --linha:rgba(47,60,74,.14);

  --display:"Bricolage Grotesque",system-ui,sans-serif;
  --corpo:"Karla",system-ui,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,monospace;

  --maxw:1240px;
  --raio:14px;
  --sombra:0 1px 2px rgba(38,49,59,.05), 0 12px 32px -18px rgba(38,49,59,.35);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--papel);color:var(--tinta);
  font-family:var(--corpo);font-size:17px;line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
h1,h2,h3,h4{font-family:var(--display);margin:0;line-height:1.06;letter-spacing:-.02em;font-weight:800}
p{margin:0}
a{color:inherit}
.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 24px}

/* Rótulos utilitários */
.eyebrow{
  font-family:var(--mono);font-size:12px;font-weight:500;
  letter-spacing:.16em;text-transform:uppercase;color:var(--verde);
  display:flex;align-items:center;gap:10px;
}
.eyebrow::before{content:"";width:22px;height:2px;background:currentColor;flex:none}
.exemplo{
  font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--tinta-fraca);border:1px solid var(--linha);border-radius:99px;padding:2px 8px;
}

/* Faixa de cinco cores — motivo estrutural da marca */
.faixa{display:flex;height:5px;width:100%}
.faixa span{flex:1}
.faixa span:nth-child(1){background:var(--verde-claro)}
.faixa span:nth-child(2){background:var(--verde)}
.faixa span:nth-child(3){background:var(--laranja)}
.faixa span:nth-child(4){background:var(--azul)}
.faixa span:nth-child(5){background:var(--ardosia)}

/* ============================================================
   AVISO DE PRÉVIA  (remover este bloco na versão final)
   ============================================================ */
.previa{
  background:var(--ardosia);color:#DCE3EA;text-align:center;
  font-family:var(--mono);font-size:11.5px;letter-spacing:.09em;
  text-transform:uppercase;padding:8px 16px;
}

/* ============================================================
   CABEÇALHO
   ============================================================ */
.topo{position:relative;z-index:60;background:var(--papel);border-bottom:1px solid var(--linha)}
.topo-in{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:72px}
.marca{display:flex;align-items:center}
.marca svg{height:46px;width:auto;display:block}
.menu{display:flex;align-items:center;gap:6px;list-style:none;margin:0;padding:0}
.menu button{
  font-family:var(--corpo);font-size:14.5px;font-weight:500;color:var(--tinta);
  background:none;border:0;padding:9px 12px;border-radius:8px;cursor:not-allowed;
  position:relative;letter-spacing:.01em;
}
.menu button::after{
  content:"";position:absolute;left:12px;right:12px;bottom:5px;height:2px;
  background:var(--laranja);transform:scaleX(0);transform-origin:left;transition:transform .28s ease;
}
.menu button:hover::after,.menu button:focus-visible::after{transform:scaleX(1)}
.menu button:hover{color:var(--verde)}
.menu li.atual button{color:var(--verde)}
.menu li.atual button::after{transform:scaleX(1);background:var(--verde)}
.abre-menu{display:none;flex:none;background:none;border:1px solid var(--linha);border-radius:9px;padding:9px 12px;cursor:pointer;font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase}

/* ============================================================
   HERO / SLIDER
   ============================================================ */
.hero{position:relative;background:var(--ardosia);overflow:hidden}
.slides{position:relative;min-height:min(78vh,640px)}
.slide{
  position:absolute;inset:0;display:grid;grid-template-columns:1.05fr .95fr;
  opacity:0;visibility:hidden;transition:opacity .7s ease;
}
.slide.ativo{opacity:1;visibility:visible}
.slide-txt{padding:clamp(40px,6vw,86px) clamp(24px,5vw,76px);display:flex;flex-direction:column;justify-content:center;gap:22px;color:#EEF2F3;max-width:760px;margin-left:auto;width:100%}
.slide-txt .eyebrow{color:var(--verde-claro)}
.slide h1{font-size:clamp(38px,5.4vw,68px);color:#fff;max-width:16ch}
.slide h1 em{font-style:normal;color:var(--verde-claro)}
.slide p{font-size:clamp(16px,1.35vw,19.5px);color:#C3CED6;max-width:52ch}
.acoes{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}
.btn{
  font-family:var(--corpo);font-weight:700;font-size:15px;letter-spacing:.01em;
  padding:14px 24px;border-radius:99px;border:1px solid transparent;cursor:not-allowed;
  transition:transform .2s ease,background .2s ease,color .2s ease;
}
.btn:hover{transform:translateY(-2px)}
.btn-1{background:var(--laranja);color:#fff}
.btn-1:hover{background:#c2652b}
.btn-2{background:transparent;color:#fff;border-color:rgba(255,255,255,.4)}
.btn-2:hover{background:rgba(255,255,255,.1)}
.btn-escuro{background:var(--ardosia);color:#fff}
.btn-vazado{background:transparent;color:var(--ardosia);border-color:var(--ardosia)}
.btn-vazado:hover{background:var(--ardosia);color:#fff}

.slide-img{position:relative}
.slide-img .ph{position:absolute;inset:0}

/* Controles do slider */
.hero-ctrl{position:absolute;left:0;right:0;bottom:0;z-index:5;display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:0 clamp(24px,5vw,76px) 26px}
.barras{display:flex;gap:8px;flex:1;max-width:340px}
.barra{flex:1;height:4px;border-radius:99px;background:rgba(255,255,255,.22);border:0;padding:0;cursor:pointer;overflow:hidden;position:relative}
.barra i{position:absolute;inset:0;transform-origin:left;transform:scaleX(0);background:var(--verde-claro);border-radius:99px}
.barra.feita i{transform:scaleX(1)}
.barra.andando i{animation:enche var(--dur,7s) linear forwards}
@keyframes enche{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.setas{display:flex;gap:10px}
.seta{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:rgba(0,0,0,.15);color:#fff;cursor:pointer;font-size:17px;line-height:1;display:grid;place-items:center;transition:background .2s ease}
.seta:hover{background:var(--verde)}

/* ============================================================
   PLACEHOLDERS DE IMAGEM  (trocar por fotos reais)
   ============================================================ */
.ph{position:relative;overflow:hidden;background:linear-gradient(140deg,var(--c1,#4D7F49),var(--c2,#2F3C4A))}
.ph::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(circle at 22% 24%,rgba(255,255,255,.20),transparent 46%),
    repeating-linear-gradient(48deg,rgba(255,255,255,.055) 0 12px,transparent 12px 24px);
}
.ph::after{
  content:attr(data-foto);position:absolute;left:14px;bottom:12px;
  font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;
  color:rgba(255,255,255,.78);
}

/* ============================================================
   SEÇÕES
   ============================================================ */
.secao{padding:clamp(72px,8vw,116px) 0}
.secao-clara{background:var(--branco)}
.cab{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:44px;flex-wrap:wrap}
.cab h2{font-size:clamp(30px,3.6vw,46px);max-width:16ch}
.cab p{color:var(--tinta-fraca);max-width:46ch}
.cab-txt{display:flex;flex-direction:column;gap:14px}

/* História */
.historia{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(36px,5vw,72px);align-items:center}
.historia p+p{margin-top:18px}
.historia p{color:var(--tinta-fraca);font-size:17.5px}
.datas{list-style:none;margin:34px 0 0;padding:0;border-top:1px solid var(--linha)}
.datas li{display:grid;grid-template-columns:104px 1fr;gap:20px;padding:15px 0;border-bottom:1px solid var(--linha);align-items:baseline}
.datas dt,.datas .ano{font-family:var(--mono);font-size:13px;color:var(--laranja);letter-spacing:.04em}
.datas .fato{font-size:16px;color:var(--tinta)}
.historia-img{aspect-ratio:4/5;border-radius:var(--raio);--c1:var(--verde);--c2:var(--ardosia);box-shadow:var(--sombra)}

/* Eventos */
.eventos-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:26px;align-items:start}
.destaque{border-radius:var(--raio);overflow:hidden;background:var(--branco);border:1px solid var(--linha);box-shadow:var(--sombra)}
.secao-clara .destaque{background:var(--papel)}
.destaque .ph{aspect-ratio:16/9;--c1:var(--laranja);--c2:#8f3f1c}
.destaque-txt{padding:30px 32px 34px;display:flex;flex-direction:column;gap:14px}
.destaque h3{font-size:clamp(24px,2.4vw,33px)}
.destaque p{color:var(--tinta-fraca)}
.tag{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding:5px 11px;border-radius:99px;color:#fff;background:var(--verde)}
.tag-laranja{background:var(--laranja)}
.tag-azul{background:var(--azul)}
.tag-ardosia{background:var(--ardosia)}
.linha-tags{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.meta{display:flex;gap:18px;flex-wrap:wrap;font-family:var(--mono);font-size:13px;color:var(--tinta-fraca)}
.meta span{display:flex;gap:7px;align-items:center}
.proximos{display:flex;flex-direction:column;gap:14px}
.ev{
  display:grid;grid-template-columns:78px 1fr;gap:20px;align-items:center;
  background:var(--branco);border:1px solid var(--linha);border-radius:var(--raio);
  padding:16px 20px;transition:transform .22s ease,border-color .22s ease;
}
.secao-clara .ev{background:var(--papel)}
.ev:hover{transform:translateX(4px);border-color:var(--verde-claro)}
.ev-data{text-align:center;border-right:1px solid var(--linha);padding-right:18px}
.ev-dia{font-family:var(--display);font-size:31px;font-weight:800;line-height:1;color:var(--ardosia)}
.ev-mes{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--laranja)}
.ev h4{font-size:19px;margin-bottom:5px}
.ev small{font-family:var(--mono);font-size:12.5px;color:var(--tinta-fraca)}

/* Turismo */
.rotas{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.rota{border-radius:var(--raio);overflow:hidden;background:var(--branco);border:1px solid var(--linha);display:flex;flex-direction:column;transition:transform .25s ease,box-shadow .25s ease}
.rota:hover{transform:translateY(-6px);box-shadow:var(--sombra)}
.rota .ph{aspect-ratio:3/2}
.rota-txt{padding:24px 24px 28px;display:flex;flex-direction:column;gap:11px;flex:1}
.rota h3{font-size:23px}
.rota p{color:var(--tinta-fraca);font-size:15.5px;flex:1}
.rota .meta{font-size:12.5px}

/* Artistas */
.filtros{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:34px}
.filtro{
  font-family:var(--corpo);font-size:14px;font-weight:700;background:var(--branco);
  border:1px solid var(--linha);border-radius:99px;padding:10px 20px;cursor:pointer;color:var(--tinta);
  display:flex;align-items:center;gap:9px;transition:border-color .2s ease,color .2s ease;
}
.filtro .ponto{width:9px;height:9px;border-radius:50%;background:var(--cor,var(--ardosia))}
.filtro:hover{border-color:var(--cor,var(--ardosia))}
.filtro[aria-pressed="true"]{background:var(--cor,var(--ardosia));color:#fff;border-color:transparent}
.filtro[aria-pressed="true"] .ponto{background:#fff}
.artistas{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.artista{background:var(--branco);border:1px solid var(--linha);border-radius:var(--raio);overflow:hidden;transition:transform .25s ease,box-shadow .25s ease}
.artista:hover{transform:translateY(-6px);box-shadow:var(--sombra)}
.artista .ph{aspect-ratio:1/1}
.artista-txt{padding:20px 20px 24px;display:flex;flex-direction:column;gap:8px}
.artista h4{font-size:19.5px}
.artista .cat{font-family:var(--mono);font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:var(--cor,var(--verde))}
.artista p{font-size:14.5px;color:var(--tinta-fraca)}
.artista .rodape-card{display:flex;justify-content:space-between;align-items:center;margin-top:4px}
.centro{display:flex;justify-content:center;margin-top:44px}
.oculto{display:none !important}

/* Hospedagem */
.hosp{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.h-card{display:flex;flex-direction:column;background:var(--branco);border:1px solid var(--linha);border-radius:var(--raio);overflow:hidden;transition:transform .25s ease,box-shadow .25s ease}
.h-card:hover{transform:translateY(-6px);box-shadow:var(--sombra)}
.h-card .ph{aspect-ratio:16/10}
.h-txt{padding:22px 24px 26px;display:flex;flex-direction:column;gap:10px;flex:1}
.h-txt h3{font-size:21px}
.h-txt p{color:var(--tinta-fraca);font-size:15px;flex:1}
.chamada-hosp{
  margin-top:36px;background:var(--papel-2);border-radius:var(--raio);
  padding:32px 36px;display:flex;justify-content:space-between;align-items:center;gap:26px;flex-wrap:wrap;
}
.chamada-hosp h3{font-size:24px;margin-bottom:6px}
.chamada-hosp p{color:var(--tinta-fraca);max-width:52ch}

/* Rodapé */
.rodape{background:var(--ardosia);color:#B9C5CE;padding:72px 0 0;font-size:15px}
.rodape-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:44px;padding-bottom:56px}
.rodape h5{font-family:var(--display);font-size:14px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:#fff;margin:0 0 18px}
.rodape ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px}
.rodape li{color:#B9C5CE}
.rodape .marca-rodape svg{height:44px;width:auto;margin-bottom:22px}
.rodape .marca-rodape svg path{fill:#fff !important}
.rodape p{max-width:34ch;color:#94A4B0;font-size:14.5px}
.creditos{border-top:1px solid rgba(255,255,255,.12);padding:22px 0 26px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-family:var(--mono);font-size:12px;color:#7E8F9C;letter-spacing:.03em}


/* ============================================================
   RODAPÉ AROK  (assinatura da agência)
   ============================================================ */
.arok{background:#2d2d2d;font-family:"Roboto",system-ui,sans-serif}
.arok-in{
  width:100%;max-width:1100px;margin:0 auto;padding:16px 24px;
  display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:52px;
}
.arok-txt{
  font-size:13px;font-weight:300;color:#EDE3D0;text-decoration:none;line-height:19px;
  transition:color .2s ease;
}
.arok-txt:hover{color:#FF6A39}
.arok-txt .coracao{color:#EDE3D0;transition:color .2s ease}
.arok-txt:hover .coracao{color:#FF6A39}
.arok-social{display:flex;align-items:center;gap:22px}
.arok-social a{color:#EDE3D0;display:grid;place-items:center;transition:color .2s ease}
.arok-social a:hover{color:#FF6A39}
.arok-social svg{width:16px;height:16px;display:block}
@media (max-width:620px){
  .arok-in{flex-direction:column;gap:14px;text-align:center;padding:18px 20px}
  .arok-social svg{width:20px;height:20px}
}

/* Reveal on scroll */
.rev{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.rev.visivel{opacity:1;transform:none}

:focus-visible{outline:3px solid var(--laranja);outline-offset:3px;border-radius:4px}

/* ============================================================
   RESPONSIVO
   ============================================================ */
@media (max-width:1080px){
  .artistas{grid-template-columns:repeat(2,1fr)}
  .rotas,.hosp{grid-template-columns:repeat(2,1fr)}
  .rodape-grid{grid-template-columns:1fr 1fr;gap:36px}
}
@media (max-width:900px){
  .menu{
    position:absolute;top:100%;left:0;right:0;background:var(--papel);
    flex-direction:column;align-items:stretch;padding:10px 16px 20px;gap:2px;
    border-bottom:1px solid var(--linha);display:none;
  }
  .menu.aberto{display:flex}
  .menu button{width:100%;text-align:left;padding:13px 8px;font-size:16px}
  .abre-menu{display:block}
  .slide{grid-template-columns:1fr}
  .slide-img{display:none}
  .slides{min-height:auto}
  .slide{position:relative;display:none}
  .slide.ativo{display:grid}
  .slide-txt{padding:56px 24px 96px}
  .historia,.eventos-grid{grid-template-columns:1fr}
  .historia-img{aspect-ratio:16/10;order:-1}
}
@media (max-width:620px){
  body{font-size:16px}
  .rotas,.hosp,.artistas{grid-template-columns:1fr}
  .rodape-grid{grid-template-columns:1fr;gap:32px}
  .cab{margin-bottom:32px}
  .chamada-hosp{padding:26px 24px}
  .destaque-txt{padding:24px 22px 28px}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none !important;transition:none !important;scroll-behavior:auto !important}
  .rev{opacity:1;transform:none}
}

/* ============================================================
   ===============  BLOCO NOVO — v2  ==========================
   Barra institucional, menu com submenus, fotos reais,
   mapa, Festival do Salame, Mãos de Marau e hospedagem.
   ============================================================ */

/* ---------- Fotos reais dentro dos placeholders ---------- */
.ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.ph.tem-foto::before,.ph.tem-foto::after{content:none}
.ph.tem-foto{background:var(--papel-2)}

/* ---------- 1ª barra: institucional ---------- */
.topo{position:relative;z-index:60;background:var(--papel);border-bottom:1px solid var(--linha)}
.barra-inst{border-bottom:1px solid var(--linha)}
.barra-inst-in{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:74px;flex-wrap:wrap}
.inst-links{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.inst-link{
  display:inline-flex;align-items:center;gap:9px;text-decoration:none;
  font-family:var(--corpo);font-size:13.5px;font-weight:500;color:var(--tinta);
  border:1px solid var(--linha);border-radius:99px;padding:9px 16px;background:var(--branco);
  transition:border-color .2s ease,color .2s ease,transform .2s ease;
}
.inst-link:hover{border-color:var(--verde);color:var(--verde);transform:translateY(-1px)}
.inst-link svg{width:16px;height:16px;flex:none}
.inst-link.ig:hover{border-color:var(--laranja);color:var(--laranja)}

/* ---------- 2ª barra: navegação ---------- */
.barra-nav{background:transparent}
.barra-nav-in{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px}
.menu{display:flex;align-items:center;justify-content:center;gap:2px;list-style:none;margin:0;padding:0;flex-wrap:wrap;flex:1}
.menu > li{position:relative}
.menu button,.menu > li > a{
  font-family:var(--corpo);font-size:14.5px;font-weight:500;color:var(--tinta);
  line-height:1.25;
  background:none;border:0;padding:9px 12px;border-radius:8px;cursor:not-allowed;
  position:relative;letter-spacing:.01em;text-decoration:none;display:inline-flex;align-items:center;gap:7px;
}
.menu .seta-sub{width:9px;height:9px;flex:none;transition:transform .2s ease;opacity:.55}
.menu li.aberto > button .seta-sub{transform:rotate(180deg)}
.submenu{
  position:absolute;top:calc(100% + 8px);left:0;min-width:250px;
  background:var(--branco);border:1px solid var(--linha);border-radius:12px;
  box-shadow:0 2px 6px rgba(38,49,59,.06),0 22px 44px -24px rgba(38,49,59,.55);
  padding:8px;list-style:none;margin:0;display:none;z-index:70;
}
.menu li.aberto > .submenu{display:block}
.submenu li{margin:0}
.submenu button{
  width:100%;text-align:left;padding:10px 12px;border-radius:8px;font-size:14px;
  color:var(--tinta-fraca);display:flex;align-items:center;gap:10px;
}
.submenu button::after{content:none}
.submenu button:hover{background:var(--papel-2);color:var(--verde)}
.submenu .pt{width:7px;height:7px;border-radius:50%;background:var(--cor,var(--verde-claro));flex:none}
.menu-sep{width:1px;height:22px;background:var(--linha);margin:0 6px}


/* ---------- Rotas: chip do logotipo ---------- */
.rota-marca{
  background:#fff;border:1px solid var(--linha);border-radius:12px;
  padding:12px 16px;display:grid;place-items:center;margin:-48px 20px 0;position:relative;z-index:2;
  box-shadow:0 10px 26px -18px rgba(38,49,59,.6);min-height:96px;
}
.rota-marca img{max-height:78px;width:auto;max-width:100%;object-fit:contain}
.rota-txt > .tag{align-self:flex-start}
.rota-txt{padding:18px 24px 28px}

/* ---------- Mapa turístico ---------- */
.mapa-bloco{display:grid;grid-template-columns:1.35fr .65fr;gap:clamp(28px,4vw,52px);align-items:start}
.mapa-quadro{background:var(--branco);border:1px solid var(--linha);border-radius:var(--raio);padding:14px;box-shadow:var(--sombra);overflow:hidden}
.secao-clara .mapa-quadro{background:var(--papel)}
.mapa-quadro svg{width:100%;height:auto;display:block;border-radius:8px}
.mapa-legenda{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.mapa-legenda li{display:grid;grid-template-columns:30px 1fr;gap:14px;align-items:start;padding:13px 0;border-bottom:1px solid var(--linha)}
.mapa-legenda .num{
  width:28px;height:28px;border-radius:50%;background:var(--cor,var(--verde));color:#fff;
  display:grid;place-items:center;font-family:var(--mono);font-size:12px;font-weight:500;
}
.mapa-legenda strong{display:block;font-family:var(--display);font-size:16px;font-weight:600;letter-spacing:-.01em}
.mapa-legenda span{font-size:14px;color:var(--tinta-fraca)}
.mapa-nota{font-family:var(--mono);font-size:11.5px;color:var(--tinta-fraca);letter-spacing:.05em;margin-top:16px}

/* ---------- Mãos de Marau ---------- */
.maos{background:var(--ardosia);color:#E7EDF1;overflow:hidden}
.maos-in{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch}
.maos-txt{padding:clamp(48px,6vw,86px) clamp(24px,4vw,64px);display:flex;flex-direction:column;gap:20px;justify-content:center;max-width:680px;margin-left:auto;width:100%}
.maos-txt .eyebrow{color:var(--verde-claro)}
.maos-txt h2{font-size:clamp(30px,3.6vw,46px);color:#fff;max-width:15ch}
.maos-txt p{color:#B9C5CE;max-width:48ch}
.maos-num{display:flex;gap:34px;flex-wrap:wrap;margin-top:6px}
.maos-num div{display:flex;flex-direction:column;gap:3px}
.maos-num b{font-family:var(--display);font-size:clamp(30px,3.4vw,42px);font-weight:800;color:var(--verde-claro);line-height:1}
.maos-num span{font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:#94A4B0}
.maos-foto{position:relative;min-height:340px}
.maos-foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.maos-foto::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--ardosia),transparent 42%)}
.btn-claro{background:var(--verde-claro);color:#22301a}
.btn-claro:hover{background:#96bd4a}
.acoes .btn{cursor:pointer}
a.btn{text-decoration:none;display:inline-flex;align-items:center;gap:9px;cursor:pointer}
.ver-ficha{font-family:var(--mono);font-size:12px;color:var(--tinta-fraca);text-decoration:none;border-bottom:1px solid transparent;transition:color .2s ease,border-color .2s ease}
.ver-ficha:hover{color:var(--verde);border-color:var(--verde)}

/* ---------- Destaque: Festival Nacional do Salame ---------- */
/* cores da identidade do festival (festivalnacionaldosalame.com.br) */
.festival{
  --fest-creme:#FCF0E4; --fest-terra:#B85328; --fest-verde:#245424;
  border-radius:var(--raio);overflow:hidden;border:1px solid rgba(184,83,40,.22);
  background:var(--fest-creme);box-shadow:var(--sombra);display:flex;flex-direction:column;
}
.festival-capa{position:relative;aspect-ratio:16/9;overflow:hidden}
.festival-capa > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.festival-capa::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(36,84,36,.12) 0%,rgba(36,84,36,.52) 42%,rgba(28,38,20,.90) 100%)}
.festival-logo{position:absolute;left:0;right:0;bottom:26px;display:grid;place-items:center;z-index:2;padding:0 24px}
.festival-logo img{width:min(64%,360px);height:auto;filter:drop-shadow(0 6px 20px rgba(0,0,0,.45))}
.festival-txt{padding:28px 32px 32px;display:flex;flex-direction:column;gap:13px}
.festival-txt h3{font-size:clamp(23px,2.3vw,31px);color:#22301A}
.festival-txt p{color:#6B5747}
.festival .tag-fest{background:var(--fest-terra);color:#fff;align-self:flex-start}
.festival .meta{color:#8A705C}
.festival .meta span::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--fest-terra);flex:none}
.link-fest{
  font-family:var(--mono);font-size:12.5px;letter-spacing:.03em;color:var(--fest-terra);
  text-decoration:none;border-bottom:1px solid rgba(184,83,40,.4);align-self:flex-start;padding-bottom:2px;
}
.link-fest:hover{color:var(--fest-verde);border-color:var(--fest-verde)}

/* ---------- Onde ficar e onde comer: 3 por linha ---------- */
#gradeHosp{grid-template-columns:repeat(3,1fr)}

/* ---------- Botão voltar ao topo ---------- */
.sobe{
  position:fixed;right:24px;bottom:24px;z-index:90;
  width:50px;height:50px;border-radius:50%;border:1px solid rgba(255,255,255,.14);
  background:var(--ardosia);color:#fff;cursor:pointer;display:grid;place-items:center;
  box-shadow:0 6px 14px -6px rgba(38,49,59,.45),0 18px 34px -18px rgba(38,49,59,.8);
  opacity:0;visibility:hidden;transform:translateY(12px) scale(.94);
  transition:opacity .28s ease,transform .28s ease,visibility .28s,background .2s ease;
}
.sobe.visivel{opacity:1;visibility:visible;transform:none}
.sobe:hover{background:var(--verde)}
.sobe svg{width:20px;height:20px;display:block}
@media (max-width:620px){
  .sobe{right:16px;bottom:16px;width:46px;height:46px}
}

/* ---------- Observação das fotos ---------- */
.obs-fotos{
  font-family:var(--mono);font-size:11px;letter-spacing:.07em;
  color:var(--tinta-fraca);text-align:center;margin-top:36px;
}
/* ---------- Hospedagem e alimentação ---------- */
.h-card .cat{font-family:var(--mono);font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:var(--cor,var(--verde))}

/* ---------- Créditos das fotos ---------- */
.aviso-fotos{
  border:1px dashed var(--linha);border-radius:12px;padding:16px 20px;margin-top:40px;
  font-family:var(--mono);font-size:11.5px;line-height:1.7;color:var(--tinta-fraca);letter-spacing:.04em;
}

/* ---------- Rodapé: links ---------- */
.rodape a{color:#B9C5CE;text-decoration:none;transition:color .2s ease}
.rodape a:hover{color:var(--verde-claro)}
.rodape .marca-rodape svg path{fill:#FEFEFE}
.rodape-social{display:flex;gap:12px;margin-top:16px}
.rodape-social a{
  width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.2);
  display:grid;place-items:center;color:#B9C5CE;
}
.rodape-social a:hover{border-color:var(--verde-claro);color:var(--verde-claro)}
.rodape .marca-rodape .rodape-social svg{width:17px;height:17px;margin-bottom:0}

/* ---------- Responsivo do bloco novo ---------- */
@media (max-width:1080px){
  #gradeHosp{grid-template-columns:repeat(2,1fr)}
  .mapa-bloco{grid-template-columns:1fr}
  .maos-in{grid-template-columns:1fr}
  .maos-foto{min-height:260px;order:-1}
  .maos-foto::after{background:linear-gradient(180deg,transparent 40%,var(--ardosia))}
  .maos-txt{margin:0;max-width:none}
}
@media (max-width:900px){
  .barra-inst-in{min-height:0;padding-top:14px;padding-bottom:14px;gap:14px}
  .barra-nav-in{min-height:0;padding-bottom:10px}
  .menu{
    position:absolute;top:100%;left:0;right:0;background:var(--papel);
    flex-direction:column;align-items:stretch;padding:10px 16px 20px;gap:2px;
    border-bottom:1px solid var(--linha);display:none;max-height:70vh;overflow-y:auto;
    justify-content:flex-start;flex:none;
  }
  .menu.aberto{display:flex}
  .menu button,.menu > li > a{width:100%;text-align:left;padding:13px 8px;font-size:16px;justify-content:space-between}
  .submenu{position:static;display:none;box-shadow:none;border:0;border-left:2px solid var(--verde-claro);border-radius:0;margin:2px 0 8px 10px;padding:0 0 0 8px;min-width:0;background:transparent}
  .menu li.aberto > .submenu{display:block}
  .submenu button{font-size:15px;padding:10px 6px}
  .menu-sep{display:none}
  .slide-img{display:block;position:relative;height:230px;order:-1}
  .slide-img .ph{position:absolute;inset:0}
  .slide-txt{padding:40px 24px 92px}
}
@media (max-width:620px){
  #gradeHosp{grid-template-columns:1fr}
  .festival-txt{padding:24px 22px 28px}
  .festival-logo{bottom:18px}
  .inst-link{font-size:12.5px;padding:8px 13px}
  .rota-marca{margin:-40px 16px 0}
}

/* ============================================================
   ===============  FICHA PUBLICADA  ==========================
   Como fica o cadastro depois de aprovado e publicado.
   ============================================================ */

/* ---------- Capa ---------- */
.ficha-capa{position:relative;display:flex;align-items:flex-end;overflow:hidden;background:var(--ardosia);min-height:clamp(320px,40vw,470px)}
.ficha-capa > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ficha-capa::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(38,49,59,.30) 0%,rgba(38,49,59,.55) 45%,rgba(28,37,45,.94) 100%)}
.ficha-capa .wrap{position:relative;z-index:2;padding-top:56px;padding-bottom:40px;width:100%}
.ficha-migalha{
  display:flex;gap:9px;flex-wrap:wrap;align-items:center;
  font-family:var(--mono);font-size:11.5px;letter-spacing:.09em;text-transform:uppercase;color:#94A4B0;
}
.ficha-migalha a{color:#94A4B0;text-decoration:none;transition:color .2s ease}
.ficha-migalha a:hover{color:var(--verde-claro)}
.ficha-tags{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin-top:20px}
.ficha-capa h1{font-size:clamp(33px,4.5vw,56px);color:#fff;margin:16px 0 14px;max-width:20ch;letter-spacing:-.025em}
.ficha-resumo{color:#C3CED6;font-size:clamp(16px,1.35vw,19px);max-width:58ch;line-height:1.6}
.ficha-acoes{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.btn-zap{background:var(--verde-claro);color:#22301A}
.btn-zap:hover{background:#96bd4a}

/* ---------- Corpo em duas colunas ---------- */
.ficha-corpo{padding:clamp(48px,5.5vw,84px) 0 clamp(56px,6vw,96px)}
.ficha-grid{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:clamp(32px,4vw,60px);align-items:start}
.ficha-lado{position:sticky;top:24px;display:flex;flex-direction:column;gap:16px}

.cartao{background:var(--branco);border:1px solid var(--linha);border-radius:var(--raio);padding:26px 26px 28px;box-shadow:var(--sombra)}
.cartao h4{
  font-family:var(--display);font-size:12.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  color:var(--tinta-fraca);margin-bottom:18px;
}
.cartao .btn{width:100%;justify-content:center;cursor:pointer}
.cartao .btn + .btn{margin-top:10px}

.dados{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}
.dados li{display:grid;grid-template-columns:19px minmax(0,1fr);gap:13px;align-items:start;font-size:14.5px;color:var(--tinta);line-height:1.55}
.dados svg{width:17px;height:17px;color:var(--verde);margin-top:2px;flex:none}
.dados small{
  display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;
  color:var(--tinta-fraca);margin-bottom:3px;
}
.dados a{color:var(--tinta);text-decoration:none;border-bottom:1px solid var(--linha)}
.dados a:hover{color:var(--verde);border-color:var(--verde)}

.redes-ficha{display:flex;gap:10px;flex-wrap:wrap}
.redes-ficha a{
  width:42px;height:42px;border-radius:11px;border:1px solid var(--linha);background:var(--papel);
  display:grid;place-items:center;color:var(--tinta-fraca);transition:all .2s ease;
}
.redes-ficha a:hover{border-color:var(--verde);color:var(--verde);background:var(--branco)}
.redes-ficha svg{width:18px;height:18px}

/* ---------- Conteúdo ---------- */
.secao-ficha + .secao-ficha{margin-top:clamp(40px,4.5vw,64px)}
.secao-ficha h2{font-size:clamp(24px,2.6vw,34px);margin-bottom:20px}
.secao-ficha > p{color:var(--tinta-fraca);font-size:16.5px;line-height:1.75}
.secao-ficha > p + p{margin-top:16px}

.chips{display:flex;flex-wrap:wrap;gap:9px}
.chip{
  font-size:13.5px;padding:8px 15px;border-radius:99px;
  background:var(--branco);color:var(--tinta);border:1px solid var(--linha);
}
.chip-on{background:rgba(77,127,73,.09);border-color:rgba(77,127,73,.28);color:var(--verde);font-weight:500}
.chip-off{color:#A6B0B9;text-decoration:line-through}

.galeria{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.galeria figure{margin:0;border-radius:12px;overflow:hidden;aspect-ratio:4/3;background:var(--papel-2)}
.galeria img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;display:block}
.galeria figure:hover img{transform:scale(1.06)}
.galeria .g-larga{grid-column:span 2;aspect-ratio:auto}


.horarios{list-style:none;margin:0;padding:0}
.horarios li{display:flex;justify-content:space-between;gap:18px;padding:13px 0;border-bottom:1px solid var(--linha)}
.horarios li:last-child{border-bottom:0}
.horarios .dia{font-size:15px;color:var(--tinta)}
.horarios .hora{font-family:var(--mono);font-size:13px;color:var(--tinta-fraca);text-align:right}
.horarios .fechado{color:var(--laranja)}

.rota-selo{display:flex;align-items:center;gap:16px;background:var(--branco);border:1px solid var(--linha);border-radius:12px;padding:16px 18px}
.rota-selo img{height:46px;width:auto;flex:none}
.rota-selo b{display:block;font-family:var(--display);font-size:15px;margin-bottom:2px}
.rota-selo span{font-size:13.5px;color:var(--tinta-fraca)}



/* aviso de exemplo */
.aviso-exemplo{
  display:flex;align-items:flex-start;gap:14px;background:var(--papel-2);border:1px dashed var(--linha);
  border-radius:12px;padding:16px 20px;margin-bottom:clamp(30px,3.5vw,46px);
}
.aviso-exemplo svg{width:19px;height:19px;color:var(--laranja);flex:none;margin-top:2px}
.aviso-exemplo p{font-size:14px;color:var(--tinta-fraca);line-height:1.65}
.aviso-exemplo strong{color:var(--tinta)}

/* ---------- Responsivo ---------- */
@media (max-width:1000px){
  .ficha-grid{grid-template-columns:1fr}
  .ficha-lado{position:static;order:-1}
  .galeria{grid-template-columns:repeat(2,1fr)}
  .galeria .g-larga{grid-column:span 2}
}
@media (max-width:620px){
  .galeria{grid-template-columns:1fr}
  .galeria .g-larga{grid-column:span 1}
  .ficha-acoes .btn{width:100%;justify-content:center}
  .horarios li{flex-direction:column;gap:3px}
  .horarios .hora{text-align:left}
}

/* ---------- Cabeçalho do cartão com foto de perfil ---------- */
.cartao-perfil{display:flex;align-items:center;gap:15px;margin-bottom:22px;padding-bottom:20px;border-bottom:1px solid var(--linha)}
.cartao-perfil img{width:62px;height:62px;border-radius:50%;object-fit:cover;flex:none}
.cartao-perfil b{display:block;font-family:var(--display);font-size:18px;line-height:1.2;letter-spacing:-.01em}
.cartao-perfil span{font-family:var(--mono);font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--tinta-fraca)}

/* ---------- Galeria de 4 imagens ---------- */
.galeria-4{grid-template-columns:repeat(2,1fr)}


/* ============================================================
   ===============  PÁGINAS DE CONTEÚDO  ======================
   História, linha do tempo, ex-prefeitos, espaços culturais,
   patrimônios e rotas.
   ============================================================ */

/* links dentro dos submenus do cabeçalho */
.submenu a{
  font-family:var(--corpo);font-size:14px;font-weight:500;line-height:1.25;
  width:100%;padding:10px 12px;border-radius:8px;color:var(--tinta-fraca);
  display:flex;align-items:center;gap:10px;text-decoration:none;cursor:pointer;
  transition:background .2s ease,color .2s ease;
}
.submenu a:hover{background:var(--papel-2);color:var(--verde)}

/* ---------- Corpo de conteúdo ---------- */
.conteudo{padding:clamp(48px,5.5vw,84px) 0 clamp(56px,6vw,96px)}
.conteudo-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(32px,4vw,60px);align-items:start}
.conteudo-lado{position:sticky;top:24px;display:flex;flex-direction:column;gap:16px}

.texto p{font-size:17px;line-height:1.8;color:var(--tinta-fraca)}
.texto p + p{margin-top:18px}
.texto strong{color:var(--tinta);font-weight:700}
.texto em{font-style:italic}
.texto h3{font-family:var(--display);font-size:21px;font-weight:800;color:var(--tinta);margin:38px 0 14px;letter-spacing:-.015em}
.texto ul{margin:16px 0 0;padding-left:20px}
.texto li{font-size:16.5px;line-height:1.75;color:var(--tinta-fraca);margin-bottom:9px}

/* ---------- Foto histórica com legenda e crédito ---------- */
figure.hist{margin:32px 0;border-radius:var(--raio);overflow:hidden;background:var(--branco);border:1px solid var(--linha)}
figure.hist img{width:100%;display:block}
figure.hist figcaption{padding:15px 20px 17px;font-size:14.5px;color:var(--tinta-fraca);line-height:1.6}
figure.hist figcaption b{display:block;color:var(--tinta);font-weight:700;margin-bottom:4px;font-size:15px}
.credito{
  display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.07em;
  text-transform:uppercase;color:#9AA7B1;margin-top:8px;
}

/* ---------- Linha do tempo ---------- */
.linha-tempo{list-style:none;margin:0;padding:0;position:relative}
.linha-tempo::before{content:"";position:absolute;left:11px;top:10px;bottom:10px;width:2px;background:var(--linha)}
.linha-tempo > li{position:relative;padding:0 0 34px 48px}
.linha-tempo > li:last-child{padding-bottom:0}
.linha-tempo > li::before{
  content:"";position:absolute;left:4px;top:5px;width:16px;height:16px;border-radius:50%;
  background:var(--papel);border:3px solid var(--verde-claro);
}
.linha-tempo > li.marco::before{border-color:var(--laranja);background:var(--laranja)}
.linha-tempo .ano{
  display:block;font-family:var(--mono);font-size:13px;color:var(--laranja);
  letter-spacing:.05em;margin-bottom:6px;
}
.linha-tempo .fato{font-size:16.5px;color:var(--tinta);line-height:1.7}
.linha-tempo figure.hist{margin:18px 0 0}

/* ---------- Ex-prefeitos ---------- */
.prefeitos-lista{display:flex;flex-direction:column;gap:22px}
.prefeito-cartao{
  background:var(--branco);border:1px solid var(--linha);border-radius:var(--raio);
  padding:clamp(22px,2.6vw,32px);box-shadow:var(--sombra);
}
.prefeito-topo{display:flex;align-items:flex-start;gap:18px;margin-bottom:18px}
.prefeito-num{
  width:46px;height:46px;border-radius:50%;background:var(--ardosia);color:#fff;flex:none;
  display:grid;place-items:center;font-family:var(--display);font-weight:800;font-size:16px;
}
.prefeito-cartao h3{font-size:23px;margin-bottom:5px;letter-spacing:-.02em}
.prefeito-periodo{font-family:var(--mono);font-size:12.5px;color:var(--laranja);letter-spacing:.04em}
.prefeito-vice{font-size:14px;color:var(--tinta-fraca);margin-top:4px}
.prefeito-cartao p{font-size:15.5px;color:var(--tinta-fraca);line-height:1.75}
.prefeito-cartao p + p{margin-top:12px}
.prefeito-acoes{margin-top:20px;padding-top:18px;border-top:1px solid var(--linha)}
.prefeito-acoes h4{
  font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--verde);margin-bottom:9px;
}
.prefeito-marca{
  display:inline-flex;align-items:center;gap:8px;margin-top:16px;padding:7px 13px;border-radius:99px;
  background:rgba(77,127,73,.09);color:var(--verde);font-size:13px;font-weight:500;
}
.prefeito-marca svg{width:14px;height:14px;flex:none}

/* ---------- Tabela de dados ---------- */
.tabela-dados{width:100%;border-collapse:collapse;font-size:15px}
.tabela-dados td{padding:13px 0;border-bottom:1px solid var(--linha);vertical-align:top;line-height:1.6}
.tabela-dados td:first-child{color:var(--tinta-fraca);width:46%;padding-right:20px}
.tabela-dados td:last-child{color:var(--tinta)}
.tabela-dados tr:last-child td{border-bottom:0}

/* ---------- Hino ---------- */
.hino{
  background:var(--branco);border:1px solid var(--linha);border-radius:var(--raio);
  padding:clamp(26px,3vw,40px);columns:2;column-gap:46px;
}
.hino p{break-inside:avoid;margin-bottom:22px;font-size:16px;line-height:1.85;color:var(--tinta)}
.hino p:last-child{margin-bottom:0}
.hino p.refrao{font-weight:700;color:var(--verde)}

/* ---------- Brasão ---------- */
.brasao-bloco{display:grid;grid-template-columns:200px minmax(0,1fr);gap:clamp(26px,3vw,44px);align-items:start}
.brasao-bloco img{width:100%;height:auto;display:block}

/* ---------- Nota de fonte ---------- */
.nota-fonte{
  border-left:3px solid var(--azul);background:var(--papel-2);
  padding:16px 22px;border-radius:0 10px 10px 0;margin:28px 0;
}
.nota-fonte p{font-size:14px;color:var(--tinta-fraca);line-height:1.7}
.nota-fonte strong{color:var(--tinta)}

/* ---------- Cartões de espaço / rota ---------- */
.espacos{display:flex;flex-direction:column;gap:clamp(30px,4vw,52px)}
.espaco{background:var(--branco);border:1px solid var(--linha);border-radius:var(--raio);overflow:hidden;box-shadow:var(--sombra)}
.espaco > img{width:100%;display:block;aspect-ratio:16/7;object-fit:cover}
.espaco-txt{padding:clamp(24px,3vw,36px)}
.espaco-txt h2{font-size:clamp(23px,2.4vw,30px);margin-bottom:12px}
.espaco-txt .sub{font-family:var(--mono);font-size:11.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--verde);margin-bottom:10px;display:block}
.espaco-txt p{font-size:16px;color:var(--tinta-fraca);line-height:1.75}
.espaco-txt p + p{margin-top:14px}
.espaco-mini{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:22px}
.espaco-mini img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;display:block}

/* ---------- Responsivo ---------- */
@media (max-width:1000px){
  .conteudo-grid{grid-template-columns:1fr}
  .conteudo-lado{position:static;order:-1}
  .brasao-bloco{grid-template-columns:150px minmax(0,1fr)}
}
@media (max-width:760px){
  .hino{columns:1}
  .brasao-bloco{grid-template-columns:1fr;justify-items:center;text-align:left}
  .brasao-bloco img{max-width:180px}
  .espaco-mini{grid-template-columns:repeat(2,1fr)}
  .tabela-dados td:first-child{width:50%}
}
@media (max-width:620px){
  .linha-tempo > li{padding-left:40px}
  .prefeito-topo{flex-direction:column;gap:12px}
}

/* ---------- Título de bloco dentro do texto ---------- */
.titulo-bloco{
  font-family:var(--display);font-size:clamp(25px,2.6vw,32px);font-weight:800;
  letter-spacing:-.02em;color:var(--tinta);margin-bottom:22px;
}

/* ---------- Logotipo da rota sobre a foto do cartão ---------- */
.espaco-marca{
  background:#fff;border:1px solid var(--linha);border-radius:12px;
  padding:12px 16px;display:grid;place-items:center;margin:-48px 24px 0;position:relative;z-index:2;
  box-shadow:0 10px 26px -18px rgba(38,49,59,.6);min-height:96px;
}
.espaco-marca img{max-height:78px;width:auto;max-width:100%;object-fit:contain}
.espaco-marca--solta{margin:0 0 20px;max-width:260px}
.espaco-marca + .espaco-txt{padding-top:20px}

/* ---------- Destaque do festival ---------- */
.destaque-rota{
  display:grid;grid-template-columns:120px minmax(0,1fr);gap:22px;align-items:center;
  background:var(--ardosia);border-radius:var(--raio);padding:22px 26px;margin-top:26px;
}
.destaque-rota img{width:100%;height:auto;object-fit:contain}
.destaque-rota h4{font-family:var(--display);font-size:18px;font-weight:800;color:#fff;margin-bottom:6px}
.destaque-rota p{font-size:15px;color:#C3CED6;line-height:1.7}
.destaque-rota strong{color:#fff}

/* ---------- Lista de associados ---------- */
.lista-associados{
  list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 22px;
}
.lista-associados li{
  font-size:15px;color:var(--tinta);line-height:1.5;padding-left:16px;position:relative;
}
.lista-associados li::before{
  content:"";position:absolute;left:0;top:8px;width:6px;height:6px;border-radius:50%;background:var(--verde-claro);
}

@media (max-width:760px){
  .destaque-rota{grid-template-columns:90px minmax(0,1fr);gap:16px;padding:20px}
  .lista-associados{grid-template-columns:1fr}
  .espaco-marca{margin:-40px 16px 0}
}

/* ---------- Associados das rotas ---------- */
.assoc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px}
.assoc{
  background:var(--papel);border:1px solid var(--linha);border-radius:14px;
  padding:20px 22px 18px;display:flex;flex-direction:column;gap:9px;
}
.assoc h4{font-family:var(--display);font-size:17.5px;font-weight:800;color:var(--tinta);letter-spacing:-.015em;line-height:1.25}
.assoc .local{
  font-family:var(--mono);font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;
  color:var(--verde);display:flex;align-items:center;gap:6px;
}
.assoc .local svg{width:12px;height:12px;flex:none}
.assoc p{font-size:14.5px;color:var(--tinta-fraca);line-height:1.65;flex:1;margin:0}
.assoc-contato{
  display:flex;flex-wrap:wrap;gap:8px;margin-top:4px;padding-top:12px;border-top:1px solid var(--linha);
}
.assoc-contato a,.assoc-contato span{
  font-size:13px;color:var(--tinta);text-decoration:none;
  display:inline-flex;align-items:center;gap:6px;
  background:var(--branco);border:1px solid var(--linha);border-radius:99px;padding:5px 11px;
  transition:border-color .2s ease,color .2s ease;
}
.assoc-contato a:hover{border-color:var(--verde);color:var(--verde)}
.assoc-contato svg{width:13px;height:13px;flex:none;color:var(--tinta-fraca)}

@media (max-width:860px){
  .assoc-grid{grid-template-columns:1fr}
}

/* ---------- Subtítulo dentro do cartão de espaço/rota ---------- */
.titulo-espaco{
  font-family:var(--display);font-size:19px;font-weight:800;color:var(--tinta);
  margin:30px 0 10px;letter-spacing:-.015em;
}
.espaco-txt .tabela-dados a{color:var(--tinta);text-decoration:none;border-bottom:1px solid var(--linha)}
.espaco-txt .tabela-dados a:hover{color:var(--verde);border-color:var(--verde)}


/* ============================================================
   ===============  NOVIDADES (blog) e MÃOS DE MARAU  =========
   ============================================================ */

/* ---------- Filtros de categoria ---------- */
.filtros-nov{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:34px}

/* ---------- Destaque ---------- */
.nov-destaque{
  display:grid;grid-template-columns:1.15fr .85fr;gap:0;align-items:stretch;
  background:var(--branco);border:1px solid var(--linha);border-radius:var(--raio);
  overflow:hidden;box-shadow:var(--sombra);margin-bottom:clamp(30px,4vw,48px);
}
.nov-destaque > a.nov-foto{display:block;position:relative;min-height:280px}
.nov-destaque > a.nov-foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.nov-destaque-txt{padding:clamp(26px,3vw,44px);display:flex;flex-direction:column;gap:14px;justify-content:center}
.nov-destaque-txt h2{font-size:clamp(23px,2.5vw,33px);letter-spacing:-.02em;line-height:1.18}
.nov-destaque-txt h2 a{color:inherit;text-decoration:none}
.nov-destaque-txt h2 a:hover{color:var(--verde)}
.nov-destaque-txt p{color:var(--tinta-fraca);font-size:16.5px;line-height:1.7}

/* ---------- Grade de cards ---------- */
.grade-nov{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.nov{
  display:flex;flex-direction:column;background:var(--branco);border:1px solid var(--linha);
  border-radius:var(--raio);overflow:hidden;position:relative;
  transition:transform .25s ease,box-shadow .25s ease;
}
.nov:hover{transform:translateY(-6px);box-shadow:var(--sombra)}
.nov .nov-foto{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--papel-2)}
.nov .nov-foto img{width:100%;height:100%;object-fit:cover;display:block}
.nov-txt{padding:20px 22px 24px;display:flex;flex-direction:column;gap:10px;flex:1}
.nov-txt h3{font-size:19px;line-height:1.3;letter-spacing:-.015em}
.nov-txt h3 a{color:inherit;text-decoration:none}
.nov-txt h3 a::after{content:"";position:absolute;inset:0;z-index:2}
.nov:hover h3 a{color:var(--verde)}
.nov-txt p{font-size:14.5px;color:var(--tinta-fraca);line-height:1.65;flex:1}

/* ---------- Meta: data e categoria ---------- */
.nov-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.nov-data{
  font-family:var(--mono);font-size:11.5px;letter-spacing:.07em;color:var(--tinta-fraca);
  display:inline-flex;align-items:center;gap:6px;
}
.nov-data svg{width:13px;height:13px;flex:none}
.nov-ler{
  font-family:var(--mono);font-size:11px;letter-spacing:.11em;text-transform:uppercase;
  color:var(--verde);display:inline-flex;align-items:center;gap:7px;margin-top:2px;
}
.nov-ler svg{width:13px;height:13px;flex:none;transition:transform .2s ease}
.nov:hover .nov-ler svg{transform:translateX(3px)}

/* ---------- Paginação (só demonstração) ---------- */
.paginacao{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:clamp(36px,4vw,56px)}
.paginacao span,.paginacao button{
  min-width:40px;height:40px;padding:0 12px;border-radius:10px;border:1px solid var(--linha);
  background:var(--branco);color:var(--tinta);font-family:var(--corpo);font-size:14.5px;font-weight:500;
  display:grid;place-items:center;cursor:not-allowed;
}
.paginacao .atual{background:var(--ardosia);border-color:var(--ardosia);color:#fff;font-weight:700}

/* ============================================================
   SINGLE DA NOTÍCIA
   ============================================================ */
.artigo{max-width:760px;margin:0 auto}
.artigo-corpo p{font-size:17.5px;line-height:1.85;color:var(--tinta-fraca)}
.artigo-corpo p + p{margin-top:20px}
.artigo-corpo strong{color:var(--tinta);font-weight:700}
.artigo-corpo h3{font-family:var(--display);font-size:22px;font-weight:800;color:var(--tinta);margin:38px 0 14px;letter-spacing:-.015em}
.artigo-linha{
  font-size:19.5px;line-height:1.6;color:var(--tinta);font-weight:500;
  border-left:3px solid var(--verde-claro);padding-left:20px;margin-bottom:30px;
}
.artigo-citacao{
  margin:32px 0;padding:26px 30px;background:var(--papel-2);border-radius:var(--raio);
  font-size:18px;line-height:1.7;color:var(--tinta);font-style:italic;
}
.artigo-citacao cite{
  display:block;margin-top:12px;font-style:normal;font-family:var(--mono);
  font-size:11.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--tinta-fraca);
}
.artigo-rodape{
  margin-top:clamp(36px,4vw,52px);padding-top:26px;border-top:1px solid var(--linha);
  display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;
}
.compartilhar{display:flex;align-items:center;gap:10px}
.compartilhar span{font-family:var(--mono);font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:var(--tinta-fraca)}
.compartilhar a{
  width:36px;height:36px;border-radius:50%;border:1px solid var(--linha);background:var(--branco);
  display:grid;place-items:center;color:var(--tinta-fraca);transition:border-color .2s ease,color .2s ease;
}
.compartilhar a:hover{border-color:var(--verde);color:var(--verde)}
.compartilhar svg{width:16px;height:16px}

/* ---------- Leia também ---------- */
.leia-tambem{background:var(--papel-2);padding:clamp(48px,5.5vw,80px) 0}
.leia-tambem h2{font-size:clamp(24px,2.6vw,32px);margin-bottom:28px;letter-spacing:-.02em}

/* ============================================================
   MÃOS DE MARAU
   ============================================================ */
.tecnicas{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.tecnica{
  display:inline-flex;align-items:center;gap:9px;
  background:var(--branco);border:1px solid var(--linha);border-radius:99px;
  padding:9px 18px;font-size:14.5px;color:var(--tinta);
}
.tecnica .ponto{width:9px;height:9px;border-radius:50%;background:var(--cor,var(--verde-claro));flex:none}

.passos{list-style:none;margin:24px 0 0;padding:0;display:flex;flex-direction:column;gap:16px;counter-reset:passo}
.passos li{
  display:grid;grid-template-columns:38px minmax(0,1fr);gap:16px;align-items:start;
  background:var(--branco);border:1px solid var(--linha);border-radius:14px;padding:18px 22px;
}
.passos li::before{
  counter-increment:passo;content:counter(passo);
  width:38px;height:38px;border-radius:50%;background:var(--verde);color:#fff;
  display:grid;place-items:center;font-family:var(--display);font-weight:800;font-size:15px;
}
.passos h4{font-family:var(--display);font-size:17px;font-weight:800;color:var(--tinta);margin-bottom:5px}
.passos p{font-size:15px;color:var(--tinta-fraca);line-height:1.65}
.passos a{color:var(--verde)}

.numeros{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:30px 0 0}
.numero{
  background:var(--ardosia);color:#fff;border-radius:var(--raio);padding:26px 24px;
  display:flex;flex-direction:column;gap:6px;
}
.numero b{font-family:var(--display);font-size:clamp(30px,3.6vw,42px);font-weight:800;line-height:1;color:var(--verde-claro)}
.numero span{font-size:14.5px;color:#C3CED6;line-height:1.5}

/* ---------- Programação em blocos de dia ---------- */
.programacao{display:flex;flex-direction:column;gap:18px;margin-top:22px}
.prog-dia{background:var(--branco);border:1px solid var(--linha);border-radius:14px;padding:20px 24px 22px}
.prog-dia h4{
  font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--laranja);margin-bottom:14px;
}
.prog-dia ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.prog-dia li{display:grid;grid-template-columns:72px minmax(0,1fr);gap:14px;font-size:15px;color:var(--tinta);line-height:1.5}
.prog-dia li b{font-family:var(--mono);font-size:13px;color:var(--tinta-fraca);font-weight:400}

/* ---------- Responsivo ---------- */
@media (max-width:1080px){
  .grade-nov{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:860px){
  .nov-destaque{grid-template-columns:1fr}
  .nov-destaque > a.nov-foto{min-height:0;aspect-ratio:16/9}
  .numeros{grid-template-columns:1fr}
}
@media (max-width:620px){
  .grade-nov{grid-template-columns:1fr}
  .prog-dia li{grid-template-columns:62px minmax(0,1fr);gap:10px}
  .artigo-linha{font-size:17.5px;padding-left:16px}
}


/* ============================================================
   ===============  MENU — correções v4  ======================
   Cursor de link nos itens navegáveis, ponte sobre o vão entre
   o botão e o submenu, e área de hover ampliada.
   ============================================================ */

/* 1. Só quem não tem destino continua com cursor bloqueado */
.menu > li > a,
.menu > li > button,
.submenu a,
.submenu button{cursor:pointer}
.menu .em-breve,
.submenu .em-breve{cursor:not-allowed;opacity:.5}
.menu .em-breve:hover{color:var(--tinta)}
.menu .em-breve::after{content:none}
.submenu .em-breve:hover{background:transparent;color:var(--tinta-fraca)}

/* 2. O item principal com submenu é um link: mesmo sublinhado dos botões */
.menu > li > a::after{
  content:"";position:absolute;left:12px;right:12px;bottom:5px;height:2px;
  background:var(--laranja);transform:scaleX(0);transform-origin:left;transition:transform .28s ease;
}
.menu > li > a:hover::after,
.menu > li > a:focus-visible::after{transform:scaleX(1)}
.menu > li > a:hover{color:var(--verde)}
.menu li.aberto > a{color:var(--verde)}
.menu li.aberto > a .seta-sub{transform:rotate(180deg)}

@media (min-width:901px){
  /* 3. Ponte invisível sobre o vão de 8px: o ponteiro nunca sai do <li> */
  .submenu::before{
    content:"";position:absolute;left:0;right:0;top:-12px;height:12px;
  }
  /* 4. Alarga a zona de hover do item para os lados do rótulo */
  .menu > li.tem-sub{padding-bottom:2px}
  /* 5. O submenu não pode vazar da tela quando o item está à direita */
  .menu > li.tem-sub:nth-last-child(-n+3) > .submenu{left:auto;right:0}
}

/* 6. Fundo do submenu sempre opaco (herança do .secao-clara não interfere) */
.submenu{background:var(--branco)}

/* 7. Mobile: a seta indica que o primeiro toque abre o submenu */
@media (max-width:900px){
  .menu > li > a{justify-content:space-between}
  .menu li.aberto > a .seta-sub{transform:rotate(180deg)}
  .submenu a{padding:11px 6px;font-size:15px}
}


/* ============================================================
   ===============  LINHA DO TEMPO INTERATIVA  ================
   ============================================================ */

.tl-secao{padding:clamp(48px,5.5vw,84px) 0 clamp(56px,6vw,96px)}

.tl-intro{max-width:740px;margin:0 auto clamp(40px,5vw,72px);text-align:center}
.tl-intro h2{font-size:clamp(25px,2.8vw,34px);letter-spacing:-.02em;margin-bottom:14px}
.tl-intro p{color:var(--tinta-fraca);font-size:17px;line-height:1.75}
.tl-intro .numeros{margin-top:32px;text-align:left}

.tl{position:relative;padding:6px 0}

/* trilho central e barra de progresso */
.tl-rail{
  position:absolute;left:50%;top:0;bottom:0;width:3px;
  background:var(--linha);transform:translateX(-50%);border-radius:99px;overflow:hidden;
}
.tl-rail i{
  position:absolute;left:0;right:0;top:0;height:0;border-radius:99px;
  background:linear-gradient(180deg,var(--verde-claro),var(--verde) 45%,var(--laranja));
}

/* separador de período */
.tl-era{position:relative;z-index:3;text-align:center;margin:clamp(38px,4.2vw,60px) 0 clamp(26px,3vw,40px)}
.tl-era:first-child{margin-top:0}
.tl-era span{
  display:inline-block;background:var(--ardosia);color:#fff;border-radius:99px;
  padding:10px 24px;font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;
  box-shadow:0 10px 26px -18px rgba(38,49,59,.7);
}

/* cada marco */
.tl-item{position:relative;width:calc(50% - 48px);margin-bottom:clamp(20px,2.4vw,32px)}
.tl-item[data-lado="esq"]{margin-right:auto}
.tl-item[data-lado="dir"]{margin-left:auto}

.tl-ponto{
  position:absolute;top:25px;width:15px;height:15px;border-radius:50%;z-index:4;
  background:var(--papel);border:3px solid var(--verde-claro);
  transition:transform .35s ease,box-shadow .35s ease;
}
.tl-item[data-lado="esq"] .tl-ponto{right:-55px}
.tl-item[data-lado="dir"] .tl-ponto{left:-55px}
.tl-item.marco .tl-ponto{border-color:var(--laranja);background:var(--laranja)}
.tl-item.ativo .tl-ponto{transform:scale(1.5);box-shadow:0 0 0 7px rgba(137,174,66,.16)}
.tl-item.marco.ativo .tl-ponto{box-shadow:0 0 0 7px rgba(209,114,53,.16)}

/* fiozinho do ponto até o cartão */
.tl-item::before{content:"";position:absolute;top:32px;width:32px;height:2px;background:var(--linha)}
.tl-item[data-lado="esq"]::before{right:-40px}
.tl-item[data-lado="dir"]::before{left:-40px}

.tl-cartao{
  background:var(--branco);border:1px solid var(--linha);border-radius:var(--raio);
  padding:22px 26px 24px;box-shadow:0 1px 2px rgba(38,49,59,.04);
  transition:box-shadow .35s ease,border-color .35s ease;
}
.tl-item.ativo .tl-cartao{box-shadow:var(--sombra);border-color:rgba(137,174,66,.55)}
.tl-item.marco .tl-cartao{border-left:3px solid var(--laranja)}

.tl-ano{
  display:block;font-family:var(--display);font-weight:800;letter-spacing:-.02em;
  font-size:clamp(20px,2vw,26px);color:var(--laranja);line-height:1.15;margin-bottom:10px;
}
.tl-fato{font-size:16px;line-height:1.7;color:var(--tinta-fraca)}
.tl-fato strong{color:var(--tinta);font-weight:700}
.tl-cartao figure.hist{margin:18px 0 0}

/* entrada lateral */
.tl-item.rev{opacity:0;transform:translateY(0)}
.tl-item[data-lado="esq"].rev{transform:translateX(-28px)}
.tl-item[data-lado="dir"].rev{transform:translateX(28px)}
.tl-item.rev.visivel{opacity:1;transform:none}

/* fecho da página */
.tl-fim{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(28px,4vw,52px);align-items:start;margin-top:clamp(44px,5vw,72px)}
.tl-fim .nota-fonte{margin-top:0}

@media (max-width:1000px){
  .tl-fim{grid-template-columns:1fr}
}
@media (max-width:900px){
  .tl-rail{left:13px;transform:none}
  .tl-item{width:100%;margin-left:0 !important;margin-right:0 !important;padding-left:54px}
  .tl-item[data-lado="esq"] .tl-ponto,
  .tl-item[data-lado="dir"] .tl-ponto{left:6px;right:auto}
  .tl-item[data-lado]::before,
  .tl-item[data-lado="esq"]::before,
  .tl-item[data-lado="dir"]::before{left:23px;right:auto;width:23px}
  .tl-era{text-align:left;padding-left:54px}
  .tl-item[data-lado="esq"].rev,.tl-item[data-lado="dir"].rev{transform:translateY(24px)}
}

/* ============================================================
   ===============  REVELAR AO ROLAR  =========================
   ============================================================ */

/* atraso escalonado nos itens de grade */
.rev{transition-delay:var(--d,0ms)}

/* foto que respira ao passar o mouse */
figure.hist img{transition:transform .7s cubic-bezier(.2,.7,.3,1)}
figure.hist:hover img{transform:scale(1.035)}
.espaco > img{transition:transform .8s cubic-bezier(.2,.7,.3,1)}
.espaco:hover > img{transform:scale(1.02)}
.espaco-mini img{transition:transform .5s ease,filter .5s ease}
.espaco-mini img:hover{transform:scale(1.04)}

/* cartões que sobem de leve */
.prefeito-cartao,.assoc,.numero,.prog-dia,.passos li,.tecnica{
  transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;
}
.prefeito-cartao:hover{transform:translateY(-3px);box-shadow:0 22px 44px -28px rgba(38,49,59,.5)}
.assoc:hover{border-color:rgba(137,174,66,.55)}
.tecnica:hover{border-color:var(--verde);color:var(--verde)}

@media (prefers-reduced-motion:reduce){
  .tl-item.rev,.tl-item[data-lado="esq"].rev,.tl-item[data-lado="dir"].rev{opacity:1;transform:none}
  .tl-rail i{transition:none}
  figure.hist:hover img,.espaco:hover > img,.espaco-mini img:hover{transform:none}
}

/* ============================================================
   ===============  GALERIA E FICHA DE LOCAL  =================
   ============================================================ */

.local-selos{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.local-selos a.tag{text-decoration:none;transition:opacity .2s ease,transform .2s ease}
.local-selos a.tag:hover{opacity:.85;transform:translateY(-1px)}
.texto > .sub{
  display:block;font-family:var(--mono);font-size:11.5px;letter-spacing:.11em;
  text-transform:uppercase;color:var(--verde);margin-bottom:22px;
}
.texto > div[data-campo="post_content"] > p:first-child{margin-top:0}

/* o cartão da galeria pode levar mais de um selo */
.nov-meta .tag{font-size:10.5px;padding:4px 10px}
