@font-face {
  font-family: "Archivo";
  font-style: normal;
  font-weight: 100 900;
  font-stretch: 62% 125%;
  font-display: swap;
  src: url("../fonts/archivo-normal-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: "Archivo";
  font-style: normal;
  font-weight: 100 900;
  font-stretch: 62% 125%;
  font-display: swap;
  src: url("../fonts/archivo-normal-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Figtree";
  font-style: normal;
  font-weight: 300 900;
  font-display: swap;
  src: url("../fonts/figtree-normal-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: "Figtree";
  font-style: normal;
  font-weight: 300 900;
  font-display: swap;
  src: url("../fonts/figtree-normal-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Figtree";
  font-style: italic;
  font-weight: 300 900;
  font-display: swap;
  src: url("../fonts/figtree-italic-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;
}

:root {
  --verde: #054d29;
  --verde-sombra: #0a3a20;
  --verde-noite: #062614;
  --verde-claro: #d5e3d6;
  --creme: #eae7d8;
  --lona: #f8f6ef;
  --branco: #ffffff;
  --madeira: #c8b287;
  --madeira-escura: #a48d61;
  --tinta: #10241a;
  --tinta-suave: #3e5446;
  --tinta-creme: #d9e4da;

  --display: "Archivo", "Arial Narrow", sans-serif;
  --texto: "Figtree", "Segoe UI", sans-serif;

  --gomo: 56px;
  --beiral: 64px;
  --beiral-recolhido: 36px;
  --barra: 68px;
  --margem: clamp(1.25rem, 4vw, 4rem);
  --largura: 1320px;
  --raio: 6px;
  --sombra-mesa: 0 26px 40px -24px rgb(6 38 20 / 0.55), 0 4px 10px -4px rgb(6 38 20 / 0.25);
  --ease: cubic-bezier(0.16, 1, 0.3, 1);
}

*,
*::before,
*::after { box-sizing: border-box; }

html {
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--barra) + var(--beiral) + 12px);
  scrollbar-color: var(--verde) var(--creme);
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  font-family: var(--texto);
  font-size: 1.0625rem;
  line-height: 1.6;
  color: var(--tinta);
  background-color: var(--lona);
  background-image:
    repeating-linear-gradient(0deg, rgb(5 77 41 / 0.028) 0 1px, transparent 1px 4px),
    repeating-linear-gradient(90deg, rgb(5 77 41 / 0.022) 0 1px, transparent 1px 4px);
  caret-color: var(--verde);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

::selection { background: var(--verde); color: var(--branco); }

img { display: block; max-width: 100%; height: auto; }
figure { margin: 0; }
ul, ol, dl, dd { margin: 0; padding: 0; }
ul, ol { list-style: none; }
h1, h2, h3, p, blockquote { margin: 0; }

h1, h2, h3 {
  font-family: var(--display);
  font-weight: 800;
  font-stretch: 112%;
  line-height: 1.02;
  letter-spacing: -0.015em;
  text-wrap: balance;
  color: var(--verde);
}

h2 { font-size: clamp(2rem, 1.15rem + 2.6vw, 3.5rem); }
h3 { font-size: clamp(1.35rem, 1.1rem + 0.8vw, 1.8rem); }
p { text-wrap: pretty; }

a { color: inherit; text-decoration-thickness: 2px; text-underline-offset: 0.22em; }
a:hover { text-decoration-color: currentColor; }

:focus-visible {
  outline: 3px solid var(--verde-noite);
  outline-offset: 3px;
  box-shadow: 0 0 0 3px var(--creme);
  border-radius: 4px;
}

.sr {
  position: absolute !important;
  width: 1px; height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.pular {
  position: absolute;
  left: 1rem; top: -4rem;
  z-index: 100;
  padding: 0.75rem 1rem;
  background: var(--verde);
  color: var(--branco);
  font-weight: 700;
  border-radius: var(--raio);
}
.pular:focus { top: 1rem; }

.icone {
  width: 1.15em;
  height: 1.15em;
  flex: none;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
}
svg.icone[viewBox="0 0 24 24"]:not([fill="none"]) { fill: currentColor; stroke: none; }

/* ---------- Botões e links ---------- */

.botao {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55em;
  min-height: 48px;
  padding: 0.7rem 1.35rem;
  border: 2px solid transparent;
  border-radius: 999px;
  font: 700 1rem/1.1 var(--texto);
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.25s var(--ease), color 0.25s var(--ease), border-color 0.25s var(--ease), transform 0.25s var(--ease);
}
.botao:active { transform: translateY(1px); }

.botao--verde { background: var(--verde); color: var(--branco); }
.botao--verde:hover { background: var(--verde-sombra); }

.botao--lona { background: var(--branco); color: var(--verde); }
.botao--lona:hover { background: var(--creme); }

.botao--linha { background: transparent; color: var(--verde); border-color: var(--verde); }
.botao--linha:hover { background: var(--verde); color: var(--branco); }

.botao--pequeno { min-height: 40px; padding: 0.45rem 0.95rem; font-size: 0.92rem; }
.botao--grande { min-height: 60px; padding: 1rem 2rem; font-size: 1.15rem; }

.botao .icone--ok { display: none; }
.botao.copiado .icone--copiar { display: none; }
.botao.copiado .icone--ok { display: block; }
.botao.copiado { background: var(--verde-noite); color: var(--branco); border-color: var(--verde-noite); }

.link-seta {
  font-weight: 700;
  color: var(--verde);
  text-decoration: underline;
  text-decoration-color: rgb(5 77 41 / 0.35);
}
.link-seta .icone {
  display: inline-block;
  vertical-align: -0.2em;
  margin-left: 0.2em;
  transition: transform 0.3s var(--ease);
}
.link-seta:hover .icone { transform: translateX(4px); }
.sem-quebra { white-space: nowrap; }

/* ---------- O beiral da tenda ---------- */

.beiral {
  position: relative;
  height: var(--beiral);
  filter: drop-shadow(0 7px 6px rgb(6 38 20 / 0.22));
  pointer-events: none;
  overflow-x: clip;
}
.beiral::before {
  content: "";
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(90deg, var(--faixa-a, var(--verde)) 0 var(--gomo), var(--faixa-b, var(--branco)) var(--gomo) calc(var(--gomo) * 2));
  -webkit-mask:
    radial-gradient(circle at 50% 0, #000 calc(var(--gomo) / 2 - 0.5px), #0000 calc(var(--gomo) / 2)) 0 100% / var(--gomo) calc(var(--gomo) / 2) repeat-x,
    linear-gradient(#000 0 0) 0 0 / 100% calc(100% - var(--gomo) / 2 + 1px) no-repeat;
  mask:
    radial-gradient(circle at 50% 0, #000 calc(var(--gomo) / 2 - 0.5px), #0000 calc(var(--gomo) / 2)) 0 100% / var(--gomo) calc(var(--gomo) / 2) repeat-x,
    linear-gradient(#000 0 0) 0 0 / 100% calc(100% - var(--gomo) / 2 + 1px) no-repeat;
  transform-origin: 50% 0;
}
.beiral--secao {
  position: absolute;
  inset: 0 0 auto 0;
  z-index: 2;
  --faixa-a: var(--creme);
  --faixa-b: var(--verde-sombra);
}
.beiral--claro { --faixa-a: var(--verde); --faixa-b: var(--branco); }
.beiral--claro::before {
  background:
    linear-gradient(var(--verde-sombra) 0 0) 0 0 / 100% 8px no-repeat,
    repeating-linear-gradient(90deg, var(--verde) 0 var(--gomo), var(--branco) var(--gomo) calc(var(--gomo) * 2));
}

.beiral.ao-vento::before { animation: balanco 2.4s var(--ease) both; }

@keyframes balanco {
  0%   { transform: scaleY(1) skewX(0deg); }
  14%  { transform: scaleY(1.16) skewX(-4deg); }
  32%  { transform: scaleY(0.94) skewX(2.6deg); }
  52%  { transform: scaleY(1.06) skewX(-1.4deg); }
  72%  { transform: scaleY(0.98) skewX(0.6deg); }
  100% { transform: scaleY(1) skewX(0deg); }
}

/* ---------- Topo ---------- */

.topo {
  position: sticky;
  top: 0;
  z-index: 50;
}
.topo__barra {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  height: var(--barra);
  padding: 0 var(--margem);
  background: var(--verde);
  color: var(--branco);
}
.beiral--topo {
  margin-top: -1px;
  height: var(--beiral);
  transition: height 0.45s var(--ease);
}
.topo--recolhido .beiral--topo { height: var(--beiral-recolhido); }

.marca {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  flex: none;
  text-decoration: none;
}
.marca__simbolo { width: 46px; height: auto; }
.marca__palavra { width: 108px; height: auto; }

.menu { margin-left: auto; }
.menu ul { display: flex; gap: clamp(0.9rem, 1.4vw, 1.6rem); }
.menu a {
  display: block;
  padding: 0.4rem 0;
  font-weight: 600;
  font-size: 0.97rem;
  color: var(--branco);
  text-decoration: none;
  background: linear-gradient(var(--creme), var(--creme)) 0 100% / 0 2px no-repeat;
  transition: background-size 0.35s var(--ease);
}
.menu a:hover { background-size: 100% 2px; }

.topo__doar { flex: none; min-height: 42px; padding: 0.5rem 1.3rem; }

.topo__abrir {
  display: none;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border: 0;
  border-radius: 50%;
  background: var(--verde-sombra);
  color: var(--branco);
  cursor: pointer;
}
.topo__abrir .icone { width: 24px; height: 24px; }
.topo__abrir .icone--fechar { display: none; }
.topo__abrir[aria-expanded="true"] .icone--abrir { display: none; }
.topo__abrir[aria-expanded="true"] .icone--fechar { display: block; }

/* ---------- Abertura ---------- */

.abertura {
  display: grid;
  place-items: center;
  min-height: calc(100svh - var(--barra));
  margin-top: calc(var(--beiral) * -1);
  padding: calc(var(--beiral) + clamp(1.25rem, 4vh, 3rem)) var(--margem) clamp(2.5rem, 6vh, 4.5rem);
  border-bottom: 2px dashed rgb(5 77 41 / 0.28);
}
.abertura__miolo {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  max-width: 1120px;
  text-align: center;
}

.abertura__intro {
  max-width: 40rem;
  margin-bottom: clamp(1.1rem, 3vh, 1.9rem);
  padding-bottom: clamp(1.1rem, 3vh, 1.9rem);
  border-bottom: 2px dashed rgb(5 77 41 / 0.28);
  font-size: clamp(1.08rem, 0.95rem + 0.45vw, 1.3rem);
  font-weight: 500;
  line-height: 1.45;
  color: var(--tinta);
  text-wrap: balance;
}
.abertura__intro b {
  font-family: var(--display);
  font-stretch: 112%;
  font-weight: 850;
  color: var(--verde);
}

.abertura h1 {
  font-size: clamp(2.4rem, min(6.4vw, 8.4vh), 6rem);
  font-weight: 850;
  font-stretch: 118%;
  line-height: 0.95;
  letter-spacing: -0.03em;
  color: var(--verde);
  text-wrap: balance;
}
.abertura h1 span { display: block; }

.abertura__ref {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-top: clamp(0.9rem, 2.4vh, 1.4rem);
  font-family: var(--display);
  font-stretch: 112%;
  font-weight: 700;
  font-size: 1.05rem;
  color: var(--tinta-suave);
}
.abertura__ref::before,
.abertura__ref::after {
  content: "";
  width: clamp(2rem, 6vw, 4.5rem);
  border-top: 2px dashed rgb(5 77 41 / 0.35);
}

.abertura__lede {
  margin-top: clamp(0.8rem, 2.2vh, 1.3rem);
  max-width: 44rem;
  font-size: 1.15rem;
  line-height: 1.55;
  color: var(--tinta-suave);
  text-wrap: pretty;
}

.abertura__programas {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 0.6rem 1rem;
  margin-top: clamp(1.5rem, 4vh, 2.5rem);
}
.abertura__programas p {
  font-family: var(--display);
  font-stretch: 112%;
  font-weight: 800;
  font-size: 0.95rem;
  color: var(--verde);
}
.abertura__programas ol {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem;
}
.abertura__programas a {
  display: block;
  padding: 0.4rem 0.85rem;
  border: 2px dashed rgb(5 77 41 / 0.4);
  border-radius: 999px;
  font-weight: 700;
  font-size: 0.92rem;
  line-height: 1.2;
  color: var(--verde);
  text-decoration: none;
  transition: border-color 0.3s var(--ease), background-color 0.3s var(--ease);
}
.abertura__programas a:hover {
  border-color: var(--verde);
  background: rgb(5 77 41 / 0.07);
}

/* ---------- A mesa dobrável ---------- */

.mesa { position: relative; }
.mesa__tampo {
  position: relative;
  z-index: 1;
  background: var(--branco);
  margin-bottom: 22px;
  border-radius: var(--raio) var(--raio) 0 0;
  box-shadow: var(--sombra-mesa);
}
.mesa__tampo::after {
  content: "";
  position: absolute;
  left: -6px; right: -6px;
  bottom: -22px;
  height: 22px;
  background: linear-gradient(var(--madeira) 0 16px, var(--madeira-escura) 16px);
  border-radius: 2px 2px 4px 4px;
  box-shadow: 0 18px 26px -14px rgb(6 38 20 / 0.55);
}

.mesa--abertura {
  width: 100%;
  max-width: 36rem;
  margin-top: clamp(1.4rem, 3.6vh, 2.25rem);
  text-align: left;
}
.mesa--abertura .mesa__tampo { padding: 1.2rem 1.4rem 0.9rem; }

@media (min-width: 1181px) {
  .mesa--abertura { width: auto; max-width: none; }
  .mesa--abertura .mesa__tampo {
    display: grid;
    grid-template-columns: auto auto;
    align-items: center;
    padding: 0.9rem 1.75rem 0.5rem;
  }
  .mesa--abertura .pix {
    display: grid;
    grid-template-columns: auto auto;
    column-gap: 1.5rem;
    align-items: center;
    padding-right: 1.75rem;
  }
  .mesa--abertura .pix__rotulo { grid-column: 1 / -1; }
  .mesa--abertura .pix__chave { margin: 0.1rem 0 0; }
  .mesa--abertura .pix__botao { width: auto; }
  .mesa--abertura .pix__nota { grid-column: 1 / -1; margin-top: 0.3rem; font-size: 0.85rem; }
  .mesa--abertura .atalhos {
    grid-template-columns: auto;
    margin: 0 0 0.4rem;
    padding-left: 1.75rem;
    border-top: 0;
    border-left: 2px dashed rgb(5 77 41 / 0.28);
  }
  .mesa--abertura .atalhos a,
  .mesa--abertura .atalhos li + li a {
    flex-direction: row;
    align-items: center;
    gap: 0.65rem;
    padding: 0.5rem 0.25rem;
    border-left: 0;
    white-space: nowrap;
  }
  .mesa--abertura .atalhos li + li a { border-top: 2px dashed rgb(5 77 41 / 0.28); }
  .mesa--abertura .atalhos .icone { width: 1.3rem; height: 1.3rem; }
}

.pix__rotulo {
  font-weight: 700;
  font-size: 0.95rem;
  color: var(--tinta-suave);
}
.pix__rotulo span { font-weight: 500; }
.pix__chave {
  margin: 0.15rem 0 0.9rem;
  font-family: var(--display);
  font-weight: 800;
  font-stretch: 105%;
  font-size: clamp(1.7rem, 1.2rem + 1.4vw, 2.35rem);
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.01em;
  color: var(--verde);
  user-select: all;
}
.pix__botao { width: 100%; }
.pix__nota {
  min-height: 1.4em;
  margin-top: 0.45rem;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--verde);
}

.atalhos {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 0.6rem;
  border-top: 2px dashed rgb(5 77 41 / 0.28);
}
.atalhos a {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.35rem;
  padding: 0.95rem 0.6rem 0.2rem;
  font-weight: 700;
  font-size: 0.95rem;
  line-height: 1.2;
  color: var(--verde);
  text-decoration: none;
}
.atalhos li + li a { border-left: 2px dashed rgb(5 77 41 / 0.28); padding-left: 0.9rem; }
.atalhos .icone { width: 1.5rem; height: 1.5rem; }
.atalhos a:hover { color: var(--verde-noite); text-decoration: underline; text-decoration-color: var(--verde); }

/* ---------- Seções ---------- */

section { position: relative; }

.secao-topo {
  max-width: var(--largura);
  margin: 0 auto;
  padding: 0 var(--margem);
}
.secao-topo p {
  margin-top: 0.9rem;
  max-width: 40rem;
  font-size: 1.15rem;
  color: var(--tinta-suave);
}
.secao-topo--claro h2 { color: var(--branco); }
.secao-topo--claro p { color: var(--tinta-creme); }

/* ---------- Quem somos ---------- */

.quem {
  padding: clamp(5rem, 9vw, 8.5rem) 0 clamp(4rem, 7vw, 6.5rem);
}
.quem__grade {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-template-areas:
    "fala fala fala fala fala fala fala fotoa fotoa fotoa fotoa fotoa"
    "fotob fotob fotob fotob fotob sobre sobre sobre sobre sobre sobre sobre";
  gap: clamp(2rem, 4vw, 4rem) clamp(1.5rem, 3vw, 3rem);
  max-width: var(--largura);
  margin: 0 auto;
  padding: 0 var(--margem);
}
.quem__fala { grid-area: fala; align-self: center; }
.quem__foto--a { grid-area: fotoa; }
.quem__foto--b { grid-area: fotob; align-self: start; }
.quem__sobre { grid-area: sobre; align-self: center; }

.quem__foto img {
  width: 100%;
  border-radius: var(--raio);
  object-fit: cover;
}
.quem__foto--a img { aspect-ratio: 4 / 5; object-position: 50% 40%; }
.quem__foto--b img { aspect-ratio: 4 / 3; object-position: 70% 50%; }

.quem__fatos { margin-top: 1.8rem; }
.quem__fatos li {
  padding: 0.85rem 0;
  border-top: 2px dashed rgb(5 77 41 / 0.28);
  font-family: var(--display);
  font-stretch: 108%;
  font-weight: 650;
  font-size: clamp(1.2rem, 1rem + 0.7vw, 1.6rem);
  line-height: 1.2;
  color: var(--tinta);
}
.quem__fatos li:last-child { border-bottom: 2px dashed rgb(5 77 41 / 0.28); }

.quem__citacao {
  margin-top: 2rem;
  font-size: 1.3rem;
  line-height: 1.45;
  font-weight: 600;
  color: var(--verde);
}
.quem__crenca { margin-top: 0.9rem; color: var(--tinta-suave); max-width: 36rem; }

.quem__sobre h3 { margin-bottom: 1rem; }
.quem__sobre p { max-width: 62ch; color: var(--tinta-suave); }
.quem__sobre p + p { margin-top: 0.9rem; }
.quem__acoes {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem 1.6rem;
  margin-top: 1.6rem !important;
}

/* ---------- Faixa da missão ---------- */

.faixa {
  padding: calc(var(--beiral) + clamp(3.5rem, 7vw, 6rem)) var(--margem) clamp(4rem, 7vw, 6rem);
  background: var(--verde);
  color: var(--branco);
}
.faixa__lona {
  position: relative;
  max-width: var(--largura);
  margin: 0 auto;
  padding: clamp(2.5rem, 5vw, 4.5rem) clamp(1.5rem, 5vw, 5rem);
  background-color: var(--verde-sombra);
  background-image:
    repeating-linear-gradient(0deg, rgb(255 255 255 / 0.035) 0 1px, transparent 1px 3px),
    repeating-linear-gradient(90deg, rgb(0 0 0 / 0.08) 0 1px, transparent 1px 3px);
  border-radius: 4px;
  box-shadow: inset 0 0 0 3px rgb(234 231 216 / 0.14), 0 30px 50px -30px rgb(0 0 0 / 0.55);
}
.ilhos {
  position: absolute;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: radial-gradient(circle, var(--verde) 0 4px, #c9cec8 4.5px 8.5px, #8d958e 9px 10px, transparent 10.5px);
}
.ilhos--1 { top: 14px; left: 14px; }
.ilhos--2 { top: 14px; right: 14px; }
.ilhos--3 { bottom: 14px; left: 14px; }
.ilhos--4 { bottom: 14px; right: 14px; }

.faixa__missao {
  display: grid;
  gap: 0.2em;
  font-family: var(--display);
  font-weight: 800;
  font-stretch: 122%;
  text-transform: uppercase;
  font-size: clamp(1.45rem, 0.45rem + 3.85vw, 4.3rem);
  line-height: 1;
  letter-spacing: -0.01em;
  color: var(--creme);
}
.faixa__missao b { color: var(--branco); font-weight: 900; }
.faixa__fim {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.3em;
  margin-top: 0.25em;
  padding-top: 0.3em;
  border-top: 3px dashed rgb(234 231 216 / 0.35);
}
.faixa__marca { width: 1.5em; height: auto; flex: none; }

.faixa__pe {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: clamp(2rem, 5vw, 5rem);
  max-width: var(--largura);
  margin: clamp(2.5rem, 5vw, 4rem) auto 0;
}
.faixa__pe h3 { color: var(--creme); margin-bottom: 0.8rem; }
.faixa__pe p { font-size: 1.2rem; line-height: 1.5; color: var(--tinta-creme); max-width: 36rem; }
.valores li {
  padding: 0.55rem 0;
  border-top: 2px dashed rgb(234 231 216 / 0.3);
  font-size: 1.15rem;
  font-weight: 600;
  color: var(--branco);
}

/* ---------- Programas ---------- */

.programas {
  padding: calc(var(--beiral) + clamp(4rem, 8vw, 7rem)) 0 clamp(4rem, 8vw, 7rem);
}
.postos {
  display: grid;
  gap: clamp(3.5rem, 7vw, 6.5rem);
  max-width: var(--largura);
  margin: clamp(3rem, 6vw, 5rem) auto 0;
  padding: 0 var(--margem);
}
.posto {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  align-items: center;
  gap: clamp(1.5rem, 4vw, 4rem);
}
.posto__foto { grid-column: 1 / 8; }
.posto__ficha { grid-column: 8 / 13; }
.posto:nth-child(even) .posto__foto { grid-column: 6 / 13; grid-row: 1; }
.posto:nth-child(even) .posto__ficha { grid-column: 1 / 6; grid-row: 1; }

.posto__foto img {
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  border-radius: var(--raio);
}
.posto--tenda .posto__foto img { aspect-ratio: 4 / 3; object-position: 50% 35%; }
.posto--jairo .posto__foto img { object-position: 50% 45%; }
.posto--mesa .posto__foto img { aspect-ratio: 16 / 9; }
.posto--gota .posto__foto img { object-fit: contain; background: #fbf5e9; }

.posto__ficha h3 { font-size: clamp(1.7rem, 1.2rem + 1.4vw, 2.6rem); }
.posto__ficha > p { margin-top: 1.1rem; color: var(--tinta-suave); max-width: 60ch; }

.ficha { margin-top: 1.5rem; }
.ficha > div {
  display: grid;
  grid-template-columns: 8.5rem 1fr;
  gap: 1rem;
  padding: 0.75rem 0;
  border-top: 2px dashed rgb(5 77 41 / 0.28);
}
.ficha > div:last-child { border-bottom: 2px dashed rgb(5 77 41 / 0.28); }
.ficha dt { font-weight: 700; color: var(--tinta-suave); font-size: 0.95rem; }
.ficha dd { font-weight: 600; }

/* ---------- Ajude ---------- */

.ajude {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: start;
  padding: clamp(4.5rem, 8vw, 7rem) max(var(--margem), calc((100% - var(--largura)) / 2 + var(--margem)));
  background: var(--creme);
}
.ajude__texto { position: sticky; top: calc(var(--barra) + var(--beiral) + 1.5rem); }
.ajude__texto > p { margin-top: 1rem; color: var(--tinta-suave); max-width: 62ch; }
.ajude__texto .ajude__chamado {
  margin-top: 1.4rem;
  font-size: 1.3rem;
  line-height: 1.45;
  font-weight: 650;
  color: var(--verde);
}
.ajude__acoes {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem 1.6rem;
  margin-top: 1.8rem !important;
}

.mural {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  grid-auto-rows: clamp(90px, 9vw, 130px);
  gap: 10px;
}
.mural__item { overflow: hidden; border-radius: var(--raio); background: var(--verde-claro); }
.mural__item img { width: 100%; height: 100%; object-fit: cover; }
.mural__item--1 { grid-column: 1 / 4; grid-row: span 4; }
.mural__item--2 { grid-column: 4 / 7; grid-row: span 3; }
.mural__item--3 { grid-column: 4 / 7; grid-row: span 3; }
.mural__item--4 { grid-column: 1 / 4; grid-row: span 2; }
.mural__item--5 { grid-column: 1 / 3; grid-row: span 3; }
.mural__item--6 { grid-column: 3 / 7; grid-row: span 3; }
.mural__item--7 { grid-column: 1 / 4; grid-row: span 3; }
.mural__item--8 { grid-column: 4 / 7; grid-row: span 3; }
.mural__item--1 img { object-position: 50% 30%; }

/* ---------- Apoio: a mesa grande ---------- */

.apoio {
  padding: calc(var(--beiral) + clamp(4rem, 8vw, 7rem)) 0 clamp(4.5rem, 8vw, 7rem);
  background: var(--verde);
}
.mesa--grande {
  max-width: var(--largura);
  margin: clamp(2.5rem, 5vw, 4rem) auto 0;
  padding: 0 var(--margem);
}
.mesa--grande .mesa__tampo {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 0;
  padding: clamp(1.5rem, 3vw, 2.75rem);
}
.apoio__pix { grid-column: 1 / 8; padding-right: clamp(1.5rem, 3vw, 3rem); }
.apoio__banco {
  grid-column: 8 / 13;
  padding-left: clamp(1.5rem, 3vw, 3rem);
  border-left: 2px dashed rgb(5 77 41 / 0.28);
}
.apoio__banco > p { margin-top: 0.5rem; color: var(--tinta-suave); }

.apoio__pix-corpo {
  display: flex;
  gap: 1.75rem;
  align-items: flex-start;
  margin-top: 1.25rem;
}
.apoio__qr {
  width: 168px;
  flex: none;
  padding: 10px;
  background: var(--branco);
  border: 2px solid var(--creme);
  border-radius: var(--raio);
  image-rendering: pixelated;
}

.dados { flex: 1; margin-top: 1rem; }
.apoio__pix .dados { margin-top: 0; }
.dados__linha {
  padding: 0.7rem 0;
  border-top: 2px dashed rgb(5 77 41 / 0.2);
}
.dados__linha:first-child { border-top: 0; padding-top: 0; }
.dados dt { font-size: 0.88rem; font-weight: 700; color: var(--tinta-suave); }
.dados dd {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.6rem 1rem;
  margin-top: 0.15rem;
  font-weight: 600;
}
.dados__valor {
  font-family: var(--display);
  font-stretch: 105%;
  font-weight: 750;
  font-size: 1.3rem;
  font-variant-numeric: tabular-nums;
  color: var(--verde);
  user-select: all;
}
.dados__linha--chave .dados__valor { font-size: clamp(1.4rem, 1.1rem + 1vw, 1.9rem); }

.formas {
  grid-column: 1 / 13;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin-top: clamp(1.75rem, 3vw, 2.5rem);
  border-top: 2px dashed rgb(5 77 41 / 0.28);
}
.formas li {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: 1.5rem 1.25rem 0.25rem;
}
.formas li:first-child { padding-left: 0; }
.formas li + li { border-left: 2px dashed rgb(5 77 41 / 0.28); }
.formas h3 { font-size: 1.25rem; }
.formas p { flex: 1; font-size: 0.97rem; color: var(--tinta-suave); }

/* ---------- Testemunhos ---------- */

.testemunhos { padding: calc(var(--beiral) + clamp(4rem, 8vw, 7rem)) 0 clamp(5rem, 9vw, 8rem); }
.bilhetes {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 1.5rem);
  max-width: var(--largura);
  margin: clamp(2.5rem, 5vw, 4rem) auto 0;
  padding: 0 var(--margem);
}
.bilhete {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 1.25rem;
  padding: clamp(1.4rem, 2.5vw, 2.2rem);
  background: var(--branco);
  border-radius: var(--raio);
  box-shadow: 0 1px 0 rgb(5 77 41 / 0.08), 0 16px 32px -24px rgb(6 38 20 / 0.35);
}
.bilhete--1, .bilhete--4, .bilhete--6 { grid-column: span 2; }
.bilhete--3 { background: var(--verde); color: var(--branco); }
.bilhete--6 { background: var(--creme); box-shadow: none; }

.bilhete__frase {
  font-family: var(--display);
  font-stretch: 108%;
  font-weight: 700;
  font-size: clamp(1.25rem, 1rem + 0.8vw, 1.65rem);
  line-height: 1.22;
  letter-spacing: -0.01em;
  color: var(--verde);
}
.bilhete--1 .bilhete__frase,
.bilhete--4 .bilhete__frase,
.bilhete--6 .bilhete__frase { font-size: clamp(1.5rem, 1.1rem + 1.4vw, 2.3rem); max-width: 24ch; }
.bilhete--3 .bilhete__frase { color: var(--branco); font-size: clamp(1.6rem, 1.2rem + 1.4vw, 2.4rem); }

.bilhete figcaption {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  margin-top: 1.25rem;
  font-weight: 700;
}
.bilhete figcaption img {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  object-fit: cover;
  border: 3px solid var(--creme);
}
.bilhete--3 figcaption img { border-color: var(--verde-sombra); }

.bilhete__completo summary {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  min-height: 44px;
  font-weight: 700;
  font-size: 0.95rem;
  color: var(--verde);
  cursor: pointer;
  list-style: none;
  text-decoration: underline;
  text-decoration-color: rgb(5 77 41 / 0.35);
  text-underline-offset: 0.22em;
}
.bilhete__completo summary::-webkit-details-marker { display: none; }
.bilhete__completo summary .icone { transition: transform 0.3s var(--ease); }
.bilhete__completo[open] summary .icone { transform: rotate(180deg); }
.bilhete__completo p {
  margin-top: 0.75rem;
  font-size: 0.98rem;
  line-height: 1.65;
  color: var(--tinta-suave);
  max-width: 68ch;
}
.bilhete--3 .bilhete__completo summary { color: var(--branco); text-decoration-color: rgb(255 255 255 / 0.45); }
.bilhete--3 .bilhete__completo p { color: var(--tinta-creme); }

/* ---------- Equipe ---------- */

.equipe {
  padding: clamp(4.5rem, 8vw, 7rem) 0;
  background: var(--creme);
}
.equipe__presidente {
  display: grid;
  grid-template-columns: minmax(180px, 280px) 1fr;
  gap: clamp(1.5rem, 3vw, 3rem);
  align-items: end;
  max-width: var(--largura);
  margin: clamp(2.5rem, 5vw, 4rem) auto 0;
  padding: 0 var(--margem);
}
.equipe__presidente img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: var(--raio);
}
.equipe__presidente h3 { font-size: clamp(2rem, 1.4rem + 2vw, 3.2rem); }
.equipe__presidente p:last-child { margin-top: 0.7rem; color: var(--tinta-suave); max-width: 40rem; font-size: 1.1rem; }
.equipe__cargo { margin-top: 0.35rem; font-weight: 700; color: var(--tinta-suave); }

.equipe__grupos {
  display: grid;
  gap: clamp(2.5rem, 5vw, 3.5rem);
  max-width: var(--largura);
  margin: clamp(3rem, 6vw, 4.5rem) auto 0;
  padding: 0 var(--margem);
}
.equipe__grupo > h3 {
  padding-bottom: 0.8rem;
  border-bottom: 2px dashed rgb(5 77 41 / 0.3);
  font-size: 1.4rem;
}
.pessoas {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 1.75rem 1.25rem;
  margin-top: 1.5rem;
}
.pessoas li { display: flex; flex-direction: column; }
.pessoas img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: var(--raio);
  background: var(--verde-claro);
}
.pessoas__nome { margin-top: 0.7rem; font-weight: 700; line-height: 1.25; }
.pessoas__cargo { font-size: 0.92rem; color: var(--tinta-suave); line-height: 1.35; }

.equipe__transparencia {
  max-width: var(--largura);
  margin: clamp(2.5rem, 5vw, 3.5rem) auto 0;
  padding: 0 var(--margem);
}

/* ---------- Jornal ---------- */

.jornal { padding: clamp(5rem, 9vw, 8rem) 0 clamp(4rem, 7vw, 6rem); }
.jornal__atual {
  display: grid;
  grid-template-columns: minmax(220px, 380px) 1fr;
  gap: clamp(2rem, 5vw, 5rem);
  align-items: center;
  max-width: var(--largura);
  margin: 0 auto;
  padding: 0 var(--margem);
}
.jornal__capa {
  display: block;
  transform: rotate(-2.5deg);
  transition: transform 0.5s var(--ease);
}
.jornal__capa:hover { transform: rotate(0deg) translateY(-4px); }
.jornal__capa img {
  width: 100%;
  border-radius: 3px;
  box-shadow: 0 28px 44px -26px rgb(6 38 20 / 0.6), 0 2px 6px rgb(6 38 20 / 0.15);
}
.jornal__texto > p { margin-top: 0.9rem; font-size: 1.15rem; color: var(--tinta-suave); }
.jornal__texto .jornal__edicao {
  margin: 1.5rem 0 1.6rem;
  font-family: var(--display);
  font-stretch: 115%;
  font-weight: 800;
  font-size: clamp(1.6rem, 1.2rem + 1.2vw, 2.3rem);
  color: var(--verde);
}
.jornal__edicao span { display: block; font-size: 0.55em; font-weight: 600; color: var(--tinta-suave); }

.jornal__estante {
  max-width: var(--largura);
  margin: clamp(3rem, 6vw, 4.5rem) auto 0;
  padding: 0 var(--margem);
}
.jornal__estante h3 { font-size: 1.3rem; }
.estante__cabeca {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.estante__setas { display: flex; gap: 0.6rem; }
.estante__setas[hidden] { display: none; }
.estante__seta {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border: 2px solid var(--verde);
  border-radius: 999px;
  background: transparent;
  color: var(--verde);
  cursor: pointer;
  transition: background-color 0.2s var(--ease), color 0.2s var(--ease), opacity 0.2s var(--ease);
}
.estante__seta .icone { width: 22px; height: 22px; }
.estante__seta:hover:not(:disabled) { background: var(--verde); color: var(--lona); }
.estante__seta:active:not(:disabled) { background: var(--verde-sombra); border-color: var(--verde-sombra); color: var(--lona); }
.estante__seta:disabled { opacity: 0.3; cursor: default; }
.estante {
  display: flex;
  gap: clamp(1.1rem, 2vw, 1.6rem);
  margin-top: 1.25rem;
  padding: 0.5rem 0.25rem 1.25rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-padding-inline: 0.25rem;
  overscroll-behavior-x: contain;
  border-bottom: 14px solid var(--madeira);
}
.estante--setas { scrollbar-width: none; }
.estante--setas::-webkit-scrollbar { display: none; }
.estante li { flex: none; width: clamp(170px, 15vw + 40px, 230px); scroll-snap-align: start; }
.estante a {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  text-decoration: none;
  font-size: 0.92rem;
  font-weight: 700;
  color: var(--tinta-suave);
}
.estante img {
  width: 100%;
  aspect-ratio: 5 / 7;
  object-fit: cover;
  object-position: top;
  border-radius: 2px;
  box-shadow: 0 14px 24px -14px rgb(6 38 20 / 0.6);
  transition: transform 0.35s var(--ease);
}
.estante a:hover img { transform: translateY(-6px); }

/* ---------- Parceiros ---------- */

.parceiros {
  padding: clamp(4rem, 7vw, 6rem) 0;
  background: var(--branco);
}
.parceiros__lista {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
  gap: 1rem;
  max-width: var(--largura);
  margin: clamp(2rem, 4vw, 3rem) auto 0;
  padding: 0 var(--margem);
}
.parceiros__lista li > * {
  display: grid;
  place-items: center;
  height: 120px;
  padding: 1rem 1.25rem;
  border: 2px dashed rgb(5 77 41 / 0.22);
  border-radius: var(--raio);
  transition: border-color 0.3s var(--ease);
}
.parceiros__lista a:hover { border-color: var(--verde); }
.parceiros__lista img { max-height: 84px; width: auto; max-width: 100%; object-fit: contain; }
.parceiros__cta {
  max-width: var(--largura);
  margin: 1.75rem auto 0;
  padding: 0 var(--margem);
}

/* ---------- Instagram ---------- */

.instagram {
  padding: clamp(4.5rem, 8vw, 7rem) var(--margem);
  max-width: calc(var(--largura));
  margin: 0 auto;
}
.instagram__cabeca {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  justify-content: space-between;
  gap: 1rem 2rem;
}
.instagram__cabeca h2 { max-width: 16ch; }
.instagram__perfil {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  font-family: var(--display);
  font-stretch: 110%;
  font-weight: 800;
  font-size: clamp(1.3rem, 1rem + 1vw, 1.9rem);
  color: var(--verde);
  text-decoration: none;
}
.instagram__perfil .icone { width: 1.1em; height: 1.1em; }
.instagram__corpo {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: clamp(2rem, 4vw, 4rem);
  align-items: start;
  margin-top: clamp(2rem, 4vw, 3rem);
}
.recados { display: grid; gap: 1.6rem; }
.instagram__fotos {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
}
.instagram__fotos a { display: block; overflow: hidden; border-radius: var(--raio); }
.instagram__fotos img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  transition: transform 0.5s var(--ease);
}
.instagram__fotos a:hover img { transform: scale(1.04); }
.recados li {
  padding-top: 1.1rem;
  border-top: 2px dashed rgb(5 77 41 / 0.3);
  font-size: 1.15rem;
  line-height: 1.5;
  color: var(--tinta);
}
.instagram__acoes {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem 1.6rem;
  margin-top: 2.2rem;
}

/* ---------- Mantenedor ---------- */

.mantenedor {
  padding: calc(var(--beiral) + clamp(4.5rem, 8vw, 7rem)) var(--margem) clamp(5rem, 9vw, 8rem);
  background: var(--verde);
  color: var(--branco);
}
.mantenedor__corpo {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: center;
  max-width: var(--largura);
  margin: 0 auto;
}
.mantenedor__foto img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: 55% 50%;
  border-radius: var(--raio);
}
.mantenedor h2 {
  max-width: 14ch;
  font-size: clamp(2.4rem, 1.2rem + 4vw, 5.2rem);
  font-stretch: 120%;
  color: var(--branco);
}
.mantenedor__lede { margin-top: 1rem; font-size: 1.3rem; color: var(--tinta-creme); }
.mantenedor__fala {
  margin-top: clamp(1.5rem, 3vw, 2.2rem);
  padding-top: 1.4rem;
  border-top: 2px dashed rgb(234 231 216 / 0.35);
  max-width: 40rem;
  font-size: 1.2rem;
  line-height: 1.6;
  color: var(--tinta-creme);
}
.mantenedor__fala strong { color: var(--branco); font-weight: 800; }
.mantenedor__acao {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem 1.6rem;
  margin-top: clamp(2.5rem, 5vw, 3.5rem);
  font-size: 1.1rem;
  color: var(--tinta-creme);
}

/* ---------- Rodapé ---------- */

.rodape {
  padding: clamp(3.5rem, 7vw, 5.5rem) var(--margem) 2rem;
  background: var(--verde-noite);
  color: var(--tinta-creme);
}
.rodape__grade {
  display: grid;
  grid-template-columns: 1.1fr 1.4fr 1fr 0.8fr;
  gap: clamp(2rem, 4vw, 3.5rem);
  max-width: var(--largura);
  margin: 0 auto;
}
.rodape__marca img { width: 200px; }
.rodape__marca p { margin-top: 1.1rem; max-width: 22rem; font-size: 0.97rem; }
.rodape h2 {
  margin-bottom: 1rem;
  font-size: 1.05rem;
  font-stretch: 110%;
  color: var(--creme);
}
.rodape li { margin-bottom: 0.65rem; font-size: 0.97rem; }
.rodape a { color: var(--branco); text-decoration-color: rgb(255 255 255 / 0.3); }
.rodape__contatos li { display: flex; gap: 0.7rem; align-items: flex-start; }
.rodape__contatos .icone { margin-top: 0.2em; color: var(--creme); }
.rodape__redes a { display: inline-flex; gap: 0.6rem; align-items: center; }
.rodape__direitos {
  max-width: var(--largura);
  margin: clamp(2.5rem, 5vw, 4rem) auto 0;
  padding-top: 1.5rem;
  border-top: 2px dashed rgb(234 231 216 / 0.2);
  font-size: 0.88rem;
}

/* ---------- WhatsApp flutuante ---------- */

.whats {
  position: fixed;
  right: clamp(1rem, 2vw, 1.75rem);
  bottom: clamp(1rem, 2vw, 1.75rem);
  z-index: 40;
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  min-height: 56px;
  padding: 0.6rem 1.2rem 0.6rem 0.9rem;
  border-radius: 999px;
  background: var(--verde);
  color: var(--branco);
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 12px 24px -10px rgb(6 38 20 / 0.6);
  transition: transform 0.3s var(--ease), background-color 0.3s var(--ease), opacity 0.3s var(--ease), visibility 0s;
}
.whats:hover { transform: translateY(-3px); background: var(--verde-sombra); }
.whats--oculto {
  opacity: 0;
  visibility: hidden;
  transform: translateY(12px);
  transition: transform 0.3s var(--ease), opacity 0.3s var(--ease), visibility 0s linear 0.3s;
}
.whats .icone { width: 28px; height: 28px; }

/* ---------- Responsivo ---------- */

/* ---------- Programas: acesso ao formulário ---------- */

.posto__servir { margin-top: 1.5rem; }

/* ---------- Páginas internas ---------- */

.pagina { padding: calc(var(--beiral) + clamp(2.5rem, 5vw, 4.5rem)) 0 clamp(4rem, 8vw, 6.5rem); }
.pagina__grade {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: start;
  max-width: var(--largura);
  margin: 0 auto;
  padding: 0 var(--margem);
}
.pagina h1 { font-size: clamp(2.2rem, 1.4rem + 2.4vw, 3.6rem); color: var(--verde); text-wrap: balance; }
.pagina__lede { margin-top: 1.1rem; max-width: 46ch; font-size: 1.15rem; color: var(--tinta-suave); }
.pagina__texto { margin-top: 1rem; max-width: 46ch; color: var(--tinta-suave); }
.pagina__subtitulo { margin-top: 2.25rem; font-size: 1.35rem; }
.pagina__foto { margin-top: 2rem; }
.pagina__foto img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--raio); }

.motivos { margin-top: 0.9rem; }
.motivos li {
  display: grid;
  grid-template-columns: 6.5rem 1fr;
  gap: 1rem;
  padding: 0.7rem 0;
  border-top: 2px dashed rgb(5 77 41 / 0.28);
}
.motivos li:last-child { border-bottom: 2px dashed rgb(5 77 41 / 0.28); }
.motivos b { font-family: var(--display); font-stretch: 112%; font-weight: 800; font-size: 1.15rem; color: var(--verde); }
.motivos cite { font-style: normal; font-weight: 700; color: var(--tinta-suave); white-space: nowrap; }

.mesa--formulario .mesa__tampo { padding: clamp(1.5rem, 3vw, 2.5rem); }

/* ---------- Formulário público ---------- */

.form [hidden] { display: none !important; }
.form__isca { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }

.form__aviso,
.form__nota {
  display: flex;
  gap: 0.7rem;
  align-items: flex-start;
  margin-bottom: 1.75rem;
  padding: 0.95rem 1.15rem;
  border-radius: var(--raio);
  font-weight: 600;
}
.form__aviso { background: #f7e6e3; color: #8e1c1c; }
.form__aviso:focus { outline: none; box-shadow: none; }
.form__aviso ul { margin-top: 0.35rem; padding-left: 1.1rem; list-style: disc; font-weight: 500; }
.form__aviso a { color: inherit; }
.form__aviso .icone, .form__nota .icone { margin-top: 0.2em; }
.form__nota { background: var(--verde-claro); color: var(--verde-noite); }

.form__indice {
  display: flex;
  gap: 0.35rem;
  margin-bottom: 2rem;
  padding-bottom: 1.25rem;
  border-bottom: 2px dashed rgb(5 77 41 / 0.28);
}
.form__indice li {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex: 1 1 0;
  min-width: 0;
  color: var(--tinta-suave);
  font-size: 0.88rem;
  font-weight: 700;
  line-height: 1.2;
}
.form__indice-num {
  display: grid;
  place-items: center;
  flex: none;
  width: 30px;
  height: 30px;
  border: 2px solid rgb(5 77 41 / 0.35);
  border-radius: 999px;
  font-variant-numeric: tabular-nums;
  transition: background-color 0.2s var(--ease), color 0.2s var(--ease), border-color 0.2s var(--ease);
}
.form__indice li.feita .form__indice-num { background: var(--verde-claro); border-color: var(--verde-claro); color: var(--verde); }
.form__indice li.atual { color: var(--verde); }
.form__indice li.atual .form__indice-num { background: var(--verde); border-color: var(--verde); color: var(--branco); }
.form__indice li { flex: none; }
.form__indice li.atual { margin-inline: 0.15rem 0.4rem; }
.form__indice li:not(.atual) .form__indice-nome { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

.form__etapa { min-width: 0; margin: 0; padding: 0; border: 0; }
.form__etapa + .form__etapa { margin-top: 2.5rem; padding-top: 2rem; border-top: 2px dashed rgb(5 77 41 / 0.28); }
.form--etapas .form__etapa + .form__etapa { margin-top: 0; padding-top: 0; border-top: 0; }
.form--etapas .form__etapa:not(.ativa) { display: none; }
.form__etapa-titulo {
  display: block;
  padding: 0 0 1.4rem;
  font-family: var(--display);
  font-stretch: 112%;
  font-weight: 800;
  font-size: clamp(1.45rem, 1.2rem + 0.8vw, 1.9rem);
  line-height: 1.1;
  color: var(--verde);
}
.form__etapa-titulo span {
  display: block;
  margin-bottom: 0.35rem;
  font-family: var(--texto);
  font-stretch: 100%;
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--tinta-suave);
}

.form__campos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.35rem 1.25rem; }
.form__campo { grid-column: 1 / -1; display: grid; gap: 0.4rem; align-content: start; min-width: 0; margin: 0; padding: 0; border: 0; }
.form__campo--curto { grid-column: span 1; }
.form__grupo {
  grid-column: 1 / -1;
  margin-top: 0.5rem;
  padding-top: 1.25rem;
  border-top: 2px dashed rgb(5 77 41 / 0.2);
  font-size: 1.15rem;
  line-height: 1.3;
}
.form__rotulo { padding: 0 0 0.1rem; font-weight: 700; line-height: 1.35; }
legend.form__rotulo { padding-bottom: 0.5rem; }
.form__obrigatorio { font-weight: 500; font-size: 0.9em; color: var(--tinta-suave); }
.form__ajuda { font-size: 0.93rem; color: var(--tinta-suave); }
.form__campo--opcoes .form__ajuda { margin: -0.2rem 0 0.4rem; }

.form input:not([type="checkbox"]):not([type="radio"]),
.form select,
.form textarea {
  width: 100%;
  min-height: 50px;
  padding: 0.7rem 0.9rem;
  border: 1.5px solid rgb(62 84 70 / 0.7);
  border-radius: var(--raio);
  background: var(--lona);
  color: var(--tinta);
  font: 500 1rem/1.4 var(--texto);
  transition: border-color 0.2s var(--ease), background-color 0.2s var(--ease);
}
.form textarea { resize: vertical; min-height: 6rem; }
.form input::placeholder, .form textarea::placeholder { color: #66766b; }
.form input:hover:not([type="checkbox"]):not([type="radio"]),
.form select:hover,
.form textarea:hover { border-color: var(--verde); }
.form input:focus:not([type="checkbox"]):not([type="radio"]),
.form select:focus,
.form textarea:focus { border-color: var(--verde); background: var(--branco); }

.form__erro {
  display: flex;
  gap: 0.4rem;
  align-items: flex-start;
  color: #8e1c1c;
  font-size: 0.95rem;
  font-weight: 700;
}
.form__erro .icone { margin-top: 0.2em; }
.form__campo--erro input:not([type="checkbox"]):not([type="radio"]),
.form__campo--erro select,
.form__campo--erro textarea { border: 2px solid #8e1c1c; }
.form__campo--erro .opcao { border-color: rgb(142 28 28 / 0.55); }

.form__opcoes { display: grid; gap: 0.5rem; }
.form__opcoes--colunas { grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr)); }
.opcao {
  display: flex;
  gap: 0.7rem;
  align-items: flex-start;
  padding: 0.7rem 0.85rem;
  border: 1.5px solid rgb(5 77 41 / 0.3);
  border-radius: var(--raio);
  background: var(--lona);
  font-weight: 600;
  line-height: 1.35;
  cursor: pointer;
  transition: border-color 0.2s var(--ease), background-color 0.2s var(--ease);
}
.opcao:hover { border-color: var(--verde); }
.opcao:has(input:checked) { border-color: var(--verde); background: var(--verde-claro); }
.opcao:has(input:focus-visible) { outline: 3px solid var(--verde-noite); outline-offset: 2px; }
.opcao input { flex: none; width: 20px; height: 20px; margin: 0.05rem 0 0; accent-color: var(--verde); }
.opcao input:focus-visible { outline: none; box-shadow: none; }

.compromisso {
  padding: 1.1rem 1.25rem;
  border-radius: var(--raio);
  background: var(--lona);
  color: var(--tinta-suave);
  font-size: 0.97rem;
}
.compromisso p + p, .compromisso ul { margin-top: 0.7rem; }
.compromisso ul { padding-left: 1.2rem; list-style: disc; }
.compromisso li + li { margin-top: 0.4rem; }
.opcao--aceite { margin-top: 0.4rem; background: var(--branco); border-width: 2px; }

.form__nav,
.form__fim {
  margin-top: 2.25rem;
  padding-top: 1.5rem;
  border-top: 2px dashed rgb(5 77 41 / 0.28);
}
.form__nav { display: flex; gap: 1rem; }
.form__nav [data-form-seguir] { margin-left: auto; }
.form--etapas .form__nav + .form__fim { margin-top: 0; }
.form__fim { display: grid; gap: 0.9rem; justify-items: start; }
.form__fim p { max-width: 52ch; font-size: 0.93rem; color: var(--tinta-suave); }
.botao[aria-busy="true"] { opacity: 0.7; cursor: progress; }

.obrigado { display: grid; gap: 1rem; justify-items: start; padding: 0.5rem 0; }
.obrigado:focus { outline: none; }
.obrigado__icone { width: 56px; height: 56px; color: var(--verde); }
.obrigado h2 { font-size: clamp(1.8rem, 1.3rem + 1.6vw, 2.6rem); color: var(--verde); }
.obrigado > p { max-width: 50ch; font-size: 1.1rem; color: var(--tinta-suave); }
.obrigado__acoes { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; margin-top: 0.5rem; }

/* ---------- Mantenedor: planos ---------- */

.pagina__topo,
.pagina__rodape { max-width: var(--largura); margin: 0 auto; padding: 0 var(--margem); }
.pagina__topo .pagina__lede { max-width: 52ch; }
.pagina__rodape { margin-top: clamp(2.5rem, 5vw, 3.5rem); }
.pagina__rodape p { max-width: 60ch; font-size: 1.1rem; color: var(--tinta-suave); }
.pagina__rodape p + p { margin-top: 1rem; }

.mesa--planos { max-width: var(--largura); margin: clamp(2.5rem, 5vw, 3.5rem) auto 0; padding: 0 var(--margem); }
.mesa--planos .mesa__tampo { padding: clamp(1.5rem, 3vw, 2.5rem); }
.planos { display: grid; grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); }
.plano { display: flex; flex-direction: column; gap: 0.55rem; padding: 0.5rem clamp(1rem, 2vw, 1.75rem); }
.plano:first-child { padding-left: 0; }
.plano + .plano { border-left: 2px dashed rgb(5 77 41 / 0.28); }
.plano__nome { font-size: 1.2rem; }
.plano__valor {
  font-family: var(--display);
  font-stretch: 112%;
  font-weight: 800;
  font-size: clamp(1.5rem, 1.15rem + 1vw, 2.1rem);
  line-height: 1.05;
  font-variant-numeric: tabular-nums;
  color: var(--verde);
  white-space: nowrap;
}
.plano__moeda, .plano__periodo {
  font-family: var(--texto);
  font-stretch: normal;
  font-size: 0.95rem;
  font-weight: 700;
}
.plano__moeda { vertical-align: 0.65em; }
.plano__periodo { color: var(--tinta-suave); }
.plano__valor--texto { white-space: normal; font-size: clamp(1.35rem, 1.05rem + 0.7vw, 1.75rem); }
.plano__frase { font-size: 0.97rem; color: var(--tinta-suave); }
.plano .botao { margin-top: auto; align-self: flex-start; }
.plano__valor + .botao { margin-top: auto; }
.planos__nota {
  display: flex;
  gap: 0.6rem;
  align-items: flex-start;
  margin-top: 1.75rem;
  padding-top: 1.25rem;
  border-top: 2px dashed rgb(5 77 41 / 0.28);
  font-size: 0.95rem;
  color: var(--tinta-suave);
}
.planos__nota .icone { margin-top: 0.2em; }

/* ---------- Páginas internas: peças comuns ---------- */

.menu a[aria-current="page"] { background-size: 100% 2px; }
.pagina__acoes { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; margin-top: 1.75rem; }
.pagina__vazio { max-width: var(--largura); margin: 2.5rem auto 0; padding: 0 var(--margem); font-size: 1.1rem; color: var(--tinta-suave); }
.migalha-site {
  max-width: var(--largura);
  margin: 0 auto 1.25rem;
  padding: 0 var(--margem);
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--tinta-suave);
}
.pagina__topo .migalha-site { padding: 0; }
.migalha-site a, .materia__volta a {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  min-height: 44px;
  font-weight: 700;
  color: var(--verde);
  text-decoration: none;
}
.migalha-site a:hover, .materia__volta a:hover { text-decoration: underline; }
.nota-meta { font-size: 0.88rem; font-weight: 700; color: var(--tinta-suave); }
.nota-meta a { color: var(--verde); text-decoration: none; }
.nota-meta a:hover { text-decoration: underline; }
.tamanho { font-weight: 500; opacity: 0.8; }

/* ---------- Jornal: página das edições ---------- */

.jornal__atual--pagina { margin-top: clamp(2.5rem, 5vw, 3.5rem); }
.jornal__acoes { display: flex; flex-wrap: wrap; align-items: center; gap: 0.9rem 1.5rem; }
.arquivo-jornal { max-width: var(--largura); margin: clamp(4rem, 8vw, 6rem) auto 0; padding: 0 var(--margem); }
.arquivo-jornal > h2 { font-size: clamp(1.8rem, 1.3rem + 1.4vw, 2.6rem); }
.arquivo-jornal .prateleira { margin-top: clamp(2rem, 4vw, 3rem); }
.prateleira > h3 { font-size: 1.3rem; }

/* Prateleira de madeira: cada item leva um pedaço da tábua, e a fileira forma a tábua inteira. */
.prateleira__capas,
.vitrine {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 190px), 1fr));
  row-gap: clamp(2rem, 4vw, 3rem);
  margin-top: 1.25rem;
}
.prateleira__capas a,
.produto a {
  display: flex;
  flex-direction: column;
  height: 100%;
  color: var(--tinta-suave);
  text-decoration: none;
}
.prateleira__capas img {
  width: calc(100% - clamp(1.25rem, 2.5vw, 2rem));
  margin: 0 auto;
  aspect-ratio: 5 / 7;
  object-fit: cover;
  object-position: top;
  border-radius: 2px;
  box-shadow: 0 14px 22px -12px rgb(6 38 20 / 0.6);
  transition: transform 0.35s var(--ease);
}
.prateleira__titulo,
.produto__nome {
  padding: calc(14px + 0.8rem) clamp(0.6rem, 1.25vw, 1rem) 0;
  background: linear-gradient(var(--madeira) 0 10px, var(--madeira-escura) 10px 14px) 0 0 / 100% 14px no-repeat;
}
.prateleira__titulo { font-family: var(--display); font-stretch: 112%; font-weight: 800; font-size: 1.1rem; line-height: 1.2; color: var(--verde); }
.prateleira__meta { padding: 0.15rem clamp(0.6rem, 1.25vw, 1rem) 0; font-size: 0.88rem; line-height: 1.4; }
.prateleira__capas a:hover img,
.produto a:hover .produto__foto { transform: translateY(-6px); }

