/* ═══════════════════════════════════════════════════════════
   Mobile section-title scale — one size for every section H2/H3
   across the site. Load LAST so it wins on equal specificity.
   Hero H1s are intentionally untouched.
   ═══════════════════════════════════════════════════════════ */
@media (max-width: 760px){
  /* generic (1 class) */
  .bf-title, .p-title, .tb-solo-title, .tbento-title, .aomt-title, .aomt-heading,
  .arch-h1, .dsrc-h1, .blog-title, .itfaq-title, .included-title, .intg-heading,
  .oc-heading, .oc-title, .modules-headline, .ab-pat-heading,
  /* qualified (2–3 classes) — match source specificity */
  .beacon-fit .bf-title, .beacon-fix .bf-title, .bolton .bf-title,
  .pulse-problem-tabs .bf-title, .di .beacon-fit .bf-title, .di .beacon-fix .bf-title,
  .p-works .p-title, .p-scale .p-title, .integrated .intg-heading,
  .modules h2, section.modules h2.modules-headline, .tests h2, .glance h2,
  .oc-clarity h3, .inc-feature h2, .tb-cta-card h2, .rollout-cta h3,
  section .pulse-cta-card .pulse-cta-copy h2,
  section.pulse-discover .pulse-discover-copy h2,
  /* industry pages */
  .di-h2, .ab-pat-title, .di-mission h2, .di-outcomes .do-title, .di-cta-card h2{
    font-size: clamp(26px, 7vw, 34px) !important;
    line-height: 1.12 !important;
    white-space: normal !important;
  }
}

/* ── Mobile: industry-page "Product application" (.di .beacon-fix) header ── */
@media (max-width: 760px){
  .di .beacon-fix,
  .di .ab-pat-scene + section.beacon-fix{ padding-top:64px !important; }
  .di .beacon-fix .bf-head{ text-align:left !important; max-width:none !important; width:100% !important; margin:0 0 32px !important; }
  .di .beacon-fix .bf-title{ text-align:left !important; text-wrap:normal !important; max-width:none !important; width:100% !important; }
  .di .beacon-fix .bf-head .bf-title br{ display:none !important; }
  .di .beacon-fix .bf-head .bf-title .bf-grad{ display:block !important; margin-top:0 !important; }
  .di .beacon-fix .bf-head .di-lead, .di .beacon-fix .bf-head p{ text-align:left !important; max-width:none !important; width:100% !important; margin-inline:0 !important; }
  .di .beacon-fix .bf-head .di-lead br{ display:none !important; }
  .di .beacon-fix .bf-head .bf-sub{ text-align:left !important; max-width:none !important; width:100% !important; margin-inline:0 !important; }
  .di .beacon-fix .bf-panel .bf-badge{ font-size:13px !important; padding:7px 13px !important; }
  .di .beacon-fix .bf-panel .bf-meet-r,
  .di .beacon-fix .bf-panel .bf-meet-r p{ text-align:left !important; }
  /* animation always above its copy */
  .di .beacon-fix .bf-rows .bf-row,
  .di .beacon-fix .bf-rows .bf-row:nth-child(2n){ display:flex !important; flex-direction:column !important; align-items:stretch !important; }
  .di .beacon-fix .bf-rows .bf-row .bf-art,
  .di .beacon-fix .bf-rows .bf-row:nth-child(2n) .bf-art{ order:0 !important; }
  .di .beacon-fix .bf-rows .bf-row .bf-copy,
  .di .beacon-fix .bf-rows .bf-row:nth-child(2n) .bf-copy{ order:1 !important; }
}

/* ── Mobile: modules carousel → same stacked treatment as the home page ── */
@media (max-width: 760px){
  section.modules h2.modules-headline{ white-space:normal !important; margin:0 auto 26px !important; padding:0 2px; }
  section.modules h2.modules-headline br{ display:none; }
  .modules .ms-spiral{ display:none !important; }
  .modules .ms-sticky{ position:static !important; height:auto !important; overflow:visible !important; }
  .mod-stage{ margin-top:22px !important; gap:18px !important; }
  .mod-controls{ display:none !important; }
  .mod-feature-title{ font-size:28px !important; }
  .mod-feature-copy{ padding:20px 20px 12px !important; }
  .mod-detail{ margin-bottom:0 !important; gap:14px !important; }
  .mod-rail{ display:flex !important; flex-direction:column !important; overflow:visible !important; gap:10px !important; padding-bottom:0 !important; }
  .mod-rail .mod-card{ flex:0 0 auto !important; min-height:0 !important; flex-direction:row !important; align-items:center !important; gap:14px !important; padding:16px 18px !important; }
  .mod-rail .mod-card-title{ font-size:19px !important; flex:1 1 auto !important; min-width:0 !important; }
  .mod-rail .mod-card-illo{ position:static !important; right:auto !important; bottom:auto !important; width:64px !important; height:64px !important; flex:0 0 64px !important; object-position:center !important; }
  .mod-rail .mod-card-go{ margin-top:0 !important; align-self:center !important; flex:0 0 auto !important; }
  .mod-explore{ width:100% !important; justify-content:center !important; margin-top:20px !important; }
}

