/* Ajustes para telas intermediárias e celulares, sem versões duplicadas. */
@media(min-width:1550px){
  .hero h1{
    font-size:5.1rem
  }
}
@media(max-width:1200px){
  .container{
    width:calc(100% - 64px)
  }
  .navegacao{
    gap:17px;
    font-size:.71rem
  }
  .cabecalho{
    gap:18px;
    padding-inline:24px
  }
  .link-minha-area{
    margin-left:0;
    padding-left:17px
  }
  .hero-conteudo{
    padding-inline:40px
  }
  .hero .acoes{
    gap:14px
  }
  .hero .botao{
    padding-inline:18px
  }
  .hero h1{
    font-size:4.4rem
  }
  .campanha-destaque{
    grid-template-columns:1fr 1fr;
    gap:25px
  }
  .campanha-destaque>.botao{
    grid-column:1/-1;
    justify-self:start;
    margin-top:0
  }
  .ajuda-bloco{
    gap:35px;
    padding:32px
  }
  .rodape-colunas{
    gap:20px
  }
  .rodape-convite h2{
    font-size:2.1rem
  }
  .painel{
    grid-template-columns:190px 1fr;
    gap:22px
  }
}
@media(max-width:980px){
  .container{
    width:calc(100% - 48px)
  }
  .cabecalho{
    height:75px
  }
  .botao-menu{
    display:flex;
    flex-shrink:0
  }
  .botao-doar{
    margin-left:auto;
    min-height:44px
  }
  .navegacao{
    display:none;
    position:absolute;
    top:86px;
    left:0;
    right:0;
    padding:22px;
    border-radius:22px;
    background:var(--verde);
    margin:0;
    box-shadow:0 15px 30px #173f3520
  }
  .navegacao.aberta{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:5px
  }
  .navegacao a{
    padding:9px 14px;
    font-size:.92rem
  }
  .link-minha-area{
    border-left:0;
    border-top:1px solid #ffffff20;
    margin-top:5px
  }
  .navegacao a[aria-current=page]:after{
    display:none
  }
  .hero{
    min-height:570px
  }
  .hero-conteudo{
    padding:42px 32px;
    width:65%
  }
  .hero h1{
    font-size:3.6rem
  }
  .hero-descricao{
    font-size:.85rem;
    max-width:300px
  }
  .hero .acoes{
    align-items:flex-start;
    flex-direction:column;
    gap:2px
  }
  .hero-assinatura{
    margin-top:15px
  }
  .hero:after{
    background:linear-gradient(90deg,#f0f3e9 0%,#f0f3e9f7 34%,#f0f3e9af 52%,transparent 80%)
  }
  .faixa-valores{
    padding-inline:10px;
    font-size:.63rem;
    gap:10px
  }
  .faixa-valores>.ponto{
    display:none
  }
  .atua-cartao{
    padding:25px 22px;
    min-height:320px
  }
  .atua-cartao h3{
    font-size:1.5rem
  }
  .cabecalho-secao h2{
    font-size:2.35rem
  }
  .cabecalho-secao>p{
    max-width:260px
  }
  .ajuda-bloco h2{
    font-size:2.2rem
  }
  .ajuda-foto{
    height:430px
  }
  .rodape{
    padding:35px 30px 20px
  }
  .rodape-convite{
    gap:20px
  }
  .rodape-convite h2{
    font-size:1.9rem
  }
  .rodape-colunas{
    grid-template-columns:repeat(2,1fr);
    gap:30px
  }
  .rodape-base{
    flex-direction:column
  }
  .intro-dupla{
    gap:30px
  }
  .intro-dupla h1{
    font-size:2.8rem
  }
  .foto-editorial{
    height:370px
  }
  .painel{
    display:block
  }
  .painel-menu{
    display:flex;
    gap:4px;
    flex-wrap:wrap;
    margin-bottom:28px;
    padding:10px
  }
  .painel-menu .sobretitulo{
    display:none
  }
  .painel-menu a{
    font-size:.73rem;
    padding:9px
  }
  .painel-menu .icone{
    width:18px;
    height:18px
  }
  .etapas{
    gap:17px
  }
  .apoio-planejamento{
    gap:25px
  }
  .conteudo-duplo{
    grid-template-columns:1.2fr 1fr
  }
  .cartao,.lateral-info{
    padding:26px
  }
  .pagina-faixa{
    padding:30px
  }
  .documento-linha{
    gap:16px;
    padding:20px
  }
}
@media(max-width:700px){
  .container{
    width:calc(100% - 32px)
  }
  .barra-superior{
    justify-content:flex-end;
    min-height:37px
  }
  .barra-superior>span{
    display:none
  }
  .barra-superior>div{
    gap:17px
  }
  .barra-superior .link-discreto{
    font-size:.62rem
  }
  .selo-prototipo{
    font-size:.57rem
  }
  .cabecalho{
    height:72px;
    padding:12px 19px;
    gap:11px
  }
  .marca-nome{
    font-size:1.55rem
  }
  .marca-local{
    font-size:.43rem
  }
  .botao-doar{
    font-size:.72rem;
    padding:10px 17px;
    gap:10px;
    min-height:42px
  }
  .botao-doar span{
    font-size:1rem
  }
  .botao-menu{
    width:39px;
    height:39px
  }
  .navegacao{
    top:80px
  }
  .hero{
    margin-top:17px;
    min-height:0;
    display:flex;
    flex-direction:column;
    border-radius:25px;
    background:#edf1e5
  }
  .hero-imagem{
    position:relative;
    order:2;
    height:295px;
    object-position:71% 55%;
    z-index:0
  }
  .hero:after{
    display:none
  }
  .hero-conteudo{
    width:100%;
    padding:33px 26px 32px;
    order:1
  }
  .hero .sobretitulo{
    font-size:.56rem;
    letter-spacing:.08em;
    gap:7px;
    margin-bottom:21px
  }
  .hero h1{
    font-size:3.55rem;
    line-height:1.04
  }
  .hero-descricao{
    margin-top:22px;
    font-size:.87rem;
    max-width:300px
  }
  .hero .acoes{
    flex-direction:row;
    gap:16px;
    margin-top:26px;
    align-items:center
  }
  .hero .botao{
    padding-inline:20px;
    font-size:.79rem;
    gap:13px
  }
  .hero .link-texto{
    font-size:.73rem
  }
  .hero-assinatura{
    margin-top:22px;
    font-size:.62rem;
    gap:9px
  }
  .hero-assinatura .icone{
    width:22px;
    height:22px
  }
  .hero-numeracao{
    top:auto;
    bottom:260px;
    right:15px;
    font-size:.6rem;
    z-index:1
  }
  .legenda-imagem{
    font-size:.52rem;
    right:12px;
    bottom:12px
  }
  .faixa-valores{
    padding:20px 4px;
    gap:13px;
    flex-wrap:wrap;
    justify-content:center
  }
  .faixa-valores span{
    font-size:.59rem;
    gap:7px
  }
  .faixa-valores span:last-child{
    display:none
  }
  .faixa-valores .icone{
    width:16px;
    height:16px
  }
  .campanha-destaque{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    padding:29px 25px;
    margin-top:27px;
    gap:25px;
    border-radius:25px
  }
  .campanha-destaque h2{
    font-size:1.75rem;
    max-width:260px
  }
  .campanha-destaque p{
    font-size:.76rem;
    max-width:280px
  }
  .campanha-valores strong{
    font-size:1.8rem
  }
  .progresso{
    margin:13px 0
  }
  .campanha-destaque .botao{
    align-self:flex-start
  }
  .secao{
    margin-top:60px
  }
  .cabecalho-secao{
    display:block;
    margin-bottom:23px
  }
  .cabecalho-secao h2{
    font-size:2.15rem
  }
  .cabecalho-secao .sobretitulo{
    font-size:.61rem;
    margin-bottom:16px
  }
  .cabecalho-secao>p{
    margin-top:17px;
    max-width:310px;
    font-size:.83rem
  }
  .cabecalho-secao>.link-texto{
    margin-top:15px
  }
  .grade-tres,.grade-dois{
    grid-template-columns:1fr;
    gap:15px
  }
  .atua-cartao{
    min-height:253px;
    padding:27px
  }
  .atua-topo{
    margin-bottom:25px
  }
  .atua-cartao h3{
    font-size:1.6rem
  }
  .atua-cartao p{
    font-size:.86rem;
    max-width:none
  }
  .atua-cartao .link-texto{
    padding-top:18px
  }
  .ajuda-bloco{
    grid-template-columns:1fr;
    padding:24px;
    gap:30px;
    border-radius:25px
  }
  .ajuda-foto{
    height:320px
  }
  .ajuda-bloco h2{
    font-size:2.25rem
  }
  .ajuda-bloco .sobretitulo{
    font-size:.6rem;
    margin-bottom:18px
  }
  .lista-ajuda a{
    padding:17px 0;
    gap:12px
  }
  .lista-ajuda strong{
    font-size:.85rem
  }
  .lista-ajuda small{
    font-size:.66rem
  }
  .noticia-foto,.evento-ilustracao{
    height:235px
  }
  .noticia-corpo{
    padding:24px
  }
  .noticia-corpo h3{
    font-size:1.45rem
  }
  .parceiros-secao{
    margin-top:55px
  }
  .parceiros-lista{
    grid-template-columns:repeat(2,1fr);
    gap:14px;
    margin:22px 0
  }
  .parceiro-marca{
    font-size:1.2rem
  }
  .parceiros-controles{
    gap:8px;
    flex-wrap:wrap
  }
  .rodape{
    margin-top:65px;
    padding:31px 25px 20px;
    border-radius:27px 27px 0 0
  }
  .rodape-convite{
    display:block;
    padding-bottom:31px
  }
  .rodape-convite .sobretitulo{
    font-size:.6rem
  }
  .rodape-convite h2{
    font-size:1.9rem
  }
  .rodape-convite .botao{
    margin-top:25px;
    font-size:.75rem;
    padding-inline:19px
  }
  .rodape-colunas{
    grid-template-columns:1fr 1fr;
    padding:29px 0;
    gap:27px 14px
  }
  .rodape-colunas>div:first-child{
    grid-column:1/-1
  }
  .rodape-colunas>div:last-child{
    grid-column:1/-1
  }
  .rodape-colunas h3{
    font-size:.76rem
  }
  .rodape-colunas>div>a:not(.marca){
    font-size:.72rem
  }
  .rodape-colunas p{
    font-size:.73rem
  }
  .rodape-base{
    font-size:.58rem;
    gap:15px
  }
  .rodape-base>div{
    gap:15px
  }
  .rodape-aviso{
    font-size:.54rem
  }
  .pagina-intro{
    padding:40px 0 28px
  }
  .pagina-intro .sobretitulo{
    font-size:.6rem;
    margin-bottom:17px
  }
  .pagina-intro h1{
    font-size:2.7rem
  }
  .pagina-intro>p:last-child:not(.sobretitulo){
    font-size:.87rem;
    margin-top:20px
  }
  .intro-dupla{
    grid-template-columns:1fr;
    gap:15px;
    margin-top:25px
  }
  .intro-dupla .pagina-intro{
    padding-top:14px
  }
  .intro-dupla h1{
    font-size:2.7rem
  }
  .foto-editorial{
    height:320px
  }
  .intro-dupla+.grade-tres{
    margin-top:28px
  }
  .conteudo-duplo{
    grid-template-columns:1fr;
    gap:23px
  }
  .cartao,.lateral-info{
    padding:25px;
    border-radius:22px
  }
  .cartao h3{
    font-size:1.5rem
  }
  .titulo-cartao h2{
    font-size:1.5rem
  }
  .etapas{
    gap:17px;
    font-size:.64rem;
    margin-bottom:23px
  }
  .etapa{
    gap:6px
  }
  .etapa span{
    width:23px;
    height:23px
  }
  .opcoes-valor{
    gap:8px
  }
  .opcao-valor{
    padding:12px 8px;
    font-size:.83rem;
    min-width:58px
  }
  .valor-grande{
    font-size:2.8rem
  }
  .campos-linha{
    grid-template-columns:1fr;
    gap:20px
  }
  .formulario-acoes{
    align-items:stretch;
    flex-direction:column
  }
  .formulario-acoes .botao{
    width:100%
  }
  .apoio-planejamento{
    grid-template-columns:1fr;
    gap:25px
  }
  .apoio-total{
    padding:24px 0 0;
    border-left:0;
    border-top:1px solid #c9d5be
  }
  .pagina-faixa{
    padding:27px;
    flex-direction:column;
    align-items:flex-start;
    margin-top:29px
  }
  .pagina-faixa h2{
    font-size:1.7rem
  }
  .documento-linha{
    flex-wrap:wrap;
    gap:13px;
    padding:22px
  }
  .documento-linha>div:nth-child(2){
    flex:1;
    min-width:160px
  }
  .documento-linha .botao{
    width:100%;
    margin-top:4px
  }
  .documento-linha h2{
    font-size:1.14rem
  }
  .documento-linha p{
    font-size:.65rem
  }
  .documento-icone{
    width:42px;
    height:50px
  }
  .filtros{
    gap:7px
  }
  .filtro{
    padding:9px 16px;
    font-size:.72rem
  }
  .estado-final{
    margin-top:35px;
    padding:30px 5px
  }
  .estado-final h1{
    font-size:2.7rem
  }
  .estado-final p{
    font-size:.86rem
  }
  .estado-final .acoes{
    flex-direction:column
  }
  .estado-final .botao{
    width:100%
  }
  .artigo-foto{
    height:310px;
    margin-top:0
  }
  .prosa h2{
    font-size:1.65rem
  }
  .prosa p{
    font-size:.88rem
  }
  .prosa li{
    font-size:.84rem
  }
  .evento-detalhes{
    gap:17px;
    font-size:.72rem
  }
  .painel{
    margin-top:27px
  }
  .painel-menu{
    gap:1px;
    border-radius:15px
  }
  .painel-menu a{
    font-size:.66rem;
    padding:9px;
    gap:6px
  }
  .painel-conteudo h1{
    font-size:2.5rem
  }
  .painel-conteudo .grade-tres{
    grid-template-columns:1fr
  }
  .indicador{
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:10px
  }
  .indicador strong{
    font-size:2.1rem;
    margin:0
  }
  .indicador .sobretitulo{
    width:100%
  }
  .painel-item{
    align-items:flex-start;
    flex-direction:column
  }
  .painel-item .acoes{
    width:100%
  }
  .configuracao-linha{
    gap:13px
  }
  .configuracao-linha strong{
    font-size:.8rem
  }
  .configuracao-linha p{
    font-size:.7rem
  }
  .configuracao-linha .botao{
    font-size:.69rem;
    min-width:115px;
    padding:10px 13px
  }
  dialog{
    padding:33px 25px
  }
  dialog h2{
    font-size:1.65rem
  }
  dialog p{
    font-size:.8rem
  }
}
@media(max-width:700px){
  .hero h1{
    font-size:clamp(2.2rem,11.5vw,3.15rem)
  }
  h1,h2,h3{
    overflow-wrap:anywhere
  }
  .hero h1{
    overflow-wrap:normal
  }
  .hero .sobretitulo{
    font-size:.52rem
  }
  .botao-doar{
    white-space:nowrap
  }
  .marca{
    min-width:0
  }
  .painel-conteudo .indicador strong{
    font-size:1.9rem
  }
  .titulo-cartao{
    flex-wrap:wrap
  }
  .titulo-cartao .botao{
    margin:0
  }
}
@media(max-width:370px){
  .container{
    width:calc(100% - 24px)
  }
  .hero-conteudo{
    padding-inline:23px
  }
  .hero .acoes{
    flex-direction:column;
    align-items:flex-start;
    gap:8px
  }
  .cabecalho{
    padding-inline:16px;
    gap:8px
  }
  .marca-nome{
    font-size:1.4rem
  }
  .botao-doar{
    padding-inline:13px
  }
  .rodape-colunas{
    grid-template-columns:1fr
  }
  .rodape-colunas>div{
    grid-column:auto
  }
  .etapas{
    gap:10px
  }
}
