/* Ajustes de lectura y densidad para celulares */
@media (max-width: 600px) {
  html { scroll-padding-top: 12px; }
  body { overflow-x: clip; }
  .wrap { width: 100%; max-width: 100%; padding-inline: 16px; }
  .site-header { padding: 12px 16px; grid-template-columns: minmax(0,1fr) auto; gap: 8px; }
  .site-header .brand { gap: 9px; font-size: 19px; }
  .site-header .brand img { width: 39px; height: 39px; }
  .site-header .brand small { font-size: 9px; }
  .site-menu-button { width: 38px; height: 38px; font-size: 19px; }
  .site-header nav.is-open { grid-template-columns: repeat(2,minmax(0,1fr)); padding: 8px; }
  .site-header nav a { font-size: 12px; padding: 9px 6px; }
  .hero { padding: 32px 16px 30px; gap: 22px; }
  .hero-copy > .eyebrow, .eyebrow { font-size: 9px; letter-spacing: .12em; }
  h1 { font-size: clamp(38px, 11.2vw, 48px); line-height: 1.05; letter-spacing: -1.8px; }
  .hero-copy > p { margin: 14px 0; font-size: 15px; line-height: 1.55; }
  .hero-actions { gap: 8px; }
  .hero-actions .primary { padding: 10px 12px; font-size: 12px; }
  .hero-actions .text-link { width: 100%; font-size: 13px; }
  .hero-note { gap: 7px; flex-wrap: wrap; font-size: 10px; }
  .hero-visual { padding: 13px; border-radius: 19px; }
  .visual-top { margin-bottom: 10px; }
  .window-bar { min-height: 34px; padding-inline: 9px; font-size: 9px; }
  .visual-caption { gap: 9px; padding-block: 12px 7px; }
  .visual-caption strong { font-size: 18px; }
  .visual-caption small { font-size: 11px; }
  .preview-tabs button { padding: 7px 6px; font-size: 10px; }
  .preview-bottom, .preview-note { font-size: 10px; }
  .marquee-strip { padding: 12px 10px; }
  .marquee-group { gap: 27px; padding-right: 27px; }
  .marquee-group span { font-size: 12px; }
  .section-title { display: block; margin-bottom: 18px; }
  .section-title h2, h2 { font-size: clamp(25px, 7.3vw, 31px); line-height: 1.14; letter-spacing: -.8px; }
  .catalog-section, .steps, .audience, .currency-section, .company-section, .questions, .plans, .features-section, .install-section { padding-block: 34px; }
  .catalog-subtitle, .section-title > p { margin-top: 8px; font-size: 13px; line-height: 1.5; }
  .filters { display: flex; flex-wrap: nowrap; overflow-x: auto; gap: 7px; padding: 2px 0 10px; margin: 14px 0; scrollbar-width: thin; }
  .filters button { flex: 0 0 auto; padding: 8px 10px; font-size: 11px; }
  .cards, .plan-grid, .ontech-price-grid, .audience-grid, .feature-grid, .install-grid { grid-template-columns: minmax(0,1fr) !important; gap: 12px; }
  .app-card, .plan-card, .audience-card, .feature-grid article, .install-grid article { min-width: 0; padding: 18px; border-radius: 17px; }
  .app-card h3, .plan-card h3, .audience-card h3 { margin: 12px 0 6px; font-size: 22px; }
  .app-card p, .plan-card p, .audience-card p, .feature-grid p { font-size: 13px; line-height: 1.55; }
  .app-card .tagline, .app-card .description { min-height: 0; }
  .app-card ul, .plan-card ul, .audience-card ul { margin: 12px 0; font-size: 12px; line-height: 1.5; }
  .app-card li, .plan-card li, .audience-card li { margin: 7px 0; }
  .app-icon { width: 48px; height: 48px; border-radius: 14px; }
  .app-icon img { width: 27px; height: 27px; }
  .card-actions { gap: 7px; padding-top: 12px; }
  .card-actions button, .card-actions a { font-size: 11px; }
  .plan-grid { margin-top: 14px; }
  .ontech-price-grid .plan-price { font-size: 30px; white-space: normal; }
  .ontech-price-grid .plan-price small { font-size: 12px; }
  .plan-recommended { top: -11px; font-size: 9px; }
  .company-section { gap: 20px; }
  .company-copy h2 { font-size: 29px; }
  .company-copy > p { font-size: 14px; line-height: 1.55; }
  .company-benefits { gap: 12px; margin: 20px 0; }
  .company-benefits span { font-size: 22px; }
  .company-benefits h3 { margin: 6px 0; font-size: 15px; }
  .company-benefits p { margin: 0; font-size: 12px; line-height: 1.5; }
  .company-form-card { padding: 17px; border-radius: 18px; }
  .company-form-card h3 { margin: 14px 0 6px; font-size: 21px; }
  .company-form-card p, .company-form-card small { font-size: 12px; }
  .company-form-card fieldset { grid-template-columns: minmax(0,1fr); gap: 12px; margin: 16px 0 10px; }
  .company-form-card input, .company-form-card select, .company-form-card textarea { padding: 10px; font-size: 14px; }
  .questions { grid-template-columns: minmax(0,1fr); gap: 12px; }
  details { padding: 12px 0; }
  summary, details p { font-size: 12px; line-height: 1.5; }
  .feedback-section { grid-template-columns: minmax(0,1fr); gap: 16px; padding-block: 30px; }
  .feedback-card { min-width: 0; padding: 17px; border-radius: 17px; }
  .feedback-card textarea { min-height: 86px; }
  .rating-stars button { padding: 4px; font-size: 27px; }
  .feedback-bottom { gap: 10px; align-items: center; }
  .feedback-bottom small { font-size: 10px; }
  .callout { margin: 8px 16px; padding: 20px !important; border-radius: 17px; }
  .callout h2 { font-size: 23px; }
  .callout p { font-size: 13px; }
  .site-footer { padding-block: 28px !important; }
  .footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px 12px; }
  .footer-grid h3 { margin-bottom: 9px; font-size: 13px; }
  .footer-grid a:not(.brand), .footer-report { font-size: 12px; line-height: 1.5; }
  .footer-bottom { gap: 10px; margin-top: 20px; padding-top: 15px; font-size: 10px; }
  .support-fab { right: 10px; bottom: 10px; min-height: 42px; padding: 9px 12px; font-size: 12px; }
  .support-panel { width: min(330px, calc(100vw - 24px)); right: 12px; bottom: 62px; }
}
@media (max-width: 380px) {
  .wrap { padding-inline: 13px; }
  .site-header { padding-inline: 13px; }
  h1 { font-size: 37px; }
  .hero-visual { padding: 10px; }
  .footer-grid { grid-template-columns: minmax(0,1fr); }
  .ontech-price-grid .plan-price { font-size: 27px; }
}
@media (prefers-reduced-motion: reduce) {
  .marquee-track { animation-duration: 90s; }
}

@media (max-width: 600px) { .support-fab { width: 44px; height: 44px; min-height: 44px; right: 9px; bottom: 9px; padding: 0; } .support-fab > span:first-child { font-size: 19px; } }

