/* APIS Lab v6.45 — one mobile rhythm for every internal page.
   This layer intentionally overrides the accumulated legacy mobile spacing rules. */

@media (max-width: 900px){
  :root{
    --v645-label-title: 18px;
    --v645-title-copy: 24px;
    --v645-head-content: 34px;
    --v645-section-top: 46px;
    --v645-section-bottom: 46px;
  }

  /* ---------- 1. BREADCRUMBS: identical on every internal page ---------- */
  html body main > .v645-crumb-band{
    display:block!important;
    width:100%!important;
    min-height:0!important;
    margin:0!important;
    padding:calc(var(--header,64px) + 18px) 0 18px!important;
    background:#ebe6dc!important;
    color:#25272b!important;
    border-bottom:1px solid rgba(17,19,24,.10)!important;
    position:relative!important;
    z-index:3!important;
    overflow:visible!important;
  }
  html body main > .v645-crumb-band .v624-crumbs{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    gap:9px!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    color:#25272b!important;
    font-size:12px!important;
    line-height:1.42!important;
    letter-spacing:0!important;
    overflow:visible!important;
  }
  html body main > .v645-crumb-band .v624-crumbs>div{
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    gap:6px 9px!important;
    width:100%!important;
    min-width:0!important;
  }
  html body main > .v645-crumb-band .v624-crumbs :where(a,span,b,i){
    margin:0!important;
    line-height:1.42!important;
  }
  html body main > .v645-crumb-band .crumb-back{
    display:inline-flex!important;
    margin:0!important;
    padding:0!important;
    max-width:none!important;
    white-space:normal!important;
    text-align:left!important;
    font-size:11px!important;
    opacity:.72!important;
  }

  /* ---------- 2. HEROES AFTER BREADCRUMBS: never count the fixed header twice ---------- */
  html body main > .v645-crumb-band + :is(
    .intl-hero,.tools-hub-hero,.tool-v624-hero,.lab-v624-hero,.article-v624-hero,.scenario-v624-hero,
    .intel-hero,.work-hero,.strategy-hero,.service-hero,.page-hero,.tool-hero,.case6-hero,.case-detail-hero
  ){
    padding-top:46px!important;
  }
  html body main > .v645-crumb-band + .intel-hero{padding-bottom:58px!important}
  html body main > .v645-crumb-band + :is(.article-v624-hero,.lab-v624-hero,.tools-hub-hero,.tool-v624-hero,.intl-hero){padding-bottom:54px!important}

  /* ---------- 3. UNIVERSAL LABEL -> TITLE -> COPY RHYTHM ---------- */
  html body main .v645-heading-group{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    gap:0!important;
    min-width:0!important;
  }
  html body main .v645-heading-group > :is(.v6-label,.v5-kicker){
    display:block!important;
    margin:0!important;
    padding:0!important;
    line-height:1.18!important;
  }
  html body main .v645-heading-group > :is(h1,h2,h3){
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    margin:var(--v645-label-title) 0 0!important;
    padding:0!important;
  }
  html body main .v645-heading-group > :is(h1,h2,h3) + p,
  html body main .v645-heading-group > :is(h1,h2,h3) + .v5-lede{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    margin:var(--v645-title-copy) 0 0!important;
    padding:0!important;
  }
  html body main .v645-heading-group > :is(h1,h2,h3) + :is(.v5-actions,.hero6-actions,.intl-cta){
    margin-top:28px!important;
  }

  /* Wrapped heads: left label/title, then supporting copy or link. */
  html body main .v645-head-layout{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    gap:0!important;
    width:100%!important;
    margin:0 0 var(--v645-head-content)!important;
  }
  html body main .v645-head-layout > .v645-heading-group{width:100%!important}
  html body main .v645-head-layout > .v645-heading-group + :is(p,a.text-link){
    display:block!important;
    width:100%!important;
    max-width:none!important;
    margin:var(--v645-title-copy) 0 0!important;
    padding:0!important;
    align-self:flex-start!important;
    line-height:1.58!important;
  }

  /* Direct section-head structures that are themselves the heading group. */
  html body main :is(.v624-section-head,.decision6-intro,.home-intl-bridge-head).v645-heading-group{
    margin:0 0 var(--v645-head-content)!important;
  }
  html body main .v624-section-head.v645-heading-group > a.text-link{
    margin:var(--v645-title-copy) 0 0!important;
  }

  /* Optics / explanation blocks: no giant blank field between label and title. */
  html body main :is(.intl-two,.tools-ethic,.tool-explain-grid,.lab-tools-bridge){
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    gap:28px!important;
    width:100%!important;
  }
  html body main :is(.intl-two,.tools-ethic,.tool-explain-grid,.lab-tools-bridge) > .v645-heading-group{
    width:100%!important;
  }
  html body main :is(.intl-two,.tools-ethic,.tool-explain-grid) > :nth-child(2),
  html body main .lab-tools-bridge > .lab-tool-links{
    width:100%!important;
    margin:0!important;
    padding:0!important;
  }
  html body main .lab-tools-bridge > .v645-heading-group > p{
    margin:var(--v645-title-copy) 0 0!important;
  }

  /* ---------- 4. MAJOR SECTION PADDING: same scale across International / Lab / Tools ---------- */
  html body main :is(
    .intl-definition,.intl-situations,.intl-method,.intl-decisions,.intl-analytics,.intl-evidence-v625,
    .intl-economics,.intl-risk-v625,.intl-funnel,.intl-roadmap,.pilot-90-v625,.intl-scenarios,
    .intl-deliverables,.intl-tools,.intl-reading,.intl-start,
    section.v624-section,section.v624-soft
  ){
    padding-top:var(--v645-section-top)!important;
    padding-bottom:var(--v645-section-bottom)!important;
  }
  /* Dark sections that are not page heroes. */
  html body main :is(.intl-method,.intl-funnel,.intl-start){
    padding-top:50px!important;
    padding-bottom:50px!important;
  }

  /* Head-to-content distance is controlled once, not by old grid margins. */
  html body main :is(
    .situation-grid,.method-timeline,.decision-wheel,.analytics-grid,.evidence-grid-v625,.roadmap-grid,
    .pilot-grid-v625,.scenario-premium-grid,.deliver-grid,.related-tool-grid,.editorial-grid,.radar-pro-grid,
    .editorial-large-grid,.pro-tool-grid,.tool-prof-grid
  ){
    margin-top:0!important;
  }

  /* ---------- 5. BLOG / LAB CARDS ---------- */
  html body main .editorial-grid{
    gap:18px!important;
  }
  html body main .editorial-grid>a{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    min-height:0!important;
    padding:24px!important;
    border-radius:22px!important;
  }
  html body main .editorial-grid>a>span:first-child{margin:0 0 16px!important}
  html body main .editorial-grid>a>h3{margin:0 0 16px!important;line-height:1.12!important}
  html body main .editorial-grid>a>p{margin:0!important;line-height:1.58!important}

  /* ---------- 6. CARD INTERNAL RHYTHM ---------- */
  html body main :is(.method-timeline,.pilot-grid-v625,.roadmap-grid,.evidence-grid-v625,.decision-wheel)>article{
    min-width:0!important;
  }
  html body main :is(.pilot-grid-v625,.roadmap-grid,.evidence-grid-v625,.decision-wheel)>article>span:first-child{
    display:block!important;
    margin:0 0 16px!important;
  }
  html body main :is(.pilot-grid-v625,.roadmap-grid,.evidence-grid-v625,.decision-wheel)>article>h3{
    margin:0 0 14px!important;
    line-height:1.12!important;
  }
  html body main :is(.pilot-grid-v625,.roadmap-grid,.evidence-grid-v625,.decision-wheel)>article>p{
    margin:0!important;
    line-height:1.55!important;
  }

  /* ---------- 7. PREVENT OLD DECORATIVE / GUIDE LINES ON MOBILE ---------- */
  html body main :is(.intl-hero,.intl-definition,.intl-situations,.intl-method,.intl-decisions,.intl-analytics,
    .intl-evidence-v625,.intl-economics,.intl-roadmap,.pilot-90-v625,.intl-scenarios,.intl-tools,.intl-reading)::before,
  html body main :is(.intl-hero,.intl-definition,.intl-situations,.intl-method,.intl-decisions,.intl-analytics,
    .intl-evidence-v625,.intl-economics,.intl-roadmap,.pilot-90-v625,.intl-scenarios,.intl-tools,.intl-reading)::after{
    display:none!important;
    content:none!important;
  }
}

@media (max-width: 640px){
  :root{
    --v645-label-title:18px;
    --v645-title-copy:22px;
    --v645-head-content:32px;
    --v645-section-top:42px;
    --v645-section-bottom:42px;
  }
  html body main > .v645-crumb-band{padding:calc(var(--header,64px) + 15px) 0 15px!important}
  html body main > .v645-crumb-band + :is(
    .intl-hero,.tools-hub-hero,.tool-v624-hero,.lab-v624-hero,.article-v624-hero,.scenario-v624-hero,
    .intel-hero,.work-hero,.strategy-hero,.service-hero,.page-hero,.tool-hero,.case6-hero,.case-detail-hero
  ){
    padding-top:40px!important;
  }
}
