.elementor-9088 .elementor-element.elementor-element-1324359{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}@media(min-width:768px){.elementor-9088 .elementor-element.elementor-element-1324359{--content-width:100%;}}/* Start custom CSS for html, class: .elementor-element-5848a10 *//* =============================================================
   INSTITUTO A MAMÃE NASCEU — Método AMNA
   Paleta: branco · verde claro (#B4C0A5, referência do cliente) · verde musgo
   ============================================================= */

/* ---------- 1. TOKENS ---------- */
:root{
  /* papel */
  --branco:#FFFFFF;
  --paper:#F7F9F3;
  --paper-2:#EDF2E3;

  /* verde claro — cor da referência enviada pelo cliente */
  --sage:#B4C0A5;
  --sage-2:#98A886;
  --sage-pale:#E4EADA;

  /* verde musgo — cor de marca */
  --musgo:#4A5A3B;
  --musgo-escuro:#2C3722;
  --musgo-claro:#6F8158;

  /* tinta */
  --ink:#1F241A;
  --ink-2:#4B5343;
  --ink-3:#7C8474;
  --linha:#DEE5D2;

  /* ação (só em conversão) */
  --acao:#54683E;
  --acao-escura:#3C4A2C;

  /* estrutura */
  --wrap:1180px;
  --r:18px;
  --sombra:0 18px 50px -26px rgba(31,36,26,.42);
  --display:'Newsreader',Georgia,'Times New Roman',serif;
  --body:'Instrument Sans',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --ease:cubic-bezier(.2,.75,.2,1);
}

/* ---------- 2. RESET ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink-2);
  font-family:var(--body);
  font-size:18px;
  line-height:1.68;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul,ol{margin:0;padding:0;list-style:none}
h1,h2,h3,h4,p{margin:0}
button{font:inherit}

.wrap{width:min(100% - 40px,var(--wrap));margin-inline:auto}
.wrap--estreito{width:min(100% - 40px,820px)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

:focus-visible{outline:3px solid var(--musgo);outline-offset:4px;border-radius:4px}

/* ---------- 3. TIPOGRAFIA ---------- */
h1,h2,h3{
  font-family:var(--display);
  color:var(--ink);
  font-weight:400;
  letter-spacing:-.02em;
  font-optical-sizing:auto;
}
h1{font-size:clamp(2.15rem,5.3vw,4rem);line-height:1.07;letter-spacing:-.022em;font-weight:400}
h2{font-size:clamp(30px,4.3vw,47px);line-height:1.15;letter-spacing:-.018em}
h3{font-size:1.2rem;line-height:1.3;letter-spacing:-.015em}
h1 em,h2 em,.accent{font-style:italic;font-weight:500;color:var(--musgo)}
.accent-light{font-style:italic;color:var(--sage)}
h2 em.accent-light{color:var(--sage)}

p{max-width:68ch}

.lead{font-size:1.09rem;color:var(--ink-2);margin-top:1.15rem;max-width:56ch}
.lead--2{color:var(--ink);font-weight:500}
.sub{margin-top:1rem;color:var(--ink-2);max-width:64ch}
.sub.on-dark{color:rgba(255,255,255,.74)}

/* eyebrow */
.eyebrow{
  display:flex;align-items:center;gap:12px;
  font-size:12.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:var(--musgo);margin-bottom:1.05rem;
}
.eyebrow .tra{display:block;width:26px;height:2px;background:var(--musgo);flex:none;border-radius:2px}
.eyebrow.on-dark{color:var(--sage)}
.eyebrow.on-dark .tra{background:var(--sage)}
.eyebrow--centro{justify-content:center}

