.elementor-10517 .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;}.elementor-10517 .elementor-element.elementor-element-1324359.e-con{--flex-grow:0;--flex-shrink:0;}@media(min-width:768px){.elementor-10517 .elementor-element.elementor-element-1324359{--width:100%;}}/* Start custom CSS for html, class: .elementor-element-5848a10 *//* ============================================================
   TOKENS
   ============================================================ */
:root{
  /* papel */
  --paper:#FFFCF6;
  --paper-2:#FFFFFF;
  --creme:#FFF6E6;
  --ceu:#E9F1FE;
  --menta:#E7F6EC;
  --lavanda:#F1ECFB;
  --pessego:#FDEDE6;

  /* tinta */
  --ink:#152449;
  --ink-2:#3E4E77;
  --ink-3:#7482A3;

  /* marca */
  --azul:#2A5CC7;
  --azul-vivo:#3D7BEF;
  --azul-escuro:#16357E;

  /* cores do quebra-cabeça, agora protagonistas */
  --sol:#F5A623;
  --sol-escuro:#C77E10;
  --coral:#EF6B45;
  --coral-escuro:#C94A28;
  --folha:#4FAE58;
  --folha-escuro:#37853F;
  --lilas:#8A6DD4;
  --lilas-escuro:#6A4CB5;

  /* ação */
  --wa:#1FA855;
  --wa-escuro:#15803C;

  --line:#E7E1D4;
  --line-2:#D6CEBC;

  --wrap:1180px;
  --r:24px;
  --r-sm:14px;
  --r-lg:34px;
  --sombra:0 24px 54px -30px rgba(21,36,73,.42);
  --sombra-sm:0 12px 28px -18px rgba(21,36,73,.35);
  --sombra-cor:0 18px 40px -22px rgba(42,92,199,.55);

  --display:'Newsreader', Georgia, serif;
  --body:'Figtree', system-ui, -apple-system, sans-serif;
  --ease:cubic-bezier(.19,1,.22,1);
}

/* ============================================================
   BASE
   ============================================================ */
*{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}

h1, h2, h3, h4, h5, h6, p {
  hyphens: none !important;
  word-break: keep-all !important;
  overflow-wrap: break-word !important;
}


h1,h2,h3,h4{font-family:var(--display); color:var(--ink); font-weight:500; letter-spacing:-.022em; margin:0; }
h1{font-size:clamp(2.05rem, 4.8vw, 3.5rem); line-height:1.09; letter-spacing:-.03em}
h2{font-size:clamp(30px, 4.3vw, 46px); line-height:1.14}
h3{font-size:1.2rem; line-height:1.32; letter-spacing:-.015em}
p{margin:0 0 1.05em}
p:last-child{margin-bottom:0}