/* ---------- Transparência ---------- */

.transparencia {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(0, 7fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: start;
  max-width: var(--largura);
  margin: 0 auto;
  padding: 0 var(--margem);
}
.transparencia__lado { position: sticky; top: calc(var(--barra) + var(--beiral-recolhido) + 2rem); }
.ficha--entidade { margin-top: 2rem; }
.ficha--entidade > div { grid-template-columns: 7.5rem 1fr; }
.documentos + .documentos { margin-top: clamp(2.25rem, 4vw, 3rem); }
.documentos h2 { padding-bottom: 0.75rem; font-size: 1.35rem; }
.documentos ul { border-top: 2px dashed rgb(5 77 41 / 0.28); }
.documentos > p { margin-top: 1rem; }
.documento {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 0.25rem 1rem;
  padding: 1rem 0.6rem;
  border-bottom: 2px dashed rgb(5 77 41 / 0.28);
  color: var(--tinta);
  text-decoration: none;
  transition: background-color 0.2s var(--ease);
}
.documento:hover { background: rgb(213 227 214 / 0.55); }
.documento__icone { width: 1.5rem; height: 1.5rem; color: var(--verde); }
.documento__titulo { font-weight: 700; line-height: 1.3; }
.documento__meta { font-size: 0.88rem; color: var(--tinta-suave); white-space: nowrap; }
.documento__seta { color: var(--verde); transition: transform 0.3s var(--ease); }
.documento:hover .documento__seta { transform: translate(2px, -2px); }
.documento--materia { margin: 2rem 0; padding: 1rem 1.25rem; border: 2px dashed rgb(5 77 41 / 0.28); border-radius: var(--raio); font-size: 1rem; line-height: 1.4; }
.equipe--transparencia { margin-top: clamp(4rem, 8vw, 6rem); }

/* ---------- Notícias ---------- */

.filtro { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 1.75rem; }
.filtro a {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  min-height: 44px;
  padding: 0.4rem 1rem;
  border: 1.5px solid rgb(5 77 41 / 0.35);
  border-radius: 999px;
  font-weight: 700;
  font-size: 0.92rem;
  color: var(--verde);
  text-decoration: none;
  transition: background-color 0.2s var(--ease), border-color 0.2s var(--ease), color 0.2s var(--ease);
}
.filtro a span { font-weight: 600; font-size: 0.88em; color: var(--tinta-suave); font-variant-numeric: tabular-nums; }
.filtro a:hover { border-color: var(--verde); }
.filtro a[aria-current="page"] { background: var(--verde); border-color: var(--verde); color: var(--branco); }
.filtro a[aria-current="page"] span { color: var(--tinta-creme); }

.manchete {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: clamp(1.5rem, 4vw, 3.5rem);
  align-items: center;
  max-width: var(--largura);
  margin: clamp(2.5rem, 5vw, 3.5rem) auto 0;
  padding: 0 var(--margem);
}
.manchete__foto { display: block; border-radius: var(--raio); overflow: hidden; }
.manchete__foto img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; transition: transform 0.6s var(--ease); }
.manchete:hover .manchete__foto img { transform: scale(1.02); }
.manchete h2 { margin-top: 0.6rem; font-size: clamp(1.8rem, 1.3rem + 1.6vw, 2.8rem); }
.manchete__resumo { margin-top: 1rem; max-width: 46ch; font-size: 1.1rem; color: var(--tinta-suave); }
.manchete .link-seta { display: inline-block; margin-top: 1.25rem; }
.manchete h2 a, .nota h2 a, .nota h3 a { text-decoration: none; }
.manchete h2 a:hover, .nota h2 a:hover, .nota h3 a:hover { text-decoration: underline; text-decoration-thickness: 2px; }

