html, body { margin: 0; padding: 0; background: #FAFAF7; overflow-x: hidden; }
  * { box-sizing: border-box; }
  body { font-family: "Inter", system-ui, sans-serif; }
  a { color: inherit; }
  img { max-width: 100%; height: auto; }

  /* ─── Mobile responsive overrides ───────────────────────── */
  @media (max-width: 820px) {
    .bos-inner { padding: 0 20px !important; }
    .bos-section { padding-top: 64px !important; padding-bottom: 64px !important; }

    /* Force any 2/3-col grid to single column on mobile */
    .bos-grid-2, .bos-grid-3, .bos-grid-4 {
      display: grid !important;
      grid-template-columns: 1fr !important;
      gap: 24px !important;
    }
    /* Stat tile band: 3-up → vertical stack, drop right borders */
    .bos-stats { grid-template-columns: 1fr !important; }
    .bos-stats > * { border-right: none !important; border-bottom: 1px solid var(--bos-line, #E5E5E0) !important; }
    .bos-stats > *:last-child { border-bottom: none !important; }
    .bos-stats-dark > * { border-bottom: 1px solid #1A3258 !important; }

    /* Industries / stack grid: kill the per-cell right/bottom borders */
    .bos-cell-grid { grid-template-columns: 1fr !important; }
    .bos-cell-grid > * {
      border-right: none !important;
      border-bottom: 1px solid var(--bos-line, #E5E5E0) !important;
      padding: 24px !important;
    }
    .bos-cell-grid > *:last-child { border-bottom: none !important; }

    /* Hero typography */
    .bos-hero {
      padding: 32px 20px 48px !important;
      gap: 32px !important;
      grid-template-columns: 1fr !important;
    }
    .bos-h1 {
      font-size: clamp(40px, 11vw, 60px) !important;
      letter-spacing: -1.4px !important;
      line-height: 1.02 !important;
    }
    .bos-h2 {
      font-size: clamp(32px, 8.5vw, 44px) !important;
      letter-spacing: -1px !important;
      line-height: 1.05 !important;
    }
    .bos-h3 {
      font-size: 20px !important;
      letter-spacing: -0.3px !important;
    }
    .bos-display {
      font-size: clamp(40px, 11vw, 56px) !important;
      letter-spacing: -1.6px !important;
      line-height: 1 !important;
    }
    .bos-lead { font-size: 16px !important; }

    /* Hero metrics row */
    .bos-hero-metrics {
      flex-direction: column !important;
      gap: 16px !important;
      margin-top: 36px !important;
    }
    .bos-hero-metrics > * div:first-child { font-size: 18px !important; }

    /* Nav: hide desktop links, simplify CTA */
    .bos-nav-links { display: none !important; }
    .bos-nav-actions { gap: 6px !important; }
    .bos-nav-call { padding: 8px 12px !important; font-size: 12px !important; }
    .bos-nav-call .bos-nav-call-num { display: none !important; }
    .bos-nav-text { display: none !important; }
    .bos-nav-inner { height: 60px !important; padding: 0 16px !important; }
    .bos-nav-logo img { height: 22px !important; }

    /* CTA buttons stack and full-width */
    .bos-cta-row { width: 100%; }
    .bos-cta-row > a { flex: 1; justify-content: center; padding: 14px 18px !important; font-size: 15px !important; }

    /* Loop diagram: stack vertically */
    .bos-loop {
      aspect-ratio: auto !important;
      display: flex !important;
      flex-direction: column !important;
      gap: 14px !important;
      align-items: stretch !important;
    }
    .bos-loop svg { display: none !important; }
    .bos-loop > div[data-loop-node] {
      position: static !important;
      transform: none !important;
      min-width: 0 !important;
      width: 100% !important;
      padding: 20px !important;
    }
    .bos-loop > div[data-loop-center] {
      position: static !important;
      transform: none !important;
      order: 99;
      text-align: center;
      padding: 8px 0 !important;
    }

    /* Review counter: stack header */
    .bos-review-head { flex-direction: column !important; align-items: flex-start !important; gap: 24px !important; }
    .bos-review-head > div:last-child { text-align: left !important; }
    .bos-review-num { font-size: 64px !important; letter-spacing: -2px !important; }

    /* Why us: stack the sticky head */
    .bos-why-grid { grid-template-columns: 1fr !important; gap: 24px !important; }
    .bos-why-head { position: static !important; }

    /* Contact dual cards */
    .bos-contact-cards { grid-template-columns: 1fr !important; gap: 14px !important; }
    .bos-contact-cards a { padding: 24px 20px !important; }
    .bos-contact-cards .bos-contact-num { font-size: 28px !important; }

    /* Footer */
    .bos-footer-grid { grid-template-columns: 1fr !important; gap: 36px !important; }
    .bos-footer-foot { flex-direction: column !important; gap: 8px !important; align-items: flex-start !important; }

    /* Sticky call bar: bottom-center, smaller */
    .bos-sticky {
      bottom: 12px !important;
      right: 12px !important;
      left: 12px !important;
      justify-content: center;
    }
    .bos-sticky a { padding: 12px 14px !important; font-size: 13px !important; }

    /* HIW timeline: collapse 3-col grid to single column with left rail */
    .bos-stage {
      grid-template-columns: 1fr !important;
      gap: 16px !important;
      padding-bottom: 40px !important;
    }
    .bos-stage > div:first-child { padding-left: 0 !important; }
    .bos-stage > div:first-child > div:last-of-type { display: none !important; }

    /* For-dealers vertical row */
    .bos-vrow { grid-template-columns: 1fr !important; gap: 28px !important; padding: 48px 0 !important; }
    .bos-vname { font-size: 36px !important; letter-spacing: -1px !important; }

    /* LTV ledger */
    .bos-ledger { grid-template-columns: 1fr !important; gap: 32px !important; }
    .bos-ledger-num { font-size: 22px !important; }
  }

  @media (max-width: 480px) {
    .bos-h1 { font-size: clamp(36px, 10.5vw, 48px) !important; }
    .bos-display { font-size: clamp(36px, 10vw, 48px) !important; }
  }