/* ---------- 4. FAIXAS E SEÇÕES ---------- */
.band-paper{background:var(--paper)}
.band-branco{background:var(--branco)}
.band-soft{background:var(--paper-2)}
.band-ink{background:var(--musgo-escuro);color:rgba(255,255,255,.78)}
.band-ink h2,.band-ink h3{color:#fff}

.secao{padding:clamp(74px,9vw,122px) 0}
.secao--curta{padding:clamp(54px,6vw,78px) 0}

.cab{max-width:760px;margin-bottom:clamp(38px,4.5vw,58px)}
.cta-final .cab,.eyebrow--centro{text-align:center}

/* ---------- 5. BOTÕES ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:var(--body);font-weight:600;font-size:1rem;line-height:1.2;
  padding:1rem 1.9rem;border-radius:999px;border:1px solid transparent;
  cursor:pointer;text-align:center;
  transition:transform .25s var(--ease),background .25s,box-shadow .25s,color .25s,border-color .25s;
}
.btn svg{width:19px;height:19px;flex:none}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0)}

.btn--primary{
  background:var(--acao);color:#fff;
  box-shadow:0 14px 30px -14px rgba(84,104,62,.85);
}
.btn--primary:hover{background:var(--acao-escura);box-shadow:0 20px 40px -14px rgba(84,104,62,.9)}

.btn--ghost{background:transparent;color:var(--ink);border-color:var(--sage-2)}
.btn--ghost:hover{background:var(--sage-pale);border-color:var(--musgo)}

.btn--light{
  background:var(--branco);color:var(--musgo-escuro);
  box-shadow:0 14px 34px -16px rgba(0,0,0,.6);
}
.btn--light:hover{background:var(--sage-pale)}

.btn--lg{padding:1.12rem 2.15rem;font-size:1.03rem}
.btn--sm{padding:.72rem 1.25rem;font-size:.92rem}
.btn-linha{display:flex;flex-wrap:wrap;gap:14px;margin-top:2.1rem}

/* ---------- 6. HEADER ---------- */
.topo{
  position:sticky;top:0;z-index:60;
  background:rgba(247,249,243,.82);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  border-bottom:1px solid transparent;
  transition:border-color .3s,box-shadow .3s,background .3s;
}
.topo.scrolled{border-bottom-color:var(--linha);box-shadow:0 10px 30px -24px rgba(31,36,26,.6)}
.topo-in{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:74px}

.marca{display:flex;align-items:center;gap:11px;min-width:0}
.marca-svg{width:40px;height:40px;flex:none}
.marca-txt{display:flex;flex-direction:column;line-height:1.2;min-width:0}
.marca-txt strong{
  font-family:var(--display);font-weight:500;font-size:1.03rem;
  color:var(--ink);letter-spacing:-.02em;
}
.marca-txt small{font-size:11.5px;letter-spacing:.06em;color:var(--ink-3)}

/* ---------- 7. HERO ---------- */
.hero{position:relative;padding:clamp(52px,7vw,92px) 0 clamp(64px,8vw,104px);overflow:hidden}
.hero::before{
  content:'';position:absolute;inset:0;pointer-events:none;z-index:0;
  background:
    radial-gradient(110% 80% at 88% -8%, var(--sage-pale) 0%, transparent 58%),
    radial-gradient(80% 60% at -8% 12%, #F1F5E9 0%, transparent 50%),
    var(--branco);
}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,5vw,68px);align-items:center}

.chips{display:flex;flex-wrap:wrap;gap:9px;margin-top:2rem}
.chips li{
  font-size:11.5px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;
  color:var(--musgo);background:var(--branco);
  border:1px solid var(--linha);border-radius:999px;padding:.5rem .9rem;
}

.hero-foto{position:relative}
.foto-marco{
  border-radius:var(--r);overflow:hidden;
  box-shadow:var(--sombra);border:1px solid var(--linha);
}
.foto-marco img{border-radius:20px}
.foto-ph{
  aspect-ratio:3/4;
  background:
    repeating-linear-gradient(135deg,var(--sage-pale) 0 14px,#EDF1E5 14px 28px);
  display:flex;align-items:center;justify-content:center;
  color:var(--musgo);font-size:13px;font-weight:600;letter-spacing:.1em;text-align:center;padding:20px;
}
.foto-ph--dark{aspect-ratio:4/3;background:repeating-linear-gradient(135deg,rgba(255,255,255,.09) 0 14px,rgba(255,255,255,.045) 14px 28px);color:var(--sage)}

.selo-flut{
  position:absolute;left:-14px;bottom:26px;
  background:var(--branco);border:1px solid var(--linha);border-radius:14px;
  padding:.85rem 1.1rem;box-shadow:0 16px 40px -22px rgba(31,36,26,.6);
  display:flex;flex-direction:column;line-height:1.35;max-width:70%;
}
.selo-flut strong{font-family:var(--display);font-weight:500;color:var(--ink);font-size:1rem;letter-spacing:-.01em}
.selo-flut span{font-size:12.5px;color:var(--ink-3)}

/* ---------- 8. CARTÕES (problema) ---------- */
.grade-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:20px}
.cartao{
  background:var(--branco);border:1px solid var(--linha);border-radius:var(--r);
  padding:2rem 1.8rem;transition:transform .3s var(--ease),box-shadow .3s;
}
.cartao:hover{transform:translateY(-3px);box-shadow:var(--sombra)}
.cartao h3{margin-bottom:.55rem}
.cartao p{font-size:1rem;color:var(--ink-2)}
.ico{
  width:46px;height:46px;border-radius:12px;display:grid;place-items:center;
  background:var(--sage-pale);color:var(--musgo);margin-bottom:1.15rem;
}
.ico svg{width:23px;height:23px}

