
:root{--navy:#001f3f;--gray:#777;--white:#fff;--ink:#05080c;--panel:#0a0f15;--panel2:#0f161f;--line:#26313d;--text:#f5f7fa;--muted:#a4aab2;--focus:#cfd7df;--max:1480px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#05080c;color:var(--text);font:15px/1.62 "Segoe UI",Arial,sans-serif}a{color:inherit;text-decoration-color:#777;text-underline-offset:4px}a:hover{color:#fff;text-decoration-color:#fff}a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{outline:2px solid var(--focus);outline-offset:4px}.site-header{position:sticky;top:0;z-index:30;background:rgba(5,8,12,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.header-inner{max-width:var(--max);margin:auto;display:flex;align-items:center;gap:34px;padding:12px 24px}.brand-link{display:inline-flex;align-items:center;text-decoration:none;min-width:260px}.brand-link img{display:block;width:min(390px,34vw);height:auto}.header-mark{display:none;width:48px}.main-nav{margin-left:auto;display:flex;align-items:center;gap:25px;flex-wrap:wrap}.main-nav a{font-size:14px;color:#c7cbd0;text-decoration:none;white-space:nowrap;position:relative}.main-nav a:hover,.main-nav a[aria-current="page"]{color:#fff}.main-nav a:hover:after{content:attr(data-hint);position:absolute;right:0;top:30px;width:max-content;max-width:260px;padding:7px 9px;background:#0d141c;border:1px solid var(--line);color:#d7dbe0;font-size:12px;line-height:1.35;box-shadow:0 12px 32px #0008;z-index:50}.revision{color:#9ca3aa;font-size:12px;white-space:nowrap}.page-shell{max-width:var(--max);margin:auto;padding:0 24px}.hero{min-height:520px;display:grid;align-items:end;margin:24px 0 58px;border:1px solid var(--line);background-position:center;background-size:cover;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,8,12,.96),rgba(5,8,12,.68) 55%,rgba(5,8,12,.22)),linear-gradient(0deg,rgba(5,8,12,.7),transparent 55%)}.hero-content{position:relative;z-index:2;max-width:850px;padding:54px}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.18em;color:#b8bec5;margin:0 0 14px}.hero h1{font-size:clamp(38px,6vw,78px);line-height:1.02;letter-spacing:-.035em;margin:0 0 22px}.hero p{font-size:clamp(17px,2vw,22px);color:#d1d5da;max-width:760px}.text-link{display:inline-block;margin-top:16px;color:#fff;text-decoration:underline;text-decoration-color:#777;text-underline-offset:6px;font-weight:600}.section{margin:0 0 72px}.section-kicker{color:#a9afb6;text-transform:uppercase;letter-spacing:.16em;font-size:12px}.section h2{font-size:clamp(28px,4vw,48px);line-height:1.1;margin:8px 0 18px}.section-intro{max-width:900px;color:#b6bbc1;font-size:18px}.link-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-top:28px}.link-panel{background:var(--panel);padding:28px;min-height:190px;text-decoration:none;position:relative}.link-panel:hover{background:#0d141c}.link-panel h3{margin:0 0 10px;font-size:21px}.link-panel p{margin:0;color:#aeb4bb}.link-panel .learn{position:absolute;left:28px;bottom:24px;text-decoration:underline;text-decoration-color:#777}.split{display:grid;grid-template-columns:1.15fr .85fr;gap:44px;align-items:start}.content-card{border-top:1px solid var(--line);padding:26px 0}.content-card h3{margin:0 0 8px}.content-card p,.content-card li{color:#b3b8be}.photo-strip{display:grid;grid-template-columns:1.3fr .7fr;gap:12px}.photo{min-height:350px;background-position:center;background-size:cover;border:1px solid var(--line)}.photo.small{min-height:169px}.stack{display:grid;gap:12px}.legal-footer{border-top:1px solid var(--line);margin-top:70px;background:#070b10}.footer-inner{max-width:var(--max);margin:auto;padding:44px 24px}.footer-logo{width:min(420px,80vw);opacity:.9}.footer-columns{display:grid;grid-template-columns:1.2fr repeat(3,1fr);gap:34px;margin-top:34px}.footer-columns h4{margin:0 0 10px;font-size:13px;text-transform:uppercase;letter-spacing:.12em;color:#c6cbd0}.footer-columns p,.footer-columns a{font-size:12px;color:#969da5}.footer-columns a{display:block;margin:5px 0}.legal-copy{border-top:1px solid var(--line);margin-top:28px;padding-top:22px;font-size:11px;color:#838a92}.legal-copy p{margin:7px 0}.layout{max-width:var(--max);margin:auto;display:grid;grid-template-columns:270px 1fr;min-height:calc(100vh - 74px)}.sidebar{border-right:1px solid var(--line);padding:24px 16px;background:#070b10}.sidebar h3{font-size:11px;color:#9299a1;text-transform:uppercase;letter-spacing:.14em;margin:20px 10px 8px}.nav a{display:block;padding:8px 10px;color:#a9b0b7;text-decoration:none}.nav a:hover,.nav a.active{color:#fff;text-decoration:underline;text-decoration-color:#777}.main{padding:30px}.panel,.card,.login-card{background:var(--panel);border:1px solid var(--line)}.panel,.card{padding:24px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.card{text-decoration:none}.card:hover{background:#0d141c}.muted{color:var(--muted)}button,.btn{appearance:none;background:none;border:0;color:#fff;padding:0;font:inherit;font-weight:600;text-decoration:underline;text-decoration-color:#777;text-underline-offset:5px;cursor:pointer;border-radius:0}.btn:hover,button:hover{text-decoration-color:#fff}.input,.select,textarea{width:100%;padding:10px 0;border:0;border-bottom:1px solid var(--gray);background:transparent;color:var(--text);border-radius:0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.field label{display:block;color:var(--muted);font-size:12px;margin-bottom:5px}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:20px}.login-card{width:min(470px,94vw);padding:34px}.notice{padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:#b9bec4}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:11px;border-bottom:1px solid var(--line);text-align:left}.status{color:#9ba3ab;font-size:12px}.hidden{display:none!important}.sc-theme .hero:before{background:linear-gradient(90deg,rgba(5,8,12,.97),rgba(5,8,12,.75) 60%,rgba(5,8,12,.35))}.sc-theme .eyebrow{color:#aaa}.sc-note{border-left:2px solid #777;padding-left:18px;color:#aaa}
@media(max-width:1050px){.header-inner{gap:18px}.main-nav{gap:15px}.brand-link img{width:300px}.link-grid,.grid{grid-template-columns:repeat(2,1fr)}.footer-columns{grid-template-columns:repeat(2,1fr)}.layout{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--line)}}
@media(max-width:720px){.header-inner{align-items:flex-start;flex-wrap:wrap}.brand-link img{display:none}.header-mark{display:block}.main-nav{width:100%;margin:0;gap:14px 20px}.revision{position:absolute;right:18px;top:20px}.page-shell{padding:0 14px}.hero{min-height:470px;margin-top:14px}.hero-content{padding:30px 24px}.link-grid,.grid,.split,.photo-strip,.footer-columns,.form-grid{grid-template-columns:1fr}.main{padding:18px}.photo{min-height:260px}}


