/* Sistema compartido: misma escala y comportamiento en todas las páginas públicas. */
html { scroll-padding-top: 88px; }
body { overflow-wrap: break-word; }
p a, li a { text-decoration: underline; }
.w, .legal-body { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
.public-table-wrap { max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; }
.public-table-wrap table { min-width: 560px; }
.container { width: 100%; padding-inline: clamp(16px, 3vw, 32px); }
.container > *, .hero-grid > *, .pricing-grid > *, .features-grid > *, .contact-grid > * { min-width: 0; }
h1, h2, h3 { text-wrap: balance; }
.hero-sub, .section-sub { text-wrap: pretty; }
.btn-main, .btn-ghost, .price-cta, .ggh-cta { text-align: center; max-width: 100%; }
.hero .btn-main, .hero .btn-ghost { white-space: normal; }
.compare-wrap { max-width: 100%; overscroll-behavior-inline: contain; }
.article-card .meta, .article-meta, .related-card .meta { color: #526072; }
.breadcrumbs span { opacity: 1; }
.sidebar-block-title { color: #526072; }
.article-card { border-radius: 18px; }
.article-card h3 { line-height: 1.3; }
.vf-editor-note { padding: 1.25rem; margin-bottom: 1.5rem; border: 1px solid #a07922; border-radius: 16px; background: #fff8e5; color: #513700; font-size: .9rem; }
.vf-editor-note p { margin-top: .7rem; }
.vf-editor-note a { color: #006644; text-decoration: underline; }
@media (hover: none) {
  .price-card:hover, .article-card:hover { transform: none; }
}
@media (max-width: 600px) {
  .hero { padding-top: 6.6rem; padding-bottom: 2rem; }
  section { padding-block: 3rem; }
  .hero-sub { font-size: 1rem; line-height: 1.65; }
  .hero .btn-main, .hero .btn-ghost { padding-inline: 1rem; }
  .hero .hero-ctas, .hero .hero-actions, .hero .hero-btns { display: flex; flex-wrap: wrap; gap: .75rem; }
  .hero .hero-ctas > a, .hero .hero-actions > a, .hero .hero-btns > a { flex: 1 1 240px; }
  .trust-row { gap: .5rem; margin-top: 1.2rem; }
  .trust-row > span { padding: .4rem .65rem; font-size: .8rem; }
  .trust-chips { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .5rem; margin-top: 1.2rem; }
  .trust-chips > span { padding: .4rem .55rem; font-size: .76rem; justify-content: center; }
  .pricing-toggle { margin-top: 1.4rem; }
  input, select, textarea { font-size: max(16px, 1rem); }
  .ggh-inner { padding-inline: 16px; }
  .ggh-mobile { max-height: calc(100dvh - 66px); overflow-y: auto; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