.notas {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(2.5rem, 4vw, 3.25rem) clamp(1.5rem, 3vw, 2.5rem);
  max-width: var(--largura);
  margin: clamp(3rem, 6vw, 4.5rem) auto 0;
  padding: 0 var(--margem);
}
.nota { display: flex; flex-direction: column; gap: 0.9rem; }
.nota__foto { display: block; aspect-ratio: 3 / 2; border-radius: var(--raio); overflow: hidden; background: var(--verde-claro); }
.nota__foto img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s var(--ease); }
.nota:hover .nota__foto img { transform: scale(1.03); }
.nota__foto img.nota__marca { object-fit: contain; padding: 20% 30%; opacity: 0.45; }
.nota h2, .nota h3 { margin-top: 0.35rem; font-size: clamp(1.2rem, 1.05rem + 0.4vw, 1.4rem); line-height: 1.15; }
.nota__texto > p:not(.nota-meta) { margin-top: 0.55rem; font-size: 0.97rem; color: var(--tinta-suave); }

.paginas {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.75rem 1.25rem;
  max-width: var(--largura);
  margin: clamp(3rem, 6vw, 4.5rem) auto 0;
  padding: 0 var(--margem);
}
.paginas ol { display: flex; flex-wrap: wrap; gap: 0.35rem; }
.paginas ol a {
  display: grid;
  place-items: center;
  min-width: 44px;
  height: 44px;
  border-radius: 999px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  color: var(--verde);
  text-decoration: none;
}
.paginas ol a:hover { background: var(--verde-claro); }
.paginas ol a[aria-current="page"] { background: var(--verde); color: var(--branco); }
.paginas__passo { display: inline-flex; align-items: center; gap: 0.35rem; min-height: 44px; font-weight: 700; color: var(--verde); text-decoration: none; }
.paginas__passo:hover { text-decoration: underline; }