/* ── Mobile: chips (badges) — one consistent size everywhere ── */
@media (max-width: 760px){
  .bf-badge, .mod-feature-badge, .mod-feature-cat, .di-badge, .p-badge, .inc-badge{
    font-size:13px !important; padding:7px 13px !important; line-height:1 !important; white-space:nowrap !important;
  }
  .mod-feature-cat{ padding:0 !important; margin-bottom:14px !important; display:block !important; }
  /* module feature: chip sits on the title line, pushed right */
  .mod-title-row{ display:flex !important; flex-direction:row !important; align-items:center !important; gap:12px !important; margin-top:14px !important; }
  .mod-title-row .mod-feature-title{ flex:1 1 auto !important; min-width:0 !important; }
  .mod-title-row .mod-feature-badge{ flex:0 0 auto !important; margin-left:auto !important; align-self:center !important; }
}

/* ── Mobile: CTA banner stacks, button under the copy ── */
@media (max-width: 760px){
  .di-cta .pulse-cta-card{ display:flex !important; flex-direction:column !important; align-items:stretch !important; gap:22px !important; padding:28px 22px !important; }
  .di-cta .pulse-cta-copy{ max-width:none !important; }
  .di-cta .pulse-cta-copy p br{ display:none !important; }
  .di-cta .pulse-cta-row{ width:100% !important; justify-content:stretch !important; }
  .di-cta .pulse-cta-row .btn{ width:100% !important; justify-content:center !important; }
}

/* ── Mobile: footer — same single-column treatment as the home page ── */
@media (max-width: 760px){
  .sitemap-inner{ grid-template-columns:1fr !important; gap:26px !important; }
  .sitemap-brand{ grid-column:auto !important; max-width:none !important; }
  .sitemap-bottom{ flex-direction:column !important; align-items:flex-start !important; gap:14px !important; padding-bottom:88px !important; }
}

/* ── Mobile: industry split head copy fills the section width ── */
@media (max-width: 760px){
  .di .di-split-head{ display:block !important; }
  .di .di-h2, .di .di-lead, .di .di-split-head .di-lead, .di .di-split-head p{ max-width:none !important; width:auto !important; margin-inline:0 !important; }
}

/* ── Mobile: graphic first, copy below — every numbered feature row site-wide ── */
@media (max-width: 760px){
  .beacon-fix .bf-rows .bf-row,
  .beacon-fix .bf-rows .bf-row:nth-child(2n),
  .p-works .p-rows .p-row,
  .p-works .p-rows .p-row:nth-child(2n){ display:flex !important; flex-direction:column !important; align-items:stretch !important; gap:18px !important; }
  .beacon-fix .bf-rows .bf-row .bf-art,
  .beacon-fix .bf-rows .bf-row:nth-child(2n) .bf-art,
  .p-works .p-rows .p-row .p-row-art,
  .p-works .p-rows .p-row:nth-child(2n) .p-row-art{ order:0 !important; width:100% !important; margin:0 !important; }
  .beacon-fix .bf-rows .bf-row .bf-copy,
  .beacon-fix .bf-rows .bf-row:nth-child(2n) .bf-copy,
  .p-works .p-rows .p-row .p-row-copy,
  .p-works .p-rows .p-row:nth-child(2n) .p-row-copy{ order:1 !important; }
}

/* ── Mobile: rollout CTA banner — one corner radius everywhere ── */
@media (max-width: 760px){
  .rollout-cta{ border-radius:22px !important; }
}

