
:root{
  --r17-header-height:84px;
  --r17-nav-gap:clamp(14px,1.05vw,22px);
  --r17-nav-size:clamp(.82rem,.84vw,.92rem);
  --r17-cta-bg:linear-gradient(135deg,#09182a 0%,#102543 58%,#1f6e6f 100%);
  --r17-cta-hover:linear-gradient(135deg,#0c2133 0%,#163253 58%,#27807e 100%);
  --r17-cta-shadow:0 12px 28px rgba(7,18,36,.22);
  --r17-dark-surface:linear-gradient(180deg,#061123 0%,#081426 100%);
  --r17-dark-line:rgba(126,156,201,.18);
}

/* ===== Manifesto header parity ===== */
body.v20d2c-public .site-header.site-header--v20d2c,
body.r15-utility-page .site-header.site-header--v20d2c{
  position:sticky !important;
  top:0 !important;
  z-index:400 !important;
  box-shadow:0 12px 28px rgba(15,23,42,.08);
}
body.v20d2c-public .site-header--v20d2c .container.bar,
body.r15-utility-page .site-header--v20d2c .container.bar{
  min-height:var(--r17-header-height) !important;
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center !important;
  gap:24px !important;
}
body.v20d2c-public .site-header--v20d2c .logo--brand,
body.r15-utility-page .site-header--v20d2c .logo--brand{
  padding-left:0 !important;
  min-width:auto !important;
  gap:0 !important;
  margin-right:0 !important;
}
body.v20d2c-public .site-header--v20d2c .logo--brand::before,
body.v20d2c-public .site-header--v20d2c .logo--brand::after,
body.r15-utility-page .site-header--v20d2c .logo--brand::before,
body.r15-utility-page .site-header--v20d2c .logo--brand::after{
  content:none !important;
  display:none !important;
}
body.v20d2c-public .site-header--v20d2c .logo--brand .wordmark-primary,
body.r15-utility-page .site-header--v20d2c .logo--brand .wordmark-primary{
  font-size:1.95rem !important;
  font-weight:900 !important;
  letter-spacing:-.045em !important;
}
body.v20d2c-public .site-header--v20d2c .site-header__desktop,
body.r15-utility-page .site-header--v20d2c .site-header__desktop{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:clamp(16px,1.4vw,28px) !important;
  min-width:0 !important;
  width:100% !important;
}
body.v20d2c-public .site-header--v20d2c .desktop-nav,
body.r15-utility-page .site-header--v20d2c .desktop-nav{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex-wrap:nowrap !important;
  gap:var(--r17-nav-gap) !important;
  min-width:0 !important;
  flex:1 1 auto !important;
}
body.v20d2c-public .site-header--v20d2c .desktop-nav a,
body.r15-utility-page .site-header--v20d2c .desktop-nav a{
  white-space:nowrap !important;
  font-size:var(--r17-nav-size) !important;
  letter-spacing:-.01em !important;
}
body.v20d2c-public .site-header--v20d2c .site-header__utility,
body.r15-utility-page .site-header--v20d2c .site-header__utility{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  flex-wrap:nowrap !important;
  gap:10px !important;
}
body.v20d2c-public .site-header--v20d2c .site-header__utility .btn-subtle,
body.r15-utility-page .site-header--v20d2c .site-header__utility .btn-subtle,
body.v20d2c-public .site-header--v20d2c .nav-panel-actions .btn-subtle,
body.r15-utility-page .site-header--v20d2c .nav-panel-actions .btn-subtle,
body.v20d2c-public .site-header--v20d2c .mobile-contact-link,
body.r15-utility-page .site-header--v20d2c .mobile-contact-link{
  background:var(--r17-cta-bg) !important;
  color:#fff !important;
  border:1px solid rgba(119,214,199,.24) !important;
  box-shadow:var(--r17-cta-shadow) !important;
}
body.v20d2c-public .site-header--v20d2c .site-header__utility .btn-subtle:hover,
body.r15-utility-page .site-header--v20d2c .site-header__utility .btn-subtle:hover,
body.v20d2c-public .site-header--v20d2c .nav-panel-actions .btn-subtle:hover,
body.r15-utility-page .site-header--v20d2c .nav-panel-actions .btn-subtle:hover,
body.v20d2c-public .site-header--v20d2c .mobile-contact-link:hover,
body.r15-utility-page .site-header--v20d2c .mobile-contact-link:hover{
  background:var(--r17-cta-hover) !important;
  color:#fff !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:110px !important;
  padding:.72rem 1rem !important;
  white-space:nowrap !important;
}
body.v20d2c-public .site-header--v20d2c .mobile-contact-link,
body.r15-utility-page .site-header--v20d2c .mobile-contact-link{padding:.78rem 1.12rem;border-radius:999px;text-decoration:none}
body.v20d2c-public .site-header--v20d2c .desktop-nav a.is-active,
body.r15-utility-page .site-header--v20d2c .desktop-nav a.is-active{color:#0f172a !important}
body.v20d2c-public .site-header--v20d2c .desktop-nav a,
body.r15-utility-page .site-header--v20d2c .desktop-nav a{color:#2d1b69 !important}
body.v20d2c-public .site-header--v20d2c .desktop-nav a:hover,
body.r15-utility-page .site-header--v20d2c .desktop-nav a:hover{color:#0f172a !important}

@media (max-width:1480px){
  body.v20d2c-public .site-header--v20d2c .desktop-nav a,
  body.r15-utility-page .site-header--v20d2c .desktop-nav a{font-size:.84rem !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:98px !important;padding:.68rem .88rem !important;}
}
@media (max-width:1320px){
  body.v20d2c-public .site-header--v20d2c .site-header__desktop,
  body.r15-utility-page .site-header--v20d2c .site-header__desktop{display:none !important;}
  body.v20d2c-public .site-header--v20d2c .site-header__mobile,
  body.r15-utility-page .site-header--v20d2c .site-header__mobile{display:flex !important;justify-content:flex-end !important;gap:0 !important;}
}

/* ===== Diagram discipline ===== */
body.v20d2c-public .authority-network-card__header,
body.r15-utility-page .authority-network-card__header{display:none !important;}
body.v20d2c-public .authority-network-badges,
body.r15-utility-page .authority-network-badges{display:none !important;}
body.v20d2c-public .authority-network-row figure,
body.r15-utility-page .authority-network-row figure{width:100% !important;}
body.v20d2c-public .authority-network-card,
body.r15-utility-page .authority-network-card{gap:0 !important;padding:clamp(18px,2vw,24px) !important;}
body.v20d2c-public .authority-network-stage,
body.r15-utility-page .authority-network-stage{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  padding:clamp(16px,2vw,24px) !important;
  min-height:clamp(360px,46vw,720px) !important;
}
body.v20d2c-public .authority-network-stage img,
body.v20d2c-public .authority-network-stage svg,
body.r15-utility-page .authority-network-stage img,
body.r15-utility-page .authority-network-stage svg{
  display:block !important;
  width:100% !important;
  height:auto !important;
  max-width:100% !important;
  max-height:100% !important;
  margin:0 auto !important;
  object-fit:contain !important;
}
body.v20d2c-public .authority-network-stage .authority-mini-diagram,
body.r15-utility-page .authority-network-stage .authority-mini-diagram{
  width:min(100%,1100px) !important;
  margin-inline:auto !important;
}
body.v20d2c-public .authority-network-card--hero-wide .authority-network-stage,
body.r15-utility-page .authority-network-card--hero-wide .authority-network-stage{min-height:clamp(420px,54vw,760px) !important;}
body.v20d2c-public .authority-network-card--scorecard .authority-network-stage,
body.v20d2c-public .authority-network-card--scorecard-wide .authority-network-stage,
body.r15-utility-page .authority-network-card--scorecard .authority-network-stage,
body.r15-utility-page .authority-network-card--scorecard-wide .authority-network-stage{min-height:clamp(420px,52vw,760px) !important;}
body.v20d2c-public .authority-network-card--technical .authority-network-stage,
body.r15-utility-page .authority-network-card--technical .authority-network-stage{min-height:clamp(420px,52vw,780px) !important;}
body.v20d2c-public .authority-network-card--map .authority-network-stage,
body.r15-utility-page .authority-network-card--map .authority-network-stage{min-height:clamp(400px,50vw,760px) !important;}

body.v20d2c-public .r12-diagram-meta,
body.r15-utility-page .r12-diagram-meta{
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:center !important;
  gap:12px !important;
  padding-top:12px !important;
}
body.v20d2c-public .r12-diagram-meta span,
body.r15-utility-page .r12-diagram-meta span{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:7px 11px !important;
  border-radius:999px !important;
  border:1px solid rgba(158,185,226,.18) !important;
  background:rgba(8,17,31,.52) !important;
  color:#8fa3bf !important;
  font-size:.78rem !important;
  font-weight:800 !important;
  letter-spacing:.02em !important;
  white-space:nowrap !important;
}

body.v20d2c-public .r12-band,
body.r15-utility-page .r12-band{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:14px !important;
}
body.v20d2c-public .r12-band-card,
body.r15-utility-page .r12-band-card{
  display:grid !important;
  gap:8px !important;
  min-height:100% !important;
  padding:18px !important;
}
body.v20d2c-public .r12-band-card small,
body.r15-utility-page .r12-band-card small{display:block !important;margin-bottom:0 !important;}
body.v20d2c-public .r12-band-card strong,
body.r15-utility-page .r12-band-card strong{display:block !important;margin:0 !important;}
body.v20d2c-public .r12-band-card span,
body.r15-utility-page .r12-band-card span{display:block !important;margin:0 !important;}
@media (max-width:980px){
  body.v20d2c-public .r12-band,
  body.r15-utility-page .r12-band{grid-template-columns:1fr !important;}
}

body.v20d2c-public .r12-commercial-band,
body.v20d2c-public .r16-commercial-band,
body.r15-utility-page .r12-commercial-band,
body.r15-utility-page .r16-commercial-band{
  background:linear-gradient(135deg,#0b1527 0%,#10223c 46%,#1d5f63 100%) !important;
  color:#fff !important;
  border:1px solid rgba(119,214,199,.18) !important;
  box-shadow:0 20px 46px rgba(7,18,36,.16) !important;
}
body.v20d2c-public .r12-commercial-band h3,
body.v20d2c-public .r16-commercial-band h3,
body.r15-utility-page .r12-commercial-band h3,
body.r15-utility-page .r16-commercial-band h3{color:#fff !important;}
body.v20d2c-public .r12-commercial-band p,
body.v20d2c-public .r16-commercial-band p,
body.r15-utility-page .r12-commercial-band p,
body.r15-utility-page .r16-commercial-band p{color:#d7e2f4 !important;}

/* rebuilt mini-diagram readability */
body.v20d2c-public .authority-mini-diagram,
body.r15-utility-page .authority-mini-diagram{
  gap:clamp(18px,2vw,26px) !important;
  padding:clamp(24px,3vw,36px) !important;
}
body.v20d2c-public .authority-mini-diagram__rail,
body.r15-utility-page .authority-mini-diagram__rail{
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:clamp(14px,1.8vw,22px) !important;
}
body.v20d2c-public .authority-mini-diagram__node,
body.r15-utility-page .authority-mini-diagram__node{
  min-height:clamp(98px,11vw,124px) !important;
  padding:20px 14px !important;
  font-size:clamp(.96rem,1.15vw,1.08rem) !important;
}
body.v20d2c-public .authority-mini-diagram__node small,
body.v20d2c-public .authority-mini-diagram__outcome span,
body.r15-utility-page .authority-mini-diagram__node small,
body.r15-utility-page .authority-mini-diagram__outcome span{font-size:.78rem !important;}
body.v20d2c-public .authority-mini-diagram__node:nth-child(3),
body.r15-utility-page .authority-mini-diagram__node:nth-child(3){min-height:clamp(108px,12vw,136px) !important;transform:none !important;}
body.v20d2c-public .authority-mini-diagram__flow,
body.r15-utility-page .authority-mini-diagram__flow{gap:clamp(12px,1.6vw,18px) !important;}
body.v20d2c-public .authority-mini-diagram__outcomes,
body.r15-utility-page .authority-mini-diagram__outcomes{grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:clamp(12px,1.6vw,18px) !important;}
body.v20d2c-public .authority-mini-diagram__outcome,
body.r15-utility-page .authority-mini-diagram__outcome{min-height:clamp(78px,8vw,96px) !important;padding:18px 14px !important;}
body.v20d2c-public .authority-mini-diagram__evidence,
body.r15-utility-page .authority-mini-diagram__evidence{padding:14px 18px !important;font-size:clamp(.78rem,.95vw,.92rem) !important;}
@media (max-width:860px){
  body.v20d2c-public .authority-mini-diagram__rail,
  body.v20d2c-public .authority-mini-diagram__outcomes,
  body.r15-utility-page .authority-mini-diagram__rail,
  body.r15-utility-page .authority-mini-diagram__outcomes{grid-template-columns:1fr !important;}
  body.v20d2c-public .authority-mini-diagram__flow,
  body.r15-utility-page .authority-mini-diagram__flow{grid-template-columns:1fr !important;}
}

/* utility page polish */
body.r15-utility-page main.r15-utility-main{padding-top:calc(var(--r17-header-height) + 28px) !important;}
body.r15-utility-page--contact .r13-locked-card,
body.r15-utility-page--readiness-assessment .r13-locked-card{margin-top:0 !important;}
body.r15-utility-page .r15-locked-center{align-items:start !important;}
body.r15-utility-page .r13-locked-card,
body.r15-utility-page .r16-signin-card{width:min(760px,100%) !important;}
body.r15-utility-page--signin .r16-signin-card{gap:16px !important;padding:26px !important;}

/* reduce drift on sections that already have external proof heads */
body.v20d2c-public .r16-proof-head,
body.v20d2c-public .enterprise-visual-copy,
body.v20d2c-public .r12-section-head{max-width:72ch !important;}

/* ===== R17 final discipline additions ===== */
body.v20d2c-public .site-header--v20d2c .site-header__mobile,
body.r15-utility-page .site-header--v20d2c .site-header__mobile{display:none !important;}

@media (max-width:1180px){
  body.v20d2c-public .site-header--v20d2c .site-header__desktop,
  body.r15-utility-page .site-header--v20d2c .site-header__desktop{display:none !important;}
  body.v20d2c-public .site-header--v20d2c .site-header__mobile,
  body.r15-utility-page .site-header--v20d2c .site-header__mobile{display:flex !important;justify-content:flex-end !important;gap:0 !important;}
}
@media (max-width:1420px){
  body.v20d2c-public .site-header--v20d2c .desktop-nav,
  body.r15-utility-page .site-header--v20d2c .desktop-nav{gap:12px !important;}
  body.v20d2c-public .site-header--v20d2c .desktop-nav a,
  body.r15-utility-page .site-header--v20d2c .desktop-nav a{font-size:.80rem !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:92px !important;padding:.64rem .9rem !important;font-size:.80rem !important;}
  body.v20d2c-public .site-header--v20d2c .logo--brand .wordmark-primary,
  body.r15-utility-page .site-header--v20d2c .logo--brand .wordmark-primary{font-size:1.72rem !important;}
}

body.v20d2c-public .authority-network-asset--mini,
body.r15-utility-page .authority-network-asset--mini{
  width:min(100%,1280px) !important;
  margin-inline:auto !important;
  display:block !important;
}
body.v20d2c-public .authority-network-row--map .authority-network-stage,
body.v20d2c-public .authority-network-row--technical .authority-network-stage,
body.r15-utility-page .authority-network-row--map .authority-network-stage,
body.r15-utility-page .authority-network-row--technical .authority-network-stage{
  padding:clamp(18px,2vw,24px) !important;
}
body.v20d2c-public .r16-commercial-motion .container{grid-template-columns:1fr !important;}
body.v20d2c-public .r16-commercial-lead{max-width:76ch !important;}
body.v20d2c-public .r16-benchmark-shell{max-width:100% !important;}
body.v20d2c-public .r16-benchmark-shell .authority-network-stage{min-height:clamp(460px,56vw,820px) !important;}
body.v20d2c-public .r16-benchmark-shell .r12-diagram-meta{justify-content:center !important;}
body.v20d2c-public .r16-proof-shell-alt .authority-network-stage{min-height:clamp(420px,54vw,820px) !important;}
body.v20d2c-public .r16-proof-shell-alt .r12-diagram-meta{justify-content:center !important;}
body.v20d2c-public .r12-band-card,
body.r15-utility-page .r12-band-card{border-radius:18px !important;}
body.v20d2c-public .r12-band-card small,
body.r15-utility-page .r12-band-card small{font-weight:800 !important;letter-spacing:.12em !important;text-transform:uppercase !important;}
body.v20d2c-public .r12-band-card strong,
body.r15-utility-page .r12-band-card strong{font-size:1rem !important;line-height:1.35 !important;}
body.v20d2c-public .r12-band-card span,
body.r15-utility-page .r12-band-card span{line-height:1.6 !important;}
body.v20d2c-public .r12-commercial-band,
body.r15-utility-page .r12-commercial-band,
body.v20d2c-public .r16-commercial-band,
body.r15-utility-page .r16-commercial-band{padding:24px !important;display:grid !important;grid-template-columns:minmax(0,1fr) auto !important;gap:18px !important;align-items:center !important;}
body.v20d2c-public .r12-commercial-band .r12-actions,
body.r15-utility-page .r12-commercial-band .r12-actions,
body.v20d2c-public .r16-commercial-band .r12-actions,
body.r15-utility-page .r16-commercial-band .r12-actions{display:flex !important;gap:12px !important;flex-wrap:wrap !important;justify-content:flex-end !important;}
@media (max-width:980px){
  body.v20d2c-public .r12-commercial-band,
  body.r15-utility-page .r12-commercial-band,
  body.v20d2c-public .r16-commercial-band,
  body.r15-utility-page .r16-commercial-band{grid-template-columns:1fr !important;}
  body.v20d2c-public .r12-commercial-band .r12-actions,
  body.r15-utility-page .r12-commercial-band .r12-actions,
  body.v20d2c-public .r16-commercial-band .r12-actions,
  body.r15-utility-page .r16-commercial-band .r12-actions{justify-content:flex-start !important;}
}
body.r15-utility-page .r15-locked-center{min-height:calc(100dvh - var(--r17-header-height) - 44px) !important;}
body.r15-utility-page .r13-locked-card,
body.r15-utility-page .r16-signin-card{box-shadow:0 22px 54px rgba(7,18,36,.08) !important;}
