/* =========================================================
   Priorado dos Nobres Cavaleiros do Sertão Baiano nº 156
   Folha de estilo principal
   ========================================================= */

@font-face {
  font-family: "Medieval Sharp";
  src: url("../fonts/MedievalSharp-Bold.woff2") format("woff2"),
       url("../fonts/MedievalSharp-Bold.ttf") format("truetype");
  font-weight: 700;
  font-display: swap;
}
@font-face {
  font-family: "Photograph Signature";
  src: url("../fonts/Photograph_Signature.woff2") format("woff2"),
       url("../fonts/Photograph_Signature.ttf") format("truetype");
  font-weight: 400;
  font-display: swap;
}

:root {
  --noite: #0f2e28;
  --escuro: #173e35;
  --agua: #4e9c90;
  --agua-claro: #83c3bc;
  --menta: #5fd0bd;
  --nevoa: #eaf4f1;
  --papel: #f7fbfa;
  --vermelho: #c8102e;
  --ouro: #d6a449;
  --texto: #1b332d;
  --texto-suave: #4c6660;

  --f-titulo: "Medieval Sharp", "Cinzel", Georgia, serif;
  --f-script: "Photograph Signature", "Brush Script MT", cursive;
  --f-serif: "EB Garamond", Garamond, "Times New Roman", serif;
  --f-sans: "Manrope", "Segoe UI", system-ui, sans-serif;

  --largura: 1180px;
  --menu-h: 84px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: var(--menu-h); }
body {
  margin: 0;
  font-family: var(--f-sans);
  font-size: 1.0625rem;
  line-height: 1.65;
  color: var(--texto);
  background: var(--papel);
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; }
:focus-visible { outline: 3px solid var(--menta); outline-offset: 3px; border-radius: 4px; }

.container { width: min(100% - 2.5rem, var(--largura)); margin-inline: auto; }
.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