/* ---------- Notícia aberta ---------- */

.materia { padding: calc(var(--beiral) + clamp(2.5rem, 5vw, 4.5rem)) 0 clamp(4rem, 8vw, 6rem); }
.materia__topo,
.materia__corpo { max-width: calc(44rem + 2 * var(--margem)); margin: 0 auto; padding: 0 var(--margem); }
.materia__volta { margin-bottom: 1rem; font-size: 0.95rem; }
.materia h1 { margin-top: 0.6rem; font-size: clamp(2.2rem, 1.5rem + 2.4vw, 3.6rem); }
.materia__linha-fina { margin-top: 1rem; font-size: 1.25rem; line-height: 1.5; color: var(--tinta-suave); }
.materia__assinatura {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 1.25rem;
  margin-top: 1.5rem;
  padding-top: 1rem;
  border-top: 2px dashed rgb(5 77 41 / 0.28);
  font-size: 0.92rem;
  color: var(--tinta-suave);
}
.materia__assinatura b { color: var(--tinta); }
.materia__capa { max-width: calc(64rem + 2 * var(--margem)); margin: clamp(2rem, 4vw, 3rem) auto 0; padding: 0 var(--margem); }
.materia__capa img { width: 100%; max-height: 80vh; object-fit: cover; border-radius: var(--raio); }
.materia__corpo { margin-top: clamp(2rem, 4vw, 3rem); font-size: 1.12rem; line-height: 1.75; }

