* { box-sizing: border-box; }
html { font-size: 100%; }
body {
  margin: 0;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1em;
  line-height: 1.55;
  color: #17202a;
  background: #000;
  --main-color: #545454;
  --h1-color: #fff;
  --h2-color: #0b6e9f;
  --h3-color: #010d47;
  --h4-color: #6ac49c;
  --h5-color: #c46f6a;
}
a { color: inherit; }
img {
	max-width: 100%;
	display: block;
	text-align: center;
}
.skip-link { position:absolute; left:-999px; top:auto; width:1px; height:1px; overflow:hidden; }
.skip-link:focus { position:fixed; left:1em; top:1em; z-index:999; width:auto; height:auto; padding:.75em 1em; background:#fff; color:#000; border:.125em solid #000; }
.site-shell { width:min(100%, 1200px); margin:0 auto; background:#fff; min-height:100vh; box-shadow:0 0 3em rgba(255,255,255,.12); }
.header-media { background:#fff; }
.header-element { width:100%; height:auto; object-fit:cover; background:#f3f5f7; }
.visual-hero { display:grid; grid-template-columns:minmax(320px, 400px) 1fr; gap:.5em; align-items:start; padding:.5em; }
.h1-color-block { width:400px; height:400px; max-width:100%; background:var(--main-color, var(--h2-color, #545454)); color:var(--h1-color, #fff); padding:2em; display:flex; flex-direction:column; justify-content:center; position:relative; overflow:hidden; }
.h1-color-block::after { content:""; position:absolute; inset:auto -3em -3em auto; width:10em; height:10em; border-radius:50%; background:rgba(255,255,255,.13); }
h1 { margin:0 0 .7em; font-size:2.25em; line-height:1.05; color:inherit; }
.hero-media { display:grid; align-items:stretch; height:400px; min-height:0; background:#eef2f5; }
.page-image { width:100%; height:100%; min-height:0; object-fit:cover; }
.color-bar { width:100%; min-height:1.25em; object-fit:cover; background:linear-gradient(90deg, var(--main-color, var(--h2-color)), var(--h2-color), var(--h3-color)); }
.site-nav { background:#0b1433; color:#fff; border-top:.25em solid var(--main-color, var(--h2-color)); border-bottom:.25em solid var(--h3-color, #010d47); }
.site-nav ul { list-style:none; margin:0; padding:0; }
.site-nav > ul, .site-nav #primary-menu { display:flex; flex-wrap:wrap; align-items:center; gap:.45em; padding:.55em; }
.site-nav li { position:relative; }
.site-nav a, .menu-toggle { display:block; padding:1em .85em; color:#fff; text-decoration:none; font-size:.9em; font-weight:700; background:transparent; border:0; font-family:Arial, Helvetica, sans-serif; cursor:pointer; }
.site-nav #primary-menu > li > a, .site-nav #primary-menu > li > .menu-toggle { margin:0; background:#16234a; border:.0625em solid rgba(255,255,255,.28); border-radius:.25em; box-shadow:inset 0 .0625em 0 rgba(255,255,255,.12); }
.site-nav a:hover, .site-nav a:focus, .menu-toggle:hover, .menu-toggle:focus, .site-nav #primary-menu > li > a:hover, .site-nav #primary-menu > li > a:focus { background:#22315f; border-color:rgba(255,255,255,.55); }
.nav-cta, .site-nav #primary-menu > li > a.nav-cta { background:var(--main-color, var(--h2-color, #0b6e9f)); border-color:rgba(255,255,255,.55); }
.dropdown { display:none; position:absolute; z-index:20; top:100%; left:0; min-width:17em; background:#fff; color:#0b1433; box-shadow:0 .8em 2em rgba(0,0,0,.22); border-top:.25em solid var(--h3-color, #010d47); }
.dropdown a { color:#0b1433; padding:.8em 1em; font-weight:600; background:#fff; }
.dropdown a:hover, .dropdown a:focus { background:#eef2f5; }
.has-dropdown:hover .dropdown, .has-dropdown:focus-within .dropdown { display:block; }
.menu-toggle { display:none; width:100%; text-align:left; }
.breadcrumbs { padding:.8em 1.5em; font-size:.86em; background:#f5f7f9; color:#334155; border-bottom:.0625em solid #d9e2ea; }
.breadcrumbs ol { display:flex; flex-wrap:wrap; gap:.5em; margin:0; padding:0; list-style:none; }
.breadcrumbs li + li::before { content:"/"; margin-right:.5em; color:#64748b; }
.breadcrumbs a { color:var(--h2-color, #0b6e9f); text-decoration:none; font-weight:700; }
.main-content { padding:1.5em; }
.intro-panel, .content-section, .final-cta { margin:0 0 1.5em; padding:2em; background:#fff; border:.0625em solid #d7dee7; }
.intro-panel { display:grid; grid-template-columns:1fr; gap:1.5em; background:#f7fbfc; border-left:.5em solid var(--h2-color, #0b6e9f); }
h2 {
	margin: 0 0 .55em;
	color: #57427A;
	font-size: 1.75em;
	line-height: 1.18;
}
h3 { margin:0 0 .45em; color:var(--h3-color, #010d47); font-size:1.15em; line-height:1.25; }
p { margin:0 0 1em; }
ul { margin:.5em 0 0; padding-left:1.25em; }
li { margin:.35em 0; }
.section-warning { background:#fff8e6; border-color:#ead59a; border-left:.5em solid var(--h5-color, #c46f6a); }
.related-grid { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:1em; }
.related-card, .resource-reference, .service-card { padding:1em; background:#fff; border:.0625em solid #d7dee7; border-top:.25em solid var(--h4-color, #6ac49c); }
.related-card a { color:var(--h2-color, #0b6e9f); font-weight:700; text-decoration:none; }
.service-card-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(17em, 1fr)); gap:1em; }
.resource-reference-list { display:grid; grid-template-columns:repeat(auto-fit, minmax(18em, 1fr)); gap:1em; }
.final-cta { display:grid; grid-template-columns:minmax(0, 1fr) auto; align-items:center; gap:1.5em; background:#0b1433; color:#fff; border:0; }
.final-cta h2 { color:#fff; }
.button-primary, .download-button { display:inline-block; padding:.9em 1.1em; background:var(--h2-color, #0b6e9f); color:#fff!important; text-decoration:none; font-weight:700; border:.125em solid rgba(255,255,255,.35); border-radius:.15em; line-height:1.1; }
.download-button { background:#777; padding:.42em .82em; }
.download-button:hover { background:#666; }
.interest-element { width:calc(100% + 3em); margin:1.5em -1.5em 0; background:transparent; border:0; padding:0; }
.interest-element img { width:100%; max-width:none; height:auto; }
.color-bar-repeat { width:calc(100% + 3em); max-width:none; margin:1.5em -1.5em 0; }
.content-table { width:100%; border-collapse:collapse; margin:1em 0; background:#fff; }
.content-table th, .content-table td { border:.0625em solid #6D635A; padding:.65em .75em; text-align:left; vertical-align:top; }
.content-table thead th { background:#ece8e1; color:#2b2b2b; }
.context-figure { margin:1.15em 0; background:transparent; border:0; padding:0; }
.context-figure img { display:block; max-width:100%; height:auto; margin:.35em auto .45em auto; }
.context-figure.fig-lg img, .context-figure figcaption { max-width:58em; }
.context-figure figcaption { margin:0 auto; color:#3a3a3a; font-size:.92em; line-height:1.35; }
.decision-note { background:#ece8e1; border-left:.35em solid #4C0D18; padding:1em; margin:1em 0; }
.publication-card { display:flex; flex-direction:column; min-height:100%; }
.publication-card .card-action { margin-top:auto; text-align:left; }
.site-footer { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:1.5em; padding:2em 1.5em; background:#111827; color:#e5e7eb; font-size:.9em; }
.site-footer a { color:#fff; }
@media (max-width: 900px) {
  .visual-hero, .intro-panel, .final-cta, .site-footer { grid-template-columns:1fr; }
  .h1-color-block { width:100%; height:auto; min-height:20em; }
  .hero-media, .page-image { min-height:18em; }
  .related-grid { grid-template-columns:1fr 1fr; }
  .menu-toggle { display:block; }
  .site-nav #primary-menu { display:none; flex-direction:column; align-items:stretch; gap:.35em; padding:.65em; }
  .site-nav.is-open #primary-menu { display:flex; }
  .dropdown { position:static; display:block; min-width:0; box-shadow:none; border-top:0; }
  .dropdown a { padding-left:2em; }
}
@media (max-width: 560px) {
  body { font-size:.95em; }
  .visual-hero { padding:.5em; }
  .main-content { padding:1em; }
  .intro-panel, .content-section, .final-cta { padding:1.25em; }
  h1 { font-size:1.8em; }
  h2 { font-size:1.35em; }
  .related-grid { grid-template-columns:1fr; }
  .interest-element, .color-bar-repeat { width:calc(100% + 2em); margin-left:-1em; margin-right:-1em; }
}

/* Search box restoration: align with logo and use logo blue button. */
.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.header-media {
  position: relative;
  background: #fff;
}
.site-search {
  position: absolute;
  top: 50%;
  right: 2rem;
  z-index: 10;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  width: min(21rem, calc(100% - 4rem));
  margin: 0;
  padding: 0;
  background: #fff;
  border: 1px solid #0b6e9f;
  border-radius: 0;
  box-shadow: none;
  overflow: hidden;
}
.site-search input[type="search"] {
  flex: 1 1 auto;
  min-width: 0;
  width: auto;
  height: 2.2rem;
  margin: 0;
  padding: 0 .7rem;
  border: 0;
  border-radius: 0;
  background: #fff;
  color: #17202a;
  font: inherit;
  font-size: .9rem;
  line-height: 1.2;
  appearance: none;
}
.site-search input[type="search"]:focus {
  outline: 2px solid #0b6e9f;
  outline-offset: -2px;
}
.site-search button {
  flex: 0 0 auto;
  height: 2.2rem;
  margin: 0;
  padding: 0 .9rem;
  border: 0;
  border-radius: 0;
  background: #0b6e9f;
  color: #fff;
  font: inherit;
  font-size: .9rem;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
}
.site-search button:hover,
.site-search button:focus {
  background: #095f89;
}
@media (max-width: 700px) {
  .header-media {
    padding-bottom: 1rem;
  }

  .site-search {
    position: relative;
    top: auto;
    right: auto;
    bottom: auto;
    transform: none;
    width: calc(100% - 2rem);
    margin: .35rem 1rem 0;
  }
}

/* Requested final corrections: search color, title color, and CTA layout. */
.h1-color-block #page-title,
.h1-color-block .page-subtitle,
#page-title,
.page-subtitle {
  color: #FFFFFF !important;
}
.site-search {
  border-color: #577F9D !important;
}
.site-search input[type="search"]:focus {
  outline-color: #577F9D !important;
}
.site-search button {
  background: #577F9D !important;
  color: #FFFFFF !important;
}
.site-search button:hover,
.site-search button:focus {
  background: #4c708a !important;
}
.final-cta {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(10rem, 15rem) !important;
  align-items: center !important;
  gap: 1.5em !important;
}
.final-cta .consultation-intro {
  display: contents !important;
}
.final-cta .consultation-text,
.final-cta .consultation-copy {
  grid-column: 1 !important;
  grid-row: 1 !important;
  text-align: left !important;
}
.final-cta .button-primary {
  grid-column: 1 !important;
  grid-row: 2 !important;
  justify-self: start !important;
  align-self: start !important;
}
.final-cta .consultation-graphic {
  grid-column: 2 !important;
  grid-row: 1 / span 2 !important;
  justify-self: end !important;
  align-self: center !important;
  width: min(220px, 100%) !important;
  max-width: 220px !important;
  height: auto !important;
  margin: 0 !important;
  object-fit: contain !important;
}
@media (max-width: 900px) {
  .final-cta {
    grid-template-columns: 1fr !important;
  }
  .final-cta .consultation-text,
  .final-cta .consultation-copy,
  .final-cta .button-primary,
  .final-cta .consultation-graphic {
    grid-column: 1 !important;
  }
  .final-cta .consultation-text,
  .final-cta .consultation-copy { grid-row: 1 !important; }
  .final-cta .button-primary { grid-row: 2 !important; }
  .final-cta .consultation-graphic {
    grid-row: 3 !important;
    justify-self: start !important;
  }
}


/* Final requested corrections: search logo blue and white hero title/subtitle. */
.site-search {
  border-color: #577F9D !important;
}
.site-search input[type="search"]:focus {
  outline-color: #577F9D !important;
}
.site-search button {
  background: #577F9D !important;
  color: #FFFFFF !important;
}
.site-search button:hover,
.site-search button:focus {
  background: #4c708a !important;
}
.h1-color-block,
.h1-color-block #page-title,
.h1-color-block .page-subtitle,
.visual-hero #page-title,
.visual-hero .page-subtitle,
#page-title,
.page-subtitle {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}

/* Final correction: CTA image left, 150x150; preserve publications graphic sections. */
.final-cta {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 1.5em !important;
}
.final-cta .consultation-intro {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 1.25em !important;
  margin: 0 !important;
  text-align: left !important;
}
.final-cta .consultation-graphic {
  order: 0 !important;
  flex: 0 0 150px !important;
  width: 150px !important;
  max-width: 150px !important;
  height: 150px !important;
  max-height: 150px !important;
  object-fit: contain !important;
  margin: 0 !important;
  justify-self: auto !important;
  align-self: center !important;
  grid-column: auto !important;
  grid-row: auto !important;
}
.final-cta .consultation-text,
.final-cta .consultation-copy {
  order: 1 !important;
  grid-column: auto !important;
  grid-row: auto !important;
  text-align: left !important;
  margin: 0 !important;
}
.final-cta .button-primary {
  grid-column: 2 !important;
  grid-row: 1 !important;
  justify-self: end !important;
  align-self: center !important;
}
.examples-publications-cta,
.examples-publications-cta .consultation-intro {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
}
.examples-publications-cta .consultation-graphic {
  flex: 0 0 150px !important;
  width: 150px !important;
  height: 150px !important;
  max-width: 150px !important;
  max-height: 150px !important;
}
@media (max-width: 900px) {
  .final-cta {
    grid-template-columns: 1fr !important;
  }
  .final-cta .consultation-intro,
  .final-cta .button-primary,
  .examples-publications-cta {
    grid-column: 1 !important;
    grid-row: auto !important;
  }
  .final-cta .button-primary {
    justify-self: start !important;
  }
}


/* Focused correction: CTA image left at 150x150; search color and hero title/subtitle remain requested values. */
.site-search { border-color: #577F9D !important; }
.site-search input[type="search"]:focus { outline-color: #577F9D !important; }
.site-search button { background: #577F9D !important; color: #FFFFFF !important; }
.site-search button:hover, .site-search button:focus { background: #4c708a !important; }
.h1-color-block #page-title, .h1-color-block .page-subtitle, .visual-hero #page-title, .visual-hero .page-subtitle, #page-title, .page-subtitle {
	color: #00B3CB !important;
	-webkit-text-fill-color: #FFFFFF !important;
}
.final-cta { width: 100% !important; display: grid !important; grid-template-columns: minmax(0, 1fr) auto !important; align-items: center !important; gap: 1.5em !important; }
.final-cta .consultation-intro { display: flex !important; align-items: center !important; justify-content: flex-start !important; gap: 1.25em !important; margin: 0 !important; text-align: left !important; }
.final-cta .consultation-graphic { order: 0 !important; flex: 0 0 150px !important; width: 150px !important; max-width: 150px !important; height: 150px !important; max-height: 150px !important; object-fit: contain !important; margin: 0 !important; }
.final-cta .consultation-text, .final-cta .consultation-copy { order: 1 !important; text-align: left !important; margin: 0 !important; }
.final-cta .button-primary { grid-column: 2 !important; grid-row: 1 !important; justify-self: end !important; align-self: center !important; }
@media (max-width: 900px) { .final-cta { grid-template-columns: 1fr !important; } .final-cta .button-primary { grid-column: 1 !important; grid-row: auto !important; justify-self: start !important; } }


/* Focused header/color-bar correction for information hub, analytical capabilities hub, and analytical techniques pages. */
header.page-top .visual-hero {
  margin-bottom: 0 !important;
  padding-bottom: .5em !important;
}
header.page-top > .color-bar {
  display: block !important;
  width: 100% !important;
  min-height: 1.25em !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: cover !important;
  background: var(--h2-color, #0b6e9f) !important;
}
.site-nav {
  border-bottom-color: var(--h2-color, #0b6e9f) !important;
}

/* Static-site finalized News and Publications seamless background/color correction. Scoped to only these two pages. */
body.news-page {
  --h1-color: #CE6A00;
  --h2-color: #CE6A00;
  --h3-color: #1B5FAD;
  --h4-color: #613941;
  --h5-color: #395561;
}
body.publications-page {
  --h1-color: #6988B0;
  --h2-color: #6988B0;
  --h3-color: #175372;
  --h4-color: #741B37;
  --h5-color: #1B6374;
}
body.news-page header.page-top > .color-bar,
body.publications-page header.page-top > .color-bar,
body.news-page .site-nav,
body.publications-page .site-nav {
  border-color: var(--h2-color) !important;
}
body.news-page header.page-top > .color-bar,
body.publications-page header.page-top > .color-bar {
  background-color: var(--h2-color) !important;
}
body.news-page .content-section,
body.publications-page .content-section {
  background-color: #FFFFFF;
}
body.news-page .info-card-stack,
body.publications-page .info-card-stack {
  display: grid;
  gap: 1em;
  margin-top: 1em;
}
body.news-page .info-collapse-card,
body.publications-page .info-collapse-card {
  border: .0625em solid #d7dee7;
  border-left: .45em solid var(--h2-color);
  box-shadow: 0 .15em .55em rgba(0,0,0,.08);
  overflow: hidden;
}
body.news-page .newsprint-card {
  background-color: #FFFFFF;
  background-image: linear-gradient(rgba(255,255,255,.86), rgba(255,255,255,.86)), url('/images/background-images/newsprint_seamless.png');
  background-repeat: repeat;
  background-size: auto;
}
body.publications-page .publication-card {
  background-color: #FFFFFF;
  background-image: linear-gradient(rgba(255,255,255,.90), rgba(255,255,255,.90)), url('/images/background-images/whitepaper.gif');
  background-repeat: repeat;
  background-size: auto;
}
body.news-page .info-collapse-card summary,
body.publications-page .info-collapse-card summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1em;
  padding: 1em 1.1em;
  cursor: pointer;
  color: #17202a;
  background: rgba(255,255,255,.94);
}
body.news-page .entry-heading,
body.publications-page .entry-heading {
  display: grid;
  gap: .25em;
  min-width: 0;
}
body.news-page .entry-date,
body.publications-page .entry-type-date {
  color: var(--h2-color);
  font-size: .86em;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
}
body.news-page .entry-title,
body.publications-page .entry-title {
  color: #17202a;
  font-size: 1.05em;
  line-height: 1.25;
}
body.publications-page .entry-authors {
  color: #4b5563;
  font-size: .92em;
  line-height: 1.35;
}
body.news-page .faq-arrow,
body.publications-page .faq-arrow {
  flex: 0 0 auto;
  color: var(--h2-color);
  font-weight: 700;
}
body.news-page .info-card-body,
body.publications-page .info-card-body {
  padding: 0 1.1em 1.15em;
  background: rgba(255,255,255,.96);
}
body.news-page .info-card-body p,
body.publications-page .info-card-body p {
  margin: 0 0 .85em;
}
body.news-page .info-card-body p:last-child,
body.publications-page .info-card-body p:last-child {
  margin-bottom: 0;
}
body.publications-page .publication-download-row {
  margin-top: 1em;
}
body.publications-page .download-button,
body.publications-page .publication-download-button {
  display: inline-block;
  padding: .75em 1em;
  background: var(--h2-color);
  color: #FFFFFF;
  text-decoration: none;
  font-weight: 700;
  border: .125em solid rgba(0,0,0,.1);
}


/* Approved Common Questions formatting */
.faq-section .faq-item,
.faq-list details,
section[aria-labelledby="common-questions-heading"] details,
section[aria-labelledby="faq-heading"] details {
  background: #fff;
  border: .0625em solid #6D635A;
  border-radius: .15em;
  padding: 0;
  margin: .85em 0;
}
.faq-section .faq-item summary,
.faq-list details summary,
section[aria-labelledby="common-questions-heading"] details summary,
section[aria-labelledby="faq-heading"] details summary {
  cursor: pointer;
  font-weight: 700;
  padding: .85em 1em;
  color: #2b2b2b;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1em;
}
.faq-section .faq-item[open] summary,
.faq-list details[open] summary,
section[aria-labelledby="common-questions-heading"] details[open] summary,
section[aria-labelledby="faq-heading"] details[open] summary {
  border-bottom: .0625em solid #6D635A;
}
.faq-section .faq-item p,
.faq-list details p,
section[aria-labelledby="common-questions-heading"] details p,
section[aria-labelledby="faq-heading"] details p {
  margin: 0;
  padding: 1em;
  line-height: 1.5;
}
.faq-section h2,
section[aria-labelledby="common-questions-heading"] > h2,
section[aria-labelledby="faq-heading"] > h2 {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.faq-heading-icon {
  width: 150px;
  height: 150px;
  flex: 0 0 150px;
  object-fit: contain;
}
.faq-section h2 > span > .faq-heading-icon {
  display: none !important;
}
@media (max-width: 560px) {
  .faq-heading-icon {
    width: 96px;
    height: 96px;
    flex-basis: 96px;
  }
}

/* Approved mobile overflow fixes: scale content imagery and contain tables. */
@media (max-width: 700px) {
  main,
  main > *,
  main .content-section,
  main .context-figure {
    min-width: 0;
  }

  main img:not(.color-bar):not(.color-bar-repeat) {
    max-width: 100% !important;
    height: auto !important;
  }

  main .interest-element,
  main .color-bar-repeat {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
  }

  main table {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-inline: contain;
  }

  main table[style*="position:absolute"] {
    left: 50% !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  main .long-reference-url {
    overflow-wrap: anywhere;
    word-break: break-word;
  }
}

@media (max-width: 380px) {
  main .case-studies-heading-icon {
    width: 80px !important;
    height: 80px !important;
    max-width: 80px !important;
    flex: 0 0 80px !important;
  }
}
