@font-face {
  font-family:Exo;
  src:url('../fonts/exo-bold.woff2') format('woff2');
  font-style:normal;
  font-weight:700;
  font-display:swap
}
@font-face {
  font-family:'Open Sans';
  src:url('../fonts/open-sans.woff2') format('woff2');
  font-style:normal;
  font-weight:400;
  font-display:swap
}
:root {
  color-scheme:dark;
  --navy:#031322;
  --navy-deep:#020d19;
  --panel:#061b2d;
  --blue:#279bff;
  --ice:#b6d7fa;
  --muted:#a8bdd1;
  --line:rgba(102,172,233,.22);
  --white:#f4f8ff;
  --primary-navigation-gap:28px;
  --primary-navigation-font-size:14px;
  --primary-navigation-font-weight:600;
  --max:1536px
}
* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:108px
}
body {
  margin:0;
  background:var(--navy);
  color:var(--white);
  font-family:'Open Sans',Arial,sans-serif;
  font-size:15px;
  line-height:1.6
}
a {
  color:inherit;
  text-decoration:none
}
button,input,summary {
  font:inherit
}
button,a,summary {
  -webkit-tap-highlight-color:transparent
}
button {
  cursor:pointer
}
img {
  max-width:100%;
  display:block
}
h1,h2,h3,p {
  margin:0
}
h1,h2,h3 {
  line-height:1.2
}
button {
  color:inherit
}
a,button,summary,input {
  outline-offset:5px
}
:focus-visible {
  outline:2px solid #75c7ff
}
[hidden] {
  display:none!important
}
::selection {
  background:#1786ce;
  color:white
}
section,article {
  scroll-margin-top:110px
}
.skip-link {
  position:fixed;
  left:20px;
  top:-80px;
  padding:12px 20px;
  background:#fff;
  color:#06203a;
  z-index:200
}
.skip-link:focus {
  top:12px
}
.site-header {
  position:relative;
  z-index:30;
  background:linear-gradient(110deg,#020c19 20%,#041c35 100%);
  border-bottom:1px solid #1f679c
}
.header-inner {
  min-height:96px;
  padding:13px 36px 12px;
  display:flex;
  align-items:center;
  gap:36px
}
.brand {
  display:flex;
  align-items:center;
  gap:12px;
  flex-shrink:0
}
.brand>img {
  width:85px;
  height:64px
}
.brand-type {
  display:flex;
  flex-direction:column;
  line-height:1.03;
  white-space:nowrap
}
.brand-type>strong {
  font-family:Arial,sans-serif;
  font-size:26px;
  font-weight:800;
  letter-spacing:-.7px
}
.brand-type>span {
  font-family:Arial,sans-serif;
  font-size:24px;
  letter-spacing:4px;
  font-weight:400;
  color:#d0e3ff
}
.brand-type small {
  font-family:Arial,sans-serif;
  font-size:7.5px;
  letter-spacing:.5px;
  margin-top:8px
}
.brand-type small b {
  color:#86c8fc;
  font-weight:400
}
.header-right {
  flex:1;
  min-width:0;
  align-self:stretch;
  display:flex;
  flex-direction:column;
  justify-content:space-between
}
.audience-line {
  font-size:10px;
  color:#bcd0e4;
  text-align:right;
  margin:0 0 11px
}
.audience-line span {
  padding:0 3px;
  color:#5d82a6
}
.navigation-row {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:21px
}
.primary-navigation {
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex:1;
  gap:20px;
  font-size:12px;
  font-weight:600;
  white-space:nowrap
}
.primary-navigation>a,.nav-dropdown>summary {
  position:relative;
  padding:10px 0
}
.primary-navigation>a::after,.nav-dropdown>summary::before {
  content:'';
  position:absolute;
  bottom:1px;
  left:0;
  width:0;
  height:2px;
  background:#9ddcff;
  transition:width .2s
}
.primary-navigation>a:hover::after,.primary-navigation>a[aria-current]::after,.nav-dropdown[open]>summary::before {
  width:100%
}
.nav-dropdown:has(a[aria-current="page"]) > summary::before {
  width: 100%;
}
.nav-dropdown {
  position:relative
}
.nav-dropdown summary {
  list-style:none;
  cursor:pointer
}
.nav-dropdown summary::-webkit-details-marker {
  display:none
}
.nav-dropdown summary::after {
  content:'';
  display:inline-block;
  vertical-align:3px;
  width:5px;
  height:5px;
  border-right:1px solid currentColor;
  border-bottom:1px solid currentColor;
  transform:rotate(45deg);
  margin-left:8px;
  transition:transform .2s
}
.nav-dropdown[open] summary::after {
  transform:translateY(3px) rotate(225deg)
}
.dropdown-panel {
  position:absolute;
  top:calc(100% + 10px);
  left:-20px;
  min-width:255px;
  padding:12px;
  background:#061b2e;
  border:1px solid #2c618d;
  box-shadow:0 18px 40px #0009;
  border-radius:3px;
  white-space:normal
}
.dropdown-panel a {
  display:block;
  padding:11px 12px;
  border-radius:2px;
  font-size:12px;
  line-height:1.45;
  color:#d1e5f7
}
.dropdown-panel a:hover,.dropdown-panel a:focus-visible {
  background:#103352;
  color:white
}
.dropdown-eyebrow {
  display:block;
  font-size:9px;
  letter-spacing:1.7px;
  color:#6ebdff;
  padding:8px 12px 12px
}
.wide-panel {
  min-width:305px
}
.primary-navigation>.nav-dropdown:last-child .dropdown-panel {
  left:auto;
  right:0
}
.icon-button {
  background:none;
  border:0;
  display:inline-flex;
  justify-content:center;
  align-items:center;
  min-width:34px;
  min-height:40px;
  padding:5px
}
.icon-button:hover {
  color:#65b9ff
}
.header-contact {
  min-height:37px!important;
  padding:8px 25px!important;
  flex-shrink:0;
  font-size:11px!important
}
.button {
  display:inline-flex;
  justify-content:center;
  align-items:center;
  gap:22px;
  min-height:47px;
  padding:13px 23px;
  font-size:11px;
  line-height:1.35;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.3px;
  border:1px solid transparent;
  border-radius:3px;
  transition:background .2s,border-color .2s,box-shadow .2s
}
.button span {
  font-family:Arial,sans-serif;
  font-size:23px;
  line-height:16px;
  font-weight:400
}
.button-primary {
  background:linear-gradient(175deg,#37b5ff,#0073e2 60%,#0054b3);
  border-color:#a0dcff;
  box-shadow:0 0 20px #007bce30,inset 0 1px 0 #ffffff40;
  color:white
}
.button-primary:hover {
  background:linear-gradient(175deg,#5fc5ff,#168bfb 60%,#0066d0);
  box-shadow:0 0 25px #0088db60
}
.button-silver {
  background:linear-gradient(#fff,#d2e3f6 50%,#7aafe1);
  color:#00182b;
  border-color:#c1e0ff
}
.button-silver:hover {
  background:#e4f3ff
}
.button-outline {
  border-color:#bed7ee;
  background:#041325a1
}
.button-outline:hover {
  background:#143652;
  border-color:#66beff
}
.text-link {
  display:inline-flex;
  align-items:center;
  gap:20px;
  color:var(--ice);
  font-weight:600;
  font-size:12px
}
.text-link:hover {
  color:#fff
}
.text-link span {
  font-size:20px
}
.menu-toggle {
  display:none
}
.hero {
  position:relative;
  overflow:hidden;
  isolation:isolate;
  min-height:572px;
  background:#041426
}
.hero-art {
  position:absolute;
  inset:0;
  z-index:-1;
  overflow:hidden
}
.hero-art>img {
  position:absolute;
  max-width:none;
  object-fit:cover
}
.art-capitol {
  left:0;
  top:0;
  width:59%;
  height:100%;
  opacity:.7;
  object-position:18% 50%;
  mask-image:linear-gradient(90deg,#000 15%,#000b 60%,transparent)
}
.art-network {
  width:65%;
  height:100%;
  right:0;
  top:-8%;
  opacity:.9;
  mask-image:linear-gradient(90deg,transparent,#000 28%,#000 85%,transparent)
}
.art-communications {
  right:0;
  top:0;
  width:24%;
  height:100%;
  object-position:center 45%;
  mask-image:linear-gradient(90deg,transparent,#000 24%)
}
.art-operations {
  bottom:-3%;
  right:15%;
  width:46%;
  height:42%;
  object-position:center 65%;
  opacity:.9;
  mask-image:linear-gradient(0deg,#000 45%,transparent)
}
.hero-shade {
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,#020e1b20 0%,#031425e3 16%,#041529d9 35%,#04142691 47%,#04142608 70%),linear-gradient(0deg,#021121e6 0%,transparent 30%,#04162610 80%,#04162635)
}
.hero-grid {
  position:absolute;
  inset:70% 0 0;
  background:linear-gradient(0deg,#0085ee17 1px,transparent 1px),linear-gradient(90deg,#0085ee12 1px,transparent 1px);
  background-size:80px 35px;
  transform:perspective(220px) rotateX(25deg);
  transform-origin:bottom;
  mask-image:linear-gradient(transparent,#000)
}
.hero-inner {
  max-width:var(--max);
  margin:auto;
  padding:36px 42px 56px;
  display:grid;
  grid-template-columns:54% 46%;
  min-height:572px
}
.hero-copy {
  padding-left:clamp(0px,5vw,76px);
  position:relative;
  z-index:2
}
.eyebrow {
  text-transform:uppercase;
  font-size:11px;
  letter-spacing:1.7px;
  font-weight:600;
  color:#91c8f4;
  margin-bottom:16px
}
.hero-eyebrow {
  color:#d0e5f6;
  font-size:12px;
  letter-spacing:1.1px;
  margin-bottom:10px;
  display:flex;
  align-items:center;
  gap:10px
}
.hero-eyebrow>span {
  width:20px;
  height:1px;
  background:#4dbbff
}
.hero h1 {
  font-family:Exo,Arial,sans-serif;
  text-transform:uppercase;
  font-size:clamp(54px,4.8vw,78px);
  line-height:.99;
  letter-spacing:-2px;
  font-weight:700;
  margin-left:-3px;
  margin-bottom:18px;
  display:flex;
  flex-direction:column;
  align-items:flex-start
}
.hero h1>span {
  background:linear-gradient(180deg,#fff 15%,#d5e6fc 55%,#91b9e6);
  color:#dbe9fc;
  -webkit-text-fill-color:transparent;
  background-clip:text
}
.hero h1>span:nth-child(2) {
  background-image:linear-gradient(180deg,#c0e1ff,#5898d4)
}
.hero h1 .period {
  -webkit-text-fill-color:#359be4;
  color:#359be4
}
.hero h2 {
  font-size:20px;
  font-weight:700;
  line-height:1.35;
  max-width:590px;
  letter-spacing:-.3px
}
.hero-promise {
  font-size:17px;
  margin-top:1px;
  color:#e1ecf8;
  line-height:1.4
}
.hero-description {
  font-size:12.5px;
  max-width:485px;
  color:#c8d9e9;
  margin-top:14px;
  line-height:1.65
}
.hero-actions {
  margin-top:24px;
  display:flex;
  gap:12px;
  align-items:center;
  flex-wrap:wrap
}
.hero-actions .button {
  padding:12px 17px;
  gap:19px;
  font-size:10px;
  min-height:46px
}
.hero-sales {
  font-size:10px;
  text-transform:uppercase;
  color:#edf4fc;
  gap:10px;
  padding:6px
}
.hero-context {
  position:relative;
  min-width:0
}
.industry-list {
  position:absolute;
  left:3%;
  top:5px;
  display:grid;
  gap:14px
}
.small-eyebrow {
  font-size:9px;
  letter-spacing:1.8px;
  margin-bottom:7px
}
.industry-list .eyebrow {
  color:#93ccff
}
.industry-list>a {
  display:flex;
  align-items:center;
  gap:15px;
  font-size:10px;
  text-transform:uppercase;
  font-weight:700;
  text-shadow:0 2px 8px #00101f
}
.industry-list>a img {
  width:28px;
  height:28px;
  filter:drop-shadow(0 0 7px #007ccc77)
}
.industry-list small {
  font-size:9px
}
.industry-list>a:hover {
  color:#8fd7ff
}
.communications-label {
  position:absolute;
  top:4px;
  right:0;
  display:flex;
  flex-direction:column;
  text-transform:uppercase;
  font-size:9px;
  line-height:1.65;
  letter-spacing:.6px;
  padding-left:13px
}
.communications-label strong {
  font-size:10px;
  margin-bottom:3px;
  letter-spacing:.1px
}
.status-dot {
  position:absolute;
  left:0;
  top:5px;
  width:5px;
  height:5px;
  background:#46beff;
  box-shadow:0 0 8px #46beff;
  border-radius:100%
}
.field-label {
  position:absolute;
  right:-3px;
  top:53%;
  display:flex;
  align-items:center;
  gap:10px;
  text-transform:uppercase;
  font-size:8px;
  line-height:1.6;
  letter-spacing:.7px
}
.field-label strong {
  font-family:Exo,Arial,sans-serif;
  font-size:42px;
  line-height:1;
  color:#7fc0fc;
  text-shadow:0 2px 12px #00172b
}
.odin-feature {
  position:absolute;
  bottom:5px;
  right:0;
  left:15%;
  padding:19px 18px 15px;
  display:flex;
  align-items:center;
  gap:20px;
  border:1px solid #497daf;
  background:linear-gradient(110deg,#031324f5,#020b17e8);
  border-radius:3px;
  box-shadow:0 0 30px #027cde25,inset 0 -2px #168cda55;
  transition:border-color .2s
}
.odin-feature:hover {
  border-color:#73caff
}
.odin-feature-copy {
  flex:1
}
.odin-feature .eyebrow {
  font-size:7px;
  letter-spacing:1px;
  display:block;
  margin-bottom:6px
}
.odin-feature strong {
  font-family:Exo,Arial,sans-serif;
  font-size:32px;
  font-weight:700;
  line-height:1.1;
  color:#a3cfff;
  display:block;
  white-space:nowrap;
  letter-spacing:1.2px
}
.odin-feature strong span {
  font-family:Arial,sans-serif;
  font-size:8px;
  vertical-align:top;
  letter-spacing:0
}
.odin-feature small {
  font-size:7px;
  letter-spacing:.6px;
  text-transform:uppercase;
  white-space:nowrap;
  color:#bcdfff;
  display:block;
  margin-top:3px
}
.odin-feature p {
  font-size:10px;
  text-transform:uppercase;
  line-height:1.5;
  letter-spacing:1px;
  color:#c8e4ff;
  margin-top:13px
}
.odin-explore {
  font-size:9px;
  color:#7acbff;
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:7px
}
.odin-explore b {
  font-size:18px;
  font-weight:400
}
.odin-feature>img {
  width:102px;
  height:112px;
  filter:drop-shadow(0 0 14px #0076db66)
}
.odin-verbs {
  font-size:10px;
  letter-spacing:1.3px;
  line-height:3.1;
  border-left:1px solid #215177;
  padding-left:17px;
  color:#cbe3ff
}
.hero-baseline {
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  min-height:29px;
  display:flex;
  align-items:center;
  gap:9px;
  padding:6px 42px;
  font-size:8px;
  letter-spacing:1px;
  text-transform:uppercase;
  color:#82b1d3;
  background:#0213239c;
  border-top:1px solid #287db533;
  border-bottom:1px solid #479fde;
  z-index:3
}
.hero-baseline>a {
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:10px;
  color:#c0dff4
}
.live-line {
  display:block;
  width:20px;
  height:2px;
  background:#3bbcff;
  box-shadow:0 0 6px #35b3ff
}
.solutions-strip {
  max-width:var(--max);
  margin:auto;
  padding:22px 24px;
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  background:linear-gradient(#051b2d,#031322)
}
.solution-tile {
  display:flex;
  gap:11px;
  padding:0 14px;
  border-right:1px solid var(--line);
  position:relative;
  transition:background .2s;
  min-height:101px
}
.solution-tile:last-child {
  border:0
}
.solution-tile>img {
  flex-shrink:0;
  width:34px;
  height:38px;
  filter:drop-shadow(0 2px 6px #007deb33)
}
.solution-tile h2 {
  font-size:10px;
  line-height:1.5;
  font-weight:700;
  text-transform:uppercase;
  margin:0 0 11px
}
.solution-tile p {
  font-size:10px;
  color:#bbd1e5;
  line-height:1.6
}
.tile-arrow {
  position:absolute;
  right:11px;
  bottom:-6px;
  opacity:0;
  color:#78c4ff;
  transition:opacity .2s
}
.solution-tile:hover .tile-arrow {
  opacity:1
}
.solution-tile:hover h2 {
  color:#92d4ff
}
.partners-section {
  color-scheme:light;
  background:linear-gradient(110deg,#e8edf6,#fff 45%,#e9eff7);
  color:#082751;
  border-top:1px solid #b7d4f5;
  border-bottom:2px solid #0785d8
}
.partners-inner {
  max-width:var(--max);
  margin:auto;
  display:flex;
  align-items:center;
  gap:30px;
  padding:22px 37px;
  min-height:105px
}
.partners-inner>h2 {
  font-size:11px;
  line-height:1.5;
  text-transform:uppercase;
  letter-spacing:1px;
  flex-shrink:0
}
.partner-logos {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:21px;
  flex:1;
  min-width:0
}
.partner-logos img {
  height:44px;
  width:auto;
  min-width:0;
  flex:0 1 auto;
  max-width:14%;
  object-fit:contain
}
.partner-motto {
  font-size:10px;
  line-height:1.5;
  text-transform:uppercase;
  letter-spacing:1px;
  font-weight:700;
  flex-shrink:0;
  border-left:1px solid #b6c5d8;
  padding:0 0 0 28px;
  position:relative
}
.partner-motto span {
  position:absolute;
  right:-13px;
  top:-7px;
  font-size:15px;
  color:#4983af
}
.contracts-section {
  background:radial-gradient(ellipse at 0 0,#08365e55,transparent 50%),#020f1e
}
.contracts-inner {
  max-width:var(--max);
  margin:auto;
  display:flex;
  align-items:center;
  padding:28px 38px 31px;
  gap:30px
}
.contracts-intro {
  width:275px;
  flex-shrink:0
}
.contracts-intro .eyebrow {
  font-size:8px;
  margin-bottom:8px
}
.contracts-intro h2 {
  font-family:Exo,Arial,sans-serif;
  text-transform:uppercase;
  font-size:17px;
  line-height:1.45;
  letter-spacing:.3px;
  color:#b5d5f6
}
.contracts-intro .text-link {
  font-size:9px;
  font-weight:400;
  gap:12px;
  margin-top:6px
}
.contract-options {
  display:grid;
  grid-template-columns:repeat(5,1fr);
  flex:1;
  border-left:1px solid #3d79a7;
  min-width:0
}
.contract-options>a {
  display:flex;
  align-items:center;
  flex-direction:column;
  gap:10px;
  border-right:1px solid #18436a77;
  text-align:center;
  text-transform:uppercase;
  font-size:10px;
  line-height:1.6;
  letter-spacing:.5px;
  padding:0 12px
}
.contract-options>a:last-child {
  border:0
}
.contract-options>a>img {
  height:35px;
  width:40px;
  transition:transform .2s
}
.contract-options>a:hover>img {
  transform:translateY(-3px)
}
.contract-options strong {
  font-weight:700
}
.army-icon {
  filter:sepia(1) saturate(3)
}
.mission-statement {
  align-self:stretch;
  display:flex;
  justify-content:center;
  flex-direction:column;
  position:relative;
  padding-left:10px;
  width:245px;
  text-transform:uppercase;
  font-size:12px;
  letter-spacing:1.1px;
  line-height:1.8;
  color:#a7c7e5
}
.mission-statement strong {
  font-weight:400;
  color:white
}
.mission-statement>span {
  position:absolute;
  right:0;
  bottom:4px;
  color:#2b86c7;
  font-size:35px;
  letter-spacing:-11px;
  line-height:1
}
.content-section {
  max-width:var(--max);
  margin:auto;
  padding:72px 7.5%
}
.about-section {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10%;
  border-top:1px solid var(--line);
  background:radial-gradient(ellipse at 0 0,#0d315338,transparent 70%)
}
.section-intro h2,.section-heading h2,.resources-section h2 {
  font-family:Exo,Arial,sans-serif;
  font-size:32px;
  letter-spacing:-.6px;
  line-height:1.22
}
.about-copy>p {
  font-size:13px;
  line-height:1.85;
  color:#b5cadd
}
.lifecycle {
  list-style:none;
  padding:0;
  margin:23px 0 0;
  display:flex;
  gap:0;
  justify-content:space-between;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:1px;
  color:#97cdf6
}
.lifecycle li {
  display:flex;
  align-items:center;
  gap:10px
}
.lifecycle li:not(:last-child)::after {
  content:'›';
  font-size:20px;
  color:#336286
}
.solution-details {
  padding-top:10px
}
.section-heading {
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:30px;
  margin-bottom:30px
}
.section-heading>p {
  font-size:12px;
  color:#acc6dc
}
.capability-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-left:1px solid var(--line);
  border-top:1px solid var(--line)
}
.capability-grid article {
  position:relative;
  padding:31px 28px;
  display:flex;
  flex-direction:column;
  border-bottom:1px solid var(--line);
  border-right:1px solid var(--line);
  background:linear-gradient(150deg,#09213888,#06172544)
}
.capability-grid article>img {
  margin-bottom:24px
}
.capability-number {
  position:absolute;
  right:25px;
  top:29px;
  font-size:10px;
  letter-spacing:2px;
  color:#7293b1
}
.capability-grid h3 {
  font-family:Exo,Arial,sans-serif;
  font-size:21px;
  line-height:1.3;
  margin-bottom:15px
}
.capability-grid p {
  font-size:12px;
  line-height:1.9;
  color:#aec5d8;
  margin-bottom:23px
}
.capability-grid .text-link {
  margin-top:auto;
  justify-content:space-between;
  gap:8px;
  font-size:10px
}
.capability-grid article:target {
  background:#10304b;
  box-shadow:inset 0 3px #3bb5ff
}
.resources-section {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10%;
  border-top:1px solid var(--line);
  padding-top:50px;
  padding-bottom:60px
}
.resources-section p:not(.eyebrow) {
  font-size:12px;
  color:#b8ccde;
  margin-top:14px
}
.resource-links {
  display:flex;
  flex-direction:column;
  justify-content:center
}
.resource-links a {
  border-bottom:1px solid var(--line);
  padding:17px 2px;
  display:flex;
  justify-content:space-between;
  font-size:14px;
  color:#d1e4f6
}
.resource-links a:first-child {
  border-top:1px solid var(--line)
}
.resource-links a:hover {
  color:#82d0ff
}
.contact-section {
  background:linear-gradient(115deg,#0a3154,#071d34 75%);
  border-top:1px solid #2c618d;
  border-bottom:1px solid #204263
}
.contact-inner {
  max-width:var(--max);
  padding:24px 7.5%;
  margin:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:35px
}
.contact-inner h2 {
  font-family:Exo,Arial,sans-serif;
  font-size:31px;
  line-height:1.35
}
.contact-inner h2 span {
  color:#87caff
}
.contact-actions {
  display:flex;
  align-items:flex-start;
  flex-direction:column;
  gap:11px;
  font-size:12px;
  color:#b8d0e7
}
.contact-actions .button {
  min-width:225px;
  margin-bottom:4px
}
.contact-address {
  display:grid;
  gap:4px;
  font-size:13px;
  font-style:normal
}
.contact-address>a {
  width:fit-content;
  color:#dbe9f6
}
.contact-address>a:hover,.contact-address>a:focus-visible {
  color:#fff;
  text-decoration:underline;
  text-underline-offset:4px
}
.site-footer {
  max-width:var(--max);
  margin:auto;
  padding:15px 38px 30px;
  font-size:12px;
  color:#a8bdd1
}
.footer-main {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.5fr) minmax(0,1fr);
  gap:40px;
  align-items:start
}
.footer-brand {
  font-family:Arial,sans-serif;
  font-size:15px;
  color:#dbe9f6;
  font-weight:700;
  letter-spacing:.3px
}
.footer-brand span {
  font-size:9px;
  letter-spacing:2px;
  display:block
}
.footer-identity>p {
  margin:8px 0 0
}
.footer-certifications {
  justify-self:center;
  max-width:400px;
  margin:0;
  padding:0;
  list-style:none;
  text-align:center
}
.footer-certifications>li+li {
  margin-top:4px
}
.footer-bottom {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-top:12px;
  padding-top:10px;
  border-top:1px solid var(--line);
  font-size:11px
}
.footer-bottom>p {
  margin:0
}
.back-top {
  font-size:10px;
  color:#b2cde4
}
.back-top:hover {
  color:#fff
}
.search-dialog {
  background:#071c30;
  color:#edf6ff;
  border:1px solid #3b81b7;
  border-radius:5px;
  padding:30px;
  width:min(590px,calc(100% - 32px));
  max-height:85vh;
  box-shadow:0 20px 100px #000a
}
.search-dialog::backdrop {
  background:#010b16c9;
  backdrop-filter:blur(5px)
}
.search-header {
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:center;
  margin-bottom:24px
}
.search-header h2 {
  font-family:Exo,Arial,sans-serif;
  font-size:25px
}
.close-search {
  font-size:30px;
  line-height:1
}
.search-dialog label {
  font-size:11px;
  display:block;
  color:#bdd7ed;
  margin-bottom:7px
}
.search-dialog input {
  display:block;
  width:100%;
  background:#020f1f;
  color:white;
  border:1px solid #5684ab;
  border-radius:3px;
  padding:13px;
  font-size:15px
}
.search-dialog input::placeholder {
  color:#8da8bf
}
.search-dialog #search-status {
  font-size:11px;
  color:#8cbce1;
  margin-top:15px
}
.search-dialog ul {
  list-style:none;
  margin:10px 0 20px;
  padding:0
}
.search-dialog li a {
  display:block;
  padding:12px;
  border-bottom:1px solid var(--line);
  font-size:13px
}
.search-dialog li a:hover {
  background:#113452
}
.search-dialog li small {
  display:block;
  color:#9fb7ce;
  font-size:10px;
  margin-top:2px
}
.search-hint {
  font-size:9px;
  color:#8da8bf
}
@media(min-width:1600px) {
  .hero-inner {
    padding-top:45px;
    min-height:615px
  }
  .hero h1 {
    font-size:80px
  }
  .hero-description {
    max-width:505px
  }
  .hero-actions .button {
    font-size:11px
  }
  .solutions-strip {
    padding-top:27px;
    padding-bottom:27px
  }
  .solution-tile h2 {
    font-size:11px
  }
  .solution-tile p {
    font-size:11px
  }
}
@media(max-width:1300px) {
  .header-inner {
    padding-right:25px;
    padding-left:25px;
    gap:24px
  }
  .brand>img {
    width:65px;
    height:55px
  }
  .brand-type>strong {
    font-size:21px
  }
  .brand-type>span {
    font-size:19px;
    letter-spacing:3.6px
  }
  .brand-type small {
    font-size:6px
  }
  .primary-navigation {
    gap:15px;
    font-size:10px
  }
  .navigation-row {
    gap:12px
  }
  .header-contact {
    padding:8px 18px!important
  }
  .hero-inner {
    padding-left:27px;
    padding-right:27px;
    grid-template-columns:54% 46%
  }
  .hero-copy {
    padding-left:3vw
  }
  .hero h2 {
    font-size:17px
  }
  .hero-promise {
    font-size:15px
  }
  .hero-description {
    max-width:410px;
    font-size:12px
  }
  .hero-actions {
    gap:9px
  }
  .hero-actions .button {
    font-size:9px;
    gap:12px;
    padding:11px 12px
  }
  .hero-sales {
    font-size:9px
  }
  .industry-list {
    left:4%;
    gap:17px
  }
  .industry-list>a {
    font-size:9px;
    gap:10px
  }
  .communications-label {
    font-size:8px;
    right:-4px
  }
  .communications-label strong {
    font-size:8px
  }
  .odin-feature {
    gap:10px;
    left:9%;
    padding:15px 13px
  }
  .odin-feature>img {
    width:85px;
    height:110px
  }
  .odin-verbs {
    font-size:9px;
    padding-left:12px
  }
  .solutions-strip {
    padding-right:15px;
    padding-left:15px
  }
  .solution-tile {
    gap:9px;
    padding:0 11px
  }
  .solution-tile>img {
    width:28px
  }
  .solution-tile h2 {
    font-size:9px
  }
  .solution-tile p {
    font-size:9px
  }
  .partners-inner {
    padding-right:27px;
    padding-left:27px;
    gap:22px
  }
  .partner-logos {
    gap:15px
  }
  .partner-motto {
    padding-left:20px
  }
  .contracts-inner {
    gap:20px;
    padding-left:27px;
    padding-right:27px
  }
  .contracts-intro {
    width:230px
  }
  .contracts-intro h2 {
    font-size:15px
  }
  .mission-statement {
    width:210px;
    font-size:10px
  }
  .contract-options>a {
    font-size:9px
  }
  .hero-baseline {
    padding-left:27px;
    padding-right:27px
  }
}
@media(max-width:1080px) {
  .header-inner {
    gap:20px
  }
  .brand>img {
    width:57px
  }
  .brand-type>strong {
    font-size:18px
  }
  .brand-type>span {
    font-size:16px;
    letter-spacing:3.2px
  }
  .brand-type small {
    font-size:5.3px
  }
  .primary-navigation {
    gap:13px;
    font-size:9px
  }
  .header-contact {
    padding:9px 12px!important;
    font-size:9px!important
  }
  .navigation-row {
    gap:9px
  }
  .audience-line {
    font-size:9px
  }
  .hero-inner {
    grid-template-columns:55% 45%;
    padding-top:32px;
    min-height:565px
  }
  .hero h1 {
    font-size:62px
  }
  .hero-copy {
    padding-left:0
  }
  .hero h2 {
    font-size:17px
  }
  .hero-description {
    max-width:390px
  }
  .hero-actions {
    max-width:410px
  }
  .hero-sales {
    padding:2px 0
  }
  .industry-list {
    left:0
  }
  .industry-list>a {
    font-size:8px;
    gap:10px
  }
  .industry-list>a img {
    width:24px
  }
  .industry-list .eyebrow {
    font-size:8px
  }
  .communications-label {
    top:260px;
    right:0
  }
  .field-label {
    display:none
  }
  .odin-feature {
    left:2%;
    gap:13px;
    bottom:5px
  }
  .odin-feature>img {
    width:85px;
    height:100px
  }
  .odin-verbs {
    display:none
  }
  .partners-inner {
    gap:20px
  }
  .partners-inner>h2 {
    font-size:9px
  }
  .partner-logos {
    gap:12px
  }
  .partner-motto {
    display:none
  }
  .partner-logos img {
    max-width:13%
  }
  .mission-statement {
    display:none
  }
  .contracts-intro {
    width:225px
  }
  .about-section {
    gap:6%
  }
  .section-intro h2,.section-heading h2,.resources-section h2 {
    font-size:27px
  }
  .content-section {
    padding-left:5%;
    padding-right:5%
  }
  .capability-grid article {
    padding:26px 22px
  }
  .capability-grid h3 {
    font-size:19px
  }
  .lifecycle {
    letter-spacing:0;
    font-size:8px
  }
  .lifecycle li {
    gap:7px
  }
  .site-footer {
    padding-left:5%;
    padding-right:5%
  }
}
@media(max-width:900px) {
  html {
    scroll-padding-top:24px
  }
  .site-header {
    position:relative
  }
  .header-inner {
    min-height:91px;
    padding:16px 24px;
    gap:20px
  }
  .brand>img {
    width:65px;
    height:51px
  }
  .brand-type>strong {
    font-size:21px
  }
  .brand-type>span {
    font-size:18px;
    letter-spacing:3.9px
  }
  .brand-type small {
    font-size:6px
  }
  .header-right {
    justify-content:center;
    align-self:center
  }
  .audience-line {
    display:none
  }
  .navigation-row {
    gap:13px;
    flex-wrap:wrap
  }
  .menu-toggle {
    display:inline-flex;
    gap:8px;
    align-items:center;
    background:none;
    border:1px solid #3d6389;
    padding:8px 11px;
    font-size:11px;
    border-radius:3px;
    min-height:38px
  }
  .menu-bars {
    width:14px;
    height:10px;
    border-top:1px solid #c2d9ed;
    border-bottom:1px solid #c2d9ed;
    position:relative
  }
  .menu-bars::after {
    content:'';
    position:absolute;
    top:4px;
    left:0;
    width:14px;
    border-top:1px solid #c2d9ed
  }
  .primary-navigation {
    flex-basis:100%;
    flex-wrap:wrap;
    order:5;
    white-space:normal
  }
  .js-ready .primary-navigation {
    position:absolute;
    top:100%;
    left:0;
    right:0;
    background:#04172a;
    border-bottom:1px solid #46789d;
    padding:18px 24px;
    gap:0;
    display:none;
    max-height:75vh;
    overflow-y:auto;
    box-shadow:0 15px 30px #0005
  }
  .js-ready .primary-navigation.is-open {
    display:flex
  }
  .primary-navigation>a,.primary-navigation>details {
    flex-basis:100%;
    font-size:13px;
    border-bottom:1px solid #2c4e6b55
  }
  .primary-navigation>a {
    padding:13px 0
  }
  .nav-dropdown>summary {
    padding:13px 0
  }
  .primary-navigation>a::after,.nav-dropdown>summary::before {
    display:none
  }
  .dropdown-panel {
    position:static;
    border:0;
    border-left:1px solid #39668a;
    box-shadow:none;
    margin:0 0 15px 4px;
    background:transparent;
    min-width:0;
    padding:3px 8px
  }
  .dropdown-panel a {
    font-size:12px
  }
  .nav-dropdown summary::after {
    float:right;
    margin-top:7px
  }
  .header-contact {
    font-size:10px!important;
    padding:9px 18px!important
  }
  .hero-inner {
    grid-template-columns:57% 43%;
    padding:34px 24px 60px;
    min-height:590px
  }
  .hero h1 {
    font-size:61px
  }
  .hero h2 {
    font-size:16px
  }
  .hero-promise {
    font-size:14px
  }
  .hero-description {
    font-size:12px;
    max-width:370px
  }
  .hero-eyebrow {
    font-size:10px
  }
  .hero-actions {
    max-width:330px
  }
  .hero-actions .button {
    font-size:9px;
    gap:10px
  }
  .hero-sales {
    margin-top:0;
    display:block;
    flex-basis:100%;
    font-size:9px
  }
  .industry-list {
    top:8px;
    left:8%;
    gap:17px
  }
  .industry-list>a {
    font-size:8px;
    max-width:220px
  }
  .industry-list .small-eyebrow {
    font-size:7px
  }
  .communications-label {
    top:272px;
    right:6px;
    font-size:8px
  }
  .odin-feature {
    left:4%;
    padding:15px 12px;
    gap:8px
  }
  .odin-feature strong {
    font-size:28px
  }
  .odin-feature .eyebrow {
    font-size:6px
  }
  .odin-feature small {
    font-size:6px
  }
  .odin-feature>img {
    width:75px
  }
  .solutions-strip {
    grid-template-columns:repeat(3,1fr);
    padding:5px 18px
  }
  .solution-tile {
    padding:20px 15px;
    min-height:140px;
    gap:12px;
    border-bottom:1px solid var(--line)
  }
  .solution-tile:nth-child(3n) {
    border-right:0
  }
  .solution-tile:nth-child(n+7) {
    border-bottom:0
  }
  .solution-tile h2 {
    font-size:10px
  }
  .solution-tile p {
    font-size:10px
  }
  .solution-tile>img {
    width:32px
  }
  .tile-arrow {
    bottom:12px
  }
  .partners-inner {
    padding:20px 24px;
    gap:20px
  }
  .partners-inner>h2 {
    font-size:9px
  }
  .partner-logos {
    flex-wrap:wrap;
    justify-content:center;
    gap:10px 20px
  }
  .partner-logos img {
    max-width:none;
    width:90px;
    height:32px
  }
  .contracts-inner {
    padding:28px 24px;
    gap:16px
  }
  .contracts-intro {
    width:220px
  }
  .contract-options>a {
    font-size:8px;
    padding:0 7px
  }
  .contract-options>a>img {
    width:32px;
    height:32px
  }
  .capability-grid {
    grid-template-columns:repeat(2,1fr)
  }
  .about-section {
    padding-top:50px;
    padding-bottom:50px
  }
  .section-intro h2 {
    font-size:25px
  }
  .about-copy>p {
    font-size:12px
  }
  .lifecycle {
    flex-wrap:wrap;
    justify-content:flex-start;
    gap:0 12px
  }
  .contact-inner {
    padding-left:5%;
    padding-right:5%
  }
  .contact-inner h2 {
    font-size:27px
  }
  .footer-main {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px
  }
  .footer-certifications {
    grid-column:1 / -1
  }
}
@media(max-width:640px) {
  html {
    scroll-padding-top:20px
  }
  .header-inner {
    padding:14px 18px;
    min-height:83px;
    gap:12px
  }
  .brand {
    gap:7px
  }
  .brand>img {
    width:49px;
    height:45px
  }
  .brand-type>strong {
    font-size:16px;
    letter-spacing:-.3px
  }
  .brand-type>span {
    font-size:14px;
    letter-spacing:2.8px
  }
  .brand-type small {
    font-size:4.5px;
    letter-spacing:.15px;
    margin-top:6px
  }
  .navigation-row {
    gap:5px
  }
  .header-contact {
    display:none
  }
  .menu-toggle {
    font-size:10px;
    padding:7px;
    gap:7px;
    min-height:34px
  }
  .search-toggle {
    min-width:27px;
    padding:3px
  }
  .search-toggle>img {
    width:18px
  }
  .js-ready .primary-navigation {
    padding:12px 22px
  }
  .hero-inner {
    display:flex;
    flex-direction:column;
    padding:32px 22px 53px;
    min-height:0
  }
  .hero-copy {
    padding:0
  }
  .hero-eyebrow {
    font-size:9px;
    letter-spacing:1.2px;
    margin-bottom:15px
  }
  .hero h1 {
    font-size:68px;
    line-height:1;
    letter-spacing:-2px;
    margin-bottom:20px
  }
  .hero h2 {
    font-size:19px;
    line-height:1.35;
    max-width:365px
  }
  .desktop-break {
    display:none
  }
  .hero-promise {
    font-size:15px;
    max-width:330px;
    margin-top:6px
  }
  .hero-description {
    font-size:12px;
    line-height:1.85;
    max-width:370px;
    margin-top:16px;
    color:#c3d7e8
  }
  .hero-actions {
    gap:10px;
    max-width:none;
    margin-top:23px;
    align-items:stretch
  }
  .hero-actions .button {
    font-size:9px;
    padding:13px 11px;
    gap:12px;
    flex:1 1 auto;
    min-height:46px
  }
  .hero-sales {
    flex-basis:100%;
    font-size:10px;
    margin-top:3px
  }
  .hero-context {
    margin-top:31px;
    display:flex;
    flex-direction:column;
    gap:25px
  }
  .industry-list {
    position:static;
    grid-template-columns:repeat(2,1fr);
    gap:13px 12px;
    padding:18px 0;
    border-top:1px solid #79b9ee40;
    border-bottom:1px solid #79b9ee40
  }
  .industry-list>.eyebrow {
    grid-column:1/-1;
    margin:0 0 1px
  }
  .industry-list>a {
    font-size:8px;
    line-height:1.55;
    gap:9px;
    max-width:none;
    align-items:center
  }
  .industry-list>a img {
    width:24px;
    height:24px
  }
  .industry-list>a small {
    font-size:7px
  }
  .communications-label,.field-label {
    display:none
  }
  .odin-feature {
    position:static;
    width:100%;
    gap:15px;
    max-width:430px;
    padding:18px 20px
  }
  .odin-feature .eyebrow {
    font-size:7px
  }
  .odin-feature strong {
    font-size:35px
  }
  .odin-feature small {
    font-size:7px
  }
  .odin-feature p {
    font-size:9px;
    margin-top:9px
  }
  .odin-feature>img {
    width:98px;
    height:105px
  }
  .odin-verbs {
    display:block;
    font-size:8px;
    letter-spacing:.5px;
    padding-left:10px
  }
  .hero-art .art-capitol {
    width:145%;
    height:55%;
    top:0;
    opacity:.5;
    left:-5%;
    object-position:15% 0;
    mask-image:linear-gradient(0deg,transparent,#000 50%)
  }
  .art-network {
    width:160%;
    height:75%;
    top:0;
    right:-65%;
    opacity:.6;
    mask-image:linear-gradient(90deg,transparent,#000 60%)
  }
  .art-communications {
    right:0;
    top:25%;
    width:65%;
    height:52%;
    opacity:.45
  }
  .art-operations {
    bottom:0;
    right:0;
    width:100%;
    height:30%;
    opacity:.6
  }
  .hero-shade {
    background:linear-gradient(90deg,#031322df,#03132285 70%,#03132240),linear-gradient(0deg,#031322b0,transparent)
  }
  .hero-grid {
    display:none
  }
  .hero-baseline {
    padding:8px 22px;
    font-size:6px;
    letter-spacing:.7px;
    min-height:29px
  }
  .hero-baseline>a {
    font-size:6px;
    gap:5px
  }
  .hero-baseline>.live-line {
    width:10px;
    flex-shrink:0
  }
  .solutions-strip {
    grid-template-columns:repeat(2,minmax(0,1fr));
    padding:6px 12px
  }
  .solution-tile {
    padding:20px 10px;
    gap:10px;
    min-height:154px;
    border-right:1px solid var(--line);
    border-bottom:1px solid var(--line)
  }
  .solution-tile:nth-child(3n) {
    border-right:1px solid var(--line)
  }
  .solution-tile:nth-child(even) {
    border-right:0
  }
  .solution-tile:nth-child(4) {
    border-bottom:1px solid var(--line)
  }
  .solution-tile:nth-child(n+7) {
    border-bottom:0
  }
  .solution-tile>img {
    width:27px;
    height:31px
  }
  .solution-tile h2 {
    font-size:9px;
    margin-bottom:9px
  }
  .solution-tile p {
    font-size:9px;
    line-height:1.7
  }
  .tile-arrow {
    display:none
  }
  .partners-inner {
    flex-direction:column;
    padding:22px;
    gap:18px
  }
  .partners-inner>h2 {
    text-align:center;
    font-size:10px;
    letter-spacing:1.2px
  }
  .partners-inner>h2 br {
    display:none
  }
  .partners-inner>h2 br::after {
    content:' '
  }
  .partner-logos {
    gap:17px 22px;
    justify-content:center
  }
  .partner-logos img {
    width:90px;
    height:34px
  }
  .contracts-inner {
    flex-direction:column;
    align-items:stretch;
    padding:28px 22px;
    gap:25px
  }
  .contracts-intro {
    width:auto;
    text-align:center
  }
  .contracts-intro h2 {
    font-size:19px
  }
  .contracts-intro .eyebrow {
    font-size:8px
  }
  .contracts-intro .text-link {
    font-size:10px
  }
  .contract-options {
    border-left:0;
    gap:12px 0;
    grid-template-columns:repeat(5,minmax(0,1fr))
  }
  .contract-options>a {
    font-size:7px;
    letter-spacing:.1px;
    gap:8px;
    padding:0 5px
  }
  .contract-options>a>img {
    width:29px;
    height:29px
  }
  .content-section {
    padding-left:22px;
    padding-right:22px
  }
  .about-section {
    grid-template-columns:1fr;
    gap:24px;
    padding-top:40px;
    padding-bottom:45px
  }
  .eyebrow {
    font-size:9px;
    margin-bottom:13px
  }
  .section-intro h2,.section-heading h2,.resources-section h2 {
    font-size:28px
  }
  .about-copy>p {
    font-size:12px
  }
  .lifecycle {
    justify-content:space-between;
    gap:4px;
    font-size:7px;
    letter-spacing:.2px
  }
  .lifecycle li {
    gap:4px
  }
  .lifecycle li::after {
    font-size:16px!important
  }
  .solution-details {
    padding-top:0;
    padding-bottom:40px
  }
  .section-heading {
    display:block;
    margin-bottom:23px
  }
  .section-heading>p {
    font-size:11px;
    margin-top:15px
  }
  .section-heading>p>br {
    display:none
  }
  .capability-grid {
    grid-template-columns:1fr
  }
  .capability-grid article {
    padding:25px 24px
  }
  .capability-grid article>img {
    margin-bottom:20px
  }
  .capability-grid h3 {
    font-size:22px
  }
  .capability-grid p {
    font-size:12px
  }
  .capability-grid .text-link {
    font-size:11px
  }
  .resources-section {
    grid-template-columns:1fr;
    gap:23px;
    padding-top:35px;
    padding-bottom:40px
  }
  .resources-section h2 {
    font-size:27px
  }
  .resources-section p:not(.eyebrow) {
    font-size:11px
  }
  .resource-links a {
    font-size:12px;
    padding:15px 0
  }
  .contact-inner {
    padding:19px 22px;
    display:block
  }
  .contact-inner h2 {
    font-size:27px
  }
  .contact-actions {
    margin-top:25px;
    gap:10px
  }
  .contact-actions .button {
    min-width:225px
  }
  .site-footer {
    padding:12.5px 22px 25px
  }
  .footer-main {
    grid-template-columns:minmax(0,1fr);
    gap:22px
  }
  .footer-certifications {
    grid-column:auto;
    justify-self:start;
    text-align:left
  }
  .footer-bottom {
    flex-direction:column;
    align-items:flex-start;
    gap:12px
  }
  .footer-brand {
    font-size:16px
  }
  .back-top {
    font-size:10px
  }
  .search-dialog {
    padding:23px
  }
  .search-header h2 {
    font-size:22px
  }
}
@media(max-width:370px) {
  .header-inner {
    padding-left:13px;
    padding-right:13px
  }
  .brand>img {
    width:41px
  }
  .brand-type>strong {
    font-size:14px
  }
  .brand-type>span {
    font-size:12px;
    letter-spacing:2.6px
  }
  .brand-type small {
    font-size:4px
  }
  .menu-toggle {
    gap:5px
  }
  .hero h1 {
    font-size:59px
  }
  .hero-inner {
    padding-left:18px;
    padding-right:18px
  }
  .hero h2 {
    font-size:17px
  }
  .hero-actions .button {
    flex-basis:100%;
    justify-content:space-between;
    font-size:10px
  }
  .odin-verbs {
    display:none
  }
  .hero-baseline>a {
    display:none
  }
  .solution-tile {
    gap:7px;
    padding-left:7px;
    padding-right:7px
  }
  .solution-tile>img {
    width:22px
  }
  .solution-tile h2 {
    font-size:8px
  }
  .solutions-strip {
    padding-left:8px;
    padding-right:8px
  }
  .contract-options {
    grid-template-columns:repeat(3,1fr);
    gap:24px 0
  }
  .contract-options>a:nth-child(3) {
    border-right:0
  }
  .contract-options>a {
    font-size:9px
  }
  .lifecycle {
    justify-content:flex-start;
    gap:0 8px
  }
}
@media(max-width:900px) {
  html:not(.js-ready) .header-inner {
    flex-wrap:wrap
  }
  html:not(.js-ready) .header-right {
    flex-basis:100%
  }
  html:not(.js-ready) .primary-navigation {
    flex-basis:100%;
    width:100%;
    display:flex
  }
  html:not(.js-ready) .header-contact {
    display:none
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  *,*::before,*::after {
    transition:none!important;
    animation:none!important
  }
}
/* Keep the compact reference layout legible as real browser text. */
@media(min-width:1301px) {
  .hero-description {
    font-size:14px
  }
  .industry-list>a {
    font-size:11px
  }
  .solution-tile h2 {
    font-size:11px
  }
  .solution-tile p {
    font-size:11px
  }
  .about-copy>p {
    font-size:14px
  }
  .capability-grid p {
    font-size:13px
  }
  .resources-section p:not(.eyebrow) {
    font-size:13px
  }
}
@media(min-width:901px) and (max-width:1300px) {
  .hero-description {
    font-size:13px
  }
  .solution-tile h2 {
    font-size:10px
  }
  .solution-tile p {
    font-size:10px
  }
}
@media(max-width:640px) {
  .solution-tile h2 {
    font-size:10px
  }
  .solution-tile p {
    font-size:10px
  }
}
/* Reusable CTA: SVG geometry keeps arrows optically centered with the label. */
.button .button-label {
  font: inherit;
  line-height: 1.35;
  display: block;
}
.button .button-arrow {
  display: block;
  flex: 0 0 24px;
  width: 24px;
  height: 18px;
  align-self: center;
}
.industry-list > a img[src$="us.svg"] {
  object-fit: contain;
  width: 30px;
}

/* Compact shared masthead, matched to the supplied desktop reference. */
@media (min-width: 901px) {
  .header-inner { min-height: 78px; padding-top: 8px; padding-bottom: 8px; }
  .audience-line { margin-bottom: 4px; font-size: 9px; }
  .primary-navigation { justify-content: center; gap: var(--primary-navigation-gap); }
  .primary-navigation > a, .nav-dropdown > summary { padding-top: 8px; padding-bottom: 8px; }
}
/* Keep seven home tiles readable before the tablet and phone column changes. */
@media (min-width: 901px) and (max-width: 1300px) {
  .solutions-strip { grid-template-columns: repeat(4, minmax(0, 1fr)); padding: 5px 18px; }
  .solution-tile { padding: 20px 15px; min-height: 140px; border-bottom: 1px solid var(--line); }
  .solution-tile:nth-child(4) { border-right: 0; }
  .solution-tile:nth-child(n+5) { border-bottom: 0; }
}
@media (min-width: 1301px) {
  .brand > img { width: 76px; height: 56px; }
  .brand-type > strong { font-size: 24px; }
  .brand-type > span { font-size: 21px; letter-spacing: 3.8px; }
  .brand-type small { font-size: 6.7px; margin-top: 5px; }
}
@media (min-width: 641px) and (max-width: 900px) {
  .header-inner { min-height: 78px; padding-top: 10px; padding-bottom: 10px; }
}
@media (max-width: 640px) {
  .header-inner { min-height: 72px; padding-top: 10px; padding-bottom: 10px; }
}

/* Shared primary navigation and Support immediately before search. */
.header-right { justify-content:center; gap:4px; }
.header-social { display:flex; justify-content:flex-end; gap:4px; }
.header-social>a { display:inline-flex; align-items:center; justify-content:center; width:32px; height:26.5px; padding-block:2.75px; border-radius:3px; }
.header-social img { display:block; width:14px; height:14px; object-fit:contain; }
.header-social>a:hover { background:#ffffff14; }
.header-social>a:focus-visible { outline:2px solid #79beff; outline-offset:2px; }
.primary-navigation, .nav-support { font-size:var(--primary-navigation-font-size); font-weight:var(--primary-navigation-font-weight); }
.nav-support { display:inline-flex; align-items:center; min-height:32px; color:#c5dcef; white-space:nowrap; }
.nav-support:hover { color:#fff; text-decoration:underline; text-underline-offset:4px; }
.solutions-groups { display:grid; grid-template-columns:1.2fr 1fr; gap:12px; }
.solutions-groups .solution-group + .solution-group { border-left:1px solid #2c618d; padding-left:12px; }
.wide-panel { min-width:480px; }
.dropdown-heading { display:block; padding:6px 12px; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:1px; color:#9ddcff; }
.nav-dropdown:has(a[aria-current="location"]) > summary::before { width:100%; }
/* Approved green logo, shared by every page. */
.site-header .brand-legacy > img { width: 278px; height: auto; }
@media (max-width: 1300px) {
  .site-header .brand-legacy > img { width: 244px; }
}
@media (max-width: 1080px) {
  .site-header .brand-legacy > img { width: 220px; }
}
@media (min-width: 641px) and (max-width: 900px) {
  .site-header .brand-legacy > img { width: 260px; }
}
@media (max-width: 640px) {
  .site-header .brand-legacy > img { width: 216px; }
}
@media (max-width: 370px) {
  .site-header .brand-legacy > img { width: 190px; }
}

@media (min-width:1101px) and (max-width:1300px) {
  .site-header { --primary-navigation-font-size:13px; }
}
@media (max-width:1100px) {
  .site-header { --primary-navigation-font-size:15px; }
  .site-header .brand-legacy > img { width:230px; }
  .header-right { align-self:center; }
  .navigation-row { gap:12px; flex-wrap:wrap; }
  .menu-toggle { display:inline-flex; gap:8px; align-items:center; background:none; border:1px solid #3d6389; padding:8px 11px; font-size:12px; border-radius:3px; min-height:38px; }
  .menu-bars { width:14px; height:10px; border-top:1px solid #c2d9ed; border-bottom:1px solid #c2d9ed; position:relative; }
  .menu-bars::after { content:''; position:absolute; top:4px; left:0; width:14px; border-top:1px solid #c2d9ed; }
  .primary-navigation { flex-basis:100%; flex-wrap:wrap; order:5; white-space:normal; }
  .js-ready .primary-navigation { position:absolute; top:100%; left:0; right:0; background:#04172a; border-bottom:1px solid #46789d; padding:18px 24px; gap:0; display:none; max-height:75vh; overflow-y:auto; box-shadow:0 15px 30px #0005; }
  .js-ready .primary-navigation.is-open { display:flex; }
  .primary-navigation > a, .primary-navigation > details { flex-basis:100%; font-size:inherit; border-bottom:1px solid #2c4e6b55; }
  .nav-dropdown > summary { padding:13px 0; }
  .primary-navigation > a::after, .nav-dropdown > summary::before { display:none; }
  .dropdown-panel { position:static; border:0; border-left:1px solid #39668a; box-shadow:none; margin:0 0 15px 4px; background:transparent; min-width:0; padding:3px 8px; }
  .nav-dropdown summary::after { float:right; margin-top:7px; }
  .solutions-groups { grid-template-columns:1fr; gap:8px; }
  .solutions-groups .solution-group + .solution-group { border-left:0; border-top:1px solid #2c618d; padding:8px 0 0; }
  .wide-panel { min-width:0; }
}
@media (max-width:640px) {
  .header-inner { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:8px; padding:10px 16px; }
  .header-right, .navigation-row { display:contents; }
  .site-header .brand-legacy > img { width:216px; }
  .header-social { grid-column:1; grid-row:1; justify-self:start; justify-content:flex-start; }
  .brand { grid-column:1 / 3; grid-row:3; }
  .menu-toggle { grid-column:3; grid-row:3; font-size:11px; padding:7px; }
  .nav-support { grid-column:2; grid-row:2; }
  .search-toggle { grid-column:3; grid-row:2; justify-self:center; }
  .site-header .header-contact { display:inline-flex; grid-column:1; grid-row:2; justify-self:start; min-height:28px!important; padding:6px 10px!important; font-size:10px!important; }
  html:not(.js-ready) .header-inner { display:grid; }
  html:not(.js-ready) .primary-navigation { grid-column:1 / -1; grid-row:4; }
  html:not(.js-ready) .site-header .header-contact { display:inline-flex; }
}
@media (max-width:370px) {
  .site-header .brand-legacy > img { width:190px; }
}

/* The About-page campus sign also reuses the shared brand component. */
.campus-sign .brand.brand-legacy > img { width:clamp(180px,18vw,240px); height:auto; }
