/* R21 governed desktop + critical fixes */
:root{
  --r21-max-public-shell: 1280px;
  --r21-diagram-stage-desktop: 620px;
  --r21-diagram-stage-desktop-tight: 560px;
  --r21-header-gap: 24px;
}
body.v20d2c-public,
body.r15-utility-page{
  overflow-x: clip;
}
body.v20d2c-public main,
body.r15-utility-page main{
  overflow-x: clip;
}
body.v20d2c-public .site-header.site-header--v20d2c,
body.r15-utility-page .site-header.site-header--v20d2c{
  box-shadow: 0 12px 28px rgba(15,23,42,.06);
}
body.v20d2c-public .site-header--v20d2c .container.bar,
body.r15-utility-page .site-header--v20d2c .container.bar{
  max-width: var(--r21-max-public-shell);
  min-height: 78px;
  grid-template-columns: auto minmax(0,1fr);
  align-items: center;
  gap: 28px;
}
body.v20d2c-public .site-header--v20d2c .logo--brand,
body.r15-utility-page .site-header--v20d2c .logo--brand{
  justify-self: start;
}
body.v20d2c-public .site-header--v20d2c .site-header__desktop,
body.r15-utility-page .site-header--v20d2c .site-header__desktop{
  width: 100%;
  min-width: 0;
  display: grid !important;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  gap: var(--r21-header-gap);
  justify-content: stretch;
}
body.v20d2c-public .site-header--v20d2c .desktop-nav,
body.r15-utility-page .site-header--v20d2c .desktop-nav{
  justify-content: center !important;
  align-items: center;
  gap: 24px !important;
  min-width: 0;
  margin: 0 auto;
}
body.v20d2c-public .site-header--v20d2c .desktop-nav a,
body.r15-utility-page .site-header--v20d2c .desktop-nav a{
  font-size: .92rem !important;
  font-weight: 800;
  letter-spacing: -.01em;
}
body.v20d2c-public .site-header--v20d2c .site-header__utility,
body.r15-utility-page .site-header--v20d2c .site-header__utility{
  justify-content: flex-end;
  gap: 12px !important;
}
body.v20d2c-public .site-header--v20d2c .site-header__utility .btn-subtle,
body.r15-utility-page .site-header--v20d2c .site-header__utility .btn-subtle{
  min-width: 118px;
  min-height: 46px;
}
body.v20d2c-public .site-header--v20d2c .desktop-nav a.is-active,
body.v20d2c-public .site-header--v20d2c .desktop-nav a[aria-current="page"],
body.r15-utility-page .site-header--v20d2c .desktop-nav a.is-active,
body.r15-utility-page .site-header--v20d2c .desktop-nav a[aria-current="page"]{
  color: #0f172a !important;
}
body.v20d2c-public .page-intro .container,
body.v20d2c-public .section > .container,
body.r15-utility-page .page-intro .container,
body.r15-utility-page .section > .container{
  max-width: var(--r21-max-public-shell);
}
body.v20d2c-public .r12-diagram-shell,
body.v20d2c-public .diagram-layout-visual,
body.v20d2c-public .diagram-plate.authority-network-host{
  width: 100%;
  max-width: none !important;
  margin-inline: auto;
  overflow: hidden;
}
body.v20d2c-public .r12-diagram-shell .authority-network-card,
body.v20d2c-public .diagram-layout-visual .authority-network-card{
  width: 100%;
  max-width: none !important;
  padding: 22px 22px 24px !important;
  border-radius: 28px;
}
body.v20d2c-public .r12-diagram-shell .authority-network-stage,
body.v20d2c-public .diagram-layout-visual .authority-network-stage{
  min-height: var(--r21-diagram-stage-desktop) !important;
  aspect-ratio: auto !important;
  padding: 14px !important;
  display: grid !important;
  place-items: center !important;
}
body.v20d2c-public .authority-network-card--hero-wide .authority-network-stage{
  min-height: 640px !important;
}
body.v20d2c-public .authority-network-card--executive .authority-network-stage{
  min-height: 620px !important;
}
body.v20d2c-public .authority-network-card--technical .authority-network-stage,
body.v20d2c-public .authority-network-card--flow .authority-network-stage,
body.v20d2c-public .authority-network-card--scorecard .authority-network-stage,
body.v20d2c-public .authority-network-card--scorecard-wide .authority-network-stage,
body.v20d2c-public .authority-network-card--map .authority-network-stage{
  min-height: 600px !important;
}
body.v20d2c-public .authority-network-stage .authority-network-picture,
body.v20d2c-public .authority-network-stage .authority-network-asset,
body.v20d2c-public .authority-network-stage .authority-network-picture img{
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 auto;
  display: block;
}
body.v20d2c-public .authority-network-card .authority-network-title{
  font-size: clamp(1.56rem,2.8vw,2.34rem);
}
body.v20d2c-public .authority-network-card .authority-network-description{
  font-size: 1.02rem;
  line-height: 1.7;
}
body.v20d2c-public .r12-diagram-meta{
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
}
body.v20d2c-public .r12-diagram-meta span{
  white-space: nowrap;
}
body.v20d2c-public .r12-usecase-grid,
body.v20d2c-public .r12-journey-grid,
body.v20d2c-public .r19-journey-grid{
  align-items: stretch;
}
body.v20d2c-public .r12-usecase-card,
body.v20d2c-public .r12-journey-card,
body.v20d2c-public .r19-journey-card{
  display: flex;
  flex-direction: column;
  height: 100%;
}
body.v20d2c-public .r12-usecase-card .actions,
body.v20d2c-public .r12-journey-card .r12-actions,
body.v20d2c-public .r19-journey-card .r12-actions{
  margin-top: auto !important;
  align-items: flex-start;
}
body.v20d2c-public .r12-usecase-card .btn,
body.v20d2c-public .r12-journey-card .btn,
body.v20d2c-public .r19-journey-card .btn{
  white-space: nowrap;
}
body.v20d2c-public .research-library-layout{
  grid-template-columns: minmax(260px, .3fr) minmax(0, 1fr) !important;
  align-items: start;
  gap: 26px !important;
}
body.v20d2c-public .research-library-sidebar,
body.v20d2c-public .research-library-main,
body.v20d2c-public .research-library-sidebar__inner,
body.v20d2c-public .research-cluster-card,
body.v20d2c-public .research-portal-grid,
body.v20d2c-public .research-portal-grid--cards,
body.v20d2c-public .research-portal-card{
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden;
}
body.v20d2c-public .research-portal-grid--cards{
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
}
body.v20d2c-public .research-portal-card{
  height: 100%;
}
body.v20d2c-public .research-portal-card h4{
  line-height: 1.06;
}
body.v20d2c-public .research-portal-card__link{
  margin-top: auto;
}
body.v20d2c-public .page-panel{
  max-width: 100%;
}
body.v20d2c-public .r19-proof-facts{
  grid-template-columns: repeat(5,minmax(0,1fr));
  gap: 16px;
}
body.v20d2c-public .r19-fact-card{
  display: flex;
  flex-direction: column;
  min-height: 100%;
}
body.v20d2c-public .r19-fact-card .r19-fact-link{
  margin-top: auto;
}
body.v20d2c-public .enterprise-link-grid.enterprise-link-grid--duo{
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
}
body.v20d2c-public .r16-commercial-band,
body.v20d2c-public .r12-commercial-band{
  align-items: stretch;
}
body.v20d2c-public .r12-band-card{
  display:flex;
  flex-direction:column;
  min-height:100%;
}
body.v20d2c-public .r12-band-card span{
  margin-top:auto;
}
body.v20d2c-public .company-diagrams-grid .authority-network-card,
body.v20d2c-public .diagram-catalog .authority-network-card{
  height: 100%;
}
body.v20d2c-public .company-diagrams-grid .authority-network-stage,
body.v20d2c-public .diagram-catalog .authority-network-stage{
  min-height: var(--r21-diagram-stage-desktop-tight) !important;
}
body.v20d2c-public .r20-mobile-proof-head{
  display:none;
}

@media (max-width: 1280px){
  body.v20d2c-public .site-header--v20d2c .container.bar,
  body.r15-utility-page .site-header--v20d2c .container.bar{
    gap: 20px;
  }
  body.v20d2c-public .site-header--v20d2c .desktop-nav,
  body.r15-utility-page .site-header--v20d2c .desktop-nav{
    gap: 18px !important;
  }
  body.v20d2c-public .r19-proof-facts{
    grid-template-columns: repeat(3,minmax(0,1fr));
  }
}
@media (max-width: 1120px){
  body.v20d2c-public .research-library-layout{
    grid-template-columns: 1fr !important;
  }
  body.v20d2c-public .r19-proof-facts{
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  body.v20d2c-public .r12-diagram-shell .authority-network-stage,
  body.v20d2c-public .diagram-layout-visual .authority-network-stage{
    min-height: 480px !important;
  }
}
@media (max-width: 760px){
  body.v20d2c-public .enterprise-link-grid.enterprise-link-grid--duo{
    grid-template-columns: 1fr !important;
  }
  body.v20d2c-public .r19-proof-facts{
    grid-template-columns: 1fr;
  }
}
