/* O navegador põe 8px de margem no body por padrão, e isso virava uma moldura
   branca em volta da página. */
  html, body{ margin:0; padding:0; }

  .apc-lp{
    /* ---- Institucionais (MIV 2025) ---- */
    --verde:#00A650;          /* Pantone 7482 C */
    --verde-esc:#00753C;
    --vermelho:#ED1C24;       /* Pantone 485 C  */
    --vermelho-esc:#C8151C;
    --azul:#0063AE;           /* Pantone 300 C  */
    --amarelo:#FFB200;        /* Pantone 123 C  */

    /* ---- Pilares da campanha Doe Carinho ----
       Degradês oficiais, lidos dos SVGs em ajustes-layout/identidade-doecarinho/.
       Cada pilar tem: a cor cheia, a segunda parada do degradê, uma variante
       escura só para texto (as cheias não passam de 4.5:1 em corpo de texto)
       e um fundo claro para os ícones. */
    --amor:#ED1C24;          --amor-2:#FE0B57;
    --amor-esc:#C4131C;      --amor-clr:#FDE7E8;
    --carinho:#FFD800;       --carinho-2:#FF9600;
    --carinho-esc:#8F5B00;   --carinho-clr:#FFF4CC;
    --cuidado:#00B0FF;       --cuidado-2:#00539D;
    --cuidado-esc:#00539D;   --cuidado-clr:#DCF1FF;

    --g-amor:linear-gradient(135deg,var(--amor),var(--amor-2));
    --g-carinho:linear-gradient(135deg,var(--carinho),var(--carinho-2));
    --g-cuidado:linear-gradient(135deg,var(--cuidado),var(--cuidado-2));

    /* ---- Degradês das marcas do Asilo ---- */
    --roxo:#7B00FF;           /* Clube Amigo do Asilo */
    --roxo-clr:#9A2BFF;
    --roxo-esc:#5B00C9;
    --lilas:#F5EEFF;
    --lilas-2:#EADCFF;
    --amarelo-clr:#FFDE6B;    /* doe carinho */
    --amarelo-esc:#FFB000;

    /* ---- Cores da proposta nova do hero (nova-hero/hero-modelo.pdf) ----
       Lidas do PDF do Figma: a ação é o rosa-vermelho dos botões, a moldura
       é o amarelo da borda da foto e o azul é o do rodapé e da régua. */
    --acao:#FD144F;           --acao-esc:#D80E42;
    --moldura:#FFB027;
    --azul-rodape:#0099E3;

    /* ---- Superfícies ---- */
    --creme:#FFFDF9;
    --creme-2:#FDF5E9;
    --branco:#ffffff;
    --linha:#EDE4D6;
    --linha-f:#DCCFBA;

    /* ---- Texto: cinza quente, nunca preto ---- */
    --tinta:#4B4741;          /* títulos */
    --tinta-2:#635D53;        /* corpo   */
    --tinta-3:#736D63;        /* miúdo   */

    --sans:'Montserrat',-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,Roboto,Helvetica,Arial,sans-serif;
    --wrap:1160px;
    --r:18px;

    color:var(--tinta-2); line-height:1.62; font-family:var(--sans);
    font-size:17px; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
    background:var(--creme);
  }
  .apc-lp *{ box-sizing:border-box; font-family:var(--sans); }
  .apc-lp img{ max-width:100% !important; display:block !important; }
  .apc-lp .apc-full{ width:100% !important; height:100% !important; object-fit:cover !important; }

  /* ---------- Temas de bloco ---------- */
  .apc-lp .t-claro{ background:var(--creme) !important; }
  .apc-lp .t-claro-2{ background:var(--creme-2) !important; }
  .apc-lp .t-verde-claro{
    background:#F0F7F1 !important;
    --linha:#DCEADF; --linha-f:#C3D9C8; --creme-2:#E5F1E8;
  }
  .apc-lp .t-lilas{
    background:#E6F5FC !important;
    --roxo:#0099E3; --roxo-clr:#31B4F0; --roxo-esc:#0073AA;
    --lilas:#E6F5FC; --lilas-2:#CDECF9;
    --linha:#C5E8F7; --linha-f:#8FCFEB; --branco:#ffffff;
  }
  .apc-lp .t-roxo{
    background:#0099E3 !important;
    --tinta:#FFFDF9; --tinta-2:#DCC6FF; --tinta-3:#C4A6F5;
    --linha:rgba(255,255,255,.24); --linha-f:rgba(255,255,255,.42);
    --branco:rgba(255,255,255,.10);
    color:#DCC6FF;
  }
  .apc-lp .t-amarelo{
    background:linear-gradient(158deg,var(--amarelo-clr) 0%,#FFC633 55%,var(--amarelo-esc) 100%) !important;
    --tinta:#42351A; --tinta-2:#5A4718; --tinta-3:#6B5620;
    --linha:rgba(66,53,26,.18); --linha-f:rgba(66,53,26,.3); --branco:#ffffff;
    color:#5A4718;
  }
  .apc-lp .t-rodape{
    background:var(--creme) !important;
    --tinta:#4B4741; --tinta-2:#4B4741; --tinta-3:#4B4741;
    --linha:rgba(75,71,65,.38); --linha-f:rgba(75,71,65,.65);
    color:var(--tinta);
  }

  /* ---------- Base ---------- */
  .apc-lp a{ text-decoration:none !important; color:inherit !important; }
  .apc-lp a, .apc-lp a *{ -webkit-text-fill-color:currentColor !important; }
  .apc-lp .wrap{ width:100%; max-width:var(--wrap); margin:0 auto; padding-inline:clamp(20px,5vw,44px); }
  .apc-lp .sec{ position:relative; padding-block:clamp(56px,7.5vw,100px); }
  .apc-lp .sec.topo-curto{ padding-top:clamp(26px,3.5vw,44px); }
  .apc-lp svg.ic{ width:1em; height:1em; display:inline-block; vertical-align:middle; fill:none; flex:0 0 auto; }

  .apc-lp .h2,.apc-lp .card h3{ text-wrap:balance; }

  /* Textura pontilhada de fundo, bem suave. A cor vem de --dot em cada bloco. */
  .apc-lp .pontilhado::before{
    content:''; position:absolute; inset:0; pointer-events:none; z-index:0;
    background-image:radial-gradient(circle, var(--dot) 1.7px, transparent 1.8px);
    background-size:26px 26px;
  }
  .apc-lp .pontilhado > .wrap{ position:relative; z-index:1; }
  .apc-lp p,.apc-lp .lead,.apc-lp .sub,.apc-lp .desc,.apc-lp .kpi .l,.apc-lp figcaption{ text-wrap:pretty; }

  .apc-lp .eyebrow{
    display:inline-flex; align-items:center; gap:9px;
    font-weight:700; font-size:.86rem; letter-spacing:.16em; text-transform:uppercase;
    color:var(--acao);
  }
  .apc-lp .t-roxo .eyebrow{ color:var(--amarelo-clr); }
  .apc-lp .t-amarelo .eyebrow{ color:#ffffff; }
  .apc-lp .t-lilas .eyebrow{ color:var(--acao); }
  .apc-lp .eyebrow svg{ width:17px; height:17px; fill:var(--acao); }
  .apc-lp .t-roxo .eyebrow svg{ fill:var(--amarelo-clr); }
  .apc-lp .t-amarelo .eyebrow svg{ fill:#ffffff; }
  .apc-lp .t-lilas .eyebrow svg{ fill:var(--acao); }

  .apc-lp .h2{
    font-size:clamp(1.62rem,3.3vw,2.5rem); line-height:1.16; letter-spacing:-.018em;
    margin:0; font-weight:700; color:var(--tinta);
  }
  .apc-lp .lead{ font-size:clamp(1.02rem,1.5vw,1.16rem); color:var(--tinta-2); margin:0; max-width:54ch; }
  .apc-lp .head{ display:flex; flex-direction:column; gap:16px; max-width:64ch; margin-bottom:clamp(30px,4vw,48px); }
  .apc-lp .head.centro{ align-items:center; text-align:center; margin-inline:auto; }
  .apc-lp .head.larga{ max-width:none; }
  .apc-lp .h2.verde{ color:var(--verde-esc); }
  /* Fica em uma linha só a partir do desktop. */
  @media(min-width:901px){ .apc-lp .h2.uma-linha{ white-space:nowrap; text-wrap:nowrap; } }

  /* ---------- Botões ---------- */
  .apc-lp .btn{
    display:inline-flex; align-items:center; justify-content:center; gap:10px;
    font-weight:700; font-size:1.02rem; line-height:1.2; padding:16px 28px;
    border-radius:999px; border:2px solid transparent !important; cursor:pointer;
    text-decoration:none !important; background:transparent !important;
    transition:transform .18s ease, background-color .2s ease, border-color .2s ease, color .2s ease;
  }
  .apc-lp .btn.primary{
    background:var(--acao) !important; color:#ffffff !important;
    border-color:var(--acao) !important;
  }
  .apc-lp .btn.primary:hover{ background:var(--acao-esc) !important; border-color:var(--acao-esc) !important; }
  .apc-lp .btn.ghost{ color:var(--tinta) !important; border-color:var(--acao) !important; }
  .apc-lp .btn.ghost:hover{ background:var(--acao) !important; border-color:var(--acao) !important; color:#ffffff !important; }
  .apc-lp .t-roxo .btn.primary{ background:#ffffff !important; color:var(--acao) !important; border-color:#ffffff !important; }
  .apc-lp .t-roxo .btn.primary:hover{ background:var(--amarelo-clr) !important; border-color:var(--amarelo-clr) !important; color:#4B4741 !important; }
  .apc-lp .t-roxo .btn.ghost{ color:#FFFDF9 !important; border-color:rgba(255,255,255,.5) !important; }
  .apc-lp .t-roxo .btn.ghost:hover{ background:transparent !important; border-color:var(--amarelo-clr) !important; color:var(--amarelo-clr) !important; }
  .apc-lp .t-rodape .btn.ghost{ color:var(--tinta) !important; border-color:var(--tinta) !important; }
  .apc-lp .t-rodape .btn.ghost:hover{ background:var(--tinta) !important; border-color:var(--tinta) !important; color:#ffffff !important; }
  .apc-lp .btn.lg{ padding:18px 28px; font-size:1.04rem; }
  .apc-lp .btn.sm{ padding:13px 20px; font-size:.94rem; }
  .apc-lp .btn svg{ width:18px; height:18px; transition:transform .2s ease; }
  .apc-lp .btn:hover{ transform:translateY(-2px); }
  .apc-lp .btn:hover svg{ transform:translateX(3px); }
  .apc-lp .btn:active{ transform:translateY(0); }

  /* ---------- Topo: o hero da proposta nova ----------
     Modelo: nova-hero/hero-modelo.pdf (moldura de 1794x766 exportada do Figma).
     As medidas abaixo são as do modelo multiplicadas por 0,9, que é a razão
     entre a largura útil do .wrap (1072px) e a do conteúdo do modelo (1190pt).
     A foto aérea já mostra a fachada tombada, então a marca d'água antiga
     do cabeçalho saiu: virou o próprio fundo. */
  .apc-lp .topo{
    position:relative; overflow:hidden;
    background:
      linear-gradient(rgba(255,255,255,.28),rgba(255,255,255,.28)),
      url('../img/bg-fachada-hero.png') no-repeat center / cover;
  }
  .apc-lp .topo > *{ position:relative; z-index:1; }
  /* Assinatura da campanha: no modelo ela fecha o hero, em cor chapada. */
  .apc-lp .tricolor{ height:clamp(8px,.9vw,13px); width:100%; display:flex; }
  .apc-lp .tricolor i{ flex:1; }
  .apc-lp .tricolor i:nth-child(1){ background:var(--acao); }
  .apc-lp .tricolor i:nth-child(2){ background:var(--moldura); }
  .apc-lp .tricolor i:nth-child(3){ background:var(--azul-rodape); }

  /* ---------- Hero ---------- */
  .apc-lp .hero{ padding-block:clamp(26px,4.3vw,62px) clamp(44px,6.5vw,93px); }
  .apc-lp .hero-grid{
    display:grid; grid-template-columns:minmax(0,1.22fr) minmax(0,1fr);
    gap:clamp(26px,4.6vw,66px); align-items:start;
  }
  .apc-lp .hero-copy{ display:flex; flex-direction:column; align-items:flex-start; }
  .apc-lp .marca-hero{ width:clamp(92px,9.2vw,132px) !important; height:auto !important; aspect-ratio:1/1; }
  .apc-lp .quebra{ display:none; }
  @media(min-width:901px){ .apc-lp .quebra{ display:inline; } }
  .apc-lp .hero h1{
    margin:clamp(20px,2.2vw,32px) 0 0;
    font-size:clamp(1.95rem,3vw,2.7rem); line-height:1.0625; letter-spacing:0;
    font-weight:700; color:var(--tinta);
  }
  .apc-lp .hero .sub{
    margin:clamp(18px,2.1vw,30px) 0 0; max-width:30.5em;
    font-size:clamp(1rem,1.13vw,1.02rem); line-height:1.39; color:var(--tinta);
  }
  .apc-lp .hero .cta-row{ margin-top:clamp(26px,3vw,43px); gap:clamp(10px,.8vw,11px); }
  .apc-lp .hero .cta-row .btn{ font-size:clamp(1.02rem,1.31vw,1.18rem); padding:14px 26px; }
  .apc-lp .cta-row{ display:flex; flex-wrap:wrap; gap:14px; }
  .apc-lp .selo-doacao{
    display:flex; align-items:center; gap:10px;
    font-size:clamp(.86rem,.95vw,.9rem); color:var(--tinta); font-weight:500;
  }

  /* Foto em moldura amarela, com os três corações do Doe Carinho montados
     sobre a borda direita, como no modelo. */
  .apc-lp .hero-media{ position:relative; align-self:center; }
  .apc-lp .foto-caixa{ position:relative; }
  .apc-lp .foto{
    margin:0; overflow:hidden; background:var(--creme-2);
    border:3px solid var(--moldura); border-radius:clamp(22px,2.8vw,40px);
  }
  .apc-lp .foto img{
    width:100% !important; height:auto !important;
    aspect-ratio:491/531; object-fit:cover !important; object-position:50% 50%;
  }
  .apc-lp .coracoes{
    position:absolute; top:50%; right:0; transform:translate(50%,-50%);
    display:flex; flex-direction:column; gap:clamp(16px,2.4vw,35px); z-index:2;
  }
  .apc-lp .coracoes svg{ width:clamp(40px,5.2vw,74px); height:auto; display:block; }
  @media(max-width:900px){
    .apc-lp .hero-grid{ grid-template-columns:minmax(0,1fr); gap:26px; }
    .apc-lp .hero .sub{ max-width:none; }
    .apc-lp .foto img{ aspect-ratio:4/3; }
    .apc-lp .coracoes{ transform:translate(28%,-50%); }
  }
  @media(max-width:470px){ .apc-lp .cta-row .btn{ width:100%; } }

  /* ---------- Faixa dos três pilares da campanha ---------- */
  .apc-lp .pilares{ border-block:1px solid var(--linha); background:var(--creme); }
  .apc-lp .pilares .wrap{
    display:flex; align-items:center; justify-content:center;
    gap:clamp(26px,6vw,72px); flex-wrap:wrap;
    padding-block:clamp(20px,2.6vw,30px);
  }
  .apc-lp .pilares img{
    width:auto !important; height:clamp(30px,3.4vw,42px) !important;
    opacity:.94;
  }
  @media(max-width:470px){ .apc-lp .pilares .wrap{ gap:18px; } }

  /* ---------- Cotas ---------- */
  .apc-lp .cotas{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; align-items:stretch; }
  /* Cada valor carrega a cor de um pilar da campanha: amor, carinho, cuidado. */
  .apc-lp .cota{
    position:relative; display:flex; flex-direction:column; gap:12px; overflow:hidden;
    /* Contorno da cor do pilar com a mesma espessura nos quatro lados.
       O degradê entra pelo border-box, que é o jeito de ter borda em degradê
       sem perder o border-radius. */
    border:2px solid transparent !important;
    background:linear-gradient(#ffffff,#ffffff) padding-box,
               var(--tom-faixa,var(--tom,var(--linha))) border-box !important;
    border-radius:var(--r); padding:28px 22px 22px; min-height:240px;
    color:var(--tinta) !important; text-decoration:none !important; cursor:pointer;
    transition:transform .22s ease, box-shadow .3s ease, border-color .22s ease;
  }
  .apc-lp .cota:hover{ transform:translateY(-5px); box-shadow:0 20px 36px -22px var(--tom-sombra,rgba(75,71,65,.5)); }
  .apc-lp .cota.destaque{ box-shadow:0 14px 30px -24px var(--tom-sombra,rgba(75,71,65,.45)); }
  /* O ícone repete o da seção "Para onde vai a sua doação". */
  .apc-lp .marcador{
    width:46px; height:46px; border-radius:50%; display:grid; place-items:center;
    background:var(--tom-claro); flex:0 0 auto;
  }
  .apc-lp .marcador svg{ width:22px; height:22px; stroke:var(--tom); fill:none; }
  .apc-lp .marcador svg.cheio{ fill:var(--tom); stroke:none; }
  .apc-lp .cota .valor{ font-size:2rem; font-weight:700; letter-spacing:-.028em; color:var(--tom-texto,var(--verde-esc)) !important; line-height:1.08; }
  .apc-lp .cota .valor span{ font-size:.92rem; font-weight:600; color:var(--tinta-3) !important; letter-spacing:0; }
  .apc-lp .cota .desc{ font-size:.98rem; color:var(--tinta-2) !important; line-height:1.5; }
  .apc-lp .cota .acao{
    margin-top:auto; padding-top:14px; display:inline-flex; align-items:center; gap:8px;
    font-weight:700; font-size:1rem; color:var(--tom-texto,var(--verde-esc)) !important;
  }
  .apc-lp .cota .acao svg{ width:18px; height:18px; stroke:currentColor; transition:transform .2s ease; }
  .apc-lp .cota:hover .acao svg{ transform:translateX(5px); }
  .apc-lp .garantia{ display:flex; flex-direction:column; align-items:center; gap:8px; margin-top:32px; text-align:center; }
  .apc-lp .seguro{ display:inline-flex; align-items:center; gap:10px; color:var(--tinta-2); font-size:1rem; font-weight:500; }
  .apc-lp .seguro svg{ width:20px; height:20px; stroke:var(--verde-esc); }
  .apc-lp .powered{
    display:flex; align-items:center; gap:7px;
    font-size:.9rem; color:var(--tinta-3); letter-spacing:.02em;
  }
  .apc-lp .powered .doare{ height:15px !important; width:auto !important; aspect-ratio:2222/516; }
  @media(max-width:860px){ .apc-lp .cotas{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
  @media(max-width:470px){
    .apc-lp .cotas{ grid-template-columns:minmax(0,1fr); gap:14px; }
    .apc-lp .cota{ min-height:0; }
    .apc-lp .cota .acao{ margin-top:4px; }
  }

  /* ---------- Duas colunas ---------- */
  .apc-lp #apc-cotas{ padding-bottom:clamp(24px,3vw,40px); }
  .apc-lp #apc-impacto{ padding-top:clamp(24px,3vw,40px); }
  .apc-lp .duas{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(30px,5vw,62px); align-items:center; }
  .apc-lp .duas.historia{ grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr); }
  .apc-lp .prosa{ display:flex; flex-direction:column; gap:20px; }
  .apc-lp .prosa p{ margin:0; color:var(--tinta-2); font-size:1.08rem; }
  .apc-lp #apc-historia{ background:#ffffff !important; padding-bottom:clamp(28px,3.5vw,48px); }
  .apc-lp #apc-historia .h2{ font-size:clamp(1.5rem,2.8vw,2.15rem); }
  .apc-lp .prosa .btn{ align-self:flex-start; margin-top:6px; }
  @media(max-width:880px){ .apc-lp .duas,.apc-lp .duas.historia{ grid-template-columns:minmax(0,1fr); } }

  /* ---------- Carrossel ---------- */
  .apc-lp .carrossel{ display:flex; flex-direction:column; gap:18px; }
  .apc-lp .car-view{ position:relative; }
  .apc-lp .car-trilho{ display:flex; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; border-radius:var(--r); }
  .apc-lp .car-trilho::-webkit-scrollbar{ display:none; }
  .apc-lp .slide{ flex:0 0 100%; scroll-snap-align:start; margin:0; }
  .apc-lp .slide img{ width:100% !important; height:auto !important; aspect-ratio:3/2; object-fit:cover !important; border-radius:var(--r); }
  .apc-lp .car-legenda{ font-size:1.02rem; color:var(--tinta-2); text-align:center; font-weight:500; min-height:1.6em; }
  .apc-lp .seta{
    width:48px; height:48px; border-radius:50%; border:0 !important;
    background:#ffffff !important; color:var(--roxo-esc) !important;
    cursor:pointer; display:grid; place-items:center; padding:0;
    transition:transform .18s ease, background-color .2s ease, color .2s ease;
  }
  .apc-lp .seta:hover{ background:var(--roxo-esc) !important; color:#ffffff !important; }
  .apc-lp .seta svg{ width:21px; height:21px; stroke:currentColor; }
  .apc-lp .seta.lado{ position:absolute; top:50%; transform:translateY(-50%); z-index:2; }
  .apc-lp .seta.lado.prev{ left:14px; } .apc-lp .seta.lado.next{ right:14px; }
  .apc-lp .seta.lado:hover{ transform:translateY(-50%) scale(1.08); }
  .apc-lp .pontos{ display:flex; gap:9px; justify-content:center; }
  .apc-lp .pontos .ponto{
    width:9px; height:9px; border-radius:50%; background:var(--linha-f) !important;
    border:0 !important; padding:0; cursor:pointer; transition:transform .2s ease, background-color .2s ease, width .2s ease;
  }
  .apc-lp .pontos .ponto:hover{ transform:scale(1.35); }
  .apc-lp .pontos .ponto.on{ background:var(--carinho) !important; width:28px; border-radius:999px; }

  /* ---------- Impacto ---------- */
  .apc-lp .kpis{ display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:clamp(12px,2vw,22px); }
  .apc-lp .kpi{
    text-align:center; padding:26px 10px; border-radius:var(--r);
    border:2px solid transparent;
    background:linear-gradient(#ffffff,#ffffff) padding-box,
               var(--tom-faixa,var(--tom,var(--verde))) border-box;
    position:relative; overflow:hidden;
  }
  .apc-lp .kpi .n{
    font-size:clamp(1.6rem,3vw,2.35rem); font-weight:700; letter-spacing:-.03em;
    font-variant-numeric:tabular-nums; line-height:1.1; color:var(--tom-texto,var(--verde-esc));
    white-space:nowrap;   /* "100 mil" e "330 mil" nunca quebram */
  }
  .apc-lp .kpi .l{ margin-top:11px; font-size:.95rem; color:var(--tinta-2); line-height:1.4; }
  .apc-lp .servicos-mapa{
    position:relative; width:100%; max-width:960px; height:480px;
    margin:clamp(36px,4vw,56px) auto 0;
  }
  .apc-lp .servicos-linhas{ position:absolute; inset:0; width:100%; height:100%; }
  .apc-lp .servicos-linhas line{ stroke:var(--tom); stroke-width:2; vector-effect:non-scaling-stroke; }
  .apc-lp .servicos-total{
    position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
    width:180px; height:180px; border:3px solid var(--acao); border-radius:50%;
    background:var(--branco); display:flex; flex-direction:column;
    justify-content:center; align-items:center; text-align:center;
  }
  .apc-lp .servicos-total strong{ font-size:4rem; line-height:1.1; color:var(--acao); }
  .apc-lp .servicos-total span{ margin-top:8px; font-size:.92rem; line-height:1.45; color:var(--tinta); font-weight:600; }
  .apc-lp .servicos-lista{ list-style:none; padding:0; margin:0; }
  .apc-lp .servicos-lista li{
    position:absolute; left:var(--x); top:var(--y); transform:translate(-50%,-50%);
    width:clamp(168px,18vw,210px); min-height:64px; padding:14px;
    display:flex; justify-content:center; align-items:center; text-align:center;
    border:2px solid var(--tom); border-radius:var(--r); background:var(--fundo);
    color:var(--tinta); font-size:1rem; font-weight:600; line-height:1.4;
  }
  @media(max-width:800px){
    .apc-lp .servicos-mapa{ height:auto; display:flex; flex-direction:column; align-items:center; gap:24px; }
    .apc-lp .servicos-linhas{ display:none; }
    .apc-lp .servicos-total{ position:static; transform:none; }
    .apc-lp .servicos-lista{ width:100%; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
    .apc-lp .servicos-lista li{ position:static; transform:none; width:100%; min-height:70px; padding:12px; font-size:.95rem; }
    .apc-lp .servicos-lista li:last-child{ grid-column:1/-1; justify-self:center; width:calc((100% - 12px)/2); }
  }
  .apc-lp .divisao{ margin-top:clamp(48px,6vw,76px); }
  .apc-lp .cards3{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
  .apc-lp .card{
    position:relative; overflow:hidden; border-radius:var(--r);
    border:2px solid transparent;
    background:linear-gradient(#ffffff,#ffffff) padding-box,
               var(--tom-faixa,var(--tom,var(--linha))) border-box;
    padding:32px 26px 30px; display:flex; flex-direction:column; gap:14px;
    transition:transform .22s ease, box-shadow .3s ease;
  }
  .apc-lp .card:hover{ transform:translateY(-4px); box-shadow:0 20px 36px -24px rgba(75,71,65,.5); }
  .apc-lp .card h3{ margin:0; font-size:1.16rem; font-weight:700; color:var(--tinta); }
  .apc-lp .card p{ margin:0; color:var(--tinta-2); font-size:1rem; }
  @media(max-width:900px){ .apc-lp .kpis{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
  @media(max-width:540px){ .apc-lp .kpis{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
  @media(max-width:800px){ .apc-lp .cards3{ grid-template-columns:minmax(0,1fr); } }

  /* ---------- Vídeo ---------- */
  .apc-lp #apc-video{ background:var(--azul-rodape) !important; }
  .apc-lp #apc-video .h2{ color:#ffffff; }
  .apc-lp #apc-video .eyebrow{ color:#00243A; }
  .apc-lp #apc-video .eyebrow svg{ fill:#00243A; }
  .apc-lp .video{
    position:relative; display:block; aspect-ratio:16/9; border-radius:26px; overflow:hidden;
    border:5px solid #ffffff !important; background:#000000;
    box-shadow:0 26px 50px -30px rgba(66,53,26,.7);
  }
  .apc-lp .video-thumb{ position:absolute; inset:0; display:block; width:100%; height:100%; padding:0; border:0; background:transparent; cursor:pointer; }
  .apc-lp .video-thumb img{ width:100% !important; height:100% !important; object-fit:cover !important; transition:transform .5s ease; }
  .apc-lp .video-thumb:hover img{ transform:scale(1.03); }
  .apc-lp .video iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
  .apc-lp .play{ position:absolute; inset:0; display:grid; place-items:center; z-index:2; }
  .apc-lp .play .circulo{
    width:86px; height:86px; border-radius:50%; background:var(--amor); display:grid; place-items:center;
    transition:transform .22s ease, background-color .2s ease;
  }
  .apc-lp .play .circulo svg{ width:31px; height:31px; margin-left:4px; fill:#fff; }
  .apc-lp .video-thumb:hover .play .circulo{ transform:scale(1.09); background:var(--amor-esc); }

  /* ---------- Depoimentos ---------- */
  .apc-lp .barra-topo{ display:flex; justify-content:space-between; align-items:flex-end; gap:22px; margin-bottom:30px; flex-wrap:wrap; }
  .apc-lp .barra-topo .head{ margin-bottom:0; }
  .apc-lp .car-nav{ display:flex; gap:10px; }
  .apc-lp .t-lilas .seta{ background:#ffffff !important; }
  .apc-lp .t-lilas .seta:hover{ background:var(--azul-rodape) !important; color:#ffffff !important; }
  .apc-lp .citacoes{ display:flex; gap:18px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; padding-bottom:6px; }
  .apc-lp .citacoes::-webkit-scrollbar{ display:none; }
  .apc-lp .citacao{
    flex:0 0 calc((100% - 18px)/2); scroll-snap-align:start; background:#ffffff;
    border:1.5px solid var(--linha); border-radius:var(--r); padding:30px;
    display:flex; flex-direction:column; gap:18px;
  }
  @media(max-width:800px){
    .apc-lp .citacao{ flex-basis:min(368px,84vw); }
  }
  .apc-lp .citacao .aspas svg{ width:30px; height:30px; fill:var(--tom,var(--roxo-clr)); }
  .apc-lp .citacao p{ margin:0; font-size:1.04rem; color:var(--tinta); line-height:1.58; }
  .apc-lp .citacao .quem{ display:flex; align-items:center; gap:13px; margin-top:auto; }
  .apc-lp .citacao .av{
    width:48px; height:48px; border-radius:50%; background:var(--lilas-2);
    display:grid; place-items:center; flex:0 0 auto;
  }
  .apc-lp .citacao .av svg{ width:22px; height:22px; fill:var(--roxo-esc); }
  .apc-lp .citacao .quem b{ font-size:1rem; color:var(--tinta); font-weight:700; }
  .apc-lp .citacao .quem span{ display:block; font-size:.88rem; color:var(--tinta-3); font-weight:500; }

  /* ---------- Faça parte ---------- */
  .apc-lp .mosaico{ display:grid; grid-template-columns:minmax(0,1.28fr) minmax(0,1fr); grid-template-rows:minmax(0,1fr) minmax(0,1fr); gap:14px; aspect-ratio:1/1; }
  .apc-lp .mosaico figure{ margin:0; border-radius:var(--r); overflow:hidden; background:var(--creme-2); min-height:0; }
  .apc-lp .mosaico img{ width:100% !important; height:100% !important; object-fit:cover !important; }
  .apc-lp .mosaico .a{ grid-row:1 / span 2; }
  .apc-lp .mosaico .a img{ object-position:30% 38%; }
  .apc-lp .mosaico .b img{ object-position:50% 32%; }
  .apc-lp .mosaico .c img{ object-position:62% 45%; }
  /* O símbolo amarelo alinha pela esquerda do texto e encosta na base do bloco. */
  .apc-lp #apc-faca-parte{ padding-bottom:0; border-bottom:1px solid var(--linha-f); }
  /* stretch + justify-content no lugar de align-items:end. Com "end" a coluna
     de texto passava ~20px do fim da seção e o rodapé cortava os pés do símbolo. */
  .apc-lp #apc-faca-parte .duas{ align-items:stretch; }
  .apc-lp #apc-faca-parte .prosa{ justify-content:flex-end; }
  .apc-lp #apc-faca-parte .mosaico{ margin-bottom:clamp(48px,6.5vw,92px); }
  .apc-lp .simbolo-fp{ width:clamp(148px,17vw,232px) !important; height:auto !important; aspect-ratio:585/493; margin-top:clamp(22px,3vw,38px); }
  @media(max-width:880px){
    .apc-lp #apc-faca-parte .mosaico{ margin-bottom:0; }
    .apc-lp .simbolo-fp{ width:clamp(132px,30vw,190px) !important; }
  }
  @media(max-width:470px){
    .apc-lp .mosaico{ grid-template-columns:minmax(0,1fr) minmax(0,1fr); grid-template-rows:minmax(0,1.35fr) minmax(0,1fr); aspect-ratio:1/.92; }
    .apc-lp .mosaico .a{ grid-column:1 / span 2; grid-row:1; }
  }
  @media(max-width:800px){
    .apc-lp #apc-faca-parte .simbolo-fp{ display:none !important; }
    .apc-lp #apc-faca-parte{ padding-bottom:clamp(56px,7.5vw,100px); }
  }

  /* ---------- Rodapé ---------- */
  .apc-lp .rodape .cols{ display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1.25fr) minmax(0,1fr); gap:34px; padding-block:clamp(48px,6vw,72px); }
  .apc-lp .col h4{ font-weight:700; font-size:.82rem; letter-spacing:.14em; text-transform:uppercase; color:var(--tinta); margin:0 0 16px; }
  .apc-lp .col .btn{ white-space:nowrap; }
  .apc-lp .col .ln{
    color:var(--tinta-2) !important; text-decoration:none !important; font-size:1rem;
    display:flex; align-items:center; gap:9px; margin-bottom:13px; transition:color .2s ease;
  }
  .apc-lp .col .ln:hover{ color:#00539D !important; text-decoration:underline !important; }
  .apc-lp .col .ln svg{ width:18px; height:18px; stroke:currentColor; }
  .apc-lp .rodape .placa{ display:block; width:fit-content; margin-bottom:20px; }
  .apc-lp .rodape .placa img{ width:clamp(228px,26vw,290px) !important; height:auto !important; aspect-ratio:800/279; }
  .apc-lp .rodape .brand p{ margin:0 0 7px; color:var(--tinta-2); font-size:.98rem; }
  .apc-lp .sociais{ display:flex; gap:12px; margin-top:10px; }
  .apc-lp .soc{
    width:46px; height:46px; border:1.5px solid var(--linha-f) !important; border-radius:50%;
    display:grid; place-items:center; color:var(--tinta-2) !important;
    transition:transform .18s ease, color .2s ease, border-color .2s ease, background-color .2s ease;
  }
  .apc-lp .soc:hover{ color:#ffffff !important; border-color:var(--tinta) !important; background:var(--tinta) !important; transform:translateY(-3px); }
  .apc-lp .soc svg{ width:21px; height:21px; }
  .apc-lp .rodape-base{
    border-top:1px solid var(--linha); padding-block:24px; display:flex; justify-content:space-between;
    align-items:center; gap:14px 26px; flex-wrap:wrap; font-size:.9rem; color:var(--tinta-3);
  }
  .apc-lp .rodape-base .legais{ display:flex; flex-wrap:wrap; gap:6px 22px; }
  .apc-lp .rodape-base .legais a{ text-decoration:underline !important; text-underline-offset:3px; }
  .apc-lp .rodape-base .legais a:hover{ color:#00539D !important; }
  .apc-lp .rodape-base .plataforma{ display:flex; align-items:center; gap:8px; }
  .apc-lp .rodape-base .doare{ height:17px !important; width:auto !important; aspect-ratio:2222/516; filter:brightness(0) opacity(.72); }
  @media(max-width:800px){ .apc-lp .rodape .cols{ grid-template-columns:minmax(0,1fr) minmax(0,1fr); } }
  @media(max-width:490px){ .apc-lp .rodape .cols{ grid-template-columns:minmax(0,1fr); } }

  /* ---------- Mobile: blocos centralizados ----------
     Pedido dela: no celular o texto do hero, da história, dos depoimentos e do
     "faça parte" fica centralizado, e as linhas incompletas de KPI param no
     meio da grade em vez de ficarem encostadas na esquerda. */
  @media(max-width:900px){
    .apc-lp .hero-copy{ align-items:center; text-align:center; }
    .apc-lp .hero .cta-row{ justify-content:center; }
    .apc-lp .selo-doacao{ justify-content:center; text-align:center; }

    .apc-lp .prosa{ align-items:center; text-align:center; }
    .apc-lp .prosa .btn{ align-self:center; }
    .apc-lp .prosa .cta-row{ justify-content:center; }
    .apc-lp .simbolo-fp{ margin-inline:auto; }

    .apc-lp .barra-topo{ justify-content:center; }
    .apc-lp .barra-topo .head{ align-items:center; text-align:center; }

    /* Cinco KPIs em três colunas: a última linha tem dois. A grade vira de
       seis colunas, cada card ocupa duas, e a linha de baixo começa na
       segunda coluna. Assim os cards mantêm a largura e a linha fica no meio. */
    .apc-lp .kpis{ grid-template-columns:repeat(6,minmax(0,1fr)); }
    .apc-lp .kpi{ grid-column:span 2; }
    .apc-lp .kpi:nth-child(4){ grid-column:2 / span 2; }
  }
  @media(max-width:540px){
    /* Duas colunas: sobra o quinto card sozinho. */
    .apc-lp .kpis{ grid-template-columns:repeat(4,minmax(0,1fr)); }
    .apc-lp .kpi:nth-child(4){ grid-column:auto / span 2; }
    .apc-lp .kpi:nth-child(5){ grid-column:2 / span 2; }
  }

  /* Rodapé no celular: uma coluna só, na ordem marca, contato, transparência. */
  @media(max-width:800px){
    .apc-lp .rodape .cols{ grid-template-columns:minmax(0,1fr); gap:34px; text-align:center; }
    .apc-lp .rodape .col{ display:flex; flex-direction:column; align-items:center; }
    .apc-lp .col .ln{ justify-content:center; overflow-wrap:anywhere; }
    .apc-lp .rodape .placa{ margin-inline:auto; }
    .apc-lp .rodape-base{ flex-direction:column; align-items:center; text-align:center; gap:14px; }
    .apc-lp .rodape-base .legais{ justify-content:center; }
  }

  /* ---------- Movimento ---------- */
  .apc-lp.is-js .rev{ opacity:0; transform:translateY(20px); transition:opacity .7s ease, transform .7s cubic-bezier(.2,.7,.2,1); transition-delay:var(--d,0ms); }
  .apc-lp.is-js .rev.in{ opacity:1; transform:none; }
  .apc-lp .cotas .cota:nth-child(2){--d:80ms}.apc-lp .cotas .cota:nth-child(3){--d:160ms}.apc-lp .cotas .cota:nth-child(4){--d:240ms}
  .apc-lp .kpis .kpi:nth-child(2){--d:70ms}.apc-lp .kpis .kpi:nth-child(3){--d:140ms}.apc-lp .kpis .kpi:nth-child(4){--d:210ms}.apc-lp .kpis .kpi:nth-child(5){--d:280ms}
  .apc-lp .cards3 .card:nth-child(2){--d:90ms}.apc-lp .cards3 .card:nth-child(3){--d:180ms}
  .apc-lp .citacoes .citacao:nth-child(2){--d:70ms}.apc-lp .citacoes .citacao:nth-child(3){--d:140ms}.apc-lp .citacoes .citacao:nth-child(4){--d:210ms}.apc-lp .citacoes .citacao:nth-child(5){--d:280ms}
  .apc-lp .hero-grid>.rev:nth-child(2){--d:110ms}
  .apc-lp .duas>.rev:nth-child(2){--d:110ms}

  .apc-lp a:focus-visible,.apc-lp .btn:focus-visible,.apc-lp .cota:focus-visible,
  .apc-lp .seta:focus-visible,.apc-lp .ponto:focus-visible,.apc-lp .soc:focus-visible,.apc-lp .video:focus-visible{
    outline:3px solid var(--roxo); outline-offset:3px;
  }
  .apc-lp .t-roxo a:focus-visible,.apc-lp .t-roxo .btn:focus-visible,.apc-lp .t-roxo .seta:focus-visible,
  .apc-lp .t-roxo .ponto:focus-visible{ outline-color:var(--amarelo-clr); }
  .apc-lp .t-rodape a:focus-visible,.apc-lp .t-rodape .btn:focus-visible,
  .apc-lp .t-rodape .soc:focus-visible{ outline-color:#4B4741; }
  @media (prefers-reduced-motion:reduce){
    .apc-lp *{ animation:none !important; transition:none !important; }
    .apc-lp.is-js .rev{ opacity:1; transform:none; }
  }
