
/* APIS Lab v6.42 — mobile rhythm rebuilt from structure, not cascading margins. */
:root{
  --m-label-title-gap:28px;
  --m-title-copy-gap:34px;
  --m-head-content-gap:48px;
}

@media(max-width:900px){
  /* A. Standard wrapped section heads: label + title in the left wrapper, support copy/link below. */
  :where(.v624-section-head,.section6-head,.international6-head,.labx-head,.intel-block-head,.v5-head,.case6-two){
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:var(--m-title-copy-gap)!important;
    margin-bottom:var(--m-head-content-gap)!important;
  }
  :where(.v624-section-head,.section6-head,.international6-head,.labx-head,.intel-block-head,.v5-head,.case6-two)>div:first-child{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:var(--m-label-title-gap)!important;
    width:100%!important;
    min-width:0!important;
  }
  :where(.v624-section-head,.section6-head,.international6-head,.labx-head,.intel-block-head,.v5-head,.case6-two)>div:first-child>:where(.v6-label,.v5-kicker),
  :where(.v624-section-head,.section6-head,.international6-head,.labx-head,.intel-block-head,.v5-head,.case6-two)>div:first-child>:is(h2,h3){
    margin:0!important;
  }
  :where(.v624-section-head,.section6-head,.international6-head,.labx-head,.intel-block-head,.v5-head,.case6-two)>p,
  :where(.v624-section-head,.section6-head,.international6-head,.labx-head,.intel-block-head,.v5-head,.case6-two)>a.text-link,
  :where(.section6-head)>a{
    margin:0!important;
    align-self:flex-start!important;
  }

  /* B. Heads where label/title/copy are direct siblings. */
  :where(.decision6-intro,.home-intl-bridge-head){
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:0!important;
    margin-bottom:var(--m-head-content-gap)!important;
  }
  :where(.decision6-intro,.home-intl-bridge-head)>.v6-label{margin:0 0 var(--m-label-title-gap)!important}
  :where(.decision6-intro,.home-intl-bridge-head)>h2{margin:0!important}
  :where(.decision6-intro,.home-intl-bridge-head)>p{margin:var(--m-title-copy-gap) 0 0!important}

  /* C. Explanatory two-column blocks become a clean vertical sequence. */
  :where(.intl-two,.tools-ethic,.tool-explain-grid,.lab-tools-bridge){
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:0!important;
    align-items:start!important;
  }
  :where(.intl-two,.tools-ethic,.tool-explain-grid,.lab-tools-bridge)>div:first-child{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:var(--m-label-title-gap)!important;
    min-width:0!important;
  }
  :where(.intl-two,.tools-ethic,.tool-explain-grid,.lab-tools-bridge)>div:first-child>:where(.v6-label,h2){margin:0!important}
  :where(.intl-two,.tools-ethic,.tool-explain-grid)>:nth-child(2),.lab-tools-bridge>.lab-tool-links{
    margin-top:var(--m-title-copy-gap)!important;
  }
  .lab-tools-bridge>div:first-child>p{
    margin:var(--m-title-copy-gap) 0 0!important;
  }

  /* D. Direct label -> heading patterns outside formal head wrappers. */
  :where(section,article,div)>:where(.v6-label,.v5-kicker)+:is(h1,h2,h3){
    margin-top:var(--m-label-title-gap)!important;
  }

  /* E. International methodology / decisions / 90 days: explicit spacing. */
  .intl-method .v624-section-head,
  .intl-decisions .v624-section-head,
  .pilot-90-v625 .v624-section-head,
  .intl-reading .v624-section-head{
    margin-bottom:52px!important;
  }
  .intl-method .v624-section-head>div:first-child,
  .intl-decisions .v624-section-head>div:first-child,
  .pilot-90-v625 .v624-section-head>div:first-child,
  .intl-reading .v624-section-head>div:first-child{
    gap:30px!important;
  }
  .intl-method .v624-section-head>p,
  .intl-decisions .v624-section-head>p,
  .pilot-90-v625 .v624-section-head>p{
    margin:0!important;
    line-height:1.65!important;
  }
  .intl-reading .v624-section-head>a.text-link{
    margin:0!important;
    padding-top:2px!important;
  }

  /* F. Card internals: consistent label -> title -> copy rhythm. */
  :where(.method-timeline,.decision-wheel,.pilot-grid-v625,.roadmap-grid,.deliver-grid,.related-tool-grid,.editorial-grid,.radar-pro-grid,.editorial-large-grid,.scenario-metric-grid,.pro-tool-grid,.tool-prof-grid){
    gap:22px!important;
  }
  :where(.method-timeline,.decision-wheel,.pilot-grid-v625,.roadmap-grid,.deliver-grid,.related-tool-grid,.editorial-grid,.radar-pro-grid,.editorial-large-grid,.scenario-metric-grid,.pro-tool-grid,.tool-prof-grid)>:where(article,a,div){
    min-width:0!important;
  }
  :where(.method-timeline,.decision-wheel,.pilot-grid-v625,.roadmap-grid,.deliver-grid,.related-tool-grid,.editorial-grid,.radar-pro-grid,.editorial-large-grid,.scenario-metric-grid,.pro-tool-grid,.tool-prof-grid)>:where(article,a,div)>span:first-child{
    display:block!important;
    margin:0 0 18px!important;
  }
  :where(.method-timeline,.decision-wheel,.pilot-grid-v625,.roadmap-grid,.deliver-grid,.related-tool-grid,.editorial-grid,.radar-pro-grid,.editorial-large-grid,.scenario-metric-grid,.pro-tool-grid,.tool-prof-grid)>:where(article,a,div)>:is(h3,b){
    margin-top:0!important;
  }

  /* G. The material list must read as separate cards, not a continuous text column. */
  .intl-reading .editorial-grid{margin-top:0!important}
  .editorial-grid>a{
    display:flex!important;
    flex-direction:column!important;
    gap:0!important;
    padding:28px!important;
    border:1px solid var(--v624-line)!important;
    border-radius:22px!important;
    min-height:0!important;
  }
  .editorial-grid>a>span{margin:0 0 20px!important}
  .editorial-grid>a>h3{margin:0 0 18px!important;line-height:1.12!important}
  .editorial-grid>a>p{margin:0!important;line-height:1.62!important}

  /* H. Prevent over-tight title/copy pair on hero/service mobile templates. */
  :where(.service-hero-grid,.article-hero-grid,.tool-hero-grid,.tools-hub-grid,.lab-v624-hero-grid,.strategy-hero-grid)>div:first-child>:where(.v6-label,.v5-kicker)+h1{
    margin-top:var(--m-label-title-gap)!important;
  }
  :where(.service-hero-grid,.article-hero-grid,.tool-hero-grid,.tools-hub-grid,.lab-v624-hero-grid,.strategy-hero-grid)>div:first-child>h1+:where(p,.v5-lede){
    margin-top:28px!important;
  }

  /* I. Section padding: enough separation between blocks, without giant empty gaps. */
  :where(.v624-section,.v624-soft,.v624-dark,.intl-definition,.intl-situations,.intl-decisions,.intl-economics,.intl-roadmap,.intl-scenarios,.intl-tools,.intl-reading){
    padding-top:76px!important;
    padding-bottom:76px!important;
  }
  .pilot-90-v625{padding-top:82px!important;padding-bottom:82px!important}
}

@media(max-width:640px){
  :root{
    --m-label-title-gap:30px;
    --m-title-copy-gap:34px;
    --m-head-content-gap:50px;
  }
  :where(.v624-section-head,.section6-head,.international6-head,.labx-head,.intel-block-head,.v5-head,.case6-two)>div:first-child{
    gap:30px!important;
  }
  .intl-method .v624-section-head>div:first-child,
  .intl-decisions .v624-section-head>div:first-child,
  .pilot-90-v625 .v624-section-head>div:first-child,
  .intl-reading .v624-section-head>div:first-child{
    gap:32px!important;
  }
  .intl-method .v624-section-head,
  .intl-decisions .v624-section-head,
  .pilot-90-v625 .v624-section-head,
  .intl-reading .v624-section-head{
    margin-bottom:54px!important;
  }
}