/* ---------- Botões ---------- */
.btn {
  display: inline-flex; align-items: center; gap: .6rem;
  font-family: var(--f-sans); font-weight: 800; font-size: .95rem;
  letter-spacing: .02em; text-decoration: none; text-transform: uppercase;
  padding: .95rem 1.8rem; border-radius: 999px; border: 0; cursor: pointer;
  transition: transform .2s ease, box-shadow .2s ease, background-position .4s ease;
}
.btn svg { width: 18px; height: 18px; flex: none; }
.btn-primario {
  color: #fff;
  background: linear-gradient(100deg, #2f7d70 0%, var(--agua) 45%, var(--menta) 100%);
  background-size: 160% 100%;
  box-shadow: 0 8px 24px -10px rgba(95, 208, 189, .7);
}
.btn-primario:hover { background-position: 100% 0; transform: translateY(-1px); }
.btn-claro {
  color: var(--escuro); background: #fff;
  box-shadow: 0 10px 26px -12px rgba(15,46,40,.6);
}
.btn-claro:hover { background: var(--escuro); color: #fff; transform: translateY(-1px); }
.btn-contorno {
  color: var(--escuro); background: transparent;
  box-shadow: inset 0 0 0 2px var(--escuro);
}
.btn-contorno:hover { background: var(--escuro); color: #fff; }

/* ---------- Menu ---------- */
.topo {
  position: sticky; top: 0; z-index: 50;
  background: var(--escuro);
  box-shadow: 0 1px 0 rgba(255,255,255,.06);
}
.topo .container {
  width: min(100% - 2.5rem, 1360px);
  height: var(--menu-h);
  display: flex; align-items: center; justify-content: space-between; gap: 1.5rem;
}
.logo {
  display: block; flex: none; position: relative;
  transition: transform .35s ease;
}
.logo:hover { transform: translateY(-1px) scale(1.02); }
.logo::after { /* brilho leve que passa pelas letras */
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(110deg, transparent 38%, rgba(95,208,189,.85) 50%, transparent 62%);
  background-size: 260% 100%; background-position: 130% 0;
  -webkit-mask: var(--logo) center / contain no-repeat;
          mask: var(--logo) center / contain no-repeat;
  animation: brilho-logo 7s ease-in-out infinite;
}
@keyframes brilho-logo {
  0%, 72% { background-position: 130% 0; }
  100% { background-position: -30% 0; }
}
.logo img { height: 30px; width: auto; }
.menu { display: flex; align-items: center; gap: 1.8rem; }
.menu ul { list-style: none; display: flex; gap: 1.6rem; margin: 0; padding: 0; }
.menu a { white-space: nowrap; }
.menu a:not(.btn) {
  color: #e8f3f0; text-decoration: none; font-size: .98rem; font-weight: 500;
  padding: .3rem 0; position: relative;
}
.menu a:not(.btn)::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -2px; height: 2px;
  background: var(--menta); transform: scaleX(0); transform-origin: left;
  transition: transform .25s ease;
}
.menu a:not(.btn):hover::after,
.menu a[aria-current="page"]::after { transform: scaleX(1); }
.menu .btn { padding: .8rem 1.6rem; font-size: .9rem; }

.menu-toggle {
  display: none; background: none; border: 0; padding: .5rem; cursor: pointer; color: #fff;
}
.menu-toggle span {
  display: block; width: 26px; height: 2px; background: currentColor; margin: 6px 0;
  transition: transform .25s ease, opacity .2s ease;
}
.menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }


/* =========================================================
   Seções no layout do Figma
   No desktop (a partir de 1025px) tudo é medido em "unidades de
   design": 1u = 1px do arquivo de 1440px. Assim a página fica
   idêntica ao layout em qualquer largura de tela.
   ========================================================= */
:root { --u: calc(min(100vw, 1440px) / 1440); --vw: 100vw; }

.fig { position: relative; }
.svg-titulo { display: block; width: 100%; height: auto; overflow: visible; }
.decor { position: absolute; left: 0; width: 100%; height: auto; pointer-events: none; user-select: none; }

/* textos */
.t-manrope { font-family: var(--f-sans); }
.t-times { font-family: "Times New Roman", Times, "Liberation Serif", serif; }
.t-just { text-align: justify; hyphens: none; }

/* ---------- selos de vidro ---------- */
.selo-vidro {
  position: absolute; border-radius: calc(10.264 * var(--u));
  background: radial-gradient(120% 140% at 0% 0%, rgba(255,255,255,.4), rgba(255,255,255,0));
  -webkit-backdrop-filter: blur(calc(26.57 * var(--u))); backdrop-filter: blur(calc(26.57 * var(--u)));
  box-shadow: calc(2 * var(--u)) calc(5 * var(--u)) calc(4.6 * var(--u)) rgba(0,0,0,.25);
  color: #00302c;
}
.selo-vidro::before { /* borda em degradê branco -> cinza */
  content: ""; position: absolute; inset: 0; border-radius: inherit; padding: max(1px, calc(.98 * var(--u)));
  background: linear-gradient(180deg, #fff, #999);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude; pointer-events: none;
}
.selo-vidro span { position: absolute; white-space: nowrap; line-height: 1; }

/* ========== HERO ========== */
.hero2 { position: relative; background: var(--agua); z-index: 3; }
.hero2-fundo { position: absolute; inset: 0; overflow: hidden; }
.hero2-fundo img { width: 100%; height: 100%; object-fit: cover; }
.hero2 .seta-rolar { display: block; }

/* ========== ATIVIDADES ========== */
.ativ2 { background: #eaf4f1; overflow: hidden; z-index: 1; }
.ativ2-sub { color: #1b332d; text-align: center; margin: 0; }
.ativ2-sub strong { font-weight: 700; }

.trilho {
  list-style: none; margin: 0; display: flex;
  overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth;
  scrollbar-width: none;
}
.trilho::-webkit-scrollbar { display: none; }
.slide { flex: none; scroll-snap-align: start; }
.card-ativ { position: relative; overflow: hidden; background: #d9d9d9; margin: 0; }
.card-ativ .foto {
  position: absolute; inset: 0;
  background-repeat: no-repeat; background-size: 130.02% auto; background-position: 50% 32.8%;
}
.card-ativ .sombra {
  position: absolute; left: 0; right: 0;
  background: linear-gradient(180deg, rgba(0,162,146,0), #173e35); opacity: .54;
}
.card-ativ .caixa { position: absolute; left: 0; background: #fff; }
.card-ativ .barra { position: absolute; left: 0; background: linear-gradient(90deg, #002b27, #00a292); }
.card-ativ h3 { position: absolute; margin: 0; color: #fff; font-weight: 700; letter-spacing: -.05em; line-height: 1; white-space: nowrap; text-transform: uppercase; }
.card-ativ p { position: absolute; margin: 0; color: #155748; letter-spacing: -.04em; }
.card-ativ p strong { font-weight: 700; }

.btn-circ {
  border-radius: 50%; border: 0; cursor: pointer; display: grid; place-items: center; padding: 0;
  background: rgba(255,255,255,.14); color: #2b7f6c;
  transition: background .2s ease, color .2s ease;
}
.btn-circ:hover { background: #2b7f6c; color: #fff; }
.btn-ver-mais {
  text-transform: uppercase;
  display: flex; align-items: center; color: #fff; text-decoration: none; font-weight: 700; white-space: nowrap;
  background: linear-gradient(187deg, #00beab 0%, #00554d 152%);
  transition: filter .2s ease, transform .2s ease;
}
.btn-ver-mais:hover { filter: brightness(1.08); transform: translateY(-1px); }

/* ========== HISTÓRIA ========== */
.hist2 { position: relative; background: linear-gradient(180deg, #00897b, #01675d); color: #fff; z-index: 2; }
.hist2-clip { position: absolute; inset: 0; overflow: hidden; }
.hist2::before, .hist2::after { /* faixas escuras de cima e de baixo */
  content: ""; position: absolute; left: 0; right: 0; z-index: 2; pointer-events: none;
  background: linear-gradient(90deg, #002e29 0%, rgba(0,61,58,0) 47.1%, #003b34 100%);
}
.hist2-texto p { margin: 0; color: #fff; }
.espada { position: absolute; z-index: 4; pointer-events: none; }
.emblema-hist { position: absolute; }

/* ========== MARCOS ========== */
.marcos2 { background: #f7fbfa; overflow: hidden; z-index: 1; }
.marcos2-linha { position: absolute; background: linear-gradient(90deg, #4e9c90, rgba(78,156,144,.15)); }
.marco2-ponto { position: absolute; border-radius: 50%; background: #f7fbfa; }
.marco2-ponto.atual { background: linear-gradient(180deg, #c8102e, #620817); }
.marco2-data { position: absolute; margin: 0; font-family: var(--f-serif); font-weight: 700; color: #173e35; line-height: 1; white-space: nowrap; }
.marco2-txt { position: absolute; margin: 0; color: #4c6660; }

/* ========== PRÓXIMO PASSO ========== */
.prox2 { background: var(--agua) url("../img/chamada-fundo.webp") center / cover no-repeat; color: #fff; overflow: hidden; }
.prox2 p { margin: 0; color: #fff; }
.btn-prox {
  display: flex; align-items: center; background: #fff; color: #173e35; text-decoration: none; font-weight: 700; white-space: nowrap;
  transition: transform .2s ease, box-shadow .2s ease;
}
.btn-prox:hover { transform: translateY(-1px); box-shadow: 0 10px 26px -12px rgba(15,46,40,.6); }
.prox2-arte { position: absolute; }
.prox2-arte img { position: absolute; }

/* ========== PÁGINA ORDEM DA CAVALARIA ========== */
.cav2 { background: #eaf4f1; color: #173e35; overflow: hidden; }
.cav2 p { margin: 0; }
.cav2 h2 { font-family: var(--f-titulo); font-weight: 700; color: #173e35; margin: 0; line-height: 1; text-transform: uppercase; }
.cav2 strong { font-weight: 600; }
.cav2-bloco p + p { margin-top: 0; }
.cav2-bloco .gap { display: block; }

/* =========================================================
   DESKTOP: posições exatas do Figma (unidades de design)
   ========================================================= */
@media (min-width: 1025px) {
  .fig { height: calc(var(--h) * var(--u)); }
  .abs {
    position: absolute;
    left: calc(var(--x) * var(--u)); top: calc(var(--y) * var(--u));
    width: calc(var(--w) * var(--u));
  }
  .abs[style*="--hh"] { height: calc(var(--hh) * var(--u)); }
  .fs { font-size: calc(var(--fs) * var(--u)); line-height: calc(var(--lh) * var(--u)); }

  /* hero */
  .hero2 .emblema-hero { filter: drop-shadow(calc(11 * var(--u)) calc(14 * var(--u)) calc(9.15 * var(--u)) rgba(0,0,0,.25)); }
  .hero2 .seta-rolar { position: absolute; z-index: 5; }

  /* atividades */
  .ativ2 .decor { top: 0; }
  .ativ2 .carrossel { position: absolute; left: 0; right: 0; top: calc(414 * var(--u)); }
  .trilho { gap: calc(20 * var(--u)); padding: 0 calc(233 * var(--u)); scroll-padding-inline: calc(233 * var(--u)); }
  .slide { width: calc(453 * var(--u)); }
  .card-ativ { height: calc(609 * var(--u)); border-radius: calc(22 * var(--u)); }
  .card-ativ .sombra { top: calc(394 * var(--u)); height: calc(223 * var(--u)); }
  .card-ativ .caixa { top: calc(404 * var(--u)); width: calc(326 * var(--u)); height: calc(132 * var(--u)); border-bottom-right-radius: calc(24 * var(--u)); box-shadow: 0 calc(4 * var(--u)) calc(4 * var(--u)) rgba(0,0,0,.25); }
  .card-ativ .barra { top: calc(390 * var(--u)); width: calc(326 * var(--u)); height: calc(39 * var(--u)); border-bottom-right-radius: calc(19.5 * var(--u)); }
  .card-ativ h3 { left: calc(23 * var(--u)); top: calc(399.5 * var(--u)); font-size: calc(20 * var(--u)); }
  .card-ativ p { left: calc(23 * var(--u)); top: calc(434 * var(--u)); width: calc(298 * var(--u)); font-size: calc(13 * var(--u)); line-height: calc(15 * var(--u)); }
  .btn-circ { position: absolute; width: calc(80.1 * var(--u)); height: calc(80.1 * var(--u)); top: calc(1082.8 * var(--u)); box-shadow: inset 0 0 0 calc(2 * var(--u)) #2b7f6c; }
  .btn-circ.prox { box-shadow: inset 0 0 0 calc(1.5 * var(--u)) #2b7f6c; }
  .btn-circ svg { width: calc(12 * var(--u)); height: calc(22 * var(--u)); }
  .btn-ver-mais { position: absolute; left: calc(511.1 * var(--u)); top: calc(1080 * var(--u)); width: calc(389.8 * var(--u)); height: calc(85.5 * var(--u)); border-radius: calc(42.75 * var(--u)); font-size: calc(24 * var(--u)); padding-left: calc(41 * var(--u)); gap: calc(19 * var(--u)); }
  .btn-ver-mais svg { width: calc(41 * var(--u)); height: calc(41 * var(--u)); flex: none; }

  /* história */
  .hist2 { overflow-x: clip; overflow-y: visible; }
  .hist2::before { top: 0; height: calc(9 * var(--u)); }
  .hist2::after { top: calc(1394.4 * var(--u)); height: calc(9 * var(--u)); }
  .hist2 .decor { top: 0; }
  .hist2-texto p + p { margin-top: calc(25 * var(--u)); }
  .hist2-texto p.junto { margin-top: 0; }
  .emblema-hist.antigo { filter: drop-shadow(calc(13 * var(--u)) calc(18 * var(--u)) calc(21 * var(--u)) rgba(0,0,0,.25)); }
  .emblema-hist.atual { filter: drop-shadow(calc(13 * var(--u)) calc(15 * var(--u)) calc(18.85 * var(--u)) rgba(0,0,0,.25)); }

  /* marcos */
  .marcos2 .decor { top: 0; }
  .marcos2-linha { left: calc(128.2 * var(--u)); top: calc(295.5 * var(--u)); width: calc(1181.6 * var(--u)); height: calc(2 * var(--u)); }
  .marco2-ponto { top: calc(281.5 * var(--u)); width: calc(30 * var(--u)); height: calc(30 * var(--u)); box-shadow: inset 0 0 0 calc(3 * var(--u)) #4e9c90; }
  .marco2-ponto.atual { box-shadow: inset 0 0 0 calc(3 * var(--u)) #c8102e; }
  .marco2-data { font-size: calc(30.4 * var(--u)); }

  /* próximo passo */
  .btn-prox { border-radius: calc(36 * var(--u)); font-size: calc(16.56 * var(--u)); padding-left: calc(43.3 * var(--u)); gap: calc(17 * var(--u)); }
  .btn-prox svg { width: calc(17 * var(--u)); height: calc(17 * var(--u)); flex: none; }
  .prox2-arte { filter: drop-shadow(calc(4 * var(--u)) calc(11 * var(--u)) calc(9.05 * var(--u)) rgba(0,0,0,.25)); }

  /* página da cavalaria */
  .cav2 .decor { top: 0; }
  .cav2-bloco p.gap-antes { margin-top: calc(25 * var(--u)); }
  .mob-only { display: none !important; }
}

/* telas muito largas: o layout para de crescer em 1920px e fica centralizado */
/* acima de 1440px o conteúdo fica no tamanho do layout, centralizado, com espaço nas laterais */
@media (min-width: 1025px) {
  .fig > .palco { width: calc(1440 * var(--u)); margin-inline: auto; }
  .hero2::after { /* faixa brilhante no pé da hero, de ponta a ponta */
    content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: calc(6 * var(--u)); z-index: 4;
    background: linear-gradient(90deg, #00dec4 0%, rgba(0,190,180,0) 50%, #00dec4 100%);
  }
  .decor-larga { left: calc(-240 * var(--u)); width: calc(1920 * var(--u)); }
  .ativ2 .carrossel { left: calc((1440 * var(--u) - var(--vw)) / 2); right: auto; width: var(--vw); }
  .ativ2 .trilho {
    padding: 0 calc((var(--vw) - 1440 * var(--u)) / 2 + 233 * var(--u));
    scroll-padding-inline: calc((var(--vw) - 1440 * var(--u)) / 2 + 233 * var(--u));
  }
}
.palco { position: relative; height: 100%; }

/* =========================================================
   TABLET E CELULAR: mesmo conteúdo, empilhado
   ========================================================= */
@media (max-width: 1024px) {
  .desk-only { display: none !important; }
  .fig { padding-block: 4rem; }
  .palco { display: flex; flex-direction: column; gap: 1.6rem; width: min(100% - 2.5rem, 720px); margin-inline: auto; }
  .abs, .fs { position: relative; }
  .decor { top: 0; height: 100%; object-fit: cover; object-position: left top; opacity: .7; }

  .hero2 { padding-block: 2.5rem 4rem; }
  .hero2 .palco { align-items: center; text-align: center; }
  .hero2 .hero-titulo-svg { order: 2; width: min(100%, 460px); }
  .hero2 .hero-emblema-wrap { order: 1; position: relative; width: min(78%, 360px); }
  .hero2 .emblema-hero { width: 100%; filter: drop-shadow(8px 10px 8px rgba(0,0,0,.25)); }
  .hero2 .selo-vidro { font-size: 11px; }
  .hero2 .selo-melhores { left: -14%; top: 18%; width: 136px; height: 36px; }
  .hero2 .selo-anos { right: -12%; top: 60%; width: 112px; height: 36px; }
  .hero2 .seta-rolar { display: none; }

  .ativ2-titulo { width: min(100%, 520px); margin-inline: auto; }
  .ativ2-sub { font-size: 1.05rem; line-height: 1.5; }
  .ativ2 .carrossel { width: 100vw; margin-left: calc(50% - 50vw); }
  .trilho { gap: 16px; padding: 0 20px; scroll-padding-inline: 20px; }
  .slide { width: min(78vw, 380px); }
  .card-ativ { aspect-ratio: 453 / 609; border-radius: 18px; }
  .card-ativ .sombra { top: 64.7%; height: 36.6%; }
  .card-ativ .barra { top: 64%; width: 72%; height: 6.4%; border-bottom-right-radius: 16px; }
  .card-ativ .caixa { top: 66.3%; width: 72%; height: 21.7%; border-bottom-right-radius: 18px; box-shadow: 0 3px 4px rgba(0,0,0,.25); }
  .card-ativ h3 { left: 5%; top: 65.6%; font-size: clamp(12px, 3.6vw, 17px); }
  .card-ativ p { left: 5%; top: 71.4%; width: 64%; font-size: clamp(8px, 2.4vw, 11px); line-height: 1.15; }
  .controles-ativ { display: flex; align-items: center; justify-content: center; gap: 14px; }
  .btn-circ { position: static; width: 52px; height: 52px; box-shadow: inset 0 0 0 2px #2b7f6c; }
  .btn-circ svg { width: 10px; height: 18px; }
  .btn-ver-mais { position: static; height: 56px; border-radius: 28px; padding: 0 22px; gap: 12px; font-size: 1rem; }
  .btn-ver-mais svg { width: 26px; height: 26px; }

  .hist2 { padding-top: 3rem; }
  .hist2::before { top: 0; height: 9px; }
  .hist2::after { bottom: 0; height: 9px; }
  .hist2 .decor { display: none; }
  .hist2-titulo { width: min(100%, 360px); }
  .hist2-texto { font-size: 1.05rem; line-height: 1.6; text-align: left; }
  .hist2-texto p + p { margin-top: 1.1em; }
  .hist2-texto p.junto { margin-top: 0; }
  .espada { display: none; }
  .emblemas-hist { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
  .emblema-hist { position: static; width: 100%; filter: drop-shadow(6px 8px 10px rgba(0,0,0,.25)); }
  .emblemas-hist .selo-vidro { font-size: 13px; width: 100px; height: 40px; }
  .emblemas-hist .rotulo-antigo { left: 0; top: 30%; }
  .emblemas-hist .rotulo-atual { left: 50%; top: 30%; }

  .marcos2-titulo { width: min(100%, 520px); }
  .marcos2-lista { display: grid; gap: 2rem; position: relative; padding-left: 3rem; }
  .marcos2-linha { left: 14px; top: 0; bottom: 0; width: 2px; background: linear-gradient(180deg, #4e9c90, rgba(78,156,144,.15)); }
  .marco2 { position: relative; }
  .marco2-ponto { left: -3rem !important; top: 0; width: 30px; height: 30px; box-shadow: inset 0 0 0 3px #4e9c90; }
  .marco2-ponto.atual { box-shadow: inset 0 0 0 3px #c8102e; }
  .marco2-data { position: static; font-size: 1.6rem; margin-bottom: .4rem; }
  .marco2-txt { position: static; font-size: 1rem; line-height: 1.5; }

  .prox2 .palco { text-align: left; }
  .prox2-titulo { width: min(100%, 520px); }
  .prox2 p { font-size: 1.05rem; line-height: 1.55; }
  .btn-prox { align-self: flex-start; height: 56px; border-radius: 28px; padding: 0 26px; gap: 12px; font-size: .95rem; }
  .btn-prox svg { width: 16px; height: 16px; }
  .prox2-arte { order: -1; position: relative; width: min(100%, 420px); aspect-ratio: 508.5 / 428; filter: drop-shadow(4px 10px 9px rgba(0,0,0,.25)); }
  .prox2-arte img { height: auto; }
  .prox2-arte .coroa { left: 0; top: 2.4%; width: 66.2%; }
  .prox2-arte .insig { left: 34.7%; top: 0; width: 65.3%; }

  .cav2-titulo { width: min(100%, 520px); margin-inline: auto; }
  .cav2 .insig-cav { width: min(60%, 280px); margin-inline: auto; }
  .cav2 h2 { font-size: 1.6rem; margin-top: .8rem; }
  .cav2-bloco { font-size: 1.05rem; line-height: 1.6; }
  .cav2-bloco p.gap-antes { margin-top: 1.1em; }
}
@media (max-width: 640px) {
  .fig { padding-block: 3rem; }
}

/* ajustes do celular para selos, textos e linha do tempo */
@media (max-width: 1024px) {
  .selo-vidro { position: absolute !important; width: auto !important; height: auto !important; padding: 6px 10px; text-align: left; }
  .selo-vidro span { position: static !important; display: block; font-size: inherit !important; line-height: 1.15 !important; }
  .selo-anos { display: flex; align-items: center; gap: 6px; }
  .selo-anos span:first-child { font-size: 2em !important; line-height: 1 !important; }
  .emblemas-hist .selo-vidro { position: static !important; justify-self: center; text-align: center; font-size: 13px; }
  .hist2-texto, .cav2-bloco { letter-spacing: -.01em !important; }
  .marco2-ponto { position: absolute; }
  .marcos2 .marcos2-lista { padding-left: 3rem; }
}


@media (min-width: 1025px) {
  .hero-emblema-wrap, .emblemas-hist, .controles-ativ, .marcos2-lista, .marco2 { display: contents; }
  .marcos2-lista { list-style: none; }
  .marco2-ponto { position: absolute; }
  .marcos2-linha { list-style: none; }
}
.marcos2-lista { list-style: none; margin: 0; padding: 0; }
/* ---------- Chamada do jogo (estilo 8-bit) ---------- */
.jogo-chamada {
  --px: 4px;
  position: relative; overflow: hidden; color: #e4decb;
  background:
    radial-gradient(2px 2px at 12% 22%, #fff 99%, transparent),
    radial-gradient(2px 2px at 28% 70%, #fff 99%, transparent),
    radial-gradient(3px 3px at 44% 18%, #ffe27a 99%, transparent),
    radial-gradient(2px 2px at 63% 82%, #fff 99%, transparent),
    radial-gradient(2px 2px at 81% 30%, #fff 99%, transparent),
    radial-gradient(3px 3px at 92% 64%, #ffe27a 99%, transparent),
    radial-gradient(2px 2px at 6% 88%, #fff 99%, transparent),
    linear-gradient(180deg, #002451 0%, #00434a 100%);
  padding-block: clamp(4rem, 8vw, 6.5rem);
  border-top: var(--px) solid #000621;
}
.jogo-chamada .container {
  display: grid; grid-template-columns: 1.2fr .8fr; gap: 3rem; align-items: center;
}
.jogo-rotulo {
  font-family: "Press Start 2P", monospace; font-size: .7rem; color: #00c487;
  margin: 0 0 1.2rem; line-height: 1.6;
}
.jogo-titulo {
  font-family: "Press Start 2P", monospace; font-weight: 400;
  font-size: clamp(1.6rem, 3.6vw, 2.8rem); line-height: 1.35; margin: 0 0 1.4rem;
  color: #ffbd35; text-shadow: var(--px) var(--px) 0 #7e1024;
}
.jogo-chamada-texto p:not(.jogo-rotulo) { max-width: 46ch; margin: 0 0 2.2rem; font-size: 1.1rem; }
.btn-pixel {
  display: inline-flex; align-items: center; gap: .9rem;
  font-family: "Press Start 2P", monospace; font-size: clamp(.85rem, 1.4vw, 1.05rem);
  color: #fff; text-decoration: none; text-transform: uppercase;
  padding: 1.3rem 2rem; background: #cb1f2a;
  box-shadow:
    0 calc(-1 * var(--px)) 0 0 #000621, 0 var(--px) 0 0 #000621,
    calc(-1 * var(--px)) 0 0 0 #000621, var(--px) 0 0 0 #000621,
    inset 0 var(--px) 0 0 #f4493f, inset 0 calc(-1 * var(--px)) 0 0 #7e1024,
    calc(2 * var(--px)) calc(3 * var(--px)) 0 0 rgba(0,6,33,.6);
  margin: var(--px);
  transition: transform .1s steps(1), background .1s steps(1);
}
.btn-pixel:hover { background: #f4493f; transform: translate(-2px, -2px); }
.btn-pixel:active { transform: translate(2px, 2px); }
.btn-pixel span { color: #ffe27a; animation: piscar 1s steps(1) infinite; }
@keyframes piscar { 50% { opacity: 0; } }
.jogo-chamada-arte img {
  width: min(100%, 320px); margin-inline: auto;
  image-rendering: pixelated; image-rendering: crisp-edges;
  filter: drop-shadow(8px 8px 0 rgba(0,6,33,.6));
  animation: flutuar 5s steps(6) infinite;
}

/* ---------- Janela do jogo ---------- */
.jogo-modal {
  position: fixed; inset: 0; z-index: 100; background: #002451;
  display: flex; flex-direction: column;
}
.jogo-modal[hidden] { display: none; }
.jogo-barra {
  flex: none; display: flex; justify-content: space-between; align-items: center; gap: 1rem;
  padding: .7rem 1.25rem; background: #000621; color: #ffbd35;
  font-family: "Press Start 2P", monospace; font-size: .7rem;
  padding-top: calc(.7rem + env(safe-area-inset-top, 0px));
}
.jogo-fechar {
  font-family: "Press Start 2P", monospace; font-size: .7rem; cursor: pointer;
  background: #cb1f2a; color: #fff; border: 0; padding: .7rem 1rem;
  box-shadow: inset 0 3px 0 0 #f4493f, inset 0 -3px 0 0 #7e1024;
}
.jogo-fechar:hover { background: #f4493f; }
.jogo-frame { flex: 1; width: 100%; border: 0; display: block; background: #002451; }
body.jogo-aberto { overflow: hidden; }

/* ---------- Rodapé ---------- */
.rodape { background: var(--noite); color: #b9d6cf; font-size: .95rem; }
.rodape .container {
  display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 2rem; padding-block: 3.5rem 2rem;
}
.rodape img { height: 26px; width: auto; margin-bottom: 1rem; }
.rodape h4 { color: #fff; font-size: 1rem; margin: 0 0 .8rem; }
.rodape ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .4rem; }
.rodape a { text-decoration: none; }
.rodape a:hover { color: var(--menta); }
.rodape .lema { font-family: var(--f-serif); font-style: italic; font-size: 1.15rem; color: #fff; }
.rodape-base {
  border-top: 1px solid rgba(255,255,255,.08);
  padding-block: 1.2rem; font-size: .85rem;
}
.rodape-base .container {
  display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; padding: 0;
}
.rodape-base a { color: #fff; font-weight: 700; }
.credito { display: inline-flex; align-items: center; gap: .6rem; color: #b9d6cf !important; font-weight: 400 !important; }
.credito img { height: 28px; width: auto; margin: 0; opacity: .9; transition: opacity .2s ease; }
.credito:hover img { opacity: 1; }


/* ---------- Responsivo (menu, jogo e rodapé) ---------- */
@media (max-width: 1320px) {
  .menu ul { gap: 1.1rem; }
  .menu a:not(.btn) { font-size: .92rem; }
  .menu .btn { padding: .7rem 1.1rem; font-size: .82rem; }
}
@media (max-width: 1180px) {
  .menu-toggle { display: block; }
  .menu {
    position: fixed; inset: var(--menu-h) 0 auto 0;
    background: var(--escuro); flex-direction: column; align-items: stretch; gap: 1.5rem;
    padding: 1.5rem 1.5rem 2rem; box-shadow: 0 20px 30px rgba(0,0,0,.25);
    transform: translateY(-110%); visibility: hidden;
    transition: transform .3s ease, visibility .3s;
  }
  .menu.aberto { transform: translateY(0); visibility: visible; }
  .menu ul { flex-direction: column; gap: 0; }
  .menu ul a:not(.btn) { display: block; padding: .9rem 0; font-size: 1.1rem; border-bottom: 1px solid rgba(255,255,255,.08); }
  .menu a:not(.btn)::after { display: none; }
  .menu .btn { justify-content: center; }
}
@media (max-width: 1024px) {
  .jogo-chamada .container { grid-template-columns: 1fr; text-align: center; }
  .jogo-chamada-texto p:not(.jogo-rotulo) { margin-inline: auto; }
  .jogo-chamada-arte { order: -1; }
  .jogo-chamada-arte img { width: 200px; }
  .rodape .container { grid-template-columns: 1fr 1fr; }
  .rodape .container > :first-child { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
  :root { --menu-h: 72px; }
  .logo img { height: 24px; }
  .rodape .container { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
  html { scroll-behavior: auto; }
}
html, body { overflow-x: clip; }

/* =========================================================
   PÁGINA DE CONTATO
   ========================================================= */
.ct-palco { position: relative; width: min(100% - 2.5rem, 1184px); margin-inline: auto; }
.lockup { margin: 0; display: flex; flex-direction: column; line-height: .95; }
.lockup .lk-script {
  font-family: var(--f-script); font-weight: 400; text-transform: none; letter-spacing: normal;
  width: fit-content; position: relative; z-index: 1;
  background: linear-gradient(100deg, #00a292 0%, #00756a 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
  padding: .2em .35em .3em .3em; margin: 0 0 -.62em -.3em; line-height: 1;
}
.lockup .lk-bloco { font-family: var(--f-titulo); font-weight: 700; text-transform: uppercase; letter-spacing: -.02em; color: #173e35; }
.lockup-centro { align-items: center; text-align: center; }
.lockup-centro .lk-script { margin-left: auto; margin-right: auto; }
.lockup-claro .lk-script { background-image: linear-gradient(100deg, #7fffe4 0%, #57b8a4 100%); }
.lockup-claro .lk-bloco { color: #fff; text-shadow: 2px 5px 7px rgba(0,0,0,.25); }

/* topo + líderes */
.ct-topo { position: relative; overflow: hidden; background: #eaf4f1; color: #173e35; }
.ct-topo .decor { position: absolute; }
.ct-sub { margin: 0 auto; text-align: center; color: #1b332d; font-family: var(--f-sans); }
.ct-sub strong { font-weight: 700; }
.lideres { display: grid; grid-template-columns: repeat(3, 1fr); }
.lider {
  position: relative; overflow: hidden; color: #fff; display: flex; flex-direction: column;
  background: linear-gradient(160deg, #00a292 0%, #00897b 35%, #01675d 100%);
}
.lider::after { /* faixa escura no topo, como na seção da história */
  content: ""; position: absolute; left: 0; right: 0; top: 0;
  background: linear-gradient(90deg, #002e29 0%, rgba(0,61,58,0) 47.1%, #003b34 100%);
}
.lider-marca { position: absolute; pointer-events: none; height: auto; }
.lider-cargo {
  position: relative; align-self: flex-start; color: #00302c; text-transform: uppercase; letter-spacing: -.02em; line-height: 1.15;
  background: radial-gradient(120% 140% at 0% 0%, rgba(255,255,255,.95), rgba(255,255,255,.72));
  box-shadow: 2px 5px 4.6px rgba(0,0,0,.25);
}
.lider-nome { position: relative; margin: 0; font-family: var(--f-serif); font-weight: 700; line-height: 1.05; }
.lider-desc { position: relative; margin: 0; color: #d9f3ee; font-family: var(--f-sans); }
.lider-fone { position: relative; display: inline-flex; align-items: center; color: #fff; text-decoration: none; font-family: var(--f-sans); font-weight: 800; letter-spacing: -.01em; margin-top: auto; }
.lider-fone svg { flex: none; color: #7fffe4; }
.lider-acoes { position: relative; display: flex; }
.btn-whats, .btn-ligar, .btn-email, .btn-copiar, .btn-enviar {
  display: inline-flex; align-items: center; justify-content: center; font-family: var(--f-sans); font-weight: 700;
  text-decoration: none; text-transform: uppercase; border: 0; cursor: pointer; white-space: nowrap;
  transition: transform .2s ease, filter .2s ease, background .2s ease, color .2s ease;
}
.btn-whats { background: #fff; color: #173e35; flex: 1; }
.btn-whats svg { color: #25d366; }
.btn-ligar { background: transparent; color: #fff; box-shadow: inset 0 0 0 1.5px rgba(255,255,255,.75); }
.btn-whats:hover, .btn-email:hover, .btn-enviar:hover { transform: translateY(-1px); filter: brightness(1.05); }
.btn-ligar:hover { background: #fff; color: #173e35; }

.ct-email {
  position: relative; display: flex; align-items: center; background: rgba(255,255,255,.7);
  -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
  box-shadow: inset 0 0 0 1px rgba(43,127,108,.25), 0 24px 40px -34px rgba(23,62,53,.6);
}
.ct-email-icone { display: grid; place-items: center; flex: none; color: #fff; border-radius: 50%; background: linear-gradient(187deg, #00beab 0%, #00554d 152%); }
.ct-email-texto { display: flex; flex-direction: column; flex: 1; min-width: 0; }
.ct-email-rotulo { color: #2b7f6c; text-transform: uppercase; letter-spacing: -.02em; }
.ct-email-end { color: #173e35; text-decoration: none; font-family: var(--f-serif); font-weight: 700; overflow-wrap: anywhere; }
.ct-email-end:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.ct-email-acoes { display: flex; }
.btn-email { color: #fff; background: linear-gradient(187deg, #00beab 0%, #00554d 152%); }
.btn-copiar { background: transparent; color: #2b7f6c; box-shadow: inset 0 0 0 1.5px #2b7f6c; }
.btn-copiar:hover { background: #2b7f6c; color: #fff; }

/* mensagem rápida */
.ct-msg { position: relative; overflow: hidden; color: #fff; background: linear-gradient(180deg, #00897b, #01675d); }
.ct-msg::before, .ct-msg::after {
  content: ""; position: absolute; left: 0; right: 0; z-index: 1;
  background: linear-gradient(90deg, #002e29 0%, rgba(0,61,58,0) 47.1%, #003b34 100%);
}
.ct-msg::before { top: 0; } .ct-msg::after { bottom: 0; }
.ct-msg-marca { position: absolute; pointer-events: none; height: auto; }
.ct-msg-grade { display: grid; grid-template-columns: 1fr 1.05fr; align-items: center; }
.ct-msg-texto p { color: #fff; font-family: var(--f-sans); margin: 0; }
.ct-msg-lema { font-style: italic; color: #bff5ea !important; }
.ct-form {
  position: relative; display: grid; color: #173e35;
  background: radial-gradient(120% 140% at 0% 0%, rgba(255,255,255,.97), rgba(255,255,255,.88));
  box-shadow: 13px 18px 30px rgba(0,0,0,.25);
}
.ct-form label { display: grid; font-family: var(--f-sans); font-weight: 700; color: #173e35; }
.ct-form input, .ct-form select, .ct-form textarea {
  font: inherit; font-weight: 500; color: #1b332d; background: #f7fbfa; border: 1.5px solid rgba(43,127,108,.3);
  outline: none; width: 100%; transition: border-color .2s ease, box-shadow .2s ease;
}
.ct-form textarea { resize: vertical; }
.ct-form input:focus, .ct-form select:focus, .ct-form textarea:focus { border-color: #00a292; box-shadow: 0 0 0 3px rgba(0,162,146,.18); }
.ct-form-aviso { margin: 0; color: #c8102e; font-family: var(--f-sans); font-weight: 600; min-height: 1.2em; }
.btn-enviar { color: #fff; background: linear-gradient(187deg, #00beab 0%, #00554d 152%); justify-self: start; }

/* quero ser investido */
.ct-invest { position: relative; overflow: hidden; color: #fff; background: var(--agua) url("../img/chamada-fundo.webp") center / cover no-repeat; }
.ct-invest-grade { display: grid; grid-template-columns: 1.1fr .9fr; align-items: center; }
.ct-invest-texto p { margin: 0; color: #fff; font-family: var(--f-sans); }
.requisitos { list-style: none; margin: 0; padding: 0; display: grid; font-family: var(--f-sans); }
.requisitos li { display: flex; align-items: flex-start; color: #fff; }
.requisitos span {
  flex: none; display: grid; place-items: center; border-radius: 50%; color: #173e35; font-weight: 800; background: #fff;
}
.btn-invest { align-self: flex-start; width: fit-content; }
.btn-invest svg { color: #25d366; }
.ct-invest-arte { position: relative; filter: drop-shadow(4px 11px 9px rgba(0,0,0,.25)); }
.ct-invest-arte img { position: absolute; height: auto; }
.ct-invest-arte .coroa { left: 0; top: 2.4%; width: 66.2%; }
.ct-invest-arte .insig { left: 34.7%; top: 0; width: 65.3%; }

/* ---- desktop: medidas do layout de 1440 ---- */
@media (min-width: 1025px) {
  .ct-palco { width: calc(1184 * var(--u)); }
  .ct-topo { padding: calc(64 * var(--u)) 0 calc(110 * var(--u)); }
  .ct-topo .lockup { font-size: calc(85 * var(--u)); }
  .lockup .lk-script { font-size: 1.3em; }
  .ct-sub { max-width: calc(780 * var(--u)); font-size: calc(21.6 * var(--u)); line-height: calc(30 * var(--u)); margin-top: calc(24 * var(--u)); }
  .lideres { gap: calc(24 * var(--u)); margin-top: calc(64 * var(--u)); }
  .lider { min-height: calc(430 * var(--u)); border-radius: calc(22 * var(--u)); padding: calc(40 * var(--u)) calc(34 * var(--u)) calc(34 * var(--u)); gap: calc(16 * var(--u)); box-shadow: calc(13 * var(--u)) calc(18 * var(--u)) calc(30 * var(--u)) rgba(0,0,0,.22); }
  .lider::after { height: calc(9 * var(--u)); }
  .lider-marca { width: calc(270 * var(--u)); right: calc(-70 * var(--u)); bottom: calc(-60 * var(--u)); }
  .lider-cargo { font-size: calc(14.5 * var(--u)); padding: calc(8 * var(--u)) calc(11 * var(--u)); border-radius: calc(10.26 * var(--u)); white-space: nowrap; }
  .lider-nome { font-size: calc(36 * var(--u)); margin-top: calc(10 * var(--u)); }
  .lider-desc { font-size: calc(16 * var(--u)); line-height: calc(23 * var(--u)); max-width: calc(280 * var(--u)); }
  .lider-fone { font-size: calc(26 * var(--u)); gap: calc(10 * var(--u)); }
  .lider-fone svg { width: calc(22 * var(--u)); height: calc(22 * var(--u)); }
  .lider-acoes { gap: calc(12 * var(--u)); }
  .btn-whats, .btn-ligar { height: calc(56 * var(--u)); border-radius: calc(28 * var(--u)); font-size: calc(15 * var(--u)); gap: calc(9 * var(--u)); padding: 0 calc(22 * var(--u)); }
  .btn-whats svg, .btn-ligar svg { width: calc(20 * var(--u)); height: calc(20 * var(--u)); }

  .ct-email { margin-top: calc(24 * var(--u)); border-radius: calc(22 * var(--u)); padding: calc(28 * var(--u)) calc(34 * var(--u)); gap: calc(26 * var(--u)); }
  .ct-email-icone { width: calc(76 * var(--u)); height: calc(76 * var(--u)); }
  .ct-email-icone svg { width: calc(34 * var(--u)); height: calc(34 * var(--u)); }
  .ct-email-rotulo { font-size: calc(16 * var(--u)); }
  .ct-email-end { font-size: calc(38 * var(--u)); margin-top: calc(2 * var(--u)); }
  .ct-email-acoes { gap: calc(12 * var(--u)); }
  .btn-email, .btn-copiar { height: calc(60 * var(--u)); border-radius: calc(30 * var(--u)); font-size: calc(15 * var(--u)); gap: calc(9 * var(--u)); padding: 0 calc(26 * var(--u)); }
  .btn-email svg, .btn-copiar svg { width: calc(20 * var(--u)); height: calc(20 * var(--u)); }

  .ct-msg { padding: calc(120 * var(--u)) 0; }
  .ct-msg::before, .ct-msg::after { height: calc(9 * var(--u)); }
  .ct-msg-marca { width: calc(560 * var(--u)); left: calc(-90 * var(--u)); top: calc(30 * var(--u)); }
  .ct-msg-grade { gap: calc(80 * var(--u)); }
  .ct-msg .lockup { font-size: calc(96 * var(--u)); }
  .ct-msg .lockup .lk-script { font-size: 1.04em; }
  .ct-msg-texto p { font-size: calc(20 * var(--u)); line-height: calc(30 * var(--u)); margin-top: calc(26 * var(--u)); max-width: calc(500 * var(--u)); }
  .ct-msg-lema { font-size: calc(28 * var(--u)) !important; }
  .ct-form { border-radius: calc(22 * var(--u)); padding: calc(40 * var(--u)); gap: calc(18 * var(--u)); }
  .ct-form label { font-size: calc(15 * var(--u)); gap: calc(8 * var(--u)); }
  .ct-form input, .ct-form select, .ct-form textarea { font-size: calc(17 * var(--u)); padding: calc(14 * var(--u)) calc(16 * var(--u)); border-radius: calc(12 * var(--u)); }
  .ct-form-aviso { font-size: calc(14 * var(--u)); }
  .btn-enviar { height: calc(64 * var(--u)); border-radius: calc(32 * var(--u)); font-size: calc(17 * var(--u)); gap: calc(10 * var(--u)); padding: 0 calc(32 * var(--u)); }
  .btn-enviar svg { width: calc(22 * var(--u)); height: calc(22 * var(--u)); }

  .ct-invest { min-height: calc(675 * var(--u)); padding: calc(80 * var(--u)) 0; display: flex; align-items: center; }
  .ct-invest .lockup { font-size: calc(72 * var(--u)); }
  .ct-invest .lockup .lk-script { font-size: 1.33em; }
  .ct-invest-texto { display: flex; flex-direction: column; gap: calc(22 * var(--u)); }
  .ct-invest-texto p { font-size: calc(18.72 * var(--u)); line-height: calc(29 * var(--u)); margin-top: calc(6 * var(--u)); max-width: calc(600 * var(--u)); }
  .requisitos { gap: calc(14 * var(--u)); font-size: calc(18 * var(--u)); line-height: calc(26 * var(--u)); max-width: calc(600 * var(--u)); }
  .requisitos li { gap: calc(14 * var(--u)); }
  .requisitos span { width: calc(30 * var(--u)); height: calc(30 * var(--u)); font-size: calc(15 * var(--u)); }
  .btn-invest { height: calc(72 * var(--u)); padding: 0 calc(40 * var(--u)) 0 calc(36 * var(--u)) !important; margin-top: calc(8 * var(--u)); }
  .btn-invest svg { width: calc(22 * var(--u)) !important; height: calc(22 * var(--u)) !important; }
  .ct-invest-arte { width: calc(508.5 * var(--u)); height: calc(428 * var(--u)); justify-self: end; }
}

/* ---- celular e tablet ---- */
@media (max-width: 1024px) {
  .ct-topo { padding: 3rem 0 4rem; }
  .ct-topo .lockup { font-size: clamp(2.8rem, 13vw, 4.2rem); }
  .lockup .lk-script { font-size: 1.45em; }
  .ct-sub { font-size: 1.05rem; line-height: 1.5; margin-top: 1rem; max-width: 34em; }
  .lideres { grid-template-columns: 1fr; gap: 16px; margin-top: 2.2rem; }
  .lider { border-radius: 18px; padding: 30px 24px 24px; gap: 12px; box-shadow: 8px 12px 22px rgba(0,0,0,.2); }
  .lider::after { height: 7px; }
  .lider-marca { width: 190px; right: -50px; bottom: -40px; }
  .lider-cargo { font-size: 13px; padding: 7px 10px; border-radius: 9px; }
  .lider-nome { font-size: 1.9rem; }
  .lider-desc { font-size: .95rem; line-height: 1.45; }
  .lider-fone { font-size: 1.35rem; gap: 8px; margin-top: 6px; }
  .lider-fone svg { width: 19px; height: 19px; }
  .lider-acoes { gap: 10px; }
  .btn-whats, .btn-ligar { height: 50px; border-radius: 25px; font-size: .85rem; gap: 8px; padding: 0 18px; }
  .btn-whats svg, .btn-ligar svg { width: 18px; height: 18px; }
  .ct-email { margin-top: 16px; border-radius: 18px; padding: 22px; gap: 16px; flex-wrap: wrap; }
  .ct-email-icone { width: 56px; height: 56px; }
  .ct-email-icone svg { width: 26px; height: 26px; }
  .ct-email-rotulo { font-size: 13px; }
  .ct-email-end { font-size: 1.35rem; }
  .ct-email-acoes { gap: 10px; width: 100%; }
  .btn-email, .btn-copiar { height: 50px; border-radius: 25px; font-size: .85rem; gap: 8px; padding: 0 18px; flex: 1; }
  .btn-email svg, .btn-copiar svg { width: 18px; height: 18px; }
  .ct-msg { padding: 4rem 0; }
  .ct-msg::before, .ct-msg::after { height: 7px; }
  .ct-msg-marca { width: 360px; right: -120px; top: 20px; }
  .ct-msg-grade { grid-template-columns: 1fr; gap: 2rem; }
  .ct-msg .lockup { font-size: clamp(2.8rem, 13vw, 4.2rem); }
  .ct-msg-texto p { font-size: 1.05rem; line-height: 1.55; margin-top: 1rem; }
  .ct-msg-lema { font-size: 1.4rem !important; }
  .ct-form { border-radius: 18px; padding: 24px 20px; gap: 14px; }
  .ct-form label { font-size: .9rem; gap: 6px; }
  .ct-form input, .ct-form select, .ct-form textarea { font-size: 16px; padding: 12px 14px; border-radius: 10px; }
  .ct-form-aviso { font-size: .85rem; }
  .btn-enviar { height: 54px; border-radius: 27px; font-size: .95rem; gap: 10px; padding: 0 26px; width: 100%; }
  .btn-enviar svg { width: 20px; height: 20px; }
  .ct-invest { padding: 4rem 0; }
  .ct-invest-grade { grid-template-columns: 1fr; gap: 2rem; }
  .ct-invest .lockup { font-size: clamp(2.6rem, 12vw, 4rem); }
  .ct-invest .lockup .lk-script { font-size: 1.3em; }
  .ct-invest-texto { display: flex; flex-direction: column; gap: 1rem; }
  .ct-invest-texto p { font-size: 1.05rem; line-height: 1.55; }
  .requisitos { gap: 12px; font-size: 1rem; line-height: 1.5; }
  .requisitos li { gap: 12px; }
  .requisitos span { width: 28px; height: 28px; font-size: 14px; }
  .btn-invest { height: 56px; border-radius: 28px; padding: 0 22px !important; gap: 10px; font-size: .9rem; }
  .btn-invest svg { width: 20px !important; height: 20px !important; }
  .ct-invest-arte { order: -1; width: min(100%, 420px); aspect-ratio: 508.5 / 428; margin-inline: auto; }
}
@media (min-width: 1025px) { .ct-topo .decor-larga { left: calc((var(--vw) - 1920 * var(--u)) / 2); } }

/* =========================================================
   GALERIA DE ICCs
   ========================================================= */
.gal-topo { position: relative; overflow: hidden; background: #eaf4f1; color: #173e35; }
.gal-topo .decor { position: absolute; }
.gal-numeros { list-style: none; margin: 0; padding: 0; display: flex; justify-content: center; }
.gal-numeros li {
  display: flex; align-items: center; color: #00302c;
  background: radial-gradient(120% 140% at 0% 0%, rgba(255,255,255,.95), rgba(255,255,255,.6));
  box-shadow: 2px 5px 4.6px rgba(0,0,0,.12), inset 0 0 0 1px rgba(43,127,108,.25);
}
.gal-numeros strong { font-family: var(--f-serif); font-weight: 700; color: #00756a; line-height: 1; }
.gal-numeros span { text-transform: uppercase; line-height: 1.05; letter-spacing: -.02em; }

article.atual {
  position: relative; overflow: hidden; display: grid; align-items: center; color: #fff;
  background: linear-gradient(160deg, #00a292 0%, #00897b 35%, #01675d 100%);
}
article.atual::before {
  content: ""; position: absolute; left: 0; right: 0; top: 0; z-index: 1;
  background: linear-gradient(90deg, #002e29 0%, rgba(0,61,58,0) 47.1%, #003b34 100%);
}
.atual-marca { position: absolute; pointer-events: none; height: auto; }
.atual-foto { position: relative; padding: 0; border: 0; cursor: zoom-in; display: block; overflow: hidden; background: #00897b; transition: transform .3s ease; }
.atual-foto img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s ease; }
.atual-foto:hover img { transform: scale(1.03); }
.atual-insig { position: absolute; height: auto; pointer-events: none; filter: drop-shadow(0 6px 8px rgba(0,0,0,.35)); }
.atual-texto { position: relative; display: flex; flex-direction: column; align-items: flex-start; }
.atual-nome { margin: 0; font-family: var(--f-serif); font-weight: 700; line-height: 1; color: #fff; }
.atual-texto p { margin: 0; color: #d9f3ee; font-family: var(--f-sans); }
.atual-acoes { display: flex; flex-wrap: wrap; }
.atual-acoes .btn-whats { flex: none; }

.gal-past { position: relative; background: #f7fbfa; color: #173e35; }
.gal-grade { list-style: none; margin: 0; padding: 0; display: grid; }
.icc {
  width: 100%; border: 0; padding: 0; background: none; cursor: zoom-in; text-align: center; color: inherit;
  display: flex; flex-direction: column; align-items: center; font: inherit;
}
.icc-foto {
  position: relative; display: block; width: 100%; aspect-ratio: 480 / 460; overflow: hidden;
  background: #00897b; box-shadow: inset 0 0 0 0 transparent;
  transition: transform .3s ease, box-shadow .3s ease;
}
.icc-foto img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s ease; }
.icc-foto::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0) 55%, rgba(0,43,39,.55)); }
.icc-ano {
  position: absolute; left: 50%; transform: translateX(-50%); z-index: 1; white-space: nowrap; color: #00302c;
  text-transform: uppercase; letter-spacing: -.02em; background: rgba(255,255,255,.92); box-shadow: 2px 4px 6px rgba(0,0,0,.2);
}
.icc-ampliar {
  position: absolute; z-index: 1; display: grid; place-items: center; color: #fff; border-radius: 50%;
  background: rgba(0,43,39,.45); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
  opacity: 0; transform: scale(.8); transition: opacity .25s ease, transform .25s ease;
}
.icc:hover .icc-foto, .icc:focus-visible .icc-foto { transform: translateY(-4px); }
.icc:hover .icc-foto img { transform: scale(1.05); }
.icc:hover .icc-ampliar, .icc:focus-visible .icc-ampliar { opacity: 1; transform: none; }
.icc-insig { position: relative; z-index: 2; display: block; aspect-ratio: 260 / 335; background: url("../img/insignia-mini.webp") center / contain no-repeat; filter: drop-shadow(0 4px 5px rgba(0,0,0,.3)); transition: transform .3s ease; }
.icc:hover .icc-insig { transform: translateY(-4px) rotate(-4deg); }
.icc-nome { font-family: var(--f-serif); font-weight: 700; color: #173e35; line-height: 1.1; }
.icc-sub { font-family: var(--f-sans); color: #4c6660; }

.gal-cta { position: relative; overflow: hidden; color: #fff; text-align: center; background: var(--agua) url("../img/chamada-fundo.webp") center / cover no-repeat; }
.gal-cta p { margin: 0 auto; color: #fff; font-family: var(--f-sans); }
.gal-cta-acoes { display: flex; justify-content: center; flex-wrap: wrap; }
.gal-cta .btn-whats { flex: none; }
.gal-cta .btn-whats svg { color: #173e35; }

/* visualizador */
.lb {
  position: fixed; inset: 0; z-index: 120; display: grid; grid-template-columns: auto 1fr auto; align-items: center; justify-items: center;
  background: rgba(6,28,24,.9); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
  padding: max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom));
}
.lb[hidden] { display: none; }
.lb-fig { margin: 0; display: flex; flex-direction: column; align-items: center; gap: 12px; max-height: 100%; min-height: 0; }
.lb-img { max-height: calc(100vh - 130px); max-height: calc(100dvh - 130px); max-width: min(100%, 560px); width: auto; aspect-ratio: 9 / 16; object-fit: contain; border-radius: 14px; box-shadow: 0 30px 60px rgba(0,0,0,.45); background: #173e35; }
.lb-fig figcaption { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; justify-content: center; color: #fff; font-family: var(--f-sans); }
.lb-nome { font-family: var(--f-serif); font-size: 1.4rem; }
.lb-info { color: #bff5ea; font-size: .95rem; }
.lb-cont { color: rgba(255,255,255,.6); font-size: .85rem; }
.lb-seta, .lb-fechar {
  border: 0; cursor: pointer; color: #fff; display: grid; place-items: center; border-radius: 50%;
  background: rgba(255,255,255,.12); box-shadow: inset 0 0 0 1.5px rgba(255,255,255,.5); transition: background .2s ease;
}
.lb-seta { width: 56px; height: 56px; }
.lb-seta svg { width: 12px; height: 22px; }
.lb-seta:hover, .lb-fechar:hover { background: rgba(255,255,255,.25); }
.lb-fechar { position: absolute; top: max(16px, env(safe-area-inset-top)); right: 16px; width: 48px; height: 48px; font-size: 18px; }
.lb-baixar { position: absolute; bottom: max(16px, env(safe-area-inset-bottom)); right: 20px; color: #bff5ea; font-family: var(--f-sans); font-weight: 700; font-size: .85rem; text-transform: uppercase; }
body.lb-aberto { overflow: hidden; }

@media (min-width: 1025px) {
  .gal-topo { padding: calc(64 * var(--u)) 0 calc(100 * var(--u)); }
  .gal-topo .decor-larga { left: calc((var(--vw) - 1920 * var(--u)) / 2); }
  .gal-lockup { font-size: calc(70 * var(--u)); }
  .gal-lockup .lk-script { font-size: 1.45em; margin-bottom: -.5em; }
  .gal-numeros { gap: calc(16 * var(--u)); margin-top: calc(34 * var(--u)) !important; }
  .gal-numeros li { gap: calc(12 * var(--u)); padding: calc(12 * var(--u)) calc(20 * var(--u)); border-radius: calc(12 * var(--u)); }
  .gal-numeros strong { font-size: calc(34 * var(--u)); }
  .gal-numeros span { font-size: calc(13 * var(--u)); }
  article.atual { margin-top: calc(56 * var(--u)); grid-template-columns: calc(400 * var(--u)) 1fr; gap: calc(64 * var(--u)); padding: calc(48 * var(--u)) calc(64 * var(--u)) calc(48 * var(--u)) calc(48 * var(--u)); border-radius: calc(26 * var(--u)); box-shadow: calc(13 * var(--u)) calc(18 * var(--u)) calc(30 * var(--u)) rgba(0,0,0,.22); }
  article.atual::before { height: calc(9 * var(--u)); }
  .atual-marca { width: calc(460 * var(--u)); right: calc(-90 * var(--u)); top: calc(-40 * var(--u)); }
  .atual-foto { width: calc(400 * var(--u)); aspect-ratio: 664 / 830; border-radius: calc(22 * var(--u)); box-shadow: calc(8 * var(--u)) calc(12 * var(--u)) calc(24 * var(--u)) rgba(0,0,0,.3); }
  .atual-insig { width: calc(130 * var(--u)); left: calc(48 * var(--u) + 135 * var(--u)); bottom: calc(14 * var(--u)); }
  .atual-texto { gap: calc(18 * var(--u)); }
  .atual-texto .lider-cargo { font-size: calc(15 * var(--u)); padding: calc(8 * var(--u)) calc(12 * var(--u)); border-radius: calc(10.26 * var(--u)); }
  .atual-nome { font-size: calc(84 * var(--u)); }
  .atual-texto p { font-size: calc(20 * var(--u)); line-height: calc(30 * var(--u)); max-width: calc(520 * var(--u)); }
  .atual-acoes { gap: calc(12 * var(--u)); margin-top: calc(8 * var(--u)); }

  .gal-past { padding: calc(90 * var(--u)) 0 calc(110 * var(--u)); }
  .gal-past .lockup { font-size: calc(85 * var(--u)); }
  .gal-past .lockup .lk-script { font-size: 1.3em; }
  .gal-past .ct-sub { margin-top: calc(18 * var(--u)); }
  .gal-grade { grid-template-columns: repeat(5, 1fr); gap: calc(40 * var(--u)) calc(24 * var(--u)); margin-top: calc(56 * var(--u)); }
  .icc-foto { border-radius: calc(20 * var(--u)); box-shadow: calc(6 * var(--u)) calc(10 * var(--u)) calc(20 * var(--u)) rgba(23,62,53,.25); }
  .icc:hover .icc-foto { box-shadow: calc(8 * var(--u)) calc(18 * var(--u)) calc(30 * var(--u)) rgba(23,62,53,.35); }
  .icc-ano { top: calc(12 * var(--u)); font-size: calc(13 * var(--u)); padding: calc(5 * var(--u)) calc(10 * var(--u)); border-radius: calc(8 * var(--u)); }
  .icc-ampliar { right: calc(12 * var(--u)); bottom: calc(12 * var(--u)); width: calc(38 * var(--u)); height: calc(38 * var(--u)); }
  .icc-ampliar svg { width: calc(18 * var(--u)); height: calc(18 * var(--u)); }
  .icc-insig { width: calc(70 * var(--u)); margin-top: calc(-44 * var(--u)); }
  .icc-nome { font-size: calc(24 * var(--u)); margin-top: calc(6 * var(--u)); }
  .icc-sub { font-size: calc(13 * var(--u)); margin-top: calc(4 * var(--u)); }

  .gal-cta { padding: calc(100 * var(--u)) 0; }
  .gal-cta .lockup { font-size: calc(80 * var(--u)); }
  .gal-cta .lockup .lk-script { font-size: 1.3em; }
  .gal-cta p { font-size: calc(20 * var(--u)); line-height: calc(30 * var(--u)); max-width: calc(620 * var(--u)); margin-top: calc(20 * var(--u)); }
  .gal-cta-acoes { gap: calc(14 * var(--u)); margin-top: calc(34 * var(--u)); }
  .gal-cta .btn-whats, .gal-cta .btn-ligar { height: calc(64 * var(--u)); border-radius: calc(32 * var(--u)); font-size: calc(16 * var(--u)); padding: 0 calc(30 * var(--u)); gap: calc(10 * var(--u)); }
  .gal-cta svg, .atual-acoes svg { width: calc(20 * var(--u)); height: calc(20 * var(--u)); }
}
@media (max-width: 1024px) {
  .gal-topo { padding: 3rem 0 4rem; }
  .gal-lockup { font-size: clamp(1.9rem, 8.6vw, 3.2rem); }
  .gal-lockup .lk-script { font-size: 1.6em; margin-bottom: -.45em; }
  .gal-numeros { gap: 8px; margin-top: 1.5rem !important; flex-wrap: wrap; }
  .gal-numeros li { gap: 8px; padding: 9px 12px; border-radius: 10px; }
  .gal-numeros strong { font-size: 1.4rem; }
  .gal-numeros span { font-size: 10.5px; }
  article.atual { margin-top: 2rem; grid-template-columns: 1fr; gap: 0; padding: 24px 22px 28px; border-radius: 20px; }
  article.atual::before { height: 7px; }
  .atual-marca { width: 280px; right: -80px; top: -20px; }
  .atual-foto { width: 100%; aspect-ratio: 664 / 830; border-radius: 16px; }
  .atual-insig { width: 96px; position: relative; margin: -60px auto 0; display: block; }
  .atual-texto { gap: 12px; margin-top: 10px; }
  .atual-texto .lider-cargo { font-size: 13px; padding: 7px 10px; border-radius: 9px; }
  .atual-nome { font-size: 2.6rem; }
  .atual-texto p { font-size: 1rem; line-height: 1.5; }
  .atual-acoes { gap: 10px; }
  .atual-acoes .btn-whats, .atual-acoes .btn-ligar { height: 50px; border-radius: 25px; font-size: .85rem; gap: 8px; padding: 0 20px; }
  .atual-acoes svg, .gal-cta svg { width: 18px; height: 18px; }
  .gal-past { padding: 3.5rem 0 4rem; }
  .gal-past .lockup { font-size: clamp(2.6rem, 12vw, 4rem); }
  .gal-past .lockup .lk-script { font-size: 1.35em; }
  .gal-grade { grid-template-columns: repeat(2, 1fr); gap: 26px 14px; margin-top: 2rem; }
  .icc-foto { border-radius: 14px; box-shadow: 4px 8px 14px rgba(23,62,53,.25); }
  .icc-ano { top: 8px; font-size: 10.5px; padding: 4px 7px; border-radius: 6px; }
  .icc-ampliar { display: none; }
  .icc-insig { width: 52px; margin-top: -32px; }
  .icc-nome { font-size: 1.1rem; margin-top: 4px; }
  .icc-sub { font-size: .72rem; margin-top: 2px; }
  .gal-cta { padding: 4rem 0; }
  .gal-cta .lockup { font-size: clamp(2.4rem, 11vw, 3.6rem); }
  .gal-cta .lockup .lk-script { font-size: 1.3em; }
  .gal-cta p { font-size: 1.05rem; line-height: 1.5; margin-top: 1rem; }
  .gal-cta-acoes { gap: 10px; margin-top: 1.6rem; flex-direction: column; align-items: stretch; }
  .gal-cta .btn-whats, .gal-cta .btn-ligar { height: 54px; border-radius: 27px; font-size: .9rem; gap: 8px; padding: 0 22px; }
}
@media (min-width: 641px) and (max-width: 1024px) { .gal-grade { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 640px) {
  .lb { grid-template-columns: 1fr; }
  .lb-seta { position: absolute; bottom: max(16px, env(safe-area-inset-bottom)); width: 48px; height: 48px; }
  .lb-ant { left: 16px; } .lb-prox { right: 16px; }
  .lb-img { max-height: calc(100dvh - 190px); }
  .lb-baixar { bottom: auto; top: max(28px, env(safe-area-inset-top)); left: 20px; right: auto; }
}
.gal-cta .lockup-claro .lk-script { background-image: linear-gradient(100deg, #ffffff 0%, #bff5ea 100%); filter: drop-shadow(0 2px 6px rgba(0,43,39,.35)); }
.atual-texto p.atual-gestao { font-family: var(--f-serif); font-style: italic; color: #bff5ea; margin-top: -.2em; }
.atual-gestao strong { font-style: normal; font-weight: 700; color: #fff; }
@media (min-width: 1025px) { .atual-texto p.atual-gestao { font-size: calc(30 * var(--u)); line-height: 1.1; } }
@media (max-width: 1024px) { .atual-texto p.atual-gestao { font-size: 1.35rem; line-height: 1.15; } }

/* =========================================================
   MOBILE (layout do Figma 390px) — ajustes da versão 2
   ========================================================= */
.btn-ler {
  display: inline-flex; align-items: center; justify-content: center; align-self: center;
  background: #fff; color: #173e35; text-decoration: none; text-transform: uppercase;
  font-family: var(--f-sans); font-weight: 700; white-space: nowrap; border-radius: 999px;
  box-shadow: 0 10px 22px -12px rgba(0,0,0,.45); transition: transform .2s ease;
}
.btn-ler:hover { transform: translateY(-1px); }
.hist2.pagina { overflow: hidden; }

@media (max-width: 1024px) {
  /* hero */
  .hero2 { padding-block: 2.2rem 3.4rem; }
  .hero2 .hero-emblema-wrap { width: min(77%, 300px); }
  .hero2 .selo-melhores { left: -10% !important; top: 14% !important; font-size: 11px !important; padding: 6px 10px; border-radius: 10px; }
  .hero2 .selo-anos { right: -8% !important; left: auto !important; top: 62% !important; font-size: 13px !important; padding: 7px 12px; border-radius: 10px; gap: 8px; }
  .hero2 .selo-anos span:first-child { font-size: 2.15em !important; }
  .hero2 .hero-titulo-svg { width: min(82%, 330px); margin-top: .6rem; }

  /* atividades */
  .ativ2 { padding-top: 3.4rem; padding-bottom: 3rem; }
  .ativ2 .palco { gap: 1.1rem; }
  .ativ2-titulo { width: min(88%, 340px); }
  .ativ2-sub { font-size: 16.5px; line-height: 1.32; }
  .trilho { gap: 10px; padding: 0 calc((100vw - 260px) / 2); scroll-padding-inline: calc((100vw - 260px) / 2); }
  .slide { width: 260px; }
  .card-ativ { aspect-ratio: 260 / 350; border-radius: 16px; }
  .card-ativ .sombra { top: 62%; height: 40%; }
  .card-ativ .barra { top: 64.3%; width: 72%; height: 5.8%; border-bottom-right-radius: 12px; }
  .card-ativ .caixa { top: 66.5%; width: 72%; height: 21.5%; border-bottom-right-radius: 14px; }
  .card-ativ h3 { left: 4.6%; top: 65.4%; font-size: 11.5px; }
  .card-ativ p { left: 4.6%; top: 71.2%; width: 63%; font-size: 6.6px; line-height: 1.17; }
  .controles-ativ { gap: 12px; margin-top: .4rem; }
  .btn-circ { width: 44px; height: 44px; box-shadow: inset 0 0 0 1.5px #2b7f6c; }
  .btn-circ svg { width: 8px; height: 15px; }
  .btn-ver-mais { height: 44px; border-radius: 22px; padding: 0 18px; gap: 9px; font-size: 13px; }
  .btn-ver-mais svg { width: 20px; height: 20px; }

  /* história (página inicial: resumo + botão) */
  .hist2 { padding-top: 3.4rem; padding-bottom: 3.6rem; overflow: hidden; }
  .hist2 .decor { display: block; opacity: 1; }
  .hist2 .palco { width: calc(100% - 52px); gap: 1.4rem; }
  .hist2-titulo { width: min(86%, 316px); align-self: center; }
  .hist2-resumo { display: flex; flex-direction: column; gap: 23px; }
  .hist2-resumo p { margin: 0; color: #fff; font-family: var(--f-sans); font-size: 17.4px; line-height: 23px; text-align: justify; }
  .btn-ler { height: 56px; padding: 0 30px; font-size: 16.5px; margin-top: 6px; }
  .hist2:not(.pagina) .hist2-texto { display: none; }
  .hist2.pagina .hist2-resumo { display: none; }
  .hist2.pagina .hist2-texto { font-size: 18px; line-height: 25px; letter-spacing: -.03em !important; text-align: justify; }
  .hist2.pagina .hist2-texto p + p { margin-top: 25px; }
  .hist2.pagina .hist2-texto p.junto { margin-top: 0; }
  .emblemas-hist { display: block; position: relative; width: 100vw; margin-left: -26px; aspect-ratio: 390 / 410; margin-top: .6rem; }
  .emblemas-hist .emblema-hist { position: absolute; height: auto; filter: drop-shadow(8px 12px 14px rgba(0,0,0,.28)); }
  .emblemas-hist .antigo { left: -12%; top: 0; width: 70%; }
  .emblemas-hist .atual { left: 40%; top: -1%; width: 68%; }
  .emblemas-hist .selo-vidro { position: absolute !important; text-align: center; font-size: 17px !important; padding: 5px 14px; border-radius: 10px; }
  .emblemas-hist .rotulo-antigo { left: 4.6% !important; top: 79% !important; }
  .emblemas-hist .rotulo-atual { left: 60% !important; top: 79% !important; }

  /* marcos */
  .marcos2-titulo { width: min(86%, 332px); align-self: center; }

  /* próximo passo */
  .prox2 .palco { text-align: center; align-items: center; }
  .prox2-arte { width: min(80%, 320px); }
  .prox2-arte .coroa { left: 0 !important; top: 2.4% !important; width: 66.2% !important; height: auto !important; }
  .prox2-arte .insig { left: 34.7% !important; top: 0 !important; width: 65.3% !important; height: auto !important; }
  .prox2-titulo { width: min(90%, 340px); }
  .prox2 p { text-align: center; }
  .btn-prox { align-self: center; }

  /* rodapé: créditos centralizados */
  .rodape-base .container { flex-direction: column; align-items: center; text-align: center; gap: .5rem; }

  /* ordem da cavalaria */
  .cav2 { padding-top: 2rem; }
  .cav2 .palco { width: calc(100% - 36px); gap: 0; }
  .cav2-titulo { width: min(84%, 320px); }
  .cav2 .insig-cav { width: min(58%, 226px); margin-top: 1rem; margin-bottom: 1.4rem; }
  .cav2-bloco { font-size: 18.5px; line-height: 25px; letter-spacing: -.04em !important; text-align: justify; color: #173e35; }
  .cav2-bloco p + p { margin-top: 25px !important; }
  .cav2-bloco + .cav2-bloco { margin-top: 25px; }
  .cav2 h2 { font-size: 25px; margin: 2.2rem 0 .7rem; color: #1f5a4e; }
}

@media (max-width: 1024px) {
  .hist2 .decor { z-index: 0; }
  .hist2 .palco { position: static; }
  .hist2 .palco > *:not(.decor) { position: relative; z-index: 1; }
  .hist2 .decor { left: 0; top: 0; width: 100%; height: 100%; object-fit: cover; object-position: left top; }
  .hero2 .hero-emblema-wrap { width: 300px; max-width: 80vw; }
  .hero2 .hero-titulo-svg { width: 350px; max-width: 92vw; margin-top: .4rem; }
  .hero2 { padding-bottom: 3.9rem; }
  .hero2 .selo-anos { font-size: 14px !important; }
  .ativ2-titulo { width: 348px; max-width: 92vw; }
  .btn-ver-mais { font-size: 12px; padding: 0 16px; }
  .hist2-titulo { width: 347px; max-width: 92vw; }
  .emblemas-hist { aspect-ratio: 390 / 380; margin-top: 1.2rem; }
  .emblemas-hist .antigo { left: -15%; top: 2%; width: 74%; }
  .emblemas-hist .atual { left: 41%; top: 0; width: 64%; }
  .emblemas-hist .rotulo-antigo { left: 4.6% !important; top: 82% !important; }
  .emblemas-hist .rotulo-atual { left: 60.3% !important; top: 82% !important; }
}
@media (max-width: 1024px) {
  .hero2 .hero-titulo-svg { display: none; }
  .hero-titulo-mob { order: 2; display: flex; flex-direction: column; align-items: center; text-align: center; margin-top: 1.9rem; filter: drop-shadow(0 6px 14px rgba(15,46,40,.25)); }
  .hm-bloco { font-family: var(--f-titulo); font-weight: 700; text-transform: uppercase; letter-spacing: -.02em; color: #fff; font-size: 51px; line-height: .9; position: relative; z-index: 1; }
  .hm-script {
    font-family: var(--f-script); font-size: 56px; line-height: 1; position: relative; z-index: 2;
    background: linear-gradient(100deg, #7fd9c8 0%, #b8f5ea 45%, #d9fbf4 60%, #58b9a8 100%);
    -webkit-background-clip: text; background-clip: text; color: transparent;
    padding: .18em .3em .28em; margin: -.42em 0 -.4em;
  }
  .hm-sub { font-family: var(--f-serif); color: #fff; font-size: 18.6px; line-height: 1.08; margin-top: .55em; }
  .hero2 { padding-bottom: 4.8rem; }
}
@media (max-width: 1024px) {
  .hm-script { font-size: 64px; margin: -.4em 0 -.38em; }
  .hero-titulo-mob { margin-top: .4rem; }
}
@media (max-width: 1024px) {
  .ativ2 { padding-top: 1.5rem; padding-bottom: 2.6rem; }
  .ativ2 .palco { gap: .6rem; }
  .ativ2 .carrossel { margin-top: .4rem; }
  .controles-ativ { margin-top: .9rem; }
  .hist2 { padding-top: 2rem; padding-bottom: 2.6rem; }
  .hist2 .palco { gap: 1.1rem; }
  .hist2-resumo p { font-size: 17.1px; }
  .emblemas-hist { aspect-ratio: 390 / 355; }
  .marcos2.fig { padding-bottom: calc(4rem + 18px); }
  .prox2-titulo { width: 336px !important; max-width: 92vw; }
  .prox2-arte { width: 333px !important; max-width: 86vw; }
  .prox2 .palco { gap: 1rem; }
  .rodape .container { gap: 1.6rem; padding-top: 2.6rem; padding-bottom: 1.6rem; }
}
@media (max-width: 1024px) {
  .rodape .container { gap: 1.25rem; padding-top: 2.2rem; padding-bottom: 1.5rem; }
  .rodape-base { padding-block: .9rem 1.1rem; border-top-color: rgba(255,255,255,.55); }
  .rodape-base .container { padding: 0 !important; gap: .2rem; }
  .rodape p { margin: .5rem 0; }
  .rodape .lema { margin-top: .6rem; }
  .rodape h4 { margin-bottom: .6rem; }
  .rodape ul { gap: .45rem; }
  .credito img { height: 24px; }
}
@media (min-width: 1025px) { .rodape .mob-only { display: none; } }
@media (max-width: 1024px) {
  .cav2.fig { padding-top: 1.1rem; }
  .cav2-titulo { width: 346px !important; max-width: 92vw; }
  .cav2 .insig-cav { width: 222px !important; margin-top: .2rem; margin-bottom: 1.3rem; }
  .cav2-bloco { font-size: 19.2px; letter-spacing: -.05em !important; }
}
@media (max-width: 1024px) {
  .cav2.fig { padding-top: 0; }
  .cav2 .insig-cav { margin-top: -.6rem; }
  .cav2-bloco { font-size: 20px; }
}
@media (max-width: 1024px) { .cav2-bloco { font-size: 19.6px; } }
@media (max-width: 1024px) {
  .hist2.pagina { padding-top: .6rem; }
  .hist2.pagina::before { display: none; }
  .hist2.pagina .hist2-texto { font-size: 19.6px; line-height: 25px; letter-spacing: -.05em !important; margin-top: .4rem; }
}
@media (max-width: 1024px) {
  .hist2.pagina .hist2-titulo { margin-top: -18px; }
  .hist2.pagina .hist2-texto { margin-top: -1rem; }
}
@media (max-width: 1024px) {
  .emblemas-hist { aspect-ratio: 390 / 372; margin-top: 2.2rem; }
  .emblemas-hist .antigo { left: -14%; top: 0; width: 76%; }
  .emblemas-hist .atual { left: 41%; top: -2%; width: 66%; }
  .emblemas-hist .rotulo-antigo { left: 6% !important; top: 85% !important; }
  .emblemas-hist .rotulo-atual { left: 60.5% !important; top: 85% !important; }
  .hist2 { padding-bottom: 3.4rem; }
}
@media (max-width: 1024px) {
  .ativ2 { padding-bottom: 1.9rem; }
  .ativ2 .palco { gap: .4rem; }
  .hist2:not(.pagina) { padding-top: 1.2rem; padding-bottom: 2.6rem; }
  .hist2:not(.pagina) .palco { gap: .9rem; }
  .hist2-resumo p { font-size: 16.9px; }
  .emblemas-hist { margin-top: 1.4rem; }
}
@media (max-width: 1024px) {
  .marcos2.fig { padding-bottom: 4rem; }
  .prox2.fig { padding-top: 2.6rem; padding-bottom: 3.1rem; }
  .prox2 .palco { gap: .8rem; }
}
@media (max-width: 1024px) {
  .prox2-arte { width: 318px !important; }
  .prox2-titulo { width: 352px !important; margin-top: -6px; }
  .prox2 p { font-size: 15.6px; line-height: 22.5px; margin-top: -12px; }
  .btn-prox { margin-top: 18px; }
  .prox2.fig { padding-top: 2.8rem; }
}
@media (max-width: 1024px) {
  .prox2 .prox2-titulo { display: none; }
  .prox2-lockup-mob { font-size: 28.6px; margin-top: .2rem; }
  .prox2-lockup-mob .lk-bloco { line-height: 1.02; }
  .prox2-lockup-mob .lk-script { font-size: 1.7em; margin-bottom: -.5em; }
  .prox2 p { max-width: 330px; margin-top: -2px; }
}
@media (max-width: 1024px) { .prox2 p { max-width: 318px; } }

/* cards de atividade: foto sem zoom e legenda do tamanho do texto */
.card-ativ .foto { background-size: cover !important; background-position: 50% 40% !important; }
.card-ativ .legenda { position: absolute; left: 0; display: flex; flex-direction: column; z-index: 1; margin: 0; }
.card-ativ .legenda h3 {
  position: relative !important; left: auto !important; top: auto !important; z-index: 1;
  background: linear-gradient(90deg, #002b27, #00a292); color: #fff; white-space: nowrap; align-self: stretch;
}
.card-ativ .legenda p {
  position: static !important; left: auto !important; top: auto !important; width: auto !important;
  background: #fff; color: #155748; letter-spacing: -.02em;
}
@media (min-width: 1025px) {
  .card-ativ .legenda { bottom: calc(26 * var(--u)); width: calc(352 * var(--u)); }
  .card-ativ .legenda h3 { font-size: calc(20 * var(--u)); padding: calc(10 * var(--u)) calc(20 * var(--u)) calc(9 * var(--u)) calc(23 * var(--u)); border-bottom-right-radius: calc(19.5 * var(--u)); }
  .card-ativ .legenda p { font-size: calc(15.5 * var(--u)); line-height: calc(19 * var(--u)); margin-top: calc(-16 * var(--u)); padding: calc(28 * var(--u)) calc(20 * var(--u)) calc(16 * var(--u)) calc(23 * var(--u)); border-bottom-right-radius: calc(24 * var(--u)); box-shadow: 0 calc(4 * var(--u)) calc(4 * var(--u)) rgba(0,0,0,.25); }
}
@media (max-width: 1024px) {
  .card-ativ .legenda { bottom: 14px; width: 86%; }
  .card-ativ .legenda h3 { font-size: 13px; padding: 7px 12px 6px 13px; border-bottom-right-radius: 13px; }
  .card-ativ .legenda p { font-size: 10.6px; line-height: 13px; margin-top: -11px; padding: 18px 12px 10px 13px; border-bottom-right-radius: 16px; box-shadow: 0 3px 4px rgba(0,0,0,.25); }
}

/* cards de atividade v3: foto em cima, texto embaixo */
.ativ2 .slide { display: flex; }
.card-at2 {
  margin: 0; width: 100%; display: flex; flex-direction: column; overflow: hidden; background: #fff;
}
.card-at2 .foto { flex: none; background-color: #d9d9d9; background-size: cover; background-position: 50% 30%; background-repeat: no-repeat; }
.card-at2 figcaption { display: flex; flex-direction: column; flex: 1; }
.card-at2 h3 {
  margin: 0; color: #fff; font-weight: 700; letter-spacing: -.04em; line-height: 1.05; text-transform: uppercase;
  background: linear-gradient(90deg, #002b27, #00a292);
}
.card-at2 p { margin: 0; color: #155748; letter-spacing: -.01em; }
.card-at2 p strong { font-weight: 700; }
@media (min-width: 1025px) {
  .ativ2 .slide { width: calc(360 * var(--u)); }
  .ativ2 .trilho {
    padding: 0 calc((var(--vw) - 1440 * var(--u)) / 2 + 160 * var(--u)) calc(14 * var(--u));
    scroll-padding-inline: calc((var(--vw) - 1440 * var(--u)) / 2 + 160 * var(--u));
  }
  .card-at2 { border-radius: calc(22 * var(--u)); box-shadow: 0 calc(14 * var(--u)) calc(28 * var(--u)) calc(-16 * var(--u)) rgba(23,62,53,.45); }
  .card-at2 .foto { height: calc(420 * var(--u)); }
  .card-at2 h3 { font-size: calc(19 * var(--u)); padding: calc(12 * var(--u)) calc(22 * var(--u)) calc(11 * var(--u)); }
  .card-at2 p { font-size: calc(15.5 * var(--u)); line-height: calc(19.5 * var(--u)); padding: calc(14 * var(--u)) calc(22 * var(--u)) calc(18 * var(--u)); }
}
@media (max-width: 1024px) {
  .card-at2 { border-radius: 16px; box-shadow: 0 10px 20px -12px rgba(23,62,53,.45); }
  .card-at2 .foto { aspect-ratio: 4 / 5; }
  .card-at2 h3 { font-size: 14px; padding: 9px 14px 8px; }
  .card-at2 p { font-size: 13px; line-height: 16.5px; padding: 10px 14px 14px; }
  .ativ2 .trilho { padding-bottom: 10px; }
}

/* decorações sempre atrás do conteúdo (telas até 1024px) */
@media (max-width: 1024px) {
  .fig .decor { z-index: 0; }
  .fig .palco > *:not(.decor) { position: relative; z-index: 1; }
  .hist2 .palco > .emblemas-hist { position: relative; }
}
.ativ2 .carrossel, .ativ2 .controles-ativ { z-index: 1; }

/* =========================================================
   DOCUMENTOS
   ========================================================= */
.doc-topo { position: relative; overflow: hidden; background: #eaf4f1; color: #173e35; }
.doc-topo .decor { position: absolute; }
.doc-filtros { display: flex; flex-direction: column; align-items: center; }
.doc-busca {
  position: relative; display: flex; align-items: center; width: 100%; background: #fff; color: #2b7f6c;
  box-shadow: inset 0 0 0 1.5px rgba(43,127,108,.3), 0 18px 30px -24px rgba(23,62,53,.5);
}
.doc-busca:focus-within { box-shadow: inset 0 0 0 2px #00a292, 0 18px 30px -24px rgba(23,62,53,.5); }
.doc-busca input { border: 0; outline: none; background: transparent; flex: 1; font: inherit; font-family: var(--f-sans); color: #173e35; min-width: 0; }
.doc-chips { display: flex; flex-wrap: wrap; justify-content: center; }
.doc-chip {
  border: 0; cursor: pointer; font-family: var(--f-sans); font-weight: 700; color: #2b7f6c; background: #fff;
  box-shadow: inset 0 0 0 1.5px rgba(43,127,108,.35); transition: background .2s ease, color .2s ease;
}
.doc-chip:hover { background: #dff0ec; }
.doc-chip.ativo { color: #fff; background: linear-gradient(187deg, #00beab 0%, #00554d 152%); box-shadow: none; }

.doc-lista { background: #f7fbfa; color: #173e35; }
.doc-cat-topo h2 { margin: 0; font-family: var(--f-serif); font-weight: 700; color: #173e35; line-height: 1.1; }
.doc-cat-topo p { margin: 0; font-family: var(--f-sans); color: #4c6660; }
.doc-cat-topo { border-left-style: solid; border-left-color: #00a292; }
.doc-grade { display: grid; }
.doc {
  position: relative; display: grid; grid-template-columns: auto 1fr; align-items: start; background: #fff;
  box-shadow: inset 0 0 0 1px rgba(43,127,108,.14), 0 18px 30px -26px rgba(23,62,53,.55);
  transition: transform .25s ease, box-shadow .25s ease;
}
.doc:hover { transform: translateY(-3px); box-shadow: inset 0 0 0 1px rgba(43,127,108,.25), 0 24px 36px -26px rgba(23,62,53,.65); }
.doc-icone {
  position: relative; display: grid; place-items: center; color: #fff;
  background: linear-gradient(160deg, #00a292 0%, #01675d 100%);
}
.doc-icone b {
  position: absolute; left: 50%; transform: translateX(-50%); font-family: var(--f-sans); font-weight: 800; color: #00564d;
  background: #fff; letter-spacing: .02em; line-height: 1; white-space: nowrap; box-shadow: 0 2px 6px rgba(0,0,0,.18);
}
.doc-info h3 { margin: 0; font-family: var(--f-serif); font-weight: 700; color: #173e35; line-height: 1.12; }
.doc-info p { margin: 0; font-family: var(--f-sans); color: #4c6660; }
.doc-meta { display: inline-block; font-family: var(--f-sans); font-weight: 700; color: #2b7f6c; text-transform: uppercase; letter-spacing: .04em; }
.doc-baixar {
  grid-column: 1 / -1; display: inline-flex; align-items: center; justify-content: center; text-decoration: none;
  font-family: var(--f-sans); font-weight: 700; text-transform: uppercase; color: #fff;
  background: linear-gradient(187deg, #00beab 0%, #00554d 152%); transition: filter .2s ease, transform .2s ease;
}
.doc-baixar:hover { filter: brightness(1.08); transform: translateY(-1px); }
.doc-baixar.em-breve { background: #e3efec; color: #6f8a84; cursor: default; filter: none; transform: none; }
.doc-vazio { text-align: center; font-family: var(--f-sans); color: #4c6660; }
.doc-cat[hidden], .doc[hidden] { display: none !important; }

@media (min-width: 1025px) {
  .doc-topo { padding: calc(64 * var(--u)) 0 calc(70 * var(--u)); }
  .doc-topo .decor-larga { left: calc((var(--vw) - 1920 * var(--u)) / 2); }
  .doc-topo .lockup { font-size: calc(85 * var(--u)); }
  .doc-topo .lockup .lk-script { font-size: 1.3em; }
  .doc-topo .ct-sub { margin-top: calc(18 * var(--u)); }
  .doc-filtros { gap: calc(18 * var(--u)); margin-top: calc(40 * var(--u)); }
  .doc-busca { max-width: calc(620 * var(--u)); height: calc(60 * var(--u)); border-radius: calc(30 * var(--u)); padding: 0 calc(24 * var(--u)); gap: calc(12 * var(--u)); }
  .doc-busca svg { width: calc(22 * var(--u)); height: calc(22 * var(--u)); flex: none; }
  .doc-busca input { font-size: calc(17 * var(--u)); }
  .doc-chips { gap: calc(10 * var(--u)); }
  .doc-chip { font-size: calc(14 * var(--u)); padding: calc(11 * var(--u)) calc(20 * var(--u)); border-radius: calc(22 * var(--u)); }
  .doc-lista { padding: calc(70 * var(--u)) 0 calc(110 * var(--u)); }
  .doc-cat + .doc-cat { margin-top: calc(64 * var(--u)); }
  .doc-cat-topo { border-left-width: calc(4 * var(--u)); padding-left: calc(18 * var(--u)); margin-bottom: calc(26 * var(--u)); }
  .doc-cat-topo h2 { font-size: calc(34 * var(--u)); }
  .doc-cat-topo p { font-size: calc(16 * var(--u)); margin-top: calc(6 * var(--u)); }
  .doc-grade { grid-template-columns: repeat(3, 1fr); gap: calc(22 * var(--u)); }
  .doc { border-radius: calc(20 * var(--u)); padding: calc(24 * var(--u)); gap: calc(18 * var(--u)) calc(18 * var(--u)); }
  .doc-icone { width: calc(64 * var(--u)); height: calc(76 * var(--u)); border-radius: calc(14 * var(--u)); }
  .doc-icone svg { width: calc(30 * var(--u)); height: calc(30 * var(--u)); margin-top: calc(-8 * var(--u)); }
  .doc-icone b { bottom: calc(-8 * var(--u)); font-size: calc(11 * var(--u)); padding: calc(4 * var(--u)) calc(7 * var(--u)); border-radius: calc(6 * var(--u)); }
  .doc-info h3 { font-size: calc(23 * var(--u)); }
  .doc-info p { font-size: calc(15 * var(--u)); line-height: calc(21 * var(--u)); margin-top: calc(6 * var(--u)); }
  .doc-meta { font-size: calc(12 * var(--u)); margin-top: calc(10 * var(--u)); }
  .doc-baixar { height: calc(50 * var(--u)); border-radius: calc(25 * var(--u)); font-size: calc(14 * var(--u)); gap: calc(9 * var(--u)); align-self: end; }
  .doc-baixar svg { width: calc(19 * var(--u)); height: calc(19 * var(--u)); }
  .doc-vazio { font-size: calc(18 * var(--u)); margin-top: calc(30 * var(--u)); }
}
@media (max-width: 1024px) {
  .doc-topo { padding: 3rem 0 2.6rem; }
  .doc-topo .lockup { font-size: clamp(2.5rem, 11.5vw, 4rem); }
  .doc-topo .lockup .lk-script { font-size: 1.35em; }
  .doc-topo .ct-sub { margin-top: 1rem; }
  .doc-filtros { gap: 14px; margin-top: 1.6rem; }
  .doc-busca { height: 52px; border-radius: 26px; padding: 0 18px; gap: 10px; }
  .doc-busca svg { width: 20px; height: 20px; flex: none; }
  .doc-busca input { font-size: 16px; }
  .doc-chips { flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; gap: 8px; width: 100vw; padding: 2px 20px 6px; scrollbar-width: none; }
  .doc-chips::-webkit-scrollbar { display: none; }
  .doc-chip { flex: none; font-size: 13px; padding: 10px 16px; border-radius: 20px; }
  .doc-lista { padding: 2.4rem 0 3.6rem; }
  .doc-cat + .doc-cat { margin-top: 2.6rem; }
  .doc-cat-topo { border-left-width: 4px; padding-left: 14px; margin-bottom: 1.1rem; }
  .doc-cat-topo h2 { font-size: 1.6rem; }
  .doc-cat-topo p { font-size: .95rem; margin-top: 4px; }
  .doc-grade { grid-template-columns: 1fr; gap: 14px; }
  .doc { border-radius: 16px; padding: 18px; gap: 14px; }
  .doc-icone { width: 54px; height: 64px; border-radius: 12px; }
  .doc-icone svg { width: 26px; height: 26px; margin-top: -6px; }
  .doc-icone b { bottom: -7px; font-size: 10px; padding: 3px 6px; border-radius: 5px; }
  .doc-info h3 { font-size: 1.3rem; }
  .doc-info p { font-size: .92rem; line-height: 1.4; margin-top: 4px; }
  .doc-meta { font-size: 11px; margin-top: 8px; }
  .doc-baixar { height: 46px; border-radius: 23px; font-size: 13px; gap: 8px; }
  .doc-baixar svg { width: 18px; height: 18px; }
}
@media (min-width: 641px) and (max-width: 1024px) { .doc-grade { grid-template-columns: repeat(2, 1fr); } }
.doc-tamanhos { grid-column: 1 / -1; display: flex; flex-direction: column; }
.doc-tamanhos .doc-baixar { justify-content: flex-start; }
.doc-cat[data-cat="wallpapers"] .doc-icone { background: linear-gradient(160deg, #4e9c90 0%, #173e35 100%); }
@media (min-width: 1025px) {
  .doc-tamanhos { gap: calc(8 * var(--u)); }
  .doc-tamanhos .doc-baixar { height: calc(42 * var(--u)); padding: 0 calc(18 * var(--u)); font-size: calc(12.5 * var(--u)); }
}
@media (max-width: 1024px) {
  .doc-tamanhos { gap: 8px; }
  .doc-tamanhos .doc-baixar { height: 42px; padding: 0 16px; font-size: 12px; }
}
.doc-tamanhos { align-self: end; width: 100%; }
.doc-tamanhos .doc-baixar { width: 100%; justify-content: center; align-self: stretch; }
/* lista de downloads em linhas (cerimônias públicas) */
.doc-linhas { grid-column: 1 / -1; list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.doc-linha {
  display: flex; align-items: center; justify-content: space-between; text-decoration: none; color: #173e35;
  font-family: var(--f-sans); font-weight: 600; background: #f2f8f6; box-shadow: inset 0 0 0 1px rgba(43,127,108,.18);
  transition: background .2s ease, box-shadow .2s ease;
}
.doc-linha b {
  flex: none; display: inline-flex; align-items: center; font-weight: 700; text-transform: uppercase; color: #fff;
  background: linear-gradient(187deg, #00beab 0%, #00554d 152%);
}
.doc-linha:hover { background: #e3f1ed; box-shadow: inset 0 0 0 1px rgba(43,127,108,.35); }
@media (min-width: 1025px) {
  .doc-linhas { gap: calc(8 * var(--u)); }
  .doc-linha { gap: calc(12 * var(--u)); padding: calc(8 * var(--u)) calc(8 * var(--u)) calc(8 * var(--u)) calc(16 * var(--u)); border-radius: calc(14 * var(--u)); font-size: calc(14.5 * var(--u)); line-height: 1.25; }
  .doc-linha b { gap: calc(6 * var(--u)); height: calc(36 * var(--u)); padding: 0 calc(14 * var(--u)); border-radius: calc(18 * var(--u)); font-size: calc(12 * var(--u)); }
  .doc-linha b svg { width: calc(16 * var(--u)); height: calc(16 * var(--u)); }
}
@media (max-width: 1024px) {
  .doc-linhas { gap: 8px; }
  .doc-linha { gap: 10px; padding: 7px 7px 7px 14px; border-radius: 12px; font-size: 13.5px; line-height: 1.25; }
  .doc-linha b { gap: 5px; height: 34px; padding: 0 12px; border-radius: 17px; font-size: 11px; }
  .doc-linha b svg { width: 15px; height: 15px; }
}
/* título do documento abre a visualização */
.doc-ver { color: inherit; text-decoration: none; transition: color .2s ease; }
.doc-ver:hover { color: #00897b; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.doc-ver-ic { display: inline-block; vertical-align: baseline; margin-left: .3em; width: .7em; height: .7em; color: #00a292; opacity: .8; }
.doc-linha { color: #173e35; }
.doc-linha .doc-ver { flex: 1; min-width: 0; }
.doc-linha-baixar {
  flex: none; display: inline-flex; align-items: center; text-decoration: none; font-family: var(--f-sans); font-weight: 700;
  text-transform: uppercase; color: #fff; background: linear-gradient(187deg, #00beab 0%, #00554d 152%); transition: filter .2s ease;
}
.doc-linha-baixar:hover { filter: brightness(1.08); }
@media (min-width: 1025px) {
  .doc-linha-baixar { gap: calc(6 * var(--u)); height: calc(36 * var(--u)); padding: 0 calc(14 * var(--u)); border-radius: calc(18 * var(--u)); font-size: calc(12 * var(--u)); }
  .doc-linha-baixar svg { width: calc(16 * var(--u)); height: calc(16 * var(--u)); }
}
@media (max-width: 1024px) {
  .doc-linha-baixar { gap: 5px; height: 34px; padding: 0 12px; border-radius: 17px; font-size: 11px; }
  .doc-linha-baixar svg { width: 15px; height: 15px; }
}
.doc-ver .nw { white-space: nowrap; }
.card-at2 .foto { position: relative; overflow: hidden; }
.card-at2 .foto img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; display: block; }

/* botão de cadastro rápido (só para administradores logados) */
.btn-admin {
  position: fixed; right: 20px; bottom: calc(20px + env(safe-area-inset-bottom, 0px)); z-index: 95;
  display: inline-flex; align-items: center; gap: 10px; padding: 0 22px 0 16px; height: 52px; border-radius: 26px;
  font-family: var(--f-sans); font-weight: 800; font-size: 14px; text-transform: uppercase; text-decoration: none; color: #fff;
  background: linear-gradient(187deg, #00beab 0%, #00554d 152%); box-shadow: 0 14px 30px -10px rgba(0,43,39,.55);
  transition: transform .2s ease, filter .2s ease;
}
.btn-admin span { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: rgba(255,255,255,.2); font-size: 20px; line-height: 1; font-weight: 700; }
.btn-admin:hover { transform: translateY(-2px); filter: brightness(1.08); }

/* =========================================================
   ANIMACOES DE ENTRADA AO ROLAR (classes colocadas pelo main.js)
   ========================================================= */
.rv {
  transition: opacity .8s ease, translate .95s cubic-bezier(.2,.7,.2,1), scale .95s cubic-bezier(.2,.7,.2,1), clip-path 1.2s cubic-bezier(.65,0,.35,1) !important;
  transition-delay: var(--rv-d, 0ms) !important;
}
.rv:not(.rv-on) { opacity: 0 !important; }
.rv-up:not(.rv-on) { translate: 0 38px; }
.rv-esq:not(.rv-on) { translate: -70px 0; }
.rv-dir:not(.rv-on) { translate: 70px 0; }
.rv-zoom:not(.rv-on) { scale: .86; }
.rv-pop:not(.rv-on) { scale: .6; }
.rv-linha:not(.rv-on) { opacity: 1 !important; clip-path: inset(0 100% 0 0); }
.rv-linha.rv-on { clip-path: inset(0 0 0 0); }
.rv-pixel { transition: opacity .6s steps(4), translate .6s steps(4) !important; transition-delay: var(--rv-d, 0ms) !important; }
.rv-pixel:not(.rv-on) { translate: 0 32px; }
.rv.rv-on { translate: 0 0; scale: 1; }
@media (max-width: 1024px) {
  .rv-esq:not(.rv-on) { translate: -36px 0; }
  .rv-dir:not(.rv-on) { translate: 36px 0; }
  .rv-up:not(.rv-on) { translate: 0 28px; }
  .rv-linha:not(.rv-on) { clip-path: inset(0 0 100% 0); }
}
@media (prefers-reduced-motion: reduce) {
  .rv:not(.rv-on) { opacity: 1 !important; translate: none !important; scale: none !important; clip-path: none !important; }
}

/* =========================================================
   SELOS DE VIDRO ANIMADOS (flutuacao, brilho e hover)
   ========================================================= */
.selo-vidro { overflow: hidden; isolation: isolate; }
.selo-vidro::after { /* reflexo de luz que atravessa o vidro */
  content: ""; position: absolute; top: -20%; bottom: -20%; left: 0; width: 60%; pointer-events: none;
  background: linear-gradient(100deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.65) 45%, rgba(255,255,255,.15) 60%, rgba(255,255,255,0) 100%);
  transform: translateX(-180%) skewX(-18deg);
  animation: selo-brilho 6s ease-in-out infinite; animation-delay: var(--brilho-d, 1.6s);
}
@keyframes selo-brilho {
  0%, 62% { transform: translateX(-180%) skewX(-18deg); }
  82%, 100% { transform: translateX(260%) skewX(-18deg); }
}
.hero2 .selo-melhores { --brilho-d: 1.8s; animation: selo-flutua-a 6.5s ease-in-out infinite; }
.hero2 .selo-anos { --brilho-d: 3.6s; animation: selo-flutua-b 7.5s ease-in-out infinite; }
.rotulo-antigo { --brilho-d: 2.4s; }
.rotulo-atual { --brilho-d: 4.2s; }
@keyframes selo-flutua-a {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-9px) rotate(-1.2deg); }
}
@keyframes selo-flutua-b {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-11px) rotate(1.4deg); }
}
.hero2 .selo-vidro { transition: scale .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s ease; }
.hero2 .selo-vidro:hover { scale: 1.06; box-shadow: 0 14px 26px -10px rgba(0,43,39,.55); }
.hero2 .selo-vidro:hover::after { animation-duration: 1.4s; animation-delay: 0s; }
@media (max-width: 1024px) {
  @keyframes selo-flutua-a { 0%, 100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-6px) rotate(-1deg); } }
  @keyframes selo-flutua-b { 0%, 100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-7px) rotate(1deg); } }
}
