/*
Theme Name: Integrator Pro
Description: A connected facilities product website and transparent connector library.
Version: 1.6.0
Requires at least: 6.4
Requires PHP: 8.1
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: integratorpro
*/
/* Incident examples use synthetic data and original illustrative portraits. */
.incident-section {background:var(--surface);border-top:1px solid var(--line)}
.incident-section .section-heading {margin-bottom:38px}
.incident-demo {border:1px solid var(--line);border-radius:20px;background:var(--navy);padding:24px;overflow:hidden}
.incident-toolbar {display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.incident-scenarios {display:flex;gap:6px;flex-wrap:wrap}
.incident-scenarios button,.incident-pause {border:1px solid transparent;border-radius:8px;padding:10px 13px;font:inherit;font-size:13px;font-weight:600;cursor:pointer;background:transparent;color:var(--muted)}
.incident-scenarios button:hover,.incident-scenarios button[aria-pressed="true"] {background:var(--surface);border-color:var(--line);color:var(--teal);box-shadow:0 2px 6px #142e4310}
.incident-pause {border-color:var(--line);background:var(--surface);white-space:nowrap}
.incident-pause:disabled {cursor:default;opacity:.65}
.incident-title {display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:26px 2px 24px}
.incident-title h3 {font-size:clamp(19px,2vw,25px);letter-spacing:-.04em;margin:0;line-height:1.25}
.incident-demo-tag {font-size:10px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--teal);background:#e0eff6;border:1px solid #b7d5e3;border-radius:5px;padding:6px 8px}
.incident-loop-indicator {margin-left:auto;display:flex;align-items:center;gap:7px;color:var(--muted);font-size:11px}
.incident-loop-indicator i {width:6px;height:6px;border-radius:50%;background:var(--cyan);animation:incident-blink 2s infinite}
.incident-stages {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.incident-stage {position:relative;min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px;transition:border-color .25s,box-shadow .25s;isolation:isolate}
.incident-stage.is-active {border-color:var(--cyan);box-shadow:0 0 0 3px #009cd814,0 10px 25px #15334208}
.incident-stage.is-complete {border-color:#8ab7c6}
.incident-stage:not(:last-child)::after {content:'→';position:absolute;right:-19px;top:116px;width:19px;text-align:center;color:var(--teal);font-size:17px;z-index:2}
.incident-stage.is-active:not(:last-child)::after {animation:incident-arrow 1.1s infinite}
.incident-stage-top {display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}
.incident-stage-dot {height:6px;width:6px;border-radius:50%;background:#c5cfd7}
.is-active .incident-stage-dot {background:var(--cyan);box-shadow:0 0 0 4px #009cd81c}
.is-complete .incident-stage-dot {background:#258376}
.incident-stage h4 {font-size:17px;line-height:1.3;letter-spacing:-.025em;margin:20px 0 10px;color:var(--ink)}
.incident-stage p {font-size:12px;line-height:1.65;color:var(--muted);margin:0}
.incident-event,.incident-engine,.incident-people,.incident-delivery {height:166px;margin-top:18px;border-radius:8px;background:#edf4f8;display:flex;align-items:center;justify-content:center}
.incident-event {flex-direction:column;gap:18px;color:var(--teal);background:radial-gradient(circle at 50% 45%,#d1e9f5,#f0f5f8 75%)}
.incident-event-icon {width:63px;height:63px;display:none}
[data-scenario="0"] .incident-event-0,[data-scenario="1"] .incident-event-1,[data-scenario="2"] .incident-event-2,[data-scenario="3"] .incident-event-3 {display:block}
.incident-event-badge {font-size:10px;letter-spacing:.07em;text-transform:uppercase}
.incident-engine {position:relative;flex-direction:column;gap:16px;overflow:hidden;color:var(--teal);background:#edf5f8}
.incident-engine svg {width:47px;height:47px;z-index:1}
.incident-engine>span:last-child {font-size:12px;font-weight:700;z-index:1}
.incident-engine-orbit {position:absolute;width:126px;height:126px;border-radius:50%;border:1px dashed #86bcd3;animation:incident-orbit 24s linear infinite}
.incident-engine-orbit::before {content:'';position:absolute;left:11px;top:11px;width:8px;height:8px;border-radius:50%;background:var(--cyan);box-shadow:0 0 0 5px #009cd814}
.incident-people {gap:7px;background:transparent}
.incident-people figure {margin:0;position:relative;flex:1;min-width:0;height:100%;overflow:hidden;border-radius:8px;background:#dbe8ef}
.incident-people figure[hidden] {display:none!important}
.incident-people img {width:100%;height:100%;display:block;object-fit:cover;object-position:50% 25%;transition:transform 1s}
.incident-dispatch.is-active .incident-people img {transform:scale(1.04)}
.incident-people figcaption {position:absolute;inset:auto 0 0;padding:22px 10px 9px;background:linear-gradient(transparent,#091b2dd9);font-size:10px;font-weight:600;color:#fff;text-align:left;line-height:1.2}
.incident-delivery {align-content:center;gap:9px;flex-wrap:wrap;padding:18px;background:#f0f5f7}
.incident-delivery>span {display:flex;align-items:center;gap:7px;font-size:11px;color:var(--teal);border:1px solid #c7dbe4;background:#fff;padding:7px 9px;border-radius:6px}
.incident-delivery svg {width:18px;height:18px}
.incident-delivery .incident-escalate {flex:1 0 100%;justify-content:center;border:0;background:transparent;color:var(--muted);padding:10px 0 0;font-size:10px}
.incident-escalate b {color:var(--teal);font-size:18px;margin:0 3px}
.incident-progress {display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:22px}
.incident-progress span {height:3px;border-radius:3px;background:#dce3e8}
[data-phase="0"] .incident-progress span:first-child,[data-phase="1"] .incident-progress span:nth-child(-n+2),[data-phase="2"] .incident-progress span:nth-child(-n+3),[data-phase="3"] .incident-progress span {background:var(--cyan)}
.incident-caption {font-size:10px!important;line-height:1.65!important;color:var(--muted);max-width:960px;margin:17px 0 0!important}
[data-paused="true"] .incident-loop-indicator i,[data-paused="true"] .incident-engine-orbit,[data-paused="true"] .incident-stage::after {animation-play-state:paused}
@keyframes incident-orbit {to{transform:rotate(360deg)}}
@keyframes incident-arrow {50%{transform:translateX(3px);color:var(--cyan)}}
@keyframes incident-blink {50%{opacity:.35}}
@media(max-width:1000px){.incident-stages{grid-template-columns:repeat(2,minmax(0,1fr))}.incident-stage:nth-child(2)::after{display:none}.incident-loop-indicator{margin-left:0}.incident-stage h4{font-size:18px}}
@media(max-width:540px){.incident-demo{padding:15px;border-radius:14px}.incident-toolbar{gap:10px}.incident-scenarios{display:grid;grid-template-columns:1fr 1fr;width:100%}.incident-scenarios button{text-align:left;font-size:11px;padding:9px}.incident-pause{font-size:11px;padding:7px 10px}.incident-title{gap:10px;margin:20px 0}.incident-title h3{flex-basis:100%}.incident-loop-indicator{font-size:10px}.incident-stages{grid-template-columns:minmax(0,1fr);gap:14px}.incident-stage{padding:16px}.incident-stage:not(:last-child)::after{display:block;content:'↓';right:50%;top:auto;bottom:-16px;font-size:14px;line-height:14px}.incident-event,.incident-engine,.incident-people,.incident-delivery{height:160px}.incident-people img{object-position:50% 29%}.incident-caption{font-size:10px!important}}
@media(prefers-reduced-motion:reduce){.incident-demo *{animation:none!important;transition:none!important}}
:root {
  --navy:#f5f6f8;
  --deep:#191e25;
  --surface:#ffffff;
  --raised:#edf0f3;
  --ink:#202832;
  --muted:#53616e;
  --teal:#006596;
  --cyan:#009cd8;
  --line:#c4cdd6;
  --focus:#0073a7;
  --wrap:1380px;
  --gutter:clamp(22px,4.2vw,68px);
  --adminbar-height:0px;
  color-scheme:light;
}
*,*::before,*::after {
  box-sizing:border-box;
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:110px;
}
body {
  margin:0;
  color:var(--ink);
  background:var(--navy);
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
body.admin-bar {
  --adminbar-height:32px;
}
::selection {
  background:#006596;
  color:#ffffff;
}
h1,h2,h3,p,figure {
  margin:0;
}
h1,h2,h3 {
  font-weight:650;
  line-height:1.12;
  text-wrap:balance;
}
h1 {
  font-size:clamp(3.4rem,5.3vw,5.5rem);
  letter-spacing:-.055em;
}
h2 {
  font-size:clamp(2.4rem,3.6vw,3.6rem);
  letter-spacing:-.045em;
}
h3 {
  font-size:1.3rem;
  letter-spacing:-.025em;
}
p {
  color:var(--muted);
}
a {
  color:inherit;
  text-underline-offset:.25em;
  text-decoration-thickness:1px;
}
button,input,select,textarea {
  font:inherit;
}
button,a,input,select,textarea,summary {
  -webkit-tap-highlight-color:transparent;
}
button,summary {
  cursor:pointer;
}
button {
  color:inherit;
}
img,svg {
  display:block;
  max-width:100%;
}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible {
  outline:3px solid var(--focus);
  outline-offset:4px;
}
[hidden] {
  display:none !important;
}
.wrap {
  width:min(var(--wrap),calc(100% - var(--gutter)*2));
  margin-inline:auto;
}
.section {
  padding-block:clamp(78px,7.6vw,120px);
}
.eyebrow {
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:22px;
  color:var(--teal);
  font-size:.72rem;
  font-weight:750;
  letter-spacing:.15em;
  line-height:1.6;
  text-transform:uppercase;
}
.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:27px;
  min-height:53px;
  padding:14px 23px;
  border:1px solid var(--teal);
  border-radius:4px;
  color:#ffffff;
  background:var(--teal);
  font-size:.91rem;
  font-weight:700;
  line-height:1.4;
  text-decoration:none;
  transition:background-color .18s,border-color .18s;
}
.button:hover {
  background:#004a76;
  border-color:#006596;
}
.button-small {
  min-height:43px;
  padding:11px 16px;
  font-size:.8rem;
  gap:15px;
}
.button-outline {
  color:#006596;
  border-color:#006596;
  background:transparent;
}
.button-outline:hover {
  background:#0065960d;
  border-color:#006596;
}
.text-link {
  display:inline-flex;
  align-items:center;
  gap:16px;
  color:var(--teal);
  font-size:.88rem;
  font-weight:650;
  text-decoration:none;
}
.text-link:hover {
  color:#004a76;
}
.skip-link {
  position:fixed;
  z-index:10000;
  top:10px;
  left:12px;
  transform:translateY(-180%);
  padding:12px 20px;
  background:var(--teal);
  color:#ffffff;
  border-radius:4px;
}
.skip-link:focus {
  transform:none;
}
.screen-reader-text,.visually-hidden {
  position:absolute !important;
  width:1px;
  height:1px;
  overflow:hidden;
  padding:0;
  border:0;
  clip:rect(0,0,0,0);
  white-space:nowrap;
}
.site-header {
  position:sticky;
  z-index:100;
  top:var(--adminbar-height);
  border-bottom:1px solid #c4cdd6;
  background:#fffffff5;
  backdrop-filter:blur(14px);
}
.header-inner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:91px;
  gap:30px;
}
.brand {
  display:block;
  flex:0 0 234px;
  width:234px;
  overflow:hidden;
  border-radius:3px;
  background:#ffffff;
}
.brand img {
  width:234px;
  height:64px;
  object-fit:cover;
  object-position:center;
}
#site-nav {
  display:flex;
  align-items:center;
  gap:clamp(17px,1.6vw,28px);
}
#site-nav>a,.nav-group>summary {
  white-space:nowrap;
  font-size:.81rem;
  font-weight:600;
  text-decoration:none;
}
#site-nav>a:not(.button) {
  padding-block:15px;
}
#site-nav>a:not(.button):hover,#site-nav>[aria-current="page"] {
  color:var(--teal);
}
.nav-login {
  margin-left:7px;
}
.nav-login span {
  margin-left:3px;
}
.nav-toggle {
  display:none;
}
.nav-group {
  position:relative;
}
.nav-group>summary {
  list-style:none;
  padding-block:15px;
}
.nav-group>summary::-webkit-details-marker {
  display:none;
}
.nav-group>summary span {
  margin-left:6px;
  color:var(--teal);
}
.nav-group>div {
  position:absolute;
  top:calc(100% + 8px);
  left:-22px;
  z-index:10;
  width:285px;
  padding:10px;
  border:1px solid #c4cdd6;
  border-radius:5px;
  background:#ffffff;
  box-shadow:0 20px 40px #17212e44;
}
.nav-group>div a {
  display:block;
  padding:12px;
  border-radius:3px;
  font-size:.84rem;
  font-weight:650;
  text-decoration:none;
}
.nav-group>div a:hover {
  background:#0065960a;
  color:var(--teal);
}
.nav-group small {
  display:block;
  margin-top:3px;
  color:#53616e;
  font-size:.7rem;
  font-weight:400;
}
.hero {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:radial-gradient(ellipse at 87% 35%,#20262e80,transparent 47%),var(--deep);
}
.hero.has-hero-art {
  background-image:var(--hero-art);
  background-size:cover;
  background-position:center;
}
.hero.has-hero-art .hero-architecture {
  opacity:.18;
}
.hero::after {
  position:absolute;
  z-index:-1;
  inset:0;
  background:linear-gradient(90deg,#20262e 2%,#20262ee8 32%,#20262e5c 70%,#20262e36),linear-gradient(0deg,#20262e 0%,transparent 35%);
  content:"";
}
.hero-inner {
  position:relative;
  display:flex;
  align-items:center;
  min-height:790px;
  padding-block:100px 110px;
}
.hero-copy {
  position:relative;
  z-index:2;
  width:min(850px,72%);
}
.hero .eyebrow {
  margin-bottom:24px;
  font-size:.72rem;
}
.pulse-dot {
  flex:0 0 6px;
  height:6px;
  border-radius:50%;
  background:var(--teal);
  box-shadow:0 0 0 4px #009cd812;
}
.hero h1 {
  max-width:15ch;
  line-height:1.1;
}
.hero h1 em {
  display:block;
  width:max-content;
  max-width:calc(100vw - var(--gutter)*2);
  margin-top:7px;
  color:var(--teal);
  font-size:.78em;
  font-style:normal;
  letter-spacing:-.045em;
}
.hero-summary {
  max-width:49ch;
  margin-top:29px;
  color:#dce2e9;
  font-size:1.06rem;
  line-height:1.85;
}
.hero-actions {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:17px 25px;
  margin-top:35px;
}
.hero-footnote {
  margin-top:24px;
  color:#00afef;
  font-size:.73rem;
}
.hero-architecture {
  position:absolute;
  z-index:-2;
  inset:0;
  overflow:hidden;
  opacity:.8;
}
.tower {
  position:absolute;
  width:270px;
  height:740px;
  border:1px solid #00afef50;
  background:repeating-linear-gradient(0deg,transparent 0 28px,#20262e2e 29px 30px),repeating-linear-gradient(90deg,#20262e57 0 22px,#00afef2c 23px 24px);
  box-shadow:inset 22px 0 45px #00000088,28px -10px 0 #00000030;
  transform:rotate(-20deg) skewY(-15deg);
}
.tower::after {
  position:absolute;
  top:-1px;
  bottom:0;
  right:-48px;
  width:48px;
  transform:skewY(33deg);
  transform-origin:left top;
  border:1px solid #00afef4a;
  background:repeating-linear-gradient(0deg,#20262e 0 28px,#20262e75 29px 30px);
  content:"";
}
.tower-one {
  top:-170px;
  right:17%;
}
.tower-two {
  top:185px;
  right:3%;
  width:230px;
  height:760px;
}
.tower-three {
  top:370px;
  right:36%;
  width:180px;
  height:540px;
  opacity:.55;
}
.tower-four {
  top:-340px;
  right:-10%;
  width:280px;
  height:900px;
  opacity:.55;
}
.network-line {
  position:absolute;
  width:700px;
  height:300px;
  right:0;
  top:280px;
  border:1px solid #00afef2b;
  border-width:1px 0 0 1px;
  border-radius:100px 0 0 0;
  transform:rotate(-20deg);
}
.network-line-two {
  right:24%;
  top:520px;
  width:430px;
}
.hero-signals {
  position:absolute;
  right:0;
  top:47%;
  width:370px;
  height:280px;
  transform:translateY(-50%);
  opacity:.8;
}
.hero-signals>span {
  position:absolute;
  padding:10px 15px;
  border:1px solid #00afef47;
  border-radius:4px;
  background:#20262edb;
  color:#00afef;
  font-size:.69rem;
  letter-spacing:.03em;
  box-shadow:0 15px 25px #00000033;
}
.hero-signals>span:nth-child(1) {
  right:0;
  top:0;
}
.hero-signals>span:nth-child(2) {
  left:0;
  top:112px;
}
.hero-signals>span:nth-child(3) {
  right:0;
  bottom:0;
}
.hero-signals i {
  display:inline-block;
  width:4px;
  height:4px;
  margin-right:9px;
  border-radius:50%;
  background:var(--teal);
}
.hero-signal-hub {
  position:absolute;
  right:70px;
  top:96px;
  width:83px;
  height:83px;
  border:1px solid #00afef60;
  border-radius:14px;
  background:#20262ee6;
  color:#ffffff;
  font-size:2.8rem;
  font-weight:750;
  letter-spacing:-.1em;
  line-height:73px;
  text-align:center;
  box-shadow:0 0 50px #009cd819;
}
.hero-signal-hub>span {
  color:var(--teal);
}
.compatibility {
  border-block:1px solid #c4cdd6;
  background:#edf0f3;
  padding-block:26px;
}
.compatibility .wrap {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:40px;
}
.compatibility p {
  max-width:23ch;
  color:#006596;
  font-size:.73rem;
  line-height:1.75;
}
.compatibility .wrap>div {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:7px 36px;
}
.compatibility span {
  color:#26313d;
  font-size:1.02rem;
  font-weight:650;
  letter-spacing:-.03em;
}
.compatibility small {
  flex-basis:100%;
  color:#53616e;
  font-size:.64rem;
  text-align:right;
}
.section-heading {
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:70px;
}
.section-heading>p {
  max-width:43ch;
  padding-bottom:6px;
  font-size:.96rem;
  line-height:1.9;
}
.section-heading>.text-link {
  flex-shrink:0;
  margin-bottom:8px;
}
.section-heading h2 {
  max-width:24ch;
}
.overview-section {
  background:var(--navy);
}
.system-map {
  position:relative;
  display:grid;
  grid-template-columns:1fr .6fr 1.35fr .6fr 1fr;
  align-items:center;
  margin-top:64px;
  padding:45px 38px;
  border:1px solid #c4cdd6;
  border-radius:9px;
  background:linear-gradient(145deg,#d4e4f0a1,#edf2f6);
}
.map-sources,.map-outcomes {
  position:relative;
  z-index:1;
  display:grid;
  gap:16px;
}
.map-sources>span,.map-outcomes>span {
  display:flex;
  align-items:center;
  gap:15px;
  min-height:56px;
  padding:12px 17px;
  border:1px solid #c4cdd6;
  border-radius:4px;
  color:#26313d;
  background:#edf2f6;
  font-size:.83rem;
}
.map-sources b,.map-outcomes b {
  color:var(--teal);
  font-size:1.2rem;
  font-weight:450;
}
.map-outcomes b {
  margin-left:auto;
  font-size:1rem;
}
.map-hub {
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:142px;
  border:1px solid #0065968a;
  border-radius:8px;
  background:radial-gradient(ellipse at 50% 20%,#009cd83d,transparent 80%),#f0f7fb;
  text-align:center;
  box-shadow:0 0 60px #17212e14;
}
.map-hub>span {
  font-size:1.75rem;
  font-weight:650;
  letter-spacing:-.06em;
}
.map-hub>span>span {
  color:var(--teal);
  font-weight:750;
}
.map-hub small {
  margin-top:10px;
  color:#006596;
  font-size:.64rem;
}
.map-connections {
  position:relative;
  height:200px;
}
.map-connections i {
  position:absolute;
  left:0;
  right:0;
  top:50%;
  height:1px;
  background:linear-gradient(90deg,#009cd818,#009cd89c);
}
.map-connections i:first-child,.map-connections i:last-child {
  height:72px;
  top:calc(50% - 72px);
  border:1px solid #006596;
  border-width:1px 1px 0 0;
  border-radius:0 15px 0 0;
  background:none;
}
.map-connections i:last-child {
  top:50%;
  border-width:0 1px 1px 0;
  border-radius:0 0 15px 0;
}
.map-connections-right {
  transform:rotate(180deg);
}
.diagram-caption {
  margin-top:15px;
  color:#53616e;
  font-size:.65rem;
  text-align:center;
}
.workflow-section {
  background:#f0f2f5;
  border-block:1px solid #c4cdd6;
}
.workflow {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:54px;
  margin-top:57px;
}
.workflow article {
  border-top:1px solid #c4cdd6;
  padding-top:23px;
}
.step {
  color:var(--teal);
  font-size:.73rem;
  font-weight:700;
  letter-spacing:.07em;
}
.workflow-icon {
  display:flex;
  align-items:center;
  justify-content:center;
  width:48px;
  height:48px;
  margin-block:26px 23px;
  color:#006596;
  border:1px solid #006596;
  border-radius:9px;
  font-size:1.45rem;
  background:#e7f2f8;
}
.workflow h3 {
  margin-bottom:16px;
  font-size:1.25rem;
}
.workflow p {
  max-width:39ch;
  font-size:.9rem;
  line-height:1.9;
}
.connectors-feature {
  overflow:hidden;
  background:#ffffff;
}
.connectors-feature-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  gap:105px;
}
.connectors-feature-grid>div:last-child>p:not(.eyebrow) {
  max-width:44ch;
  margin-top:26px;
  font-size:.96rem;
  line-height:1.9;
}
.connectors-feature-grid .button {
  margin-top:30px;
}
.connectors-feature-grid p.small-note {
  margin-top:19px!important;
  color:#53616e;
  font-size:.7rem!important;
  line-height:1.7!important;
}
.connector-mosaic {
  position:relative;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  transform:rotate(-4deg);
}
.connector-mosaic::before {
  position:absolute;
  z-index:-1;
  inset:-60px;
  background:radial-gradient(ellipse,#009cd827,transparent 68%);
  content:"";
}
.connector-mosaic>span {
  display:flex;
  min-height:98px;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:16px;
  border:1px solid #c4cdd6;
  border-radius:7px;
  color:#26313d;
  background:#ffffff;
  font-size:1.02rem;
  font-weight:650;
  letter-spacing:-.035em;
  text-align:center;
}
.connector-mosaic>span:nth-child(2),.connector-mosaic>span:nth-child(5) {
  transform:translateY(18px);
}
.connector-mosaic small {
  font-size:.57rem;
  color:#006596;
  font-weight:450;
  letter-spacing:0;
}
.connector-mosaic>.mosaic-center {
  border-color:#0065968f;
  background:#00517e;
  color:#ffffff;
  font-size:1.55rem;
}
.mosaic-center>span {
  color:var(--teal);
}
.module-section {
  border-block:1px solid #c4cdd6;
  background:#f1f3f6;
}
.module-intro {
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:80px;
}
.module-intro>p {
  max-width:40ch;
  padding-bottom:5px;
  font-size:.94rem;
  line-height:1.9;
}
.module-filters {
  display:none;
  gap:10px;
  flex-wrap:wrap;
  margin-block:35px 17px;
}
.js .module-filters {
  display:flex;
}
.module-filters button {
  min-height:43px;
  padding:10px 17px;
  border:1px solid #7d8a97;
  border-radius:4px;
  color:#006596;
  background:transparent;
  font-size:.74rem;
  font-weight:600;
}
.module-filters button:hover {
  border-color:#006596;
  color:#004a76;
}
.module-filters button[aria-pressed="true"] {
  border-color:var(--teal);
  color:#ffffff;
  background:var(--teal);
}
.module-filter-status {
  margin-bottom:22px;
  color:#006596;
  font-size:.7rem;
}
.module-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:start;
  gap:20px;
  margin-top:24px;
}
.module-card {
  padding:29px;
  border:1px solid #c4cdd6;
  border-radius:7px;
  background:#ffffff;
}
.module-card-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:26px;
}
.module-symbol {
  display:flex;
  width:41px;
  height:41px;
  flex:0 0 41px;
  align-items:center;
  justify-content:center;
  border:1px solid #006596;
  border-radius:8px;
  color:#006596;
  background:#e7f2f8;
  font-size:1.4rem;
}
.status {
  display:inline-block;
  padding:4px 8px;
  border:1px solid #c4cdd6;
  border-radius:4px;
  color:#006596;
  background:#e9edf2;
  font-size:.58rem;
  font-weight:600;
  line-height:1.5;
  white-space:nowrap;
}
.status-current {
  border-color:#3788b1;
  color:#006596;
  background:#e5f2fa;
}
.status-pilot {
  border-color:#9b761e;
  color:#725100;
  background:#fff2d3;
}
.module-card h3 {
  font-size:1.2rem;
}
.module-card>p {
  min-height:73px;
  margin-top:15px;
  font-size:.85rem;
  line-height:1.85;
}
.module-card details {
  margin-top:20px;
  border-top:1px solid #c4cdd6;
  padding-top:18px;
}
.module-card summary,.connector-card summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  list-style:none;
  color:#006596;
  font-size:.77rem;
  font-weight:600;
}
.module-card summary::-webkit-details-marker,.connector-card summary::-webkit-details-marker,.faq-list summary::-webkit-details-marker {
  display:none;
}
.module-card summary>span,.connector-card summary>span {
  color:var(--teal);
}
.module-card details>p {
  margin-top:16px;
  font-size:.78rem;
  line-height:1.85;
}
.module-card details>a,.connector-card details>a {
  display:flex;
  justify-content:space-between;
  gap:15px;
  margin-top:17px;
  color:var(--teal);
  font-size:.78rem;
  font-weight:650;
  text-decoration:none;
}
.availability-note {
  margin-top:30px;
  max-width:110ch;
  color:#006596;
  font-size:.73rem;
  line-height:1.85;
}
.teams-section {
  background:#ffffff;
}
.teams-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  margin-top:46px;
}
.teams-grid article {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  min-height:300px;
  padding:32px;
  border:1px solid #c4cdd6;
  border-radius:7px;
  background:linear-gradient(135deg,#d4e4f0aa,transparent 70%),#f7f8fa;
}
.team-symbol {
  color:#006596;
  font-size:2rem;
  margin-bottom:25px;
}
.teams-grid h3 {
  font-size:1.22rem;
}
.teams-grid p {
  margin-block:16px 25px;
  font-size:.87rem;
  line-height:1.85;
}
.teams-grid a {
  display:flex;
  justify-content:space-between;
  width:100%;
  margin-top:auto;
  color:var(--teal);
  font-size:.78rem;
  font-weight:650;
  text-decoration:none;
}
.integrator-section {
  background:radial-gradient(ellipse at 8% 90%,#009cd875,transparent 55%),#edf2f6;
  border-block:1px solid #c4cdd6;
}
.integrator-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:start;
  gap:100px;
}
.integrator-grid>div>p:not(.eyebrow) {
  max-width:45ch;
  margin-top:26px;
  font-size:.95rem;
  line-height:1.9;
}
.integrator-section .button {
  margin-top:30px;
}
.integrator-notes article {
  display:flex;
  gap:23px;
  padding-block:26px;
  border-bottom:1px solid #c4cdd6;
}
.integrator-notes article:first-child {
  padding-top:0;
}
.integrator-notes article:last-child {
  border:0;
  padding-bottom:0;
}
.integrator-notes article>span {
  color:var(--teal);
  font-size:.72rem;
  font-weight:650;
}
.integrator-notes h3 {
  font-size:1.07rem;
}
.integrator-notes p {
  margin-top:11px;
  font-size:.85rem;
  line-height:1.9;
}
.faq-section {
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:100px;
}
.faq-list {
  border-top:1px solid #c4cdd6;
}
.faq-list details {
  border-bottom:1px solid #c4cdd6;
}
.faq-list summary {
  display:flex;
  justify-content:space-between;
  align-items:center;
  list-style:none;
  gap:24px;
  padding-block:23px;
  font-size:.97rem;
  font-weight:550;
  line-height:1.65;
}
.faq-list summary::after {
  flex:0 0 18px;
  color:var(--teal);
  content:"+";
  font-size:1.4rem;
  font-weight:400;
  text-align:center;
}
.faq-list details[open] summary::after {
  content:"−";
}
.faq-list p {
  padding:0 28px 25px 0;
  font-size:.85rem;
  line-height:1.9;
}
.access-section {
  background:radial-gradient(ellipse at 0 90%,#009cd880,transparent 58%),#edf2f6;
  border-top:1px solid #c4cdd6;
}
.access-grid {
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  align-items:start;
  gap:100px;
}
.access-grid>div:first-child {
  position:sticky;
  top:calc(140px + var(--adminbar-height));
  padding-top:12px;
}
.access-grid>div>p:not(.eyebrow) {
  max-width:39ch;
  margin-top:27px;
  font-size:.95rem;
  line-height:1.9;
}
.check-list {
  display:grid;
  gap:13px;
  padding:0;
  margin:28px 0 0;
  list-style:none;
  color:#006596;
  font-size:.82rem;
}
.check-list li::before {
  content:"✓";
  margin-right:12px;
  color:var(--teal);
}
.access-panel {
  padding:38px;
  border:1px solid #c4cdd6;
  border-radius:8px;
  color:#26313d;
  background:#ffffff;
  box-shadow:0 20px 60px #17212e22;
  color-scheme:light;
}
.access-form h3 {
  margin-bottom:12px;
  color:#26313d;
  font-size:1.6rem;
}
.access-form>p {
  margin-bottom:24px;
  color:#006596;
  font-size:.83rem;
  line-height:1.8;
}
.access-form label {
  display:block;
  margin-bottom:18px;
  color:#26313d;
  font-size:.79rem;
  font-weight:550;
  line-height:1.6;
}
.access-form input:not([type="checkbox"]):not([type="hidden"]),.access-form select,.access-form textarea {
  display:block;
  width:100%;
  min-height:45px;
  margin-top:7px;
  padding:11px 12px;
  border:1px solid #006596;
  border-radius:4px;
  color:#26313d;
  background:#ffffff;
  font-size:.88rem;
  font-weight:400;
  outline-color:#006596;
}
.access-form textarea {
  min-height:110px;
  resize:vertical;
}
.access-form input:focus,.access-form select:focus,.access-form textarea:focus {
  border-color:#006596;
}
.form-row {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:17px;
}
.access-form fieldset {
  min-width:0;
  padding:0;
  margin:0 0 19px;
  border:0;
}
.access-form legend {
  margin-bottom:13px;
  color:#26313d;
  font-size:.79rem;
  font-weight:550;
}
.interest-options {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px 16px;
}
.interest-options label {
  display:flex;
  align-items:flex-start;
  gap:8px;
  margin:0;
  color:#006596;
  font-size:.73rem;
  font-weight:400;
}
.access-form input[type="checkbox"] {
  flex:0 0 15px;
  width:15px;
  height:15px;
  margin:3px 0 0;
  accent-color:#006596;
}
.access-form .optional {
  color:#006596;
  font-weight:400;
}
.access-form .consent {
  display:flex;
  align-items:flex-start;
  gap:9px;
  color:#006596;
  font-size:.73rem;
  font-weight:400;
}
.access-form button {
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:49px;
  border:1px solid #7d8a97;
  border-radius:4px;
  color:#ffffff;
  background:#006596;
  font-size:.8rem;
  font-weight:650;
}
.access-form button:hover {
  background:#004a76;
}
.access-form button:disabled {
  cursor:wait;
  opacity:.65;
}
.access-form .form-status {
  margin-top:12px;
  color:#006596;
  font-size:.73rem;
}
.access-form .form-note {
  margin-top:14px;
  color:#006596;
  font-size:.67rem;
  text-align:center;
}
.access-form .form-honeypot {
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
}
.request-success {
  color:#26313d;
}
.request-success h3 {
  font-size:1.6rem;
  margin-bottom:18px;
}
.request-success p {
  color:#006596;
  font-size:.9rem;
  line-height:1.8;
}
.site-footer {
  padding-block:65px 24px;
  border-top:1px solid #8492a0;
  background:#20262e;
}
.footer-top {
  display:grid;
  grid-template-columns:1.8fr 1fr 1fr 1.2fr;
  gap:50px;
  padding-bottom:52px;
}
.wordmark {
  color:#ffffff;
  font-size:1.65rem;
  font-weight:650;
  letter-spacing:-.065em;
}
.wordmark span {
  color:var(--teal);
  font-weight:750;
}
.footer-brand>p:last-child {
  margin-top:14px;
  color:#00afef;
  font-size:.76rem;
}
.footer-top h2 {
  margin-bottom:19px;
  color:#dce2e9;
  font-size:.78rem;
  font-weight:650;
  letter-spacing:0;
}
.footer-top a {
  display:block;
  margin-top:12px;
  color:#00afef;
  font-size:.75rem;
  text-decoration:none;
}
.footer-top a:hover {
  color:var(--teal);
}
.footer-bottom {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:25px;
  padding-top:23px;
  border-top:1px solid #8492a0;
  color:#afb8c3;
  font-size:.65rem;
}
.footer-bottom>div {
  display:flex;
  gap:15px;
}
.footer-bottom ul {
  display:flex;
  gap:15px;
  padding:0;
  margin:0;
  list-style:none;
}
.page-hero {
  padding-block:105px 86px;
  border-bottom:1px solid #c4cdd6;
  background:radial-gradient(ellipse at 100% 10%,#009cd855,transparent 65%),#f0f3f6;
}
.page-hero h1 {
  max-width:16ch;
  font-size:clamp(3.2rem,5.1vw,5rem);
}
.page-hero h1 em {
  color:var(--teal);
  font-style:normal;
}
.page-hero>.wrap>p:not(.eyebrow) {
  max-width:63ch;
  margin-top:27px;
  font-size:1.02rem;
  line-height:1.9;
}
.detail-sections {
  padding-top:25px;
}
.detail-sections article {
  display:grid;
  grid-template-columns:.14fr 1fr 1.05fr;
  align-items:start;
  gap:30px;
  padding-block:58px;
  border-bottom:1px solid #c4cdd6;
}
.detail-number {
  color:var(--teal);
  font-size:.8rem;
  line-height:2;
}
.detail-sections .eyebrow {
  margin-bottom:16px;
  font-size:.64rem;
}
.detail-sections h2 {
  max-width:19ch;
  font-size:2.15rem;
}
.detail-sections article>p {
  font-size:.95rem;
  line-height:1.9;
}
.closing-cta {
  border-top:1px solid #c4cdd6;
  background:radial-gradient(ellipse at 75% 100%,#009cd866,transparent 60%),#edf3f7;
}
.closing-cta .wrap {
  text-align:center;
}
.closing-cta .eyebrow {
  justify-content:center;
}
.closing-cta p:not(.eyebrow) {
  max-width:58ch;
  margin:24px auto 30px;
  font-size:.96rem;
  line-height:1.85;
}
.catalog-hero {
  padding-bottom:65px;
}
.catalog-hero h1 {
  max-width:22ch;
}
.catalog-legend {
  display:flex;
  flex-wrap:wrap;
  gap:15px 30px;
  margin-top:35px;
  color:#006596;
  font-size:.72rem;
}
.catalog-legend>span {
  display:flex;
  align-items:center;
  gap:8px;
}
.catalog-legend i {
  width:6px;
  height:6px;
  border-radius:50%;
  background:#687887;
}
.catalog-legend .legend-current {
  background:var(--teal);
}
.catalog-legend .legend-pilot {
  background:#986b14;
}
.catalog-section {
  padding-top:40px;
}
.catalog-toolbar {
  display:grid;
  grid-template-columns:1.7fr 1.1fr .85fr 1fr;
  gap:18px;
  padding:23px;
  border:1px solid #c4cdd6;
  border-radius:7px;
  background:#f0f3f6;
}
.catalog-toolbar label {
  display:block;
  margin-bottom:9px;
  color:#006596;
  font-size:.7rem;
  font-weight:600;
}
.catalog-toolbar input:not([type="hidden"]),.catalog-toolbar select {
  width:100%;
  min-height:46px;
  border:1px solid #7d8a97;
  border-radius:4px;
  color:#26313d;
  background:#ffffff;
  font-size:.79rem;
}
.catalog-toolbar select {
  padding:9px 31px 9px 12px;
}
.catalog-search>div {
  position:relative;
}
.catalog-search input {
  padding:10px 13px 10px 38px;
}
.catalog-search>div>span {
  position:absolute;
  top:8px;
  left:13px;
  color:var(--teal);
  font-size:1.25rem;
}
.catalog-search input::placeholder {
  color:#53616e;
}
.catalog-submit {
  grid-column:1/-1;
  justify-self:start;
  min-height:42px;
  padding-block:10px;
  font-size:.75rem;
}
.js .catalog-submit {
  display:none;
}
.catalog-results-heading {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  margin-block:28px 23px;
  font-size:.73rem;
}
.catalog-results-heading p {
  color:#006596;
}
.catalog-results-heading a {
  color:var(--teal);
  text-decoration:none;
}
.catalog-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:start;
  gap:20px;
}
.connector-card {
  display:flex;
  flex-direction:column;
  min-height:364px;
  padding:27px;
  border:1px solid #c4cdd6;
  border-radius:6px;
  background:#ffffff;
}
.connector-card-top {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  margin-bottom:22px;
}
.connector-mark {
  display:flex;
  flex:0 0 44px;
  width:44px;
  height:44px;
  align-items:center;
  justify-content:center;
  border:1px solid #c4cdd6;
  border-radius:7px;
  color:#006596;
  background:#e7f2f8;
  font-size:.95rem;
  font-weight:650;
  letter-spacing:-.05em;
}
.connector-direction {
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:8px;
  color:#53616e;
  font-size:.62rem;
  font-weight:650;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.connector-direction>span {
  font-size:.9rem;
  color:#006596;
}
.connector-card h2 {
  font-size:1.32rem;
  line-height:1.28;
  letter-spacing:-.03em;
}
.connector-card>p {
  flex:1;
  min-height:73px;
  margin-top:13px;
  font-size:.82rem;
  line-height:1.8;
}
.connector-tags {
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-block:20px;
}
.connector-tags>span {
  padding:3px 7px;
  border:1px solid #c4cdd6;
  border-radius:3px;
  color:#006596;
  font-size:.6rem;
  line-height:1.6;
}
.connector-card details {
  border-top:1px solid #c4cdd6;
  padding-top:17px;
}
.connector-card details>p {
  margin-top:17px;
  font-size:.76rem;
  line-height:1.85;
}
.connector-card .connection-method {
  font-size:.68rem;
  color:#006596;
}
.catalog-pagination {
  display:flex;
  justify-content:center;
  align-items:center;
  gap:30px;
  margin-top:39px;
}
.catalog-pagination>a {
  display:flex;
  align-items:center;
  gap:12px;
  padding:9px 14px;
  border:1px solid #c4cdd6;
  border-radius:4px;
  color:#006596;
  font-size:.74rem;
  font-weight:600;
  text-decoration:none;
}
.catalog-pagination>a:hover {
  border-color:var(--teal);
  color:var(--teal);
}
.catalog-pagination>[aria-disabled="true"] {
  opacity:.35;
  pointer-events:none;
}
.catalog-pagination>span {
  color:#006596;
  font-size:.72rem;
}
.catalog-empty {
  padding:60px 30px;
  border:1px solid #c4cdd6;
  border-radius:7px;
  text-align:center;
  background:#f1f4f7;
}
.catalog-empty>span {
  color:var(--teal);
  font-size:2.7rem;
}
.catalog-empty h2 {
  margin-top:14px;
  font-size:1.7rem;
}
.catalog-empty p {
  max-width:51ch;
  margin:20px auto 26px;
  font-size:.9rem;
  line-height:1.85;
}
.content-page {
  padding-block:70px 100px;
}
.content-page article {
  max-width:870px;
  margin-inline:auto;
}
.content-page h1 {
  margin-bottom:35px;
  font-size:3.3rem;
}
.page-copy {
  font-size:1rem;
  line-height:1.9;
  color:var(--muted);
}
.page-copy>*+* {
  margin-top:1.4em;
}
.page-copy h2,.page-copy h3 {
  margin-top:1.5em;
  color:#26313d;
}
.page-copy h2 {
  font-size:2rem;
}
.page-copy a {
  color:var(--teal);
}
.page-copy li+li {
  margin-top:.5em;
}
.page-copy table {
  width:100%;
  border-collapse:collapse;
}
.page-copy th,.page-copy td {
  padding:12px;
  border:1px solid var(--line);
  text-align:left;
}
.page-copy blockquote {
  margin-inline:0;
  padding:6px 0 6px 22px;
  border-left:3px solid var(--teal);
}
.wp-block-image img {
  height:auto;
}
.nav-links {
  display:flex;
  justify-content:center;
  gap:15px;
  margin-top:40px;
}
.roadmap-stats {
  display:flex;
  flex-wrap:wrap;
  gap:35px 70px;
  margin-top:40px;
}
.roadmap-stats>div {
  min-width:150px;
}
.roadmap-stats strong {
  display:block;
  color:#26313d;
  font-size:2.5rem;
  font-weight:550;
  letter-spacing:-.05em;
  line-height:1.2;
}
.roadmap-stats strong small {
  color:#53616e;
  font-size:1.3rem;
}
.roadmap-stats>div>span {
  display:block;
  margin-top:10px;
  color:#006596;
  font-size:.7rem;
}
.page-hero p.roadmap-snapshot {
  max-width:110ch;
  margin-top:30px;
  color:#006596;
  font-size:.71rem;
  line-height:1.85;
}
.roadmap-toolbar {
  display:none;
  grid-template-columns:1.3fr 1fr .8fr auto;
  align-items:end;
  gap:20px;
  padding:23px;
  border:1px solid #c4cdd6;
  border-radius:7px;
  background:#f0f3f6;
}
.js .roadmap-toolbar {
  display:grid;
}
.roadmap-toolbar label {
  display:block;
  margin-bottom:9px;
  color:#006596;
  font-size:.7rem;
  font-weight:600;
}
.roadmap-toolbar input,.roadmap-toolbar select {
  width:100%;
  min-height:46px;
  padding:9px 13px;
  border:1px solid #7d8a97;
  border-radius:4px;
  color:#26313d;
  background:#ffffff;
  font-size:.79rem;
}
.roadmap-toolbar .catalog-search input {
  padding-left:38px;
}
.roadmap-toolbar .text-link {
  padding-block:13px;
  font-size:.77rem;
}
.roadmap-filter-buttons {
  display:none;
  flex-wrap:wrap;
  gap:9px;
  margin-top:27px;
}
.js .roadmap-filter-buttons {
  display:flex;
}
.roadmap-filter-buttons button {
  min-height:41px;
  padding:9px 15px;
  border:1px solid #7d8a97;
  border-radius:4px;
  color:#006596;
  background:#ffffff;
  font-size:.72rem;
}
.roadmap-filter-buttons button[aria-pressed="true"] {
  color:#ffffff;
  border-color:var(--teal);
  background:var(--teal);
}
.roadmap-result-count {
  margin-block:20px 28px;
  color:#006596;
  font-size:.7rem;
}
.roadmap-board {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  align-items:start;
  gap:18px;
}
.roadmap-lane {
  min-width:0;
}
.roadmap-lane>h2 {
  display:flex;
  align-items:center;
  gap:8px;
  padding:15px 0;
  margin-bottom:13px;
  border-top:2px solid #c4cdd6;
  font-size:.84rem;
  font-weight:650;
  letter-spacing:0;
}
.roadmap-lane>h2>[data-lane-count] {
  display:flex;
  justify-content:center;
  align-items:center;
  min-width:22px;
  min-height:22px;
  margin-left:auto;
  border:1px solid #c4cdd6;
  border-radius:4px;
  color:#006596;
  background:#edf2f6;
  font-size:.64rem;
}
.roadmap-state-dot {
  width:6px;
  height:6px;
  border-radius:50%;
  background:#687887;
}
.state-complete {
  background:var(--teal);
}
.state-in_progress {
  background:#009cd8;
}
.state-requires_access {
  background:#986b14;
}
.roadmap-lane>div {
  display:grid;
  gap:15px;
}
.roadmap-card {
  min-width:0;
  padding:23px;
  border:1px solid #c4cdd6;
  border-radius:6px;
  background:#ffffff;
  scroll-margin-top:120px;
}
.roadmap-card-labels {
  display:flex;
  justify-content:space-between;
  align-items:start;
  gap:10px;
  margin-bottom:17px;
  color:#006596;
  font-size:.56rem;
  line-height:1.65;
}
.roadmap-card-labels>span:last-child {
  padding:2px 6px;
  border:1px solid #c4cdd6;
  border-radius:3px;
  color:#006596;
  background:#e8f2f8;
  white-space:nowrap;
}
.roadmap-card h3 {
  font-size:1.06rem;
  line-height:1.35;
  letter-spacing:-.025em;
}
.roadmap-card>p {
  margin-top:14px;
  font-size:.74rem;
  line-height:1.9;
}
.roadmap-progress {
  margin-top:20px;
}
.roadmap-progress progress {
  display:block;
  width:100%;
  height:4px;
  overflow:hidden;
  border:0;
  border-radius:5px;
  color:var(--teal);
  background:#d5dce3;
  accent-color:var(--teal);
}
.roadmap-progress progress::-webkit-progress-bar {
  border-radius:5px;
  background:#d5dce3;
}
.roadmap-progress progress::-webkit-progress-value {
  background:var(--teal);
}
.roadmap-progress progress::-moz-progress-bar {
  background:var(--teal);
}
.roadmap-progress>span {
  display:block;
  margin-top:8px;
  color:#006596;
  font-size:.59rem;
}
.roadmap-dependencies {
  display:grid;
  gap:8px;
  padding-top:17px;
  margin-top:17px;
  border-top:1px solid #c4cdd6;
}
.roadmap-dependencies>span:first-child {
  color:#53616e;
  font-size:.59rem;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.roadmap-dependencies>a,.roadmap-dependencies>span:not(:first-child) {
  color:#006596;
  font-size:.65rem;
  line-height:1.8;
  text-decoration:none;
}
.roadmap-dependencies>a:hover {
  color:var(--teal);
}
.roadmap-card details {
  padding-top:17px;
  margin-top:18px;
  border-top:1px solid #c4cdd6;
}
.roadmap-card summary,.setup-grid summary {
  display:flex;
  justify-content:space-between;
  gap:10px;
  color:#006596;
  font-size:.65rem;
  font-weight:600;
  list-style:none;
}
.roadmap-card summary::-webkit-details-marker,.setup-grid summary::-webkit-details-marker {
  display:none;
}
.roadmap-card summary>span,.setup-grid summary>span {
  color:var(--teal);
}
.roadmap-card p.roadmap-evidence {
  margin-top:15px;
  color:#006596;
  font-size:.67rem;
  line-height:1.9;
}
.roadmap-checks {
  display:grid;
  gap:13px;
  padding:0;
  margin:18px 0 0;
  list-style:none;
}
.roadmap-checks li {
  display:flex;
  gap:9px;
  color:#006596;
  font-size:.65rem;
  line-height:1.8;
}
.roadmap-checks li>span {
  color:var(--teal);
}
.roadmap-checks small {
  display:block;
  margin-top:3px;
  color:#53616e;
  font-size:.56rem;
}
.setup-section {
  border-top:1px solid #c4cdd6;
  background:#eff2f5;
}
.setup-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:start;
  gap:22px;
  margin-top:45px;
}
.setup-grid article {
  padding:28px;
  border:1px solid #c4cdd6;
  border-radius:6px;
  background:#ffffff;
}
.setup-heading {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:14px;
  margin-bottom:18px;
}
.setup-heading h3 {
  width:100%;
  font-size:1.18rem;
}
.setup-grid article>p {
  font-size:.82rem;
  line-height:1.9;
}
.setup-grid details {
  padding-top:19px;
  margin-top:21px;
  border-top:1px solid #c4cdd6;
}
.setup-grid summary {
  font-size:.76rem;
}
.setup-grid details>p {
  margin-top:17px;
  font-size:.76rem;
  line-height:1.9;
}
.setup-links {
  display:grid;
  gap:13px;
  margin-top:20px;
}
.setup-links a {
  display:flex;
  justify-content:space-between;
  color:var(--teal);
  font-size:.72rem;
  font-weight:550;
  text-decoration:none;
}
.catalog-results-heading {
  scroll-margin-top:120px;
}
@media(min-width:1600px) {
  .hero-inner {
    min-height:830px;
  }
}
@media(max-width:1200px) {
  .header-inner {
    gap:20px;
  }
  .brand {
    flex-basis:213px;
    width:213px;
  }
  .brand img {
    width:213px;
    height:60px;
  }
  #site-nav {
    gap:17px;
  }
  #site-nav>a,.nav-group>summary {
    font-size:.75rem;
  }
  .hero-signals {
    right:-20px;
    transform:translateY(-50%) scale(.85);
  }
  .hero-copy {
    width:75%;
  }
  .section-heading,.module-intro {
    gap:50px;
  }
  .connectors-feature-grid {
    gap:65px;
  }
  .integrator-grid,.faq-section,.access-grid {
    gap:65px;
  }
  .system-map {
    padding:35px 25px;
  }
  .map-sources>span,.map-outcomes>span {
    padding-inline:12px;
    font-size:.75rem;
  }
  .map-hub>span {
    font-size:1.5rem;
  }
  .footer-top {
    gap:30px;
  }
}
@media(max-width:76rem) {
  .roadmap-board {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:25px;
  }
  .roadmap-toolbar {
    grid-template-columns:1.3fr 1fr;
  }
  .setup-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .roadmap-card h3 {
    font-size:1.13rem;
  }
  .roadmap-card>p {
    font-size:.81rem;
  }
  .js .nav-toggle {
    display:inline-flex;
    align-items:center;
    gap:10px;
    min-height:44px;
    padding:9px 13px;
    border:1px solid #7d8a97;
    border-radius:4px;
    color:#006596;
    background:#ffffff;
    font-size:.78rem;
    font-weight:600;
  }
  .js #site-nav {
    position:absolute;
    top:100%;
    right:0;
    left:0;
    display:none;
    align-items:stretch;
    gap:0;
    padding:14px var(--gutter) 24px;
    border-bottom:1px solid #c4cdd6;
    background:#ffffff;
    box-shadow:0 15px 25px #17212e44;
  }
  .js #site-nav.is-open {
    display:flex;
    flex-direction:column;
  }
  #site-nav>a:not(.button),.nav-group>summary {
    padding-block:13px;
  }
  #site-nav>.button {
    align-self:flex-start;
    margin-top:10px;
  }
  .nav-login {
    margin-left:0;
  }
  .nav-group>div {
    position:static;
    width:100%;
    margin-bottom:10px;
    border-color:#c4cdd6;
    box-shadow:none;
  }
  .nav-group>div a {
    padding:12px;
  }
  html:not(.js) .header-inner {
    flex-wrap:wrap;
    padding-bottom:20px;
  }
  html:not(.js) #site-nav {
    width:100%;
    flex-wrap:wrap;
  }
  .hero-inner {
    min-height:725px;
    padding-block:85px;
  }
  .hero h1 {
    font-size:4.7rem;
  }
  .hero-copy {
    width:79%;
  }
  .hero-summary {
    max-width:45ch;
    font-size:.98rem;
  }
  .hero-signals {
    right:-75px;
    opacity:.5;
    transform:translateY(-50%) scale(.75);
  }
  .tower-one {
    right:12%;
  }
  .tower-three {
    right:34%;
  }
  .section-heading>p {
    max-width:38ch;
  }
  .map-hub small {
    font-size:.54rem;
  }
  .map-sources>span,.map-outcomes>span {
    gap:10px;
    padding-inline:10px;
    font-size:.68rem;
  }
  .map-sources b {
    font-size:1rem;
  }
  .workflow {
    gap:30px;
  }
  .workflow h3 {
    font-size:1.12rem;
  }
  .workflow p {
    font-size:.84rem;
  }
  .module-grid,.catalog-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .connector-mosaic>span {
    font-size:.85rem;
  }
  .connector-mosaic>.mosaic-center {
    font-size:1.25rem;
  }
  .connectors-feature-grid {
    gap:50px;
  }
  .module-intro {
    gap:40px;
  }
  .teams-grid {
    gap:18px;
  }
  .teams-grid article {
    padding:25px;
  }
  .teams-grid h3 {
    font-size:1.07rem;
  }
  .teams-grid p {
    font-size:.8rem;
  }
  .integrator-grid,.faq-section,.access-grid {
    gap:45px;
  }
  .access-panel {
    padding:28px;
  }
  .form-row,.interest-options {
    grid-template-columns:1fr;
  }
  .footer-top {
    grid-template-columns:1.4fr 1fr 1fr;
  }
  .footer-top>div:last-child {
    grid-column:2;
  }
  .catalog-toolbar {
    grid-template-columns:1.5fr 1fr;
  }
  .detail-sections article {
    grid-template-columns:.1fr 1fr 1fr;
    gap:24px;
  }
  .detail-sections h2 {
    font-size:1.8rem;
  }
}
@media(max-width:782px) {
  body.admin-bar {
    --adminbar-height:46px;
  }
}
@media(max-width:760px) {
  .roadmap-stats {
    gap:30px 45px;
  }
  .roadmap-stats strong {
    font-size:2.2rem;
  }
  .roadmap-stats>div>span {
    font-size:.64rem;
  }
  .roadmap-toolbar {
    gap:18px;
    padding:20px;
  }
  .roadmap-card {
    padding:23px;
  }
  .roadmap-card h3 {
    font-size:1.1rem;
  }
  .roadmap-card-labels {
    font-size:.57rem;
  }
  .roadmap-card>p {
    font-size:.77rem;
  }
  .setup-grid article {
    padding:24px;
  }
  .setup-heading h3 {
    font-size:1.1rem;
  }
  :root {
    --gutter:26px;
  }
  .section {
    padding-block:73px;
  }
  .header-inner {
    min-height:82px;
  }
  .brand {
    flex-basis:213px;
    width:213px;
  }
  .brand img {
    height:58px;
  }
  .hero-inner {
    min-height:730px;
    padding-block:70px 77px;
  }
  .hero-copy {
    width:100%;
  }
  .hero h1 {
    max-width:16ch;
    font-size:clamp(3.5rem,8.8vw,4.6rem);
  }
  .hero h1 em {
    margin-top:13px;
    font-size:.73em;
  }
  .hero-summary {
    max-width:48ch;
    font-size:.96rem;
  }
  .hero-signals {
    display:none;
  }
  .hero::after {
    background:linear-gradient(90deg,#20262ef0,#20262eba 65%,#20262e75),linear-gradient(0deg,#20262e,transparent 65%);
  }
  .tower {
    opacity:.55;
  }
  .tower-one {
    right:-5%;
  }
  .tower-two {
    right:-20%;
  }
  .tower-three {
    right:30%;
  }
  .hero-footnote {
    max-width:43ch;
  }
  .compatibility .wrap {
    flex-direction:column;
    align-items:flex-start;
    gap:14px;
  }
  .compatibility p {
    max-width:none;
  }
  .compatibility .wrap>div {
    justify-content:flex-start;
    gap:9px 28px;
  }
  .compatibility small {
    text-align:left;
  }
  .section-heading,.module-intro {
    display:block;
  }
  .section-heading>p,.module-intro>p {
    max-width:53ch;
    margin-top:25px;
    font-size:.91rem;
  }
  .section-heading>.text-link {
    margin-top:25px;
  }
  .system-map {
    grid-template-columns:1fr;
    gap:0;
    padding:26px;
    margin-top:42px;
  }
  .map-sources,.map-outcomes {
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:9px;
  }
  .map-sources>span,.map-outcomes>span {
    flex-direction:column;
    justify-content:center;
    gap:6px;
    min-height:79px;
    padding:12px 6px;
    font-size:.66rem;
    text-align:center;
  }
  .map-outcomes b {
    margin:0;
  }
  .map-hub {
    width:75%;
    min-height:105px;
    margin-inline:auto;
  }
  .map-hub>span {
    font-size:1.75rem;
  }
  .map-hub small {
    font-size:.62rem;
  }
  .map-connections {
    width:1px;
    height:32px;
    margin:auto;
    background:#009cd818;
  }
  .map-connections i {
    display:none;
  }
  .workflow {
    gap:24px;
    margin-top:43px;
  }
  .workflow h3 {
    font-size:1.03rem;
  }
  .workflow p {
    font-size:.79rem;
  }
  .workflow-icon {
    margin-block:21px 20px;
  }
  .connectors-feature-grid {
    grid-template-columns:1fr;
    gap:65px;
  }
  .connector-mosaic {
    max-width:500px;
    margin-inline:auto;
  }
  .connectors-feature-grid>div:last-child>p:not(.eyebrow) {
    max-width:55ch;
    font-size:.92rem;
  }
  .connector-mosaic>span {
    font-size:1rem;
  }
  .connector-mosaic>.mosaic-center {
    font-size:1.55rem;
  }
  .module-card {
    padding:25px;
  }
  .module-card>p {
    min-height:77px;
    font-size:.8rem;
  }
  .module-card h3 {
    font-size:1.1rem;
  }
  .module-symbol {
    width:35px;
    height:35px;
    flex-basis:35px;
    font-size:1.2rem;
  }
  .status {
    padding:4px 6px;
    font-size:.52rem;
  }
  .teams-grid {
    grid-template-columns:1fr;
    gap:17px;
  }
  .teams-grid article {
    min-height:0;
    padding:29px;
  }
  .team-symbol {
    margin-bottom:16px;
  }
  .teams-grid h3 {
    font-size:1.3rem;
  }
  .teams-grid p {
    max-width:55ch;
    font-size:.9rem;
  }
  .teams-grid a {
    max-width:360px;
  }
  .integrator-grid,.faq-section,.access-grid {
    grid-template-columns:1fr;
    gap:42px;
  }
  .integrator-grid>div>p:not(.eyebrow) {
    max-width:55ch;
    font-size:.92rem;
  }
  .integrator-notes {
    max-width:600px;
  }
  .access-grid>div:first-child {
    position:static;
    padding:0;
  }
  .access-grid>div>p:not(.eyebrow) {
    max-width:50ch;
  }
  .form-row,.interest-options {
    grid-template-columns:1fr 1fr;
  }
  .footer-top {
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:35px;
  }
  .footer-top>.footer-brand {
    grid-column:1/-1;
  }
  .footer-top>div:last-child {
    grid-column:auto;
  }
  .footer-bottom {
    flex-wrap:wrap;
  }
  .page-hero {
    padding-block:75px 64px;
  }
  .page-hero h1 {
    font-size:3.6rem;
  }
  .page-hero>.wrap>p:not(.eyebrow) {
    font-size:.95rem;
  }
  .detail-sections article {
    grid-template-columns:42px 1fr;
    gap:20px;
    padding-block:43px;
  }
  .detail-sections article>p {
    grid-column:2;
    font-size:.9rem;
  }
  .detail-sections h2 {
    max-width:none;
    font-size:2rem;
  }
  .catalog-toolbar {
    padding:20px;
    gap:18px;
  }
  .catalog-results-heading {
    margin-top:23px;
  }
  .connector-card {
    padding:23px;
  }
  .connector-card h2 {
    font-size:1.2rem;
  }
  .connector-card>p {
    font-size:.78rem;
  }
  .connector-card-top {
    gap:7px;
  }
  .connector-mark {
    flex-basis:37px;
    width:37px;
    height:37px;
    font-size:.83rem;
  }
}
@media(max-width:520px) {
  .roadmap-stats {
    gap:25px 32px;
  }
  .roadmap-stats>div {
    min-width:125px;
  }
  .roadmap-stats strong {
    font-size:2.1rem;
  }
  .page-hero p.roadmap-snapshot {
    margin-top:27px;
    font-size:.66rem;
  }
  .roadmap-toolbar {
    grid-template-columns:1fr;
  }
  .roadmap-toolbar input,.roadmap-toolbar select {
    font-size:16px;
  }
  .roadmap-toolbar .text-link {
    padding-block:5px;
  }
  .roadmap-filter-buttons {
    gap:7px;
  }
  .roadmap-filter-buttons button {
    flex-grow:1;
    padding-inline:12px;
    font-size:.68rem;
  }
  .roadmap-board {
    grid-template-columns:1fr;
    gap:30px;
  }
  .roadmap-card {
    padding:26px;
  }
  .roadmap-card h3 {
    font-size:1.2rem;
  }
  .roadmap-card>p {
    font-size:.83rem;
  }
  .roadmap-card-labels {
    font-size:.63rem;
  }
  .roadmap-progress>span {
    font-size:.65rem;
  }
  .roadmap-dependencies>a,.roadmap-dependencies>span:not(:first-child) {
    font-size:.72rem;
  }
  .roadmap-card summary {
    font-size:.74rem;
  }
  .roadmap-card p.roadmap-evidence {
    font-size:.75rem;
  }
  .roadmap-checks li {
    font-size:.74rem;
  }
  .roadmap-checks small {
    font-size:.63rem;
  }
  .setup-grid {
    grid-template-columns:1fr;
  }
  .setup-grid article {
    padding:26px;
  }
  .setup-heading h3 {
    font-size:1.22rem;
  }
  :root {
    --gutter:22px;
  }
  .section {
    padding-block:61px;
  }
  .header-inner {
    min-height:78px;
    gap:13px;
  }
  .brand {
    flex:0 1 210px;
    width:210px;
  }
  .brand img {
    width:210px;
    height:57px;
  }
  .js .nav-toggle {
    gap:7px;
    padding-inline:10px;
    font-size:.75rem;
  }
  html {
    scroll-padding-top:96px;
  }
  .hero-inner {
    min-height:0;
    padding-block:55px 69px;
  }
  .hero h1 {
    font-size:clamp(2.9rem,11.1vw,4rem);
    max-width:15ch;
  }
  .hero h1 em {
    width:auto;
    max-width:100%;
    margin-top:16px;
    font-size:.8em;
  }
  .hero .eyebrow {
    margin-bottom:22px;
    font-size:.61rem;
    letter-spacing:.1em;
  }
  .hero-summary {
    margin-top:26px;
    font-size:.92rem;
    line-height:1.85;
  }
  .hero-actions {
    margin-top:29px;
    gap:13px;
  }
  .hero-actions>.button {
    width:100%;
    justify-content:space-between;
    padding-inline:20px;
    min-height:50px;
    font-size:.8rem;
  }
  .hero-footnote {
    margin-top:22px;
    font-size:.68rem;
  }
  .tower-one {
    right:-40%;
  }
  .tower-two {
    right:-65%;
  }
  .tower-three {
    right:6%;
  }
  .compatibility {
    padding-block:23px;
  }
  .compatibility p {
    font-size:.67rem;
  }
  .compatibility span {
    font-size:.83rem;
  }
  .compatibility .wrap>div {
    gap:10px 23px;
  }
  .compatibility small {
    font-size:.59rem;
  }
  .eyebrow {
    margin-bottom:18px;
    font-size:.64rem;
  }
  .section-heading h2,h2 {
    font-size:2.55rem;
  }
  .section-heading>p,.module-intro>p {
    margin-top:23px;
    font-size:.86rem;
  }
  .system-map {
    padding:19px 15px;
  }
  .map-sources,.map-outcomes {
    gap:6px;
  }
  .map-sources>span,.map-outcomes>span {
    font-size:.56rem;
    min-height:73px;
  }
  .map-hub {
    width:85%;
  }
  .map-hub>span {
    font-size:1.55rem;
  }
  .map-hub small {
    font-size:.56rem;
  }
  .diagram-caption {
    font-size:.6rem;
    line-height:1.8;
  }
  .workflow {
    grid-template-columns:1fr;
    gap:30px;
  }
  .workflow article {
    display:grid;
    grid-template-columns:47px 1fr;
    column-gap:18px;
    padding-top:20px;
  }
  .step {
    grid-column:1/-1;
    margin-bottom:22px;
  }
  .workflow-icon {
    grid-column:1;
    grid-row:2/4;
    width:45px;
    height:45px;
    margin:0;
  }
  .workflow h3 {
    grid-column:2;
    margin-bottom:10px;
    font-size:1.1rem;
  }
  .workflow p {
    grid-column:2;
    font-size:.83rem;
  }
  .connector-mosaic {
    gap:12px;
    transform:rotate(-3deg);
  }
  .connector-mosaic>span {
    min-height:88px;
    padding:12px 8px;
    font-size:.81rem;
  }
  .connector-mosaic small {
    font-size:.51rem;
  }
  .connector-mosaic>.mosaic-center {
    font-size:1.24rem;
  }
  .connectors-feature-grid {
    gap:54px;
  }
  .connectors-feature-grid .button {
    width:100%;
    justify-content:space-between;
  }
  .module-grid,.catalog-grid {
    grid-template-columns:1fr;
    gap:16px;
  }
  .module-card {
    padding:27px;
  }
  .module-card>p {
    min-height:0;
    font-size:.85rem;
  }
  .module-card h3 {
    font-size:1.22rem;
  }
  .module-card-top {
    margin-bottom:23px;
  }
  .module-symbol {
    width:39px;
    height:39px;
    flex-basis:39px;
    font-size:1.35rem;
  }
  .status {
    padding:4px 8px;
    font-size:.59rem;
  }
  .module-filters {
    gap:7px;
    margin-top:28px;
  }
  .module-filters button {
    flex-grow:1;
    padding-inline:13px;
    font-size:.68rem;
    min-height:42px;
  }
  .availability-note {
    font-size:.68rem;
  }
  .teams-grid article {
    padding:26px;
  }
  .teams-grid h3 {
    font-size:1.2rem;
  }
  .teams-grid p {
    font-size:.85rem;
  }
  .integrator-notes article {
    gap:18px;
    padding-block:23px;
  }
  .integrator-notes h3 {
    font-size:1.02rem;
  }
  .integrator-notes p {
    font-size:.81rem;
  }
  .faq-list summary {
    font-size:.9rem;
    padding-block:22px;
  }
  .faq-list p {
    padding-right:15px;
    font-size:.81rem;
  }
  .access-grid>div>p:not(.eyebrow) {
    font-size:.9rem;
  }
  .access-panel {
    padding:27px 22px;
  }
  .access-form h3 {
    font-size:1.43rem;
  }
  .form-row,.interest-options {
    grid-template-columns:1fr;
  }
  .access-form input:not([type="checkbox"]):not([type="hidden"]),.access-form select,.access-form textarea {
    font-size:16px;
  }
  .interest-options label,.access-form .consent {
    font-size:.73rem;
  }
  .footer-top {
    grid-template-columns:1fr 1fr;
    gap:33px 23px;
    padding-bottom:37px;
  }
  .footer-top>div:last-child {
    grid-column:1/-1;
  }
  .footer-top h2 {
    font-size:.77rem;
  }
  .footer-bottom {
    flex-direction:column;
    align-items:flex-start;
    gap:12px;
    font-size:.62rem;
  }
  .page-hero {
    padding-block:58px 53px;
  }
  .page-hero h1 {
    font-size:clamp(2.8rem,10.4vw,3.6rem);
  }
  .page-hero>.wrap>p:not(.eyebrow) {
    margin-top:24px;
    font-size:.89rem;
  }
  .detail-sections article {
    grid-template-columns:28px 1fr;
    gap:14px;
  }
  .detail-sections h2 {
    font-size:1.8rem;
  }
  .detail-sections article>p {
    font-size:.85rem;
  }
  .detail-sections .eyebrow {
    font-size:.6rem;
  }
  .closing-cta .wrap {
    text-align:left;
  }
  .closing-cta .eyebrow {
    justify-content:flex-start;
  }
  .closing-cta p:not(.eyebrow) {
    font-size:.88rem;
  }
  .closing-cta .button {
    width:100%;
    justify-content:space-between;
  }
  .catalog-legend {
    gap:13px 22px;
    font-size:.63rem;
  }
  .catalog-toolbar {
    grid-template-columns:1fr;
    padding:21px;
    gap:17px;
  }
  .catalog-toolbar label {
    font-size:.7rem;
  }
  .catalog-toolbar input:not([type="hidden"]),.catalog-toolbar select {
    min-height:46px;
    font-size:16px;
  }
  .catalog-search>div>span {
    top:8px;
  }
  .catalog-results-heading {
    font-size:.69rem;
    gap:10px;
  }
  .connector-card {
    min-height:0;
    padding:27px;
  }
  .connector-card-top {
    gap:15px;
    margin-bottom:24px;
  }
  .connector-mark {
    width:43px;
    height:43px;
    flex-basis:43px;
    font-size:.92rem;
  }
  .connector-card h2 {
    font-size:1.36rem;
  }
  .connector-card>p {
    min-height:0;
    font-size:.83rem;
  }
  .connector-direction {
    font-size:.61rem;
  }
  .connector-tags>span {
    font-size:.61rem;
  }
  .connector-card details>p {
    font-size:.78rem;
  }
  .catalog-pagination {
    gap:15px;
  }
  .catalog-pagination>a {
    padding:9px 12px;
    font-size:.68rem;
    gap:7px;
  }
  .catalog-pagination>span {
    font-size:.65rem;
  }
  .catalog-empty {
    padding:42px 24px;
  }
  .catalog-empty h2 {
    font-size:1.6rem;
  }
  .catalog-empty p {
    font-size:.85rem;
  }
  .content-page {
    padding-block:45px 65px;
  }
  .content-page h1 {
    font-size:2.8rem;
  }
}
@media(max-width:600px) {
  body.admin-bar .site-header {
    top:0;
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }
  *,*::before,*::after {
    animation:none!important;
    transition:none!important;
  }
}
@media(prefers-contrast:more) {
  :root {
    --muted:#29333e;
    --line:#667482;
  }
  .module-card,.connector-card,.catalog-toolbar,.access-panel {
    border-color:#006596;
  }
  .availability-note,.small-note,.diagram-caption {
    color:#006596!important;
  }
}

/* Logo palette: actual PNG blues #00afef / #006596 / #004a76. */
.hero,.site-footer {
  --ink:#ffffff;
  --muted:#c5ced8;
  --teal:#00afef;
  --focus:#00afef;
  color:#ffffff;
}
.hero .button:not(.button-outline) {
  color:#ffffff;
  background:#006596;
  border-color:#006596;
}
.hero .button:not(.button-outline):hover {
  background:#004a76;
  border-color:#004a76;
}
.hero .button-outline {
  color:#ffffff;
  background:transparent;
  border-color:#b8c4d1;
}
.hero .button-outline:hover {
  color:#ffffff;
  background:#ffffff12;
  border-color:#ffffff;
}
.mosaic-center>span {
  color:#00afef;
}

/* Locally served vendor marks keep catalog identity readable on platinum cards. */
.connector-logos { display:flex; align-items:center; gap:8px; width:132px; height:50px; min-width:0; }
.connector-logo { display:block; width:auto; max-width:132px; height:auto; max-height:42px; object-fit:contain; }
.connector-logos-multiple .connector-logo { width:34px; max-width:34px; height:34px; }
.connector-logo-dark { padding:6px; background:#191e25; border-radius:4px; }

/* Gateway deployment choices share the product palette and responsive rhythm. */
.gateway-section { background:#fff; border-block:1px solid var(--line); }
.gateway-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-top:44px; }
.gateway-card { position:relative; display:flex; flex-direction:column; padding:30px; border:1px solid var(--line); border-radius:12px; background:linear-gradient(145deg,#f9fbfd,#edf3f8); }
.gateway-number { color:#006596; font-size:1.65rem; font-weight:650; letter-spacing:-.05em; }
.gateway-status { margin-block:18px 10px; color:#006596; font-size:.7rem; font-weight:650; }
.gateway-card h3 { margin:0 0 14px; font-size:1.2rem; letter-spacing:-.025em; }
.gateway-card>p:not(.gateway-status) { color:var(--muted); font-size:.86rem; line-height:1.7; margin:0 0 24px; }
.gateway-card .text-link { margin-top:auto; font-size:.8rem; }
.dataflow-lines { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; overflow:visible; }
.flow-ready .map-connections { visibility:hidden; }
.dataflow-lines path { fill:none; vector-effect:non-scaling-stroke; stroke-linecap:round; }
.flow-track { stroke:#006596; stroke-opacity:.24; stroke-width:1.5; }
.flow-packet { stroke:#008dc7; stroke-width:2.5; stroke-dasharray:5 95; animation:dataflow-travel 3.6s linear infinite; }
.flow-paused .flow-packet { animation-play-state:paused; }
.diagram-footer { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:12px; margin-top:15px; }
.diagram-footer .diagram-caption { margin:0; }
.flow-toggle { padding:5px 10px; border:1px solid #9dadbb; border-radius:5px; background:transparent; color:#345064; font:inherit; font-size:.68rem; cursor:pointer; }
.flow-toggle:hover { background:#e1ebf3; }
.flow-toggle[hidden] { display:none; }
@keyframes dataflow-travel { to { stroke-dashoffset:-100; } }
@media (prefers-reduced-motion:reduce) { .flow-packet { animation:none; stroke-dasharray:3 5; stroke-opacity:.6; } }
@media (max-width:64rem) { .gateway-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:40rem) { .gateway-grid { grid-template-columns:1fr; gap:14px; } .gateway-card { padding:24px; } }

.capability-heading { margin:10px 0 8px!important; font-size:.68rem!important; font-weight:650; color:var(--teal)!important; }
.connector-capabilities { margin:0 0 20px; padding-left:18px; color:var(--muted); font-size:.78rem; line-height:1.8; }
.integrator-section { background:linear-gradient(90deg,#eef3f8f7,#eef3f8e8),url(assets/operations-background.webp) center/cover; }
.hero .eyebrow,.hero .hero-footnote { color:#b5d8ed; }
.hero-signals>span { color:#d3e6f3; border-color:#a4c6db70; background:#15253480; }

/* Event sources and operational outcomes, always animated on the visible home page. */
.map-sources,.map-outcomes { gap:10px; }
.map-icon { display:grid; place-items:center; width:22px; height:22px; flex:0 0 22px; color:#006596; }
.map-icon svg { width:100%; height:100%; }
.map-label { display:block; min-width:0; line-height:1.4; }
.map-label small { display:block; margin-top:2px; font-size:.58rem; color:#5e7181; }
.flow-ready .map-hub::after { content:""; position:absolute; inset:-5px; border:1px solid #009cd8; border-radius:12px; pointer-events:none; animation:dataflow-hub 3.6s ease-out infinite; }
.flow-paused .map-hub::after { animation-play-state:paused; }
@keyframes dataflow-hub { 0% { opacity:.45; transform:scale(1); } 80%,100% { opacity:0; transform:scale(1.035,1.12); } }
@media (max-width:48rem) { .map-sources,.map-outcomes { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; } .map-sources>span,.map-outcomes>span { min-height:88px; } .map-sources>span:last-child,.map-outcomes>span:last-child { grid-column:1/-1; } .map-label small { font-size:.55rem; } .dataflow-lines { overflow:hidden; } }
@media (prefers-reduced-motion:reduce) { .flow-ready .map-hub::after { animation:none; opacity:0; } }

.contact-phone{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:24px 0;font-size:14px}.contact-phone a{font-size:23px;font-weight:700;letter-spacing:-.03em;color:var(--cyan);text-decoration:none}.contact-phone a:hover{text-decoration:underline}

.incident-engine .incident-brand-logo{width:90%;max-width:236px;height:auto;max-height:102px;object-fit:contain;position:relative;z-index:1}.incident-engine .incident-engine-orbit{opacity:.25}

[data-scenario="4"] .incident-event-4,[data-scenario="5"] .incident-event-5{display:block}.brand img{object-fit:contain}.incident-engine .incident-brand-logo{max-width:120px;max-height:104px}.incident-delivery svg{width:24px;height:24px}

/* Supported vendor orbit. Names stay readable in the static caption. */
.connector-orbit {width:min(100%,440px);min-width:0;margin:0 auto;color:var(--ink,#202832)}
.connector-orbit__stage {--orbit-chip:clamp(48px,16vw,70px);position:relative;width:100%;aspect-ratio:1;isolation:isolate;background:radial-gradient(circle,#e8f2f8 0,transparent 64%)}
.connector-orbit__stage::before {content:"";position:absolute;inset:28%;border:1px dashed #81adc64d;border-radius:50%}
.connector-orbit__center {position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:31%;aspect-ratio:1;border:1px solid #c3d6e2;border-radius:50%;display:grid;place-items:center;background:#fff;box-shadow:0 0 0 10px #ffffff70,0 14px 36px #00375614;z-index:2}
.connector-orbit__center img {display:block;width:77%;height:auto;object-fit:contain}
.connector-orbit__ring {position:absolute;inset:14%;border:1px solid #8cb2ca80;border-radius:50%;animation:ip-vendor-orbit 40s linear infinite}
.connector-orbit__node {position:absolute;width:var(--orbit-chip);height:var(--orbit-chip);transform:translate(-50%,-50%)}
.connector-orbit__node--0 {left:50%;top:0}
.connector-orbit__node--1 {left:89.0916%;top:18.8255%}
.connector-orbit__node--2 {left:98.7464%;top:61.126%}
.connector-orbit__node--3 {left:71.6942%;top:95.0484%}
.connector-orbit__node--4 {left:28.3058%;top:95.0484%}
.connector-orbit__node--5 {left:1.2536%;top:61.126%}
.connector-orbit__node--6 {left:10.9084%;top:18.8255%}
.connector-orbit__chip {display:grid;place-items:center;width:100%;height:100%;border:1px solid #bdccd7;border-radius:19px;background:#fff;box-shadow:0 6px 18px #00375612;animation:ip-vendor-upright 40s linear infinite}
.connector-orbit__chip img {display:block;width:83%;height:76%;object-fit:contain}
.connector-orbit__chip--app {border-radius:24%}
.connector-orbit__chip--app img {width:91%;height:91%;border-radius:21%}
.connector-orbit__legend {display:flex;justify-content:center;flex-wrap:wrap;gap:7px 12px;margin:6px auto 0;max-width:420px;padding:0 8px;font-size:11px;line-height:1.5;color:var(--muted,#5c6974);text-align:center}
.connector-orbit__legend span {display:inline-flex;align-items:center;gap:7px}
.connector-orbit__legend span::before {content:"";width:3px;height:3px;border-radius:50%;background:#0079b8;flex:none}
@keyframes ip-vendor-orbit {from {transform:rotate(0deg)} to {transform:rotate(360deg)}}
@keyframes ip-vendor-upright {from {transform:rotate(0deg)} to {transform:rotate(-360deg)}}
@media (max-width:430px) {
  .connector-orbit__chip {border-radius:15px}
  .connector-orbit__chip--app {border-radius:24%}
  .connector-orbit__legend {font-size:10px;gap:5px 9px;padding:0}
}
@media (prefers-reduced-motion:reduce) {
  .connector-orbit__ring,.connector-orbit__chip {animation:none}
}