.citacao{
  margin:clamp(40px,5vw,62px) 0 0;padding:clamp(28px,4vw,44px) 0 0;
  border-top:1px solid var(--linha);
}
.citacao p{
  font-family:var(--display);font-weight:400;
  font-size:clamp(24px,3.4vw,38px);line-height:1.24;letter-spacing:-.025em;
  color:var(--ink);max-width:22ch;
}
.citacao em{font-style:italic;color:var(--musgo)}

/* ---------- 9. MALHA SEM GAP (diferenciais) ---------- */
.malha{
  display:grid;grid-template-columns:repeat(4,1fr);gap:1px;
  background:var(--linha);border:1px solid var(--linha);
  border-radius:var(--r);overflow:hidden;
}
.malha-cel{background:var(--branco);padding:2rem 1.6rem;display:flex;flex-direction:column}
.malha-num{
  font-family:var(--display);font-size:1.5rem;color:var(--sage-2);
  font-weight:500;line-height:1;margin-bottom:1rem;
}
.malha-cel h3{font-size:1.08rem;margin-bottom:.5rem}
.malha-cel p{font-size:.96rem;color:var(--ink-2)}

/* ---------- 10. ETAPAS DA JORNADA ---------- */
.etapas{display:flex;flex-direction:column;gap:22px;counter-reset:etapa}
.etapa{
  background:var(--branco);border:1px solid var(--linha);border-radius:var(--r);
  padding:clamp(26px,3.4vw,44px);
}
.etapa--destaque{border-color:var(--sage);box-shadow:var(--sombra)}
.etapa-cab{display:flex;gap:20px;align-items:flex-start;margin-bottom:1.3rem}
.etapa-num{
  font-family:var(--display);font-size:clamp(2rem,3.6vw,3rem);line-height:.9;
  color:var(--sage);font-weight:500;flex:none;
}
.tag{
  font-size:11.5px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;
  color:var(--musgo);margin-bottom:.45rem;
}
.etapa-cab h3{font-size:clamp(1.25rem,2.3vw,1.7rem);font-weight:400}
.etapa-corpo p{font-size:1.02rem;margin-bottom:.85rem}
.etapa-corpo p:last-child{margin-bottom:0}
.etapa-corpo strong{color:var(--ink);font-weight:600}
.nao{
  font-family:var(--display);font-style:italic;font-size:1.15rem;
  color:var(--musgo);border-left:2px solid var(--sage);padding-left:1rem;
}
.etapa-fecho{
  margin-top:1.4rem;padding-top:1.3rem;border-top:1px solid var(--linha);
  color:var(--ink);font-weight:500;
}

.conteudo-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr));
  gap:18px;margin:1.6rem 0 .4rem;
}
.conteudo-col{background:var(--paper);border-radius:14px;padding:1.3rem 1.4rem}
.conteudo-col h4{
  font-family:var(--body);font-size:12px;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--musgo);margin-bottom:.75rem;
}
.conteudo-col li{
  font-size:.95rem;color:var(--ink-2);padding-left:16px;position:relative;margin-bottom:.3rem;
}
.conteudo-col li::before{
  content:'';position:absolute;left:0;top:.62em;width:6px;height:6px;
  border-radius:50%;background:var(--sage);
}