/* PIOC COLLAPSING PUBLIC HEADER START */

.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: rgba(7, 10, 14, 0.98);
  border-top: 3px solid #777777;
  border-bottom: 1px solid rgba(119, 119, 119, 0.38);
  backdrop-filter: blur(12px);
}

.site-header .header-inner {
  width: min(1680px, calc(100% - 40px));
  margin: 0 auto;
  padding: 24px 0 0;
  display: grid;
  grid-template-columns: minmax(300px, 430px) 1fr auto;
  grid-template-areas:
    "brand statement revision"
    "navigation navigation navigation";
  align-items: center;
  column-gap: 34px;
  transition:
    padding 220ms ease,
    grid-template-columns 220ms ease;
}

.site-header .brand-link {
  grid-area: brand;
  display: flex;
  align-items: center;
  min-width: 0;
}

.site-header .brand-link > img:first-child {
  display: block;
  width: min(100%, 420px);
  max-height: 104px;
  object-fit: contain;
  object-position: left center;
  transition:
    opacity 160ms ease,
    transform 220ms ease,
    max-height 220ms ease;
}

.site-header .header-mark {
  display: none;
  width: 44px;
  height: 44px;
  object-fit: contain;
}

.masthead-copy {
  grid-area: statement;
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
  opacity: 1;
  transform: translateY(0);
  transition:
    opacity 150ms ease,
    transform 220ms ease,
    max-height 220ms ease;
}

.masthead-company {
  color: #ffffff;
  font-size: clamp(1.05rem, 1.4vw, 1.55rem);
  font-weight: 700;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.masthead-statement {
  color: #d9dfe5;
  font-size: clamp(0.95rem, 1.15vw, 1.18rem);
  font-weight: 500;
}

.masthead-detail {
  color: #8f9aa5;
  font-size: 0.78rem;
  line-height: 1.5;
  letter-spacing: 0.035em;
}

.site-header .revision {
  grid-area: revision;
  align-self: start;
  color: #8f9aa5;
  font-size: 0.75rem;
  white-space: nowrap;
  padding-top: 8px;
}

.site-header .main-nav {
  grid-area: navigation;
  display: flex;
  align-items: center;
  gap: clamp(22px, 2.4vw, 44px);
  min-height: 58px;
  margin-top: 22px;
  padding: 0 4px;
  overflow-x: auto;
  white-space: nowrap;
  border-top: 1px solid rgba(119, 119, 119, 0.35);
  scrollbar-width: thin;
}

.site-header .main-nav a {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 58px;
  color: #dce3e9;
  text-decoration: none;
  border: 0;
  font-size: 0.92rem;
  letter-spacing: 0.015em;
  transition: color 150ms ease;
}

.site-header .main-nav a:hover,
.site-header .main-nav a:focus-visible,
.site-header .main-nav a[aria-current="page"] {
  color: #ffffff;
}

.site-header .main-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: 9px;
  height: 1px;
  background: #777777;
  transition: right 160ms ease;
}

