:root{
    --bright:#22b14c;
    --bright2:#2fce6a;
    --dark1:#08210f;
    --dark2:#0f4a28;
    --ink:#101813;
    --muted:#586159;
  }

  *{
    box-sizing: border-box;
    margin: 0;
    padding: 0;
  }

  html{
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    scroll-behavior: smooth;
  }

  html, body{
    font-family: 'Poppins', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
    background: #fafcfb;
    color: var(--ink);
    overflow-x: hidden;
    width: 100%;
  }

  .page{
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 24px;
  }

  /* ---------- Header ---------- */
  .header{
    text-align: center;
    padding: 30px 0 44px;
  }

  .badge{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 19px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #157a3d;
    background: #eafaf0;
    border: 1px solid #cdeedb;
    padding: 13px 26px;
    border-radius: 999px;
    margin-bottom: 22px;
  }

  h1{
    font-size: 36px;
    font-weight: 800;
    line-height: 1.22;
    letter-spacing: -.5px;
    color: #0e1a13;
    margin-bottom: 18px;
  }

  .h1-sub{
    font-size: 28px;
    color: var(--bright2);
    font-weight: 800;
    line-height: 1.22;
    letter-spacing: -.5px;
    margin-bottom: 18px;
  }

  .header p{
    font-size: 17px;
    color: var(--muted);
    max-width: 520px;
    margin: 0 auto;
    line-height: 1.6;
  }

  /* ---------- Social proof bar ---------- */
  .social-proof{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    max-width: 640px;
    margin: 16px auto 0;
    padding: 14px 20px;
    background: linear-gradient(135deg, rgba(34, 177, 76, .08), rgba(47, 206, 106, .1));
    border: 1px solid rgba(34, 177, 76, .25);
    border-radius: 14px;
    text-align: center;
  }

  .social-proof svg{
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
    color: var(--bright2);
  }

  .social-proof p{
    font-size: 14.5px;
    font-weight: 600;
    color: var(--dark2);
    line-height: 1.4;
  }

  .social-proof p strong{
    color: var(--bright2);
    font-weight: 800;
  }

  @media (max-width: 480px){
    .social-proof{
      padding: 12px 14px;
      gap: 8px;
    }
    .social-proof p{
      font-size: 13px;
    }
  }

  /* ---------- Video sections ---------- */
  .video-section{
    padding: 34px 24px 6px;
    text-align: center;
  }

  .video-title{
    font-size: 24px;
    font-weight: 800;
    line-height: 1.32;
    letter-spacing: -.2px;
    color: #0e1a13;
    max-width: 600px;
    margin: 0 auto;
  }

  .video-cta-secondary{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 18px;
    padding: 14px 30px;
    border: 2px solid var(--bright2);
    border-radius: 999px;
    background: transparent;
    color: var(--dark2);
    font-family: inherit;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
    transition: background .15s ease, color .15s ease;
  }

  .video-cta-secondary:hover{
    background: var(--bright2);
    color: #fff;
  }

  .video-caption{
    margin-top: 14px;
    font-size: 14px;
    font-weight: 600;
    color: var(--muted);
  }

  @media (max-width: 480px){
    .video-title{
      font-size: 20px;
    }
    .video-cta-secondary{
      font-size: 14px;
      padding: 13px 22px;
    }
  }

  /* ---------- Testimonial (vertical video) ---------- */
  .testimonial-section{
    margin: 34px -24px 0;
    padding: 36px 24px 40px;
    text-align: center;
    background: linear-gradient(180deg, #eaf8ef, #f7fcf9);
  }

  .testimonial-title{
    font-size: 22px;
    font-weight: 800;
    line-height: 1.32;
    letter-spacing: -.2px;
    color: #0e1a13;
    max-width: 560px;
    margin: 0 auto 24px;
  }

  .testimonial-videos-container{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 300px));
    justify-content: center;
    gap: 40px;
    max-width: 980px;
    margin: 0 auto;
    align-items: center;
  }

  @media (max-width: 768px){
    .testimonial-videos-container{
      gap: 16px;
      max-width: 100%;
    }
  }

  @media (max-width: 480px){
    .testimonial-videos-container{
      gap: 12px;
    }
  }

  .testimonial-video-wrap{
    max-width: 100%;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 18px 40px rgba(15, 30, 20, .18);
    background: #0e1a13;
  }

  .testimonial-video-wrap.vertical{
    aspect-ratio: 9/16;
    margin: 0 auto;
    max-width: 300px;
  }

  .testimonial-video-wrap.horizontal{
    aspect-ratio: 16/9;
  }

  .testimonial-video-wrap video{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  /* Corta a moldura branca do vídeo (dá zoom para preencher a borda) */
  .testimonial-video-wrap.fill-crop video,
  .testimonial-video-wrap.fill-crop .lazy-video-poster{
    transform: scale(1.26);
    transform-origin: center center;
  }

  .testimonial-video-wrap .lazy-video-poster{
    height: 100%;
    object-fit: cover;
  }

  /* ---------- Lazy-load click-to-play (performance) ---------- */
  .lazy-video{
    position: relative;
    cursor: pointer;
    background: #0e1a13;
  }

  .lazy-video-poster{
    display: block;
    width: 100%;
    height: auto;
  }

  .lazy-video-play{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 68px;
    height: 68px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .94);
    border: none;
    cursor: pointer;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 10px 28px rgba(0, 0, 0, .3);
    transition: transform .15s ease, background .15s ease;
  }

  .lazy-video-play:hover{
    transform: translate(-50%, -50%) scale(1.08);
    background: #fff;
  }

  .lazy-video-play svg{
    width: 26px;
    height: 26px;
    margin-left: 2px;
  }

  .lazy-video video{
    display: block;
    width: 100%;
  }

  .testimonial-caption{
    margin-top: 16px;
    font-size: 14px;
    font-weight: 600;
    color: var(--muted);
  }

  @media (max-width: 480px){
    .testimonial-section{
      margin: 28px -24px 0;
      padding: 30px 16px 32px;
    }
    .testimonial-title{
      font-size: 19px;
    }
    .testimonial-video-wrap.vertical{
      max-width: 100%;
    }
  }

  /* ---------- FAQ ---------- */
  .faq{
    border-top: 1px solid #eceeec;
    padding: 40px 24px 8px;
  }

  .faq-label{
    text-align: center;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #157a3d;
    margin-bottom: 26px;
  }

  .faq-list{
    max-width: 640px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 12px;
  }

  .faq-item{
    background: #ffffff;
    border: 1px solid #e3ebe5;
    border-radius: 16px;
    overflow: hidden;
    transition: box-shadow .15s ease;
  }

  .faq-item.open{
    box-shadow: 0 10px 24px rgba(16, 24, 19, .08);
  }

  .faq-q{
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    background: none;
    border: none;
    text-align: left;
    font-family: inherit;
    font-size: 16px;
    font-weight: 700;
    color: #15201a;
    padding: 18px 20px;
    cursor: pointer;
  }

  .faq-icon{
    flex: 0 0 auto;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #eafaf0;
    color: #157a3d;
    transition: transform .2s ease, background .2s ease, color .2s ease;
  }

  .faq-icon svg{
    width: 14px;
    height: 14px;
  }

  .faq-item.open .faq-icon{
    transform: rotate(180deg);
    background: var(--bright2);
    color: #fff;
  }

  .faq-a{
    max-height: 0;
    overflow: hidden;
    transition: max-height .25s ease;
  }

  .faq-item.open .faq-a{
    max-height: 600px;
  }

  .faq-a p{
    font-size: 15px;
    line-height: 1.6;
    color: #5b6b62;
    padding: 0 20px 20px;
  }

  .faq-a p strong{
    color: var(--bright2);
    font-weight: 800;
  }

  /* ---------- Final CTA ---------- */
  .final-cta{
    max-width: 560px;
    margin: 0 auto;
    padding: 38px 24px 4px;
    text-align: center;
  }

  .final-cta-title{
    font-size: 21px;
    font-weight: 800;
    line-height: 1.32;
    letter-spacing: -.2px;
    color: #0e1a13;
    margin-bottom: 18px;
  }

  @media (max-width: 480px){
    .final-cta-title{
      font-size: 18px;
    }
  }

  /* ---------- Cards grid ---------- */
  .cards{
    display: grid;
    grid-template-columns: 1fr;
    max-width: 640px;
    margin: 0 auto;
    gap: 24px;
    padding-bottom: 70px;
    align-items: stretch;
  }

  @media (max-width: 760px){
    .cards{
      grid-template-columns: 1fr;
      max-width: 640px;
    }
    h1{
      font-size: 27px;
    }
    .h1-sub{
      font-size: 21px;
    }
    .card{
      padding: 30px 22px;
    }
    .badge{
      font-size: 16px;
      padding: 11px 20px;
    }
    .stat-row{
      gap: 12px;
    }
    .icon-box{
      width: 48px;
      height: 48px;
    }
    .icon-box svg{
      width: 22px;
      height: 22px;
    }
    .stat-text .num{
      font-size: 25px;
    }
    .stat-text .sub{
      font-size: 12.5px;
    }
    .checks{
      flex-direction: column;
      align-items: flex-start;
      gap: 10px;
    }
    .btn{
      font-size: 14.5px;
      padding: 15px 8px 15px 18px;
    }
    .btn .arrow{
      width: 34px;
      height: 34px;
      margin-left: 10px;
    }
    .btn .arrow svg{
      width: 15px;
      height: 15px;
    }
    .cta-top{
      font-size: 14.5px;
      padding: 16px 10px 16px 18px;
    }
    .cta-top .arrow{
      width: 34px;
      height: 34px;
      margin-left: 10px;
    }
    .cta-top .arrow svg{
      width: 15px;
      height: 15px;
    }
  }

  @media (max-width: 380px){
    .page{
      padding: 0 16px;
    }
    .card{
      padding: 26px 16px;
    }
    h1{
      font-size: 23px;
    }
    .h1-sub{
      font-size: 18px;
    }
    .badge{
      font-size: 14px;
      padding: 9px 16px;
    }
    h2{
      font-size: 22px;
    }
    .btn{
      font-size: 13.5px;
      padding: 14px 6px 14px 16px;
    }
    .btn .arrow{
      width: 30px;
      height: 30px;
      margin-left: 8px;
    }
    .cta-top{
      font-size: 13.5px;
      padding: 14px 8px 14px 16px;
    }
    .cta-top .arrow{
      width: 30px;
      height: 30px;
      margin-left: 8px;
    }
  }

  .card{
    border-radius: 32px;
    padding: 48px 44px;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
  }

  .card.light{
    background: #ffffff;
    border: 2px solid var(--bright2);
    box-shadow: 0 24px 60px rgba(34, 177, 76, .18);
  }

  .card.dark{
    background: linear-gradient(160deg, var(--dark1) 0%, var(--dark2) 70%, #176b39 100%);
    color: #fff;
    box-shadow: 0 18px 40px rgba(13, 61, 36, .25);
  }

  .pill{
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    padding: 8px 16px;
    border-radius: 999px;
    margin-bottom: 26px;
  }

  .light .pill{
    background: #eafaf0;
    border: 1px solid #cdeedb;
    color: #157a3d;
  }

  .stat-row{
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 26px;
  }

  .icon-box{
    flex: 0 0 auto;
    width: 56px;
    height: 56px;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--bright2), #138a44);
    box-shadow: 0 8px 18px rgba(34, 177, 76, .28);
  }

  .icon-box svg{
    width: 26px;
    height: 26px;
  }

  .stat-text .num{
    display: block;
    font-size: 32px;
    font-weight: 800;
    color: var(--bright);
    line-height: 1.1;
  }

  .stat-text .sub{
    display: block;
    font-size: 14px;
    color: var(--muted);
    font-weight: 500;
    margin-top: 2px;
  }

  .card h2{
    font-size: 26px;
    font-weight: 700;
    line-height: 1.28;
    margin-bottom: 14px;
    letter-spacing: -.2px;
  }

  .light h2{
    color: #0e1a13;
  }

  .card p.desc{
    font-size: 15.5px;
    line-height: 1.6;
    margin-bottom: 22px;
  }

  .light p.desc{
    color: #5b6b62;
  }

  .checks{
    display: flex;
    gap: 24px;
    margin-bottom: 30px;
  }

  .checks.col{
    flex-direction: column;
    gap: 10px;
  }

  .checks span{
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 17px;
    font-weight: 600;
  }

  .light .checks span{
    color: #202c24;
  }

  .checks .ico{
    flex: 0 0 auto;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--bright);
  }

  .checks .ico svg{
    width: 13px;
    height: 13px;
  }

  .btn{
    margin-top: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    text-decoration: none;
    padding: 17px 10px 17px 24px;
    border-radius: 20px;
    font-size: 15.5px;
    font-weight: 600;
  }

  .btn-dark{
    background: linear-gradient(135deg, #15532d, #0a2f18);
    color: #fff;
  }

  .btn-bright{
    background: linear-gradient(135deg, var(--bright2), var(--bright));
    color: #06210f;
  }

  .btn .arrow{
    width: 38px;
    height: 38px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: 14px;
    flex: 0 0 auto;
  }

  .btn-dark .arrow{
    background: rgba(255, 255, 255, .16);
  }

  .btn-bright .arrow{
    background: rgba(6, 33, 15, .16);
  }

  .btn .arrow svg{
    width: 17px;
    height: 17px;
  }

  .btn .label, .cta-top .label{
    flex: 1 1 auto;
    min-width: 0;
    overflow-wrap: break-word;
    word-break: break-word;
  }

  /* ---------- Top highlight CTA ---------- */
  .cta-top{
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    border: none;
    text-decoration: none;
    background: linear-gradient(135deg, #ff8a3d, #e8450c);
    color: #fff;
    padding: 20px 12px 20px 26px;
    border-radius: 20px;
    font-size: 17px;
    font-weight: 700;
    font-family: inherit;
    text-align: left;
    cursor: pointer;
    margin-bottom: 28px;
    box-shadow: 0 14px 32px rgba(230, 69, 12, .45);
    animation: ctaPulse 1.7s ease-in-out infinite;
  }

  .cta-top.below{
    margin-top: 14px;
    margin-bottom: 0;
  }

  .cta-top .arrow{
    width: 42px;
    height: 42px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: 14px;
    flex: 0 0 auto;
    background: rgba(255, 255, 255, .22);
  }

  .cta-top .arrow svg{
    width: 18px;
    height: 18px;
  }

  @keyframes ctaPulse{
    0%, 100%{
      box-shadow: 0 14px 32px rgba(230, 69, 12, .45), 0 0 0 0 rgba(230, 69, 12, .55);
      transform: scale(1);
    }
    50%{
      box-shadow: 0 18px 46px rgba(230, 69, 12, .65), 0 0 0 14px rgba(230, 69, 12, 0);
      transform: scale(1.035);
    }
  }

  .cta-hint{
    display: none;
    align-items: center;
    justify-content: center;
    gap: 8px;
    text-align: center;
    font-size: 14px;
    font-weight: 600;
    color: #157a3d;
    background: #eafaf0;
    border: 1.5px dashed #bfe7cd;
    border-radius: 12px;
    padding: 13px 16px;
    margin-top: 14px;
  }

  .cta-hint.show{
    display: flex;
  }

  /* ---------- Calculator (card 1) ---------- */
  .calc{
    margin-bottom: 18px;
  }

  .calc label{
    display: block;
    font-size: 16px;
    font-weight: 600;
    color: #202c24;
    margin-bottom: 8px;
  }

  .calc label .label-sub{
    display: block;
    font-weight: 500;
    color: var(--muted);
    font-size: 14px;
    margin-top: 2px;
  }

  .calc-row{
    display: flex;
    gap: 10px;
  }

  .calc-row input{
    flex: 1;
    min-width: 0;
    border: 1.5px solid #dfe5e1;
    border-radius: 14px;
    padding: 18px 20px;
    font-size: 18px;
    font-weight: 700;
    font-family: inherit;
    color: #0e1a13;
    transition: border-color .15s ease, box-shadow .15s ease;
  }

  .calc-row input:focus{
    outline: none;
    border-color: var(--bright);
    box-shadow: 0 0 0 4px rgba(34, 177, 76, .14);
  }

  .calc-row button{
    flex: 0 0 auto;
    border: none;
    border-radius: 14px;
    padding: 0 26px;
    min-height: 58px;
    background: #15532d;
    color: #fff;
    font-family: inherit;
    font-weight: 700;
    font-size: 15px;
    letter-spacing: .01em;
    cursor: pointer;
    transition: transform .15s ease, background .15s ease;
  }

  .calc-row button:hover{
    background: #1c6b39;
  }

  .calc-row button:active{
    transform: scale(.96);
  }

  .calc-result{
    margin-top: 16px;
    display: flex;
    align-items: center;
    gap: 16px;
    background: linear-gradient(135deg, #eafaf0, #cdf2dd);
    border: 2px solid var(--bright2);
    border-radius: 18px;
    padding: 20px 22px;
    box-shadow: 0 14px 30px rgba(34, 177, 76, .2);
    opacity: 0;
  }

  .calc-result.pop{
    animation: calcPop .4s ease;
    opacity: 1;
  }

  .calc-result .cr-icon{
    flex: 0 0 auto;
    width: 54px;
    height: 54px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--bright2), #138a44);
    box-shadow: 0 8px 18px rgba(34, 177, 76, .32);
  }

  .calc-result .cr-icon svg{
    width: 26px;
    height: 26px;
  }

  .calc-result .cr-text{
    display: flex;
    flex-direction: column;
    gap: 2px;
  }

  .calc-result .cr-label{
    font-size: 13.5px;
    font-weight: 700;
    color: #3c6b4c;
    letter-spacing: .02em;
  }

  .calc-result .cr-amount{
    font-size: 32px;
    font-weight: 800;
    color: #0d5c2c;
    line-height: 1.1;
    letter-spacing: -.5px;
  }

  .calc-result .cr-sub{
    font-size: 14px;
    font-weight: 700;
    color: #157a3d;
  }

  @keyframes calcPop{
    from{
      transform: scale(.94);
      opacity: 0;
    }
    to{
      transform: scale(1);
      opacity: 1;
    }
  }

  @media (max-width: 420px){
    .calc-result .cr-amount{
      font-size: 26px;
    }
  }

  footer{
    text-align: center;
    padding: 10px 20px 40px;
    color: #9aa8a0;
    font-size: 12.5px;
    line-height: 1.6;
  }

  /* ---------- Trust badges ---------- */
  .trust{
    border-top: 1px solid #eceeec;
    padding: 40px 24px 34px;
  }

  .trust-label{
    text-align: center;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #7c8a81;
    margin-bottom: 26px;
  }

  .trust-row{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    max-width: 880px;
    margin: 0 auto;
  }

  @media (max-width: 760px){
    .trust-row{
      grid-template-columns: repeat(2, 1fr);
    }
  }

  .trust-badge{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 10px;
    min-height: 148px;
    background: #ffffff;
    border: 1px solid #e3ebe5;
    border-radius: 20px;
    padding: 24px 14px;
    box-shadow: 0 10px 24px rgba(16, 24, 19, .06);
    transition: transform .15s ease, box-shadow .15s ease;
    text-decoration: none;
    cursor: pointer;
  }

  .trust-badge:hover{
    transform: translateY(-3px);
    box-shadow: 0 14px 28px rgba(16, 24, 19, .1);
  }

  /* Logos cinza por padrão, coloridos no hover (mesmo padrão da mídia) */
  .trust-badge .govbr-logo,
  .trust-badge .ra-logo,
  .trust-badge .vibra-logo,
  .trust-badge .comerc-logo{
    filter: grayscale(100%);
    opacity: .82;
    transition: filter .2s ease, opacity .2s ease;
  }
  .trust-badge:hover .govbr-logo,
  .trust-badge:hover .ra-logo,
  .trust-badge:hover .vibra-logo,
  .trust-badge:hover .comerc-logo,
  .trust-badge:focus-visible .govbr-logo,
  .trust-badge:focus-visible .ra-logo,
  .trust-badge:focus-visible .vibra-logo,
  .trust-badge:focus-visible .comerc-logo{
    filter: grayscale(0%);
    opacity: 1;
  }

  .trust-badge .icon-circle{
    width: 52px;
    height: 52px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--bright2), #138a44);
    box-shadow: 0 8px 16px rgba(34, 177, 76, .3);
  }

  .trust-badge svg{
    width: 24px;
    height: 24px;
    flex: 0 0 auto;
  }

  .trust-badge .name{
    font-size: 16px;
    font-weight: 700;
    color: #15201a;
  }

  .trust-badge .desc{
    font-size: 13px;
    font-weight: 500;
    color: #8a968d;
    line-height: 1.4;
  }

  .trust-badge .ra-logo{
    height: 52px;
    display: flex;
    align-items: center;
    font-size: 21px;
    font-weight: 800;
    font-style: italic;
    letter-spacing: -.5px;
    line-height: 1;
    color: #8dc63f;
  }

  .trust-badge .ra-logo b{
    color: #1c7a39;
    font-weight: 800;
    font-style: italic;
  }

  .trust-badge .comerc-logo{
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
  }

  .trust-badge .comerc-logo .cl-icon{
    width: 24px;
    height: 24px;
    flex: 0 0 auto;
  }

  .trust-badge .comerc-logo .cl-text{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    line-height: 1.05;
  }

  .trust-badge .comerc-logo .cl-text b{
    color: #0f4a28;
    font-size: 16px;
    font-weight: 800;
    letter-spacing: -.2px;
  }

  .trust-badge .comerc-logo .cl-text i{
    color: #6b7670;
    font-size: 10.5px;
    font-style: normal;
    font-weight: 500;
    letter-spacing: .04em;
  }

  .trust-badge .vibra-logo{
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
  }

  .trust-badge .vibra-logo .vl-icon{
    width: 24px;
    height: 24px;
    flex: 0 0 auto;
  }

  .trust-badge .vibra-logo b{
    color: #0f4a28;
    font-size: 18px;
    font-weight: 800;
    letter-spacing: .01em;
    font-style: italic;
  }

  .trust-badge .govbr-logo{
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    font-size: 24px;
    font-weight: 800;
    letter-spacing: -.3px;
  }

  .trust-badge .govbr-logo .gv-gov{
    background: linear-gradient(120deg, #bfdc3a, #1c7a39);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
  }

  .trust-badge .govbr-logo .gv-br{
    color: #1451b4;
  }

  /* ---------- Na mídia ---------- */
  .media{
    border-top: 1px solid #eceeec;
    padding: 40px 24px 44px;
  }

  .media-label{
    text-align: center;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #7c8a81;
    margin-bottom: 8px;
  }

  .media-sub{
    text-align: center;
    font-size: 14px;
    font-weight: 500;
    color: var(--muted);
    max-width: 480px;
    margin: 0 auto 26px;
  }

  .media-grid{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch;
    gap: 16px;
    max-width: 1040px;
    margin: 0 auto;
  }

  @media (max-width: 768px){
    .media-grid{
      flex-direction: column;
      align-items: stretch;
    }
    .media-card{
      flex: 1 1 100% !important;
      max-width: 100% !important;
      min-width: 0 !important;
      width: 100%;
    }
  }

  .media-card{
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 14px;
    flex: 0 0 calc(33.33% - 12px);
    max-width: 310px;
    min-width: 200px;
    cursor: pointer;
    background: #ffffff;
    border: 1px solid #e3ebe5;
    border-radius: 20px;
    padding: 28px 18px 24px;
    box-shadow: 0 10px 24px rgba(16, 24, 19, .06);
    transition: transform .15s ease, box-shadow .15s ease;
  }

  .media-card:hover{
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 14px 28px rgba(16, 24, 19, .1);
  }

  .media-logo-link{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    text-decoration: none;
    filter: grayscale(100%);
    opacity: .85;
    transition: filter .25s ease, opacity .25s ease;
  }

  .media-logo-link:focus-visible{
    outline: 2px solid var(--bright2);
    outline-offset: 4px;
    border-radius: 6px;
  }

  .media-logo-link.on-dark{
    background: var(--logo-bg, #142b56);
    padding: 10px 18px;
    border-radius: 10px;
  }

  .media-logo{
    height: 50px;
    width: auto;
    max-width: 180px;
  }

  /* Cinza por padrão; colorido ao passar o mouse na caixa (card) ou no logo */
  .media-card:hover .media-logo-link,
  .media-logo-link:hover,
  .media-logo-link:focus-visible{
    filter: grayscale(0%);
    opacity: 1;
  }

  .media-card .media-headline{
    font-size: 14px;
    font-weight: 600;
    color: #202c24;
    line-height: 1.42;
    flex: 1;
  }

  .media-card .media-cta{
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 4px;
    padding: 9px 18px;
    border: 1.5px solid var(--bright2);
    border-radius: 999px;
    color: #15532d;
    font-weight: 700;
    font-size: 13px;
    text-decoration: none;
    position: relative;
    z-index: 1;
    transition: background .15s ease, color .15s ease;
  }

  .cta-trust{
    font-size: 12px;
    color: var(--muted);
    text-align: center;
    margin-top: 8px;
    letter-spacing: .01em;
  }

  .media-card:hover .media-cta{
    background: var(--bright2);
    color: #fff;
  }

  /* ---------- WhatsApp CTA bar ---------- */
  .cta-whatsapp{
    background: linear-gradient(135deg, #25d366, #128c3e);
    box-shadow: 0 14px 32px rgba(18, 140, 62, .40);
    animation: none;
  }

  .cta-whatsapp:hover{
    filter: brightness(1.04);
  }

  .cta-whatsapp .arrow{
    background: rgba(255, 255, 255, .22);
  }

  .cta-whatsapp .arrow svg{
    width: 22px;
    height: 22px;
  }

  /* === Seletor PF/PJ === */
  .pfpj-nav{display:flex;gap:10px;justify-content:center;padding:18px 16px 0;flex-wrap:wrap}
  .pfpj-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 22px;border-radius:999px;font-weight:600;font-size:.95rem;text-decoration:none;color:#15532d;background:#eaf6ee;border:2px solid #bfe3cb;transition:all .2s}
  .pfpj-btn:hover{background:#d9efe0}
  .pfpj-btn.active{background:#15532d;color:#fff;border-color:#15532d;pointer-events:none}
  /* === Contador Palmas === */
  .palmas-proof{max-width:640px;margin:26px auto 6px;padding:0 16px}
  .pp-card{background:#fff;border:1px solid #dcefe2;border-radius:18px;box-shadow:0 10px 30px rgba(21,83,45,.10);padding:20px 22px;text-align:center}
  .pp-top{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:#15532d;margin:0 0 8px}
  .pp-count{font-size:1.05rem;color:#1d2b22;margin:0 0 12px}
  .pp-count strong{color:#15532d;font-size:1.2rem}
  .pp-bar{height:12px;border-radius:999px;background:#e7f2ea;overflow:hidden}
  .pp-fill{height:100%;width:0;border-radius:999px;background:linear-gradient(90deg,#f87171,#dc2626);transition:width 1.2s ease;animation:ppBarPulse 1.6s ease-in-out infinite}
  @keyframes ppBarPulse{0%,100%{opacity:1}50%{opacity:.6}}
  /* === Formulário de lead === */
  .lead-form{margin-top:14px;padding:14px;border-radius:14px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25)}
  .lead-form.sent{outline:2px solid #baf5cd}
  .lead-title{font-size:.9rem;font-weight:600;margin:0 0 10px;color:inherit}
  .lead-row{display:flex;gap:8px;flex-wrap:wrap}
  .lead-row input{flex:1 1 140px;min-width:0;padding:11px 12px;border-radius:10px;border:1px solid rgba(0,0,0,.12);font:inherit;font-size:.95rem}
  .lead-btn{width:100%;margin-top:10px;padding:12px;border:0;border-radius:10px;background:#15532d;color:#fff;font-weight:700;font-size:.98rem;cursor:pointer;transition:transform .15s, box-shadow .15s}
  .lead-btn:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(0,0,0,.18)}
  .lead-privacy{font-size:.75rem;margin:8px 0 0;opacity:.85}
  .pp-live{display:flex;align-items:center;justify-content:center;gap:8px;font-size:.85rem;color:#3d4c43;margin:16px 0 0;background:#eef8f1;border:1px solid #cdeedb;border-radius:12px;padding:12px 16px;font-weight:600}
  .pp-dot{width:9px;height:9px;border-radius:50%;background:#2c9c4d;animation:ppPulse 1.6s infinite}
  @keyframes ppPulse{0%,100%{box-shadow:0 0 0 0 rgba(44,156,77,.5)}50%{box-shadow:0 0 0 7px rgba(44,156,77,0)}}

  /* === iGreen Club (benefícios exclusivos) === */
  .club{background:linear-gradient(180deg,#0e2417,#0a1c11);margin:0;padding:60px 28px 56px;max-width:none;width:100%;text-align:center;color:#fff}
  .club-badge{display:inline-block;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:#2fce6a;background:rgba(47,206,106,.12);border:1px solid rgba(47,206,106,.35);padding:8px 18px;border-radius:999px;margin-bottom:22px}
  .club-title{font-size:2rem;font-weight:800;line-height:1.2;margin:0 auto 14px;max-width:640px;color:#fff}
  .club-title .hl{color:#2fce6a}
  .club-sub{font-size:1rem;color:#a9b6ad;max-width:560px;margin:0 auto 34px;line-height:1.6}
  .club-main{display:flex;gap:28px;align-items:center;justify-content:center;max-width:820px;margin:0 auto;flex-wrap:wrap}
  .club-video{position:relative;flex:0 0 auto;width:300px;max-width:100%;aspect-ratio:9/16;border-radius:24px;overflow:hidden;box-shadow:0 18px 40px rgba(0,0,0,.45);background:#000;cursor:pointer}
  .club-video .lazy-video-poster{height:100%;object-fit:cover}
  .club-benefits{flex:1 1 340px;display:grid;grid-template-columns:1fr 1fr;gap:16px;min-width:280px}
  .club-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:22px 18px;text-align:left;display:flex;flex-direction:column;gap:14px;min-height:120px}
  .club-card .ico{width:40px;height:40px;border-radius:12px;background:rgba(47,206,106,.12);display:flex;align-items:center;justify-content:center}
  .club-card .ico svg{width:22px;height:22px;stroke:#2fce6a;fill:none}
  .club-card b{font-size:.98rem;font-weight:700;color:#fff;line-height:1.3}
  .club-divider{height:1px;background:rgba(255,255,255,.1);margin:38px auto 30px;max-width:820px}
  .club-partners-label{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:#7f8c82;margin-bottom:18px}
  .club-pills{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;max-width:760px;margin:0 auto 32px}
  .club-pill{font-size:.9rem;font-weight:600;color:#c7d2ca;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);border-radius:999px;padding:9px 18px}
  .club-pill.more{color:#2fce6a;border-color:rgba(47,206,106,.4);background:rgba(47,206,106,.08)}
  .club-apps{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
  .club-app{display:inline-flex;align-items:center;gap:10px;background:#111c15;border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:12px 24px;color:#fff;text-decoration:none;font-weight:600;transition:transform .15s,border-color .15s}
  .club-app:hover{transform:translateY(-1px);border-color:rgba(47,206,106,.5)}
  .club-app svg{width:22px;height:22px;fill:#fff}
  @media (max-width:760px){
    .club{padding:44px 18px 40px;margin:0}
    .club-title{font-size:1.55rem}
    .club-main{gap:22px}
    .club-benefits{gap:12px}
    .club-card{padding:16px 14px;min-height:auto}
  }
  @media (max-width:480px){
    .club-pill{font-size:.82rem;padding:8px 14px}
  }

  /* Vídeo institucional (substitui utilitários Tailwind) */
  .institutional-video{max-width:42rem;margin:2.5rem auto;border-radius:1rem;overflow:hidden;box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1)}

  /* Aviso de cookies */
  .cookie-bar{position:fixed;left:16px;right:16px;bottom:16px;z-index:99999;max-width:760px;margin:0 auto;background:#0e1a13;color:#cfe0d6;border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:16px 20px;box-shadow:0 18px 40px rgba(0,0,0,.35);display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap}
  .cookie-bar[hidden]{display:none}
  .cookie-bar p{font-size:.85rem;line-height:1.5;margin:0;flex:1 1 300px}
  .cookie-bar a{color:#2fce6a;font-weight:600}
  .cookie-actions{display:flex;gap:10px;flex:0 0 auto}
  .cookie-btn{border:0;border-radius:10px;padding:10px 20px;font:inherit;font-weight:700;font-size:.82rem;cursor:pointer;background:#22b14c;color:#fff;transition:transform .15s,filter .15s}
  .cookie-btn:hover{transform:translateY(-1px);filter:brightness(1.06)}
  .cookie-btn.ghost{background:transparent;color:#cfe0d6;border:1px solid rgba(255,255,255,.22)}
  footer a{color:#157a3d;font-weight:600}
  footer .footer-contact{margin-bottom:12px;color:#5a655e;font-size:13px}
  footer .footer-contact strong{color:#15532d}

  /* Acessibilidade */
  .skip-link{position:absolute;left:-999px;top:0;z-index:100000;background:#15532d;color:#fff;padding:10px 16px;border-radius:0 0 10px 0;font-weight:700;text-decoration:none}
  .skip-link:focus{left:0}
  .club-app:focus-visible,
  .club-video .lazy-video-play:focus-visible,
  .lazy-video-play:focus-visible{outline:3px solid #2fce6a;outline-offset:3px}
  .club-partners-label{color:#93a29a}

  /* CTA fixo no rodapé (WhatsApp) — apenas no celular */
  .mobile-cta{display:none}
  @media (max-width:640px){
    .mobile-cta{
      display:flex;align-items:center;justify-content:center;gap:8px;
      position:fixed;left:12px;right:12px;bottom:12px;z-index:900;
      background:linear-gradient(135deg,#25d366,#128c3e);color:#fff;
      text-decoration:none;font-weight:700;font-size:15px;
      padding:15px 18px;border-radius:14px;
      box-shadow:0 10px 26px rgba(18,140,62,.45);
    }
    .mobile-cta svg{width:20px;height:20px;flex:0 0 auto;fill:currentColor}
    body{padding-bottom:84px}
  }

  /* CTA secundário discreto */
  .cta-secondary{display:inline-flex;align-items:center;gap:6px;margin-top:14px;color:#15532d;font-weight:600;font-size:14.5px;text-decoration:none;opacity:.85}
  .cta-secondary:hover{opacity:1;text-decoration:underline}

  /* CTA de WhatsApp no herói (somente desktop; no mobile há a barra fixa) */
  .hero-wa{display:none}
  @media (min-width:641px){
    .hero-wa{
      display:inline-flex;align-items:center;justify-content:center;gap:10px;margin-top:22px;
      background:linear-gradient(135deg,#25d366,#128c3e);color:#fff;text-decoration:none;
      font-weight:700;font-size:16px;padding:14px 30px;border-radius:14px;
      box-shadow:0 12px 28px rgba(18,140,62,.4);transition:transform .15s ease,filter .15s ease;
    }
    .hero-wa:hover{transform:translateY(-2px);filter:brightness(1.06)}
    .hero-wa svg{width:22px;height:22px;fill:currentColor}
  }

  /* Faixa de urgência profissional */
  .pp-urgency{max-width:640px;margin:22px auto 6px;padding:0 16px}
  .pp-urgency .band{display:flex;align-items:center;justify-content:center;gap:10px;text-align:center;background:#eef8f1;border:1px solid #cdeedb;border-radius:14px;padding:14px 18px;color:#25412f;font-size:.92rem;font-weight:500}
  .pp-urgency .band strong{color:#15532d}
  .pp-urgency .band svg{width:20px;height:20px;flex:0 0 auto;stroke:#22b14c;fill:none}

  /* Como funciona */
  .how{max-width:1000px;margin:44px auto 0;padding:0 24px}
  .how-title{text-align:center;font-size:1.5rem;font-weight:800;color:#0e1a13;margin:0 0 26px}
  .how-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:28px}
  .how-step{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid #e3ebe5;border-radius:16px;padding:20px 18px}
  .how-step p{margin:0;font-size:.95rem;line-height:1.55;color:#2a3830}
  .how-num{flex:0 0 auto;width:34px;height:34px;border-radius:50%;background:#15532d;color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center}

  /* Destaques: Boleto Único + Segurança */
  .highlight-cards{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}
  .boleto-card{background:linear-gradient(135deg,#eafaf0,#d9f4e3);border:1.5px solid #22b14c;border-radius:20px;padding:26px 24px}
  .boleto-card .tag{display:inline-block;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:#fff;background:#22b14c;padding:5px 12px;border-radius:999px;margin-bottom:12px}
  .boleto-card h3{font-size:1.25rem;font-weight:800;color:#0e3d24;margin:0 0 8px}
  .boleto-card p{margin:0 0 14px;color:#25412f;line-height:1.55}
  .boleto-checks{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:14px}
  .boleto-checks li{display:flex;align-items:center;gap:6px;font-weight:600;color:#15532d;font-size:.9rem}
  .boleto-checks li::before{content:"✓";color:#22b14c;font-weight:800}
  .security-card{background:#fff;border:1px solid #e3ebe5;border-radius:20px;padding:26px 24px}
  .security-card .sec-ico{width:44px;height:44px;border-radius:12px;background:#eafaf0;display:flex;align-items:center;justify-content:center;margin-bottom:12px}
  .security-card .sec-ico svg{width:24px;height:24px;stroke:#15532d;fill:none}
  .security-card h3{font-size:1.15rem;font-weight:800;color:#0e1a13;margin:0 0 8px}
  .security-card p{margin:0;color:#3a4a40;line-height:1.55}

  @media (max-width:760px){
    .how{padding:0 20px}
    .how-steps{grid-template-columns:1fr}
    .highlight-cards{grid-template-columns:1fr}
  }
