/* =============================================================================
   Instituto Padre Arlindo — estilos do site (protótipo 0.1.0, 28/10/2026)
   Paleta tirada do logo: gota (laranja → vermelho), folha (verde/dourado), onda (azul-mar).
   Títulos em Fraunces (serifa), texto em Inter. Fontes servidas pelo próprio site.
   ============================================================================= */

@font-face { font-family: 'Fraunces'; font-style: normal; font-weight: 100 900; font-display: swap; src: url(../fonts/fraunces-latin-v38.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: 'Fraunces'; font-style: italic; font-weight: 100 900; font-display: swap; src: url(../fonts/fraunces-italic-latin-v38.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: 'Inter'; font-style: normal; font-weight: 100 900; font-display: swap; src: url(../fonts/inter-latin-v20.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 {
  --brasa: #D9362A;
  --sol: #EA5A27;
  --sol-claro: #F39A2B;
  --sol-texto: #C2441A;
  --mar: #00969E;
  --mar-texto: #007A82;
  --oceano: #075A78;
  --abismo: #06303D;
  --folha: #7AB342;
  --ouro: #D4BD35;
  --tinta: #10242C;
  --texto: #3B4C54;
  --texto-suave: #5C6C73;
  --linha: #E5DED2;
  --areia: #F7F2EA;
  --areia-2: #FBF8F3;
  --pessego: #FDEEE6;
  --agua: #E4F3F3;

  --grad-gota: linear-gradient(135deg, #EC6A2A 0%, #DE4A2A 52%, #C9322A 100%);
  --grad-marca: linear-gradient(90deg, #D4BD35, #7AB342 28%, #00969E 60%, #EA5A27);

  --raio: 22px;
  --raio-m: 16px;
  --sombra-1: 0 1px 2px rgb(16 36 44 / .06), 0 8px 20px -10px rgb(16 36 44 / .16);
  --sombra-2: 0 2px 6px rgb(16 36 44 / .05), 0 28px 56px -24px rgb(16 36 44 / .34);

  --fonte-titulo: 'Fraunces', 'Iowan Old Style', Georgia, serif;
  --fonte-texto: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;

  --gutter: clamp(16px, 4vw, 32px);
  --largura: 1240px;
  --cab-h: 84px;
  --onda-h: clamp(30px, 5vw, 76px);
  --secao-pad: clamp(64px, 8vw, 112px);
}

/* ---------------------------------------------------------------- base */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 96px; }
body { margin: 0; background: #fff; color: var(--texto); font: 400 1.0625rem/1.7 var(--fonte-texto); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; overflow-x: hidden; }
img, svg, video, iframe { display: block; max-width: 100%; }
img { height: auto; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; cursor: pointer; background: none; border: 0; padding: 0; }
h1, h2, h3, h4 { margin: 0; color: var(--tinta); font-family: var(--fonte-titulo); font-weight: 600; line-height: 1.12; letter-spacing: -.012em; text-wrap: balance; }
p { margin: 0 0 1em; text-wrap: pretty; }
ul, ol { margin: 0; padding: 0; list-style: none; }
dl, dd { margin: 0; }
blockquote, figure { margin: 0; }
:focus-visible { outline: 3px solid var(--mar); outline-offset: 3px; border-radius: 6px; }
::selection { background: #FBD7C4; color: var(--tinta); }
.ic { width: 1.25em; height: 1.25em; flex: none; }

.container { width: 100%; max-width: calc(var(--largura) + var(--gutter) * 2); margin-inline: auto; padding-inline: var(--gutter); }
.container--medio { max-width: calc(1000px + var(--gutter) * 2); }
.container--estreito { max-width: calc(780px + var(--gutter) * 2); }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.pular { position: absolute; left: 16px; top: -64px; z-index: 100; padding: 10px 16px; border-radius: 10px; background: var(--tinta); color: #fff; font-weight: 600; transition: top .2s; }
.pular:focus { top: 12px; }
.img-vazia { display: block; width: 100%; height: 100%; min-height: 120px; background: linear-gradient(135deg, var(--areia), var(--linha)); }

/* ---------------------------------------------------------------- tipografia e utilitários */
.rotulo { display: inline-flex; align-items: center; gap: 12px; margin: 0 0 16px; font: 700 .75rem/1.2 var(--fonte-texto); letter-spacing: .16em; text-transform: uppercase; color: var(--sol-texto); }
.rotulo::before { content: ''; width: 30px; height: 3px; border-radius: 3px; background: var(--grad-marca); }
.rotulo--claro { color: #FFCFB5; }
.secao { position: relative; padding-block: var(--secao-pad); }
.secao--areia { background: var(--areia); }
.secao--mar { background: radial-gradient(1000px 520px at 88% 42%, rgb(0 150 158 / .2), transparent 62%), linear-gradient(180deg, var(--abismo) 0%, var(--abismo) 12%, #073746 100%); color: rgb(255 255 255 / .8); }
.secao__cab--claro .rotulo, .secao--mar .rotulo { color: #FFBE9C; }
.secao--mar h2, .secao--mar h3 { color: #fff; }
.secao__cab { max-width: 720px; margin-bottom: clamp(32px, 4vw, 56px); }
.secao__cab--centro { margin-inline: auto; text-align: center; }
.secao__cab--centro .rotulo { justify-content: center; }
.secao__titulo { font-size: clamp(1.9rem, 1.25rem + 2.1vw, 3rem); }
.secao__texto { margin: 18px 0 0; font-size: 1.125rem; color: var(--texto-suave); }
.secao__cab--claro .secao__texto { color: rgb(255 255 255 / .75); }
.secao__cab-linha { display: flex; align-items: flex-end; justify-content: space-between; flex-wrap: wrap; gap: 20px 32px; margin-bottom: clamp(32px, 4vw, 56px); }
.secao__cab-linha .secao__cab { margin-bottom: 0; }
.lead { font-size: 1.1875rem; line-height: 1.65; color: var(--tinta); }
.acoes { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.so-estreito { display: none; }
main > :last-child { padding-bottom: calc(var(--secao-pad) + var(--onda-h)); }

/* ---------------------------------------------------------------- botões e links */
.btn { --altura: 52px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: var(--altura); padding: 0 26px; border: 1.5px solid transparent; border-radius: 999px; font: 600 1rem/1 var(--fonte-texto); letter-spacing: .005em; white-space: nowrap; transition: transform .2s ease, box-shadow .2s ease, background-color .2s, color .2s, border-color .2s; }
.btn .ic { width: 1.15em; height: 1.15em; transition: transform .2s; }
.btn:hover span + .ic { transform: translateX(3px); }
.btn--gota { color: #fff; background: var(--grad-gota); box-shadow: 0 10px 22px -10px rgb(201 50 42 / .65); }
.btn--gota:hover { transform: translateY(-1px); box-shadow: 0 14px 28px -12px rgb(201 50 42 / .7); }
.btn--mar { color: #fff; background: var(--abismo); }
.btn--mar:hover { background: var(--oceano); }
.btn--linha { color: var(--tinta); border-color: #CDC3B4; background: transparent; }
.btn--linha:hover { border-color: var(--tinta); }
.btn--vidro { color: #fff; border-color: rgb(255 255 255 / .45); background: rgb(255 255 255 / .08); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.btn--vidro:hover { border-color: #fff; background: rgb(255 255 255 / .18); }
.btn--claro { color: var(--tinta); background: #fff; }
.btn--p { --altura: 44px; padding: 0 18px; font-size: .9375rem; }
.btn--largo { width: 100%; }
.btn.is-copiado { background: #2F7A3A; border-color: #2F7A3A; color: #fff; box-shadow: none; }
.link-seta { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; color: var(--sol-texto); }
.link-seta .ic { width: 1.1em; height: 1.1em; transition: transform .2s; }
.link-seta:hover .ic { transform: translateX(4px); }

/* ---------------------------------------------------------------- barra de contatos */
.barra-topo { background: var(--abismo); color: rgb(255 255 255 / .78); font-size: .8125rem; }
.barra-topo__in { display: flex; align-items: center; gap: 28px; min-height: 40px; }
.barra-topo__texto { margin: 0 auto 0 0; letter-spacing: .01em; }
.barra-topo__contatos { display: flex; gap: 24px; }
.barra-topo__contatos a { display: inline-flex; align-items: center; gap: 8px; transition: color .2s; }
.barra-topo .ic { width: 15px; height: 15px; color: #7FD0D5; }
.barra-topo a:hover { color: #fff; }
.redes { display: flex; gap: 6px; }
.redes a { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; transition: background-color .2s, color .2s, border-color .2s; }
.redes--topo a { width: 28px; height: 28px; }
.redes--topo .ic { color: inherit; }
.redes--topo a:hover { background: rgb(255 255 255 / .12); }

/* ---------------------------------------------------------------- cabeçalho */
.cab { position: sticky; top: 0; z-index: 50; background: rgb(255 255 255 / .95); -webkit-backdrop-filter: saturate(1.4) blur(12px); backdrop-filter: saturate(1.4) blur(12px); border-bottom: 1px solid transparent; transition: box-shadow .25s, border-color .25s; }
.cab.is-rolado { border-color: var(--linha); box-shadow: 0 10px 30px -20px rgb(16 36 44 / .4); }
.cab__in { display: flex; align-items: center; gap: 24px; height: var(--cab-h); transition: height .25s; }
.cab.is-rolado .cab__in { height: 70px; }
.marca { display: flex; align-items: center; gap: 12px; flex: none; }
.marca__gota { width: auto; height: 54px; transition: height .25s; }
.cab.is-rolado .marca__gota { height: 44px; }
.marca__nome { display: flex; flex-direction: column; line-height: 1; }
.marca__nome small { margin-bottom: 6px; font: 700 .6875rem/1 var(--fonte-texto); letter-spacing: .3em; text-transform: uppercase; color: var(--sol-texto); }
.marca__nome strong { font: 600 1.5rem/1 var(--fonte-titulo); letter-spacing: -.01em; color: var(--tinta); }
.marca--clara .marca__nome strong { color: #fff; }
.marca--clara .marca__nome small { color: #FFB28C; }
.marca--pequena .marca__gota { height: 44px; }
.marca--pequena .marca__nome strong { font-size: 1.3rem; }

.menu { margin-left: auto; }
.menu__lista { display: flex; align-items: center; gap: 2px; }
.menu__item { position: relative; display: flex; align-items: center; }
.menu__link { position: relative; display: block; padding: 10px 12px; border-radius: 10px; font-size: .9375rem; font-weight: 500; color: var(--tinta); }
.menu__link::after { content: ''; position: absolute; left: 12px; right: 12px; bottom: 4px; height: 2px; border-radius: 2px; background: var(--grad-gota); transform: scaleX(0); transform-origin: left; transition: transform .25s; }
.menu__link:hover::after, .menu__item.is-ativo > .menu__link::after { transform: scaleX(1); }
.menu__item--sub > .menu__link { padding-right: 2px; }
.menu__item--sub > .menu__link::after { right: 2px; }
.menu__abrir { display: grid; place-items: center; width: 24px; height: 32px; border-radius: 6px; color: var(--texto-suave); }
.menu__abrir .ic { width: 15px; height: 15px; transition: transform .2s; }
.submenu { position: absolute; top: calc(100% + 10px); left: -6px; min-width: 250px; padding: 10px; border: 1px solid var(--linha); border-radius: 16px; background: #fff; box-shadow: var(--sombra-2); opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .2s, transform .2s, visibility .2s; }
.submenu::before { content: ''; position: absolute; left: 0; right: 0; top: -14px; height: 14px; }
.menu__item--sub:hover .submenu, .menu__item--sub:focus-within .submenu, .menu__item--sub.is-aberto .submenu { opacity: 1; visibility: visible; transform: none; }
.menu__item--sub:hover .menu__abrir .ic, .menu__item--sub.is-aberto .menu__abrir .ic { transform: rotate(180deg); }
.submenu a { display: block; padding: 10px 14px; border-radius: 10px; font-size: .9375rem; color: var(--texto); transition: background-color .15s, color .15s; }
.submenu a:hover { background: var(--areia); color: var(--tinta); }
.btn--doar { --altura: 46px; flex: none; padding: 0 22px; }
.cab__hamburguer { display: none; place-items: center; width: 46px; height: 46px; border: 1px solid var(--linha); border-radius: 12px; color: var(--tinta); }
.cab__hamburguer .ic { width: 22px; height: 22px; }

/* menu do celular */
.menu-movel { position: fixed; inset: 0; z-index: 80; background: rgb(6 48 61 / .5); opacity: 0; transition: opacity .25s; }
.menu-movel[hidden] { display: none; }
.menu-movel.is-aberto { opacity: 1; }
.menu-movel__painel { position: absolute; top: 0; right: 0; bottom: 0; display: flex; flex-direction: column; gap: 22px; width: min(400px, 100%); padding: 16px 22px 28px; overflow-y: auto; background: #fff; transform: translateX(100%); transition: transform .32s cubic-bezier(.2, .8, .2, 1); }
.menu-movel.is-aberto .menu-movel__painel { transform: none; }
.menu-movel__topo { display: flex; align-items: center; justify-content: space-between; }
.menu-movel__fechar { display: grid; place-items: center; width: 46px; height: 46px; border: 1px solid var(--linha); border-radius: 12px; }
.menu-movel__lista > li { border-bottom: 1px solid var(--linha); }
.menu-movel__lista > li > a { display: block; padding: 14px 2px; font: 600 1.25rem/1.2 var(--fonte-titulo); color: var(--tinta); }
.menu-movel__lista > li > a[aria-current] { color: var(--sol-texto); }
.menu-movel__lista ul { padding: 0 0 12px 14px; }
.menu-movel__lista ul a { display: block; padding: 7px 2px; font-size: .9375rem; color: var(--texto-suave); }
.menu-movel__contatos { display: grid; gap: 12px; font-size: .9375rem; color: var(--texto); }
.menu-movel__contatos > a { display: inline-flex; align-items: center; gap: 10px; }
.menu-movel__contatos .ic { color: var(--mar-texto); }
.menu-movel__contatos .redes a { border: 1px solid var(--linha); }
body.menu-aberto { overflow: hidden; }

/* ---------------------------------------------------------------- onda (motivo do logo) */
.onda { position: absolute; left: 0; width: 100%; height: var(--onda-h); pointer-events: none; }
.onda--base { bottom: -1px; z-index: 2; color: #fff; }
.onda--topo { top: calc(1px - var(--onda-h)); color: var(--abismo); }

/* ---------------------------------------------------------------- destaques (hero) */
.hero { position: relative; isolation: isolate; overflow: hidden; color: #fff; background: var(--abismo); }
.hero__slides { position: relative; height: clamp(600px, 86vh, 800px); }
.hero__slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity 1.1s ease, visibility 1.1s; }
.hero__slide.is-ativo { z-index: 1; opacity: 1; visibility: visible; }
.hero__midia { position: absolute; inset: 0; overflow: hidden; }
.hero__midia img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.08); transition: transform 9s ease-out; }
.hero__slide.is-ativo .hero__midia img { transform: scale(1); }
.hero__midia::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgb(6 40 52 / .93) 0%, rgb(6 40 52 / .74) 34%, rgb(6 40 52 / .22) 66%, rgb(6 40 52 / 0) 86%), linear-gradient(0deg, rgb(6 40 52 / .6) 0%, transparent 38%); }
.hero__conteudo { position: relative; display: flex; flex-direction: column; justify-content: center; height: 100%; padding-top: 24px; padding-bottom: 196px; }
.hero__conteudo > * { max-width: 660px; }
.hero__rotulo { display: inline-flex; align-items: center; align-self: flex-start; gap: 10px; margin: 0 0 22px; padding: 8px 15px 8px 11px; border: 1px solid rgb(255 255 255 / .24); border-radius: 999px; background: rgb(255 255 255 / .1); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); font: 600 .8125rem/1 var(--fonte-texto); letter-spacing: .04em; }
.hero__rotulo::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: var(--sol-claro); box-shadow: 0 0 0 4px rgb(243 154 43 / .28); }
.hero__titulo { color: #fff; font-size: clamp(2.4rem, 1.4rem + 3.1vw, 4.2rem); line-height: 1.04; letter-spacing: -.024em; }
.hero__texto { max-width: 560px; margin: 22px 0 0; font-size: clamp(1.0625rem, 1rem + .3vw, 1.25rem); color: rgb(255 255 255 / .87); }
.hero__acoes { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.hero__slide .hero__conteudo > * { opacity: 0; transform: translateY(18px); transition: opacity .7s ease, transform .7s ease; }
.hero__slide.is-ativo .hero__conteudo > * { opacity: 1; transform: none; }
.hero__slide.is-ativo .hero__conteudo > :nth-child(2) { transition-delay: .1s; }
.hero__slide.is-ativo .hero__conteudo > :nth-child(3) { transition-delay: .2s; }
.hero__slide.is-ativo .hero__conteudo > :nth-child(4) { transition-delay: .3s; }
.hero__controles { position: absolute; left: 0; right: 0; bottom: calc(var(--onda-h) + 64px); z-index: 3; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.hero__setas { display: flex; gap: 10px; margin-left: auto; }
.hero__seta { display: grid; place-items: center; width: 50px; height: 50px; border: 1.5px solid rgb(255 255 255 / .4); border-radius: 50%; color: #fff; transition: background-color .2s, border-color .2s; }
.hero__seta:hover { border-color: #fff; background: rgb(255 255 255 / .14); }

/* ---------------------------------------------------------------- números */
.impacto { position: relative; z-index: 3; margin-top: calc(-1 * (var(--onda-h) + 40px)); }
.impacto__lista { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid rgb(229 222 210 / .8); border-radius: var(--raio); background: #fff; box-shadow: var(--sombra-2); }
.impacto__item { position: relative; padding: 30px 28px 28px; }
.impacto__item + .impacto__item::before { content: ''; position: absolute; left: 0; top: 28px; bottom: 28px; width: 1px; background: var(--linha); }
.impacto__icone { display: grid; place-items: center; width: 46px; height: 46px; margin-bottom: 18px; border-radius: 14px; background: var(--pessego); color: var(--sol-texto); }
.impacto__icone .ic { width: 24px; height: 24px; }
.impacto__numero { margin: 0; font: 600 clamp(2rem, 1.4rem + 1.5vw, 2.75rem)/1 var(--fonte-titulo); letter-spacing: -.02em; font-variant-numeric: lining-nums; background: var(--grad-gota); -webkit-background-clip: text; background-clip: text; color: transparent; }
.impacto__rotulo { margin: 10px 0 0; font-size: .9375rem; line-height: 1.5; color: var(--texto-suave); }

/* ---------------------------------------------------------------- quem somos */
.quem-somos__grade { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(48px, 7vw, 104px); align-items: center; }
.quem-somos__fotos { position: relative; padding: 0 0 64px; }
.quem-somos__principal { overflow: hidden; aspect-ratio: 4 / 4.5; border-radius: 240px 240px 28px 240px; box-shadow: var(--sombra-2); }
.quem-somos__principal img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; }
.quem-somos__secundaria { position: absolute; right: -5%; bottom: 0; width: 48%; aspect-ratio: 4 / 3; overflow: hidden; border: 6px solid #fff; border-radius: 22px; box-shadow: var(--sombra-2); }
.quem-somos__secundaria img { width: 100%; height: 100%; object-fit: cover; }
.quem-somos__selo { position: absolute; left: -18px; top: 14%; display: flex; align-items: center; gap: 12px; margin: 0; padding: 14px 20px; border-radius: 18px; background: #fff; box-shadow: var(--sombra-2); }
.quem-somos__selo strong { font: 600 2.1rem/1 var(--fonte-titulo); color: var(--sol-texto); }
.quem-somos__selo span { font-size: .8125rem; line-height: 1.3; color: var(--texto-suave); }
.quem-somos__texto .secao__titulo { margin-bottom: 22px; }
.citacao { margin: 30px 0 0; padding: 4px 0 4px 22px; border-left: 3px solid var(--sol); font: italic 500 1.375rem/1.4 var(--fonte-titulo); color: var(--tinta); }
.citacao p { margin: 0; }

/* ---------------------------------------------------------------- como atuamos */
.pilares__grade { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.pilares__grade--simples { margin-top: 56px; }
.pilar { display: flex; flex-direction: column; overflow: hidden; border-radius: var(--raio); background: #fff; box-shadow: var(--sombra-1); transition: transform .3s ease, box-shadow .3s ease; }
.pilar:hover { transform: translateY(-4px); box-shadow: var(--sombra-2); }
.pilar__img { position: relative; overflow: hidden; aspect-ratio: 16 / 11; }
.pilar__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.pilar:hover .pilar__img img { transform: scale(1.05); }
.pilar__icone { position: absolute; left: 20px; bottom: 18px; display: grid; place-items: center; width: 54px; height: 54px; border-radius: 16px; background: rgb(255 255 255 / .96); color: var(--sol-texto); box-shadow: var(--sombra-1); }
.pilar__icone .ic { width: 26px; height: 26px; }
.pilar__corpo { display: flex; flex: 1; flex-direction: column; padding: 26px 28px 30px; }
.pilar__titulo { margin-bottom: 12px; font-size: 1.5rem; }
.pilar__corpo p, .pilar--simples p { font-size: 1rem; color: var(--texto-suave); }
.pilar__corpo .link-seta { margin-top: auto; }
.pilar--simples { padding: 32px 30px; }
.pilar--simples:hover { transform: none; box-shadow: var(--sombra-1); }
.pilar__icone--solto { position: static; margin-bottom: 20px; background: var(--pessego); box-shadow: none; }
.pilar--simples p { margin: 0; }

/* ---------------------------------------------------------------- projetos (início) */
.projetos-home__grade { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.cartao-projeto__link { position: relative; isolation: isolate; display: block; overflow: hidden; aspect-ratio: 3 / 4; border-radius: var(--raio); }
.cartao-projeto__link img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .9s cubic-bezier(.2, .8, .2, 1); }
.cartao-projeto__link:hover img { transform: scale(1.05); }
.cartao-projeto__veu { position: absolute; inset: 0; background: linear-gradient(180deg, rgb(6 40 52 / 0) 28%, rgb(6 40 52 / .8) 66%, rgb(6 40 52 / .96) 100%); }
.cartao-projeto__corpo { position: absolute; left: 0; right: 0; bottom: 0; display: flex; flex-direction: column; gap: 10px; padding: 28px; }
.cartao-projeto__quando { display: inline-flex; align-items: center; align-self: flex-start; gap: 8px; padding: 6px 12px; border: 1px solid rgb(255 255 255 / .25); border-radius: 999px; background: rgb(255 255 255 / .14); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); font-size: .8125rem; font-weight: 600; color: #fff; }
.cartao-projeto__quando .ic { width: 15px; height: 15px; }
.cartao-projeto__titulo { font: 600 1.75rem/1.1 var(--fonte-titulo); color: #fff; }
.cartao-projeto__resumo { display: -webkit-box; overflow: hidden; -webkit-line-clamp: 3; -webkit-box-orient: vertical; font-size: .96875rem; line-height: 1.55; color: rgb(255 255 255 / .82); }
.cartao-projeto__mais { display: inline-flex; align-items: center; gap: 8px; margin-top: 4px; font-weight: 600; color: #FFC3A4; }
.cartao-projeto__mais .ic { transition: transform .2s; }
.cartao-projeto__link:hover .cartao-projeto__mais .ic { transform: translateX(4px); }

/* ---------------------------------------------------------------- notícias */
.noticias-home__grade { display: grid; grid-template-columns: 1.25fr 1fr; gap: clamp(32px, 4vw, 56px); }
.cartao-noticia { display: flex; flex-direction: column; height: 100%; }
.cartao-noticia__img { display: block; overflow: hidden; aspect-ratio: 16 / 10; border-radius: var(--raio-m); }
.cartao-noticia__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.cartao-noticia:hover .cartao-noticia__img img { transform: scale(1.04); }
.cartao-noticia__corpo { padding-top: 18px; }
.cartao-noticia__titulo { font-size: 1.3125rem; line-height: 1.25; }
.cartao-noticia--destaque .cartao-noticia__titulo { font-size: clamp(1.6rem, 1.2rem + 1vw, 2.15rem); line-height: 1.15; }
.cartao-noticia__titulo a, .item-noticia__titulo a, .projeto-linha__titulo a, .documento__titulo a { background-image: linear-gradient(currentColor, currentColor); background-repeat: no-repeat; background-position: 0 100%; background-size: 0 1.5px; transition: background-size .35s ease; }
.cartao-noticia__titulo a:hover, .item-noticia__titulo a:hover, .projeto-linha__titulo a:hover, .documento__titulo a:hover { background-size: 100% 1.5px; }
.cartao-noticia__resumo { margin: 12px 0 0; color: var(--texto-suave); }
.meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin: 0 0 10px; font-size: .8125rem; color: var(--texto-suave); }
.etiqueta { display: inline-flex; align-items: center; gap: 6px; padding: 5px 11px; border-radius: 999px; background: var(--agua); font-size: .75rem; font-weight: 600; letter-spacing: .02em; color: var(--mar-texto); }
.etiqueta .ic { width: 14px; height: 14px; }
.noticias-home__lista { display: flex; flex-direction: column; }
.item-noticia { display: grid; grid-template-columns: 150px 1fr; gap: 20px; align-items: center; padding: 18px 0; border-bottom: 1px solid var(--linha); }
.item-noticia:first-child { padding-top: 0; }
.item-noticia__img { display: block; overflow: hidden; aspect-ratio: 4 / 3; border-radius: 14px; }
.item-noticia__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.item-noticia:hover .item-noticia__img img { transform: scale(1.05); }
.item-noticia__titulo { font-size: 1.125rem; line-height: 1.3; }
.item-noticia .meta { margin-bottom: 8px; }

/* ---------------------------------------------------------------- vídeos */
.videos-home__grade { display: grid; grid-template-columns: 1.35fr 1fr; gap: clamp(36px, 5vw, 72px); align-items: center; }
.video__capa { position: relative; display: block; width: 100%; overflow: hidden; aspect-ratio: 16 / 9; border-radius: var(--raio); background: var(--abismo); box-shadow: var(--sombra-2); }
.video__capa img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease, filter .3s; }
.video__capa:hover img { transform: scale(1.03); filter: brightness(.88); }
.video__capa iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.video__play { position: absolute; left: 50%; top: 50%; display: grid; place-items: center; width: 78px; height: 78px; border-radius: 50%; background: var(--grad-gota); color: #fff; box-shadow: 0 12px 30px -8px rgb(0 0 0 / .55); transform: translate(-50%, -50%); transition: transform .25s ease; }
.video__play::before { content: ''; position: absolute; inset: -10px; border: 2px solid rgb(255 255 255 / .55); border-radius: 50%; animation: pulso 2.4s ease-out infinite; }
.video__play .ic { width: 30px; height: 30px; margin-left: 4px; }
.video__capa:hover .video__play { transform: translate(-50%, -50%) scale(1.07); }
.video:not(.video--grande) .video__play { width: 58px; height: 58px; }
.video:not(.video--grande) .video__play .ic { width: 22px; height: 22px; margin-left: 3px; }
@keyframes pulso { 0% { transform: scale(.85); opacity: 1; } 100% { transform: scale(1.3); opacity: 0; } }
.video__titulo { margin-top: 14px; font: 600 1.0625rem/1.35 var(--fonte-texto); color: var(--tinta); }
.video--grande .video__titulo { font: 600 1.375rem/1.3 var(--fonte-titulo); }
.videos-home__lado .secao__titulo { margin-bottom: 16px; }
.videos-home__lado > p:not(.rotulo) { color: var(--texto-suave); }
.videos-home__lista { display: grid; gap: 6px; margin: 22px -10px 0; }
.mini-video { display: grid; grid-template-columns: 132px 1fr; gap: 16px; align-items: center; width: 100%; padding: 10px; border-radius: 16px; text-align: left; transition: background-color .2s; }
.mini-video:hover, .mini-video.is-atual { background: #fff; }
.mini-video__img { position: relative; display: block; overflow: hidden; aspect-ratio: 16 / 9; border-radius: 10px; }
.mini-video__img img { width: 100%; height: 100%; object-fit: cover; }
.mini-video__play { position: absolute; inset: 0; display: grid; place-items: center; background: rgb(6 40 52 / .28); color: #fff; }
.mini-video__play .ic { width: 26px; height: 26px; filter: drop-shadow(0 2px 6px rgb(0 0 0 / .4)); }
.mini-video__titulo { font-weight: 600; line-height: 1.35; color: var(--tinta); }

/* ---------------------------------------------------------------- galeria (início) */
.mosaico { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: clamp(150px, 16vw, 220px); grid-auto-flow: dense; gap: 14px; }
.mosaico__item { position: relative; display: block; overflow: hidden; border-radius: 16px; }
.mosaico__item img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s ease; }
.mosaico__item:hover img { transform: scale(1.05); }
.mosaico__item::after { content: ''; position: absolute; inset: 0; background: rgb(6 40 52 / 0); transition: background-color .3s; }
.mosaico__item:hover::after { background: rgb(6 40 52 / .14); }
.mosaico__item--1 { grid-column: span 2; grid-row: span 2; }
.mosaico__item--6, .mosaico__item--7 { grid-column: span 2; }

/* ---------------------------------------------------------------- doação */
.doacao { position: relative; isolation: isolate; overflow: hidden; padding-block: clamp(72px, 9vw, 120px); color: rgb(255 255 255 / .88); }
.doacao__fundo { position: absolute; inset: 0; z-index: -1; }
.doacao__fundo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; }
.doacao__fundo::after { content: ''; position: absolute; inset: 0; background: linear-gradient(112deg, rgb(126 26 22 / .96) 0%, rgb(190 48 34 / .93) 46%, rgb(226 96 40 / .86) 100%); }
.doacao__grade { display: grid; grid-template-columns: 1fr 1.05fr; gap: clamp(40px, 6vw, 88px); align-items: center; }
.doacao__titulo { margin-bottom: 20px; color: #fff; font-size: clamp(2rem, 1.3rem + 2vw, 3.1rem); }
.doacao__frase { margin: 26px 0 0; padding-left: 18px; border-left: 3px solid rgb(255 255 255 / .5); font: italic 500 1.25rem/1.45 var(--fonte-titulo); color: #fff; }
.doacao__cartao { padding: 32px; border-radius: 26px; background: #fff; color: var(--texto); box-shadow: 0 40px 80px -30px rgb(60 10 5 / .6); }
.doacao__banco { margin-top: 26px; padding-top: 24px; border-top: 1px dashed #D9D0C2; }
.doacao__banco-titulo { display: flex; align-items: center; gap: 10px; margin: 0 0 14px; font-weight: 700; color: var(--tinta); }
.doacao__banco-titulo .ic { color: var(--mar-texto); }
.cartao-pix { display: grid; grid-template-columns: 172px 1fr; gap: 28px; align-items: center; }
.cartao-pix__qr { aspect-ratio: 1; padding: 12px; border: 1px solid var(--linha); border-radius: 18px; background: #fff; }
.cartao-pix__qr svg { width: 100%; height: 100%; }
.cartao-pix__titulo { display: flex; align-items: center; gap: 10px; margin: 0 0 14px; font: 600 1.4rem/1.2 var(--fonte-titulo); color: var(--tinta); }
.cartao-pix__titulo .ic { color: var(--brasa); }
.cartao-pix__rotulo { margin: 0 0 4px; font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--texto-suave); }
.cartao-pix__chave { margin: 0 0 16px; font: 600 1.4rem/1.2 var(--fonte-texto); letter-spacing: .01em; font-variant-numeric: tabular-nums; color: var(--tinta); }
.cartao-pix__botoes { display: flex; flex-wrap: wrap; gap: 10px; }
.cartao-pix__favorecido { margin: 14px 0 0; font-size: .875rem; color: var(--texto-suave); }
.dados-banco { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px 24px; }
.dados-banco dt { font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--texto-suave); }
.dados-banco dd { margin-top: 2px; font-weight: 600; font-variant-numeric: tabular-nums; color: var(--tinta); }

/* ---------------------------------------------------------------- rodapé */
.rodape { position: relative; background: var(--abismo); color: rgb(255 255 255 / .72); font-size: .9375rem; }
.rodape__onda { position: absolute; left: 0; right: 0; top: calc(1px - var(--onda-h)); height: var(--onda-h); background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 90' preserveAspectRatio='none'%3E%3Cpath d='M0 52c96-22 190-34 300-30 128 5 214 34 350 38 140 4 236-28 372-34 150-7 284 18 418 40v24H0z' fill='%2306303D'/%3E%3C/svg%3E") bottom / 100% 100% no-repeat; pointer-events: none; }
.rodape__grade { display: grid; grid-template-columns: 1.35fr .85fr 1.55fr 1.1fr; gap: 44px; padding-block: 64px 56px; }
.rodape__marca p { max-width: 340px; margin: 22px 0; line-height: 1.65; }
.rodape__titulo { margin-bottom: 20px; font: 700 .75rem/1 var(--fonte-texto); letter-spacing: .16em; text-transform: uppercase; color: #fff; }
.rodape__col ul { display: grid; gap: 10px; }
.rodape a { transition: color .2s; }
.rodape__col a:hover { color: #fff; }
.rodape__contatos li { display: grid; grid-template-columns: 20px 1fr; gap: 12px; align-items: start; }
.rodape__contatos .ic { width: 18px; height: 18px; margin-top: 3px; color: #7FD0D5; }
.rodape__contatos a { overflow-wrap: break-word; }
.rodape__ajude p { margin-bottom: 18px; }
.rodape__link-seta { display: inline-flex; align-items: center; gap: 8px; margin-top: 18px; font-weight: 600; color: #FFC3A4; }
.rodape__link-seta .ic { width: 16px; height: 16px; }
.redes--rodape a { width: 42px; height: 42px; border: 1px solid rgb(255 255 255 / .2); color: #fff; }
.redes--rodape a:hover { border-color: #fff; background: rgb(255 255 255 / .1); }
.rodape__base { border-top: 1px solid rgb(255 255 255 / .1); }
.rodape__base-in { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; padding-block: 20px; font-size: .8125rem; }
.rodape__base p { margin: 0; }
.rodape__plugin { display: inline-flex; align-items: center; gap: 10px; opacity: .78; transition: opacity .2s; }
.rodape__plugin:hover { opacity: 1; }
.rodape__plugin img { width: auto; height: 22px; }

.whats-flutuante { position: fixed; right: 20px; bottom: 20px; z-index: 40; display: grid; place-items: center; width: 58px; height: 58px; border-radius: 50%; background: #25D366; color: #fff; box-shadow: 0 14px 30px -10px rgb(0 0 0 / .45); transition: transform .2s ease; }
.whats-flutuante:hover { transform: scale(1.07); }
.whats-flutuante .ic { width: 30px; height: 30px; }

/* ---------------------------------------------------------------- páginas internas */
.topo-pagina { position: relative; isolation: isolate; overflow: hidden; padding: clamp(64px, 8vw, 116px) 0 calc(clamp(64px, 8vw, 104px) + var(--onda-h)); background: var(--abismo); color: #fff; }
.topo-pagina__fundo { position: absolute; inset: 0; z-index: -1; }
.topo-pagina__fundo img { width: 100%; height: 100%; object-fit: cover; }
.topo-pagina__fundo::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgb(6 40 52 / .94) 0%, rgb(6 40 52 / .8) 45%, rgb(6 40 52 / .5) 100%); }
.topo-pagina__conteudo > * { max-width: 780px; }
.topo-pagina__titulo { color: #fff; font-size: clamp(2.3rem, 1.5rem + 2.8vw, 3.9rem); line-height: 1.06; letter-spacing: -.02em; }
.topo-pagina__texto { margin: 18px 0 0; font-size: 1.1875rem; color: rgb(255 255 255 / .86); }
.migalhas ol { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 26px; font-size: .8125rem; color: rgb(255 255 255 / .72); }
.migalhas li + li::before { content: '/'; margin-right: 6px; opacity: .5; }
.migalhas a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }

.duas-colunas { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(40px, 6vw, 96px); align-items: center; }
.duas-colunas--larga { grid-template-columns: 1.15fr 1fr; align-items: start; }
.duas-colunas--texto { grid-template-columns: 1.6fr 1fr; align-items: start; }
.duas-colunas--doe { grid-template-columns: 1fr 1.05fr; align-items: start; }
.prosa .secao__titulo { margin-bottom: 22px; }
.prosa--grande { font-size: 1.125rem; }
.prosa a:not(.btn):not(.link-seta) { color: var(--mar-texto); text-decoration: underline; text-underline-offset: 3px; }
.foto-organica { overflow: hidden; aspect-ratio: 4 / 5; border-radius: 28px 240px 28px 240px; box-shadow: var(--sombra-2); }
.foto-organica img { width: 100%; height: 100%; object-fit: cover; }
.chips { display: flex; flex-wrap: wrap; gap: 10px; }
.chips--centro { justify-content: center; max-width: 920px; margin-inline: auto; }
.chips li { display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border: 1px solid var(--linha); border-radius: 999px; background: #fff; font-size: .9375rem; font-weight: 500; color: var(--tinta); }
.chips .ic { width: 16px; height: 16px; color: var(--mar-texto); }
.linha-tempo { position: relative; display: grid; gap: 26px; }
.linha-tempo::before { content: ''; position: absolute; left: 31px; top: 10px; bottom: 10px; width: 2px; border-radius: 2px; background: linear-gradient(var(--ouro), var(--folha), var(--mar), var(--sol)); }
.linha-tempo li { position: relative; display: grid; grid-template-columns: 64px 1fr; gap: 22px; align-items: start; }
.linha-tempo__ano { position: relative; z-index: 1; display: grid; place-items: center; width: 64px; height: 64px; border: 2px solid var(--linha); border-radius: 50%; background: #fff; box-shadow: var(--sombra-1); font: 600 1rem/1 var(--fonte-titulo); color: var(--sol-texto); }
.linha-tempo h3 { margin: 8px 0 6px; font-size: 1.25rem; }
.linha-tempo p { margin: 0; font-size: 1rem; color: var(--texto-suave); }
.mvv { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.mvv__item { padding: 34px 30px; border: 1px solid rgb(255 255 255 / .12); border-radius: var(--raio); background: rgb(255 255 255 / .06); }
.mvv__icone { display: grid; place-items: center; width: 54px; height: 54px; margin-bottom: 22px; border-radius: 16px; background: var(--grad-gota); color: #fff; }
.mvv__icone .ic { width: 26px; height: 26px; }
.mvv__item h3 { margin-bottom: 12px; font-size: 1.625rem; }
.mvv__item p { margin: 0; color: rgb(255 255 255 / .8); }
.mvv__item ul { display: grid; gap: 8px; color: rgb(255 255 255 / .85); }
.mvv__item li::before { content: ''; display: inline-block; width: 7px; height: 7px; margin-right: 12px; border-radius: 50%; background: var(--sol-claro); vertical-align: middle; }
.mvv__slogan { max-width: 780px; margin: 56px auto 0; text-align: center; font: italic 500 clamp(1.5rem, 1.1rem + 1.2vw, 2.2rem)/1.3 var(--fonte-titulo); color: #fff; }
.padre__foto { position: relative; }
.padre__foto img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 50% 50% 28px 50%; box-shadow: var(--sombra-2); }
.padre__frase { position: absolute; right: -10px; bottom: 30px; max-width: 290px; margin: 0; padding: 18px 22px; border-radius: 22px 22px 6px 22px; background: var(--grad-gota); box-shadow: var(--sombra-2); font: italic 600 1.125rem/1.35 var(--fonte-titulo); color: #fff; transform: rotate(-2deg); }
.faixa-chamada { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px; padding: 36px 40px; border: 1px solid var(--linha); border-radius: var(--raio); background: #fff; box-shadow: var(--sombra-1); }
.faixa-chamada__titulo { margin-bottom: 6px; font-size: 1.75rem; }
.faixa-chamada p { margin: 0; color: var(--texto-suave); }
.faixa-chamada--youtube { margin-top: 64px; background: var(--areia); box-shadow: none; }

.lista-projetos { display: grid; gap: clamp(56px, 7vw, 96px); }
.projeto-linha { display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(32px, 5vw, 72px); align-items: center; }
.projeto-linha--inverso .projeto-linha__img { order: 2; }
.projeto-linha__img { display: block; overflow: hidden; aspect-ratio: 4 / 3; border-radius: var(--raio); box-shadow: var(--sombra-2); }
.projeto-linha__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s ease; }
.projeto-linha:hover .projeto-linha__img img { transform: scale(1.04); }
.projeto-linha__titulo { margin: 6px 0 16px; font-size: clamp(1.8rem, 1.3rem + 1.4vw, 2.6rem); }
.projeto-linha__texto > p:not(.meta) { font-size: 1.0625rem; color: var(--texto-suave); }
.projeto-linha__texto .btn { margin-top: 12px; }
.cartao-lateral { position: sticky; top: 100px; padding: 30px; border: 1px solid var(--linha); border-radius: var(--raio); background: var(--areia); }
.cartao-lateral__titulo { margin-bottom: 10px; font-size: 1.5rem; }
.cartao-lateral p { font-size: 1rem; color: var(--texto-suave); }
.cartao-lateral__lista { display: grid; gap: 10px; margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--linha); font-size: .9375rem; }
.cartao-lateral__lista li { display: flex; align-items: center; gap: 10px; }
.cartao-lateral__lista .ic { color: var(--mar-texto); }

.filtros { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 44px; }
.filtro { padding: 9px 18px; border: 1px solid var(--linha); border-radius: 999px; font-size: .9375rem; font-weight: 500; color: var(--texto); transition: background-color .2s, border-color .2s, color .2s; }
.filtro:hover { border-color: var(--tinta); color: var(--tinta); }
.filtro.is-ativo { border-color: var(--abismo); background: var(--abismo); color: #fff; }
.grade-noticias { display: grid; grid-template-columns: repeat(3, 1fr); gap: 44px 28px; }
.grade-noticias__destaque { grid-column: 1 / -1; }
.grade-noticias__destaque .cartao-noticia { display: grid; grid-template-columns: 1.3fr 1fr; gap: 44px; align-items: center; }
.grade-noticias__destaque .cartao-noticia__corpo { padding-top: 0; }
.vazio { padding: 40px 0; text-align: center; color: var(--texto-suave); }

.materia__cab { padding: clamp(36px, 5vw, 64px) 0 36px; background: linear-gradient(180deg, var(--areia) 0%, #fff 100%); }
.materia__cab .migalhas ol { color: var(--texto-suave); }
.materia__cab .migalhas a:hover { color: var(--tinta); }
.materia__titulo { margin: 14px 0 18px; font-size: clamp(2.1rem, 1.4rem + 2.4vw, 3.4rem); line-height: 1.08; }
.materia__linha-fina { margin: 0; font-size: 1.25rem; line-height: 1.55; color: var(--texto-suave); }
.materia__capa img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--raio); }
.materia__capa figcaption { margin-top: 10px; font-size: .8125rem; color: var(--texto-suave); }
.materia__corpo { display: grid; grid-template-columns: 56px 1fr; gap: 32px; padding-block: 48px 72px; }
.compartilhar { position: sticky; top: 110px; display: grid; justify-items: center; align-self: start; gap: 10px; }
.compartilhar span { margin-bottom: 6px; font-size: .6875rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--texto-suave); writing-mode: vertical-rl; transform: rotate(180deg); }
.compartilhar a, .compartilhar button { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--linha); border-radius: 50%; color: var(--tinta); transition: background-color .2s, border-color .2s, color .2s; }
.compartilhar a:hover, .compartilhar button:hover, .compartilhar button.is-copiado { border-color: var(--abismo); background: var(--abismo); color: #fff; }
.compartilhar .ic { width: 18px; height: 18px; }
.materia__galeria { grid-column: 2; }
.materia__galeria .grade-fotos { grid-template-columns: repeat(3, 1fr); margin-bottom: 18px; }
.materia__subtitulo { margin: 36px 0 18px; font-size: 1.5rem; }
.aviso-demo { display: flex; gap: 12px; padding: 16px 18px; border: 1px solid #F1D7A2; border-radius: 14px; background: #FFF7E6; font-size: .9375rem; line-height: 1.55; color: #6B4A10; }
.aviso-demo .ic { margin-top: 2px; color: #B7791F; }
/* Texto das notícias (vem do editor do painel): subtítulos, listas e citação */
.texto-noticia > :first-child { margin-top: 0; }
.texto-noticia h2 { margin: 1.7em 0 .55em; font-size: clamp(1.45rem, 1.2rem + .8vw, 1.75rem); line-height: 1.2; }
.texto-noticia h3 { margin: 1.5em 0 .5em; font-size: 1.3rem; line-height: 1.25; }
.texto-noticia ul, .texto-noticia ol { margin: 0 0 1em; padding-left: 1.35em; }
.texto-noticia ul { list-style: disc; }
.texto-noticia ol { list-style: decimal; }
.texto-noticia li { margin: .35em 0; padding-left: .2em; }
.texto-noticia li::marker { color: var(--sol); }
.texto-noticia blockquote { margin: 1.6em 0; padding: 4px 0 4px 22px; border-left: 3px solid var(--sol); font: italic 500 1.3rem/1.45 var(--fonte-titulo); color: var(--tinta); }
.texto-noticia blockquote p { margin: 0; }
.texto-noticia strong { font-weight: 600; color: var(--tinta); }

.grade-fotos { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.grade-fotos__item { position: relative; display: block; overflow: hidden; aspect-ratio: 1; border-radius: 14px; }
.grade-fotos__item img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.grade-fotos__item:hover img { transform: scale(1.06); }
.grade-albuns { display: grid; grid-template-columns: repeat(3, 1fr); gap: 36px 28px; }
.cartao-album a { display: block; }
.cartao-album__img { position: relative; display: block; overflow: hidden; aspect-ratio: 4 / 3; border-radius: var(--raio); box-shadow: var(--sombra-1); }
.cartao-album__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s ease; }
.cartao-album a:hover img { transform: scale(1.05); }
.cartao-album__qtd { position: absolute; left: 16px; bottom: 16px; display: inline-flex; align-items: center; gap: 8px; padding: 7px 12px; border-radius: 999px; background: rgb(6 40 52 / .72); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); font-size: .8125rem; font-weight: 600; color: #fff; }
.cartao-album__qtd .ic { width: 16px; height: 16px; }
.cartao-album__titulo { display: block; margin-top: 18px; font: 600 1.5rem/1.2 var(--fonte-titulo); color: var(--tinta); }
.cartao-album__desc { display: block; margin-top: 6px; font-size: .96875rem; color: var(--texto-suave); }

.videos-destaque { max-width: 1000px; margin: 0 auto 64px; }
.grade-videos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px 28px; }

.documentos { display: grid; gap: 16px; }
.documento { display: grid; grid-template-columns: 56px 1fr auto; gap: 22px; align-items: center; padding: 26px 28px; border: 1px solid var(--linha); border-radius: var(--raio); background: #fff; box-shadow: var(--sombra-1); }
.documento__icone { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 16px; background: var(--agua); color: var(--mar-texto); }
.documento__icone .ic { width: 26px; height: 26px; }
.documento__tipo { margin: 0 0 4px; font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--sol-texto); }
.documento__titulo { margin-bottom: 6px; font-size: 1.375rem; }
.documento__texto p:last-child { margin: 0; font-size: .96875rem; color: var(--texto-suave); }
.documento__texto .documento__desc { margin: 0; font-size: .96875rem; color: var(--texto-suave); }
.documento__texto p.documento__meta { margin: 8px 0 0; font-size: .875rem; color: var(--texto-suave); }
.nota { margin-top: 28px; text-align: center; font-size: .9375rem; color: var(--texto-suave); }
.baixar { margin-bottom: 40px; }
.prosa--documento h2 { margin: 48px 0 18px; padding-top: 30px; border-top: 1px solid var(--linha); font-size: 1.5rem; }
.prosa--documento h2:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.prosa--documento h2 small { display: block; margin-bottom: 8px; font: 700 .75rem/1 var(--fonte-texto); letter-spacing: .14em; text-transform: uppercase; color: var(--sol-texto); }
.alineas { display: grid; gap: 8px; margin: -4px 0 18px; padding-left: 20px; border-left: 2px solid var(--linha); }
.alineas li { font-size: 1rem; }

.doe__cartoes { position: sticky; top: 100px; display: grid; gap: 20px; }
.doe__cartoes .cartao-pix { padding: 28px; border: 1px solid var(--linha); border-radius: var(--raio); background: #fff; box-shadow: var(--sombra-2); }
.cartao-banco { padding: 26px 28px; border: 1px solid var(--linha); border-radius: var(--raio); background: var(--areia); }
.cartao-banco__fav { margin: 16px 0 0; font-size: .875rem; color: var(--texto-suave); }
.lista-ok { display: grid; gap: 12px; margin-top: 26px; }
.lista-ok li { display: flex; align-items: flex-start; gap: 12px; font-weight: 500; color: var(--tinta); }
.lista-ok .ic { width: 26px; height: 26px; padding: 5px; border-radius: 50%; background: #E9F4DD; color: #4E7F1F; }
.formas { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.forma { padding: 32px 30px; border-radius: var(--raio); background: #fff; box-shadow: var(--sombra-1); }
.forma__icone { display: grid; place-items: center; width: 54px; height: 54px; margin-bottom: 20px; border-radius: 16px; background: var(--pessego); color: var(--sol-texto); }
.forma__icone .ic { width: 26px; height: 26px; }
.forma h2 { margin-bottom: 10px; font-size: 1.375rem; }
.forma p { font-size: 1rem; color: var(--texto-suave); }

.contato { display: grid; grid-template-columns: 1fr 1.1fr; gap: clamp(36px, 5vw, 72px); align-items: start; }
.contato__lista { display: grid; gap: 24px; }
.contato__lista li { display: grid; grid-template-columns: 54px 1fr; gap: 18px; align-items: start; }
.contato__icone { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 16px; background: var(--agua); color: var(--mar-texto); }
.contato__lista h2 { margin: 6px 0; font: 700 .75rem/1 var(--fonte-texto); letter-spacing: .14em; text-transform: uppercase; color: var(--texto-suave); }
.contato__lista p { margin: 0; font-size: 1.0625rem; font-weight: 500; color: var(--tinta); overflow-wrap: break-word; }
.contato__mapa { overflow: hidden; aspect-ratio: 16 / 10; margin-top: 34px; border: 1px solid var(--linha); border-radius: var(--raio); background: var(--areia); }
.contato__mapa iframe { width: 100%; height: 100%; border: 0; }
.formulario { padding: clamp(26px, 4vw, 42px); border: 1px solid var(--linha); border-radius: var(--raio); background: #fff; box-shadow: var(--sombra-2); }
.formulario__titulo { margin-bottom: 24px; font-size: 1.75rem; }
.formulario__ok { display: flex; gap: 12px; margin-bottom: 20px; padding: 14px 16px; border-radius: 12px; background: #E9F4DD; font-size: .9375rem; color: #2F5512; }
.campo { display: grid; gap: 8px; margin-bottom: 18px; }
.campo label { font-size: .9375rem; font-weight: 600; color: var(--tinta); }
.campo input, .campo select, .campo textarea { width: 100%; padding: 13px 16px; border: 1.5px solid #DCD3C5; border-radius: 12px; background: var(--areia-2); font: inherit; font-size: 1rem; color: var(--tinta); transition: border-color .2s, box-shadow .2s, background-color .2s; }
.campo textarea { min-height: 140px; resize: vertical; }
.campo input:focus, .campo select:focus, .campo textarea:focus { outline: none; border-color: var(--mar); background: #fff; box-shadow: 0 0 0 4px rgb(0 150 158 / .15); }
.campo-duplo { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.nao-encontrada { text-align: center; }
.nao-encontrada .rotulo { justify-content: center; }
.nao-encontrada .acoes { justify-content: center; }

/* ---------------------------------------------------------------- foto ampliada e aviso */
.caixa-luz { position: fixed; inset: 0; z-index: 90; display: grid; grid-template-columns: 64px 1fr 64px; align-items: center; gap: 12px; padding: 64px 24px; background: rgb(4 22 28 / .95); }
.caixa-luz[hidden] { display: none; }
.caixa-luz__img { grid-column: 2; justify-self: center; max-width: 100%; max-height: calc(100vh - 150px); border-radius: 12px; box-shadow: 0 30px 80px -20px rgb(0 0 0 / .6); }
.caixa-luz__legenda { position: absolute; left: 0; right: 0; bottom: 22px; margin: 0; text-align: center; font-size: .9375rem; color: rgb(255 255 255 / .8); }
.caixa-luz button { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: rgb(255 255 255 / .1); color: #fff; transition: background-color .2s; }
.caixa-luz button:hover { background: rgb(255 255 255 / .22); }
.caixa-luz__fechar { position: absolute; top: 16px; right: 16px; }
.aviso-copia { position: fixed; left: 50%; bottom: 28px; z-index: 95; padding: 12px 20px; border-radius: 999px; background: var(--tinta); color: #fff; font-size: .9375rem; font-weight: 600; box-shadow: var(--sombra-2); transform: translate(-50%, 20px); opacity: 0; transition: opacity .25s, transform .25s; pointer-events: none; }
.aviso-copia.is-visivel { opacity: 1; transform: translate(-50%, 0); }

/* ---------------------------------------------------------------- animação de entrada */
html.js [data-revelar] { opacity: 0; transform: translateY(22px); transition: opacity .8s cubic-bezier(.2, .7, .2, 1), transform .8s cubic-bezier(.2, .7, .2, 1); }
html.js [data-revelar].visivel { opacity: 1; transform: none; }

/* ---------------------------------------------------------------- responsivo */
/* ---------------------------------------------------------------- cadastro de associados (/cadastro) */
.cadastro { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, .9fr); gap: clamp(32px, 4.5vw, 64px); align-items: start; }
.formulario--cadastro { min-width: 0; }
.formulario__erros { display: flex; align-items: flex-start; gap: 12px; margin: 0 0 24px; padding: 14px 16px; border-radius: 12px; background: #FDECEA; font-size: .9375rem; font-weight: 600; color: #8D2317; }
.formulario__erros .ic { flex: none; margin-top: 1px; }
.formulario__etapa { min-width: 0; margin: 0; padding: 0; border: 0; }
.formulario__etapa + .formulario__etapa { margin-top: 10px; padding-top: 28px; border-top: 1px solid var(--linha); }
.formulario__legenda { display: flex; align-items: center; gap: 12px; margin: 0 0 20px; padding: 0; font: 600 1.25rem/1.2 var(--fonte-titulo); color: var(--tinta); }
.formulario__num { display: grid; flex: none; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--pessego); font: 700 .875rem/1 var(--fonte-texto); color: var(--sol-texto); }
.grade-campos { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); align-items: start; column-gap: 16px; }
.grade-campos > * { grid-column: span 6; min-width: 0; }
.grade-campos > .g-2 { grid-column: span 2; }
.grade-campos > .g-3 { grid-column: span 3; }
.grade-campos > .g-4 { grid-column: span 4; }
.campo__ajuda { margin: 0; font-size: .8125rem; color: var(--texto-suave); }
.campo__erro { margin: 0; font-size: .875rem; font-weight: 600; color: #B42318; }
.campo.tem-erro input, .campo.tem-erro select { border-color: #D92D20; background: #FFF8F7; }
.campo__cep { align-self: center; margin: 0 0 18px; padding-top: 22px; font-size: .875rem; color: var(--texto-suave); }
.campo__cep a { font-weight: 600; color: var(--mar-texto); text-decoration: underline; text-underline-offset: 3px; }
.campo input[type="date"] { min-height: 52px; }
.campo select { min-height: 52px; appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%235C6C73' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 16px center; padding-right: 40px; }
.campo-grupo { margin: 0 0 22px; }
.campo-grupo__rotulo { margin: 0 0 10px; font-size: .9375rem; font-weight: 600; color: var(--tinta); }
.campo-grupo.tem-erro .pilula span { border-color: #E9A39B; }
.campo-grupo .campo__erro { margin-top: 8px; }
.pilulas { display: flex; flex-wrap: wrap; gap: 10px; }
.pilula { position: relative; display: inline-flex; }
.pilula input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.pilula span { display: inline-flex; align-items: center; justify-content: center; min-width: 74px; min-height: 48px; padding: 0 18px; border: 1.5px solid #DCD3C5; border-radius: 999px; background: var(--areia-2); font-weight: 600; color: var(--tinta); text-align: center; transition: border-color .15s, background-color .15s, color .15s, box-shadow .15s; }
.pilula:hover span { border-color: #BFB3A2; }
.pilula input:checked + span { border-color: var(--sol); background: var(--pessego); color: var(--sol-texto); box-shadow: inset 0 0 0 1px var(--sol); }
.pilula input:focus-visible + span { box-shadow: 0 0 0 4px rgb(0 150 158 / .22); }
.pilulas--texto .pilula span { min-width: 0; padding: 10px 18px; line-height: 1.3; }
.campo--outro { margin: 14px 0 0; max-width: 320px; }
.js .campo--outro:not(.is-visivel) { display: none; }
.pilulas--texto + .campo--outro { max-width: none; }
.campo__moeda { position: relative; }
.campo__moeda span { position: absolute; left: 16px; top: 50%; transform: translateY(-50%); font-weight: 600; color: var(--texto-suave); pointer-events: none; }
.campo__moeda input { padding-left: 46px; }
.formulario__pix { display: flex; align-items: flex-start; gap: 12px; margin: 4px 0 22px; padding: 14px 16px; border-radius: 12px; background: var(--agua); font-size: .9375rem; color: #1D4A51; }
.formulario__pix .ic { flex: none; margin-top: 2px; color: var(--mar-texto); }
.aceite { display: flex; align-items: flex-start; gap: 14px; margin: 18px 0 8px; padding: 16px 18px; border-radius: 14px; background: var(--areia); }
.aceite input { flex: none; width: 22px; height: 22px; margin: 1px 0 0; accent-color: var(--sol); cursor: pointer; }
.aceite label { font-size: .9375rem; line-height: 1.55; color: var(--tinta); cursor: pointer; }
.aceite.tem-erro { box-shadow: inset 0 0 0 1.5px #E9A39B; }
.formulario__enviar { margin-top: 18px; }
.formulario__enviar.is-enviando { opacity: .7; }
.campo-oculto { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.cadastro__lado { position: sticky; top: 104px; display: grid; gap: 20px; }
.cadastro__cartao { padding: clamp(24px, 3vw, 32px); border-radius: var(--raio); background: var(--areia); }
.cadastro__cartao .rotulo { margin-bottom: 4px; }
.cadastro__cartao .lista-ok { margin-top: 14px; }
.passos { display: grid; gap: 18px; margin: 18px 0 0; padding: 0; list-style: none; counter-reset: passo; }
.passos li { position: relative; display: grid; gap: 3px; padding-left: 48px; counter-increment: passo; }
.passos li::before { content: counter(passo); position: absolute; left: 0; top: -2px; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: #fff; font-weight: 700; color: var(--sol-texto); box-shadow: var(--sombra-1); }
.passos strong { color: var(--tinta); }
.passos span { font-size: .9375rem; color: var(--texto-suave); }
.passos a { color: var(--mar-texto); text-decoration: underline; text-underline-offset: 3px; }
.cadastro__duvida { display: flex; align-items: center; gap: 10px; margin: 0; padding: 0 6px; font-size: .9375rem; color: var(--texto-suave); }
.cadastro__duvida .ic { flex: none; width: 22px; height: 22px; color: #1FA855; }
.cadastro__duvida a { font-weight: 600; color: var(--tinta); text-decoration: underline; text-underline-offset: 3px; }
.obrigado__valor { margin: 0 0 6px; font-size: 1.25rem; text-align: center; color: var(--tinta); }
.obrigado__texto { margin: 0 0 26px; text-align: center; color: var(--texto-suave); }
.obrigado__pix { max-width: 640px; margin-inline: auto; padding: clamp(22px, 4vw, 34px); border: 1px solid var(--linha); border-radius: var(--raio); background: #fff; box-shadow: var(--sombra-2); }
.acoes--centro { justify-content: center; }

@media (max-width: 1180px) {
  .menu { display: none; }
  .cab__hamburguer { display: grid; }
  .btn--doar { margin-left: auto; }
}
@media (max-width: 1000px) {
  .impacto__lista { grid-template-columns: repeat(2, 1fr); }
  .impacto__item:nth-child(3)::before { display: none; }
  .impacto__item:nth-child(n + 3) { border-top: 1px solid var(--linha); }
  .pilares__grade { grid-template-columns: 1fr 1fr; }
  .projetos-home__grade { grid-template-columns: 1fr 1fr; }
  .projetos-home__grade > :first-child { grid-column: 1 / -1; }
  .projetos-home__grade > :first-child .cartao-projeto__link { aspect-ratio: 16 / 10; }
  .grade-noticias, .grade-albuns, .grade-videos { grid-template-columns: 1fr 1fr; }
  .grade-noticias__destaque .cartao-noticia { grid-template-columns: 1fr; gap: 0; }
  .grade-noticias__destaque .cartao-noticia__corpo { padding-top: 18px; }
  .grade-fotos { grid-template-columns: repeat(3, 1fr); }
  .rodape__grade { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 900px) {
  .quem-somos__grade, .noticias-home__grade, .videos-home__grade, .doacao__grade, .contato,
  .duas-colunas, .duas-colunas--larga, .duas-colunas--texto, .duas-colunas--doe { grid-template-columns: 1fr; }
  .quem-somos__fotos { width: 100%; max-width: 520px; margin-inline: auto; }
  .quem-somos__secundaria { right: 0; }
  .quem-somos__selo { left: 0; }
  .mvv, .formas { grid-template-columns: 1fr; }
  .cartao-lateral, .doe__cartoes { position: static; }
  .cadastro { grid-template-columns: 1fr; }
  .cadastro__lado { position: static; }
  .foto-organica { max-width: 520px; }
  .padre__foto { max-width: 520px; }
  .projeto-linha { grid-template-columns: 1fr; }
  .projeto-linha--inverso .projeto-linha__img { order: 0; }
}
@media (max-width: 860px) {
  .barra-topo { display: none; }
}
@media (max-width: 760px) {
  :root { --cab-h: 72px; }
  body { font-size: 1rem; }
  .hero__midia::after { background: linear-gradient(0deg, rgb(6 40 52 / .96) 0%, rgb(6 40 52 / .78) 48%, rgb(6 40 52 / .3) 100%); }
  .hero__conteudo { justify-content: flex-end; padding-bottom: calc(var(--onda-h) + 150px); }
  .hero__controles { bottom: calc(var(--onda-h) + 72px); }
  .hero__seta { width: 44px; height: 44px; }
  .materia__corpo { grid-template-columns: 1fr; }
  .compartilhar { position: static; display: flex; align-items: center; order: 2; }
  .compartilhar span { margin: 0 6px 0 0; writing-mode: horizontal-tb; transform: none; }
  .materia__galeria { grid-column: 1; }
  .mosaico { grid-template-columns: 1fr 1fr; grid-auto-rows: 150px; gap: 10px; }
  .mosaico__item--6, .mosaico__item--7 { grid-column: span 1; }
}
@media (max-width: 640px) {
  .pilares__grade, .projetos-home__grade, .grade-noticias, .grade-albuns, .grade-videos { grid-template-columns: 1fr; }
  .cartao-projeto__link, .projetos-home__grade > :first-child .cartao-projeto__link { aspect-ratio: 4 / 4.3; }
  .grade-fotos, .materia__galeria .grade-fotos { grid-template-columns: 1fr 1fr; gap: 8px; }
  .documento { grid-template-columns: 1fr; }
  .rodape__grade { grid-template-columns: 1fr; gap: 36px; padding-block: 52px 40px; }
  .faixa-chamada { padding: 28px 24px; }
  .caixa-luz { grid-template-columns: 1fr; padding: 64px 12px; }
  .caixa-luz__img { grid-column: 1; }
  .caixa-luz__ant, .caixa-luz__prox { position: absolute; bottom: 56px; }
  .caixa-luz__ant { left: 18px; }
  .caixa-luz__prox { right: 18px; }
}
@media (max-width: 640px) {
  .grade-campos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .grade-campos > *, .grade-campos > .g-2, .grade-campos > .g-3, .grade-campos > .g-4 { grid-column: span 2; }
  .grade-campos > .m-1 { grid-column: span 1; }
  .grade-campos > .campo__cep { grid-column: span 1; padding-top: 30px; }
}
@media (max-width: 520px) {
  .so-largo { display: none; }
  .so-estreito { display: inline; }
  .cab__in { gap: 10px; }
  .btn--doar { padding: 0 16px; }
  .marca { gap: 9px; }
  .marca__gota { height: 44px; }
  .marca__nome small { font-size: .625rem; letter-spacing: .24em; }
  .marca__nome strong { font-size: 1.25rem; }
  .impacto__item { padding: 22px 18px; }
  .item-noticia { grid-template-columns: 112px 1fr; gap: 14px; }
  .item-noticia__titulo { font-size: 1rem; }
  .cartao-pix { grid-template-columns: 1fr; }
  .cartao-pix__qr { max-width: 200px; }
  .doacao__cartao { padding: 22px; }
  .campo-duplo { grid-template-columns: 1fr; gap: 0; }
  .formulario--cadastro { padding: 24px 18px; border-radius: 18px; }
  .pilula { flex: 1 1 calc(33.333% - 7px); }
  .pilula span { width: 100%; min-width: 0; padding: 0 8px; }
  .pilulas--texto .pilula { flex-basis: 100%; }
  .pilulas--texto .pilula span { justify-content: flex-start; padding: 12px 18px; text-align: left; }
  .aceite { padding: 14px; }
  .padre__frase { right: 8px; max-width: 240px; font-size: 1rem; }
  .quem-somos__selo { padding: 10px 14px; }
  .quem-somos__selo strong { font-size: 1.6rem; }
}
/* Telas baixas (notebooks): título dos destaques menor, para o rótulo não ficar escondido sob o cabeçalho */
@media (max-height: 860px) {
  .hero__titulo { font-size: clamp(2.4rem, 1.4rem + 3.1vw, 3.5rem); }
}
@media (max-height: 730px) {
  .hero__titulo { font-size: clamp(2.4rem, 1.4rem + 3.1vw, 3rem); }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  html.js [data-revelar] { opacity: 1; transform: none; transition: none; }
  .hero__midia img, .hero__slide.is-ativo .hero__midia img { transform: none; transition: none; }
  .hero__slide .hero__conteudo > * { opacity: 1; transform: none; transition: none; }
  .video__play::before { animation: none; }
}
