/* ==== BASE ==== */
body{margin:0;font-family:'Inter',sans-serif;color:#0f1b2d;background:#fff;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:'Plus Jakarta Sans',sans-serif;margin:0;letter-spacing:-.01em}
a{color:#f18e1a;text-decoration:none}
a:hover{color:#d47509}
input,select,button,textarea{font-family:inherit}
img{max-width:100%;height:auto}

@keyframes pulse-ring{0%{box-shadow:0 0 0 0 rgba(37,211,102,.55)}70%{box-shadow:0 0 0 18px rgba(37,211,102,0)}100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}}
@keyframes rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

.fStep{animation:rise .3s ease}

/* ==== SLIDER CALCULADORA ==== */
.prescon-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:22px;height:22px;border-radius:50%;background:#fff;border:3px solid #f18e1a;box-shadow:0 2px 8px rgba(241,142,26,.4);cursor:pointer}
.prescon-range::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:#fff;border:3px solid #f18e1a;box-shadow:0 2px 8px rgba(241,142,26,.4);cursor:pointer}

/* ==== TABLET ==== */
@media (max-width: 980px){
  .rHero{padding:30px 20px 80px !important}
  .rHero h1{font-size:38px !important}
  .rHero .rHeroCta{flex-wrap:wrap}
  .rHeroBenefits{grid-template-columns:repeat(2,auto) !important}
  .rWarn{grid-template-columns:1fr !important;text-align:left;gap:16px !important;padding:28px 20px !important}
  .rStats{grid-template-columns:repeat(2,1fr) !important;gap:28px 16px !important}
  .rStats .rStatN{font-size:56px !important}
  .rCases{grid-template-columns:1fr !important}
  .rSvcs{grid-template-columns:repeat(2,1fr) !important}
  .rForm{grid-template-columns:1fr !important;gap:24px !important;padding:28px !important}
  .rFooter{grid-template-columns:repeat(2,1fr) !important;gap:32px !important}
  .rNav{display:none !important}
  .rTopbar{font-size:12px}
  .rTopbar > div{gap:10px !important}
  .rH2{font-size:34px !important}
  .rSection{padding:64px 20px !important}
}

/* Modal gallery responsivo */
@media (max-width: 720px){
  #pmGallery{grid-template-columns:repeat(2,1fr) !important}
  #pmStats{grid-template-columns:1fr !important}
}

/* ==== MOBILE ==== */
@media (max-width: 640px){
  .rTopbar > div{flex-direction:column;align-items:flex-start !important;gap:4px !important}
  .rHero{padding:30px 16px 64px !important}
  .rHero h1{font-size:30px !important;line-height:1.1 !important}
  .rHero h1 br{display:none}
  .rHero p{font-size:16px !important}
  .rHeroBadge{font-size:11px !important;padding:6px 12px !important}
  .rHeroBenefits{grid-template-columns:1fr !important;text-align:left;max-width:320px;margin-left:auto !important;margin-right:auto !important}
  .rHeroCta a{width:100%;justify-content:center}
  .rTrust{gap:14px !important}
  .rTrust img{height:22px !important}
  .rCalc{padding:20px 18px !important}
  .rCalcHead{padding:16px 20px !important}
  .rCalcHead div:last-child{font-size:18px !important}
  .rMatGrid{grid-template-columns:1fr !important}
  .rSvcs{grid-template-columns:1fr !important}
  .rStats{grid-template-columns:1fr !important;gap:24px !important}
  .rStats > div{padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.08)}
  .rStats .rStatN{font-size:52px !important}
  .rCaseSmall{flex-direction:column !important}
  .rCaseSmall > div:first-child{width:100% !important;height:140px !important}
  .rLogosBar{gap:20px !important;padding:20px !important}
  .rLogosBar img{height:32px !important}
  .rForm{padding:22px !important}
  .rFormRail{display:none !important}
  .rFormStep1{grid-template-columns:1fr !important}
  .rFormRow{grid-template-columns:1fr !important}
  .rFooter{grid-template-columns:1fr !important;gap:26px !important;text-align:left}
  .rH2{font-size:28px !important;line-height:1.15}
  .rH1{font-size:28px !important}
  .rSection{padding:52px 16px !important}
  .rHeader{padding:12px 16px !important}
  .rHeader img{height:36px !important}
  .rWaFixed{padding:12px 16px !important;font-size:13px !important}
  .rFaqSection{padding:52px 16px !important}
  .rFaqBtn{padding:16px 18px !important;font-size:15px !important}
  .rFaqBtn + div p{padding:0 18px 18px !important;font-size:14px !important}
}
