:root{
    --verde:#98C030;
    --verde-escuro:#3F5A17;
    --verde-noite:#243409;
    --grafite:#484848;
    --grafite-claro:#6B6B6B;
    --milho:#F5B914;
    --branco:#FFFFFF;
    --palha:#F6F7F1;
    --linha:#DDE0D2;
    --display:"Bricolage Grotesque",system-ui,sans-serif;
    --texto:"IBM Plex Sans",system-ui,sans-serif;
    --largura:1120px;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  @media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
  body{font-family:var(--texto);color:var(--grafite);background:var(--branco);line-height:1.55;font-size:17px;-webkit-font-smoothing:antialiased}
  img{max-width:100%;display:block}
  a{color:inherit}
  h1,h2,h3{font-family:var(--display);color:var(--verde-noite);line-height:1.08;letter-spacing:-0.015em}
  h1{font-size:clamp(2.3rem,5.4vw,4.2rem);font-weight:800}
  h2{font-size:clamp(1.7rem,3.2vw,2.5rem);font-weight:700}
  h3{font-size:1.2rem;font-weight:700;color:var(--verde-escuro)}
  p{max-width:62ch}
  .wrap{width:min(var(--largura),calc(100% - 2.5rem));margin-inline:auto}
  section{padding-block:clamp(3.5rem,8vw,6.5rem)}

  /* botões */
  .btn{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--display);font-weight:700;font-size:1.05rem;padding:.95rem 1.6rem;border-radius:999px;text-decoration:none;border:2px solid transparent;cursor:pointer;transition:transform .12s ease,background .15s ease}
  .btn:active{transform:translateY(1px)}
  .btn:disabled{opacity:.65;cursor:wait;transform:none}
  .btn:focus-visible{outline:3px solid var(--milho);outline-offset:3px}
  .btn-primario{background:var(--verde);color:var(--verde-noite)}
  .btn-primario:hover{background:#A9D23D}
  .btn-secundario{background:transparent;color:var(--verde-noite);border-color:var(--verde-noite)}
  .btn-secundario:hover{background:var(--palha)}
  .btn svg{width:20px;height:20px;display:block;flex:none}
  .whatsapp-icon{display:block;width:1.25rem;height:1.25rem;flex:none;background:currentColor;-webkit-mask:url('../assets/icons/whatsapp.svg') center/contain no-repeat;mask:url('../assets/icons/whatsapp.svg') center/contain no-repeat}

  /* topo */
  header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--linha)}
  .topo{display:flex;align-items:center;justify-content:space-between;height:92px}
  .marca{display:flex;align-items:center;text-decoration:none}
  .marca img{height:76px;width:auto}
  @media(max-width:520px){.topo{height:80px}.marca img{height:64px}}
  .topo .btn{padding:.6rem 1.15rem;font-size:.95rem}
  .topo nav a.link{display:none}
  @media(min-width:800px){
    .topo nav{display:flex;align-items:center;gap:1.8rem}
    .topo nav a.link{display:inline;text-decoration:none;font-weight:500;color:var(--grafite)}
    .topo nav a.link:hover{color:var(--verde-escuro)}
  }

  /* hero */
  .hero{padding-block:clamp(3rem,7vw,5.5rem) 0;background:linear-gradient(180deg,var(--palha) 0%,var(--branco) 100%)}
  .hero-grid{display:grid;gap:2.5rem}
  @media(min-width:900px){.hero-grid{grid-template-columns:1.15fr .85fr;align-items:end}}
  .hero .lead{font-size:clamp(1.1rem,1.6vw,1.3rem);margin-top:1.4rem;color:var(--grafite)}
  .hero .acoes{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:2rem}
  .hero small{display:block;margin-top:1rem;color:var(--grafite-claro);font-size:.92rem}
  .hero h1 em{font-style:normal;color:var(--verde-escuro)}

  /* cartão de contexto no hero */
  .contexto{background:var(--verde-noite);color:#E9F0D6;border-radius:20px;padding:1.6rem 1.7rem;position:relative;overflow:hidden}
  .contexto::after{content:"";position:absolute;right:-60px;bottom:-60px;width:180px;height:180px;border-radius:50%;background:var(--verde);opacity:.25}
  .contexto p{color:#E9F0D6;font-size:1rem}
  .contexto strong{color:var(--milho);font-family:var(--display);font-size:2.6rem;display:block;line-height:1;margin-bottom:.4rem}
  .contexto ul{list-style:none;margin-top:1.1rem;display:grid;gap:.55rem;font-size:.95rem}
  .contexto li{display:flex;gap:.6rem;align-items:flex-start}
  .contexto li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--verde);flex:none;margin-top:.5rem}

  /* linha do tempo — assinatura da página */
  .timeline{margin-top:clamp(3rem,6vw,4.5rem);border-top:1px solid var(--linha);padding-block:2rem 0}
  .timeline-titulo{font-size:.95rem;color:var(--grafite-claro);margin-bottom:1.2rem}
  .tl{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);gap:0;position:relative;padding-bottom:2.2rem}
  .tl::before{content:"";position:absolute;left:11px;right:0;top:12px;height:4px;background:linear-gradient(90deg,var(--verde) 0%,var(--verde) 22%,var(--milho) 22%,var(--milho) 100%);border-radius:2px}
  .tl-item{position:relative;padding-top:3.1rem;padding-right:1.2rem}
  .tl-item::before{content:"";position:absolute;top:0;left:0;width:28px;height:28px;border-radius:50%;background:var(--branco);border:4px solid var(--milho);z-index:1}
  .tl-item.agora::before{border-color:var(--verde);background:var(--verde)}
  .tl-item .ano{font-family:var(--display);font-weight:800;font-size:1.35rem;color:var(--verde-noite);line-height:1.15;display:flex;align-items:center;flex-wrap:wrap;gap:.45rem}
  .tl-item.agora .ano::after{content:"você está aqui";display:inline-block;margin-left:.5rem;font-family:var(--texto);font-weight:600;font-size:.7rem;background:var(--verde);color:var(--verde-noite);padding:.15rem .5rem;border-radius:999px;vertical-align:middle}
  .tl-item p{font-size:.9rem;margin-top:.45rem;color:var(--grafite);line-height:1.4}
  @media(max-width:760px){
    .tl{grid-template-columns:1fr;gap:1.2rem;padding-left:1.4rem;padding-bottom:0}
    .tl::before{left:12px;right:auto;top:0;bottom:0;width:4px;height:auto;background:linear-gradient(180deg,var(--verde) 0%,var(--verde) 22%,var(--milho) 22%,var(--milho) 100%)}
    .tl-item{padding-top:0;padding-left:1.4rem}
    .tl-item::before{left:-1.4rem;top:0;width:28px;height:28px}
  }

  /* sinais */
  .sinais{background:var(--branco)}
  .sinais-grid{display:grid;gap:1rem;margin-top:2.2rem}
  @media(min-width:760px){.sinais-grid{grid-template-columns:1fr 1fr}}
  .sinal{display:flex;gap:1rem;padding:1.3rem 1.4rem;background:var(--palha);border-radius:14px;border-left:5px solid var(--milho)}
  .sinal svg{width:26px;height:26px;flex:none;margin-top:.15rem}
  .sinal p{font-size:1rem}
  .sinais .fecho{margin-top:2rem;font-size:1.1rem}
  .sinais .fecho b{color:var(--verde-escuro)}

  /* o que muda */
  .muda{background:var(--verde-noite);color:#E9F0D6}
  .muda h2{color:var(--branco)}
  .muda .intro{color:#C9D6AC;margin-top:.9rem;max-width:68ch}
  .pilares{display:grid;gap:1rem;margin-top:2.5rem;counter-reset:pilar}
  @media(min-width:760px){.pilares{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}}
  .pilar{counter-increment:pilar;position:relative;background:rgba(255,255,255,.055);border:1px solid rgba(201,214,172,.2);border-radius:18px;padding:1.5rem 1.5rem 1.4rem 4.6rem;min-height:100%}
  .pilar::before{content:counter(pilar,decimal-leading-zero);position:absolute;top:1.45rem;left:1.35rem;width:2.35rem;height:2.35rem;border-radius:50%;display:grid;place-items:center;background:var(--verde);color:var(--verde-noite);font-family:var(--display);font-size:.9rem;font-weight:800}
  .pilar h3{color:var(--branco);font-size:1.15rem;line-height:1.2;max-width:30ch}
  .pilar p{color:#D7E1C0;font-size:.96rem;margin-top:.7rem;line-height:1.6}
  .pilar .risco{margin-top:1.1rem;padding-top:1rem;border-top:1px solid rgba(245,185,20,.3);font-size:.9rem;color:var(--milho);font-weight:600}
  .muda .nota{margin-top:2.5rem;font-size:.92rem;color:#9DAE7C;max-width:70ch}
  @media(max-width:520px){.pilar{padding:4.7rem 1.3rem 1.3rem}.pilar::before{left:1.3rem}}

  /* como funciona */
  .como{background:var(--palha)}
  .passos{list-style:none;display:grid;gap:1.5rem;margin-top:2.5rem;counter-reset:passo}
  @media(min-width:800px){.passos{grid-template-columns:repeat(3,1fr)}}
  .passo{background:var(--branco);border-radius:18px;padding:1.6rem;position:relative;border:1px solid var(--linha)}
  .passo::before{counter-increment:passo;content:counter(passo);font-family:var(--display);font-weight:800;font-size:2.4rem;color:var(--verde);line-height:1;display:block;margin-bottom:.8rem}
  .passo .prazo{display:inline-block;margin-top:1rem;font-size:.85rem;font-weight:600;color:var(--verde-escuro);background:#EAF3D2;padding:.2rem .7rem;border-radius:999px}
  .passo p{font-size:1rem;margin-top:.5rem}
  .entregavel{margin-top:2.5rem;background:var(--branco);border:2px dashed var(--verde);border-radius:18px;padding:1.6rem}
  .entregavel h3{margin-bottom:.8rem}
  .entregavel ul{list-style:none;display:grid;gap:.5rem}
  @media(min-width:760px){.entregavel ul{grid-template-columns:1fr 1fr}}
  .entregavel li{display:flex;gap:.6rem;align-items:flex-start;font-size:1rem}
  .entregavel li svg{width:20px;height:20px;flex:none;margin-top:.2rem}

  /* quem faz */
  .quem-grid{display:grid;gap:2.5rem;align-items:center}
  @media(min-width:900px){.quem-grid{grid-template-columns:1fr 1fr}}
  .quem .lead{font-size:1.15rem;margin-top:1rem}
  .fatos{display:grid;gap:1rem;margin-top:1.8rem}
  @media(min-width:520px){.fatos{grid-template-columns:1fr 1fr}}
  .fato{border-left:4px solid var(--verde);padding-left:1rem}
  .fato b{font-family:var(--display);font-size:1.15rem;color:var(--verde-noite);display:block}
  .fato span{font-size:.95rem;color:var(--grafite-claro)}
  .cite{background:var(--palha);border-radius:20px;padding:2rem}
  .cite blockquote{font-family:var(--display);font-weight:500;font-size:1.35rem;line-height:1.35;color:var(--verde-noite)}
  .cite figcaption{margin-top:1.2rem;font-size:.95rem;color:var(--grafite-claro)}
  .cite figcaption b{color:var(--grafite);font-weight:600}

  /* faq */
  .faq{background:var(--branco)}
  .faq details{border-bottom:1px solid var(--linha);padding:1.1rem 0}
  .faq details:first-of-type{border-top:1px solid var(--linha);margin-top:2rem}
  .faq summary{cursor:pointer;font-family:var(--display);font-weight:700;font-size:1.1rem;color:var(--verde-noite);list-style:none;display:flex;justify-content:space-between;gap:1rem;align-items:center}
  .faq summary::-webkit-details-marker{display:none}
  .faq summary::after{content:"+";font-size:1.6rem;color:var(--verde);flex:none;line-height:1;transition:transform .15s}
  .faq details[open] summary::after{transform:rotate(45deg)}
  .faq summary:focus-visible{outline:3px solid var(--milho);outline-offset:4px;border-radius:6px}
  .faq details p{margin-top:.8rem;font-size:1rem;max-width:70ch}

  /* cta / formulário */
  .cta{background:var(--verde-noite);color:#E9F0D6}
  .cta h2{color:var(--branco)}
  .cta .intro{color:#C9D6AC;margin-top:.8rem}
  .cta-grid{display:grid;gap:2.5rem;margin-top:1rem}
  @media(min-width:900px){.cta-grid{grid-template-columns:1fr 1fr;align-items:start}}
  form{background:var(--branco);border-radius:20px;padding:1.8rem;color:var(--grafite);display:grid;gap:1rem}
  .campo-seguranca{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
  label{display:grid;gap:.35rem;font-size:.92rem;font-weight:600;color:var(--grafite)}
  input,select{font:inherit;font-size:1rem;padding:.8rem .95rem;border:1.5px solid var(--linha);border-radius:10px;background:var(--branco);color:var(--grafite);width:100%}
  input:focus,select:focus{outline:3px solid var(--milho);outline-offset:1px;border-color:var(--verde-escuro)}
  .duas{display:grid;gap:1rem}
  @media(min-width:520px){.duas{grid-template-columns:1fr 1fr}}
  form .btn{justify-content:center;width:100%;margin-top:.3rem}
  form .aviso{font-size:.82rem;color:var(--grafite-claro);text-align:center}
  form .aviso a{color:var(--verde-escuro);font-weight:600}
  form .status-envio:empty{display:none}
  form .status-envio{font-size:.86rem;color:var(--verde-escuro);text-align:center}
  .direto{display:grid;gap:1.4rem}
  .direto .canal{display:flex;gap:1rem;align-items:flex-start}
  .direto .canal svg{width:26px;height:26px;display:block;flex:none;color:var(--verde)}
  .direto .canal .whatsapp-icon{width:26px;height:26px;color:var(--verde)}
  .direto .canal a{color:var(--branco);text-decoration:none;font-weight:600;font-size:1.05rem}
  .direto .canal a:hover{text-decoration:underline}
  .direto .canal span{display:block;color:#9DAE7C;font-size:.9rem}

  footer{background:#1B2807;color:#9DAE7C;font-size:.9rem;padding-block:2rem}
  footer .wrap{display:flex;flex-wrap:wrap;gap:1rem 2rem;justify-content:space-between;align-items:center}
  footer a{color:#C9D6AC;text-decoration:none}
  footer a:hover{text-decoration:underline}

  /* whatsapp flutuante (mobile) */
  .zap-flutuante{position:fixed;right:1rem;bottom:1rem;z-index:30;background:#25D366;color:#fff;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;box-shadow:0 8px 24px rgba(0,0,0,.25)}
  .zap-flutuante svg{width:30px;height:30px;display:block}
  .zap-flutuante .whatsapp-icon{width:30px;height:30px}
  .zap-flutuante:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(0,0,0,.3)}

  /* página de obrigado */
  .pagina-obrigado{min-height:100vh;background:var(--palha)}
  .obrigado-main{min-height:calc(100vh - 92px);display:grid;align-items:center;padding-block:clamp(3rem,8vw,6rem);background:radial-gradient(circle at 85% 10%,rgba(152,192,48,.22),transparent 30%),linear-gradient(145deg,var(--palha),var(--branco))}
  .obrigado-grid{display:grid;gap:2rem;align-items:center}
  @media(min-width:900px){.obrigado-grid{grid-template-columns:1.08fr .92fr}}
  .obrigado-confirmacao{background:var(--branco);border:1px solid var(--linha);border-radius:24px;padding:clamp(1.7rem,4vw,3rem);box-shadow:0 20px 55px rgba(36,52,9,.1)}
  .obrigado-check{width:58px;height:58px;display:grid;place-items:center;border-radius:50%;background:var(--verde);color:var(--verde-noite);margin-bottom:1.3rem}
  .obrigado-check svg{width:31px;height:31px}
  .obrigado-confirmacao h1{font-size:clamp(2.2rem,5vw,3.7rem)}
  .obrigado-confirmacao .lead{font-size:1.12rem;margin-top:1rem}
  .obrigado-confirmacao .btn{margin-top:1.7rem}
  .obrigado-confirmacao .btn .whatsapp-icon{width:1.35rem;height:1.35rem}
  .obrigado-confirmacao small{display:block;color:var(--grafite-claro);margin-top:.8rem;font-size:.86rem}
  .obrigado-proximos{background:var(--verde-noite);color:#D7E1C0;border-radius:22px;padding:clamp(1.6rem,4vw,2.4rem)}
  .obrigado-proximos h2{color:var(--branco);font-size:1.65rem}
  .obrigado-passos{list-style:none;display:grid;gap:1.25rem;margin-top:1.5rem;counter-reset:obrigado-passo}
  .obrigado-passos li{counter-increment:obrigado-passo;display:grid;grid-template-columns:38px 1fr;gap:.8rem;align-items:start}
  .obrigado-passos li::before{content:counter(obrigado-passo);width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--verde);color:var(--verde-noite);font-family:var(--display);font-weight:800}
  .obrigado-passos strong{display:block;color:var(--branco);font-family:var(--display);font-size:1.05rem}
  .obrigado-passos span{display:block;color:#AFC18D;font-size:.92rem;margin-top:.2rem}
  .pagina-obrigado footer{margin-top:auto}
  @media(max-width:520px){.obrigado-confirmacao .btn{width:100%;justify-content:center}.zap-flutuante{width:54px;height:54px}}

  /* política de privacidade */
  .politica-hero{padding-block:clamp(3rem,7vw,5.5rem);background:linear-gradient(135deg,var(--palha) 0%,#EDF3DC 100%);border-bottom:1px solid var(--linha)}
  .politica-hero-grid{display:grid;gap:2.5rem;align-items:end}
  @media(min-width:880px){.politica-hero-grid{grid-template-columns:1.2fr .8fr}}
  .sobretitulo{font-family:var(--display);font-size:.9rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--verde-escuro);margin-bottom:.8rem}
  .politica-hero h1{font-size:clamp(2.4rem,5vw,4rem)}
  .politica-hero .lead{font-size:clamp(1.08rem,1.6vw,1.25rem);margin-top:1.25rem;max-width:60ch}
  .politica-resumo{background:var(--verde-noite);color:#D7E1C0;border-radius:20px;padding:1.6rem 1.7rem;border-top:5px solid var(--verde)}
  .politica-resumo strong{display:block;font-family:var(--display);font-size:1.35rem;color:var(--branco);margin-bottom:.9rem}
  .politica-resumo ul{list-style:none;display:grid;gap:.7rem}
  .politica-resumo li{display:flex;gap:.65rem;font-size:.95rem}
  .politica-resumo li::before{content:"✓";color:var(--milho);font-weight:800;flex:none}
  .politica-resumo p{font-size:.8rem;color:#9DAE7C;margin-top:1.2rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.12)}
  .politica-corpo{padding-block:clamp(3rem,7vw,5.5rem);background:var(--branco)}
  .politica-layout{display:grid;gap:3rem;align-items:start}
  @media(min-width:940px){.politica-layout{grid-template-columns:240px minmax(0,760px);justify-content:space-between}}
  .politica-indice{background:var(--palha);border:1px solid var(--linha);border-radius:16px;padding:1.3rem}
  @media(min-width:940px){.politica-indice{position:sticky;top:116px}}
  .politica-indice>span{display:block;font-family:var(--display);font-weight:800;color:var(--verde-noite);margin-bottom:.7rem}
  .politica-indice nav{display:grid}
  .politica-indice a{padding:.5rem 0;text-decoration:none;color:var(--grafite-claro);font-size:.9rem;border-bottom:1px solid var(--linha)}
  .politica-indice a:last-child{border-bottom:0}
  .politica-indice a:hover{color:var(--verde-escuro)}
  .politica-conteudo>section{padding:0 0 3rem;margin-bottom:3rem;border-bottom:1px solid var(--linha);scroll-margin-top:120px}
  .politica-conteudo>section:last-child{margin-bottom:0}
  .politica-conteudo h2{font-size:clamp(1.55rem,3vw,2.1rem);margin:.35rem 0 1.1rem}
  .politica-conteudo p{max-width:72ch;margin-top:.9rem}
  .politica-conteudo ul{margin:1rem 0 0 1.2rem;display:grid;gap:.55rem;max-width:70ch}
  .politica-conteudo li::marker{color:var(--verde);font-weight:800}
  .numero-secao{font-family:var(--display);font-weight:800;color:var(--verde);font-size:.9rem;letter-spacing:.08em}
  .politica-destaque{margin-top:1.4rem;background:var(--verde-noite);color:#D7E1C0;border-radius:16px;padding:1.35rem 1.5rem;border-left:5px solid var(--milho)}
  .politica-destaque strong{font-family:var(--display);font-size:1.15rem;color:var(--branco)}
  .politica-destaque p{margin-top:.35rem;font-size:.95rem}
  .politica-contato{background:var(--palha);border:1px solid var(--linha)!important;border-radius:20px;padding:2rem!important}
  .politica-contato address{font-style:normal;display:grid;gap:.25rem;margin:1.2rem 0 1.5rem}
  .politica-contato address a{font-family:var(--display);font-size:1.15rem;font-weight:700;color:var(--verde-escuro)}
  .politica-contato address span{font-size:.95rem;color:var(--grafite-claro)}
  @media(max-width:520px){.politica-contato{padding:1.4rem!important}.pagina-politica .topo .btn{padding:.55rem .8rem;font-size:.84rem}}
