html{overflow-x:hidden;max-width:100vw}
*{box-sizing:border-box}
img,video,iframe,svg{max-width:100%;height:auto}
.grid-2col{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.grid-3col{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.grid-4col{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}
.grid-2col-lg{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.sep-flex{display:flex;align-items:center;justify-content:center;gap:2rem;flex-wrap:wrap}
.pack-combo{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.card-price-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem}
.tabla-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;width:100%}
.tabla-wrap table{min-width:480px}
.plan-destacado{transform:scale(1.03)}
.hide-mobile{display:block}
.fade-up{opacity:0;transform:translateY(24px);transition:opacity 0.5s ease,transform 0.5s ease}
.fade-up.visible{opacity:1;transform:translateY(0)}
@media(max-width:1100px){
  .grid-3col{grid-template-columns:1fr 1fr}
  .grid-4col{grid-template-columns:1fr 1fr}
  .grid-2col-lg{grid-template-columns:1fr;gap:2rem}
}
@media(max-width:640px){
  .grid-2col{grid-template-columns:1fr}
  .grid-3col{grid-template-columns:1fr}
  .grid-4col{grid-template-columns:1fr 1fr}
  .grid-2col-lg{grid-template-columns:1fr;gap:1.5rem}
  .sep-flex,.pack-combo{flex-direction:column;text-align:center}
  .pack-combo a{width:100%;justify-content:center}
  .card-price-row{flex-direction:column;gap:0.5rem}
  .plan-destacado{transform:none}
  .tabla-wrap table{font-size:0.75rem}
  .hide-mobile{display:none!important}
}