.materia__texto + .materia__texto,
.materia__texto > * + *,
.produto-ficha__descricao > * + * { margin-top: 1.1em; }
.materia__texto h2,
.produto-ficha__descricao > h2:not(:first-child) { margin-top: 1.8em; font-size: clamp(1.4rem, 1.2rem + 0.6vw, 1.8rem); line-height: 1.15; }
.materia__texto ul, .produto-ficha__descricao ul { padding-left: 1.3em; list-style: disc; }
.materia__texto ol, .produto-ficha__descricao ol { padding-left: 1.3em; list-style: decimal; }
.materia__texto li + li, .produto-ficha__descricao li + li { margin-top: 0.35em; }
.materia__texto a, .produto-ficha__descricao a { color: var(--verde); font-weight: 600; }
.materia__texto blockquote {
  margin: 1.6em 0;
  padding: 1.1em 0;
  border-block: 2px dashed rgb(5 77 41 / 0.28);
  font-family: var(--display);
  font-stretch: 105%;
  font-weight: 600;
  font-size: 1.3em;
  line-height: 1.35;
  color: var(--verde);
}
.materia__texto hr { margin: 2em 0; border: 0; border-top: 2px dashed rgb(5 77 41 / 0.28); }
.materia__foto { margin: 2rem 0; }
.materia__foto img { width: 100%; border-radius: var(--raio); }
.materia__corpo figcaption { margin-top: 0.6rem; font-size: 0.9rem; line-height: 1.5; color: var(--tinta-suave); }
.materia__galeria { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.6rem; margin: 2rem 0; }
.materia__galeria--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.materia__galeria--1 { grid-template-columns: 1fr; }
.materia__galeria a { display: block; text-decoration: none; }
.materia__galeria img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: var(--raio); transition: opacity 0.2s var(--ease); }
.materia__galeria--1 img { aspect-ratio: auto; }
.materia__galeria a:hover img { opacity: 0.85; }
.materia__galeria figcaption { font-size: 0.8rem; }
.materia__compartilhar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
  margin-top: 3rem;
  padding-top: 1.5rem;
  border-top: 2px dashed rgb(5 77 41 / 0.28);
}
.materia__compartilhar > p:first-child { margin-right: 0.5rem; font-weight: 700; font-size: 1rem; }
.materia__compartilhar .pix__nota { width: 100%; }

