/* ==========================================================================
   MOBILE DESIGN-SYSTEM STANDARDIZATION (mobile breakpoint only)
   Loaded last on every page. All rules scoped to max-width:768px and use
   !important to win over page-specific inline <style> blocks regardless
   of source order. Desktop is untouched.
   ========================================================================== */
@media (max-width: 768px) {

  /* ---- TYPE SCALE: hero (h1) — 40px / 1.1 / 900 ---- */
  .subhero-display-fixed,
  .px-hero h1, .acq-hero h1, .pf-hero-h1 {
    font-size: 40px !important; line-height: 1.1 !important; font-weight: 900 !important;
  }

  /* ---- TYPE SCALE: section heading (h2) — 32px / 1.15 / 900, no exceptions ---- */
  .section-heading, .section-heading-center, .cf-heading, .px-h2, .acq-h2,
  .pf-title, .aic-title, .cta-banner-heading, .closing-heading {
    font-size: 32px !important; line-height: 1.15 !important; font-weight: 700 !important;
  }

  /* ---- TYPE SCALE: card / subsection heading (h3/h4) — 17px / 1.25 / 700 ---- */
  .px-capcard h3, .px-node h3, .px-feat h4, .flow-title, .ledger-title,
  .rent-cap h3, .mnt-event-card h3, .vd-card-head h3, .mnt-asset-events-head h4,
  .cf-card-title, .diff-title, .philosophy-title,
  .pf-found-title, .pf-ai-title, .pf-node-t, .pf-step-t,
  .incl-panel-titles h3, .cost-card h3 {
    font-size: 17px !important; line-height: 1.25 !important; font-weight: 700 !important;
  }

  /* ---- TYPE SCALE: eyebrow / label — 11px / 0.16em / 600 caps ---- */
  .eyebrow, .px-eyebrow, .acq-eyebrow, .aic-kicker, .acq-kicker, .pf-kicker {
    font-size: 11px !important; letter-spacing: 0.16em !important; font-weight: 600 !important;
  }

  /* ---- SPACING: bring the Contact page's custom hero padding onto the
     standard section rhythm (was a bespoke clamp(140px..190px) desktop value
     with no mobile override) ---- */
  #contact { padding: 100px 0 48px !important; }

  /* ---- MOTION: one reveal recipe site-wide — 24px / 0.7s / same ease.
     Platform.css runs its own html.pf-anim-gated reveal engine; align its
     values here instead of the 28px/0.7s it ships with. ---- */
  .reveal:not(.rr-card), html.pf-anim .reveal:not(.rr-card) {
    opacity: 0 !important; transform: translateY(24px) !important;
    transition: opacity 0.7s cubic-bezier(0.16,1,0.3,1), transform 0.7s cubic-bezier(0.16,1,0.3,1) !important;
  }
  .reveal.in:not(.rr-card), html.pf-anim .reveal.in:not(.rr-card) { opacity: 1 !important; transform: translateY(0) !important; }

  /* ---- BUGFIX: Sell page bid table (4-col) clipped/misaligned at mobile width;
     tighten the fixed pixel columns so Status doesn't clip past the viewport. ---- */
  .px-tr[style*="1fr 92px 86px 92px"] { grid-template-columns: 1fr 70px 64px 60px !important; }
}