.site-header .main-nav a:hover::after,
.site-header .main-nav a:focus-visible::after,
.site-header .main-nav a[aria-current="page"]::after {
  right: 0;
}

/* Collapsed state */

.site-header.is-collapsed .header-inner {
  min-height: 58px;
  padding-top: 0;
  grid-template-columns: 52px minmax(0, 1fr);
  grid-template-areas: "brand navigation";
  column-gap: 18px;
}

.site-header.is-collapsed .brand-link > img:first-child {
  display: none;
}

.site-header.is-collapsed .header-mark {
  display: block;
}

.site-header.is-collapsed .masthead-copy,
.site-header.is-collapsed .revision {
  display: none;
}

.site-header.is-collapsed .main-nav {
  min-height: 58px;
  margin-top: 0;
  border-top: 0;
}

.site-header.is-collapsed .main-nav a {
  min-height: 58px;
}

/* Content remains beneath the sticky header */

.page-shell {
  position: relative;
}

/* Tablet */

@media (max-width: 1050px) {
  .site-header .header-inner {
    grid-template-columns: minmax(250px, 340px) 1fr;
    grid-template-areas:
      "brand statement"
      "navigation navigation";
  }

  .site-header .revision {
    display: none;
  }

  .masthead-detail {
    display: none;
  }
}

/* Mobile */

@media (max-width: 720px) {
  .site-header .header-inner {
    width: min(100% - 24px, 1680px);
    padding-top: 15px;
    grid-template-columns: minmax(180px, 270px) 1fr;
    grid-template-areas:
      "brand statement"
      "navigation navigation";
    column-gap: 14px;
  }

  .site-header .brand-link > img:first-child {
    max-height: 72px;
  }

  .masthead-company {
    font-size: 0.88rem;
  }

  .masthead-statement {
    font-size: 0.78rem;
    line-height: 1.35;
  }

  .masthead-detail {
    display: none;
  }

  .site-header .main-nav {
    gap: 24px;
    min-height: 52px;
    margin-top: 14px;
  }

  .site-header .main-nav a {
    min-height: 52px;
    font-size: 0.84rem;
  }

  .site-header.is-collapsed .header-inner {
    width: calc(100% - 20px);
    grid-template-columns: 42px minmax(0, 1fr);
    column-gap: 10px;
  }

  .site-header.is-collapsed .header-mark {
    width: 38px;
    height: 38px;
  }
}

/* PIOC COLLAPSING PUBLIC HEADER END */


/* PIOC HEADER MOTION FIX START */

.site-header {
  position: fixed !important;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  will-change: transform;
}

.site-header-spacer {
  display: block;
  width: 100%;
  height: var(--expanded-header-height, 190px);
  pointer-events: none;
}

/* Prevent layout movement during collapse */
.site-header .header-inner,
.site-header .brand-link > img:first-child,
.site-header .masthead-copy,
.site-header .main-nav {
  will-change: transform, opacity;
}

/* Replace the previous underline animation */
.site-header .main-nav a {
  border-bottom: 0 !important;
}

.site-header .main-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 9px;
  height: 1px;
  background: #777777;
  opacity: 0;
  transform: scaleX(0);
  transform-origin: center;
  transition:
    transform 170ms ease,
    opacity 120ms ease;
}

.site-header .main-nav a:hover::after,
.site-header .main-nav a:focus-visible::after,
.site-header .main-nav a[aria-current="page"]::after {
  opacity: 1;
  transform: scaleX(1);
}

/* PIOC HEADER MOTION FIX END */

/* REMOVE HEADER LINK HOVER BLOCK START */

.site-header .main-nav a::before {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Keep only the clean underline */
.site-header .main-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 8px;
  width: 100%;
  height: 1px;
  background: #777777;
  opacity: 0;
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 170ms ease, opacity 120ms ease;
}

.site-header .main-nav a:hover::after,
.site-header .main-nav a:focus-visible::after,
.site-header .main-nav a[aria-current="page"]::after {
  opacity: 1;
  transform: scaleX(1);
}

/* REMOVE HEADER LINK HOVER BLOCK END */

/* HEADER LINK FINAL FIX START */