/* ── Mobile: hairline divider between stacked feature rows ── */
@media (max-width: 760px){
  .beacon-fix .bf-rows .bf-row + .bf-row,
  .p-works .p-rows .p-row + .p-row{ border-top:1px solid rgba(17,17,17,.10) !important; padding-top:clamp(28px,6vw,40px) !important; }
}

/* ── Mobile: Discover section — equal top/bottom padding ── */
@media (max-width: 760px){
  section.pulse-discover{ padding-top:32px !important; padding-bottom:32px !important; }
}

/* ── Mobile: section heads read left-aligned, full width ── */
@media (max-width: 760px){
  .blog-head, .blog-head h2, .blog-head p,
  .blog-title, .blog-sub{ text-align:left !important; margin-inline:0 !important; max-width:none !important; }
  .blog-head p br, .blog-sub br{ display:none !important; }
}

/* ── Mobile: one size for section lead/sub copy ── */
@media (max-width: 760px){
  .bf-sub, .beacon-fit .bf-sub, .beacon-fix .bf-sub, .bolton .bf-sub,
  .di-lead, .p-lead p, .arch-lead, .dsrc-lead, .itfaq-sub, .blog-sub,
  .oc-lead, .included-sub, .intg-sub{ font-size:16px !important; line-height:1.55 !important; }
  .bf-sub br{ display:none !important; }
}

/* ═══════════════════════════════════════════════════════════
   MOBILE BODY COPY — one size site-wide: 16px / 1.55
   Loaded last, so it settles every page's paragraph scale.
   Headings, eyebrows, badges, pull-quotes and micro captions
   (diagram labels, tile subs, footer meta) are NOT touched.
   ═══════════════════════════════════════════════════════════ */
@media (max-width: 760px){
  /* generic paragraph copy */
  .hero-sub, .bf-sub, .bf-copy p, .bf-lead p, .bolton-block p, .bolton-panel-desc p,
  .aomt-body p, .oc-clarity p, .oc-lead, .p-lead p, .di-lead, .arch-lead, .dsrc-lead,
  .itfaq-sub, .blog-sub, .included-sub, .intg-sub, .intg-desc, .inc-feature p,
  .mod-feature-desc, .mod-detail-desc, .mod-stat, .module p, .fcard p, .blog-card p,
  .ab-prose p, .ab-team-desc p, .ab-ua-copy p, .ab-goal p, .ab-pat-foot, .mission-lead,
  .di-cmp .sol p, .di-cmp .pain, .di-cta-card p, .included-item .txt, .pulse-cta-copy p, .arch-mid p,
  /* qualified — match or beat the source rules */
  .beacon-fit .bf-copy p, .beacon-fix .bf-copy p, .di .beacon-fix .bf-copy p,
  .di .ab-mission .mission-lead, .di .ab-time .ab-tl-panel p, .di .di-split-head .di-lead,
  .mod-detail .mod-feature-desc, .included .inc-feature p,
  section .pulse-cta-card .pulse-cta-copy p, section.pulse-discover .pulse-discover-copy p,
  /* article pages */
  .ar-head .ar-dek, .ar-body > p, .ar-body .lead, .ar-body ul li, .ar-body ol li, .ar-author p,
  /* blog + faq */
  .bl-hero p, .bl-feat-body p, .bl-card p, .bl-news-card p, .blog-excerpt,
  .faq-hero p, .faq-a p, .faq-still p, .faq-item summary,
  /* contact */
  .ct-hero-copy p, .ct-col-body p, .ct-step p, .ct-line dd, .ct-done p, .ct-direct .di-lead{
    font-size:16px !important; line-height:1.55 !important;
  }
  /* small print stays one clear step below body */
  .cta-card .footnote, .pulse-cta-card .footnote, .ct-note, .di-app-note{
    font-size:14px !important; line-height:1.45 !important;
  }
}

/* ── Mobile: industry closing CTA — tighter top/bottom padding ── */
@media (max-width: 760px){
  .di-cta.cta-wrap, .di-cta.pulse-cta-wrap{ padding-top:48px !important; padding-bottom:48px !important; }
}

/* ── Mobile: "Meet Lizzie" / "Start with Beacon" oversized lead titles ── */
@media (max-width: 760px){
  .bf-lead--meet .bf-num,
  .beacon-fix .bf-lead--meet .bf-num,
  .di .beacon-fix .bf-lead--meet .bf-num,
  .p-works .p-lead .p-meet .lizzie-bento{ font-size:clamp(38px,11vw,62px) !important; }
}