.leia-tambem { padding: clamp(3.5rem, 7vw, 5rem) 0 clamp(4rem, 8vw, 6rem); background: var(--creme); }
.materia:has(+ .leia-tambem) { padding-bottom: clamp(3.5rem, 7vw, 5rem); }
.leia-tambem > h2 { max-width: var(--largura); margin: 0 auto; padding: 0 var(--margem); font-size: clamp(1.8rem, 1.3rem + 1.4vw, 2.6rem); }
.notas--tres { margin-top: 2rem; }

/* ---------- Loja ---------- */

.loja__topo { display: flex; align-items: flex-end; justify-content: space-between; gap: 1.5rem 3rem; }
.carrinho-atalho {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  flex: none;
  min-height: 48px;
  padding: 0.45rem 0.6rem 0.45rem 1.1rem;
  border: 2px solid var(--verde);
  border-radius: 999px;
  font-weight: 700;
  color: var(--verde);
  text-decoration: none;
  transition: background-color 0.25s var(--ease), color 0.25s var(--ease);
}
.carrinho-atalho:hover { background: var(--verde); color: var(--branco); }
.carrinho-atalho__qtd {
  display: grid;
  place-items: center;
  min-width: 1.9rem;
  height: 1.9rem;
  padding: 0 0.4rem;
  border-radius: 999px;
  background: var(--verde);
  color: var(--branco);
  font-size: 0.9rem;
  font-variant-numeric: tabular-nums;
}
.carrinho-atalho:hover .carrinho-atalho__qtd { background: var(--branco); color: var(--verde); }

.prateleira--loja { max-width: var(--largura); margin: clamp(3rem, 6vw, 4.5rem) auto 0; padding: 0 var(--margem); }
.prateleira--loja > h2 { font-size: clamp(1.6rem, 1.2rem + 1.2vw, 2.2rem); }
.vitrine { grid-template-columns: repeat(auto-fill, minmax(min(100%, 230px), 1fr)); margin-top: 1.5rem; }
.produto__foto {
  position: relative;
  display: block;
  width: calc(100% - clamp(1.25rem, 2.5vw, 2rem));
  margin: 0 auto;
  aspect-ratio: 1;
  border-radius: var(--raio) var(--raio) 0 0;
  overflow: hidden;
  background: var(--branco);
  box-shadow: 0 14px 22px -14px rgb(6 38 20 / 0.5);
  transition: transform 0.35s var(--ease);
}
.produto__foto img { width: 100%; height: 100%; object-fit: cover; }
.produto__selo {
  position: absolute;
  top: 0.6rem;
  left: 0.6rem;
  padding: 0.2rem 0.7rem;
  border-radius: 999px;
  background: var(--tinta);
  color: var(--branco);
  font-size: 0.8rem;
  font-weight: 700;
}
.produto--esgotado .produto__foto img { opacity: 0.55; filter: grayscale(0.6); }
.produto__nome { font-weight: 700; line-height: 1.3; color: var(--tinta); }
.produto__preco,
.produto__extra { padding: 0.2rem clamp(0.6rem, 1.25vw, 1rem) 0; }
.produto__preco { font-family: var(--display); font-stretch: 112%; font-weight: 800; font-size: 1.2rem; color: var(--verde); font-variant-numeric: tabular-nums; }
.produto__extra { font-size: 0.88rem; }

.loja__garantias {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem clamp(1.5rem, 3vw, 2.5rem);
  max-width: var(--largura);
  margin: clamp(4rem, 8vw, 6rem) auto 0;
  padding: 0 var(--margem);
}
.loja__garantias li { display: flex; gap: 0.8rem; align-items: flex-start; padding-top: 1.1rem; border-top: 2px dashed rgb(5 77 41 / 0.28); color: var(--tinta-suave); font-size: 0.97rem; }
.loja__garantias b { color: var(--tinta); }
.loja__garantias .icone { width: 1.5rem; height: 1.5rem; color: var(--verde); }
.loja__garantias a { color: var(--verde); font-weight: 700; }
.loja__garantias--ficha { grid-template-columns: 1fr; gap: 0; margin: 2rem 0 0; padding: 0; }
.loja__garantias--ficha li { padding: 0.9rem 0; }
.loja__garantias--ficha li:last-child { border-bottom: 2px dashed rgb(5 77 41 / 0.28); }

