
  /* ---------- fontes locais (variable, subset latin) ---------- */
  @font-face{font-family:"Inter";src:url("/fontes/inter.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
  @font-face{font-family:"Playfair Display";src:url("/fontes/playfair.woff2") format("woff2");font-weight:400 700;font-style:normal;font-display:swap}
  @font-face{font-family:"Playfair Display";src:url("/fontes/playfair-italic.woff2") format("woff2");font-weight:400 700;font-style:italic;font-display:swap}

  /* ---------- tokens ---------- */
  :root{
    --verde-esc:#16201A; --verde:#2B3A2B; --verde-med:#1F2A20; --verde-linha:#52654F;
    --verde-linha-2:#3B4C3D; --acao:#3D7B47; --acao-hover:#34693D; --acao-texto:#376E40;
    --cream:#F5F0EA; --cream-2:#FBF9F5; --cream-linha:#D8D0C8;
    --preto:#1A1A1A; --cinza:#6B6B6B; --cinza-2:#3A3A3A;
    --sage:#9DAF9F; --sage-claro:#C8D2C8; --sage-esc:#8A9C8C;
    --erro:#E39189;
    --max:1312px;
  }
  *,*::before,*::after{box-sizing:border-box}
  html{-webkit-text-size-adjust:100%; scroll-behavior:smooth}
  @media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto} *{animation:none !important; transition:none !important} }
  body{
    margin:0; background:var(--cream); color:var(--preto);
    font-family:"Inter","Helvetica Neue",Arial,sans-serif; font-size:16px; line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  img,video,iframe{max-width:100%; display:block}
  a{color:var(--acao); text-decoration:none}
  a:hover{color:var(--verde)}
  :focus-visible{outline:2px solid var(--acao); outline-offset:3px}
  [tabindex="-1"]:focus{outline:none}
  [hidden]{display:none !important}
  .pf{font-family:"Playfair Display",Georgia,serif}
  .num{font-variant-numeric:tabular-nums}
  .lbl{font-size:11px; font-weight:600; letter-spacing:.16em; text-transform:uppercase}
  .wrap{width:100%; max-width:var(--max); margin:0 auto; padding:0 20px}
  .sr{position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0}

  /* ---------- botões ---------- */
  .cta{
    display:flex; align-items:center; justify-content:center; text-align:center;
    min-height:62px; padding:12px 26px; background:var(--acao); color:#fff;
    font-size:17px; font-weight:600; line-height:1.25; border:0; cursor:pointer;
    font-family:inherit; width:100%; letter-spacing:.005em;
    box-shadow:0 2px 0 rgba(20,42,24,.55), 0 10px 24px -12px rgba(20,42,24,.9);
    transition:background .15s ease, transform .12s ease, box-shadow .12s ease;
  }
  .cta:hover{background:var(--acao-hover); color:#fff; transform:translateY(-1px); box-shadow:0 3px 0 rgba(20,42,24,.55), 0 14px 28px -12px rgba(20,42,24,.9)}
  .cta:active{transform:translateY(1px); box-shadow:0 1px 0 rgba(20,42,24,.55)}
  @media (min-width:900px){ .cta{display:inline-flex; width:auto; min-height:66px; padding:0 40px; font-size:18px} }

  /* ---------- topbar ---------- */
  .top{background:var(--verde-esc)}
  .top .in{display:flex; align-items:center; justify-content:center; gap:10px; padding-block:12px}
  .top .marca{font-family:"Playfair Display",Georgia,serif; color:var(--cream); font-size:12px; letter-spacing:.22em}
  @media (min-width:900px){
    .top .in{justify-content:space-between; padding-block:18px}
    .top .marca{font-size:16px}
  }

  /* ---------- herói ---------- */
  .hero{
    background:var(--verde);
    background-image:radial-gradient(120% 70% at 72% 6%, rgba(255,255,255,.05) 0%, rgba(0,0,0,0) 60%);
  }
  .hero .in{display:flex; flex-direction:column; gap:26px; padding-block:30px 32px}
  .hero .col{display:flex; flex-direction:column; gap:20px}
  .hero .acao{margin-top:2px}
  .hero h1{
    margin:0; color:var(--cream); font-size:clamp(26px,7.4vw,52px); line-height:1.14;
    font-weight:400; letter-spacing:-.014em; text-wrap:pretty;
  }
  .hero .sub{margin:0; color:var(--sage-claro); font-size:clamp(15px,4vw,18px); line-height:1.6}
  .media{
    margin:0; aspect-ratio:4/3; border:1px solid var(--verde-linha); overflow:hidden;
    display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px;
  }
  .media iframe,.media video{width:100%; height:100%; border:0}
  .media img{width:100%; height:100%; object-fit:cover; display:block}
  .media .play{position:relative; width:100%; height:100%; padding:0; border:0; cursor:pointer; background:transparent; display:block}
  .media .play img{width:100%; height:100%; object-fit:cover}
  .media .play-ico{position:absolute; inset:0; display:flex; align-items:center; justify-content:center; transition:transform .15s ease}
  .media .play:hover .play-ico{transform:scale(1.06)}
  @media (min-width:900px){
    .hero .in{flex-direction:row; align-items:center; gap:60px; padding-block:72px 8px}
    .hero .col{flex:1 1 auto; min-width:0; max-width:640px; display:flex; flex-direction:column; gap:28px}
    .hero .colmedia{flex:0 0 520px; min-width:0}
    .hero h1{line-height:1.08; letter-spacing:-.02em}
    .hero .sub{max-width:620px}
    .hero .acao{display:flex; align-items:center; gap:20px; flex-wrap:wrap}
  }

  /* ---------- faixa de números ---------- */
  .faixa{background:var(--verde-med); border-top:1px solid var(--verde-linha-2)}
  .faixa .g{display:grid; grid-template-columns:repeat(3,minmax(0,1fr))}
  .faixa .c{padding:16px 8px; display:flex; flex-direction:column; align-items:center; gap:4px; text-align:center; border-right:1px solid var(--verde-linha-2)}
  .faixa .c:last-child{border-right:0}
  .faixa .v{font-family:"Playfair Display",Georgia,serif; color:var(--cream); font-size:19px; line-height:1.1}
  .faixa .k{color:var(--sage); font-size:9px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; line-height:1.5}
  @media (min-width:900px){
    .faixa{background:var(--verde); border-top:0}
    .faixa .g{border-top:1px solid var(--verde-linha)}
    .faixa .c{flex-direction:row; align-items:center; gap:16px; text-align:left; padding:26px 40px 30px; border-right:1px solid var(--verde-linha)}
    .faixa .c:first-child{padding-left:0}
    .faixa .c:last-child{padding-right:0}
    .faixa .v{font-size:38px; letter-spacing:-.01em}
    .faixa .k{font-size:11px; max-width:150px; line-height:1.6}
  }

  /* ---------- sócios / autoridade ---------- */
  .peer{margin-top:26px; padding:22px 0 0; border-top:1px solid var(--verde-linha-2); display:flex; flex-direction:column; gap:9px}
  .peer-t{color:var(--cream); font-size:clamp(21px,4.4vw,29px); font-style:italic; line-height:1.3; margin:0}
  @media (min-width:900px){ .peer{margin-top:32px; padding-top:26px} }
  .socios{display:grid; grid-template-columns:1fr; gap:22px; margin-top:22px}
  .socio{display:flex; gap:16px; align-items:flex-start}
  .socio .rosto{width:76px; height:76px; flex:none; border-radius:50%; overflow:hidden; background:var(--verde-med); display:flex; align-items:center; justify-content:center}
  .socio .rosto img{width:100%; height:100%; object-fit:cover}
  .socio .mono{font-family:"Playfair Display",Georgia,serif; color:var(--sage); font-size:26px; line-height:1}
  .socio .quem{display:flex; flex-direction:column; gap:6px; min-width:0}
  .socio .nome{font-family:"Playfair Display",Georgia,serif; font-size:20px; line-height:1.2; color:var(--cream)}
  .socio .cargo{font-size:11px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--sage)}
  .socio .bio{margin:0; font-size:15px; line-height:1.6; color:var(--sage-claro)}
  @media (min-width:900px){ .socios{grid-template-columns:1fr 1fr; gap:44px} .socio .rosto{width:92px; height:92px} .socio .nome{font-size:23px} }

  /* ---------- é / não é para você ---------- */
  .filtro{display:grid; grid-template-columns:1fr; gap:16px; margin-top:20px}
  .filtro .cx{border:1px solid var(--cream-linha); padding:22px 20px; background:#fff}
  .filtro .cx.nao{background:var(--cream-2)}
  .filtro h3{margin:0 0 14px; font-family:"Playfair Display",Georgia,serif; font-size:19px; font-weight:500; line-height:1.25}
  .filtro ul{margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:11px}
  .filtro li{position:relative; padding-left:26px; font-size:15px; line-height:1.55; color:var(--cinza-2)}
  .filtro li::before{position:absolute; left:0; top:0; font-size:15px; font-weight:600}
  .filtro .sim li::before{content:"+"; color:var(--acao-texto)}
  .filtro .nao li::before{content:"–"; color:var(--cinza)}
  @media (min-width:900px){ .filtro{grid-template-columns:1fr 1fr; gap:24px} .filtro .cx{padding:32px 30px} .filtro h3{font-size:22px} }

  /* ---------- a lista (esforço) ---------- */
  .riscos{display:grid; grid-template-columns:1fr; gap:26px; margin-top:24px}
  .risco-h{display:flex; align-items:baseline; justify-content:space-between; gap:10px; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--sage); font-weight:600; padding-bottom:9px; border-bottom:1px solid var(--verde-linha-2)}
  .risco-c{font-weight:400; letter-spacing:.04em; text-transform:none; color:var(--sage); font-size:11.5px; flex:none}
  .risco ol{list-style:none; margin:0; padding:0}
  .risco li{display:flex; gap:12px; align-items:baseline; padding:9px 0; border-bottom:1px solid rgba(59,76,61,.55); font-size:14.5px; line-height:1.45; color:var(--sage-claro)}
  .risco li:last-child{border-bottom:none}
  .risco li b{flex:none; width:20px; font-weight:500; font-size:12px; color:#96A897; font-variant-numeric:tabular-nums}
  @media (min-width:760px){ .riscos{grid-template-columns:1fr 1fr; gap:26px 44px} }
  @media (min-width:1080px){ .riscos{grid-template-columns:1fr 1fr 1fr; gap:0 48px} .risco+.risco{padding-left:0} }

  /* ---------- provas visuais ---------- */
  .provas{display:grid; grid-template-columns:1fr; gap:14px; margin-top:20px}
  figure.prova{margin:0}
  .prova img{width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; display:block; background:var(--verde-med)}
  .prova figcaption{margin-top:9px; font-size:13px; line-height:1.5; color:var(--cinza)}
  .sec.escuro .prova figcaption{color:var(--sage)}
  @media (min-width:900px){ .provas{grid-template-columns:repeat(2,1fr); gap:24px} }

  /* ---------- perguntas ---------- */
  .faq{margin-top:20px; border-top:1px solid var(--cream-linha)}
  .faq details{border-bottom:1px solid var(--cream-linha)}
  .faq summary{cursor:pointer; list-style:none; padding:18px 34px 18px 0; position:relative; font-size:16px; font-weight:600; line-height:1.45; color:var(--preto)}
  .faq summary::-webkit-details-marker{display:none}
  .faq summary::after{content:""; position:absolute; right:6px; top:24px; width:9px; height:9px; border-right:1.6px solid var(--acao-texto); border-bottom:1.6px solid var(--acao-texto); transform:rotate(45deg); transition:transform .2s ease}
  .faq details[open] summary::after{transform:rotate(-135deg); top:27px}
  .faq .r{margin:0; padding:0 0 20px; font-size:15px; line-height:1.65; color:var(--cinza-2); max-width:760px}
  @media (min-width:900px){ .faq summary{font-size:18px; padding:22px 40px 22px 0} .faq .r{font-size:16px; padding-bottom:24px} }

  /* ---------- CTA de seção (centralizado) ---------- */
  .cta-sec{display:flex; flex-direction:column; align-items:center; gap:10px; margin-top:30px}
  .cta-sec .lbl{color:var(--cinza); font-weight:500; letter-spacing:.1em}
  .sec.escuro .cta-sec .lbl{color:var(--sage)}

  /* ---------- seções ---------- */
  .sec{padding:32px 0}
  .sec.claro{background:var(--cream)}
  .sec.claro2{background:var(--cream-2); border-top:1px solid var(--cream-linha)}
  .sec.escuro{background:var(--verde)}
  .h2{font-family:"Playfair Display",Georgia,serif; margin:0; font-size:clamp(26px,5.6vw,40px); line-height:1.14; font-weight:400; letter-spacing:-.015em; text-wrap:pretty}
  .eyebrow{color:var(--acao-texto)}
  .sec.escuro .eyebrow{color:var(--sage)}
  .p{margin:0; font-size:16px; line-height:1.65; color:var(--cinza-2)}
  .sec.escuro .p{color:var(--sage-claro)}
  @media (min-width:900px){
    .sec{padding:80px 0}
    .tri{grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:48px !important}
  }

  /* lista numerada de argumentos */
  .args{display:flex; flex-direction:column}
  .arg{display:grid; grid-template-columns:32px minmax(0,1fr); gap:0 12px; padding:14px 0; border-top:1px solid var(--cream-linha)}
  .arg:last-child{border-bottom:1px solid var(--cream-linha)}
  .arg .n{font-family:"Playfair Display",Georgia,serif; font-size:12px; color:var(--acao-texto); letter-spacing:.08em; padding-top:5px}
  .arg p{margin:0; font-size:16px; line-height:1.65}
  @media (min-width:900px){
    .grid-arg{display:grid; grid-template-columns:400px minmax(0,1fr); gap:72px; align-items:start}
    .arg{grid-template-columns:48px minmax(0,1fr); gap:0 20px; padding:22px 0}
    .arg .n{font-size:14px; padding-top:7px}
    .arg p{font-size:18px; line-height:1.6}
  }

  /* etapas */
  .etapas{display:flex; flex-direction:column}
  .etapa{display:flex; flex-direction:column; gap:7px; padding:16px 0; border-top:1px solid var(--cream-linha)}
  .etapa:last-child{border-bottom:1px solid var(--cream-linha)}
  .etapa .h{display:flex; align-items:baseline; gap:11px}
  .etapa .h .n{flex:none; font-family:"Playfair Display",Georgia,serif; font-size:15px;
    color:var(--acao-texto); letter-spacing:.04em}
  .sec.escuro .etapa .h .n{color:#8FBE99}
  .etapa .h h3{flex:1; min-width:0}
  .etapa h3{margin:0; font-family:"Playfair Display",Georgia,serif; font-size:20px; font-weight:500}
  .sec.escuro .etapa{border-color:var(--verde-linha)}
  .sec.escuro .etapa h3{color:var(--cream)}
  @media (min-width:900px){
    .etapas{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:40px}
    .etapas.tres{grid-template-columns:repeat(3,minmax(0,1fr)); gap:44px}
    .etapa{padding:22px 0 0; border-bottom:0 !important; border-top:1px solid var(--verde-linha); gap:12px}
    .etapa h3{font-size:24px}
  }

  /* ---------- formulário ---------- */
  .form-sec{background:var(--verde-med); padding:32px 0 36px}
  .form-sec .box{display:flex; flex-direction:column; gap:14px}
  .campo{display:flex; flex-direction:column; gap:6px}
  .campo label{color:var(--sage-claro); font-size:12px; font-weight:500; letter-spacing:.1em; text-transform:uppercase}
  .campo input{
    width:100%; height:52px; padding:0 14px; background:var(--verde); border:1px solid var(--verde-linha);
    color:var(--cream); font-family:inherit; font-size:16px; border-radius:0;
  }
  .campo input::placeholder{color:#7D8F80}
  .campo input:focus{border-color:var(--acao); outline:none}
  .campo.erro input{border-color:var(--erro)}
  .msg{color:var(--erro); font-size:12px; min-height:0}
  .consent{display:flex; gap:10px; align-items:flex-start; padding:8px 0; min-height:44px; cursor:pointer}
  .consent input{width:20px; height:20px; margin:1px 0 0; accent-color:var(--acao); flex:none}
  .consent span{font-size:12px; line-height:1.55; color:var(--sage)}
  @media (min-width:900px){
    .form-sec{padding:76px 0 84px}
    .form-grid{display:grid; grid-template-columns:minmax(0,1fr) 480px; gap:80px; align-items:start}
    .form-sec .box{gap:16px; padding:32px; border:1px solid var(--verde-linha)}
  }

  /* checks */
  .checks{display:flex; flex-direction:column}
  .check{display:flex; gap:12px; align-items:flex-start; padding:14px 0; border-top:1px solid var(--verde-linha-2)}
  .check:last-child{border-bottom:1px solid var(--verde-linha-2)}
  .check div{font-size:15px; line-height:1.55; color:var(--sage-claro)}

  /* ---------- rodapé ---------- */
  .rodape{background:var(--verde-esc); padding:20px 0 24px}
  .rodape .t{color:#93A695; font-size:11px; font-weight:600; letter-spacing:.12em; text-transform:uppercase}
  .rodape .d{font-size:11px; line-height:1.6; color:var(--sage-esc); margin-top:8px}
  @media (min-width:900px){
    .rodape{padding:30px 0 36px}
    .rodape .in{display:flex; align-items:center; justify-content:space-between; gap:56px}
    .rodape .d{margin-top:0; font-size:12px; max-width:660px}
  }

  /* ---------- barra fixa ---------- */
  .barra{
    position:fixed; left:0; right:0; bottom:0; z-index:40;
    display:flex; align-items:center; gap:12px; padding:10px 14px;
    background:rgba(31,42,32,.97); border-top:1px solid var(--verde-linha);
    transform:translateY(110%); transition:transform .25s ease;
  }
  .barra.on{transform:translateY(0)}
  .barra .t{display:flex; flex-direction:column; gap:2px; flex:1 1 auto; min-width:0}
  .barra .v{font-family:"Playfair Display",Georgia,serif; color:var(--cream); font-size:15px; line-height:1.1}
  .barra .k{color:var(--sage); font-size:9px; font-weight:600; letter-spacing:.1em; text-transform:uppercase}
  .barra a{
    display:flex; align-items:center; justify-content:center; min-height:46px; padding:0 18px;
    background:var(--acao); color:#fff; font-size:14px; font-weight:600; flex:none;
  }
  .barra a:hover{background:var(--acao-hover); color:#fff}
  body.tem-barra{padding-bottom:calc(92px + env(safe-area-inset-bottom,0px))}
  @media (min-width:900px){ .barra{display:none} body.tem-barra{padding-bottom:0} }

  /* ---------- quiz ---------- */
  .quiz{min-height:100vh; min-height:100svh; display:flex; flex-direction:column; background:var(--cream)}
  .prog{display:flex; gap:5px; height:7px; flex:none}
  .prog i{flex:1 1 0; background:#CFC5B8; transition:background .3s ease}
  .prog i.on{background:var(--acao)}
  .quiz .cab{display:flex; align-items:center; justify-content:space-between; padding:16px 20px; flex:none}
  .quiz .cab .marca{font-family:"Playfair Display",Georgia,serif; color:var(--verde); font-size:11px; letter-spacing:.22em}
  .quiz .corpo{flex:1 1 auto; display:flex; flex-direction:column; gap:18px; padding:18px 20px 24px; width:100%; max-width:800px; margin:0 auto}
  .quiz h1{margin:0; font-family:"Playfair Display",Georgia,serif; font-size:clamp(25px,6.4vw,38px); line-height:1.18; font-weight:500; letter-spacing:-.008em; text-wrap:pretty}
  .quiz .apoio{margin:0; font-size:14px; line-height:1.55; color:var(--cinza)}
  .ops{display:flex; flex-direction:column; gap:8px}
  .op{
    display:flex; align-items:center; gap:14px; min-height:56px; padding:10px 14px;
    background:transparent; border:1px solid var(--cream-linha); cursor:pointer;
    font-family:inherit; font-size:16px; font-weight:500; color:var(--preto); text-align:left;
    width:100%; transition:background .12s ease, border-color .12s ease;
  }
  .op:hover{background:var(--cream-2); border-color:var(--verde)}
  .op .dot{width:15px; height:15px; flex:none; border:1px solid #B7AC9C; background:transparent}
  .op[aria-checked="true"]{background:var(--verde); border-color:var(--verde); color:var(--cream)}
  .op[aria-checked="true"] .dot{background:var(--acao); border-color:var(--acao)}
  .voltar{display:flex; align-items:center; gap:8px; margin-top:auto; padding-top:8px; background:none; border:0; cursor:pointer; font-family:inherit; color:var(--cinza); font-size:11px; font-weight:600; letter-spacing:.16em; text-transform:uppercase}
  @media (min-width:900px){ .quiz .corpo{gap:26px; padding:40px 20px 40px; justify-content:center} .op{min-height:64px; padding:0 22px; font-size:18px} }

  /* ---------- loading ---------- */
  .load{min-height:100vh; min-height:100svh; background:var(--verde); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:34px; padding:32px 20px; text-align:center}
  .load h1{margin:0; font-family:"Playfair Display",Georgia,serif; color:var(--cream); font-size:clamp(24px,5.6vw,34px); line-height:1.28; font-weight:400; max-width:620px; text-wrap:pretty}
  .load .bar{width:min(320px,80vw); height:2px; background:var(--verde-linha); overflow:hidden}
  .load .bar i{display:block; width:33%; height:2px; background:var(--acao); animation:sweep 1.6s ease-in-out infinite}
  @keyframes sweep{0%{transform:translateX(-100%)}100%{transform:translateX(300%)}}
  .trace{stroke-dasharray:100; animation:trace 2.6s ease-in-out infinite}
  @keyframes trace{0%{stroke-dashoffset:100}60%,100%{stroke-dashoffset:0}}

  /* ---------- agenda ---------- */
  .agenda{background:var(--cream); min-height:100vh; min-height:100svh}
  .agenda .cab{display:flex; align-items:center; justify-content:space-between; padding:14px 20px; background:var(--verde-esc)}
  .agenda .cab .marca{font-family:"Playfair Display",Georgia,serif; color:var(--cream); font-size:11px; letter-spacing:.22em}
  .agenda .in{padding-block:24px 32px; display:flex; flex-direction:column; gap:16px}
  .cal{border:1px solid var(--cream-linha); background:#fff; min-height:640px}
  .cal .ph{display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; padding:56px 20px; text-align:center; min-height:640px}
  @media (min-width:900px){
    .agenda .in{display:grid; grid-template-columns:minmax(0,1fr) 620px; gap:64px; align-items:start; padding-block:48px 64px}
    .cal,.cal .ph{min-height:700px}
  }

  /* ---------- obrigado ---------- */
  .ob-top{background:var(--verde); padding:32px 0}
  .ob-top .in{display:flex; gap:18px; align-items:flex-start; padding-block:0}
  .ob-top h1{margin:0; font-family:"Playfair Display",Georgia,serif; color:var(--cream); font-size:clamp(28px,7vw,42px); line-height:1.1; font-weight:400; letter-spacing:-.015em}
  .zap{display:flex; align-items:center; gap:14px; padding:16px 18px; border:1px solid var(--verde-linha); align-self:flex-start; margin-top:4px; text-decoration:none; transition:border-color .15s ease, background .15s ease}
  .zap:hover{border-color:var(--acao); background:rgba(61,123,71,.1)}
  .zap .n{font-size:20px; font-weight:600; color:var(--cream); letter-spacing:.02em}
  .passos{display:flex; flex-direction:column}
  .passo{display:flex; gap:16px; align-items:flex-start; padding:16px 0; border-top:1px solid var(--cream-linha)}
  .passo:last-child{border-bottom:1px solid var(--cream-linha)}
  .passo .n{font-family:"Playfair Display",Georgia,serif; font-size:18px; color:var(--acao-texto); width:26px; flex:none}
  .passo .t{font-size:16px; font-weight:600}
  .passo .d{font-size:15px; line-height:1.6; color:#4A4A4A; margin-top:4px}
  @media (min-width:900px){
    .ob-top{padding:44px 0 40px}
    .ob-grid{display:grid; grid-template-columns:minmax(0,1fr) 420px; gap:56px; padding-block:44px !important}
  }

  /* ================= v2 · multipágina ================= */
  .passo-topo{background:var(--verde-esc); border-bottom:1px solid var(--verde-linha-2)}
  .passo-topo .in{display:flex; align-items:center; justify-content:space-between; gap:14px; padding-block:13px}
  .passo-barra{height:7px; background:var(--verde-linha-2); position:relative; overflow:hidden}
  .passo-barra i{display:block; height:100%; border-radius:0 999px 999px 0;
    background:linear-gradient(90deg,var(--acao) 0%,#5AA268 100%);
    box-shadow:0 0 12px rgba(90,162,104,.55);
    transition:width .45s cubic-bezier(.4,0,.2,1)}
  .passo-topo .lbl{color:var(--sage-claro); font-weight:700; letter-spacing:.16em}

  .curta{min-height:100svh; display:flex; flex-direction:column; background:var(--verde);
    background-image:radial-gradient(120% 70% at 72% 6%, rgba(255,255,255,.05) 0%, rgba(0,0,0,0) 60%)}
  .curta .miolo{flex:1; display:flex; align-items:center; padding-block:34px 44px}
  .curta .in{display:flex; flex-direction:column; gap:26px; width:100%}
  @media (min-width:900px){ .curta .in{flex-direction:row; align-items:center; gap:64px} .curta .lado{flex:1 1 0; min-width:0} }

  .form-card{background:var(--verde-med); border:1px solid var(--verde-linha-2); padding:24px 20px 26px;
    display:flex; flex-direction:column; gap:15px}
  @media (min-width:900px){ .form-card{padding:32px 30px 34px; flex:0 0 430px} }
  .form-card h2{font-family:"Playfair Display",Georgia,serif; font-weight:500; color:var(--cream);
    font-size:clamp(19px,3.6vw,23px); line-height:1.25; margin:0}

  .op{display:flex; align-items:center; gap:14px; width:100%; text-align:left; cursor:pointer;
    background:var(--verde-med); border:1px solid var(--verde-linha-2); color:var(--cream);
    font-family:inherit; font-size:16px; line-height:1.4; padding:17px 18px;
    transition:border-color .14s ease, background .14s ease, transform .1s ease}
  .op:hover{border-color:var(--acao); background:#233024}
  .op:active{transform:translateY(1px)}
  .op .marca{flex:none; width:20px; height:20px; border:1.5px solid var(--verde-linha); border-radius:50%;
    display:flex; align-items:center; justify-content:center}
  .op[aria-checked="true"] .marca{border-color:var(--acao); background:var(--acao)}
  .op[aria-checked="true"] .marca::after{content:""; width:7px; height:7px; border-radius:50%; background:#fff}
  .ops{display:flex; flex-direction:column; gap:11px; margin-top:22px}
  @media (min-width:760px){ .op{font-size:17px; padding:19px 20px} }

  .pergunta{min-height:100svh; background:var(--verde); display:flex; flex-direction:column}
  .pergunta .miolo{flex:1; display:flex; align-items:center; padding-block:32px 46px}
  .pergunta .in{width:100%; max-width:660px; margin:0 auto; display:flex; flex-direction:column}
  .pergunta h1{margin:0; color:var(--cream); font-family:"Playfair Display",Georgia,serif; font-weight:500;
    font-size:clamp(25px,5.6vw,36px); line-height:1.18; letter-spacing:-.01em; text-wrap:pretty}
  .pergunta .apoio{margin:11px 0 0; color:var(--sage-claro); font-size:15.5px; line-height:1.55}
  .voltar{background:none; border:0; color:var(--sage); font-family:inherit; font-size:14px;
    cursor:pointer; padding:8px 0; display:inline-flex; align-items:center; gap:7px; align-self:flex-start; margin-top:22px}
  .voltar:hover{color:var(--cream)}

  .entrega{background:var(--cream)}
  .entrega .aviso-topo{background:var(--verde); color:var(--cream); padding-block:22px}
  .entrega .aviso-topo .in{display:flex; flex-direction:column; gap:8px; text-align:center; align-items:center}

  /* ---- formulário do card escuro (v2) ---- */
  .form-card .lbl2{color:var(--sage-claro); font-size:11.5px; font-weight:600; letter-spacing:.11em; text-transform:uppercase}
  .form-card .ajuda{color:var(--sage-esc); font-size:12.5px; line-height:1.5; margin-top:2px}
  .form-card .aceite{display:flex; gap:11px; align-items:flex-start; cursor:pointer; padding:4px 0 2px}
  .form-card .aceite input{width:19px; height:19px; margin:2px 0 0; accent-color:var(--acao); flex:none}
  .form-card .aceite span{font-size:12.5px; line-height:1.55; color:var(--sage)}
  .form-card .erro{color:var(--erro); font-size:13px; line-height:1.45}
  .form-card .cta{margin-top:4px}

  /* ============================================================
     ENTRADA v3 — layout modelado no funil da Luana (swipe file)
     Cabeçalho centrado · retrato · credencial · manchete serifada
     duas colunas: vitrine à esquerda, formulário à direita
     ============================================================ */
  .entrada{min-height:100svh; display:flex; flex-direction:column; background:var(--cream)}
  .entrada-topo{border-bottom:1px solid var(--cream-linha); background:var(--cream-2)}
  .entrada-topo .in{display:flex; align-items:center; justify-content:center; padding-block:14px}
  .entrada-topo .marca{font-family:"Playfair Display",Georgia,serif; color:var(--verde);
    font-size:12.5px; letter-spacing:.24em}
  @media (min-width:900px){ .entrada-topo .marca{font-size:14px} }

  .entrada-miolo{flex:1; padding-block:30px 44px}
  @media (min-width:900px){ .entrada-miolo{padding-block:40px 56px} }

  /* --- apresentação centrada --- */
  .apresenta{text-align:center; max-width:820px; margin:0 auto}
  .apresenta .retrato{width:74px; height:74px; border-radius:50%; object-fit:cover;
    border:2px solid var(--cream-2); box-shadow:0 3px 14px rgba(26,26,26,.16); display:block; margin:0 auto}
  .apresenta .credencial{font-family:"Playfair Display",Georgia,serif; color:var(--cinza);
    font-size:13.5px; line-height:1.55; margin:11px 0 0}
  .apresenta .chamada{font-family:"Playfair Display",Georgia,serif; color:var(--preto);
    font-size:clamp(19px,4.6vw,27px); letter-spacing:.055em; margin:20px 0 0; font-weight:400}
  .apresenta .titulo{font-family:"Playfair Display",Georgia,serif; color:var(--acao-texto);
    font-size:clamp(23px,5.4vw,37px); line-height:1.22; font-weight:400; letter-spacing:-.008em;
    margin:8px 0 0; text-wrap:balance}
  .apresenta .titulo em{font-style:italic; color:var(--verde)}

  /* --- duas colunas --- */
  .entrada-cols{display:flex; flex-direction:column; gap:26px; margin-top:28px}
  @media (min-width:900px){
    .entrada-cols{flex-direction:row; align-items:center; gap:52px; margin-top:38px}
    .entrada-cols>*{flex:1 1 0; min-width:0}
  }

  .vitrine{margin:0}
  .vitrine img{width:100%; height:auto; display:block; border-radius:12px;
    box-shadow:0 14px 40px rgba(26,26,26,.17)}
  .vitrine figcaption{color:var(--cinza); font-size:13px; line-height:1.55; margin-top:12px; text-align:center}
  /* no celular a foto encolhe para o formulário subir na dobra */
  @media (max-width:899px){ .vitrine img{max-height:232px; object-fit:cover; object-position:center 45%} }

  /* --- formulário claro --- */
  .form-claro{display:flex; flex-direction:column; gap:12px}
  .form-claro h2{font-family:"Playfair Display",Georgia,serif; color:var(--preto); font-weight:400;
    font-size:clamp(19px,4.4vw,25px); line-height:1.3; margin:0 0 4px; text-align:center; text-wrap:balance}
  .campo2{display:flex; align-items:center; gap:11px; background:#fff;
    border:1px solid var(--cream-linha); border-radius:11px; padding:0 15px;
    transition:border-color .15s ease, box-shadow .15s ease}
  .campo2 .ico{font-size:17px; line-height:1; flex:none}
  .campo2 input{flex:1; min-width:0; border:0; background:transparent; padding:16px 0;
    font-family:inherit; font-size:16px; color:var(--preto)}
  .campo2 input::placeholder{color:#78736B; opacity:1}
  .campo2 input:focus{outline:none}
  .campo2:focus-within{border-color:var(--acao); box-shadow:0 0 0 3px rgba(61,123,71,.14)}
  .form-claro .ajuda2{color:var(--cinza); font-size:12.5px; line-height:1.5; margin:-4px 2px 0}
  .form-claro .aceite2{display:flex; gap:11px; align-items:flex-start; cursor:pointer; padding:2px 2px 0}
  .form-claro .aceite2 input{width:19px; height:19px; margin:1px 0 0; accent-color:var(--acao); flex:none}
  .form-claro .aceite2 span{font-size:12.5px; line-height:1.55; color:var(--cinza)}
  .form-claro .erro{color:#B0322A; font-size:13px; line-height:1.45; margin:0 2px}
  .form-claro .selo{color:var(--cinza); font-size:11px; font-weight:600; letter-spacing:.1em;
    text-transform:uppercase; text-align:center; margin:2px 0 0}

  /* --- botão grande com chacoalhada --- */
  .cta-grande{width:100%; display:block; border:0; cursor:pointer; color:#fff;
    background:var(--acao); border-radius:11px; padding:19px 20px;
    font-family:"Playfair Display",Georgia,serif; font-weight:500;
    font-size:clamp(16px,3.9vw,20px); line-height:1.25; letter-spacing:.005em;
    box-shadow:0 7px 22px rgba(61,123,71,.3); transition:background .15s ease, transform .12s ease}
  .cta-grande:hover{background:var(--acao-hover)}
  .cta-grande:active{transform:translateY(1px)}
  .cta-grande:disabled{opacity:.62; cursor:default; animation:none}

  @keyframes chacoalha{
    0%,86%,100%{transform:translateX(0)}
    87%{transform:translateX(-7px)} 88.6%{transform:translateX(7px)}
    90.2%{transform:translateX(-5px)} 91.8%{transform:translateX(5px)}
    93.4%{transform:translateX(-3px)} 95%{transform:translateX(3px)}
    96.6%{transform:translateX(0)}
  }
  .chacoalha{animation:chacoalha 5.5s ease-in-out 2.5s infinite}
  .chacoalha:hover,.chacoalha:focus-visible{animation-play-state:paused}

  /* ---- ações da página de obrigado ---- */
  .acoes-obrigado{display:flex; flex-direction:column; gap:13px; align-items:flex-start; margin-top:2px}
  @media (min-width:640px){ .acoes-obrigado{flex-direction:row; align-items:center; gap:22px} }
  .link-sec{color:var(--sage); font-size:14px; line-height:1.5; text-decoration:underline;
    text-underline-offset:3px; text-decoration-color:var(--verde-linha)}
  .link-sec:hover{color:var(--sage-claro); text-decoration-color:var(--sage)}

  /* ============================================================
     PREPARANDO — tela de carregamento entre o quiz e a agenda
     ============================================================ */
  .preparando{min-height:100svh; display:flex; align-items:center; background:var(--verde); padding-block:40px}
  .prep-caixa{max-width:560px; margin:0 auto; text-align:center}
  .prep-caixa .eyebrow{color:var(--sage); justify-content:center}
  .prep-caixa h1{margin:10px 0 0; color:var(--cream); font-family:"Playfair Display",Georgia,serif;
    font-weight:400; font-size:clamp(24px,5.6vw,34px); line-height:1.18; letter-spacing:-.012em; text-wrap:balance}

  .prep-barra{height:8px; border-radius:999px; background:var(--verde-linha-2);
    overflow:hidden; margin-top:26px}
  .prep-barra i{display:block; width:0; height:100%; border-radius:999px;
    background:linear-gradient(90deg,var(--acao) 0%,#5AA268 100%);
    box-shadow:0 0 14px rgba(90,162,104,.6)}
  .prep-pct{margin:9px 0 0; color:var(--sage-claro); font-size:13px; font-weight:700; letter-spacing:.1em}

  .prep-lista{list-style:none; margin:28px 0 0; padding:0; display:flex; flex-direction:column;
    gap:13px; text-align:left; max-width:420px; margin-inline:auto}
  .prep-lista li{display:flex; align-items:flex-start; gap:12px; color:#93A695;
    font-size:14.5px; line-height:1.5; transition:color .3s ease}
  .prep-lista li.ok{color:var(--sage-claro)}
  .prep-lista .marca{flex:none; width:19px; height:19px; margin-top:1px; border-radius:50%;
    border:1.5px solid var(--verde-linha); position:relative; transition:border-color .3s ease, background .3s ease}
  .prep-lista li.ok .marca{border-color:var(--acao); background:var(--acao)}
  .prep-lista li.ok .marca::after{content:""; position:absolute; left:5.5px; top:2.5px;
    width:5px; height:9px; border:solid #fff; border-width:0 2px 2px 0; transform:rotate(45deg)}

  /* aviso de contato que substituiu o checkbox de aceite */
  /* Letra miúda de propósito: o aviso precisa existir (exigência do Meta Ads)
     mas não deve competir com o botão. Paramos em #7A756D / 10.5px — mais
     claro que isso e o texto de consentimento fica ilegível de verdade. */
  .form-claro .aviso-lgpd{color:#7A756D; font-size:10.5px; line-height:1.45;
    text-align:center; margin:14px auto 0; max-width:44ch; letter-spacing:.005em}

  /* ============================================================
     TEMA CLARO — cabeçalho, rodapé, quiz, preparando e agenda
     ============================================================ */
  .top.claro{background:var(--cream-2); border-bottom:1px solid var(--cream-linha)}
  .top.claro .marca{color:var(--verde)}
  .top.claro .lbl{color:var(--cinza)}

  .rodape.claro{background:var(--cream-2); border-top:1px solid var(--cream-linha)}
  .rodape.claro .t{color:var(--verde)}
  .rodape.claro .d{color:var(--cinza)}

  .passo-topo.claro{background:var(--cream-2); border-bottom:1px solid var(--cream-linha)}
  .passo-topo.claro .marca{font-family:"Playfair Display",Georgia,serif; color:var(--verde);
    font-size:12px; letter-spacing:.22em}
  .passo-topo.claro .lbl{color:var(--cinza); font-weight:700; letter-spacing:.16em}
  .passo-topo.claro + .passo-barra,
  .passo-topo.claro .passo-barra{background:var(--cream-linha)}

  .pergunta.claro{background:var(--cream)}
  .pergunta.claro h1{color:var(--preto)}
  .pergunta.claro .apoio{color:var(--cinza)}
  .pergunta.claro .voltar{color:var(--acao-texto)}
  .pergunta.claro .voltar:hover{color:var(--verde)}

  .pergunta.claro .op{background:#fff; border-color:var(--cream-linha); color:var(--preto)}
  .pergunta.claro .op:hover{border-color:var(--acao); background:#FCFBF9}
  .pergunta.claro .op .marca{border-color:#C3BDB4}
  .pergunta.claro .op[aria-checked="true"]{border-color:var(--acao); background:#F1F6F1}
  .pergunta.claro .op[aria-checked="true"] .marca{border-color:var(--acao); background:var(--acao)}

  .preparando.claro{background:var(--cream)}
  .preparando.claro .eyebrow{color:var(--acao-texto)}
  .preparando.claro h1{color:var(--preto)}
  .preparando.claro .prep-barra{background:var(--cream-linha)}
  .preparando.claro .prep-pct{color:var(--cinza)}
  .preparando.claro .prep-lista li{color:#706B63}
  .preparando.claro .prep-lista li.ok{color:var(--preto)}
  .preparando.claro .prep-lista .marca{border-color:#A9A297}

  /* ---- provas: agora na página 1, em fundo claro e com cantos suaves ---- */
  .sec.claro .prova img{border-radius:12px; box-shadow:0 6px 20px rgba(26,26,26,.10)}
  .sec.claro .prova figcaption{color:var(--cinza)}
  @media (min-width:900px){
    .sec.claro .provas{grid-template-columns:repeat(3,1fr); gap:20px}
    .sec.claro .prova img{aspect-ratio:4/3}
  }

  /* ---- fecho da página 1 ---- */
  .fecho{border-top:1px solid var(--cream-linha)}
  .cta-inline{display:inline-block; width:auto; text-decoration:none; text-align:center;
    padding:17px 30px; animation:none}

  /* ---- campo de telefone com país ---- */
  .campo-tel{padding-left:0; gap:0}
  .campo-tel .pais{display:flex; align-items:center; gap:6px; position:relative;
    padding:0 11px 0 14px; align-self:stretch; cursor:pointer;
    border-right:1px solid var(--cream-linha)}
  .campo-tel .pais .bandeira{font-size:17px; line-height:1}
  .campo-tel .pais .ddi{font-size:15px; color:var(--preto); font-variant-numeric:tabular-nums}
  .campo-tel .pais .seta{color:#8A857D; flex:none}
  .campo-tel .pais select{position:absolute; inset:0; width:100%; height:100%;
    opacity:0; cursor:pointer; font-size:16px; border:0}
  .campo-tel .pais:focus-within{outline:2px solid var(--acao); outline-offset:-2px; border-radius:11px 0 0 11px}
  .campo-tel input{padding-left:12px}

  /* o espaço em "PRIME LAND CLUB" fazia a marca quebrar em duas linhas no celular */
  .top .marca, .entrada-topo .marca, .passo-topo .marca{white-space:nowrap}
  @media (max-width:420px){
    .top.claro .marca{font-size:11.5px; letter-spacing:.16em}
    .top.claro .lbl{font-size:10px; letter-spacing:.1em}
  }
  /* o placeholder do telefone é longo; encolhe o seletor de país no celular */
  @media (max-width:420px){
    .campo-tel .pais{padding:0 8px 0 11px; gap:4px}
    .campo-tel .pais .ddi{font-size:14px}
    .campo-tel input{padding-left:10px; font-size:15px}
  }

  /* logo centralizado (o cabeçalho claro não tem mais o rótulo à direita) */
  .top.claro .in{justify-content:center; padding-block:16px}
  @media (min-width:900px){ .top.claro .in{justify-content:center; padding-block:20px} }

  /* ============================================================
     Ajustes pedidos pelo Rafael — 30/08
     ============================================================ */
  /* cabeçalho branco: no verde escuro o logo sumia */
  .top.claro{background:#fff; border-bottom:1px solid var(--cream-linha)}

  /* o eyebrow saiu; o conteúdo sobe */
  .entrada-miolo{padding-block:22px 40px}
  @media (min-width:900px){ .entrada-miolo{padding-block:30px 52px} }
  .apresenta .titulo{margin-top:0}

  /* um único padrão de botão em toda a página */
  .cta-grande, .cta-inline{border-radius:11px; padding:19px 24px;
    font-family:"Playfair Display",Georgia,serif; font-weight:500;
    font-size:clamp(16px,3.9vw,20px); line-height:1.25}
  .cta-inline{display:inline-block; width:auto; min-width:min(340px,88vw); text-decoration:none;
    text-align:center; animation:none}

  .cta-sec{display:flex; flex-direction:column; align-items:center; gap:10px; text-align:center}
  .cta-sec .lbl{color:var(--cinza)}
  .sec.sem-topo{padding-block:6px 34px}
  @media (min-width:900px){ .sec.sem-topo{padding-block:10px 56px} }

  /* fotos menores e com o mesmo arredondamento da foto do topo */
  .sec.claro .provas{grid-template-columns:repeat(2,1fr); gap:14px}
  .sec.claro .prova img{border-radius:12px; aspect-ratio:4/3; object-fit:cover;
    box-shadow:0 6px 20px rgba(26,26,26,.10)}
  .sec.claro .prova figcaption{font-size:12.5px; margin-top:8px}
  @media (min-width:900px){
    .sec.claro .provas{grid-template-columns:repeat(3,1fr); gap:18px; max-width:1000px; margin-inline:auto}
  }

  /* fecho: texto à esquerda, formulário à direita */
  .fecho{border-top:1px solid var(--cream-linha)}


  /* rodapé com os itens que o Meta pede */
  .rodape.claro .wrap{display:flex; flex-direction:column; gap:14px}
  .rodape-topo{display:flex; flex-direction:column; gap:12px}
  @media (min-width:760px){ .rodape-topo{flex-direction:row; align-items:flex-start; justify-content:space-between; gap:40px} }
  .rodape.claro .end{color:var(--cinza); font-size:12.5px; line-height:1.5; margin-top:4px}
  .rodape-links{display:flex; flex-wrap:wrap; gap:8px 20px}
  .rodape-links a{color:var(--acao-texto); font-size:12.5px; text-decoration:underline;
    text-underline-offset:3px; text-decoration-color:var(--cream-linha)}
  .rodape-links a:hover{text-decoration-color:var(--acao)}
  .rodape.claro .c{color:#706B63; font-size:11.5px}

  /* ---- botões do quiz: levemente arredondados + resposta ao clique ---- */
  .op{border-radius:10px}
  .pergunta.claro .op{border-radius:10px}

  .ops.decidido .op{pointer-events:none}
  .ops.decidido .op:not(.escolhida){opacity:.35; transform:scale(.99);
    transition:opacity .3s ease, transform .3s ease}

  .op.escolhida{animation:escolhida .5s cubic-bezier(.34,1.4,.64,1) both}
  .pergunta.claro .op.escolhida{border-color:var(--acao); background:#EAF2EB;
    box-shadow:0 0 0 3px rgba(61,123,71,.18)}
  .op.escolhida .marca{border-color:var(--acao); background:var(--acao)}
  .op.escolhida .marca::after{animation:marcaEntra .28s ease-out .06s both}

  @keyframes escolhida{
    0%{transform:scale(1)}
    38%{transform:scale(1.028)}
    100%{transform:scale(1)}
  }
  @keyframes marcaEntra{ from{transform:scale(0); opacity:0} to{transform:scale(1); opacity:1} }

  /* ============================================================
     Ajustes da 2ª rodada com o Rafael — 30/08
     ============================================================ */
  /* "Número de telefone com DDD" não cabia: encolhe só o placeholder */
  .campo-tel input{font-size:15px}
  .campo-tel input::placeholder{font-size:14px}
  @media (max-width:420px){ .campo-tel input, .campo-tel input::placeholder{font-size:13.5px} }
  @media (min-width:900px){ .campo-tel input, .campo-tel input::placeholder{font-size:15px} }

  /* o CTA entre seções tinha espaço demais em volta */
  .sec.sem-topo{padding-block:0 26px}
  @media (min-width:900px){ .sec.sem-topo{padding-block:0 40px} }
  .cta-sec{gap:9px}

  /* logo no cabeçalho do quiz e da agenda */
  .marca-quiz{display:inline-flex; align-items:center; gap:8px}
  .marca-quiz svg{flex:none}

  /* ---- página de obrigado, agora clara ---- */
  .obrigado{min-height:100svh; display:flex; flex-direction:column; background:var(--cream)}
  .obrigado .sec{flex:0 0 auto}
  .ob-grid{display:flex; flex-direction:column; gap:28px}
  .ob-texto{display:flex; flex-direction:column; gap:15px}
  .obrigado h1{margin:0; font-family:"Playfair Display",Georgia,serif; font-weight:400; color:var(--preto);
    font-size:clamp(26px,6vw,40px); line-height:1.14; letter-spacing:-.015em}
  .obrigado .p{max-width:56ch}
  .obrigado .p b{color:var(--preto); font-weight:600}
  @media (min-width:900px){
    .ob-grid{flex-direction:row; align-items:center; gap:56px}
    .ob-texto{flex:1 1 0; min-width:0}
    .ob-foto{flex:0 0 300px}
  }
  .ob-foto{margin:0}
  .ob-foto img{width:100%; max-width:260px; height:auto; display:block; margin:0 auto; border-radius:50%}
  .ob-foto figcaption{color:var(--cinza); font-size:13px; line-height:1.55; margin-top:12px; text-align:center}

  .acoes-obrigado{display:flex; flex-direction:column; gap:13px; align-items:flex-start; margin-top:4px}
  @media (min-width:640px){ .acoes-obrigado{flex-direction:row; align-items:center; gap:22px} }
  .obrigado .link-sec{color:var(--acao-texto); text-decoration-color:var(--cream-linha)}
  .obrigado .link-sec:hover{color:var(--verde); text-decoration-color:var(--acao)}

  /* botão do WhatsApp: ícone, arredondado e pulsando */
  .zap-pulsa{display:inline-flex; align-items:center; justify-content:center; gap:11px;
    background:#178048; border-radius:999px; box-shadow:0 7px 22px rgba(23,128,72,.34)}
  .zap-pulsa:hover{background:#12693B}
  .zap-pulsa svg{flex:none}
  .zap-pulsa{animation:pulsaZap 2.4s ease-in-out 1.2s infinite}
  .zap-pulsa:hover, .zap-pulsa:focus-visible{animation-play-state:paused}
  @keyframes pulsaZap{
    0%,72%,100%{transform:scale(1);   box-shadow:0 7px 22px rgba(23,128,72,.34)}
    82%        {transform:scale(1.035); box-shadow:0 10px 30px rgba(23,128,72,.5)}
    92%        {transform:scale(1);   box-shadow:0 7px 22px rgba(23,128,72,.34)}
  }

  /* ---- barra fixa do celular, versão clara ---- */
  .barra.claro{background:rgba(255,255,255,.985); border-top:1px solid var(--cream-linha);
    box-shadow:0 -6px 24px rgba(26,26,26,.10); padding:10px 0;
    backdrop-filter:saturate(1.4) blur(8px)}
  .barra.claro .in{display:flex; align-items:center; gap:14px}
  .barra.claro .v{font-family:"Playfair Display",Georgia,serif; color:var(--preto);
    font-size:15px; line-height:1.15}
  .barra.claro .k{color:var(--cinza); font-size:9.5px; font-weight:700;
    letter-spacing:.11em; text-transform:uppercase; margin-top:2px}
  .barra.claro a{border-radius:11px; min-height:48px; padding:0 20px; background:var(--acao);
    color:#fff; font-family:"Playfair Display",Georgia,serif; font-weight:500; font-size:16px;
    text-decoration:none; box-shadow:0 4px 14px rgba(61,123,71,.28)}
  .barra.claro a:hover{background:var(--acao-hover)}
  body.tem-barra{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}
  @media (min-width:900px){ .barra{display:none} body.tem-barra{padding-bottom:0} }

  .barra.claro .t{min-width:0}
  .barra.claro .v, .barra.claro .k{white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
  /* em telas estreitas o botão encolhe primeiro, para o rótulo não ser cortado */
  @media (max-width:419px){
    .barra.claro a{padding:0 15px; font-size:15px}
    .barra.claro .in{gap:10px}
    .barra.claro .v{font-size:15px}
  }
  @media (max-width:380px){
    .barra.claro a{padding:0 13px; font-size:14.5px}
    .barra.claro .in{gap:8px}
    .barra.claro .v{font-size:14px}
    .barra.claro .k{font-size:9px; letter-spacing:.07em}
  }

  /* ---- centralização das seções ---- */
  .cabeca-sec{display:flex; flex-direction:column; gap:12px; align-items:center;
    text-align:center; margin:0 auto 20px; max-width:760px}
  .cabeca-sec .eyebrow{justify-content:center}
  .cabeca-sec .h2{max-width:100% !important}

  /* fecho: manchete e texto acima do formulário, tudo numa coluna centrada */
  .fecho-coluna{display:flex; flex-direction:column; align-items:center; gap:22px}
  .fecho-texto{display:flex; flex-direction:column; gap:12px; align-items:center;
    text-align:center; max-width:640px}
  .fecho-coluna .form-claro{width:100%; max-width:460px}

  /* FAQ centrado, com as perguntas ainda alinhadas à esquerda para ler bem */
  .faq{max-width:760px; margin-inline:auto}
  .faq summary, .faq .r, .faq p{text-align:left}

  /* ---- hero com mínimo e subheadline (copy nova) ---- */
  .chamada-min{font-size:11.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
    color:var(--acao-texto); margin:0 0 12px}
  .apresenta .titulo{font-size:clamp(22px,5vw,34px)}
  .sub-hero{color:var(--cinza-2); font-size:clamp(15px,3.7vw,17.5px); line-height:1.6;
    margin:14px auto 0; max-width:58ch}
  .form-claro h2{font-size:clamp(17px,3.8vw,21px)}

  /* fotos da galeria levam ao formulário */
  .prova-alvo{display:block; cursor:pointer; border-radius:12px; overflow:hidden;
    transition:transform .18s ease, box-shadow .18s ease}
  .prova-alvo:hover{transform:translateY(-2px)}
  .prova-alvo:hover img{box-shadow:0 12px 30px rgba(26,26,26,.20)}
  .prova-alvo:focus-visible{outline:2px solid var(--acao); outline-offset:3px}

  /* ============================================================
     "A conta aberta" — só no funil de aluguel
     ============================================================ */
  .conta .cabeca-sec .p{color:var(--cinza); font-size:14.5px; max-width:64ch; margin-inline:auto}
  .conta .sub-conta{color:var(--cinza); font-weight:600; letter-spacing:.11em;
    text-transform:uppercase; font-size:11px; margin:34px 0 12px; text-align:left}
  .conta > .wrap > .p, .conta > .wrap > .miudo{max-width:66ch}
  .miudo{color:var(--cinza); font-size:12.5px; line-height:1.6; margin-top:20px}

  /* cartões de número */
  .nums{display:grid; grid-template-columns:repeat(auto-fit,minmax(168px,1fr));
    gap:1px; background:var(--cream-linha); border:1px solid var(--cream-linha);
    border-radius:3px; overflow:hidden; margin-top:22px}
  .num{background:#fff; padding:19px 17px}
  .num .lab{display:block; color:var(--cinza); font-size:10px; font-weight:600;
    letter-spacing:.1em; text-transform:uppercase; margin-bottom:9px}
  .num .val{display:block; font-family:"Playfair Display",Georgia,serif; font-size:1.55rem;
    font-weight:500; line-height:1; letter-spacing:-.02em; font-variant-numeric:tabular-nums;
    color:var(--preto)}
  .num .obs{display:block; color:var(--cinza); font-size:12.5px; line-height:1.4; margin-top:9px}
  .num.pos .val{color:#1E6B4A}
  .num.ouro .val{color:#7A5D18}

  /* tabelas */
  .tabela-rolagem{overflow-x:auto; -webkit-overflow-scrolling:touch}
  .tab{width:100%; border-collapse:collapse; font-size:14.5px; min-width:100%}
  .tab.larga{min-width:520px}
  .tab th{text-align:left; color:var(--cinza); font-size:10px; font-weight:600;
    letter-spacing:.1em; text-transform:uppercase; padding:0 14px 9px 0;
    border-bottom:1px solid var(--cream-linha); vertical-align:bottom}
  .tab td{padding:10px 14px 10px 0; border-bottom:1px solid var(--cream-linha); vertical-align:top}
  .tab .n{text-align:right; font-variant-numeric:tabular-nums; padding-right:0; white-space:nowrap}
  .tab tr:last-child td{border-bottom:none}
  .tab tr.soma td{border-top:1.5px solid var(--preto); border-bottom:none;
    font-weight:600; padding-top:12px}
  .tab .pos{color:#1E6B4A}

  /* as duas partes do retorno */
  .parte{border-left:3px solid var(--acao); background:#EDF3EE;
    padding:16px 19px; border-radius:0 3px 3px 0; margin-bottom:11px}
  .parte .plab{display:block; color:#265C34; font-size:10px; font-weight:700;
    letter-spacing:.11em; text-transform:uppercase; margin-bottom:8px}
  .parte p{margin:0; font-size:15px; line-height:1.6; color:var(--cinza-2)}
  .parte p b{color:var(--preto)}
  .parte.total{border-left-color:#8A6A1F; background:#F6F1E2}
  .parte.total .plab{color:#6E5316}

  .citacao{font-family:"Playfair Display",Georgia,serif; font-size:clamp(1.05rem,2.2vw,1.35rem);
    line-height:1.42; border-left:3px solid #8A6A1F; padding:4px 0 4px 21px;
    margin:26px 0 0; max-width:56ch; color:var(--preto)}

  /* No celular a tabela de 4 colunas não cabe: 520px dentro de ~350px
     escondia "Ganho em 5 anos" e "Seu capital vira" atrás de um scroll
     horizontal que ninguém acha. Abaixo de 620px cada linha vira um
     cartão, com o rótulo da coluna vindo do data-rot. */
  @media (max-width:619px){
    .tab.larga{min-width:0; display:block; font-size:14px}
    .tab.larga thead{position:absolute; width:1px; height:1px; overflow:hidden;
      clip-path:inset(50%); white-space:nowrap}
    .tab.larga tbody, .tab.larga tr, .tab.larga td{display:block}
    .tab.larga tr{border:1px solid var(--cream-linha); border-radius:4px;
      padding:13px 15px; margin-bottom:9px; background:#fff}
    .tab.larga tr:last-child{margin-bottom:0}
    .tab.larga td{border:none; padding:0}
    .tab.larga .rot-linha{font-weight:600; color:var(--preto); font-size:15px;
      padding-bottom:10px; margin-bottom:9px; border-bottom:1px solid var(--cream-linha)}
    .tab.larga .n{display:flex; align-items:baseline; justify-content:space-between;
      gap:14px; text-align:right; padding:4px 0}
    .tab.larga .n::before{content:attr(data-rot); color:var(--cinza); font-size:10px;
      font-weight:600; letter-spacing:.1em; text-transform:uppercase;
      text-align:left; white-space:normal}
  }

  @media (min-width:900px){
    .conta > .wrap{max-width:900px; margin-inline:auto}
    .conta .sub-conta{margin-top:42px}
  }
