/* Universal mobile, accessibility and content-stability safeguards. */
:root { color-scheme: light; }
html { max-width: 100%; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-padding-top: 6rem; }
body { min-width: 0; max-width: 100%; overflow-x: clip; }
img, svg, video, canvas { max-width: 100%; }
img, video { height: auto; }
iframe { display: block; max-width: 100%; }
:where(input, select, textarea, button) { max-width: 100%; }
:where(main, main section, main article, main aside, main div, main li) { min-width: 0; }
:where(main h1, main h2, main h3, main p, main a, main li, .shared-footer a, .shared-footer span) { overflow-wrap: break-word; }
:where(pre, table) { max-width: 100%; }
pre { overflow-x: auto; white-space: pre-wrap; overflow-wrap: anywhere; }
table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
:where(a, button, input, select, textarea, summary):focus-visible { outline: 3px solid #0759e6; outline-offset: 3px; }

@media (max-width: 1050px) {
  .shared-nav { gap: 14px; }
  .shared-actions { gap: 10px; }
  .shared-mobile { max-height: calc(100dvh - 66px); overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
}

@media (max-width: 700px) {
  :where(.shell, .container) { width: min(100% - 28px, 1180px); }
  .shared-nav { min-height: 64px; }
  .shared-brand img { width: auto; height: 36px; max-width: 145px; }
  .shared-actions { gap: 7px; }
  .shared-toggle { width: 42px; height: 42px; flex: 0 0 42px; }
  .shared-mobile { padding: 9px 14px 16px; }
  .shared-mobile > a { display: flex; min-height: 44px; align-items: center; }
  .shared-mobile :where(.nav-link, .mobile-nav-link, .mobile-industry-list a, .mobile-feature-list a) { min-height: 44px; display: flex; align-items: center; }
  .shared-mobile :where(button, .btn, .button, .hero-cta, .cta-button) { min-height: 44px; }
  :where(.btn-primary, .btn-secondary, .button, .about-btn) { min-height: 46px; }
  :where(.feature-actions, .industry-detail-actions, .overview-actions, .coming-actions, .final-actions) { width: 100%; }
  :where(.feature-actions, .industry-detail-actions, .overview-actions, .coming-actions, .final-actions) > a { width: 100%; justify-content: center; }
  .section-kicker { max-width: 100%; white-space: normal; text-align: left; }
  .contact-method { align-items: flex-start; }
  .contact-method span { overflow-wrap: anywhere; }
  .shared-footer { padding-top: 46px; }
  .shared-footer-grid { padding-bottom: 34px; }
  .shared-footer-grid > div { min-width: 0; }
  .shared-footer-grid > div:not(:first-child) a { width: auto; max-width: 100%; overflow-wrap: anywhere; }
  .shared-whatsapp { right: max(12px, env(safe-area-inset-right)); bottom: max(12px, env(safe-area-inset-bottom)); }
  .site-universal-cta-actions a { min-height: 48px; text-align: center; }
}

@media (max-width: 520px) {
  .shared-actions > .trial-cta { display: none; }
  .shared-mobile .trial-cta { display: inline-flex; }
  .shared-footer-grid { grid-template-columns: 1fr; gap: 28px; }
  .shared-footer-grid > div:first-child, .footer-contact-column { grid-column: auto; }
  .shared-footer p { max-width: none; }
  .shared-footer-bottom { padding-right: 58px; }
  main h1 { font-size: clamp(2.15rem, 11vw, 2.7rem) !important; line-height: 1.08 !important; }
  main h2 { overflow-wrap: anywhere; }
  .soft-card { min-width: 0; }
  .pricing-benefits { align-items: flex-start; flex-direction: column; }
  .calculator-plan { grid-template-columns: auto minmax(0, 1fr); }
  .calculator-plan .plan-cost { grid-column: 2; text-align: left; }
  .calculator-billing em { position: static; margin-left: auto; }
  .summary-breakdown div { align-items: flex-start; flex-wrap: wrap; }
  .summary-breakdown dd { margin-left: auto; }
}

@media (max-width: 360px) {
  :where(.shell, .container) { width: calc(100% - 20px); }
  .shared-brand img { height: 33px; max-width: 132px; }
  .shared-toggle { width: 40px; height: 40px; flex-basis: 40px; }
  .shared-mobile { padding-inline: 10px; }
  .pricing-hero-visual { min-height: 275px; }
  .pricing-float-main { width: 94%; padding: 17px; }
  .pricing-float-save { right: -4px; }
  .pricing-float-users { display: none; }
  .calculator-controls, .calculator-summary { padding-inline: 17px; }
  .calculator-billing label { flex-wrap: wrap; gap: 5px; }
  .calculator-billing em { margin-left: 32px; }
  .summary-total output { font-size: 34px; }
  .site-universal-cta h2 { font-size: 28px; }
}

@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; } }
@media (prefers-contrast: more) { :where(a, button) { text-decoration-thickness: 2px; } }
