/* Amparo Brasil mobile — versão 23.6 — Hero Editorial */
/* Amparo Brasil v22 — redesign mobile consolidado. Desktop permanece em styles.css. */
@media (max-width: 900px) {
  :root{--g:#0b6b3a;--gd:#064526;--gs:#e9f5ed;--gold:#f2c438;--ink:#123426;--muted:#607269;--line:rgba(11,107,58,.12);--nav:68px;--shadow:0 18px 45px rgba(11,64,38,.12)}
  *{box-sizing:border-box} html{scroll-behavior:smooth;scroll-padding-top:78px;overflow-x:hidden} body{overflow-x:hidden;background:#f5f8f5;padding-bottom:calc(var(--nav) + 18px + env(safe-area-inset-bottom));color:var(--ink)}
  .wrap{width:min(100% - 28px,680px)} .reveal{opacity:1!important;transform:none!important;visibility:visible!important} main{overflow:visible}

  /* HEADER COM IDENTIDADE E FUNÇÃO */
  .top{height:72px;min-height:72px;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);box-shadow:0 5px 22px rgba(12,55,34,.07);backdrop-filter:blur(14px);position:sticky;top:0;z-index:80}
  .top .wrap{height:72px;display:flex;align-items:center;justify-content:space-between;gap:10px}
  .brand{height:58px;width:auto;max-width:210px;display:flex;align-items:center;gap:9px;text-decoration:none;overflow:visible;flex:1 1 auto;min-width:0}
  .brand-logo{width:43px;height:51px;object-fit:contain;object-position:center;flex:0 0 43px}
  .brand-lockup{display:flex;flex-direction:column;min-width:0;line-height:1.05}.brand-lockup strong{font-size:.88rem;color:var(--gd);letter-spacing:-.02em}.brand-lockup small{margin-top:4px;font-size:.56rem;color:#718077;white-space:nowrap}
  .top nav,.mobile-menu-button,.mobile-menu-backdrop{display:none!important}
  .v21-header-contact{display:inline-flex!important;align-items:center;justify-content:center;min-height:42px;padding:0 13px;border-radius:13px;background:var(--g)!important;color:#fff!important;font-size:.72rem;font-weight:850;white-space:nowrap;box-shadow:none;border:0;flex:0 0 auto}
  .v21-header-contact .desktop-label{display:none}.v21-header-contact .mobile-label{display:inline}

  /* HERO: PRIMEIRA DOBRA LIMPA E BEM ALINHADA */
  .hero{padding:24px 0 30px;min-height:auto;background:radial-gradient(circle at 92% 4%,rgba(242,196,56,.22),transparent 27%),radial-gradient(circle at 2% 46%,rgba(11,107,58,.08),transparent 34%),linear-gradient(180deg,#fbfdfb,#eef6f0)}
  .hero-grid{display:grid;grid-template-columns:1fr;gap:18px;align-items:start}.hero-copy{padding:0;text-align:left;max-width:none}
  .hero-final-logo{display:none!important}.hero-kicker-v22{display:inline-flex;align-items:center;min-height:28px;padding:5px 11px;border-radius:999px;background:#fff;color:var(--g);font-size:.68rem;font-weight:850;text-transform:uppercase;letter-spacing:.06em;box-shadow:0 6px 18px rgba(11,64,38,.06)}
  .hero-final-title{margin-top:15px;display:grid;grid-template-columns:auto 1fr;grid-template-areas:'percent label' 'percent phrase';column-gap:14px;align-items:center}
  .hero-final-economize{grid-area:label;font-size:1.25rem;line-height:1;color:var(--gd);font-weight:900;letter-spacing:-.04em}
  .hero-final-percent{grid-area:percent;font-size:clamp(4.7rem,23vw,6.3rem);line-height:.82;color:var(--gold);font-weight:950;letter-spacing:-.09em;text-shadow:0 2px 0 #fff}
  .hero-final-phrase{grid-area:phrase;margin-top:4px;font-size:clamp(1.05rem,4.8vw,1.3rem);line-height:1.18;color:var(--ink);font-weight:760;letter-spacing:-.035em}.hero-final-phrase em{font-style:normal;color:var(--g)}
  .hero-final-purpose{margin-top:18px;padding:14px 15px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.84);display:flex;align-items:center;gap:11px;font-size:.91rem;line-height:1.35;font-weight:760;color:var(--gd);box-shadow:0 10px 26px rgba(11,64,38,.06)}
  .hero-final-purpose-icon{width:38px;height:38px;flex:0 0 38px;border-radius:13px;display:grid;place-items:center;background:var(--gs)}.hero-final-purpose-icon svg{width:22px;fill:none;stroke:var(--g);stroke-width:1.9}
  .hero-final-benefits{margin-top:13px;display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.hero-final-benefit{min-height:54px;padding:9px 10px;border:1px solid var(--line);border-radius:15px;background:#fff;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:8px;text-align:left;color:var(--gd)}
  .hero-final-benefit-icon{width:28px;height:28px;display:grid;place-items:center;flex:0 0 28px}.hero-final-benefit-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8}.hero-final-benefit>span:last-child{font-size:.7rem;line-height:1.16;font-weight:850}.hero-final-benefit br{display:none}
  .hero-final-accent,.hero-final-trust,.v21-scroll-cue{display:none!important}.hero-final-actions{display:none!important}

  /* SIMULADOR */
  .sim-card.hero-final-simulator{width:100%;margin:0;padding:22px 18px 18px;border:1px solid var(--line);border-radius:25px;background:#fff;box-shadow:var(--shadow);position:relative;overflow:hidden}.sim-card.hero-final-simulator:before{content:'';position:absolute;left:0;right:0;top:0;height:5px;background:linear-gradient(90deg,var(--g),var(--gold))}
  .sim-card h3{margin:0;font-size:1.45rem;line-height:1.08;letter-spacing:-.04em}.sim-card>p{margin:8px 0 14px;font-size:.87rem;line-height:1.5;color:var(--muted)}
  .bill-help-trigger{width:100%;min-height:48px;padding:0 12px;border:1px solid var(--line);border-radius:15px;background:var(--gs);color:var(--gd);font-size:.8rem;font-weight:850;display:flex;align-items:center;gap:9px}.bill-help-trigger-icon{width:26px;height:26px;border-radius:9px;background:var(--g);color:#fff;display:grid;place-items:center}.hero-final-help-arrow{margin-left:auto;font-size:1.25rem}
  .money.hero-final-money{margin-top:14px;min-height:69px;padding:0 15px;border:2px solid rgba(11,107,58,.18);border-radius:17px;background:#fff;display:flex;align-items:center;gap:8px}.money.hero-final-money:focus-within{border-color:var(--g);box-shadow:0 0 0 4px rgba(11,107,58,.09)}.money input{min-width:0;width:100%;border:0;outline:0;background:transparent;font-size:2rem;font-weight:900;color:var(--ink)}.range{width:100%;margin:14px 0 8px;accent-color:var(--g)}
  .minimum-lock{display:flex;justify-content:space-between;font-size:.72rem;color:var(--muted)}.minimum-lock strong{color:var(--gd)}.eligibility-note{margin:12px 0;padding:11px 12px;border-radius:13px;background:#fff8e2;color:#6a571c;font-size:.75rem;line-height:1.45}
  .result.hero-final-result{margin:13px 0;padding:14px;border-radius:18px;background:linear-gradient(145deg,var(--g),var(--gd));display:grid;grid-template-columns:1fr 1fr;gap:8px;color:#fff}.result>div+div{border-left:1px solid rgba(255,255,255,.18);padding-left:11px}.result small{display:block;margin-bottom:4px;color:rgba(255,255,255,.75);font-size:.67rem}.result strong{color:#fff;font-size:clamp(1.05rem,4.7vw,1.4rem);white-space:nowrap}.sim-card .btn.full{min-height:50px;border-radius:15px;font-weight:850}.sim-card .micro{margin:10px 2px 0;font-size:.67rem;line-height:1.42;color:#718077}
  .purpose-note{background:#fff;border-block:1px solid var(--line)}.purpose-note .wrap{min-height:53px;display:flex;align-items:center;justify-content:center;gap:7px;text-align:center;font-size:.76rem;font-weight:800;color:var(--gd)}

  /* BASE SEÇÕES */
  .section{padding:54px 0}.eyebrow,.module-kicker{display:inline-flex;min-height:28px;padding:5px 10px;border-radius:999px;background:var(--gs);color:var(--gd);font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.055em}.heading h2,.app-module-head h2,.purpose-copy h2,.contact-copy h2,.about-grid h2{margin:11px 0 0;font-size:clamp(1.7rem,7.5vw,2.25rem);line-height:1.08;letter-spacing:-.04em}.heading p,.app-module-head p,.purpose-copy p,.contact-copy p,.about-grid p{font-size:.94rem;line-height:1.6;color:var(--muted)}

  /* COMO FUNCIONA — NOVA APRESENTAÇÃO VERTICAL, RITMADA E LEGÍVEL */
  .app-explain{background:linear-gradient(180deg,#f8fbf8,#edf5ef)}.app-module-head{margin-bottom:20px}.app-module-head p{margin-top:9px}
  .explain-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:19px}.explain-choice{min-height:74px;padding:11px;border:1px solid var(--line);border-radius:16px;background:#fff;display:flex;align-items:center;gap:8px;text-align:left}.choice-icon{width:29px;height:29px;flex:0 0 29px;border-radius:10px;background:var(--gs);color:var(--gd);display:grid;place-items:center;font-size:.67rem;font-weight:900}.choice-copy strong{font-size:.78rem;line-height:1.22}.choice-copy small,.choice-arrow{display:none}.explain-choice.active{background:linear-gradient(145deg,var(--g),var(--gd));color:#fff;border-color:transparent;box-shadow:0 10px 25px rgba(11,107,58,.16)}.explain-choice.active .choice-icon{background:rgba(255,255,255,.16);color:#fff}
  .story-intro-v22{margin:0 0 14px;padding:13px 14px;border-left:4px solid var(--gold);border-radius:0 14px 14px 0;background:rgba(255,255,255,.72);display:flex;flex-direction:column;gap:3px}.story-intro-v22 strong{font-size:.86rem}.story-intro-v22 span{font-size:.74rem;color:var(--muted)}
  .energy-story{display:grid;grid-auto-flow:row;grid-auto-columns:auto;grid-template-columns:1fr;gap:12px;overflow:visible;padding:0;scroll-snap-type:none}
  .energy-scene{min-height:0;padding:0;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 10px 28px rgba(11,64,38,.07);overflow:hidden;display:grid;grid-template-columns:112px 1fr;grid-template-rows:auto 1fr;column-gap:14px;align-items:center;position:relative}
  .scene-number{position:absolute;top:9px;left:9px;z-index:2;min-width:34px;height:25px;padding:0 8px;border-radius:999px;background:rgba(255,255,255,.9);color:var(--gd);display:grid;place-items:center;font-size:.66rem;font-weight:900;box-shadow:0 4px 12px rgba(11,64,38,.08)}
  .scene-art{grid-row:1/3;width:112px;height:100%;min-height:150px;margin:0;border-radius:0;background:#edf6ef;overflow:hidden}.scene-art img{width:100%;height:100%;object-fit:cover;display:block}.energy-scene>div:last-child{padding:17px 15px 17px 0}.energy-scene h3{margin:0 0 7px;font-size:1rem;line-height:1.16;letter-spacing:-.025em}.energy-scene p{margin:0;font-size:.79rem;line-height:1.48;color:var(--muted)}
  .v21-story-controls{display:none!important}.refined-tech{grid-template-columns:1fr;gap:12px}.refined-tech article{padding:18px;border-radius:20px}

  /* CONTEÚDO */
  .purpose-section{background:#fff}.purpose-shell,.about-grid{display:block}.purpose-copy{margin-bottom:22px}.purpose-points{display:grid;gap:10px}.purpose-point{min-height:106px;padding:16px;border:1px solid var(--line);border-radius:19px;background:linear-gradient(145deg,#fff,#f7fbf8);display:flex;gap:12px;align-items:flex-start}.purpose-point>span{width:41px;height:41px;flex:0 0 41px;border-radius:13px;background:var(--gs);display:grid;place-items:center}.purpose-point b{display:block;margin-bottom:4px;font-size:.94rem}.purpose-point p{margin:0;font-size:.82rem;line-height:1.48;color:var(--muted)}
  #sobre{background:#f1f6f2}.institution-card{margin-top:22px;padding:0;border:0;background:transparent;box-shadow:none;display:grid;grid-template-columns:40px 1fr;gap:0 12px}.institution-number{width:40px;height:40px;border-radius:13px;background:var(--g);color:#fff;display:grid;place-items:center;font-size:.7rem;font-weight:900}.institution-card>div{padding:1px 0 17px;margin-bottom:15px;border-bottom:1px solid var(--line)}

  /* CONTATO — REDESENHADO, SEM ESPAÇO VAZIO */
  .contact-section{display:block!important;min-height:0!important;padding:52px 0 58px!important;background:radial-gradient(circle at 90% 0,rgba(242,196,56,.22),transparent 27%),linear-gradient(155deg,#0b6638,#063d24);color:#fff;overflow:visible}
  .contact-shell{display:grid!important;grid-template-columns:1fr;gap:22px;width:min(100% - 28px,680px)}.contact-copy{display:block!important}.contact-copy .eyebrow{background:rgba(255,255,255,.13);color:#fff}.contact-copy h2{color:#fff;margin-top:12px}.contact-copy p{color:rgba(255,255,255,.83);margin:11px 0 0}.contact-assurances{display:flex;flex-wrap:wrap;gap:7px;margin-top:15px}.contact-assurances span{padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.11);font-size:.7rem;font-weight:800}.contact-seal-v22{margin-top:16px;padding:13px 14px;border:1px solid rgba(255,255,255,.16);border-radius:16px;background:rgba(255,255,255,.08);font-size:.78rem;line-height:1.35;font-weight:800;color:#fff}
  .contact-options{display:grid!important;grid-template-columns:1fr;gap:10px;margin:0}.contact-card{width:100%;min-height:112px;padding:15px;border:0;border-radius:19px;background:#fff;color:var(--ink);display:grid!important;grid-template-columns:44px 1fr 20px;align-items:center;gap:11px;text-align:left;box-shadow:0 15px 32px rgba(0,0,0,.15);position:relative;overflow:hidden}.contact-card:before{content:'';position:absolute;inset:0 auto 0 0;width:4px;background:var(--gold)}.contact-card .contact-symbol{width:44px;height:44px;border-radius:14px;background:var(--gs);color:var(--g);display:grid;place-items:center;font-size:1.15rem;font-weight:900}.contact-card small{display:block;margin-bottom:3px;color:var(--g);font-size:.65rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.contact-card strong{display:block;font-size:.94rem;line-height:1.23}.contact-card p{margin:4px 0 0!important;color:var(--muted)!important;font-size:.75rem!important;line-height:1.38!important}.contact-arrow{color:var(--g);font-size:1.15rem}

  /* FAQ */
  #duvidas{background:#fff}.faq-list{display:grid;gap:9px}.faq-list details{border:1px solid var(--line);border-radius:17px;background:#fff;overflow:hidden;box-shadow:0 6px 18px rgba(11,64,38,.04)}.faq-list summary{min-height:58px;padding:15px 46px 15px 16px;font-size:.88rem;font-weight:800;line-height:1.35;position:relative}.faq-list summary:after{content:'+';position:absolute;right:14px;top:50%;transform:translateY(-50%);width:27px;height:27px;border-radius:9px;background:var(--gs);color:var(--gd);display:grid;place-items:center}.faq-list details[open] summary{background:#f8fbf8;color:var(--gd)}.faq-list details[open] summary:after{content:'−';background:var(--g);color:#fff}.faq-list details p{padding:0 16px 17px;font-size:.84rem;line-height:1.56;color:var(--muted)}

  /* MODAL */
  .bill-help-modal{padding:9px}.bill-help-dialog.bill-final-dialog{width:min(100%,520px);max-height:calc(100dvh - 18px);border-radius:23px;overflow-y:auto}.bill-final-close{position:sticky;float:right;top:8px;margin:8px 8px -43px 0;z-index:5}.bill-final-header{padding:19px 47px 11px 17px}.bill-final-header h2{font-size:1.2rem}.bill-final-header p{font-size:.82rem;line-height:1.45}.bill-final-main{display:block;padding:0 12px}.bill-final-figure{margin:0;padding:8px;border-radius:16px;background:#f2f5f2}.bill-final-figure img{width:100%;height:auto;max-height:185px;object-fit:contain;border-radius:10px;background:#fff}.bill-final-figure figcaption{padding:8px 3px 2px;font-size:.74rem}.bill-final-guide{padding:13px 3px 1px}.bill-final-guide-intro h3{font-size:.96rem}.bill-final-guide-intro p{font-size:.78rem}.bill-final-box{display:block!important;margin-top:9px;padding:11px;border-radius:13px}.bill-final-box h4{margin:0 0 6px;font-size:.8rem}.bill-final-box p,.bill-final-box li{font-size:.74rem;line-height:1.4}.bill-final-box ul{margin:0;padding-left:17px;columns:2;column-gap:20px}.bill-final-bottom{display:block;padding:8px 12px 12px}.bill-final-example,.bill-final-contact{padding:12px;border-radius:14px}.bill-final-example h3,.bill-final-contact h3{font-size:.88rem}.bill-final-example p,.bill-final-contact p{font-size:.74rem}.bill-final-contact{margin-top:8px}.bill-final-contact .btn{width:100%;min-height:44px;margin-top:8px}.bill-final-privacy{padding:0 15px 15px;font-size:.66rem}

  /* NAVEGAÇÃO INFERIOR */
  .v21-bottom-nav{position:fixed;z-index:90;left:9px;right:9px;bottom:max(8px,env(safe-area-inset-bottom));height:var(--nav);padding:6px;border:1px solid var(--line);border-radius:21px;background:rgba(255,255,255,.97);backdrop-filter:blur(16px);box-shadow:0 13px 36px rgba(11,64,38,.17);display:grid;grid-template-columns:repeat(5,1fr)}.v21-bottom-nav a{min-width:0;border-radius:15px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#6c7971;font-size:.57rem;font-weight:800}.v21-bottom-nav svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}.v21-bottom-nav a.is-active{background:var(--gs);color:var(--gd)}
  .cta-band{display:none} footer{padding-bottom:25px}:where(#simulador,#como-funciona,#contato,#duvidas,#sobre){scroll-margin-top:78px}
  button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid rgba(242,196,56,.85);outline-offset:3px}
}
@media(max-width:370px){.wrap,.hero .wrap,.contact-shell{width:min(100% - 22px,680px)}.brand-lockup small{display:none}.v21-header-contact{padding-inline:10px;font-size:.67rem}.hero-final-title{column-gap:9px}.hero-final-percent{font-size:4.35rem}.hero-final-phrase{font-size:1rem}.energy-scene{grid-template-columns:96px 1fr}.scene-art{width:96px}.energy-scene>div:last-child{padding-right:12px}.bill-final-box ul{columns:1}}
@media(max-width:900px) and (orientation:landscape){.v21-bottom-nav{height:58px}.hero{padding-top:18px}.bill-help-dialog.bill-final-dialog{max-height:calc(100dvh - 12px)}}
@media(max-width:900px) and (prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* v22.2 — novo Hero mobile final. Apenas o Hero foi atualizado. */
@media (max-width: 900px) {
  html { scroll-padding-top: 12px; }

  /* A navegação principal no celular é a barra flutuante inferior. */
  .top { display: none !important; }

  .hero {
    padding: 0;
    min-height: auto;
    background:
      radial-gradient(circle at 50% 4%, rgba(242,196,56,.13), transparent 27%),
      radial-gradient(circle at 50% 72%, rgba(11,107,58,.055), transparent 40%),
      linear-gradient(180deg,#fff 0%,#f4f9f5 100%);
  }
  .hero > .wrap { width: min(100% - 28px, 680px); }
  .hero-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 0;
  }

  /* O Hero antigo continua preservado para o desktop. */
  .hero-copy.hero-final-copy { display: none !important; }

  .hero-mobile-final {
    width: 100%;
    min-height: calc(100svh - var(--nav) - 22px - env(safe-area-inset-bottom));
    padding: clamp(14px,2.5vh,24px) 0 clamp(12px,2.2vh,20px);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: var(--ink);
  }
  .hero-mobile-final-logo {
    display: block;
    width: clamp(178px,52vw,238px);
    height: auto;
    margin: 0;
    object-fit: contain;
  }
  .hero-mobile-final-slogan {
    margin: clamp(12px,2vh,18px) 0 0;
    color: #304d40;
    font-size: clamp(.96rem,4.1vw,1.08rem);
    line-height: 1.34;
    font-weight: 620;
    letter-spacing: -.015em;
  }
  .hero-mobile-final-offer {
    margin-top: clamp(20px,3.5vh,31px);
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .hero-mobile-final-economize {
    color: var(--gd);
    font-size: clamp(1.15rem,5.1vw,1.42rem);
    line-height: 1;
    font-weight: 950;
    letter-spacing: .055em;
  }
  .hero-mobile-final-percent {
    display: block;
    margin: clamp(7px,1.1vh,10px) 0 clamp(8px,1.3vh,12px);
    color: var(--gold);
    font-size: clamp(4.25rem,20vw,5.35rem);
    line-height: .86;
    font-weight: 950;
    letter-spacing: -.075em;
    text-shadow: 0 2px 0 rgba(255,255,255,.9);
  }
  .hero-mobile-final-phrase {
    margin: 0;
    color: var(--ink);
    font-size: clamp(1rem,4.35vw,1.14rem);
    line-height: 1.3;
    font-weight: 720;
    letter-spacing: -.018em;
  }
  .hero-mobile-final-phrase em { color: var(--g); font-style: normal; }
  .hero-mobile-final-benefits {
    width: 100%;
    max-width: 370px;
    margin-top: clamp(20px,3.3vh,29px);
    display: grid;
    grid-template-columns: auto auto auto;
    align-items: center;
    justify-content: center;
    column-gap: 8px;
    row-gap: 10px;
    color: var(--gd);
    font-size: clamp(.78rem,3.35vw,.91rem);
    line-height: 1.2;
    font-weight: 830;
    white-space: nowrap;
  }
  .hero-mobile-final-benefits i {
    color: rgba(6,69,38,.38);
    font-style: normal;
  }
  .hero-mobile-final-benefit-last {
    grid-column: 1 / -1;
    justify-self: center;
  }
  .hero-mobile-final-divider {
    display: block;
    width: min(100%,390px);
    height: 1px;
    margin-top: clamp(22px,3.8vh,34px);
    background: linear-gradient(90deg,transparent,rgba(11,107,58,.28),transparent);
  }

  .v21-scroll-cue { display: none !important; }
  .sim-card.hero-final-simulator { margin-top: 0; }
  :where(#simulador,#como-funciona,#contato,#duvidas,#sobre) { scroll-margin-top: 12px; }
}

@media (max-width: 370px) {
  .hero-mobile-final { padding-top: 10px; padding-bottom: 10px; }
  .hero-mobile-final-logo { width: 164px; }
  .hero-mobile-final-slogan { margin-top: 9px; font-size: .9rem; }
  .hero-mobile-final-offer { margin-top: 16px; }
  .hero-mobile-final-economize { font-size: 1.08rem; }
  .hero-mobile-final-percent { font-size: 4rem; margin-top: 6px; }
  .hero-mobile-final-phrase { font-size: .94rem; }
  .hero-mobile-final-benefits { margin-top: 16px; font-size: .73rem; column-gap: 6px; }
  .hero-mobile-final-divider { margin-top: 18px; }
}

@media (min-width: 901px) {
  .hero-mobile-final { display: none !important; }
}

/* v22.3 — correção definitiva de visibilidade do Hero */
.hero-mobile-final{display:none}
@media (max-width:900px){
  .top{display:none!important}
  .hero-copy.hero-final-copy{display:none!important}
  .hero-mobile-final{display:flex!important}
  .v21-scroll-cue{display:none!important}
}
@media (min-width:901px){
  .hero-mobile-final{display:none!important}
  .hero-copy.hero-final-copy{display:block!important}
}

/* v22.6 — tutorial da conta: legenda alinhada e introdução redundante removida */
@media (max-width:900px){
  .bill-final-figure figcaption{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:8px 12px;
    text-align:center;
    line-height:1.35;
    box-sizing:border-box;
  }
  .bill-final-guide{padding-top:8px}
}

/* v22.7 — FAQ e benefícios integrados no mobile */
.mobile-combined-faq{display:none}
@media (max-width:900px){
  .mobile-combined-faq{
    display:block;
    padding:44px 0 38px;
    background:linear-gradient(180deg,#f8fbf8 0%,#fff 100%);
  }
  /* Seções preservadas no desktop, mas eliminadas da experiência mobile */
  #proposito,
  .purpose-section,
  #duvidas-desktop,
  .desktop-faq-section{
    display:none!important;
    visibility:hidden!important;
    height:0!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
  }
  .mobile-combined-faq-wrap{padding-inline:18px}
  .mobile-combined-faq-heading{margin-bottom:20px;text-align:left}
  .mobile-combined-faq-heading .eyebrow{margin-bottom:8px}
  .mobile-combined-faq-heading h2{margin:0;font-size:clamp(1.75rem,7vw,2.15rem);line-height:1.08}
  .mobile-combined-faq-heading p{margin:10px 0 0;color:#52645c;font-size:.98rem;line-height:1.55}
  .mobile-benefit-faq{display:grid;gap:10px}
  .mobile-benefit-faq details{
    margin:0;
    overflow:hidden;
    border:1px solid rgba(8,91,51,.13);
    border-radius:18px;
    background:#fff;
    box-shadow:0 8px 22px rgba(6,69,38,.055);
  }
  .mobile-benefit-faq summary{
    position:relative;
    display:flex;
    align-items:center;
    min-height:62px;
    padding:15px 48px 15px 17px;
    color:#063f27;
    font-weight:800;
    line-height:1.32;
    cursor:pointer;
    list-style:none;
  }
  .mobile-benefit-faq summary::-webkit-details-marker{display:none}
  .mobile-benefit-faq summary::after{
    content:'+';
    position:absolute;
    right:17px;
    top:50%;
    transform:translateY(-50%);
    width:28px;
    height:28px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#eef7f1;
    color:#08733f;
    font-size:1.2rem;
    font-weight:700;
    transition:transform .22s ease,background .22s ease;
  }
  .mobile-benefit-faq details[open] summary::after{content:'−';background:#0b7140;color:#fff}
  .mobile-benefit-faq details[open] summary{border-bottom:1px solid rgba(8,91,51,.09)}
  .mobile-benefit-faq details p{
    margin:0;
    padding:15px 17px 18px;
    color:#4b5e55;
    font-size:.95rem;
    line-height:1.58;
  }
}

/* v22.9 — contato mobile direto e focado em conversão */
.mobile-contact-only,
.mobile-contact-human,
.mobile-contact-signature { display: none; }

@media (max-width: 900px) {
  .contact-section {
    padding: 54px 0 42px !important;
    background: linear-gradient(155deg, #0b6638, #063d24) !important;
  }

  .contact-shell {
    gap: 25px !important;
  }

  .contact-copy {
    text-align: center;
  }

  .contact-copy .eyebrow,
  .contact-assurances,
  .contact-seal-v22 {
    display: none !important;
  }

  .contact-copy h2 {
    margin: 0 !important;
    font-size: clamp(1.9rem, 8vw, 2.35rem) !important;
    line-height: 1.08 !important;
  }

  .contact-copy > p {
    max-width: 34rem;
    margin: 14px auto 0 !important;
    font-size: .96rem !important;
    line-height: 1.62 !important;
    color: rgba(255,255,255,.88) !important;
  }

  .contact-options {
    gap: 0 !important;
    text-align: center;
  }

  .desktop-contact-only {
    display: none !important;
  }

  .mobile-contact-only,
  .mobile-contact-human,
  .mobile-contact-signature {
    display: block;
  }

  .contact-card.whatsapp-card {
    min-height: 56px !important;
    padding: 0 17px !important;
    border-radius: 16px !important;
    grid-template-columns: 31px 1fr 18px !important;
    gap: 10px !important;
    box-shadow: 0 14px 30px rgba(0,0,0,.17) !important;
  }

  .contact-card.whatsapp-card:before {
    display: none !important;
  }

  .contact-card.whatsapp-card .contact-symbol {
    width: 31px !important;
    height: 31px !important;
    border-radius: 10px !important;
    background: var(--g) !important;
    color: #fff !important;
    font-size: .92rem !important;
  }

  .contact-card.whatsapp-card strong {
    font-size: .95rem !important;
    text-align: center;
  }

  .contact-card.email-card {
    min-height: auto !important;
    margin-top: 15px !important;
    padding: 5px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: rgba(255,255,255,.92) !important;
    box-shadow: none !important;
    display: inline-flex !important;
    width: auto !important;
    justify-self: center;
    align-items: center;
    gap: 7px !important;
  }

  .contact-card.email-card:before,
  .contact-card.email-card .contact-arrow {
    display: none !important;
  }

  .contact-card.email-card .contact-symbol {
    width: auto !important;
    height: auto !important;
    background: transparent !important;
    color: inherit !important;
    font-size: .9rem !important;
  }

  .contact-card.email-card strong {
    color: inherit !important;
    font-size: .82rem !important;
    font-weight: 750 !important;
    text-decoration: underline;
    text-underline-offset: 3px;
  }

  .mobile-contact-human {
    margin: 11px 0 0 !important;
    color: rgba(255,255,255,.72) !important;
    font-size: .72rem !important;
    line-height: 1.4 !important;
  }

  .mobile-contact-signature {
    margin: 25px 0 0 !important;
    padding-top: 18px;
    border-top: 1px solid rgba(255,255,255,.14);
    color: rgba(255,255,255,.78) !important;
    font-size: .76rem !important;
    line-height: 1.45 !important;
    font-weight: 750;
  }
}


/* Extracted from index.html: v22-4-simulator-mobile-fixes */
@media (max-width:900px){
  /* Etapa 2: simulador mobile, sem alterar o desktop */
  .hero{padding-bottom:0!important;overflow:visible!important;background:#fff!important;}
  .hero .wrap.hero-grid{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;display:block!important;background:transparent!important;border-radius:0!important;box-shadow:none!important;}
  .hero-mobile-final{padding-left:18px!important;padding-right:18px!important;}
  .hero-final-simulator{
    width:calc(100% - 24px)!important;max-width:520px!important;margin:18px auto 0!important;padding:22px 18px 18px!important;
    border-radius:24px!important;border:1px solid rgba(16,107,58,.14)!important;background:#fff!important;
    box-shadow:0 16px 42px rgba(16,107,58,.13)!important;overflow:hidden!important;position:relative!important;
  }
  .hero-final-simulator:before{height:4px!important;}
  .hero-final-simulator:after{display:none!important;}
  .hero-final-simulator h3{font-size:1.42rem!important;line-height:1.12!important;margin:0 0 8px!important;text-align:left!important;}
  .hero-final-simulator>p:not(.micro){font-size:.87rem!important;line-height:1.48!important;margin:0 0 14px!important;}
  .hero-final-help{min-height:48px!important;border-radius:14px!important;padding:0 12px!important;margin:0!important;font-size:.8rem!important;}
  .hero-final-money{min-height:64px!important;margin-top:13px!important;border-radius:16px!important;padding:0 14px!important;}
  .hero-final-money input{font-size:1.9rem!important;padding:8px 0!important;}
  .hero-final-simulator .range{margin:13px 0 7px!important;}
  .hero-final-simulator .minimum-lock{margin:0 0 11px!important;font-size:.7rem!important;}
  .hero-final-note{margin:10px 0 12px!important;padding:10px 11px!important;border-radius:12px!important;font-size:.72rem!important;line-height:1.4!important;}
  .hero-final-result{margin:0 0 12px!important;padding:13px 12px!important;border-radius:16px!important;gap:8px!important;}
  .hero-final-result small{font-size:.65rem!important;line-height:1.25!important;}
  .hero-final-result strong{font-size:clamp(1rem,5vw,1.28rem)!important;}
  .hero-final-simulator #simContact{width:100%!important;min-height:50px!important;border-radius:14px!important;}
  .hero-final-simulator .micro{margin:9px 1px 0!important;font-size:.64rem!important;line-height:1.38!important;}
  .v21-scroll-cue{display:none!important;}
  .purpose-note{margin-top:24px!important;}
  #simulador{scroll-margin-top:14px!important;}

  /* Modal da conta: legível e confortável no celular */
  #billHelpModal{padding:8px!important;}
  #billHelpModal .bill-help-dialog{width:100%!important;max-width:540px!important;max-height:calc(100dvh - 16px)!important;margin:0 auto!important;border-radius:22px!important;}
  #billHelpModal .bill-final-header{padding:18px 48px 10px 16px!important;}
  #billHelpModal .bill-final-header h2{font-size:1.18rem!important;line-height:1.16!important;}
  #billHelpModal .bill-final-main{padding:0 10px!important;}
  #billHelpModal .bill-final-figure img{max-height:240px!important;object-fit:contain!important;}
  #billHelpModal .bill-final-guide{padding:12px 4px 2px!important;}
  #billHelpModal .bill-final-box ul{columns:1!important;}
  #billHelpModal .bill-final-bottom{padding:8px 10px 12px!important;}
  #billHelpModal .bill-final-contact .btn{width:100%!important;}
}
@media (max-width:380px){
  .hero-final-simulator{width:calc(100% - 16px)!important;padding:20px 15px 16px!important;}
  .hero-final-result{grid-template-columns:1fr!important;}
  .hero-final-result>div+div{border-left:0!important;border-top:1px solid rgba(255,255,255,.18)!important;padding:8px 0 0!important;}
}

/* Extracted from index.html: v22-5-how-mobile */
/* Etapa 3: experiência "Como funciona" mobile. Desktop preservado. */
.mobile-how-app{display:none}
@media (max-width:900px){
  #como-funciona{padding:38px 0 34px!important;background:linear-gradient(180deg,#f5fbf7 0%,#fff 100%)!important;overflow:hidden!important}
  #como-funciona>.desktop-how-existing{display:none!important}
  .mobile-how-app{display:block;padding:0 14px}
  .mobile-how-head{text-align:center;max-width:520px;margin:0 auto 18px}
  .mobile-how-head .module-kicker{display:inline-flex;margin-bottom:8px}
  .mobile-how-head h2{margin:0;font-size:clamp(1.72rem,7vw,2.15rem);line-height:1.05;color:#123f2b;letter-spacing:-.04em}
  .mobile-how-head p{margin:10px auto 0;max-width:330px;font-size:.88rem;line-height:1.48;color:#587065}
  .mobile-how-card{max-width:520px;margin:0 auto;background:#fff;border:1px solid rgba(16,107,58,.13);border-radius:26px;box-shadow:0 18px 48px rgba(16,107,58,.13);overflow:hidden;touch-action:pan-y}
  .mobile-how-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;padding:13px 10px 8px;background:#fbfefc}
  .mobile-how-step{appearance:none;border:0;background:transparent;padding:3px 2px 7px;color:#789086;font:inherit;display:flex;flex-direction:column;align-items:center;gap:3px;min-width:0;cursor:pointer}
  .mobile-how-step span{width:39px;height:39px;border-radius:50%;display:grid;place-items:center;font-size:1.14rem;background:#eef5f0;transition:.25s ease}
  .mobile-how-step small{font-size:.63rem;font-weight:800;white-space:nowrap}
  .mobile-how-step.is-active{color:#106b3a}
  .mobile-how-step.is-active span{background:#106b3a;color:#fff;transform:translateY(-2px);box-shadow:0 8px 20px rgba(16,107,58,.25)}
  .mobile-how-progress{height:3px;background:#e5eee8;position:relative}
  .mobile-how-progress i{display:block;height:100%;width:25%;background:linear-gradient(90deg,#f1bd32,#43a968);transition:transform .38s cubic-bezier(.2,.8,.2,1)}
  .mobile-how-stage{height:198px;overflow:hidden;position:relative;background:linear-gradient(180deg,#eef8f1 0%,#fff 100%)}
  .mobile-how-stage:after{content:"";position:absolute;left:8%;right:8%;bottom:18px;height:2px;background:linear-gradient(90deg,rgba(241,189,50,.5),rgba(16,107,58,.32));border-radius:999px}
  .mobile-how-visual-track{height:100%;width:400%;display:flex;transition:transform .48s cubic-bezier(.2,.8,.2,1);will-change:transform}
  .mobile-how-visual{width:25%;height:100%;display:grid;place-items:center;padding:13px 18px 8px}
  .mobile-how-visual img{width:100%;height:100%;max-height:174px;object-fit:contain;filter:drop-shadow(0 10px 14px rgba(16,107,58,.08))}
  .mobile-how-copy{padding:18px 19px 8px;min-height:235px}
  .mobile-how-page{animation:howFade .3s ease}
  @keyframes howFade{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
  .mobile-how-count{display:inline-flex;padding:4px 8px;border-radius:999px;background:#eef6f1;color:#106b3a;font-size:.63rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase}
  .mobile-how-page h3{margin:9px 0 7px;font-size:1.35rem;line-height:1.08;color:#123f2b;letter-spacing:-.025em}
  .mobile-how-page>p{margin:0;color:#4f665b;font-size:.91rem;line-height:1.48}
  .mobile-how-tech{margin-top:13px;border-top:1px solid #e7eee9;padding-top:2px}
  .mobile-how-tech summary{list-style:none;cursor:pointer;min-height:44px;display:flex;align-items:center;justify-content:space-between;color:#106b3a;font-size:.79rem;font-weight:900}
  .mobile-how-tech summary::-webkit-details-marker{display:none}
  .mobile-how-tech summary:after{content:"+";width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#eef6f1;font-size:1rem}
  .mobile-how-tech[open] summary:after{content:"−"}
  .mobile-how-tech p{margin:0 0 10px;padding:0 2px 2px;color:#607269;font-size:.76rem;line-height:1.48}
  .mobile-how-controls{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:10px;padding:4px 17px 8px}
  .mobile-how-nav{width:44px;height:44px;border-radius:50%;border:1px solid rgba(16,107,58,.18);background:#fff;color:#106b3a;font-size:1.25rem;box-shadow:0 7px 18px rgba(16,107,58,.08)}
  .mobile-how-nav:disabled{opacity:.28;box-shadow:none}
  .mobile-how-dots{display:flex;justify-content:center;gap:7px}
  .mobile-how-dots button{appearance:none;border:0;width:7px;height:7px;border-radius:50%;padding:0;background:#cbd9d0;transition:.25s}
  .mobile-how-dots button.is-active{width:22px;border-radius:999px;background:#106b3a}
  .mobile-how-swipe{text-align:center;margin:0;padding:0 12px 15px;color:#86988f;font-size:.65rem}

  /* Correção do X: espaço real para o título e botão fora da área do texto */
  #billHelpModal .bill-final-header{position:relative!important;padding:18px 62px 12px 16px!important;min-height:76px!important}
  #billHelpModal .bill-final-header h2{max-width:100%!important;margin-right:0!important;padding-right:0!important}
  #billHelpModal .bill-final-close{top:12px!important;right:12px!important;width:40px!important;height:40px!important;min-width:40px!important;border-radius:50%!important;z-index:8!important;display:grid!important;place-items:center!important;line-height:1!important}
}
@media (min-width:901px){
  #como-funciona>.desktop-how-existing{display:block}
}
@media (max-width:380px){
  .mobile-how-head h2{font-size:1.62rem}
  .mobile-how-stage{height:178px}
  .mobile-how-copy{min-height:246px;padding-left:16px;padding-right:16px}
  .mobile-how-page h3{font-size:1.2rem}
  .mobile-how-step small{font-size:.58rem}
}

/* Extracted from index.html: v22-8-mobile-desktop-sections-guard */
@media (max-width:900px){
  #proposito, section.purpose-section,
  #duvidas-desktop, section.desktop-faq-section{display:none!important;visibility:hidden!important;height:0!important;min-height:0!important;margin:0!important;padding:0!important;overflow:hidden!important}
}

/* Extracted from index.html: v23-2-contact-mobile-critical */
@media (max-width:900px){
  body #contato.contact-section{display:block!important;min-height:0!important;padding:52px 0 96px!important;background:linear-gradient(155deg,#0b6638,#063d24)!important;color:#fff!important;overflow:visible!important}
  body #contato .contact-shell{width:min(100% - 28px,680px)!important;margin:0 auto!important;display:grid!important;grid-template-columns:1fr!important;gap:24px!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important}
  body #contato .contact-copy{display:block!important;visibility:visible!important;opacity:1!important;transform:none!important;text-align:center!important;background:transparent!important;color:#fff!important;padding:0!important;margin:0!important}
  body #contato .contact-copy .eyebrow,
  body #contato .contact-assurances,
  body #contato .contact-seal-v22{display:none!important}
  body #contato .contact-copy h2{display:block!important;visibility:visible!important;opacity:1!important;color:#f1bd32!important;margin:0!important;font-size:clamp(1.9rem,8vw,2.35rem)!important;line-height:1.08!important;letter-spacing:-.04em!important}
  body #contato .contact-copy>p{display:block!important;visibility:visible!important;opacity:1!important;max-width:34rem!important;margin:14px auto 0!important;color:rgba(255,255,255,.9)!important;font-size:.96rem!important;line-height:1.62!important}
  body #contato .contact-options{display:grid!important;grid-template-columns:1fr!important;gap:0!important;margin:0!important;text-align:center!important}
  body #contato .desktop-contact-only{display:none!important}
  body #contato .mobile-contact-only,
  body #contato .mobile-contact-human,
  body #contato .mobile-contact-signature{display:block!important}
  body #contato .contact-card.whatsapp-card{display:grid!important;width:100%!important;min-height:56px!important;padding:0 17px!important;border:0!important;border-radius:16px!important;background:#fff!important;color:#0b3528!important;grid-template-columns:31px 1fr 18px!important;align-items:center!important;gap:10px!important;box-shadow:0 14px 30px rgba(0,0,0,.17)!important}
  body #contato .contact-card.whatsapp-card:before{display:none!important}
  body #contato .contact-card.whatsapp-card .contact-symbol{width:31px!important;height:31px!important;border-radius:50%!important;background:#106b3a!important;color:#fff!important;display:grid!important;place-items:center!important;font-size:.92rem!important}
  body #contato .contact-card.whatsapp-card .contact-symbol .whatsapp-icon{width:19px!important;height:19px!important;display:block!important;color:#fff!important}
  body #contato .contact-card.whatsapp-card strong{display:block!important;font-size:.95rem!important;line-height:1.25!important;text-align:center!important}
  body #contato .contact-card.email-card{display:inline-flex!important;width:auto!important;min-height:auto!important;margin:15px auto 0!important;padding:5px!important;border:0!important;border-radius:0!important;background:transparent!important;color:rgba(255,255,255,.92)!important;box-shadow:none!important;align-items:center!important;justify-content:center!important;gap:7px!important}
  body #contato .contact-card.email-card:before,body #contato .contact-card.email-card .contact-arrow{display:none!important}
  body #contato .contact-card.email-card .contact-symbol{width:auto!important;height:auto!important;background:transparent!important;color:inherit!important;font-size:.9rem!important}
  body #contato .contact-card.email-card strong{color:inherit!important;font-size:.82rem!important;font-weight:750!important;text-decoration:underline!important;text-underline-offset:3px!important}
  body #contato .mobile-contact-human{display:block!important;visibility:visible!important;opacity:1!important;margin:11px 0 0!important;color:rgba(255,255,255,.72)!important;font-size:.72rem!important;line-height:1.4!important}
  body #contato .mobile-contact-signature{display:block!important;visibility:visible!important;opacity:1!important;margin:25px 0 0!important;padding-top:18px!important;border-top:1px solid rgba(255,255,255,.14)!important;color:#f1bd32!important;font-size:.76rem!important;line-height:1.45!important;font-weight:750!important}
}

/* Extracted from index.html: v23-1-visual-refinements */
@media (max-width:900px){
  /* Amarelo oficial da marca nos destaques da seção de contato */
  .contact-section .contact-copy h2,
  .contact-section .mobile-contact-signature{color:#f1bd32!important;}

  /* Ícone oficial do WhatsApp no botão principal */
  .contact-card.whatsapp-card .contact-symbol{border-radius:50%!important;}
  .contact-card.whatsapp-card .contact-symbol .whatsapp-icon{width:19px!important;height:19px!important;display:block!important;color:#fff!important;}

  /* Ícones da navegação inferior: mesma caixa óptica e alinhamento */
  .v21-bottom-nav svg{width:21px!important;height:21px!important;display:block!important;flex:0 0 21px!important;stroke-linecap:round!important;stroke-linejoin:round!important;}
  .v21-bottom-nav .whatsapp-icon{fill:currentColor!important;stroke:none!important;}
}

/* ==========================================================
   v23.4 — PIXEL PERFECT MOBILE
   Alinhamento óptico da seção institucional (#sobre)
   Desktop preservado.
   ========================================================== */
@media (max-width: 900px) {
  body #sobre {
    padding: 58px 0 64px;
    overflow: hidden;
  }

  body #sobre > .wrap.about-grid {
    display: block;
    width: min(calc(100% - 36px), 680px);
    margin-inline: auto;
  }

  body #sobre .about-grid > div:first-child {
    width: 100%;
    margin: 0;
    text-align: left;
  }

  body #sobre .about-grid .eyebrow {
    margin: 0 0 14px;
    vertical-align: top;
  }

  body #sobre .about-grid h2 {
    max-width: 520px;
    margin: 0;
    color: var(--ink);
    font-size: clamp(2rem, 8.7vw, 2.6rem);
    line-height: 1.08;
    letter-spacing: -0.045em;
    text-align: left;
    text-wrap: balance;
  }

  body #sobre .about-grid p,
  body #sobre .about-grid .lead {
    width: 100%;
    max-width: 620px;
    margin-left: 0;
    margin-right: 0;
    text-align: left;
  }

  body #sobre .about-grid .lead {
    margin-top: 12px;
    margin-bottom: 26px;
    font-size: 1.03rem;
    line-height: 1.56;
    color: var(--muted);
  }

  body #sobre .about-grid > div:first-child > p:not(.lead) {
    margin-top: 0;
    margin-bottom: 0;
    font-size: .96rem;
    line-height: 1.68;
    color: var(--muted);
  }

  body #sobre .institution-card {
    width: 100%;
    margin: 30px 0 0;
    padding: 0 !important;
    grid-template-columns: 44px minmax(0, 1fr);
    column-gap: 16px;
    row-gap: 0;
    align-items: start;
  }

  body #sobre .institution-number {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    font-size: .72rem;
  }

  body #sobre .institution-card > div {
    min-width: 0;
    padding: 1px 0 20px;
    margin: 0 0 19px;
  }

  body #sobre .institution-card > div:last-child {
    padding-bottom: 0;
    margin-bottom: 0;
    border-bottom: 0;
  }

  body #sobre .institution-card b {
    display: block;
    margin: 0 0 5px;
    font-size: 1.02rem;
    line-height: 1.3;
    letter-spacing: -0.015em;
  }

  body #sobre .institution-card p {
    margin: 0;
    font-size: .91rem;
    line-height: 1.55;
  }
}

@media (max-width: 380px) {
  body #sobre > .wrap.about-grid {
    width: min(calc(100% - 28px), 680px);
  }

  body #sobre .about-grid h2 {
    font-size: 1.9rem;
  }
}

/* v23.5 — HERO PREMIUM MOBILE
   Reorganização exclusiva do Hero no celular. Conteúdo e desktop preservados. */
@media (max-width: 900px) {
  .hero > .wrap {
    width: min(100% - 32px, 680px);
  }

  .hero-grid {
    gap: 14px;
  }

  .hero-mobile-final {
    min-height: 0;
    padding: 14px 0 20px;
    justify-content: flex-start;
  }

  .hero-mobile-final-logo {
    width: clamp(148px, 43vw, 184px);
  }

  .hero-mobile-final-slogan {
    margin-top: 7px;
    font-size: clamp(.86rem, 3.8vw, .98rem);
    line-height: 1.28;
  }

  .hero-mobile-final-offer {
    margin-top: 14px;
  }

  .hero-mobile-final-economize {
    font-size: clamp(1rem, 4.4vw, 1.18rem);
    letter-spacing: .075em;
  }

  .hero-mobile-final-percent {
    margin: 5px 0 7px;
    font-size: clamp(3.85rem, 17.5vw, 4.75rem);
    line-height: .84;
  }

  .hero-mobile-final-phrase {
    font-size: clamp(.91rem, 4vw, 1.03rem);
    line-height: 1.26;
  }

  .hero-mobile-final-benefits {
    width: auto;
    max-width: 100%;
    margin-top: 15px;
    padding: 9px 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;
    gap: 8px;
    border: 1px solid rgba(11,107,58,.12);
    border-radius: 999px;
    background: rgba(255,255,255,.78);
    box-shadow: 0 8px 24px rgba(11,64,38,.05);
    font-size: clamp(.66rem, 2.9vw, .78rem);
  }

  .hero-mobile-final-benefits > span {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
  }

  .hero-mobile-final-benefits i {
    display: inline;
    color: rgba(6,69,38,.26);
  }

  .hero-mobile-final-benefit-last {
    grid-column: auto;
    justify-self: auto;
  }

  .hero-mobile-final-divider {
    width: min(88%, 340px);
    margin-top: 15px;
  }

  .sim-card.hero-final-simulator {
    margin-top: 0;
  }
}

@media (max-width: 370px) {
  .hero-mobile-final {
    padding: 10px 0 16px;
  }

  .hero-mobile-final-logo {
    width: 142px;
  }

  .hero-mobile-final-slogan {
    margin-top: 6px;
    font-size: .82rem;
  }

  .hero-mobile-final-offer {
    margin-top: 12px;
  }

  .hero-mobile-final-economize {
    font-size: .96rem;
  }

  .hero-mobile-final-percent {
    margin-top: 4px;
    font-size: 3.65rem;
  }

  .hero-mobile-final-phrase {
    font-size: .87rem;
  }

  .hero-mobile-final-benefits {
    margin-top: 13px;
    padding: 8px 9px;
    gap: 6px;
    font-size: .62rem;
  }

  .hero-mobile-final-divider {
    margin-top: 13px;
  }
}


/* ==========================================================
   v23.6 — HERO EDITORIAL MOBILE
   Logo centralizada; mensagem em composição editorial alinhada
   à esquerda; benefícios mantidos centralizados no fechamento.
   Desktop e demais seções preservados.
   ========================================================== */
@media (max-width: 900px) {
  .hero {
    padding-top: 0 !important;
  }

  .hero > .wrap {
    width: min(100% - 36px, 680px) !important;
  }

  .hero-mobile-final {
    width: 100%;
    min-height: 0;
    padding: 24px 0 38px !important;
    display: flex !important;
    flex-direction: column;
    align-items: stretch !important;
    justify-content: flex-start;
    text-align: left !important;
  }

  .hero-mobile-final-logo {
    display: block;
    width: clamp(138px, 39vw, 170px) !important;
    height: auto;
    margin: 0 auto;
  }

  .hero-mobile-final-slogan {
    width: min(100%, 25rem);
    margin: 15px 0 0 !important;
    color: var(--gd);
    font-size: clamp(.88rem, 3.8vw, 1rem) !important;
    line-height: 1.34 !important;
    font-weight: 720;
    letter-spacing: -.018em;
    text-align: left !important;
  }

  .hero-mobile-final-offer {
    width: 100%;
    margin: 22px 0 0 !important;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-areas:
      'label label'
      'percent phrase';
    column-gap: 18px;
    row-gap: 8px;
    align-items: end;
    text-align: left !important;
  }

  .hero-mobile-final-economize {
    grid-area: label;
    margin: 0 !important;
    color: var(--gd);
    font-size: clamp(1.05rem, 4.5vw, 1.22rem) !important;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .08em;
  }

  .hero-mobile-final-percent {
    grid-area: percent;
    margin: 0 !important;
    color: var(--gold);
    font-size: clamp(4.7rem, 22vw, 6rem) !important;
    line-height: .78 !important;
    font-weight: 950;
    letter-spacing: -.085em;
    white-space: nowrap;
  }

  .hero-mobile-final-phrase {
    grid-area: phrase;
    width: 100%;
    max-width: 13rem;
    margin: 0 0 3px !important;
    color: var(--ink);
    font-size: clamp(.94rem, 4vw, 1.08rem) !important;
    line-height: 1.23 !important;
    font-weight: 760;
    letter-spacing: -.027em;
    text-align: left !important;
  }

  .hero-mobile-final-benefits {
    width: fit-content;
    max-width: 100%;
    margin: 25px auto 0 !important;
    padding: 10px 15px !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;
    gap: clamp(13px, 4vw, 22px) !important;
    border: 1px solid rgba(11, 107, 58, .13);
    border-radius: 999px;
    background: rgba(255,255,255,.94);
    box-shadow: 0 8px 22px rgba(11,64,38,.045);
    color: var(--gd);
    font-size: clamp(.67rem, 3vw, .76rem) !important;
    line-height: 1.15;
    font-weight: 800;
    text-align: center;
    white-space: nowrap;
  }

  .hero-mobile-final-benefits i {
    display: none !important;
  }

  .hero-mobile-final-benefit-last {
    flex-basis: auto !important;
  }

  .hero-mobile-final-divider {
    display: block !important;
    width: 100%;
    height: 1px;
    margin: 30px 0 0 !important;
    background: linear-gradient(90deg, transparent, rgba(11,107,58,.16), transparent);
  }

  .sim-card.hero-final-simulator {
    margin-top: 0 !important;
  }
}

@media (max-width: 380px) {
  .hero > .wrap {
    width: min(100% - 28px, 680px) !important;
  }

  .hero-mobile-final {
    padding-top: 20px !important;
    padding-bottom: 32px !important;
  }

  .hero-mobile-final-offer {
    column-gap: 12px;
  }

  .hero-mobile-final-percent {
    font-size: 4.45rem !important;
  }

  .hero-mobile-final-phrase {
    font-size: .9rem !important;
  }

  .hero-mobile-final-benefits {
    width: 100%;
    padding-inline: 11px !important;
    gap: 10px !important;
    font-size: .64rem !important;
  }
}

/* ==========================================================
   v23.7 — HERO CENTRALIZADA REFINADA
   Corrige a composição editorial lateral da v23.6 e restaura
   uma hierarquia centralizada, segura e responsiva no mobile.
   Mantém a cápsula sem separadores e cria transição clara antes
   do simulador. Desktop preservado.
   ========================================================== */
@media (max-width: 900px) {
  .hero {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  .hero > .wrap {
    width: min(100% - 32px, 680px) !important;
  }

  .hero-mobile-final {
    width: 100% !important;
    min-height: 0 !important;
    padding: 22px 0 34px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    text-align: center !important;
  }

  .hero-mobile-final-logo {
    display: block !important;
    width: clamp(146px, 41vw, 176px) !important;
    height: auto !important;
    margin: 0 auto !important;
  }

  .hero-mobile-final-slogan {
    width: 100% !important;
    max-width: 24rem !important;
    margin: 12px auto 0 !important;
    font-size: clamp(.88rem, 3.8vw, 1rem) !important;
    line-height: 1.3 !important;
    font-weight: 720 !important;
    letter-spacing: -.018em !important;
    text-align: center !important;
  }

  .hero-mobile-final-offer {
    width: 100% !important;
    margin: 17px auto 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    text-align: center !important;
  }

  .hero-mobile-final-economize {
    display: block !important;
    margin: 0 !important;
    font-size: clamp(1.03rem, 4.4vw, 1.18rem) !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    letter-spacing: .075em !important;
    text-align: center !important;
  }

  .hero-mobile-final-percent {
    display: block !important;
    margin: 6px auto 8px !important;
    font-size: clamp(4rem, 18vw, 4.9rem) !important;
    line-height: .84 !important;
    font-weight: 950 !important;
    letter-spacing: -.075em !important;
    white-space: nowrap !important;
    text-align: center !important;
  }

  .hero-mobile-final-phrase {
    width: 100% !important;
    max-width: 22rem !important;
    margin: 0 auto !important;
    font-size: clamp(.92rem, 4vw, 1.04rem) !important;
    line-height: 1.28 !important;
    font-weight: 760 !important;
    letter-spacing: -.025em !important;
    text-align: center !important;
  }

  .hero-mobile-final-benefits {
    width: fit-content !important;
    max-width: 100% !important;
    margin: 17px auto 0 !important;
    padding: 9px 14px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: nowrap !important;
    gap: clamp(12px, 3.6vw, 20px) !important;
    border: 1px solid rgba(11, 107, 58, .13) !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.94) !important;
    box-shadow: 0 8px 22px rgba(11,64,38,.045) !important;
    font-size: clamp(.67rem, 3vw, .76rem) !important;
    line-height: 1.15 !important;
    font-weight: 800 !important;
    text-align: center !important;
    white-space: nowrap !important;
  }

  .hero-mobile-final-benefits > span {
    display: inline-flex !important;
    align-items: center !important;
    white-space: nowrap !important;
  }

  .hero-mobile-final-benefits i {
    display: none !important;
  }

  .hero-mobile-final-benefit-last {
    flex-basis: auto !important;
  }

  .hero-mobile-final-divider {
    display: block !important;
    width: min(84%, 320px) !important;
    height: 1px !important;
    margin: 31px auto 0 !important;
    background: linear-gradient(90deg, transparent, rgba(11,107,58,.15), transparent) !important;
  }

  .sim-card.hero-final-simulator {
    margin-top: 0 !important;
  }
}

@media (max-width: 380px) {
  .hero > .wrap {
    width: min(100% - 28px, 680px) !important;
  }

  .hero-mobile-final {
    padding-top: 18px !important;
    padding-bottom: 30px !important;
  }

  .hero-mobile-final-logo {
    width: 142px !important;
  }

  .hero-mobile-final-slogan {
    margin-top: 9px !important;
    font-size: .83rem !important;
  }

  .hero-mobile-final-offer {
    margin-top: 14px !important;
  }

  .hero-mobile-final-economize {
    font-size: .96rem !important;
  }

  .hero-mobile-final-percent {
    font-size: 3.7rem !important;
    margin-top: 5px !important;
  }

  .hero-mobile-final-phrase {
    font-size: .87rem !important;
  }

  .hero-mobile-final-benefits {
    width: 100% !important;
    padding-inline: 10px !important;
    gap: 9px !important;
    font-size: .62rem !important;
  }

  .hero-mobile-final-divider {
    margin-top: 27px !important;
  }
}


/* ==========================================================
   v23.8 — HERO FULL FOCUS
   Mantém a composição aprovada da v23.7, compacta discretamente
   o conteúdo interno e faz a Hero ocupar a primeira área útil do
   celular. O simulador começa somente depois da primeira dobra.
   Desktop preservado.
   ========================================================== */
@media (max-width: 900px) {
  .hero {
    min-height: clamp(680px, 100svh, 840px) !important;
    display: flex !important;
    align-items: stretch !important;
  }

  .hero > .wrap {
    min-height: inherit !important;
    display: flex !important;
    flex-direction: column !important;
  }

  .hero-grid {
    min-height: inherit !important;
  }

  .hero-mobile-final {
    min-height: inherit !important;
    box-sizing: border-box !important;
    padding-top: clamp(18px, 2.7svh, 26px) !important;
    padding-bottom: clamp(46px, 7svh, 72px) !important;
  }

  .hero-mobile-final-logo {
    width: clamp(142px, 39vw, 168px) !important;
  }

  .hero-mobile-final-slogan {
    margin-top: 10px !important;
  }

  .hero-mobile-final-offer {
    margin-top: 14px !important;
  }

  .hero-mobile-final-percent {
    margin-top: 5px !important;
    margin-bottom: 7px !important;
  }

  .hero-mobile-final-benefits {
    margin-top: 15px !important;
  }

  .hero-mobile-final-divider {
    margin-top: auto !important;
  }

  .sim-card.hero-final-simulator {
    margin-top: 0 !important;
  }
}

@media (max-width: 380px) {
  .hero {
    min-height: clamp(640px, 100svh, 760px) !important;
  }

  .hero-mobile-final {
    padding-top: 16px !important;
    padding-bottom: 42px !important;
  }

  .hero-mobile-final-logo {
    width: 138px !important;
  }

  .hero-mobile-final-slogan {
    margin-top: 8px !important;
  }

  .hero-mobile-final-offer {
    margin-top: 12px !important;
  }

  .hero-mobile-final-benefits {
    margin-top: 13px !important;
  }
}

/* ==========================================================
   v23.9 — HERO REBALANCED
   Reorganiza a primeira dobra sem acrescentar texto redundante:
   oferta primeiro, benefícios, propósito e apenas um indicador
   visual discreto para sinalizar conteúdo abaixo.
   ========================================================== */
@media (max-width: 900px) {
  .hero-mobile-final {
    justify-content: flex-start !important;
  }

  .hero-mobile-final-offer {
    margin-top: clamp(22px, 3.2svh, 32px) !important;
  }

  .hero-mobile-final-economize {
    font-size: clamp(1.24rem, 5.28vw, 1.42rem) !important;
    font-weight: 900 !important;
    letter-spacing: .07em !important;
  }

  .hero-mobile-final-benefits {
    margin-top: clamp(18px, 2.5svh, 24px) !important;
  }

  .hero-mobile-final-slogan {
    order: initial !important;
    width: min(100%, 22rem) !important;
    margin: clamp(24px, 3.8svh, 34px) auto 0 !important;
    font-size: clamp(.84rem, 3.55vw, .96rem) !important;
    line-height: 1.35 !important;
    font-weight: 750 !important;
    letter-spacing: -.01em !important;
    text-align: center !important;
    white-space: normal !important;
  }

  .hero-mobile-scroll-cue {
    margin: auto auto 0 !important;
    width: 44px !important;
    height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: rgba(11,107,58,.58) !important;
    text-decoration: none !important;
    font-size: 2rem !important;
    line-height: 1 !important;
    border-radius: 999px !important;
    -webkit-tap-highlight-color: transparent !important;
  }

  .hero-mobile-scroll-cue span {
    display: block !important;
    transform: translateY(-2px) !important;
    animation: heroCueFloat 1.65s ease-in-out infinite !important;
  }

  .hero-mobile-final-divider {
    display: none !important;
  }
}

@media (max-width: 380px) {
  .hero-mobile-final-offer {
    margin-top: 18px !important;
  }

  .hero-mobile-final-economize {
    font-size: 1.15rem !important;
  }

  .hero-mobile-final-slogan {
    margin-top: 20px !important;
    font-size: .8rem !important;
  }
}

@keyframes heroCueFloat {
  0%, 100% { transform: translateY(-2px); opacity: .58; }
  50% { transform: translateY(5px); opacity: .95; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-mobile-scroll-cue span {
    animation: none !important;
  }
}

/* ==========================================================
   v23.10 — HERO HEIGHT + SAFE SIMULATOR TRANSITION
   Reduz o vazio da primeira dobra, aproxima o indicador do
   conteúdo e mantém o início legível do simulador acima da
   navegação flutuante. Desktop preservado.
   ========================================================== */
@media (max-width: 900px) {
  .hero {
    min-height: clamp(590px, 86svh, 720px) !important;
  }

  .hero > .wrap,
  .hero-grid,
  .hero-mobile-final {
    min-height: inherit !important;
  }

  .hero-mobile-final {
    padding-bottom: clamp(18px, 2.8svh, 26px) !important;
  }

  .hero-mobile-scroll-cue {
    margin: clamp(28px, 4.5svh, 44px) auto 0 !important;
  }

  .sim-card.hero-final-simulator {
    margin-top: calc(var(--nav) + 18px) !important;
  }
}

@media (max-width: 380px) {
  .hero {
    min-height: clamp(560px, 85svh, 660px) !important;
  }

  .hero-mobile-final {
    padding-bottom: 16px !important;
  }

  .hero-mobile-scroll-cue {
    margin-top: 24px !important;
  }

  .sim-card.hero-final-simulator {
    margin-top: calc(var(--nav) + 14px) !important;
  }
}

/* ==========================================================
   v23.12 — CORREÇÃO REAL DA HERO MOBILE
   Aplica o ajuste ao seletor existente (.hero-mobile-final),
   reduz a altura excessiva e centraliza verticalmente o conjunto.
   Desktop preservado.
   ========================================================== */
@media (max-width: 900px) {
  .hero {
    min-height: clamp(620px, 79svh, 700px) !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  .hero > .wrap,
  .hero-grid {
    min-height: inherit !important;
  }

  .hero-mobile-final {
    min-height: inherit !important;
    padding: clamp(34px, 5svh, 48px) 0 clamp(22px, 3.2svh, 30px) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    transform: translateY(clamp(12px, 2svh, 20px));
  }

  .hero-mobile-final-logo {
    margin: 0 auto !important;
  }

  .hero-mobile-final-offer {
    margin-top: clamp(18px, 2.5svh, 24px) !important;
  }

  .hero-mobile-final-benefits {
    margin-top: clamp(16px, 2.2svh, 21px) !important;
  }

  .hero-mobile-final-slogan {
    margin-top: clamp(20px, 2.8svh, 26px) !important;
  }

  .hero-mobile-scroll-cue {
    margin: clamp(26px, 3.8svh, 36px) auto 0 !important;
    flex: 0 0 auto !important;
  }

  .sim-card.hero-final-simulator {
    margin-top: calc(var(--nav) + 26px) !important;
  }
}

@media (max-width: 380px) {
  .hero {
    min-height: clamp(580px, 78svh, 650px) !important;
  }

  .hero-mobile-final {
    padding-top: 28px !important;
    padding-bottom: 20px !important;
    transform: translateY(10px);
  }

  .hero-mobile-scroll-cue {
    margin-top: 22px !important;
  }

  .sim-card.hero-final-simulator {
    margin-top: calc(var(--nav) + 20px) !important;
  }
}


/* v23.15 — refinamento visual do propósito no Hero mobile */
@media (max-width: 900px) {
  .hero-mobile-purpose {
    width: 100%;
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    grid-template-areas:
      "icon text"
      "accent accent";
    align-items: center;
    column-gap: 14px;
    row-gap: 12px;
    margin-top: 18px;
    text-align: left;
  }
  .hero-mobile-purpose-icon {
    grid-area: icon;
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(17,118,65,.20);
    border-radius: 50%;
    background: #f6fbf7;
    color: #159451;
  }
  .hero-mobile-purpose-icon svg {
    width: 24px;
    height: 24px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
  }
  .hero-mobile-purpose .hero-mobile-final-slogan {
    grid-area: text;
    margin: 0 !important;
    max-width: none;
    color: #62736c;
    font-size: clamp(.86rem, 3.6vw, 1rem);
    line-height: 1.45;
    text-align: left;
  }
  .hero-mobile-purpose-accent {
    grid-area: accent;
    width: 42px;
    height: 4px;
    border-radius: 999px;
    background: #eab700;
  }
  .mobile-contact-anchor { scroll-behavior: smooth; }
}


/* v23.16 — pixel perfect do propósito no Hero mobile */
@media (max-width: 767px) {
  .hero-mobile-purpose {
    grid-template-columns: 40px minmax(0, 1fr);
    column-gap: 10px;
    row-gap: 8px;
    margin-top: 14px;
  }
  .hero-mobile-purpose-icon {
    width: 40px;
    height: 40px;
  }
  .hero-mobile-purpose-icon svg {
    width: 20px;
    height: 20px;
  }
  .hero-mobile-purpose .hero-mobile-final-slogan {
    font-size: clamp(.74rem, 3.05vw, .84rem) !important;
    line-height: 1.34 !important;
    letter-spacing: -.01em;
    max-width: 250px;
  }
  .hero-mobile-purpose-accent {
    width: 36px;
    height: 3px;
  }
}

/* Links de contato mantêm aparência de cards/botões */
a.contact-card { text-decoration: none; color: inherit; }


/* v23.17 — alinhamento pixel perfect do propósito no Hero mobile */
@media (max-width: 767px) {
  .hero-mobile-purpose {
    width: fit-content !important;
    max-width: calc(100% - 24px) !important;
    grid-template-columns: 40px minmax(0, auto) !important;
    grid-template-areas:
      "icon text"
      "accent ." !important;
    column-gap: 10px !important;
    row-gap: 8px !important;
    margin: 14px auto 0 !important;
    align-items: center !important;
  }
  .hero-mobile-purpose-icon {
    grid-area: icon !important;
    justify-self: start !important;
  }
  .hero-mobile-purpose .hero-mobile-final-slogan {
    grid-area: text !important;
    width: auto !important;
    max-width: 290px !important;
    margin: 0 !important;
    text-align: left !important;
  }
  .hero-mobile-purpose-accent {
    grid-area: accent !important;
    justify-self: start !important;
    margin: 0 !important;
  }
}

@media (max-width: 390px) {
  .hero-mobile-purpose {
    max-width: calc(100% - 12px) !important;
    grid-template-columns: 38px minmax(0, 1fr) !important;
    column-gap: 9px !important;
  }
  .hero-mobile-purpose-icon {
    width: 38px !important;
    height: 38px !important;
  }
  .hero-mobile-purpose .hero-mobile-final-slogan {
    max-width: 245px !important;
    font-size: clamp(.72rem, 3.05vw, .80rem) !important;
  }
  .hero-mobile-purpose-accent {
    width: 34px !important;
  }
}

/* v23.18 — propósito do Hero mobile compacto e em uma única linha */
@media (max-width: 767px) {
  .hero-mobile-purpose {
    width: fit-content !important;
    max-width: calc(100% - 24px) !important;
    grid-template-columns: 30px max-content !important;
    grid-template-areas:
      "icon text"
      "accent ." !important;
    column-gap: 8px !important;
    row-gap: 6px !important;
    margin: 14px auto 0 !important;
    align-items: center !important;
  }

  .hero-mobile-purpose-icon {
    width: 30px !important;
    height: 30px !important;
  }

  .hero-mobile-purpose-icon svg {
    width: 15px !important;
    height: 15px !important;
  }

  .hero-mobile-purpose .hero-mobile-final-slogan {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    font-size: clamp(.61rem, 2.45vw, .72rem) !important;
    line-height: 1.1 !important;
    letter-spacing: -.018em !important;
    white-space: nowrap !important;
    text-align: left !important;
  }

  .hero-mobile-purpose-accent {
    width: 27px !important;
    height: 3px !important;
  }
}

@media (max-width: 360px) {
  .hero-mobile-purpose {
    max-width: calc(100% - 12px) !important;
    grid-template-columns: 28px max-content !important;
    column-gap: 7px !important;
  }

  .hero-mobile-purpose-icon {
    width: 28px !important;
    height: 28px !important;
  }

  .hero-mobile-purpose-icon svg {
    width: 14px !important;
    height: 14px !important;
  }

  .hero-mobile-purpose .hero-mobile-final-slogan {
    font-size: .58rem !important;
    letter-spacing: -.025em !important;
  }

  .hero-mobile-purpose-accent {
    width: 25px !important;
  }
}

/* Amparo Brasil v23.20 — resultado do simulador compacto no mobile */
@media (max-width:900px){
  .hero-final-result{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    align-items:center!important;
    gap:0!important;
    min-height:82px!important;
    margin:0 0 9px!important;
    padding:11px 10px!important;
    border-radius:15px!important;
  }
  .hero-final-result>div{
    min-width:0!important;
    padding:1px 9px!important;
  }
  .hero-final-result>div+div{
    border-top:0!important;
    border-left:1px solid rgba(255,255,255,.22)!important;
    padding:1px 7px 1px 13px!important;
  }
  .hero-final-result small{
    min-height:25px!important;
    margin:0 0 3px!important;
    font-size:clamp(.57rem,2.7vw,.66rem)!important;
    line-height:1.18!important;
  }
  .hero-final-result strong{
    display:block!important;
    font-size:clamp(1rem,4.7vw,1.32rem)!important;
    line-height:1.05!important;
    letter-spacing:-.025em!important;
    white-space:nowrap!important;
  }
  .hero-final-simulator #simContact{margin-top:0!important;}
}
@media (max-width:360px){
  .hero-final-result{padding-inline:7px!important;}
  .hero-final-result>div{padding-inline:6px!important;}
  .hero-final-result>div+div{padding-left:9px!important;}
  .hero-final-result small{font-size:.55rem!important;}
  .hero-final-result strong{font-size:.96rem!important;}
}

/* Amparo Brasil v23.23 — refinamento do tutorial mobile (sem alterar desktop) */
@media (max-width:900px){
  /* Aproxima visualmente a base da ilustração da linha de apoio. */
  .mobile-how-visual img{
    transform:translateY(10px);
  }

  /* Remove altura ociosa entre o conteúdo expansível e os controles. */
  .mobile-how-copy{
    min-height:0!important;
    padding-bottom:2px!important;
  }
  .mobile-how-tech{
    margin-top:10px!important;
  }
  .mobile-how-controls{
    margin-top:2px!important;
    padding-top:2px!important;
    padding-bottom:5px!important;
  }
  .mobile-how-swipe{
    padding-bottom:11px!important;
  }
}

@media (max-width:370px){
  .mobile-how-copy{
    min-height:0!important;
  }
}
