/* Mobile clarity and touch safety. Loaded after the page-specific styles. */
@media (max-width: 900px) {
  .so-nav {
    pointer-events: none;
  }

  .so-nav__list .sub-menu {
    visibility: inherit;
  }

  .so-site-header.is-menu-open .so-nav {
    pointer-events: auto;
  }
}

@media (max-width: 620px) {
  :root {
    --so-mobile-section-space: 56px;
  }

  body.so-2026 {
    font-size: 16px;
  }

  .so-section,
  .so-final-cta,
  .so-chip-benefits,
  .so-chip-method,
  .so-chip-process,
  .so-chip-fit,
  .so-recall-info,
  .so-recall-process,
  .so-brand-focus,
  .so-vag-approval,
  .so-mercedes-control,
  .so-brand-benefits,
  .so-brand-switcher,
  .so-brand-cta,
  .so-ecu-flow,
  .so-ecu-shipping,
  .so-ecu-costs,
  .so-downloads,
  .so-camper-problem,
  .so-landing-benefits,
  .so-platforms,
  .so-landing-process,
  .so-landing-proof,
  .so-jc-signals,
  .so-jc-methods,
  .so-jc-proof,
  .so-jc-comparison,
  .so-jc-process,
  .so-jc-faq,
  .so-gt-signals,
  .so-gt-comparison,
  .so-gt-process,
  .so-gt-machine,
  .so-gt-faq,
  .so-gt-cta {
    padding-block: var(--so-mobile-section-space);
  }

  .so-mobile-cta {
    right: auto;
    left: 12px;
    width: auto;
    min-height: 44px;
    padding: 0 17px;
    border-radius: 999px;
    font-size: .76rem;
    box-shadow: 0 10px 28px rgba(0,0,0,.26);
  }

  .is-primary-hero-visible .so-mobile-cta {
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transform: translateY(14px);
  }

  .so-heading-row h2,
  .so-process h2,
  .so-about h2,
  .so-final-cta h2,
  .so-home-offer__head h2,
  .so-funnel-video h2,
  .so-funnel-desire h2,
  .so-funnel-performance h2,
  .so-funnel-story h2,
  .so-funnel-consultation h2,
  .so-funnel-reviews h2,
  .so-chip-method h2,
  .so-chip-process h2,
  .so-chip-fit h2,
  .so-brand-benefits h2,
  .so-brand-switcher h2,
  .so-brand-cta h2,
  .so-camper-problem__intro h2,
  .so-landing-heading h2,
  .so-platforms h2,
  .so-landing-process h2 {
    font-size: clamp(2.35rem, 11.5vw, 3.25rem);
    line-height: .94;
  }

  .so-landing-heading,
  .so-camper-problem__intro,
  .so-platforms__head,
  .so-chip-process__head,
  .so-brand-switcher__head {
    margin-bottom: 34px;
    gap: 24px;
  }

  .so-chip-method__content .so-section-index,
  .so-chip-process__head .so-section-index,
  .so-chip-fit .so-section-index,
  .so-brand-benefits__head .so-section-index,
  .so-camper-problem__intro .so-section-index,
  .so-landing-heading .so-section-index,
  .so-platforms__head .so-section-index,
  .so-landing-process .so-section-index {
    margin-bottom: 20px;
  }

  .so-chip-benefit-grid,
  .so-chip-process__steps,
  .so-brand-benefits__grid,
  .so-feature-grid,
  .so-platform-grid {
    gap: 12px;
  }

  .so-chip-benefit-grid article,
  .so-chip-process__steps li,
  .so-brand-benefits__grid article,
  .so-feature-grid article,
  .so-platform-grid article,
  .so-recall-card-grid article,
  .so-ecu-flow__steps li,
  .so-ecu-cost-grid article,
  .so-thanks-steps li,
  .so-faq-process__steps li {
    min-height: 0;
    padding: 23px;
  }

  .so-chip-benefit-grid i,
  .so-chip-process__steps i,
  .so-brand-benefits__grid i,
  .so-feature-grid article > i {
    margin: 24px 0 18px;
  }

  .so-brand-focus__grid {
    gap: 12px;
  }

  .so-brand-focus__grid article {
    min-height: 0;
    padding: 25px 23px;
    border-radius: 15px;
  }

  .so-brand-focus__grid h3 {
    margin: 28px 0 20px;
    font-size: clamp(1.8rem, 9vw, 2.45rem);
  }

  .so-brand-focus__grid ul {
    gap: 10px;
    padding-top: 19px;
  }

  .so-vag-approval__card,
  .so-vag-approval__card--lead,
  .so-mercedes-control__grid article,
  .so-mercedes-control__lead {
    min-height: 0 !important;
    padding: 24px !important;
  }

  .so-vag-approval__card--lead,
  .so-mercedes-control__grid article,
  .so-mercedes-control__lead {
    grid-template-columns: 1fr;
    align-content: start;
  }

  .so-vag-approval__card i,
  .so-vag-approval__card--lead i,
  .so-mercedes-control__grid i {
    margin: 28px 0 20px;
  }

  .so-mercedes-control__intro {
    margin: 34px 0 26px;
    gap: 18px;
  }

  .so-camper-situations article {
    min-height: 0;
    padding: 20px;
    grid-template-columns: 30px 1fr;
    gap: 12px;
  }

  .so-torque-card {
    gap: 22px;
  }

  .so-platform-grid article {
    grid-template-rows: auto;
  }

  .so-platform-grid h3 {
    margin: 24px 0 9px;
  }

  .so-platform-grid strong {
    margin-top: 17px;
  }

  .so-landing-process__layout {
    gap: 30px;
  }

  .so-landing-process li {
    padding: 22px 0;
    grid-template-columns: 40px 1fr;
    gap: 14px;
  }

  .so-landing-proof blockquote {
    margin: 32px 0 18px;
    font-size: clamp(1.9rem, 9.5vw, 2.7rem);
  }

  .so-landing-proof__cta h2 {
    margin-top: 28px;
    font-size: clamp(2rem, 10vw, 2.8rem);
  }

  .so-chip-method__visual img,
  .so-ecu-shipping__visual img {
    min-height: 320px;
  }

  .so-ecu-option-grid article {
    min-height: 0;
    padding: 25px 23px;
  }

  .so-ecu-option-grid article > span {
    margin-bottom: 28px;
  }

  .so-news-card__media {
    aspect-ratio: 16 / 8.6;
  }

  .so-news-card__body {
    padding: 22px;
  }

  .so-news-card__body p {
    margin-bottom: 20px;
  }

  .so-workshop-service,
  .so-workshop-process__steps li,
  .so-faq-method,
  .so-faq-process__steps li,
  .so-jc-signals__grid article,
  .so-jc-process li,
  .so-gt-signals__grid article,
  .so-gt-process li {
    min-height: 0 !important;
  }

  .so-workshop-service {
    padding: 24px;
  }

  .so-workshop-process__steps h3,
  .so-faq-process__steps h3 {
    margin-top: 30px;
  }

  .so-jc-signals__grid article,
  .so-gt-signals__grid article {
    padding: 24px 0;
  }

  .so-jc-method {
    min-height: 0;
  }

  .so-jc-method__tag {
    margin-top: 28px;
  }

  .so-jc-process li,
  .so-gt-process li {
    padding: 22px 0;
  }

  .so-ident-intro,
  .so-ident-capabilities,
  .so-ident-tool,
  .so-tool-guide {
    padding-block: var(--so-mobile-section-space);
  }

  .so-ident-capabilities article,
  .so-tool-guide__grid article {
    padding: 23px;
  }

  .so-ident-capabilities .so-icon,
  .so-tool-guide__grid .so-icon {
    margin-bottom: 24px;
  }
}
