/* Instituto Redoma. Cores do logo vetorial (#19312B, #937A58) e da paleta do manual da marca. */

@font-face { font-family: "Marcellus"; src: url("/fontes/marcellus-400.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Source Serif 4"; src: url("/fontes/source-serif-4.woff2") format("woff2"); font-weight: 400 600; font-style: normal; font-display: swap; }
@font-face { font-family: "Source Serif 4"; src: url("/fontes/source-serif-4-italico.woff2") format("woff2"); font-weight: 400; font-style: italic; font-display: swap; }

:root {
  --verde: #19312B;
  --verde-fundo: #142823;
  --ouro: #937A58;
  --ouro-texto: #6E5A3E;
  --ouro-claro: #C9AE80;
  --creme: #F2EBE3;
  --pedra: #E7DED2;
  --bege: #D3C7B9;
  --tinta: #1C2622;
  --tinta-2: #3E4A44;
  --creme-2: #D9D2C7;

  --titulo: "Marcellus", "Trajan Pro", Georgia, serif;
  --texto: "Source Serif 4", Georgia, "Times New Roman", serif;
  --suave: cubic-bezier(.16, 1, .3, 1);

  --respiro: clamp(5rem, 11vw, 11rem);
  --respiro-p: clamp(3.5rem, 7vw, 7rem);
  --z-topo: 20;
  --z-menu: 30;
}

*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; }
html { scroll-behavior: smooth; scroll-padding-top: 5rem; -webkit-text-size-adjust: 100%; }
body {
  background: var(--creme);
  color: var(--tinta);
  font-family: var(--texto);
  font-size: clamp(1.125rem, 1.05rem + .25vw, 1.1875rem);
  line-height: 1.65;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
img, svg { display: block; max-width: 100%; }
img { height: auto; }
a { color: inherit; }
ul, ol { padding: 0; list-style: none; }
h1, h2, h3, h4 { font-family: var(--titulo); font-weight: 400; line-height: 1.1; text-wrap: balance; }
p { text-wrap: pretty; }
::selection { background: var(--ouro-claro); color: var(--verde); }
:focus-visible { outline: 2px solid var(--ouro); outline-offset: 3px; }

.visualmente-oculto { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.pular { position: absolute; left: 1rem; top: -4rem; z-index: var(--z-menu); background: var(--creme); color: var(--verde); padding: .75rem 1rem; }
.pular:focus { top: 1rem; }

.faixa { width: 100%; max-width: 78rem; margin-inline: auto; padding-inline: clamp(1rem, 5vw, 4rem); }

.tit { color: var(--verde); font-size: clamp(2.25rem, 1.6rem + 2.6vw, 3.9rem); letter-spacing: .01em; }
.tit em { font-style: normal; color: var(--ouro-texto); display: block; }
.tit-claro { color: var(--creme); }
.destaque { font-size: clamp(1.25rem, 1.1rem + .6vw, 1.5rem); line-height: 1.5; color: var(--verde); }
.rotulo { font-family: var(--titulo); font-size: .95rem; letter-spacing: .22em; text-transform: uppercase; color: var(--ouro-texto); margin-bottom: 2rem; display: flex; align-items: center; gap: 1rem; }
.rotulo::after { content: ""; width: 3.5rem; height: 1px; background: var(--ouro); }

/* Botões e links */
.bt {
  display: inline-flex; align-items: center; justify-content: center; min-height: 3.25rem;
  padding: .9rem 1.75rem; background: var(--verde); color: var(--creme);
  font-family: var(--titulo); font-size: .95rem; letter-spacing: .14em; text-transform: uppercase; text-decoration: none;
  border-radius: 2px; transition: background-color .35s var(--suave), color .35s var(--suave), transform .35s var(--suave);
}
.bt:hover { background: var(--verde-fundo); transform: translateY(-2px); }
.bt-claro { background: var(--creme); color: var(--verde); }
.bt-claro:hover { background: #fff; }
.lk {
  font-family: var(--titulo); font-size: .95rem; letter-spacing: .14em; text-transform: uppercase; text-decoration: none;
  color: var(--verde); padding-block: .5rem; background: linear-gradient(var(--ouro), var(--ouro)) left bottom / 100% 1px no-repeat;
  transition: background-size .45s var(--suave);
}
.lk:hover { background-size: 35% 1px; }
.lk-claro { color: var(--creme); background-image: linear-gradient(var(--ouro-claro), var(--ouro-claro)); }

/* Topo */
.topo { position: fixed; inset: 0 0 auto; z-index: var(--z-topo); transition: background-color .45s var(--suave), box-shadow .45s var(--suave); }
.topo.rolou { background: var(--verde); box-shadow: 0 1px 0 rgba(201, 174, 128, .22); }
.topo-in { max-width: 78rem; margin-inline: auto; padding: 1rem clamp(1rem, 5vw, 4rem); display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.marca { display: block; width: 6.75rem; }
.marca .lt, .rodape-marca .lt { fill: var(--creme); }
.marca .lo, .rodape-marca .lo { fill: var(--ouro-claro); }
.menu { display: flex; align-items: center; gap: clamp(1.25rem, 2.4vw, 2.5rem); }
.menu a { color: var(--creme); text-decoration: none; font-family: var(--titulo); font-size: .9rem; letter-spacing: .14em; text-transform: uppercase; padding-block: .5rem; background: linear-gradient(var(--ouro-claro), var(--ouro-claro)) left bottom / 0 1px no-repeat; transition: background-size .45s var(--suave); }
.menu a:hover { background-size: 100% 1px; }
.menu .menu-cta { background: var(--creme); color: var(--verde); padding: .7rem 1.25rem; border-radius: 2px; transition: background-color .35s var(--suave), transform .35s var(--suave); }
.menu .menu-cta:hover { background: #fff; transform: translateY(-1px); }
.menu-bt { display: none; }

@media (max-width: 59.99em) {
  .menu-bt {
    display: inline-flex; align-items: center; gap: .75rem; background: none; border: 0; color: var(--creme); cursor: pointer;
    font-family: var(--titulo); font-size: .9rem; letter-spacing: .16em; text-transform: uppercase; padding: .75rem 0; min-height: 2.75rem;
  }
  .menu-bt-ic { width: 1.5rem; height: 9px; border-block: 1px solid currentColor; transition: transform .4s var(--suave); }
  .menu-bt[aria-expanded="true"] .menu-bt-ic { transform: scaleY(.25); }
  .menu {
    position: absolute; top: 100%; left: 0; right: 0; z-index: var(--z-menu); flex-direction: column; align-items: stretch; gap: 0;
    background: var(--verde); padding: 1rem clamp(1rem, 5vw, 4rem) 2rem; box-shadow: 0 1px 0 rgba(201, 174, 128, .22);
    visibility: hidden; opacity: 0; transform: translateY(-.5rem); transition: opacity .35s var(--suave), transform .35s var(--suave), visibility 0s .35s;
  }
  .menu.aberto { visibility: visible; opacity: 1; transform: none; transition: opacity .35s var(--suave), transform .35s var(--suave); }
  .menu a { font-size: 1.35rem; letter-spacing: .08em; padding-block: 1rem; border-bottom: 1px solid rgba(201, 174, 128, .18); background: none; }
  .menu .menu-cta { margin-top: 1.5rem; border: 0; text-align: center; padding: 1rem; font-size: 1.05rem; letter-spacing: .16em; }
}

/* Herói */
.heroi { background: var(--verde); color: var(--creme); position: relative; overflow: hidden; }
.heroi-in { max-width: 78rem; margin-inline: auto; padding: clamp(7.5rem, 14vw, 9.5rem) clamp(1rem, 5vw, 4rem) 0; display: grid; gap: 3.5rem; }
.heroi-tit { font-size: clamp(3rem, 1.6rem + 6.4vw, 6rem); line-height: 1; letter-spacing: -.01em; color: var(--creme); }
.heroi-tit span { display: block; }
.heroi-tit span:last-child { color: var(--ouro-claro); }
.heroi-lead { margin-top: 2rem; max-width: 44ch; color: var(--creme-2); font-size: clamp(1.15rem, 1.05rem + .4vw, 1.35rem); line-height: 1.6; }
.heroi-acoes { margin-top: 2.5rem; display: flex; flex-wrap: wrap; align-items: center; gap: 1.25rem 2rem; }
.heroi-fig { position: relative; aspect-ratio: 400 / 560; width: min(100%, 26rem); margin-inline: auto; }
.arcos { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.arco { fill: none; stroke: var(--ouro-claro); stroke-width: 1.1; stroke-dasharray: 1; stroke-dashoffset: 0; }
.arco.a2 { opacity: .55; }
.heroi-fig .arco-foto { position: absolute; left: 13%; right: 13%; top: 11.4%; bottom: 0; }
.arco-foto { overflow: hidden; border-radius: 100vmax 100vmax 0 0; background: var(--verde-fundo); }
.arco-foto img { width: 100%; height: 100%; object-fit: cover; }

@media (min-width: 60em) {
  .heroi-in { grid-template-columns: 1.15fr .85fr; align-items: end; gap: 4rem; min-height: 100svh; padding-bottom: 0; }
  .heroi-txt { padding-bottom: clamp(5rem, 10vh, 8rem); }
  .heroi-fig { width: 100%; max-width: 30rem; margin: 0 0 0 auto; }
}

/* Movimento de entrada do herói */
@media (prefers-reduced-motion: no-preference) {
  .heroi-tit span, .heroi-lead, .heroi-acoes { animation: entrar 1.2s var(--suave) both; }
  .heroi-tit span:nth-child(2) { animation-delay: .12s; }
  .heroi-tit span:nth-child(3) { animation-delay: .24s; }
  .heroi-lead { animation-delay: .45s; }
  .heroi-acoes { animation-delay: .6s; }
  .arco { animation: tracar 2.6s var(--suave) .2s both; }
  .arco.a2 { animation-delay: .45s; }
  .heroi-fig .arco-foto { animation: revelar 1.6s var(--suave) .15s both; }
  .heroi-fig .arco-foto img { animation: aproximar 3.2s var(--suave) .15s both; }
}
@keyframes entrar { from { opacity: 0; transform: translateY(1.75rem); } }
@keyframes tracar { from { stroke-dashoffset: 1; } }
@keyframes revelar { from { clip-path: inset(100% 0 0 0); } to { clip-path: inset(0); } }
@keyframes aproximar { from { transform: scale(1.12); } }

/* Por que Redoma */
.nome { padding-block: var(--respiro) var(--respiro-p); }
.nome-grade { display: grid; gap: 2.5rem; }
.nome-tit { color: var(--verde); font-size: clamp(2.25rem, 1.4rem + 3.2vw, 4.25rem); line-height: 1.08; max-width: 16ch; }
.nome-txt { max-width: 36rem; }
.nome-txt p + p, .nome-txt p + ul { margin-top: 1.25rem; }
.oracao { margin-top: 1.5rem; border-top: 1px solid var(--bege); }
.oracao li { font-family: var(--titulo); color: var(--verde); font-size: clamp(1.15rem, 1.05rem + .35vw, 1.35rem); padding: .85rem 0 .85rem 1.75rem; border-bottom: 1px solid var(--bege); position: relative; line-height: 1.35; }
.oracao li::before { content: ""; position: absolute; left: .2rem; top: 1.25em; width: .4rem; height: .4rem; background: var(--ouro); transform: rotate(45deg); }
.oracao-fim { margin-top: 2rem !important; font-family: var(--titulo); font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem); line-height: 1.25; color: var(--ouro-texto); }
@media (min-width: 60em) {
  .nome-grade { grid-template-columns: 7fr 5fr; gap: 5rem; align-items: start; }
  .nome-txt { padding-top: .75rem; }
  .nome-tit { position: sticky; top: 8rem; }
}

/* Origem */
.origem { padding-block: var(--respiro-p) var(--respiro); }
.origem-grade { display: grid; gap: 3rem; align-items: center; }
.origem-fig { width: min(100%, 26rem); margin-inline: auto; }
.origem-fig .arco-foto { aspect-ratio: 4 / 5.6; }
.origem-txt p { max-width: 60ch; }
.origem-txt .tit { margin-bottom: 1.75rem; }
.origem-txt p + p { margin-top: 1.25rem; }
.origem-txt .destaque { margin-bottom: 1.75rem; }
@media (min-width: 60em) {
  .origem-grade { grid-template-columns: 5fr 7fr; gap: clamp(3rem, 7vw, 7rem); }
  .origem-fig { margin: 0; width: 100%; }
}

/* Manifesto */
.manifesto {
  background-color: var(--verde); color: var(--creme); padding-block: var(--respiro); text-align: center;
  background-image: url("/img/padrao-arcos.svg"); background-size: 132px auto;
}
.manifesto-in { max-width: 62rem; }
.manifesto-intro { max-width: 52ch; margin-inline: auto; color: var(--creme-2); font-size: clamp(1.15rem, 1.05rem + .35vw, 1.3rem); }
.manifesto-frase { margin: clamp(2.5rem, 6vw, 4.5rem) 0; font-family: var(--titulo); font-size: clamp(2.6rem, 1.4rem + 5.4vw, 5.6rem); line-height: 1.05; }
.manifesto-frase span { display: block; }
.manifesto-frase span:last-child { color: var(--ouro-claro); }
.manifesto-fim { color: var(--creme-2); font-style: italic; }

/* Pilares */
.pilares { padding-block: var(--respiro); }
.pilares-cab { display: grid; gap: 1.5rem; margin-bottom: clamp(3rem, 7vw, 5.5rem); }
.pilares-cab p { max-width: 58ch; }
.cupula { display: none; }
.pilares-lista { display: grid; gap: 0; }
.pilar { padding: 1.75rem 0; border-top: 1px solid var(--bege); }
.pilar h3 { font-size: clamp(1.15rem, 1.05rem + .3vw, 1.3rem); letter-spacing: .16em; text-transform: uppercase; color: var(--verde); margin-bottom: .75rem; }
.pilar p { font-size: 1.05rem; color: var(--tinta-2); max-width: 46ch; }
.base { display: none; }
@media (min-width: 40em) and (max-width: 59.99em) {
  .pilares-lista { grid-template-columns: 1fr 1fr; column-gap: 2.5rem; }
}
@media (min-width: 60em) {
  .pilares-cab { grid-template-columns: 6fr 5fr; gap: 4rem; align-items: end; }
  .templo { position: relative; }
  .cupula { display: block; width: 100%; height: clamp(7rem, 12vw, 11rem); overflow: visible; }
  .cupula path { fill: none; stroke: var(--ouro); stroke-width: 1; vector-effect: non-scaling-stroke; }
  .cupula path:nth-child(2) { opacity: .5; }
  .pilares-lista { grid-template-columns: repeat(4, 1fr); }
  .pilar { border-top: 0; padding: 0 clamp(.75rem, 1.6vw, 1.75rem) 3rem; text-align: center; position: relative; }
  .pilar::before { content: ""; display: block; width: 1px; height: 3.5rem; margin: 0 auto 1.5rem; background: var(--ouro); }
  .pilar p { margin-inline: auto; font-size: 1rem; }
  .base { display: block; height: 7px; border-block: 1px solid var(--ouro); }
}

/* Entrega */
.entrega { background: var(--pedra); padding-block: var(--respiro); }
.entrega-tit { color: var(--verde); font-size: clamp(2.2rem, .9rem + 6vw, 6rem); line-height: 1.04; }
.entrega-tit span { display: block; }
.entrega-tit span:nth-child(3) { color: var(--ouro-texto); }
@media (min-width: 48em) {
  .entrega-tit span:nth-child(2) { padding-left: 8vw; }
  .entrega-tit span:nth-child(3) { padding-left: 16vw; }
}
@media (min-width: 90em) {
  .entrega-tit span:nth-child(2) { padding-left: 8rem; }
  .entrega-tit span:nth-child(3) { padding-left: 16rem; }
}
.entrega-sub { margin-top: clamp(2.5rem, 5vw, 4rem); max-width: 58ch; font-size: clamp(1.15rem, 1.05rem + .35vw, 1.3rem); }
.entrega-lista { margin-top: clamp(3rem, 6vw, 5rem); display: grid; gap: 2rem; }
.entrega-lista div { border-top: 1px solid var(--verde); padding-top: 1.25rem; }
.entrega-lista dt { font-family: var(--titulo); font-size: 1.15rem; letter-spacing: .16em; text-transform: uppercase; color: var(--verde); }
.entrega-lista dd { margin-top: .5rem; color: var(--tinta-2); }
@media (min-width: 48em) { .entrega-lista { grid-template-columns: repeat(3, 1fr); gap: 2.5rem; } }

/* Como atuamos */
.atuacao { padding-block: var(--respiro) var(--respiro-p); }
.atuacao-grade { display: grid; gap: 3.5rem; }
.atuacao-txt .tit { margin-bottom: 1.75rem; }
.acoes { margin-top: 2.25rem; }
.acoes li { position: relative; padding: 1rem 0 1rem 2.25rem; border-top: 1px solid var(--bege); max-width: 58ch; }
.acoes li::before { content: ""; position: absolute; left: 0; top: 1.45rem; width: .95rem; height: 1.05rem; border: 1px solid var(--ouro); border-bottom: 0; border-radius: 100vmax 100vmax 0 0; }
.contas { margin-top: 1.5rem; font-style: italic; color: var(--ouro-texto); }
.atuacao-fig { position: relative; width: min(100%, 26rem); margin-inline: auto; }
.atuacao-fig img { aspect-ratio: 4 / 5; object-fit: cover; width: 100%; position: relative; }
.atuacao-fig::before { content: ""; position: absolute; inset: 1rem -1rem -1rem 1rem; border: 1px solid var(--ouro); }
@media (min-width: 60em) {
  .atuacao-grade { grid-template-columns: 7fr 5fr; gap: clamp(3rem, 7vw, 7rem); align-items: start; }
  .atuacao-fig { margin: 6rem 0 0; width: 100%; position: sticky; top: 7rem; }
}
.comites { margin-top: clamp(4rem, 9vw, 7.5rem); }
.comites-tit { font-size: clamp(1.6rem, 1.3rem + 1.1vw, 2.25rem); color: var(--verde); padding-top: 2.5rem; border-top: 1px solid var(--verde); }
.comites-lista { margin-top: 2.25rem; display: grid; gap: 2rem; }
.comites-lista h4 { font-size: 1.1rem; letter-spacing: .14em; text-transform: uppercase; color: var(--ouro-texto); margin-bottom: .6rem; }
.comites-lista p { color: var(--tinta-2); max-width: 40ch; }
@media (min-width: 48em) { .comites-lista { grid-template-columns: repeat(3, 1fr); gap: 2.5rem; } }
.citacao { margin-top: clamp(3.5rem, 8vw, 6rem); max-width: 48rem; }
.citacao p { font-family: var(--titulo); font-size: clamp(1.6rem, 1.1rem + 2vw, 2.75rem); line-height: 1.22; color: var(--verde); }
.citacao p::before { content: "“"; color: var(--ouro); margin-right: .05em; }
.citacao p::after { content: "”"; color: var(--ouro); }
.citacao footer { margin-top: 1.25rem; color: var(--tinta-2); font-size: 1rem; }
.citacao cite { font-style: italic; }

/* Valores */
.valores { background: var(--verde); color: var(--creme); padding-block: var(--respiro); }
.valores-lista { margin-top: clamp(3rem, 6vw, 4.5rem); display: grid; gap: 2.5rem 2rem; }
@media (min-width: 40em) { .valores-lista { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 64em) { .valores-lista { grid-template-columns: repeat(5, 1fr); } }
.valores-lista div { padding-top: 1.25rem; border-top: 1px solid rgba(201, 174, 128, .45); }
.valores-lista dt { font-family: var(--titulo); font-size: clamp(1.5rem, 1.3rem + .6vw, 1.85rem); color: var(--creme); }
.valores-lista dd { margin-top: .6rem; color: var(--creme-2); font-size: 1.02rem; line-height: 1.7; }
.valores-fim { margin-top: clamp(3.5rem, 8vw, 6rem); text-align: center; font-family: var(--titulo); letter-spacing: .2em; text-transform: uppercase; color: var(--ouro-claro); font-size: clamp(.95rem, .85rem + .4vw, 1.15rem); line-height: 1.8; }

/* Campo */
.campo { position: relative; min-height: min(92svh, 56rem); display: flex; align-items: flex-end; color: var(--creme); overflow: hidden; background: var(--verde); }
.campo-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 40%; }
.campo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(20, 40, 35, .94) 0%, rgba(20, 40, 35, .7) 40%, rgba(20, 40, 35, .12) 78%, rgba(20, 40, 35, .05) 100%); }
.campo-in { position: relative; z-index: 1; padding-block: var(--respiro-p); }
.campo-tit { font-size: clamp(2rem, 1.3rem + 3vw, 3.75rem); line-height: 1.1; max-width: 20ch; }
.campo-in p { margin-top: 1.75rem; max-width: 54ch; color: var(--creme-2); }

/* Caminhe */
.caminhe { padding-block: var(--respiro); }
.caminhe-cab { display: grid; gap: 1.5rem; margin-bottom: clamp(3rem, 6vw, 4.5rem); }
.caminhe-cab p { max-width: 46ch; font-size: clamp(1.15rem, 1.05rem + .35vw, 1.3rem); }
.formas { display: grid; gap: 0; }
.formas li { padding: 2rem 0; border-top: 1px solid var(--bege); }
.formas h3 { font-size: clamp(1.45rem, 1.25rem + .6vw, 1.8rem); color: var(--verde); margin-bottom: .9rem; }
.formas p { color: var(--tinta-2); max-width: 44ch; }
.formas-mais { margin-top: 2.5rem; max-width: 60ch; }
.convite { margin-top: clamp(4rem, 9vw, 7rem); padding: clamp(2.5rem, 6vw, 4.5rem) clamp(1.25rem, 5vw, 4rem); border: 1px solid var(--ouro); text-align: center; position: relative; }
.convite::before { content: ""; position: absolute; left: 50%; top: -1.5rem; width: 4rem; height: 3rem; transform: translateX(-50%); background: var(--creme) url("/img/icone-ouro.svg") center / 2.6rem auto no-repeat; }
.convite-frase { font-family: var(--titulo); text-transform: uppercase; letter-spacing: .12em; color: var(--verde); font-size: clamp(1.3rem, 1rem + 1.4vw, 2.1rem); line-height: 1.35; max-width: 26ch; margin: 0 auto 2.25rem; text-wrap: balance; }
.aviso { margin: 2rem auto 0; max-width: 58ch; font-size: .98rem; color: var(--tinta-2); }
@media (min-width: 60em) {
  .caminhe-cab { grid-template-columns: 7fr 5fr; gap: 4rem; align-items: end; }
  .formas { grid-template-columns: repeat(3, 1fr); }
  .formas li { padding: 2.25rem 2.25rem 0; border-top: 0; border-left: 1px solid var(--bege); }
  .formas li:first-child { padding-left: 0; border-left: 0; }
}

/* Igrejas */
.igreja { background: var(--pedra); padding-block: var(--respiro-p); text-align: center; }
.igreja-frase { font-family: var(--titulo); color: var(--verde); font-size: clamp(1.6rem, 1.15rem + 2vw, 2.75rem); line-height: 1.25; max-width: 30ch; margin-inline: auto; text-wrap: balance; }
.igreja-frase span { display: block; margin-top: .5rem; color: var(--ouro-texto); }

/* Fecho */
.fecho { background: var(--verde); color: var(--creme); padding-block: var(--respiro); text-align: center; }
.fecho-in { display: flex; flex-direction: column; align-items: center; }
.fecho-ic { width: 4.5rem; fill: var(--ouro-claro); margin-bottom: 2.5rem; }
.fecho-tit { font-size: clamp(2.75rem, 1.5rem + 5vw, 5.5rem); }
.fecho-ver { margin: 2.5rem 0 3rem; color: var(--creme-2); font-size: clamp(1.15rem, 1.05rem + .4vw, 1.35rem); line-height: 1.75; }
.fecho-ver span { display: block; }
.fecho-ver span:last-child { color: var(--creme); margin-top: .75rem; max-width: 30ch; margin-inline: auto; text-wrap: balance; }

/* Rodapé */
.rodape { background: var(--verde-fundo); color: var(--creme-2); padding-block: 4rem 2.5rem; border-top: 1px solid rgba(201, 174, 128, .2); }
.rodape-in { display: grid; gap: 2.5rem; }
.rodape-id { display: grid; gap: 1.5rem; }
.rodape-marca { width: 9rem; }
.rodape-desc { max-width: 40ch; font-size: 1rem; }
.rodape-nav { display: flex; flex-wrap: wrap; gap: .5rem 1.75rem; }
.rodape-nav a { font-family: var(--titulo); font-size: .88rem; letter-spacing: .14em; text-transform: uppercase; text-decoration: none; color: var(--creme); padding-block: .5rem; }
.rodape-nav a:hover { color: var(--ouro-claro); }
.rodape-fim { font-size: .92rem; color: #A9B5AE; padding-top: 1.5rem; border-top: 1px solid rgba(201, 174, 128, .15); }
.rodape-dados { display: grid; gap: 1.25rem 2rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr)); padding-top: 2rem; border-top: 1px solid rgba(201, 174, 128, .15); }
.rodape-dados dt { font-family: var(--titulo); font-size: .82rem; letter-spacing: .16em; text-transform: uppercase; color: var(--ouro-claro); }
.rodape-dados dd { margin-top: .25rem; color: var(--creme); font-size: 1rem; }
.rodape-dados a { text-decoration-color: rgba(201, 174, 128, .6); text-underline-offset: 3px; }
@media (min-width: 60em) {
  .rodape-in { grid-template-columns: auto 1fr; column-gap: 5rem; }
  .rodape-nav { justify-content: flex-end; align-self: center; }
  .rodape-dados, .rodape-fim { grid-column: 1 / -1; }
}

/* Revelação ao rolar: o conteúdo já está visível; só ganha movimento onde o navegador suporta. */
@media (prefers-reduced-motion: no-preference) {
  @supports (animation-timeline: view()) {
    .nome-tit, .nome-txt, .origem-fig, .origem-txt, .manifesto-frase span, .pilares-cab, .entrega-tit span,
    .entrega-lista div, .acoes li, .comites-lista li, .citacao, .valores-lista div, .campo-tit, .formas li, .convite,
    .igreja-frase, .fecho-tit, .fecho-ver span {
      animation: subir linear both; animation-timeline: view(); animation-range: entry 5% cover 28%;
    }
  }
}
@keyframes subir { from { opacity: .15; transform: translateY(2.25rem); } }

/* Detalhes da home */
.convite-alt { margin-top: 1.1rem; font-size: 1rem; color: var(--tinta-2); }
.convite-alt a { color: var(--verde); text-decoration-color: var(--ouro); text-underline-offset: 3px; }
.fecho-acoes { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 1.25rem 2rem; }

/* Cabeçalho das páginas internas */
.pg-cab { background: var(--verde) url("/img/padrao-arcos.svg") 0 0 / 132px auto; color: var(--creme); padding: clamp(9rem, 16vw, 12rem) 0 clamp(4rem, 8vw, 6.5rem); }
.pg-tit { font-size: clamp(3rem, 1.8rem + 5vw, 5.75rem); line-height: 1; }
.pg-lead { margin-top: 1.75rem; max-width: 50ch; color: var(--creme-2); font-size: clamp(1.15rem, 1.05rem + .45vw, 1.4rem); line-height: 1.55; }
@media (prefers-reduced-motion: no-preference) {
  .pg-tit, .pg-lead { animation: entrar 1.1s var(--suave) both; }
  .pg-lead { animation-delay: .15s; }
}

/* Catálogo */
.cartela { padding-block: var(--respiro-p) var(--respiro); }
.cartela-cab { display: grid; gap: 1.5rem; margin-bottom: clamp(3rem, 6vw, 4.5rem); }
.cartela-cab p { max-width: 58ch; color: var(--tinta-2); }
@media (min-width: 60em) { .cartela-cab { grid-template-columns: 6fr 5fr; gap: 4rem; align-items: end; } }
.cartela-grade { display: grid; gap: clamp(2.5rem, 4vw, 3.5rem) clamp(1.5rem, 3vw, 2.5rem); grid-template-columns: repeat(auto-fill, minmax(min(100%, 20rem), 1fr)); }
.item { display: flex; flex-direction: column; }
.item-capa { position: relative; aspect-ratio: 16 / 11; overflow: hidden; padding: 1.4rem 1.5rem; display: flex; align-items: flex-start; border-radius: 2px; }
.item-capa span { font-family: var(--titulo); font-size: .9rem; letter-spacing: .2em; text-transform: uppercase; position: relative; z-index: 1; }
.item-capa svg { position: absolute; width: 72%; right: -10%; bottom: -14%; transition: transform .8s var(--suave); }
.item:hover .item-capa svg { transform: translateY(-6%) scale(1.03); }
.item-capa-verde { background: var(--verde); color: var(--creme); }
.item-capa-verde svg { fill: var(--ouro-claro); opacity: .85; }
.item-capa-pedra { background: var(--pedra); color: var(--verde); }
.item-capa-pedra svg { fill: var(--ouro); opacity: .7; }
.item-capa-ouro { background: #CDB892; color: var(--verde); }
.item-capa-ouro svg { fill: var(--verde); opacity: .5; }
.item-txt { padding-top: 1.5rem; display: flex; flex-direction: column; align-items: flex-start; flex: 1; }
.item-txt h3 { font-size: clamp(1.4rem, 1.25rem + .45vw, 1.65rem); color: var(--verde); margin: .9rem 0 .7rem; }
.item-txt p:not(.selo) { color: var(--tinta-2); margin-bottom: 1.25rem; }
.item-txt .lk { margin-top: auto; }
.selo { display: inline-block; font-family: var(--titulo); font-size: .82rem; letter-spacing: .14em; text-transform: uppercase; color: var(--ouro-texto); border: 1px solid var(--ouro); border-radius: 100vmax; padding: .3rem .8rem .25rem; line-height: 1.3; }

/* Contribuir */
.pix { padding-block: var(--respiro); }
.pix-grade { display: grid; gap: 3.5rem; align-items: center; }
.pix-txt .tit { margin-bottom: 1.5rem; }
.pix-dados { margin: 2.25rem 0 1.5rem; border-top: 1px solid var(--bege); }
.pix-dados div { display: grid; grid-template-columns: 8.5rem 1fr; gap: 1rem; padding: .9rem 0; border-bottom: 1px solid var(--bege); }
.pix-dados dt { font-family: var(--titulo); font-size: .88rem; letter-spacing: .14em; text-transform: uppercase; color: var(--ouro-texto); padding-top: .15rem; }
.pix-dados dd { color: var(--verde); font-size: 1.1rem; }
.pix-nota { font-style: italic; color: var(--tinta-2); max-width: 54ch; margin-bottom: 2rem; }
.pix-qr { width: min(100%, 22rem); margin-inline: auto; text-align: center; }
.pix-qr-caixa { background: #FBF8F4; border: 1px solid var(--ouro); padding: 2.25rem 2rem 1.75rem; position: relative; }
.pix-qr-ic { width: 3rem; fill: var(--ouro); margin: 0 auto 1.5rem; }
.pix-qr-img svg { width: 100%; max-width: 13rem; margin-inline: auto; height: auto; }
.pix-qr-selo { margin-top: 1.25rem; font-family: var(--titulo); font-size: .82rem; letter-spacing: .16em; text-transform: uppercase; color: var(--ouro-texto); }
.pix-qr figcaption { margin-top: 1rem; font-size: .98rem; color: var(--tinta-2); }
@media (min-width: 60em) {
  .pix-grade { grid-template-columns: 7fr 5fr; gap: clamp(3rem, 8vw, 8rem); }
  .pix-qr { margin: 0 0 0 auto; }
}
.outras { background: var(--pedra); padding-block: var(--respiro); }
.outras .tit { margin-bottom: clamp(2.5rem, 5vw, 4rem); }
.outras .formas li { border-color: var(--bege); }
.outras .formas .lk { display: inline-block; margin-top: 1.25rem; }
.transp { background: var(--verde); color: var(--creme); padding-block: var(--respiro); text-align: center; }
.transp-in { display: flex; flex-direction: column; align-items: center; }
.transp-tit { font-size: clamp(2rem, 1.3rem + 3vw, 3.75rem); max-width: 22ch; }
.transp p { margin-top: 2rem; max-width: 60ch; color: var(--creme-2); }

/* Erro */
.erro { min-height: 100svh; display: flex; align-items: center; padding-top: 8rem; }

/* Projetos */
.lk-mt { display: inline-block; margin-top: 1.25rem; }
.cartela-cab p a, .pg-lead a { color: inherit; text-decoration-color: var(--ouro); text-underline-offset: 3px; }
.pg-lead a { text-decoration-color: var(--ouro-claro); }
@media (min-width: 48em) { .projetos-grade { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 110em) { .projetos-grade { grid-template-columns: repeat(4, 1fr); } }
.item-meta { width: 100%; margin: 0 0 1.5rem; border-top: 1px solid var(--bege); }
.item-meta div { display: flex; justify-content: space-between; gap: 1rem; padding: .55rem 0; border-bottom: 1px solid var(--bege); font-size: .95rem; }
.item-meta dt { font-family: var(--titulo); font-size: .8rem; letter-spacing: .14em; text-transform: uppercase; color: var(--ouro-texto); padding-top: .15rem; }
.item-meta dd { color: var(--tinta-2); text-align: right; }
.projetos-nota { margin-top: clamp(3rem, 6vw, 4.5rem); max-width: 60ch; font-style: italic; color: var(--ouro-texto); }
.caminho { background: var(--verde); color: var(--creme); padding-block: var(--respiro); }
.caminho-lista { margin-top: clamp(3rem, 6vw, 4.5rem); display: grid; gap: 2.5rem 2rem; counter-reset: passo; }
.caminho-lista li { counter-increment: passo; padding-top: 1.25rem; border-top: 1px solid rgba(201, 174, 128, .45); }
.caminho-lista li::before { content: counter(passo, decimal-leading-zero); display: block; font-family: var(--titulo); font-size: 2.6rem; line-height: 1; color: var(--ouro-claro); margin-bottom: 1rem; }
.caminho-lista h3 { font-size: clamp(1.35rem, 1.2rem + .4vw, 1.6rem); color: var(--creme); margin-bottom: .6rem; }
.caminho-lista p { color: var(--creme-2); font-size: 1.02rem; }
@media (min-width: 48em) { .caminho-lista { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 64em) { .caminho-lista { grid-template-columns: repeat(4, 1fr); } }
.faixa-acoes { margin-top: 2rem; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 1.25rem 2rem; }