.pastilhas{display:flex;flex-wrap:wrap;gap:8px;margin-top:.4rem}
.pastilhas li{
  font-size:.9rem;color:var(--musgo);background:var(--sage-pale);
  border-radius:999px;padding:.4rem .95rem;
}

.nota-meio{
  margin-top:26px;background:var(--branco);border:1px solid var(--linha);
  border-radius:var(--r);padding:1.5rem 1.8rem;
  display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
}
.nota-meio p{
  font-family:var(--display);font-size:1.12rem;line-height:1.35;
  color:var(--ink);letter-spacing:-.015em;max-width:34ch;margin:0;
}

/* ---------- 11. CURVA DO SONO (assinatura) ---------- */
.curva{margin:0 0 clamp(34px,4vw,52px)}
.curva svg{width:100%;height:clamp(150px,20vw,230px);display:block}
.curva-grade line{stroke:var(--linha);stroke-width:1;stroke-dasharray:4 6}
.curva-area{fill:var(--sage);opacity:0;transition:opacity 1.1s ease .5s}
.curva-linha{
  fill:none;stroke:var(--musgo);stroke-width:2.6;stroke-linecap:round;
  vector-effect:non-scaling-stroke;
  stroke-dasharray:1;stroke-dashoffset:1;
  transition:stroke-dashoffset 2.2s var(--ease);
}
.curva-pts circle{fill:var(--branco);stroke:var(--musgo);stroke-width:2.4;opacity:0;transition:opacity .5s ease 1.6s}
.curva.in .curva-linha{stroke-dashoffset:0}
.curva.in .curva-area{opacity:.28}
.curva.in .curva-pts circle{opacity:1}
.curva figcaption{margin-top:.9rem;font-size:12px;color:var(--ink-3);max-width:70ch}

.fases{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.fase{border-top:2px solid var(--sage);padding-top:1.15rem}
.fase-idade{
  font-family:var(--display);font-size:1.55rem;color:var(--ink);
  font-weight:500;letter-spacing:-.02em;margin-bottom:.7rem;
}
.fase-idade span{font-family:var(--body);font-size:.8rem;font-weight:600;color:var(--ink-3);letter-spacing:.06em}
.fase li{font-size:.97rem;color:var(--ink-2);padding-left:15px;position:relative;margin-bottom:.25rem}
.fase li::before{content:'';position:absolute;left:0;top:.66em;width:5px;height:5px;border-radius:50%;background:var(--musgo-claro)}

/* ---------- 12. PILARES ---------- */
.pilares{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:20px}
.pilar{background:var(--branco);border:1px solid var(--linha);border-radius:var(--r);padding:2rem 1.8rem}
.pilar-tag{
  font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--sage-2);margin-bottom:.7rem;
}
.pilar h3{margin-bottom:.5rem;font-size:1.35rem}
.pilar p{font-size:1rem}
.pilares-fecho{
  margin:clamp(30px,3.6vw,44px) auto 0;text-align:center;max-width:56ch;
  font-family:var(--display);font-size:clamp(19px,2.3vw,25px);line-height:1.35;
  color:var(--ink);letter-spacing:-.02em;
}

/* ---------- 13. MARQUEE (público) ---------- */
.marquee{
  overflow:hidden;margin-top:6px;padding:18px 0;
  border-block:1px solid var(--linha);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);
}
.marquee-in{display:flex;align-items:center;gap:22px;width:max-content;animation:desliza 42s linear infinite}
.marquee-in span{
  font-family:var(--display);font-size:clamp(19px,2.5vw,28px);
  color:var(--ink);letter-spacing:-.02em;white-space:nowrap;
}
.marquee-in i{color:var(--sage-2);font-style:normal}
@keyframes desliza{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ---------- 14. INSTITUTO (faixa escura) ---------- */
.inst-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(30px,5vw,64px);align-items:center}
.inst-txt .btn{margin-top:2rem}
.inst-foto .foto-ph{border-radius:var(--r);border:1px solid rgba(255,255,255,.14)}
.inst-foto img{border-radius:20px !important}


