/* Single source of truth for the site header geometry.
   Loaded last on every page so the bar never shifts between pages. */
nav .nav-in,
header.nav .nav-in,
.nav .nav-in,
nav .nav-inner,
header.nav .nav-inner,
.nav .nav-inner{
  max-width:1240px !important;
  margin:0 auto !important;
  padding:0 28px !important;
  height:76px !important;
  min-height:76px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  box-sizing:border-box !important;
}
nav.nav, header.nav, .nav{
  top:0 !important;
  left:0 !important;
  right:0 !important;
}
/* brand colours for the footer social buttons, incl. dark deck pages
   where site-deck.css was flattening them to navy */
.foot-social a[aria-label="YouTube"],
body.deck-page footer .foot-social a[aria-label="YouTube"]{color:#FF0000 !important}
.foot-social a[aria-label="LinkedIn"],
body.deck-page footer .foot-social a[aria-label="LinkedIn"]{color:#0A66C2 !important}
body.deck-page footer .foot-social a[aria-label="X"]{color:#0F1115 !important}

/* live HTML workspace panels (crisp at any size, no image blur) */
.ws-livewrap{position:absolute;top:0;left:0;overflow:hidden;pointer-events:none}
.ws-livewrap:has(.ws-live.is-on){pointer-events:auto}
.ws-live{
  position:absolute;
  top:0 !important;left:0 !important;right:auto !important;bottom:auto !important;
  border:0;background:#0B1119;
  transform-origin:top left;
  opacity:0;transition:opacity .4s ease;
}
.ws-live.is-on{opacity:1}
.ws-panhint{display:none}
.ws-panhint.is-shown{
  display:block;margin:12px 0 0;text-align:center;
  font:500 11px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;
  letter-spacing:.08em;text-transform:uppercase;
  color:rgba(248,250,252,.5);
}
.is-panning{
  overflow-x:auto;overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.is-panning::-webkit-scrollbar{display:none}
.is-panning .ws-live{pointer-events:none}
.is-panning .ws-livewrap:not(:has(.ws-live.is-on)){width:0 !important}

/* the timeline dot was clipping the leading digit of the stage numbers */
.ip-stage .sn::after{left:-22px !important}

/* the doc rail carries its own wordmark which collided with the site nav mark */
.rail .mark{display:none !important}
/* ...and the rail itself was overlaying the fixed header */
nav.rail{padding-top:96px !important;z-index:50 !important}

/* the mobile drawer is always a light sheet, but pages with a dark palette were
   inheriting a white --ink and rendering the links invisible */
aside.mnav{background:#F2F2F3 !important}
aside.mnav .brand,
aside.mnav .mnav-link,
aside.mnav .mnav-close,
aside.mnav .mprod-n,
aside.mnav .macc-top,
aside.mnav .chev{color:#0B1320 !important}
aside.mnav .mprod-d,
aside.mnav .mprod-k{color:#5A6472 !important}
aside.mnav .mnav-signin{color:#FFFFFF !important;background:#0B1320 !important}

@media(max-width:860px){
  /* the fixed theme/print cluster was sitting on top of the hamburger */
  .tools{display:none !important}
  /* the doc rail was rendering underneath the fixed header */
  nav.rail{padding-top:96px !important}
  /* the hero wordmark duplicated the header brand on a phone */  .wm{display:none !important}
  /* drawer wordmark was a sub-40px tap target */
  .mnav-head .brand{min-height:44px !important;display:flex !important;align-items:center !important}
}

@media(max-width:860px){
  nav .nav-in,
  header.nav .nav-in,
  .nav .nav-in,
  nav .nav-inner,
  header.nav .nav-inner,
  .nav .nav-inner{
    padding:0 20px !important;
  }
}