.site-header .main-nav {
  overflow-x: visible !important;
  scrollbar-width: none !important;
}

.site-header .main-nav::-webkit-scrollbar {
  display: none !important;
}

/* Remove all old tooltip and underline pseudo-elements */
.site-header .main-nav a::before,
.site-header .main-nav a::after {
  content: none !important;
  display: none !important;
}

/* Clean underline using background only */
.site-header .main-nav a {
  position: relative;
  border: 0 !important;
  box-shadow: none !important;
  background-image: linear-gradient(#777777, #777777);
  background-repeat: no-repeat;
  background-position: center calc(100% - 8px);
  background-size: 0 1px;
  transition:
    color 150ms ease,
    background-size 170ms ease;
}

.site-header .main-nav a:hover,
.site-header .main-nav a:focus-visible,
.site-header .main-nav a[aria-current="page"] {
  color: #ffffff;
  background-size: 100% 1px;
}

/* Keep horizontal scrolling only on small screens */
@media (max-width: 900px) {
  .site-header .main-nav {
    overflow-x: auto !important;
    scrollbar-width: none !important;
  }

  .site-header .main-nav::-webkit-scrollbar {
    display: none !important;
  }
}

/* HEADER LINK FINAL FIX END */

/* PUBLIC SITE CONTRAST TUNING START */

:root {
  --site-black: #0d1117;
  --site-panel: #131a22;
  --site-panel-alt: #18212b;
  --site-border: #33404d;
  --site-text: #f4f6f8;
  --site-muted: #b7c0c8;
  --site-navy-bright: #0b4f8a;
}

html,
body {
  background: var(--site-black) !important;
  color: var(--site-text) !important;
}

.page-shell {
  background: var(--site-black) !important;
}

.section,
.content-card,
.link-panel {
  background-color: var(--site-panel) !important;
  border-color: var(--site-border) !important;
}

.link-panel:hover,
.content-card:hover {
  background-color: var(--site-panel-alt) !important;
}

.section-intro,
.link-panel p,
.content-card p,
.legal-copy,
.footer-columns p {
  color: var(--site-muted) !important;
}

.site-header {
  background: rgba(13, 17, 23, 0.98) !important;
}

.legal-footer {
  background: #0b0f14 !important;
  border-top-color: var(--site-border) !important;
}

/* PUBLIC SITE CONTRAST TUNING END */


/* CONTROLLED REVISION STACK FINAL START */

.site-brand-stack {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  gap: 2px !important;
}

.site-brand-stack .brand-link {
  display: inline-flex !important;
  align-items: center !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  flex: 0 0 auto !important;
}

.site-brand-stack .site-revision {
  display: block !important;
  position: static !important;

  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;

  margin: 1px 0 0 0 !important;
  padding: 0 !important;

  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;

  font-size: 9px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.025em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;

  white-space: nowrap !important;
  overflow: visible !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;

  flex: 0 0 auto !important;
}

/* Precision public site: Development yellow. */

.site-brand-stack .pi-revision-text {
  color: #f1ce7f !important;
  -webkit-text-fill-color: #f1ce7f !important;
}

/* Shit Creek site: Development yellow. */

.site-brand-stack .sc-revision-text,
.sc-brand-stack .sc-revision-text,
.topbar .sc-revision-text,
.sc-theme .sc-revision-text {
  color: #f1ce7f !important;
  -webkit-text-fill-color: #f1ce7f !important;
}

/* Prevent inherited white link or status colors. */

.site-brand-stack .site-revision:hover,
.site-brand-stack .site-revision:focus,
.site-brand-stack .site-revision:visited {
  color: #f1ce7f !important;
  -webkit-text-fill-color: #f1ce7f !important;
  text-decoration: none !important;
}

/* Legacy Shit Creek headers. */

.topbar .brand {
  display: flex !important;
  align-items: flex-start !important;
  flex-wrap: nowrap !important;
  width: auto !important;
  min-width: 0 !important;
}

.topbar-inner {
  display: flex !important;
  align-items: flex-start !important;
  flex-wrap: nowrap !important;
}

/* Override old mobile rule that positioned revisions at upper right. */

.site-header .revision,
.site-header .site-revision,
.topbar .site-revision {
  position: static !important;
  top: auto !important;
  right: auto !important;
  left: auto !important;
  width: auto !important;
}

@media (max-width: 720px) {
  .site-brand-stack {
    width: auto !important;
    max-width: 100% !important;
    overflow: visible !important;
  }

  .site-brand-stack .brand-link img {
    width: min(250px, 65vw) !important;
    max-width: 250px !important;
    height: auto !important;
  }

  .site-brand-stack .site-revision {
    font-size: 7px !important;
    letter-spacing: 0.01em !important;
    white-space: nowrap !important;
  }
}

/* CONTROLLED REVISION STACK FINAL END */
