
/* APIS Lab v6.43 — mobile spacing specificity fix + decision banner alignment.
   This layer intentionally uses explicit selectors (not :where()) so it wins over
   older !important mobile rules from v638/v641. */

@media (max-width:900px){
  :root{
    --m43-label-title:22px;
    --m43-title-copy:26px;
    --m43-head-content:40px;
    --m43-section-pad:56px;
  }

  /* 1. Standard section heads: LABEL -> TITLE -> SUPPORT -> CONTENT */
  body .v624-section-head,
  body .section6-head,
  body .international6-head,
  body .labx-head,
  body .intel-block-head,
  body .v5-head,
  body .case6-two{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:0!important;
    margin-bottom:var(--m43-head-content)!important;
  }

  body .v624-section-head>div:first-child,
  body .section6-head>div:first-child,
  body .international6-head>div:first-child,
  body .labx-head>div:first-child,
  body .intel-block-head>div:first-child,
  body .v5-head>div:first-child,
  body .case6-two>div:first-child{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:0!important;
    width:100%!important;
    min-width:0!important;
  }

  body .v624-section-head>div:first-child>.v6-label,
  body .v624-section-head>div:first-child>.v5-kicker,
  body .section6-head>div:first-child>.v6-label,
  body .section6-head>div:first-child>.v5-kicker,
  body .international6-head>div:first-child>.v6-label,
  body .international6-head>div:first-child>.v5-kicker,
  body .labx-head>div:first-child>.v6-label,
  body .labx-head>div:first-child>.v5-kicker,
  body .intel-block-head>div:first-child>.v6-label,
  body .intel-block-head>div:first-child>.v5-kicker,
  body .v5-head>div:first-child>.v6-label,
  body .v5-head>div:first-child>.v5-kicker,
  body .case6-two>div:first-child>.v6-label,
  body .case6-two>div:first-child>.v5-kicker{
    display:block!important;
    margin:0 0 var(--m43-label-title)!important;
    padding:0!important;
    line-height:1.2!important;
  }

  body .v624-section-head>div:first-child>h2,
  body .v624-section-head>div:first-child>h3,
  body .section6-head>div:first-child>h2,
  body .section6-head>div:first-child>h3,
  body .international6-head>div:first-child>h2,
  body .international6-head>div:first-child>h3,
  body .labx-head>div:first-child>h2,
  body .labx-head>div:first-child>h3,
  body .intel-block-head>div:first-child>h2,
  body .intel-block-head>div:first-child>h3,
  body .v5-head>div:first-child>h2,
  body .v5-head>div:first-child>h3,
  body .case6-two>div:first-child>h2,
  body .case6-two>div:first-child>h3{
    display:block!important;
    margin:0!important;
    padding:0!important;
  }

  body .v624-section-head>p,
  body .section6-head>p,
  body .international6-head>p,
  body .labx-head>p,
  body .intel-block-head>p,
  body .v5-head>p,
  body .case6-two>p{
    display:block!important;
    width:100%!important;
    margin:var(--m43-title-copy) 0 0!important;
    padding:0!important;
    align-self:flex-start!important;
    line-height:1.62!important;
  }

  body .v624-section-head>a.text-link,
  body .section6-head>a,
  body .international6-head>a.text-link,
  body .labx-head>a.text-link{
    display:inline-flex!important;
    margin:var(--m43-title-copy) 0 0!important;
    padding:0!important;
    align-self:flex-start!important;
  }

  /* 2. Direct sibling section heads. */
  body .decision6-intro,
  body .home-intl-bridge-head{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:0!important;
    margin-bottom:var(--m43-head-content)!important;
  }
  body .decision6-intro>.v6-label,
  body .home-intl-bridge-head>.v6-label{
    display:block!important;
    margin:0 0 var(--m43-label-title)!important;
  }
  body .decision6-intro>h2,
  body .home-intl-bridge-head>h2{margin:0!important}
  body .decision6-intro>p,
  body .home-intl-bridge-head>p{
    margin:var(--m43-title-copy) 0 0!important;
    line-height:1.62!important;
  }

  /* 3. Two-column explanatory sections such as OPTICS: same rhythm, no giant gap. */
  body .intl-two,
  body .tools-ethic,
  body .tool-explain-grid,
  body .lab-tools-bridge{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:0!important;
    align-items:start!important;
  }
  body .intl-two>div:first-child,
  body .tools-ethic>div:first-child,
  body .tool-explain-grid>div:first-child,
  body .lab-tools-bridge>div:first-child{
    display:flex!important;
    flex-direction:column!important;
    gap:0!important;
    align-items:flex-start!important;
  }
  body .intl-two>div:first-child>.v6-label,
  body .tools-ethic>div:first-child>.v6-label,
  body .tool-explain-grid>div:first-child>.v6-label,
  body .lab-tools-bridge>div:first-child>.v6-label{
    margin:0 0 var(--m43-label-title)!important;
  }
  body .intl-two>div:first-child>h2,
  body .tools-ethic>div:first-child>h2,
  body .tool-explain-grid>div:first-child>h2,
  body .lab-tools-bridge>div:first-child>h2{margin:0!important}
  body .intl-two>.prose-lg,
  body .tools-ethic>div:nth-child(2),
  body .tool-explain-grid>div:nth-child(2),
  body .lab-tools-bridge>.lab-tool-links{
    margin-top:var(--m43-title-copy)!important;
  }
  body .lab-tools-bridge>div:first-child>p{
    margin:var(--m43-title-copy) 0 0!important;
  }

  /* 4. Direct label -> h1/h2/h3 patterns outside formal wrappers. */
  body .v6-shell>.v6-label+h1,
  body .v6-shell>.v6-label+h2,
  body .v6-shell>.v6-label+h3,
  body .container>.v5-kicker+h1,
  body .container>.v5-kicker+h2,
  body .container>.v5-kicker+h3{
    margin-top:var(--m43-label-title)!important;
  }

  /* 5. International page sections all use the exact same head rhythm. */
  body .intl-method .v624-section-head,
  body .intl-decisions .v624-section-head,
  body .intl-analytics .v624-section-head,
  body .intl-evidence-v625 .v624-section-head,
  body .intl-reading .v624-section-head,
  body .pilot-90-v625 .v624-section-head{
    margin-bottom:var(--m43-head-content)!important;
  }
  body .intl-method .v624-section-head>div:first-child>.v6-label,
  body .intl-decisions .v624-section-head>div:first-child>.v6-label,
  body .intl-analytics .v624-section-head>div:first-child>.v6-label,
  body .intl-evidence-v625 .v624-section-head>div:first-child>.v6-label,
  body .intl-reading .v624-section-head>div:first-child>.v6-label,
  body .pilot-90-v625 .v624-section-head>div:first-child>.v6-label{
    margin-bottom:var(--m43-label-title)!important;
  }
  body .intl-method .v624-section-head>p,
  body .intl-decisions .v624-section-head>p,
  body .intl-analytics .v624-section-head>p,
  body .intl-evidence-v625 .v624-section-head>p,
  body .pilot-90-v625 .v624-section-head>p{
    margin-top:var(--m43-title-copy)!important;
  }

  /* 6. Avoid the doubled 76+76px gap between adjacent sections. */
  body .v624-section,
  body .v624-soft,
  body .v624-dark,
  body .intl-definition,
  body .intl-situations,
  body .intl-decisions,
  body .intl-economics,
  body .intl-roadmap,
  body .intl-scenarios,
  body .intl-tools,
  body .intl-reading,
  body .pilot-90-v625,
  body .intl-evidence-v625{
    padding-top:var(--m43-section-pad)!important;
    padding-bottom:var(--m43-section-pad)!important;
  }

  /* 7. Green decision banner — centered, compact and independent from card rules. */
  body .decision-wheel>.wheel-core{
    position:static!important;
    inset:auto!important;
    transform:none!important;
    grid-column:1/-1!important;
    order:20!important;
    width:100%!important;
    min-height:92px!important;
    margin:18px 0 0!important;
    padding:18px 22px!important;
    border-radius:24px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    text-align:center!important;
  }
  body .decision-wheel>.wheel-core>span{
    display:block!important;
    margin:0!important;
    padding:0!important;
    font-size:12px!important;
    line-height:1.2!important;
    letter-spacing:.08em!important;
    text-transform:uppercase!important;
  }
  body .decision-wheel>.wheel-core>b{
    display:block!important;
    margin:0!important;
    padding:0!important;
    font-size:18px!important;
    line-height:1.25!important;
    letter-spacing:-.01em!important;
  }

  /* Card labels remain spaced, but never affect wheel-core. */
  body .decision-wheel>article>span:first-child,
  body .method-timeline>article>span:first-child,
  body .pilot-grid-v625>article>span:first-child,
  body .roadmap-grid>article>span:first-child,
  body .deliver-grid>div>span:first-child,
  body .related-tool-grid>a>span:first-child,
  body .editorial-grid>a>span:first-child,
  body .radar-pro-grid>a>span:first-child,
  body .editorial-large-grid>a>span:first-child,
  body .scenario-metric-grid>article>span:first-child,
  body .pro-tool-grid>a>span:first-child,
  body .tool-prof-grid>article>span:first-child{
    display:block!important;
    margin:0 0 18px!important;
  }
}

@media (max-width:640px){
  :root{
    --m43-label-title:22px;
    --m43-title-copy:26px;
    --m43-head-content:38px;
    --m43-section-pad:52px;
  }
  body .decision-wheel>.wheel-core{min-height:88px!important;border-radius:22px!important}
}