em,.accent{font-style:italic; color:var(--azul)}
.accent-sol{font-style:italic; color:var(--sol-escuro)}
.accent-light{font-style:italic; color:#FFD48A}

.wrap{width:min(100% - 44px, var(--wrap)); margin-inline:auto}
.sec{padding:clamp(60px, 7.5vw, 104px) 0; position:relative}
.band-paper{background:var(--paper)}
.band-white{background:var(--paper-2)}
.band-creme{background:var(--creme)}
.band-ceu{background:var(--ceu)}
.band-menta{background:var(--menta)}
.band-lavanda{background:var(--lavanda)}
.band-blue{background:linear-gradient(150deg,#16357E 0%,#2A5CC7 62%,#3D7BEF 100%); color:rgba(255,255,255,.82)}
.band-blue h2,.band-blue h3{color:#fff}

.lead{font-size:1.115rem; color:var(--ink-2); max-width:62ch;}
.narrow{max-width:66ch}
.center{text-align:center; margin-inline:auto}

/* eyebrow colorido */
.eyebrow{
  display:inline-flex; align-items:center; gap:9px;
  font-size:12.5px; font-weight:800; letter-spacing:.17em; text-transform:uppercase;
  color:var(--azul); background:rgba(42,92,199,.1);
  border-radius:999px; padding:7px 15px 7px 12px; margin-bottom:18px;
}
.eyebrow::before{content:''; width:9px; height:9px; border-radius:50%; background:var(--azul); flex:none; animation:beat 2.4s ease-in-out infinite}
.eyebrow.sol{color:var(--sol-escuro); background:rgba(245,166,35,.16)} .eyebrow.sol::before{background:var(--sol)}
.eyebrow.coral{color:var(--coral-escuro); background:rgba(239,107,69,.14)} .eyebrow.coral::before{background:var(--coral)}
.eyebrow.folha{color:var(--folha-escuro); background:rgba(79,174,88,.15)} .eyebrow.folha::before{background:var(--folha)}
.eyebrow.lilas{color:var(--lilas-escuro); background:rgba(138,109,212,.15)} .eyebrow.lilas::before{background:var(--lilas)}
.eyebrow.on-dark{color:#fff; background:rgba(255,255,255,.16)} .eyebrow.on-dark::before{background:var(--sol)}
@keyframes beat{0%,100%{transform:scale(1); opacity:1} 50%{transform:scale(.58); opacity:.5}}

.fonte{font-size:12px; line-height:1.5; color:var(--ink-3); margin-top:10px}
.band-blue .fonte{color:rgba(255,255,255,.5)}

/* ============================================================
   BOTÕES
   ============================================================ */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  font-family:var(--body); font-weight:800; font-size:1rem; line-height:1.2;
  padding:1.05rem 1.9rem; border-radius:999px; border:2px solid transparent;
  cursor:pointer; text-decoration:none; text-align:center; max-width:100%; white-space:normal;
  transition:transform .25s var(--ease), background .25s, box-shadow .25s, color .25s, border-color .25s;
}
.btn svg{width:20px; height:20px; flex:none}
.btn--primary{background:var(--wa); color:#fff; box-shadow:0 16px 34px -14px rgba(31,168,85,.9)}
.btn--primary:hover{background:var(--wa-escuro); transform:translateY(-3px); box-shadow:0 22px 44px -14px rgba(31,168,85,.95)}
.btn--sol{background:var(--sol); color:#3B2A05; box-shadow:0 16px 34px -14px rgba(245,166,35,.85)}
.btn--sol:hover{background:#E39612; transform:translateY(-3px)}
.btn--ghost{background:transparent; color:var(--azul); border-color:rgba(42,92,199,.35)}
.btn--ghost:hover{background:rgba(42,92,199,.08); border-color:var(--azul); transform:translateY(-3px)}
.btn--light{background:#fff; color:var(--ink); box-shadow:0 18px 40px -16px rgba(0,0,0,.55)}
.btn--light:hover{transform:translateY(-3px)}
.btn--lg{padding:1.2rem 2.3rem; font-size:1.06rem}
.btn--sm{padding:.72rem 1.3rem; font-size:.93rem}
.btn:active{transform:translateY(0)}
:focus-visible{outline:3px solid var(--azul); outline-offset:3px; border-radius:6px}

/* ============================================================
   PROGRESSO + HEADER
   ============================================================ */
#progresso{position:fixed; top:0; left:0; height:4px; width:0; z-index:120;
  background:linear-gradient(90deg,var(--coral),var(--sol),var(--folha),var(--azul)); transition:width .1s linear}
.hdr{position:sticky; top:0; z-index:100; background:rgba(255,252,246,.85);
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  border-bottom:2px solid transparent; transition:border-color .3s, box-shadow .3s}
.hdr.stuck{border-bottom-color:rgba(42,92,199,.14); box-shadow:0 10px 28px -22px rgba(21,36,73,.8)}
.hdr-in{display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 0; min-width:0}
.marca{display:flex; align-items:center; gap:11px; text-decoration:none; min-width:0}
.marca svg{width:36px; height:32px; flex:none}
.marca-nome{font-family:var(--display); font-size:1.16rem; font-weight:600; color:var(--ink); letter-spacing:-.02em; line-height:1.1; display:block}
.marca-sub{font-size:10.5px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; color:var(--azul); display:block; margin-top:2px}
.logo-img{width:3em; height:auto}

/* ============================================================
   HERO
   ============================================================ */
.hero{position:relative; overflow:hidden; padding:clamp(44px,5.5vw,76px) 0 clamp(56px,6.5vw,88px)}
.hero::before{content:''; position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(90% 70% at 88% -15%, #DCE9FE 0%, transparent 58%),
    radial-gradient(70% 60% at -8% 8%,  #FFEFD1 0%, transparent 52%),
    radial-gradient(60% 55% at 20% 108%, #E4F6E9 0%, transparent 55%);
}
.hero-grid{position:relative; display:grid; grid-template-columns:1.06fr .94fr; gap:clamp(30px,4.2vw,58px); align-items:center}
.hero-grid > *{min-width:0}

/* selo de anos */
.selo-anos{
  display:inline-flex; align-items:center; gap:12px; margin-bottom:20px;
  background:#fff; border:2px solid rgba(42,92,199,.16); border-radius:999px;
  padding:8px 20px 8px 9px; box-shadow:var(--sombra-sm);
}
.selo-anos b{
  width:46px; height:46px; flex:none; border-radius:50%;
  background:linear-gradient(140deg,var(--sol),var(--coral)); color:#fff;
  display:grid; place-items:center; font-family:var(--display); font-size:1.02rem; letter-spacing:-.03em;
}
.selo-anos span{font-size:13.5px; font-weight:700; color:var(--ink); line-height:1.35}
.selo-anos small{display:block; font-weight:500; font-size:12.5px; color:var(--ink-3)}

.hero h1 .risca{background:linear-gradient(transparent 60%, rgba(245,166,35,.45) 60%); padding:0 2px}
.hero .lead{margin-top:20px; font-size:1.14rem}
.hero-ctas{display:flex; flex-wrap:wrap; gap:12px; margin-top:30px}
.hero-micro{font-size:13.5px; color:var(--ink-3); margin-top:14px; display:flex; align-items:center; gap:8px}
.hero-micro svg{width:16px; height:16px; stroke:var(--folha); fill:none; stroke-width:2.6; flex:none}

/* mídia do hero */
.hero-media{position:relative}
.hero-foto{
  border-radius:var(--r-lg); overflow:hidden; aspect-ratio:4/5.4;
  background:linear-gradient(150deg,#DCE9FE,#FFEFD1 55%,#E4F6E9);
  border:3px solid #fff; box-shadow:var(--sombra);
  display:grid; place-items:center; text-align:center; padding:28px;
  font-size:12.5px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-3);
}
.flut{
  position:absolute; background:#fff; border-radius:18px; padding:13px 17px;
  box-shadow:var(--sombra); display:flex; align-items:center; gap:11px;
  font-size:13px; font-weight:700; color:var(--ink); line-height:1.3; max-width:220px;
}
.flut i{width:34px; height:34px; border-radius:11px; flex:none; display:grid; place-items:center; font-style:normal}
.flut i svg{width:17px; height:17px; stroke:#fff; fill:none; stroke-width:2.6; stroke-linecap:round; stroke-linejoin:round}
.flut small{display:block; font-weight:500; font-size:11.5px; color:var(--ink-3)}
.flut--1{top:8%; left:-20px; animation:float 5.5s ease-in-out infinite}
.flut--1 i{background:var(--folha)}
.flut--2{bottom:16%; right:-18px; animation:float 6.5s ease-in-out infinite .8s}
.flut--2 i{background:var(--lilas)}
.flut--3{bottom:-14px; left:8%; animation:float 6s ease-in-out infinite .4s}
.flut--3 i{background:var(--coral)}
@keyframes float{0%,100%{transform:translateY(0)} 50%{transform:translateY(-11px)}}

/* peças de quebra-cabeça decorativas */
.peca{position:absolute; pointer-events:none; opacity:.5}
.peca svg{width:100%; height:100%; display:block}
.peca--a{width:70px; height:70px; top:6%; right:6%; animation:gira 16s linear infinite}
.peca--b{width:46px; height:46px; bottom:12%; left:3%; animation:gira 22s linear infinite reverse}
.peca--c{width:34px; height:34px; top:44%; left:46%; opacity:.32; animation:float 7s ease-in-out infinite}
@keyframes gira{from{transform:rotate(0)} to{transform:rotate(360deg)}}

/* ============================================================
   RESUMO RÁPIDO
   ============================================================ */
.resumo{background:var(--paper-2); border-top:1px solid var(--line); border-bottom:1px solid var(--line)}
.resumo-in{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0}
.res{display:flex; align-items:center; gap:14px; padding:26px 24px; border-right:1px solid var(--line); min-width:0}
.res:last-child{border-right:0}
.res i{width:44px; height:44px; border-radius:14px; flex:none; display:grid; place-items:center; font-style:normal}
.res i svg{width:21px; height:21px; stroke:#fff; fill:none; stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round}
.res:nth-child(1) i{background:var(--azul)} .res:nth-child(2) i{background:var(--sol)}
.res:nth-child(3) i{background:var(--folha)} .res:nth-child(4) i{background:var(--lilas)}
.res b{display:block; font-size:.98rem; color:var(--ink); font-weight:800; line-height:1.25}
.res span{display:block; font-size:12.5px; color:var(--ink-3); margin-top:3px; line-height:1.4}

/* ============================================================
   BLOCOS COMPACTOS / ESPAÇO
   ============================================================ */
.sec--compacta{padding:clamp(48px, 5.6vw, 78px) 0}

.esp-bullets{display:grid; grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr)); gap:14px; margin-top:30px}
.esp-bullets > *{min-width:0}
.esp{display:flex; gap:11px; align-items:flex-start; background:#fff;
  border-radius:var(--r-sm); padding:16px 18px; font-size:.93rem; line-height:1.5; color:var(--ink-2);
  box-shadow:var(--sombra-sm)}
.esp svg{width:19px; height:19px; flex:none; margin-top:3px; stroke:var(--folha); fill:none; stroke-width:2.8; stroke-linecap:round; stroke-linejoin:round}
.esp b{color:var(--ink)}
.esp-fim{margin-top:34px; padding-top:28px; border-top:2px dashed rgba(21,36,73,.14)}
.esp-fim > p{font-size:1rem; color:var(--ink-2); margin:0}
.esp-fim .tags{margin-top:16px}

/* ============================================================
   GAUGES
   ============================================================ */
.gauges{display:grid; grid-template-columns:repeat(auto-fit,minmax(min(265px,100%),1fr)); gap:22px; margin-top:46px}
.gauges > *{min-width:0}
.gcard{background:var(--paper-2); border-radius:var(--r); padding:32px 26px; text-align:center; box-shadow:var(--sombra-sm)}
.gauge{position:relative; width:140px; height:140px; margin:0 auto 18px}
.gauge svg{width:100%; height:100%; transform:rotate(-90deg)}
.gauge .track{fill:none; stroke:#EFEADE; stroke-width:11}
.gauge .val{fill:none; stroke:var(--folha); stroke-width:11; stroke-linecap:round;
  stroke-dasharray:339.29; stroke-dashoffset:339.29; transition:stroke-dashoffset 1.6s var(--ease)}
.gcard:nth-child(2) .gauge .val{stroke:var(--lilas)}
.gcard:nth-child(3) .gauge .val{stroke:var(--coral)}
.reveal.in .gauge .val{stroke-dashoffset:var(--off)}
.gauge-n{position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  font-family:var(--display); font-size:1.95rem; color:var(--ink); letter-spacing:-.03em}
.gcard h3{font-size:1.08rem; margin-bottom:8px}
.gcard p{font-size:.95rem; line-height:1.58}

/* ============================================================
   DOMÍNIOS + RADAR
   ============================================================ */
.dom-split{display:grid; grid-template-columns:.92fr 1.08fr; gap:clamp(28px,4vw,54px); align-items:center; margin-top:46px}
.dom-split > *{min-width:0}
.radar-card{background:var(--paper-2); border-radius:var(--r-lg); padding:26px 20px 18px; box-shadow:var(--sombra)}
.radar-card h3{font-size:1rem; font-family:var(--body); font-weight:800; text-align:center}
.radar-card .rc-sub{font-size:13px; color:var(--ink-3); text-align:center; margin-top:4px; line-height:1.5}
.radar{width:100%; height:auto; display:block; margin-top:4px}
.radar .ring{fill:none; stroke:#EAE4D6; stroke-width:1}
.radar .axis{stroke:#DCD4C2; stroke-width:1}
.radar .lbl{font-family:var(--body); font-size:11.5px; font-weight:800; fill:var(--ink-2); letter-spacing:.04em; text-transform:uppercase}
.radar .poly{fill:rgba(61,123,239,.18); stroke:var(--azul-vivo); stroke-width:3; stroke-linejoin:round;
  transform:scale(.06); transform-origin:200px 155px; opacity:0;
  transition:transform 1.5s var(--ease), opacity .7s ease}
.radar .dot{opacity:0; transition:opacity .5s ease .9s}
.reveal.in .radar .poly{transform:scale(1); opacity:1}
.reveal.in .radar .dot{opacity:1}
.radar-nota{font-size:11.5px; color:var(--ink-3); text-align:center; border-top:1px solid var(--line); padding-top:12px; margin-top:4px; line-height:1.5}

.dom-lista{display:grid; grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr)); gap:14px}
.dom-lista > *{min-width:0}
.dom{background:var(--paper-2); border-radius:var(--r-sm); padding:20px 20px; box-shadow:var(--sombra-sm)}
.dom-ic{width:38px; height:38px; border-radius:12px; display:grid; place-items:center; margin-bottom:12px}
.dom-ic svg{width:19px; height:19px; stroke:#fff; fill:none; stroke-width:2.1; stroke-linecap:round; stroke-linejoin:round}
.dom:nth-child(1) .dom-ic{background:var(--azul-vivo)}
.dom:nth-child(2) .dom-ic{background:var(--sol)}
.dom:nth-child(3) .dom-ic{background:var(--coral)}
.dom:nth-child(4) .dom-ic{background:var(--folha)}
.dom:nth-child(5) .dom-ic{background:var(--lilas)}
.dom:nth-child(6) .dom-ic{background:var(--azul-escuro)}
.dom h3{font-size:1rem; margin-bottom:6px}
.dom p{font-size:.9rem; line-height:1.55; margin:0}

/* ============================================================
   CHECKLIST
   ============================================================ */
.check-box{background:var(--paper-2); border-radius:var(--r-lg); padding:clamp(24px,3.4vw,42px); box-shadow:var(--sombra); margin-top:42px}
.check-list{display:grid; grid-template-columns:repeat(auto-fit,minmax(min(305px,100%),1fr)); gap:10px 18px; margin:0; padding:0; list-style:none}
.check-list > *{min-width:0}
.ck{position:relative; display:block}
.ck input{position:absolute; opacity:0; width:0; height:0}
.ck label{display:flex; align-items:flex-start; gap:13px; padding:13px 15px; min-height:44px;
  border:2px solid var(--line); border-radius:var(--r-sm); cursor:pointer;
  font-size:.97rem; line-height:1.45; color:var(--ink-2); transition:border-color .2s, background .2s}
.ck label:hover{border-color:var(--azul-vivo); background:rgba(61,123,239,.04)}
.ck .box{width:22px; height:22px; flex:none; margin-top:1px; border:2px solid var(--line-2); border-radius:7px;
  display:grid; place-items:center; transition:background .2s, border-color .2s}
.ck .box svg{width:12px; height:12px; stroke:#fff; stroke-width:3.3; fill:none; stroke-linecap:round; stroke-linejoin:round; opacity:0; transition:opacity .18s}
.ck input:checked ~ label{border-color:var(--azul-vivo); background:rgba(61,123,239,.09)}
.ck input:checked ~ label .box{background:var(--azul-vivo); border-color:var(--azul-vivo)}
.ck input:checked ~ label .box svg{opacity:1}
.ck input:focus-visible ~ label{outline:3px solid var(--azul); outline-offset:3px}

.check-res{margin-top:28px; padding-top:26px; border-top:2px dashed var(--line); display:flex; align-items:center; gap:22px; flex-wrap:wrap}
.check-med{display:flex; align-items:center; gap:16px; min-width:0}
.check-cnt{width:66px; height:66px; flex:none; border-radius:50%; display:grid; place-items:center;
  font-family:var(--display); font-size:1.7rem; color:#fff; background:var(--ink-3); transition:background .35s var(--ease)}
.check-cnt.n1{background:var(--folha)} .check-cnt.n2{background:var(--sol)} .check-cnt.n3{background:var(--coral)}
.check-msg{font-size:1rem; line-height:1.5; color:var(--ink); font-weight:700; min-width:0}
.check-msg small{display:block; font-weight:400; font-size:13px; color:var(--ink-3); margin-top:4px; line-height:1.45}
.check-res .btn{margin-left:auto}

/* ============================================================
   ETAPAS
   ============================================================ */
.etapas{display:grid; gap:14px; margin-top:46px}
.etapa{display:grid; grid-template-columns:64px 1fr; gap:22px; align-items:start;
  background:var(--paper-2); border-radius:var(--r); padding:26px 26px; box-shadow:var(--sombra-sm)}
.etapa > *{min-width:0}
.etapa .n{width:52px; height:52px; border-radius:18px; display:grid; place-items:center;
  font-family:var(--display); font-size:1.4rem; color:#fff; letter-spacing:-.03em}
.etapa:nth-child(1) .n{background:var(--azul-vivo)}
.etapa:nth-child(2) .n{background:var(--sol)}
.etapa:nth-child(3) .n{background:var(--coral)}
.etapa:nth-child(4) .n{background:var(--lilas)}
.etapa:nth-child(5) .n{background:var(--folha)}
.etapa h3{margin-bottom:7px}
.etapa p{font-size:1rem; margin:0}
.etapa .tag{display:inline-block; margin-top:11px; font-size:11px; font-weight:800; letter-spacing:.11em;
  text-transform:uppercase; color:var(--ink-3); background:var(--creme); border-radius:999px; padding:5px 13px}

/* ============================================================
   TERAPIAS / ESTRUTURA
   ============================================================ */
.tags{display:flex; flex-wrap:wrap; gap:9px; margin-top:30px}
.tag-i{
  display:inline-flex; align-items:center; gap:8px;
  background:#fff; border:2px solid var(--azul-vivo); border-radius:999px;
  padding:8px 16px; font-size:.92rem; font-weight:700; color:var(--ink);
  box-shadow:var(--sombra-sm);
}
.tag-i::before{content:''; width:8px; height:8px; border-radius:50%; background:var(--azul-vivo); flex:none}
.tag-i:nth-child(5n+2){border-color:var(--sol)} .tag-i:nth-child(5n+2)::before{background:var(--sol)}
.tag-i:nth-child(5n+3){border-color:var(--coral)} .tag-i:nth-child(5n+3)::before{background:var(--coral)}
.tag-i:nth-child(5n+4){border-color:var(--folha)} .tag-i:nth-child(5n+4)::before{background:var(--folha)}
.tag-i:nth-child(5n+5){border-color:var(--lilas)} .tag-i:nth-child(5n+5)::before{background:var(--lilas)}

.split{display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,4.2vw,58px); align-items:center}
.split > *{min-width:0}
.foto{border-radius:var(--r-lg); overflow:hidden; background:linear-gradient(150deg,var(--ceu),var(--creme));
  border:3px solid #fff; box-shadow:var(--sombra); aspect-ratio:4/3;
  display:grid; place-items:center; text-align:center; padding:24px;
  font-size:12.5px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-3)}
.foto--retrato{aspect-ratio:4/6; background:linear-gradient(150deg,var(--menta),var(--lavanda))}
.lista{list-style:none; margin:26px 0 0; padding:0; display:grid; gap:13px}
.lista li{display:flex; gap:13px; align-items:flex-start; font-size:1rem; line-height:1.55}
.lista svg{width:22px; height:22px; flex:none; margin-top:2px; stroke:var(--folha); fill:none; stroke-width:2.6; stroke-linecap:round; stroke-linejoin:round}


/* sobre */
.sobre-cred{display:grid; grid-template-columns:repeat(auto-fit,minmax(min(138px,100%),1fr)); gap:13px; margin-top:30px}
.sobre-cred > *{min-width:0}
.cred{border-radius:var(--r-sm); padding:19px 16px; background:var(--ceu)}
.cred:nth-child(2){background:var(--creme)} .cred:nth-child(3){background:var(--pessego)} .cred:nth-child(4){background:var(--menta)}
.cred b{display:block; font-family:var(--display); font-size:1.7rem; color:var(--ink); line-height:1; letter-spacing:-.03em}
.cred span{display:block; font-size:12.5px; color:var(--ink-2); margin-top:7px; line-height:1.4}

/* ============================================================
   GALERIA (carrossel de 4 em 4)
   ============================================================ */
.gal{position:relative; margin-top:42px}
.gal-track{
  display:grid; grid-auto-flow:column;
  grid-auto-columns:calc((100% - 48px) / 4);
  gap:16px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth;
  padding:4px 4px 10px; margin:-4px -4px 0;
  scrollbar-width:none; -ms-overflow-style:none;
}
.gal-track::-webkit-scrollbar{display:none}
.gal-item{
  scroll-snap-align:start; aspect-ratio:4/5; min-width:0;
  border-radius:var(--r); overflow:hidden; border:3px solid #fff;
  box-shadow:var(--sombra-sm); background:linear-gradient(150deg,var(--ceu),var(--creme));
  display:grid; place-items:center; text-align:center; padding:18px;
  font-size:11px; font-weight:800; letter-spacing:.07em; text-transform:uppercase;
  color:var(--ink-3); line-height:1.5;
  transition:transform .3s var(--ease), box-shadow .3s;
}
.gal-item img{
  scroll-snap-align:start; aspect-ratio:4/5; min-width:0; border-radius:var(--r)
}
.gal-item:nth-child(4n+2){background:linear-gradient(150deg,var(--menta),var(--ceu))}
.gal-item:nth-child(4n+3){background:linear-gradient(150deg,var(--pessego),var(--creme))}
.gal-item:nth-child(4n+4){background:linear-gradient(150deg,var(--lavanda),var(--ceu))}
.gal-item img{width:100%; height:100%; object-fit:cover}
.gal-item:hover{transform:translateY(-5px); box-shadow:var(--sombra)}

.gal-nav{
  position:absolute; top:50%; margin-top:-24px; z-index:3;
  width:48px; height:48px; border-radius:50%; border:2px solid var(--line);
  background:#fff; color:var(--azul); cursor:pointer;
  display:grid; place-items:center; box-shadow:var(--sombra-sm);
  transition:transform .25s var(--ease), opacity .25s, background .25s, border-color .25s;
}
.gal-nav svg{width:20px; height:20px; stroke:currentColor; fill:none; stroke-width:2.6; stroke-linecap:round; stroke-linejoin:round}
.gal-nav:hover{background:var(--azul-vivo); color:#fff; border-color:var(--azul-vivo); transform:scale(1.08)}
.gal-nav--prev{left:-22px}
.gal-nav--next{right:-22px}
.gal-nav[disabled]{opacity:.32; cursor:default; pointer-events:none}
.gal-dica{font-size:12.5px; color:var(--ink-3); margin-top:14px; text-align:center}

/* ============================================================
   FAQ
   ============================================================ */
.faq{max-width:850px; margin:44px auto 0; display:grid; gap:12px}
.faq details{background:var(--paper-2); border-radius:var(--r-sm); box-shadow:var(--sombra-sm); border-left:5px solid var(--azul-vivo)}
.faq details:nth-child(4n+2){border-left-color:var(--sol)}
.faq details:nth-child(4n+3){border-left-color:var(--coral)}
.faq details:nth-child(4n+4){border-left-color:var(--folha)}
.faq summary{list-style:none; cursor:pointer; padding:22px 52px 22px 24px; position:relative;
  font-family:var(--display); font-size:clamp(1.04rem,2vw,1.2rem); color:var(--ink); line-height:1.35; letter-spacing:-.015em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:''; position:absolute; right:24px; top:50%; width:12px; height:12px; margin-top:-9px;
  border-right:2.5px solid var(--azul); border-bottom:2.5px solid var(--azul); transform:rotate(45deg); transition:transform .3s var(--ease)}
.faq details[open] summary::after{transform:rotate(-135deg); margin-top:-4px}
.faq .resp{padding:0 26px 24px; font-size:1rem; color:var(--ink-2)}

/* ============================================================
   CTA FINAL
   ============================================================ */
.cta-final{text-align:center; overflow:hidden}
.cta-final h2{max-width:30ch; margin-inline:auto}
.cta-final .lead{margin:20px auto 0; text-align:center}
.cta-final .btn{margin-top:32px}
.cta-nota{font-size:13.5px; color:rgba(255,255,255,.62); margin-top:20px}

/* ============================================================
   RODAPÉ
   ============================================================ */
.rodape{background:var(--ink); color:rgba(255,255,255,.72); padding:58px 0 32px; font-size:.95rem}
.rodape h4{font-size:11.5px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; color:var(--sol); font-family:var(--body); margin-bottom:14px}
.rod-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:36px}
.rod-grid > *{min-width:0}
.rodape .marca-nome{color:#fff} .rodape .marca-sub{color:var(--sol)}
.rodape a{color:rgba(255,255,255,.8); text-decoration:none}
.rodape a:hover{color:#fff; text-decoration:underline}
.rod-linha{display:grid; gap:8px}
.rod-fim{margin-top:42px; padding-top:24px; border-top:1px solid rgba(255,255,255,.14); font-size:12.5px; line-height:1.6; color:rgba(255,255,255,.5)}

/* ============================================================
   FAB
   ============================================================ */
.fab{position:fixed; right:20px; bottom:20px; z-index:110; display:inline-flex; align-items:center; gap:0;
  background:var(--wa); color:#fff; text-decoration:none; border-radius:999px; padding:16px;
  font-weight:800; font-size:.95rem; box-shadow:0 18px 40px -12px rgba(31,168,85,.95);
  transition:gap .35s var(--ease), padding .35s var(--ease), background .25s}
.fab svg{width:27px; height:27px; flex:none}
.fab span{max-width:0; overflow:hidden; white-space:nowrap; transition:max-width .4s var(--ease)}
.fab:hover, .fab:focus-visible{background:var(--wa-escuro); gap:10px; padding:16px 23px 16px 18px}
.fab:hover span, .fab:focus-visible span{max-width:200px}
.fab::before{content:''; position:absolute; inset:0; border-radius:999px; border:2.5px solid var(--wa);
  animation:fabpulse 2.6s ease-out infinite; pointer-events:none}
@keyframes fabpulse{0%{transform:scale(1); opacity:.75} 70%{transform:scale(1.34); opacity:0} 100%{opacity:0}}

/* reveal */
.reveal{opacity:0; transform:translateY(26px); transition:opacity .65s ease, transform .65s cubic-bezier(.19,1,.22,1)}
.reveal.in{opacity:1; transform:none}

/* ============================================================
   RESPONSIVO
   ============================================================ */
@media (max-width:1000px){
    .resumo-in{grid-template-columns:repeat(2,minmax(0,1fr))}
  .res:nth-child(2){border-right:0}
  .res:nth-child(1),.res:nth-child(2){border-bottom:1px solid var(--line)}
}
@media (max-width:900px){
  .hero-grid{grid-template-columns:1fr}
  .hero-media{order:-1; max-width:460px; margin-inline:auto}
  .hero-foto{aspect-ratio:4/5.2}
  .dom-split{grid-template-columns:1fr}
  .split{grid-template-columns:1fr}
  .foto--retrato{aspect-ratio:4/6}
  .rod-grid{grid-template-columns:1fr 1fr}
  .rod-grid > :first-child{grid-column:1/-1}
  .check-res .btn{margin-left:0; width:100%}
  .peca--c{display:none}
  .gal-track{grid-auto-columns:calc((100% - 16px) / 2)}
  .gal-nav--prev{left:-6px}
  .gal-nav--next{right:-6px}
  }
@media (max-width:560px){
  body{font-size:17px}
  .wrap{width:min(100% - 32px, var(--wrap))}
  .hero-ctas .btn, .cta-final .btn{width:100%}
  .marca-sub{display:none}
  .hdr .btn span{display:none}
  .hdr .btn{padding:.8rem .95rem}
  .resumo-in{grid-template-columns:1fr}
      .res{border-right:0; border-bottom:1px solid var(--line)}
  .res:last-child{border-bottom:0}
  .etapa{grid-template-columns:1fr; gap:14px; padding:22px}
  .rod-grid{grid-template-columns:1fr}
  .check-med{width:100%}
  .gal-track{grid-auto-columns:78%}
  .gal-nav{width:42px; height:42px; margin-top:-21px}
  .flut--1{left:-8px; top:4%} .flut--2{right:-8px} .flut--3{left:4%}
  .flut{max-width:180px; padding:11px 14px; font-size:12px}
  .fab{right:14px; bottom:14px}
}
@media (max-width:400px){
  h1{font-size:1.92rem}
  .check-cnt{width:56px; height:56px; font-size:1.4rem}
  .selo-anos{padding:7px 15px 7px 8px}
  .selo-anos span{font-size:12.5px}
}

/* ============================================================
   ANTI-ESTOURO
   ============================================================ */
html{overflow-x:clip}
body{overflow-wrap:break-word}
h1,h2,h3,p,li,summary,blockquote{word-break:break-word; hyphens:auto}
.hero-grid > *, .split > *, .dom-split > *, .hdr-in > *{min-width:0}
.btn{max-width:100%; white-space:normal}

/* ============================================================
   REDUCED MOTION
   ============================================================ */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none !important; transition:none !important}
  .reveal{opacity:1; transform:none}
  .radar .poly{transform:scale(1); opacity:1}
  .radar .dot{opacity:1}
  .gauge .val{stroke-dashoffset:var(--off)}
}



/* 1. Alvos de toque com no mínimo 44px de altura (WCAG 2.5.5) */
@media (max-width:900px){
  .marca{min-height:44px}
  .rodape .rod-linha a{
    display:inline-flex; align-items:center;
    min-height:44px; padding:2px 0;
  }
  .gal-nav{min-width:44px; min-height:44px}
}

/* 2. Trava extra contra estouro horizontal em qualquer seção */
.sec, .resumo, .hero, .rodape{max-width:100vw}
.wrap{max-width:100%}

/* 3. Palavras longas (nomes próprios, e-mails, URLs) nunca esticam a caixa */
.tag-i, .chip, .esp, .res b, .res span,
.faq summary, .faq .resp, .dom p, .gcard p, .num span{
  overflow-wrap:anywhere;
}

/* 4. Botões e pílulas quebram em vez de forçar largura */
.btn, .tag-i, .chip, .etapa .tag{
  white-space:normal; word-break:break-word;
}

/* 5. SVGs de conteúdo sempre dentro da caixa */
.radar, .gauge svg, .hero-foto svg{max-width:100%; height:auto}

/* 6. Cards flutuantes do hero: em telas muito estreitas param de sangrar */
@media (max-width:400px){
  .flut--1{left:0}
  .flut--2{right:0}
  .flut--3{left:0}
  .flut{max-width:64%}
}

/* 7. Carrossel: setas nunca cobrem a foto em telas pequenas */
@media (max-width:480px){
  .gal-nav--prev{left:2px}
  .gal-nav--next{right:2px}
  .gal-nav{background:rgba(255,255,255,.94)}
}

/* 8. Grade de diagnósticos: 3x2 no desktop, evita a quebra 4+2 */
.dom-lista--3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:900px){ .dom-lista--3{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:560px){ .dom-lista--3{grid-template-columns:1fr} }/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-4a024d0 *//* garante que não vai surgir barra horizontal */
html, body { overflow-x: hidden; }

.btn-whatsapp{
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 9999;

  background-color: rgb(37, 211, 102);
  width: 60px;
  height: 60px;
  border-radius: 50%;

  display: flex;
  align-items: center;
  justify-content: center;

  color: #fff;
  font-size: 28px;
  text-decoration: none;
}

.btn-whatsapp:before,
.btn-whatsapp:after{
  content: '';
  position: absolute;
  border-radius: 50%;
  border: 1px solid #25d366;
  inset: -20px;              /* no lugar de left/right/top/bottom */
  animation: animate 1.5s linear infinite;
  opacity: 0;
  pointer-events: none;
}

.pulsaDelay:after{ animation-delay: 0.5s; }

@keyframes animate{
  0%{ transform: scale(0.5); opacity: 0; }
  50%{ opacity: 1; }
  100%{ transform: scale(1.2); opacity: 0; }
}/* End custom CSS */