.numeros{
  display:grid;grid-template-columns:repeat(4,1fr);
  margin-top:clamp(48px,6vw,76px);
  border-top:1px solid rgba(255,255,255,.14);
  padding-top:clamp(30px,3.6vw,44px);
}
.num{padding:0 22px;border-right:1px solid rgba(255,255,255,.12)}
.num:first-child{padding-left:0}
.num:last-child{border-right:0}
.num strong{
  display:block;font-family:var(--display);font-weight:400;
  font-size:clamp(2.4rem,4.4vw,3.4rem);line-height:1;color:#fff;letter-spacing:-.03em;
}
.num span{display:block;margin-top:.6rem;font-size:.92rem;color:rgba(255,255,255,.62);max-width:22ch}
.num-txt{
  font-size:clamp(1.55rem,2.5vw,2.05rem);line-height:1.14;letter-spacing:-.02em;
}
.num-txt span{display:block;font-size:.86em;color:rgba(255,255,255,.86)}
.fonte{margin-top:1.4rem;font-size:12px;color:rgba(255,255,255,.4)}

/* ---------- 15. FAQ ---------- */
.faq{border-top:1px solid var(--linha)}
.faq details{border-bottom:1px solid var(--linha)}
.faq summary{
  list-style:none;cursor:pointer;padding:1.35rem 44px 1.35rem 0;position:relative;
  font-family:var(--display);font-size:1.13rem;color:var(--ink);
  letter-spacing:-.015em;line-height:1.35;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
  content:'';position:absolute;right:8px;top:50%;width:11px;height:11px;
  border-right:2px solid var(--musgo);border-bottom:2px solid var(--musgo);
  transform:translateY(-70%) rotate(45deg);transition:transform .3s var(--ease);
}
.faq details[open] summary::after{transform:translateY(-25%) rotate(-135deg)}
.faq summary:hover{color:var(--musgo)}
.faq-corpo{padding:0 44px 1.5rem 0}
.faq-corpo p{font-size:1rem;color:var(--ink-2)}

/* ---------- 16. CTA FINAL ---------- */
.cta-final{text-align:center}
.cta-final h2{margin-inline:auto;max-width:20ch}
.cta-final .sub{margin-inline:auto;margin-bottom:2.1rem}
.cta-nota{margin:1.1rem auto 0;font-size:13px;color:var(--ink-3)}
.cta-final p{margin-inline:auto}

/* ---------- 17. RODAPÉ ---------- */
.rodape{background:var(--musgo-escuro);color:rgba(255,255,255,.66);padding:clamp(54px,6vw,76px) 0 34px}
.rodape-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:34px}
.marca--rodape .marca-txt strong{color:#fff}
.marca--rodape .marca-txt small{color:rgba(255,255,255,.5)}
.rodape-p{margin-top:1.1rem;font-size:.95rem;max-width:42ch}
.rodape h3{font-family:var(--body);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--sage);margin-bottom:1rem}
.rodape-lista li{font-size:.95rem;margin-bottom:.4rem}
.rodape-link{display:inline-flex;align-items:center;gap:9px;color:#fff;font-weight:600;transition:color .25s}
.rodape-link svg{width:19px;height:19px}
.rodape-link:hover{color:var(--sage)}
.rodape-link{max-width:100%}
.rodape-link span{overflow-wrap:anywhere;min-width:0}
.rodape-fim{margin-top:clamp(38px,4.5vw,56px);padding-top:26px;border-top:1px solid rgba(255,255,255,.12)}
.rodape-fim p{font-size:12.5px;color:rgba(255,255,255,.45);max-width:none}
.disclaimer{margin-top:.6rem;max-width:78ch}

/* ---------- 18. BOTÃO FLUTUANTE ---------- */
.fab{
  position:fixed;right:18px;bottom:18px;z-index:70;
  display:inline-flex;align-items:center;gap:0;
  background:var(--acao);color:#fff;border-radius:999px;
  padding:15px;box-shadow:0 16px 34px -14px rgba(60,74,44,.9);
  transition:background .25s,transform .25s var(--ease),box-shadow .25s;
}
.fab svg{width:26px;height:26px;flex:none}
.fab-txt{
  max-width:0;overflow:hidden;white-space:nowrap;
  font-size:.95rem;font-weight:600;
  transition:max-width .4s var(--ease),margin .4s var(--ease);
}
.fab:hover,.fab:focus-visible{background:var(--acao-escura);transform:translateY(-2px)}
.fab:hover .fab-txt,.fab:focus-visible .fab-txt{max-width:210px;margin-left:10px;margin-right:6px}
.fab::before{
  content:'';position:absolute;inset:0;border-radius:999px;
  border:2px solid var(--acao);animation:anel 2.6s var(--ease) infinite;pointer-events:none;
}
@keyframes anel{
  0%{transform:scale(1);opacity:.55}
  70%,100%{transform:scale(1.35);opacity:0}
}

/* ---------- 19. REVEAL ---------- */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .6s ease,transform .6s cubic-bezier(.19,1,.22,1)}
.reveal.in{opacity:1;transform:none}
.grade-3 .cartao:nth-child(2),.pilares .pilar:nth-child(2),.fases .fase:nth-child(2){transition-delay:.09s}
.grade-3 .cartao:nth-child(3),.pilares .pilar:nth-child(3),.fases .fase:nth-child(3){transition-delay:.18s}
.fases .fase:nth-child(4){transition-delay:.27s}

