/* Camada final de consistência, acessibilidade e responsividade. */
html{-webkit-text-size-adjust:100%}
img{max-width:100%}
button,a,input,select,textarea{font:inherit}
button:not(:disabled),[role="button"]:not([aria-disabled="true"]){cursor:pointer}
button:disabled,[aria-disabled="true"]{cursor:not-allowed}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid rgba(255,130,0,.28);outline-offset:3px}
dialog[open]{overscroll-behavior:contain}
.modal-close{display:grid;place-items:center;padding:0;line-height:1;cursor:pointer}

/* O conteúdo continua perceptível durante navegações internas. */
.page-loader{background:rgba(248,250,253,.88);backdrop-filter:blur(3px)}

@media(max-width:760px){
  /* O mobile mantém a linguagem do desktop, sem o quadro demonstrativo. */
  .home-hero{padding:48px 0 42px}
  .home-hero-grid{display:block}
  .home-hero-copy{max-width:100%}
  .product-frame{display:none!important}
  .home-hero h1{max-width:620px;font-size:clamp(35px,10.8vw,49px);line-height:1.06}
  .home-hero-copy>p{max-width:620px}
  .home-actions{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap}
  .home-actions a{width:auto;flex:1 1 170px}
  .hero-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}

  /* Os três passos permanecem lado a lado em uma faixa proporcional. */
  .energy-flow{grid-template-columns:repeat(3,minmax(230px,1fr));overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#b7c7d8 transparent}
  .energy-flow li{min-height:150px;padding:23px 18px;scroll-snap-align:start}
  .energy-flow li+li{border-top:0;border-left:1px solid #cfd9e5}

  /* Os três planos permanecem na mesma linha e podem ser percorridos pelo toque. */
  .pricing-grid.pricing-refined{grid-template-columns:repeat(3,minmax(278px,1fr));max-width:none;width:100%;margin:0;overflow-x:auto;overflow-y:visible;padding:16px 4px 18px;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#b7c7d8 transparent}
  .pricing-refined .price-card{min-height:100%;padding:26px 23px;scroll-snap-align:start}
  .pricing-refined .price-card.featured{transform:none}
  .pricing-note{margin-top:20px}

  /* Formulários e modais nunca ultrapassam a tela. */
  dialog:not(.pdf-preview-dialog){max-width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}
  .finance-dialog>form,.credential-dialog .credential-card{max-height:calc(100dvh - 20px);overflow:auto}
  .finance-hero-actions>a,.gateway-buttons button,.btn-primary-z,.btn-outline-z{min-height:42px}
}

@media(max-width:430px){
  .hero-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero-facts dd{font-size:10px}
  .energy-flow{grid-template-columns:repeat(3,minmax(216px,1fr))}
  .pricing-grid.pricing-refined{grid-template-columns:repeat(3,minmax(265px,1fr))}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