/* Produto */
.produto-ficha {
  display: grid;
  grid-template-columns: minmax(0, 6fr) minmax(0, 5fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: start;
  max-width: var(--largura);
  margin: 0 auto;
  padding: 0 var(--margem);
}
.produto-ficha__principal { border-radius: var(--raio); overflow: hidden; background: var(--branco); box-shadow: var(--sombra-mesa); }
.produto-ficha__principal img { width: 100%; aspect-ratio: 1; object-fit: cover; }
.produto-ficha__miniaturas { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 1rem; }
.produto-ficha__miniaturas a { display: block; width: 76px; border: 2px solid transparent; border-radius: var(--raio); overflow: hidden; background: var(--branco); transition: border-color 0.2s var(--ease); }
.produto-ficha__miniaturas a:hover { border-color: rgb(5 77 41 / 0.4); }
.produto-ficha__miniaturas a[aria-current="true"] { border-color: var(--verde); }
.produto-ficha__miniaturas img { width: 100%; aspect-ratio: 1; object-fit: cover; }
.produto-ficha__info h1 { font-size: clamp(2rem, 1.4rem + 1.8vw, 3rem); }
.produto-ficha__preco { margin-top: 0.75rem; font-family: var(--display); font-stretch: 112%; font-weight: 800; font-size: clamp(1.8rem, 1.4rem + 1vw, 2.4rem); color: var(--verde); font-variant-numeric: tabular-nums; }
.produto-ficha__info > .form__aviso { margin: 1.5rem 0 0; }
.produto-ficha__esgotado { display: flex; gap: 0.5rem; align-items: center; margin: 1.5rem 0 1rem; font-weight: 700; color: var(--tinta-suave); }
.produto-ficha__descricao { margin-top: 2rem; color: var(--tinta-suave); }
.produto-ficha__descricao > h2 { font-size: 1.3rem; color: var(--verde); }
.prateleira--outros { margin-top: clamp(4rem, 8vw, 6rem); }

.compra { display: grid; gap: 1.5rem; margin-top: 1.75rem; padding-top: 1.5rem; border-top: 2px dashed rgb(5 77 41 / 0.28); }
.compra__botao { justify-self: start; }
.tamanhos { display: flex; flex-wrap: wrap; gap: 0.6rem; }
.tamanhos__opcao { position: relative; }
.tamanhos__opcao input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.tamanhos__opcao span {
  display: grid;
  place-items: center;
  min-width: 52px;
  min-height: 48px;
  padding: 0 0.9rem;
  border: 1.5px solid rgb(5 77 41 / 0.35);
  border-radius: var(--raio);
  background: var(--lona);
  font-weight: 700;
  transition: background-color 0.2s var(--ease), border-color 0.2s var(--ease), color 0.2s var(--ease);
}
.tamanhos__opcao:hover span { border-color: var(--verde); }
.tamanhos__opcao input:checked + span { background: var(--verde); border-color: var(--verde); color: var(--branco); }
.tamanhos__opcao input:focus-visible + span { outline: 3px solid var(--verde-noite); outline-offset: 2px; }

.passo { display: inline-flex; align-items: stretch; justify-self: start; }
.form .passo input[type="number"] { width: 5rem; text-align: center; font-variant-numeric: tabular-nums; }
.form .passo--botoes input[type="number"] { width: 3.75rem; border-radius: 0; -moz-appearance: textfield; appearance: textfield; }
.passo--botoes input::-webkit-inner-spin-button,
.passo--botoes input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.passo__botao {
  display: grid;
  place-items: center;
  width: 48px;
  border: 1.5px solid rgb(62 84 70 / 0.7);
  background: var(--branco);
  color: var(--verde);
  cursor: pointer;
  transition: background-color 0.2s var(--ease);
}
.passo__botao:first-child { border-right: 0; border-radius: var(--raio) 0 0 var(--raio); }
.passo__botao:last-child { border-left: 0; border-radius: 0 var(--raio) var(--raio) 0; }
.passo__botao:hover { background: var(--verde-claro); }

/* Carrinho, finalizar e pedido */
.caixa {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(300px, 4fr);
  gap: clamp(2rem, 4vw, 4rem);
  align-items: start;
  max-width: var(--largura);
  margin: clamp(2rem, 4vw, 3rem) auto 0;
  padding: 0 var(--margem);
}
.mesa--caixa { position: sticky; top: calc(var(--barra) + var(--beiral-recolhido) + 1.5rem); }
.mesa--caixa .mesa__tampo { padding: clamp(1.25rem, 2.5vw, 2rem); }
.mesa--caixa h2 { margin-bottom: 1rem; font-size: 1.5rem; }
.pagina__topo > .form__aviso, .pagina__topo > .form__nota { margin: 1.5rem 0 0; }
.carrinho-vazio { margin-top: 1rem; }

.itens { border-top: 2px dashed rgb(5 77 41 / 0.28); }
.item {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr) auto auto;
  gap: 1rem 1.5rem;
  align-items: center;
  padding: 1.1rem 0;
  border-bottom: 2px dashed rgb(5 77 41 / 0.28);
}
.item__foto { display: block; width: 88px; aspect-ratio: 1; border-radius: var(--raio); overflow: hidden; background: var(--branco); }
.item__foto img { width: 100%; height: 100%; object-fit: cover; }
.item__dados { display: grid; gap: 0.15rem; }
.item__nome { font-weight: 700; line-height: 1.3; color: var(--tinta); text-decoration: none; }
.item__nome:hover { text-decoration: underline; }
.item__extra { font-size: 0.9rem; color: var(--tinta-suave); }
.item__qtd { display: grid; justify-items: start; gap: 0.2rem; }
.item__remover {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  min-height: 36px;
  padding: 0;
  border: 0;
  background: none;
  color: var(--tinta-suave);
  font: 600 0.88rem var(--texto);
  text-decoration: underline;
  cursor: pointer;
}
.item__remover:hover { color: #8e1c1c; }
.item__subtotal { min-width: 6.5rem; text-align: right; font-weight: 800; color: var(--verde); font-variant-numeric: tabular-nums; }
.caixa__atualizar { margin-top: 1.25rem; }

.resumo { display: grid; gap: 1.1rem; }
.resumo__linhas > div { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; padding: 0.45rem 0; }
.resumo__linhas dt small { display: block; font-size: 0.85rem; font-weight: 500; color: var(--tinta-suave); }
.resumo__linhas dd { font-weight: 700; white-space: nowrap; font-variant-numeric: tabular-nums; }
.resumo__linhas--total { margin-top: 0.5rem; padding-top: 0.6rem; border-top: 2px dashed rgb(5 77 41 / 0.28); }
.resumo__linhas--total dt,
.resumo__linhas--total dd { font-family: var(--display); font-stretch: 112%; font-weight: 800; font-size: 1.45rem; color: var(--verde); }
.resumo__cep-linha { display: flex; gap: 0.6rem; }
.resumo__cep-linha input { flex: 1; min-width: 0; }
.resumo__fretes { display: grid; gap: 0.5rem; }
.opcao--frete { align-items: center; }
.opcao__nome { display: grid; flex: 1; }
.opcao__nome small { font-weight: 500; font-size: 0.88rem; color: var(--tinta-suave); }
.opcao__valor { font-weight: 800; font-variant-numeric: tabular-nums; white-space: nowrap; }
.resumo__nota { font-size: 0.93rem; color: var(--tinta-suave); }
.resumo__seguir { width: 100%; }
.resumo__itens { margin-bottom: 0.5rem; }
.resumo__itens li { display: flex; justify-content: space-between; gap: 1rem; padding: 0.5rem 0; border-bottom: 1px solid rgb(5 77 41 / 0.12); font-size: 0.95rem; }
.resumo__itens li > span:last-child { font-weight: 700; white-space: nowrap; font-variant-numeric: tabular-nums; }
.resumo__itens small { color: var(--tinta-suave); }
.resumo__alterar { font-size: 0.9rem; }
.resumo__alterar a { color: var(--verde); font-weight: 700; }
.resumo__whats { display: grid; gap: 0.9rem; justify-items: start; margin-top: 1.25rem; font-size: 0.95rem; color: var(--tinta-suave); }

.caixa--finalizar .form__fim { margin-top: 1.25rem; padding-top: 0; border-top: 0; justify-items: stretch; }
.caixa--finalizar .form__fim p { display: flex; gap: 0.5rem; font-size: 0.88rem; }
.caixa--finalizar .form__fim p .icone { margin-top: 0.2em; }
.finalizar__cep-status { margin-top: 1rem; }
.finalizar__cep-status:empty { display: none; }

.pedido__codigo { margin-bottom: 0.6rem; font-size: 0.95rem; font-weight: 700; color: var(--tinta-suave); }
.andamento { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.6rem; }
.andamento__passo {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding-top: 0.9rem;
  border-top: 4px solid rgb(5 77 41 / 0.15);
  font-size: 0.92rem;
  font-weight: 700;
  line-height: 1.3;
  color: var(--tinta-suave);
}
.andamento__passo .icone { width: 1.5rem; height: 1.5rem; }
.andamento__passo--feito { border-top-color: var(--verde); color: var(--verde); }
.rastreio { margin-top: 2.25rem; padding: 1.25rem 1.5rem; border-radius: var(--raio); background: var(--verde-claro); }
.rastreio h2 { font-size: 1.2rem; }
.rastreio__codigo { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem 1.25rem; margin: 0.6rem 0; }
.rastreio__codigo > span { font-family: var(--display); font-stretch: 112%; font-weight: 800; font-size: 1.5rem; letter-spacing: 0.06em; color: var(--verde-noite); }
.pedido__entrega { margin-top: 2.25rem; }
.pedido__entrega h2 { font-size: 1.3rem; }
.pedido__entrega p { margin-top: 0.5rem; color: var(--tinta-suave); }
.pedido__frete { display: flex; gap: 0.5rem; align-items: center; }
.pedido__frete .icone { color: var(--verde); }

@media (max-width: 960px) {
  .transparencia, .manchete, .produto-ficha, .caixa { grid-template-columns: 1fr; }
  .transparencia__lado, .mesa--caixa { position: static; }
  .notas { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .loja__garantias { grid-template-columns: 1fr; gap: 0; }
  .loja__garantias li { padding: 1rem 0; }
  .loja__topo { flex-direction: column; align-items: flex-start; }
}

@media (max-width: 600px) {
  .prateleira__capas { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vitrine { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .produto__nome { font-size: 0.95rem; }
  .notas { grid-template-columns: 1fr; }
  .ficha--entidade > div { grid-template-columns: 1fr; }
  .documento { grid-template-columns: auto minmax(0, 1fr) auto; grid-template-areas: "icone titulo seta" "icone meta seta"; }
  .documento__icone { grid-area: icone; }
  .documento__titulo { grid-area: titulo; }
  .documento__meta { grid-area: meta; }
  .documento__seta { grid-area: seta; }
  .materia__corpo { font-size: 1.05rem; }
  .materia__galeria { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .materia__galeria--1 { grid-template-columns: 1fr; }
  .item { grid-template-columns: 72px minmax(0, 1fr); grid-template-areas: "foto dados" "foto qtd" "foto subtotal"; gap: 0.6rem 1rem; align-items: start; }
  .item__foto { grid-area: foto; width: 72px; }
  .item__dados { grid-area: dados; }
  .item__qtd { grid-area: qtd; }
  .item__subtotal { grid-area: subtotal; text-align: left; }
  .andamento { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 1rem; }
  .compra__botao { justify-self: stretch; }
}

@media (max-width: 960px) {
  .pagina__grade { grid-template-columns: 1fr; }
  .pagina__foto { display: none; }
  .planos { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 1.5rem; }
  .plano { padding: 0 1rem 0 0; }
  .plano + .plano { border-left: 0; }
  .plano:nth-child(even) { padding-left: 1rem; border-left: 2px dashed rgb(5 77 41 / 0.28); }
}

@media (max-width: 600px) {
  .form__campos { grid-template-columns: 1fr; }
  .form__campo--curto { grid-column: 1 / -1; }
  .form__nav .botao { flex: 1; }
  .planos { grid-template-columns: 1fr; }
  .plano, .plano:nth-child(even) { padding: 1.25rem 0 0; border-left: 0; }
  .plano + .plano { border-top: 2px dashed rgb(5 77 41 / 0.28); }
  .plano:first-child { padding-top: 0; }
  .motivos li { grid-template-columns: 5.5rem 1fr; }
}

@media (max-width: 1180px) {
  .topo__abrir { display: inline-flex; }
  .topo__doar { margin-left: auto; }
  .menu {
    position: absolute;
    top: 100%;
    left: 0; right: 0;
    margin: 0;
    padding: calc(var(--beiral) + 0.5rem) var(--margem) 1.5rem;
    background: var(--verde);
    visibility: hidden;
    opacity: 0;
    transform: translateY(-8px);
    transition: opacity 0.3s var(--ease), transform 0.3s var(--ease), visibility 0s linear 0.3s;
    box-shadow: 0 24px 30px -20px rgb(0 0 0 / 0.45);
  }
  .menu.aberto {
    visibility: visible;
    opacity: 1;
    transform: none;
    transition: opacity 0.3s var(--ease), transform 0.3s var(--ease);
  }
  .menu ul { flex-direction: column; gap: 0; }
  .menu a {
    padding: 0.9rem 0;
    font-size: 1.15rem;
    border-bottom: 2px dashed rgb(234 231 216 / 0.2);
    background: none;
  }
  .topo .beiral--topo { position: relative; z-index: 1; }
}

@media (max-width: 960px) {
  :root { --beiral: 46px; --beiral-recolhido: 26px; --gomo: 40px; --barra: 62px; }

  .abertura { min-height: 0; }

  .quem__grade {
    grid-template-columns: 1fr;
    grid-template-areas: "fala" "fotoa" "sobre" "fotob";
  }
  .quem__foto--a img { aspect-ratio: 4 / 3; }

  .faixa__pe { grid-template-columns: 1fr; }

  .posto,
  .posto:nth-child(even) { grid-template-columns: 1fr; gap: 1.5rem; }
  .posto .posto__foto, .posto .posto__ficha,
  .posto:nth-child(even) .posto__foto, .posto:nth-child(even) .posto__ficha {
    grid-column: 1;
    grid-row: auto;
  }

  .ajude { grid-template-columns: 1fr; }
  .ajude__texto { position: static; }

  .mesa--grande .mesa__tampo { grid-template-columns: 1fr; }
  .apoio__pix, .apoio__banco, .formas { grid-column: 1; }
  .apoio__pix { padding-right: 0; }
  .apoio__banco {
    padding: 1.75rem 0 0;
    margin-top: 1.75rem;
    border-left: 0;
    border-top: 2px dashed rgb(5 77 41 / 0.28);
  }
  .formas { grid-template-columns: 1fr 1fr; }
  .formas li, .formas li:first-child { padding: 1.25rem 0; }
  .formas li + li { border-left: 0; }
  .formas li:nth-child(even) { padding-left: 1.25rem; border-left: 2px dashed rgb(5 77 41 / 0.28); }
  .formas li:nth-child(n + 3) { border-top: 2px dashed rgb(5 77 41 / 0.28); }

  .bilhetes { grid-template-columns: 1fr 1fr; }
  .bilhete--1, .bilhete--4, .bilhete--6 { grid-column: span 2; }

  .jornal__atual { grid-template-columns: 1fr; }
  .jornal__capa { max-width: 300px; }

  .instagram__corpo { grid-template-columns: 1fr; }
  .mantenedor__corpo { grid-template-columns: 1fr; }
  .mantenedor__foto img { aspect-ratio: 3 / 2; }
  .rodape__grade { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 600px) {
  body { font-size: 1rem; }
  .marca__palavra { width: 90px; }
  .marca__simbolo { width: 38px; }
  .topo__barra { gap: 0.75rem; }
  .topo__doar { padding: 0.45rem 1.05rem; }

  .abertura { padding-top: calc(var(--beiral) + 1.75rem); }
  .abertura__intro { margin-bottom: 1.1rem; padding-bottom: 1.1rem; font-size: 1.05rem; }
  .abertura h1 { font-size: 2.45rem; line-height: 0.98; }
  .abertura h1 span { display: inline; }
  .abertura__ref { margin-top: 0.75rem; font-size: 0.98rem; }
  .abertura__lede { order: 1; margin-top: 1.75rem; font-size: 1.05rem; }
  .mesa--abertura { margin-top: 1.25rem; }
  .abertura__programas { order: 2; gap: 0.45rem 0.6rem; margin-top: 1.5rem; }
  .abertura__programas p { width: 100%; font-size: 0.88rem; }
  .abertura__programas ol { gap: 0.4rem; }
  .abertura__programas a { padding: 0.3rem 0.65rem; font-size: 0.84rem; }
  .pix__chave { margin-bottom: 0.7rem; }

  .atalhos { grid-template-columns: 1fr; }
  .atalhos a, .atalhos li + li a { flex-direction: row; align-items: center; gap: 0.7rem; padding: 0.85rem 0; border-left: 0; }
  .atalhos li + li a { border-top: 2px dashed rgb(5 77 41 / 0.28); }

  .apoio__pix-corpo { flex-direction: column; }
  .apoio__qr { width: 150px; }
  .formas { grid-template-columns: 1fr; }
  .formas li:nth-child(even) { padding-left: 0; border-left: 0; }
  .formas li + li { border-top: 2px dashed rgb(5 77 41 / 0.28); }
  .mural { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 150px; }
  .mural__item { grid-column: auto !important; grid-row: span 1 !important; }
  .mural__item--1, .mural__item--6 { grid-column: 1 / -1 !important; grid-row: span 2 !important; }

  .bilhetes { grid-template-columns: 1fr; }
  .bilhete--1, .bilhete--4, .bilhete--6 { grid-column: auto; }

  .equipe__presidente { grid-template-columns: 1fr; }
  .equipe__presidente img { max-width: 260px; }
  .pessoas { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  .ficha > div { grid-template-columns: 1fr; gap: 0.15rem; }
  .rodape__grade { grid-template-columns: 1fr; }

  .whats { padding: 0; width: 58px; justify-content: center; }
  .whats span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
}

/* ---------- Doar: PIX, boleto e depósito ---------- */

.mesa--doe { max-width: var(--largura); margin: clamp(2.5rem, 5vw, 3.5rem) auto 0; padding: 0 var(--margem); }
.mesa--doe .mesa__tampo {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  padding: clamp(1.5rem, 3vw, 2.75rem);
}
.doe__pix { grid-column: 1 / 8; min-width: 0; padding-right: clamp(1.5rem, 3vw, 3rem); }
.doe__lado {
  grid-column: 8 / 13;
  min-width: 0;
  padding-left: clamp(1.5rem, 3vw, 3rem);
  border-left: 2px dashed rgb(5 77 41 / 0.28);
}
.doe__titulo { font-size: clamp(1.5rem, 1.2rem + 1vw, 2.1rem); line-height: 1.1; color: var(--verde); }
.doe__lede { margin-top: 0.6rem; max-width: 46ch; color: var(--tinta-suave); }
.mesa--planos .doe__lede { margin-bottom: 1.5rem; }
.doe__pix-corpo { display: flex; gap: 1.75rem; align-items: flex-start; margin-top: 1.5rem; }
.doe__pix-corpo .dados { margin-top: 0; min-width: 0; }
.doe__qr {
  flex: none;
  width: 196px;
  padding: 10px;
  background: var(--branco);
  border: 2px solid var(--creme);
  border-radius: var(--raio);
}
.doe__qr:not(.doe__qr--pronto) { display: none; }
.doe__qr img, .doe__qr canvas { display: block; width: 100%; height: auto; image-rendering: pixelated; }
.doe__codigo {
  display: block;
  width: 100%;
  max-height: 4.6em;
  overflow: auto;
  padding: 0.5rem 0.65rem;
  background: var(--lona);
  border: 1px solid var(--creme);
  border-radius: var(--raio);
  font: 500 0.8rem/1.45 ui-monospace, "Cascadia Mono", Consolas, monospace;
  color: var(--tinta);
  word-break: break-all;
  user-select: all;
}
.doe__nota { font-size: 0.95rem; color: var(--tinta-suave); }
.form__etapa .doe__nota { margin: -0.6rem 0 1.25rem; }
.dados__rotulo { font-size: 0.88rem; font-weight: 700; color: var(--tinta-suave); }

.doe__boleto { border: 2px solid rgb(5 77 41 / 0.28); border-radius: var(--raio); scroll-margin-top: calc(var(--barra) + var(--beiral) + 12px); }
.doe__boleto[open] { border-color: var(--verde); }
.doe__boleto summary {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  min-height: 56px;
  padding: 0.85rem 1.1rem;
  font-weight: 800;
  font-size: 1.1rem;
  color: var(--verde);
  cursor: pointer;
  list-style: none;
}
.doe__boleto summary::-webkit-details-marker { display: none; }
.doe__boleto summary:hover span { text-decoration: underline; text-decoration-thickness: 2px; }
.doe__seta { margin-left: auto; transition: transform 0.3s var(--ease); }
.doe__boleto[open] .doe__seta { transform: rotate(180deg); }
.doe__boleto > :not(summary) { padding: 0.25rem 1.1rem 1.25rem; }
.doe__boleto .form__campos { grid-template-columns: minmax(0, 1fr); gap: 1.1rem; }
.doe__boleto .form__campo--curto { grid-column: 1 / -1; }
.doe__boleto .form__etapa-titulo { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; padding: 0; }
.doe__boleto .form__indice { display: none; }
.doe__boleto .form__fim { flex-direction: column; align-items: stretch; gap: 0.75rem; }
.doe__boleto .form__fim p { font-size: 0.88rem; color: var(--tinta-suave); }

.boleto-pronto { display: grid; gap: 0.9rem; }
.boleto-pronto:focus { outline: none; }
.boleto-pronto__titulo { display: flex; gap: 0.5rem; align-items: center; font-weight: 800; font-size: 1.15rem; color: var(--verde); }
.boleto-pronto > p:not([class]) { color: var(--tinta-suave); }
.boleto-pronto__acoes { display: flex; flex-wrap: wrap; gap: 0.75rem; }
.boleto-pronto__linha { display: grid; gap: 0.5rem; justify-items: start; padding-top: 0.9rem; border-top: 2px dashed rgb(5 77 41 / 0.2); }
.boleto-pronto__outro a { font-weight: 700; color: var(--verde); }

.doe__banco { margin-top: 1.75rem; }
.doe__banco h3 { display: flex; align-items: center; gap: 0.5rem; font-size: 1.15rem; }
.doe__banco h3 .icone { color: var(--verde); }
.doe__banco .dados { margin-top: 0.75rem; }

.instalar {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: clamp(1.5rem, 4vw, 3.5rem);
  width: min(calc(100% - 2 * var(--margem)), calc(var(--largura) - 2 * var(--margem)));
  margin: clamp(3.5rem, 7vw, 5rem) auto 0;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  background: var(--creme);
  border-radius: var(--raio);
}
.instalar h2 { display: flex; align-items: center; gap: 0.6rem; font-size: clamp(1.4rem, 1.1rem + 0.9vw, 1.9rem); line-height: 1.15; color: var(--verde); }
.instalar__texto > p { margin-top: 0.75rem; max-width: 44ch; color: var(--tinta-suave); }
.instalar__texto .botao { margin-top: 1.25rem; }
.instalar .instalar__pronto { display: flex; align-items: center; gap: 0.5rem; font-weight: 700; color: var(--verde); }
.instalar [hidden] { display: none !important; }
.instalar__passos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.instalar__passos > div { padding: 1.25rem 1.35rem; background: var(--lona); border-radius: var(--raio); }
.instalar__passos h3 { font-size: 1.05rem; }
.instalar__passos ol { margin-top: 0.6rem; padding-left: 1.25em; list-style: decimal; color: var(--tinta-suave); }
.instalar__passos li + li { margin-top: 0.4rem; }
.instalar--feito .instalar__passos { display: none; }
.instalar--feito { grid-template-columns: 1fr; }

/* ---------- Eventos ---------- */

.evento { padding: calc(var(--beiral) + clamp(2.5rem, 5vw, 4.5rem)) 0 clamp(3.5rem, 7vw, 5rem); }
.evento__abertura {
  display: grid;
  grid-template-columns: minmax(0, 6fr) minmax(0, 5fr);
  gap: clamp(2rem, 5vw, 4.5rem);
  align-items: center;
  max-width: var(--largura);
  margin: 0 auto;
  padding: 0 var(--margem);
}
.evento__chamada { font-size: 0.9rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: var(--tinta-suave); }
.evento h1 { margin-top: 0.4rem; font-size: clamp(2.4rem, 1.5rem + 3vw, 4.2rem); line-height: 1.02; color: var(--verde); text-wrap: balance; }
.evento__selo {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  margin-top: 1.1rem;
  padding: 0.4rem 0.9rem;
  background: var(--verde);
  border-radius: 999px;
  font-weight: 800;
  font-size: 0.95rem;
  color: var(--branco);
}
.evento__selo--passou { display: block; padding: 0.7rem 1rem; background: var(--creme); border-radius: var(--raio); font-weight: 600; color: var(--tinta-suave); }
.evento__meta { display: grid; gap: 1rem; margin-top: 1.6rem; }
.evento__meta li { display: flex; gap: 0.75rem; align-items: flex-start; }
.evento__meta .icone { flex: none; width: 1.4rem; height: 1.4rem; margin-top: 0.1rem; color: var(--verde); }
.evento__meta span { display: grid; gap: 0.1rem; color: var(--tinta-suave); }
.evento__meta b { font-weight: 800; font-size: 1.1rem; color: var(--tinta); }
.evento__acoes { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 1.9rem; }
.evento__capa img { width: 100%; max-height: 82vh; object-fit: cover; border-radius: var(--raio); box-shadow: var(--sombra-mesa); }
.evento__frase {
  margin: 2rem 0;
  padding: 1.1em 0;
  border-block: 2px dashed rgb(5 77 41 / 0.28);
  font-family: var(--display);
  font-stretch: 105%;
  font-weight: 600;
  font-size: 1.3em;
  line-height: 1.35;
  color: var(--verde);
}
.evento__apoio { padding: clamp(3.5rem, 7vw, 5rem) 0 clamp(4rem, 8vw, 6rem); background: var(--creme); scroll-margin-top: calc(var(--barra) + var(--beiral)); }
.evento__apoio h2 { font-size: clamp(1.8rem, 1.3rem + 1.6vw, 2.8rem); line-height: 1.1; color: var(--verde); text-wrap: balance; }
.evento__apoio .pagina__lede { margin-top: 0.9rem; }
.eventos__grupo { max-width: var(--largura); margin: clamp(3rem, 6vw, 4.5rem) auto 0; padding: 0 var(--margem); font-size: clamp(1.5rem, 1.2rem + 0.9vw, 2rem); }
.eventos__grupo + .notas { margin-top: 1.5rem; }

.pagina--ficha .pagina__grade { grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); }

@media (max-width: 960px) {
  .mesa--doe .mesa__tampo { grid-template-columns: minmax(0, 1fr); }
  .doe__pix, .doe__lado { grid-column: 1 / -1; padding: 0; }
  .doe__lado { margin-top: 1.75rem; padding-top: 1.75rem; border-left: 0; border-top: 2px dashed rgb(5 77 41 / 0.28); }
  .instalar { grid-template-columns: minmax(0, 1fr); }
  .evento__abertura { grid-template-columns: minmax(0, 1fr); }
  .evento__capa img { max-height: 60vh; }
  .pagina--ficha .pagina__grade { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 600px) {
  .doe__pix-corpo { flex-direction: column; gap: 1.25rem; }
  .doe__qr { width: min(220px, 100%); align-self: center; }
  .doe__boleto > :not(summary) { padding-inline: 0.85rem; }
  .doe__boleto summary { padding-inline: 0.85rem; }
  .instalar { width: 100%; border-radius: 0; }
  .instalar__passos { grid-template-columns: minmax(0, 1fr); }
  .evento__acoes .botao { flex: 1 1 100%; justify-content: center; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