/* ---------- 20. RESPONSIVO ---------- */
@media (max-width:1000px){
  .malha{grid-template-columns:repeat(2,1fr)}
  .fases{grid-template-columns:repeat(2,1fr);gap:26px}
}
@media (max-width:900px){
  .hero-grid,.inst-grid{grid-template-columns:1fr}
  .hero-foto{order:-1;max-width:440px}
  .foto-ph{aspect-ratio:4/3}
  .selo-flut{left:auto;right:0;bottom:-18px}
  .numeros{grid-template-columns:repeat(2,1fr);gap:26px 0}
  .num{padding-left:22px}
  .num:first-child,.num:nth-child(3){padding-left:0}
  .num:nth-child(2){border-right:0}
  .rodape-grid{grid-template-columns:1fr 1fr}
  .etapa-cab{gap:14px}
}
@media (max-width:560px){
  body{font-size:17px}
  .wrap,.wrap--estreito{width:min(100% - 32px,var(--wrap))}
  .malha,.fases,.rodape-grid{grid-template-columns:1fr}
  .btn-linha{flex-direction:column;align-items:stretch}
  .btn-linha .btn{width:100%}
  .topo-cta-txt{display:none}
  .topo-cta{padding:.72rem .8rem;border-radius:999px}
  .numeros{grid-template-columns:1fr;gap:24px}
  .num{border-right:0;padding-left:0;border-bottom:1px solid rgba(255,255,255,.12);padding-bottom:22px}
  .num:last-child{border-bottom:0;padding-bottom:0}
  .num span{max-width:none}
  .selo-flut{position:static;margin-top:14px;max-width:none}
  .citacao p{max-width:none}
  .cta-final .btn{width:100%}
  .nota-meio{flex-direction:column;align-items:stretch;text-align:center;padding:1.4rem}
  .nota-meio p{max-width:none}
  .nota-meio .btn{width:100%}
  .fab{right:14px;bottom:14px;padding:14px}
}
@media (max-width:400px){
  .marca-txt strong{font-size:.94rem}
  .marca-txt small{font-size:10.5px}
  .marca-svg{width:34px;height:34px}
  .etapa-cab{flex-direction:column;gap:6px}
  .pastilhas li{font-size:.85rem}
  .faq summary{font-size:1.04rem;padding-right:34px}
}

/* ---------- 21. MOVIMENTO REDUZIDO ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.001ms !important;animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
  }
  .reveal{opacity:1;transform:none}
  .curva-linha{stroke-dashoffset:0}
  .curva-area{opacity:.28}
  .curva-pts circle{opacity:1}
  .marquee-in{animation:none}
  .fab::before{display:none}
}

/* ---------- 22. ANTI-ESTOURO ---------- */
html{overflow-x:clip}
body{overflow-wrap:break-word}
h1,h2,h3,h4,p,li,summary,blockquote{word-break:break-word;hyphens:auto}
.grade-3,.pilares,.conteudo-grid{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr))}
.hero-grid>*,.inst-grid>*,.topo-in>*,.etapa-cab>*,.rodape-grid>*{min-width:0}
.btn{max-width:100%;white-space:normal}/* End custom CSS */