
html {
  scroll-behavior: smooth;
}

.heimdall-page-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  max-width: 1180px;
  margin: 0 auto;
  padding: 12px 14px;
  background: #f5fbfe;
  border: 1px solid #b9e4f4;
  border-radius: 14px;
  box-shadow: 0 5px 18px rgba(6, 27, 72, 0.08);
}

.heimdall-page-nav a {
  display: inline-block;
  padding: 9px 14px;
  color: #0b3f98;
  background: #ffffff;
  border: 1px solid #d2eaf4;
  border-radius: 20px;
  font-family: Arial, sans-serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  transition: all 0.2s ease;
}

.heimdall-page-nav a:hover {
  color: #ffffff;
  background: #0874a8;
  border-color: #0874a8;
  transform: translateY(-1px);
}

.heimdall-page-nav a.pilot-link {
  color: #ffffff;
  background: linear-gradient(90deg, #061b48, #0874a8);
  border-color: transparent;
}

.heimdall-anchor {
  height: 1px;
  scroll-margin-top: 105px;
}

@media (max-width: 700px) {
  .heimdall-page-nav {
    gap: 6px;
    padding: 10px;
  }

  .heimdall-page-nav a {
    padding: 8px 11px;
    font-size: 12px;
  }
}


  .heimdall-intervention-flow,
  .heimdall-intervention-flow * { box-sizing: border-box; }

  .heimdall-intervention-flow {
    --hif-navy: #061b48;
    --hif-blue: #0b3f98;
    --hif-cyan: #13bce9;
    --hif-cyan-dark: #087fac;
    --hif-ink: #173550;
    --hif-muted: #4d697f;
    width: 100%;
    max-width: 1220px;
    margin: 36px auto;
    container-type: inline-size;
    color: var(--hif-ink);
    font-family: Arial, Helvetica, sans-serif !important;
  }

  .heimdall-intervention-flow h2,
  .heimdall-intervention-flow h3,
  .heimdall-intervention-flow p,
  .heimdall-intervention-flow span,
  .heimdall-intervention-flow strong {
    font-family: Arial, Helvetica, sans-serif !important;
    font-style: normal !important;
  }

  .heimdall-intervention-flow .hif-shell {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    border: 1px solid #72cae9;
    border-radius: 30px;
    background: #f8fdff;
    box-shadow: 0 18px 48px rgba(6, 27, 72, 0.15);
  }

  .heimdall-intervention-flow .hif-header {
    position: relative;
    overflow: hidden;
    padding: 47px 52px 43px;
    color: #ffffff;
    border-radius: 28px 28px 0 0;
    background:
      radial-gradient(circle at 84% 26%, rgba(36, 217, 248, 0.28), transparent 25%),
      linear-gradient(122deg, #061b48 0%, #0b3f98 58%, #078fbd 100%);
  }

  .heimdall-intervention-flow .hif-header::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: 0.21;
    background-image: radial-gradient(circle, #82eaff 1.2px, transparent 1.35px);
    background-size: 25px 25px;
    pointer-events: none;
  }

  .heimdall-intervention-flow .hif-header::after {
    content: "";
    position: absolute;
    width: 420px;
    height: 420px;
    right: -155px;
    bottom: -270px;
    border: 2px solid rgba(126, 232, 255, 0.27);
    border-radius: 50%;
    box-shadow: 0 0 0 42px rgba(126, 232, 255, 0.05), 0 0 0 95px rgba(126, 232, 255, 0.035);
  }

  .heimdall-intervention-flow .hif-header-copy {
    position: relative;
    z-index: 1;
    max-width: 1040px;
  }

  .heimdall-intervention-flow .hif-eyebrow {
    display: flex !important;
    align-items: center;
    gap: 11px;
    margin: 0 0 15px !important;
    color: #7feaff !important;
    -webkit-text-fill-color: #7feaff !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    letter-spacing: 0.14em !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
    opacity: 1 !important;
  }

  .heimdall-intervention-flow .hif-eyebrow::before {
    content: "";
    width: 34px;
    height: 3px;
    border-radius: 10px;
    background: var(--hif-cyan);
  }

  .heimdall-intervention-flow .hif-header h2 {
    margin: 0 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-size: clamp(36px, 4.5vw, 58px) !important;
    font-weight: 900 !important;
    letter-spacing: -0.04em !important;
    line-height: 1.02 !important;
    text-transform: none !important;
    opacity: 1 !important;
    text-shadow: 0 3px 13px rgba(0, 8, 38, 0.5);
  }

  .heimdall-intervention-flow .hif-header-description {
    max-width: 980px;
    margin: 20px 0 0 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    line-height: 1.58 !important;
    opacity: 1 !important;
  }

  .heimdall-intervention-flow .hif-transformation {
    display: grid;
    width: 100%;
    min-width: 0;
    grid-template-columns: minmax(0, 1fr) 28px minmax(240px, 300px) 28px minmax(0, 1fr);
    gap: 8px;
    align-items: center;
    padding: 40px 24px 44px;
    border-bottom: 1px solid #cce8f2;
    background:
      radial-gradient(circle at center, rgba(19, 188, 233, 0.13), transparent 25%),
      radial-gradient(circle, rgba(62, 176, 219, 0.16) 1.1px, transparent 1.3px);
    background-size: auto, 24px 24px;
  }

  .heimdall-intervention-flow .hif-panel {
    display: flex;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    flex-direction: column;
    justify-content: center;
    overflow: hidden;
    padding: 22px;
    border: 1px solid #99d9ed;
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 12px 26px rgba(6, 46, 89, 0.11);
  }

  .heimdall-intervention-flow .hif-panel-label {
    margin: 0 0 18px !important;
    color: var(--hif-cyan-dark) !important;
    -webkit-text-fill-color: var(--hif-cyan-dark) !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    letter-spacing: 0.13em !important;
    line-height: 1.2 !important;
    text-align: center;
    text-transform: uppercase !important;
  }

  .heimdall-intervention-flow .hif-signal-grid,
  .heimdall-intervention-flow .hif-action-grid {
    display: grid;
    width: 100%;
    min-width: 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 11px;
  }

  .heimdall-intervention-flow .hif-signal,
  .heimdall-intervention-flow .hif-action {
    position: relative;
    display: flex;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    min-height: 68px;
    align-items: center;
    gap: 10px;
    padding: 11px 12px;
    color: var(--hif-navy) !important;
    -webkit-text-fill-color: var(--hif-navy) !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 1.23 !important;
    border: 1px solid #b8e5f3;
    border-radius: 14px;
    background: linear-gradient(145deg, #ffffff, #eefaff);
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
  }

  .heimdall-intervention-flow .hif-signal::before {
    content: "";
    flex: 0 0 10px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #ffb037;
    box-shadow: 0 0 0 5px rgba(255, 176, 55, 0.14);
  }

  .heimdall-intervention-flow .hif-action::before {
    content: "✓";
    display: flex;
    flex: 0 0 27px;
    width: 27px;
    height: 27px;
    align-items: center;
    justify-content: center;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-size: 14px !important;
    border-radius: 9px;
    background: linear-gradient(145deg, var(--hif-blue), var(--hif-cyan-dark));
  }

  .heimdall-intervention-flow .hif-arrow {
    position: relative;
    height: 4px;
    border-radius: 8px;
    background: linear-gradient(90deg, #82d8ef, var(--hif-cyan));
  }

  .heimdall-intervention-flow .hif-arrow::before,
  .heimdall-intervention-flow .hif-arrow::after {
    content: "";
    position: absolute;
  }

  .heimdall-intervention-flow .hif-arrow::before {
    top: 50%;
    left: 14%;
    width: 12px;
    height: 12px;
    margin-top: -6px;
    border-radius: 50%;
    background: var(--hif-cyan);
    box-shadow: 0 0 0 7px rgba(19, 188, 233, 0.14);
    animation: hif-pulse 2.2s ease-in-out infinite;
  }

  .heimdall-intervention-flow .hif-arrow::after {
    top: -7px;
    right: -1px;
    width: 18px;
    height: 18px;
    border-top: 4px solid var(--hif-cyan);
    border-right: 4px solid var(--hif-cyan);
    transform: rotate(45deg);
  }

  .heimdall-intervention-flow .hif-hub {
    position: relative;
    display: flex;
    width: min(100%, 300px);
    height: auto;
    aspect-ratio: 1 / 1;
    align-items: center;
    justify-content: center;
    border: 3px solid #6fd1ef;
    border-radius: 50%;
    background: #ffffff;
    box-shadow:
      0 18px 36px rgba(6, 57, 100, 0.16),
      inset 0 0 0 16px #e8f9fe,
      inset 0 0 0 21px #11bce8;
  }

  .heimdall-intervention-flow .hif-hub-inner {
    display: flex;
    width: 236px;
    height: 236px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 17px 22px 19px;
    border: 1px solid #75d0ed;
    border-radius: 50%;
    background: linear-gradient(180deg, #ffffff, #ddf7fd);
    text-align: center;
  }

  .heimdall-intervention-flow .hif-logo {
    display: block;
    width: 145px;
    height: auto;
    max-height: 75px;
    margin: -7px auto 2px;
    object-fit: contain;
  }

  .heimdall-intervention-flow .hif-hub-name {
    margin: 0 !important;
    color: var(--hif-navy) !important;
    -webkit-text-fill-color: var(--hif-navy) !important;
    font-size: 26px !important;
    font-weight: 900 !important;
    letter-spacing: 0.015em !important;
    line-height: 1 !important;
  }

  .heimdall-intervention-flow .hif-hub-label {
    margin: 8px 0 0 !important;
    color: var(--hif-cyan-dark) !important;
    -webkit-text-fill-color: var(--hif-cyan-dark) !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    line-height: 1.13 !important;
    text-transform: uppercase !important;
  }

  .heimdall-intervention-flow .hif-hub-process {
    margin: 9px 0 0 !important;
    color: #3e5d74 !important;
    -webkit-text-fill-color: #3e5d74 !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 1.28 !important;
  }

  .heimdall-intervention-flow .hif-story {
    position: relative;
    padding: 45px 38px 40px;
    background: #ffffff;
  }

  .heimdall-intervention-flow .hif-story-heading {
    max-width: 870px;
    margin: 0 auto 34px !important;
    color: var(--hif-navy) !important;
    -webkit-text-fill-color: var(--hif-navy) !important;
    font-size: 27px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    text-align: center;
  }

  .heimdall-intervention-flow .hif-story-heading span {
    color: var(--hif-cyan-dark) !important;
    -webkit-text-fill-color: var(--hif-cyan-dark) !important;
  }

  .heimdall-intervention-flow .hif-stages {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
  }

  .heimdall-intervention-flow .hif-stages::before {
    content: "";
    position: absolute;
    z-index: 0;
    top: 39px;
    left: 11%;
    right: 11%;
    height: 4px;
    border-radius: 8px;
    background: linear-gradient(90deg, #0b3f98, #12bce8 55%, #087fac);
    opacity: 0.45;
  }

  .heimdall-intervention-flow .hif-stage {
    position: relative;
    z-index: 1;
    display: flex;
    min-width: 0;
    min-height: 320px;
    flex-direction: column;
    padding: 0 20px 22px;
    border: 1px solid #97d9ed;
    border-radius: 21px;
    background: linear-gradient(155deg, #ffffff, #effaff);
    box-shadow: 0 11px 27px rgba(6, 46, 89, 0.1);
  }

  .heimdall-intervention-flow .hif-stage-number {
    display: flex;
    width: 78px;
    height: 78px;
    align-items: center;
    justify-content: center;
    margin: 0 auto 19px;
    transform: translateY(-1px);
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-size: 21px !important;
    font-weight: 900 !important;
    border: 5px solid #e9faff;
    border-radius: 50%;
    background: linear-gradient(145deg, var(--hif-navy), var(--hif-blue) 63%, var(--hif-cyan-dark));
    box-shadow: 0 8px 18px rgba(6, 46, 89, 0.2);
  }

  .heimdall-intervention-flow .hif-stage h3 {
    margin: 0 !important;
    color: var(--hif-navy) !important;
    -webkit-text-fill-color: var(--hif-navy) !important;
    font-size: 24px !important;
    font-weight: 900 !important;
    line-height: 1.15 !important;
    text-align: center;
    text-transform: none !important;
  }

  .heimdall-intervention-flow .hif-stage-kicker {
    margin: 9px 0 0 !important;
    color: var(--hif-cyan-dark) !important;
    -webkit-text-fill-color: var(--hif-cyan-dark) !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    letter-spacing: 0.075em !important;
    line-height: 1.25 !important;
    text-align: center;
    text-transform: uppercase !important;
  }

  .heimdall-intervention-flow .hif-stage-description {
    margin: 18px 0 0 !important;
    color: #3e5c73 !important;
    -webkit-text-fill-color: #3e5c73 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.53 !important;
    opacity: 1 !important;
  }

  .heimdall-intervention-flow .hif-stage-outcome {
    margin: auto 0 0 !important;
    padding: 12px 13px !important;
    color: #075b94 !important;
    -webkit-text-fill-color: #075b94 !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    letter-spacing: 0.045em !important;
    line-height: 1.3 !important;
    text-align: center;
    text-transform: uppercase !important;
    border: 1px solid #b8e4f2;
    border-radius: 12px;
    background: #e7f8fd;
  }

  .heimdall-intervention-flow .hif-loop {
    position: relative;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 15px;
    align-items: center;
    margin: 29px 0 0;
    padding: 18px 22px;
    color: #ffffff;
    border-radius: 17px;
    background: linear-gradient(90deg, var(--hif-navy), var(--hif-blue) 52%, #08a1cc);
  }

  .heimdall-intervention-flow .hif-loop-icon {
    display: flex;
    width: 37px;
    height: 37px;
    align-items: center;
    justify-content: center;
    color: var(--hif-navy) !important;
    -webkit-text-fill-color: var(--hif-navy) !important;
    font-size: 22px !important;
    font-weight: 900 !important;
    border-radius: 50%;
    background: #75e7ff;
  }

  .heimdall-intervention-flow .hif-loop p {
    margin: 0 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    letter-spacing: 0.045em !important;
    line-height: 1.35 !important;
    text-align: center;
    text-transform: uppercase !important;
    opacity: 1 !important;
  }

  @keyframes hif-pulse {
    0%, 100% { left: 14%; opacity: 0.55; }
    50% { left: 70%; opacity: 1; }
  }

  @media (max-width: 1180px) {
    .heimdall-intervention-flow .hif-transformation {
      grid-template-columns: minmax(0, 1fr) 28px 240px 28px minmax(0, 1fr);
      gap: 8px;
      padding-inline: 20px;
    }

    .heimdall-intervention-flow .hif-hub {
      width: 240px;
      height: 240px;
    }

    .heimdall-intervention-flow .hif-hub-inner {
      width: 192px;
      height: 192px;
      padding: 13px 18px 16px;
    }

    .heimdall-intervention-flow .hif-logo {
      width: 120px;
      max-height: 62px;
    }

    .heimdall-intervention-flow .hif-hub-name { font-size: 23px !important; }
    .heimdall-intervention-flow .hif-hub-label { font-size: 12px !important; }
    .heimdall-intervention-flow .hif-hub-process { display: none; }
    .heimdall-intervention-flow .hif-panel { padding: 16px; }
    .heimdall-intervention-flow .hif-stages { grid-template-columns: 1fr 1fr; }
    .heimdall-intervention-flow .hif-stages::before { display: none; }
    .heimdall-intervention-flow .hif-stage { min-height: 285px; }
  }

  @media (max-width: 980px) {
    .heimdall-intervention-flow .hif-transformation {
      grid-template-columns: 1fr;
      gap: 19px;
      padding: 30px 22px 38px;
    }

    .heimdall-intervention-flow .hif-panel { width: 100%; }
    .heimdall-intervention-flow .hif-signal-grid,
    .heimdall-intervention-flow .hif-action-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

    .heimdall-intervention-flow .hif-arrow {
      width: 4px;
      height: 42px;
      margin: 0 auto;
      background: linear-gradient(180deg, #82d8ef, var(--hif-cyan));
    }

    .heimdall-intervention-flow .hif-arrow::before {
      top: 14%;
      left: 50%;
      margin: 0 0 0 -6px;
      animation: hif-pulse-mobile 2.2s ease-in-out infinite;
    }

    .heimdall-intervention-flow .hif-arrow::after {
      top: auto;
      right: auto;
      bottom: -1px;
      left: -7px;
      transform: rotate(135deg);
    }

    .heimdall-intervention-flow .hif-hub { margin: 0 auto; }
  }

  @keyframes hif-pulse-mobile {
    0%, 100% { top: 8%; opacity: 0.55; }
    50% { top: 68%; opacity: 1; }
  }

  @media (max-width: 580px) {
    .heimdall-intervention-flow { margin: 22px auto; }
    .heimdall-intervention-flow .hif-shell { border-radius: 20px; }
    .heimdall-intervention-flow .hif-header {
      padding: 34px 23px 32px;
      border-radius: 19px 19px 0 0;
    }
    .heimdall-intervention-flow .hif-header h2 { font-size: 36px !important; }
    .heimdall-intervention-flow .hif-header-description { font-size: 16px !important; }
    .heimdall-intervention-flow .hif-transformation { padding-inline: 14px; }
    .heimdall-intervention-flow .hif-signal-grid,
    .heimdall-intervention-flow .hif-action-grid { grid-template-columns: minmax(0, 1fr); }
    .heimdall-intervention-flow .hif-story { padding: 34px 16px 26px; }
    .heimdall-intervention-flow .hif-stages { grid-template-columns: 1fr; gap: 21px; }
    .heimdall-intervention-flow .hif-stage { min-height: 0; }
    .heimdall-intervention-flow .hif-loop { grid-template-columns: 1fr; }
    .heimdall-intervention-flow .hif-loop-icon { margin: 0 auto; }
  }

  @media (prefers-reduced-motion: reduce) {
    .heimdall-intervention-flow .hif-arrow::before { animation: none; }
  }

  /*
    Weebly can place this component inside a content column that is narrower
    than the browser window. These container rules make the layout respond to
    the actual embed width, preventing the right panel from overflowing.
  */
  @container (max-width: 980px) {
    .heimdall-intervention-flow .hif-transformation {
      grid-template-columns: 1fr;
      gap: 19px;
      padding: 30px 22px 38px;
    }

    .heimdall-intervention-flow .hif-panel { width: 100%; }
    .heimdall-intervention-flow .hif-signal-grid,
    .heimdall-intervention-flow .hif-action-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

    .heimdall-intervention-flow .hif-arrow {
      width: 4px;
      height: 42px;
      margin: 0 auto;
      background: linear-gradient(180deg, #82d8ef, var(--hif-cyan));
    }

    .heimdall-intervention-flow .hif-arrow::before {
      top: 14%;
      left: 50%;
      margin: 0 0 0 -6px;
      animation: hif-pulse-mobile 2.2s ease-in-out infinite;
    }

    .heimdall-intervention-flow .hif-arrow::after {
      top: auto;
      right: auto;
      bottom: -1px;
      left: -7px;
      transform: rotate(135deg);
    }

    .heimdall-intervention-flow .hif-hub { margin: 0 auto; }
  }

  @container (max-width: 580px) {
    .heimdall-intervention-flow .hif-header {
      padding: 34px 23px 32px;
      border-radius: 19px 19px 0 0;
    }
    .heimdall-intervention-flow .hif-header h2 { font-size: 36px !important; }
    .heimdall-intervention-flow .hif-header-description { font-size: 16px !important; }
    .heimdall-intervention-flow .hif-transformation { padding-inline: 14px; }
    .heimdall-intervention-flow .hif-signal-grid,
    .heimdall-intervention-flow .hif-action-grid { grid-template-columns: minmax(0, 1fr); }
    .heimdall-intervention-flow .hif-story { padding: 34px 16px 26px; }
    .heimdall-intervention-flow .hif-stages { grid-template-columns: 1fr; gap: 21px; }
    .heimdall-intervention-flow .hif-stage { min-height: 0; }
    .heimdall-intervention-flow .hif-loop { grid-template-columns: 1fr; }
    .heimdall-intervention-flow .hif-loop-icon { margin: 0 auto; }
  }


  #csr-featured-modules,
  #csr-featured-modules * {
    box-sizing: border-box;
    font-family: Actor, Arial, sans-serif !important;
  }

  #csr-featured-modules {
    --csr-navy: #001b44;
    --csr-cyan: #05a6d5;
    --csr-green: #31a96b;
    --csr-ink: #0b2a4a;
    --csr-muted: #58718c;
    --csr-pale: #f3f9fc;
    --csr-line: #c9e4f1;

    position: relative;
    width: 100%;
    max-width: 100%;
    margin: 0;
    overflow: hidden;
    padding: 76px 0 82px;
    background:
      radial-gradient(
        circle at 90% 5%,
        rgba(5, 166, 213, 0.12),
        transparent 28%
      ),
      linear-gradient(180deg, #f7fbfd 0%, #edf7fb 100%);
    color: var(--csr-ink);
    -webkit-font-smoothing: antialiased;
  }

  #csr-featured-modules::before {
    content: "";
    position: absolute;
    top: -170px;
    right: -120px;
    width: 460px;
    height: 460px;
    border: 1px solid rgba(5, 166, 213, 0.13);
    border-radius: 50%;
    box-shadow:
      0 0 0 52px rgba(5, 166, 213, 0.035),
      0 0 0 104px rgba(5, 166, 213, 0.025);
    pointer-events: none;
  }

  #csr-featured-modules .csr-fm-container {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 28px;
  }

  #csr-featured-modules .csr-fm-intro {
    max-width: 880px;
  }

  #csr-featured-modules .csr-fm-kicker {
    display: block;
    margin: 0 0 14px;
    color: var(--csr-cyan);
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 0.15em;
    line-height: 1.3;
    text-transform: uppercase;
  }

  #csr-featured-modules h2,
  #csr-featured-modules h3,
  #csr-featured-modules p {
    margin-top: 0 !important;
  }

  #csr-featured-modules h2 {
    max-width: 820px;
    margin-bottom: 18px !important;
    color: var(--csr-navy) !important;
    font-size: clamp(32px, 4vw, 50px) !important;
    font-weight: 700 !important;
    letter-spacing: -0.025em !important;
    line-height: 1.08 !important;
    overflow-wrap: anywhere;
  }

  #csr-featured-modules .csr-fm-lead {
    max-width: 830px;
    margin-bottom: 0 !important;
    color: var(--csr-muted) !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    line-height: 1.6 !important;
  }

  #csr-featured-modules .csr-fm-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    margin-top: 40px;
  }

  #csr-featured-modules .csr-fm-card {
    position: relative;
    display: flex;
    min-height: 360px;
    flex-direction: column;
    padding: 34px;
    overflow: hidden;
    border: 1px solid var(--csr-line);
    border-top: 5px solid var(--csr-cyan);
    border-radius: 2px;
    background: #ffffff;
    box-shadow: 0 18px 45px rgba(0, 27, 68, 0.08);
    transition:
      transform 180ms ease,
      box-shadow 180ms ease;
  }

  #csr-featured-modules .csr-fm-card--guard {
    border-top-color: var(--csr-green);
  }

  #csr-featured-modules .csr-fm-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 24px 54px rgba(0, 27, 68, 0.13);
  }

  #csr-featured-modules .csr-fm-card::after {
    content: "";
    position: absolute;
    right: -78px;
    bottom: -96px;
    width: 230px;
    height: 230px;
    border: 34px solid rgba(5, 166, 213, 0.055);
    border-radius: 50%;
    pointer-events: none;
  }

  #csr-featured-modules .csr-fm-card--guard::after {
    border-color: rgba(49, 169, 107, 0.055);
  }

  #csr-featured-modules .csr-fm-card-top {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 24px;
  }

  #csr-featured-modules .csr-fm-icon {
    display: flex;
    width: 58px;
    height: 58px;
    flex: 0 0 58px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #eaf7fc;
    color: var(--csr-cyan);
  }

  #csr-featured-modules .csr-fm-card--guard .csr-fm-icon {
    background: #ebf8f1;
    color: var(--csr-green);
  }

  #csr-featured-modules .csr-fm-icon svg {
    width: 36px;
    height: 36px;
    overflow: visible;
  }

  #csr-featured-modules .csr-fm-number {
    display: block;
    margin-bottom: 4px;
    color: var(--csr-muted);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.14em;
    line-height: 1.2;
    text-transform: uppercase;
  }

  #csr-featured-modules .csr-fm-card h3 {
    margin-bottom: 0 !important;
    color: var(--csr-navy) !important;
    font-size: clamp(24px, 2.5vw, 30px) !important;
    font-weight: 700 !important;
    letter-spacing: -0.02em !important;
    line-height: 1.12 !important;
    overflow-wrap: anywhere;
  }

  #csr-featured-modules .csr-fm-description {
    position: relative;
    z-index: 1;
    margin-bottom: 22px !important;
    color: var(--csr-muted) !important;
    font-size: 17px !important;
    line-height: 1.58 !important;
  }

  #csr-featured-modules .csr-fm-outcomes {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 26px;
    padding: 0 !important;
    list-style: none !important;
  }

  #csr-featured-modules .csr-fm-outcomes li {
    margin: 0 !important;
    padding: 7px 10px !important;
    border: 1px solid var(--csr-line);
    border-radius: 999px;
    background: var(--csr-pale);
    color: var(--csr-ink);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    list-style: none !important;
  }

  #csr-featured-modules .csr-fm-outcomes li::before,
  #csr-featured-modules .csr-fm-outcomes li::after {
    content: none !important;
    display: none !important;
  }

  #csr-featured-modules .csr-fm-link {
    position: relative;
    z-index: 1;
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    align-self: flex-start;
    margin-top: auto;
    padding: 12px 19px;
    border: 2px solid var(--csr-navy);
    border-radius: 3px;
    background: var(--csr-navy);
    color: #ffffff !important;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    text-decoration: none !important;
    transition:
      background-color 160ms ease,
      border-color 160ms ease,
      transform 160ms ease;
  }

  #csr-featured-modules .csr-fm-card--guard .csr-fm-link {
    border-color: var(--csr-green);
    background: var(--csr-green);
  }

  #csr-featured-modules .csr-fm-link:hover,
  #csr-featured-modules .csr-fm-link:focus {
    transform: translateY(-2px);
    border-color: var(--csr-cyan);
    background: var(--csr-cyan);
    color: #ffffff !important;
  }

  #csr-featured-modules .csr-fm-card--guard .csr-fm-link:hover,
  #csr-featured-modules .csr-fm-card--guard .csr-fm-link:focus {
    border-color: var(--csr-navy);
    background: var(--csr-navy);
  }

  @media (max-width: 860px) {
    #csr-featured-modules {
      padding: 60px 0 64px;
    }

    #csr-featured-modules .csr-fm-container {
      width: 100%;
      max-width: 100%;
      padding: 0 18px;
    }

    #csr-featured-modules .csr-fm-grid {
      grid-template-columns: 1fr;
    }

    #csr-featured-modules .csr-fm-card {
      min-height: 0;
      padding: 27px;
    }

    #csr-featured-modules .csr-fm-link {
      width: 100%;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    #csr-featured-modules .csr-fm-card,
    #csr-featured-modules .csr-fm-link {
      transition: none;
    }
  }


  .heimdall-systems-architecture,
  .heimdall-systems-architecture * {
    box-sizing: border-box;
  }

  .heimdall-systems-architecture {
    --hsa-navy: #061b48;
    --hsa-blue: #0b3f98;
    --hsa-cyan: #13bce9;
    --hsa-cyan-dark: #087fac;
    --hsa-ink: #173550;
    --hsa-muted: #4c687e;
    --hsa-line: #9edcf0;
    width: 100%;
    max-width: 1220px;
    margin: 34px auto;
    color: var(--hsa-ink);
    font-family: Arial, Helvetica, sans-serif !important;
  }

  .heimdall-systems-architecture h2,
  .heimdall-systems-architecture h3,
  .heimdall-systems-architecture p,
  .heimdall-systems-architecture span,
  .heimdall-systems-architecture summary {
    font-family: Arial, Helvetica, sans-serif !important;
    font-style: normal !important;
  }

  .heimdall-systems-architecture .hsa-shell {
    overflow: visible;
    border: 1px solid #72ccec;
    border-radius: 30px;
    background: #f8fdff;
    box-shadow: 0 18px 48px rgba(6, 27, 72, 0.15);
  }

  .heimdall-systems-architecture .hsa-header {
    position: relative;
    overflow: hidden;
    padding: 48px 54px 44px;
    color: #ffffff;
    border-radius: 28px 28px 0 0;
    background:
      radial-gradient(circle at 82% 32%, rgba(20, 211, 247, 0.29), transparent 25%),
      linear-gradient(122deg, #061b48 0%, #0b3f98 59%, #078fbd 100%);
  }

  .heimdall-systems-architecture .hsa-header::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: 0.22;
    background-image: radial-gradient(circle, #80e8ff 1.25px, transparent 1.4px);
    background-size: 25px 25px;
    pointer-events: none;
  }

  .heimdall-systems-architecture .hsa-header::after {
    content: "";
    position: absolute;
    width: 430px;
    height: 430px;
    right: -150px;
    bottom: -260px;
    border: 2px solid rgba(128, 232, 255, 0.26);
    border-radius: 50%;
    box-shadow:
      0 0 0 40px rgba(128, 232, 255, 0.05),
      0 0 0 95px rgba(128, 232, 255, 0.04);
  }

  .heimdall-systems-architecture .hsa-header-copy {
    position: relative;
    z-index: 1;
    max-width: 960px;
  }

  .heimdall-systems-architecture .hsa-eyebrow {
    display: flex !important;
    align-items: center;
    gap: 11px;
    margin: 0 0 16px !important;
    color: #7feaff !important;
    -webkit-text-fill-color: #7feaff !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    letter-spacing: 0.14em !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
    opacity: 1 !important;
  }

  .heimdall-systems-architecture .hsa-eyebrow::before {
    content: "";
    width: 34px;
    height: 3px;
    border-radius: 10px;
    background: var(--hsa-cyan);
  }

  .heimdall-systems-architecture .hsa-header h2 {
    max-width: 950px;
    margin: 0 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-size: clamp(36px, 4.4vw, 58px) !important;
    font-weight: 900 !important;
    letter-spacing: -0.04em !important;
    line-height: 1.01 !important;
    text-transform: none !important;
    opacity: 1 !important;
    text-shadow: 0 3px 13px rgba(0, 8, 38, 0.5);
  }

  .heimdall-systems-architecture .hsa-header h2 span {
    display: block;
    margin-top: 7px;
    color: #7feaff !important;
    -webkit-text-fill-color: #7feaff !important;
  }

  .heimdall-systems-architecture .hsa-intro {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
    gap: 26px;
    align-items: stretch;
    padding: 30px 36px;
    border-bottom: 1px solid #cfe8f2;
    background: #ffffff;
  }

  .heimdall-systems-architecture .hsa-intro p {
    margin: 0 !important;
    color: #334f66 !important;
    -webkit-text-fill-color: #334f66 !important;
    font-size: 17px !important;
    font-weight: 500 !important;
    line-height: 1.58 !important;
    opacity: 1 !important;
  }

  .heimdall-systems-architecture .hsa-value-note {
    display: flex;
    align-items: center;
    gap: 16px;
    min-width: 0;
    padding: 20px 22px;
    border: 1px solid #91d7ed;
    border-radius: 18px;
    background: linear-gradient(135deg, #eaf9fe, #ffffff);
  }

  .heimdall-systems-architecture .hsa-value-icon {
    display: flex;
    flex: 0 0 46px;
    width: 46px;
    height: 46px;
    align-items: center;
    justify-content: center;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-size: 23px !important;
    font-weight: 900 !important;
    border-radius: 14px;
    background: linear-gradient(145deg, var(--hsa-blue), var(--hsa-cyan-dark));
    box-shadow: 0 8px 18px rgba(6, 63, 152, 0.2);
  }

  .heimdall-systems-architecture .hsa-value-note p {
    color: var(--hsa-navy) !important;
    -webkit-text-fill-color: var(--hsa-navy) !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1.42 !important;
  }

  .heimdall-systems-architecture .hsa-network {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 330px minmax(0, 1fr);
    gap: 42px;
    align-items: center;
    padding: 44px 38px 48px;
    background:
      radial-gradient(circle at center, rgba(19, 188, 233, 0.12), transparent 28%),
      radial-gradient(circle, rgba(58, 171, 217, 0.17) 1.1px, transparent 1.3px);
    background-size: auto, 24px 24px;
  }

  .heimdall-systems-architecture .hsa-source-column {
    display: grid;
    gap: 18px;
    align-content: center;
  }

  .heimdall-systems-architecture .hsa-card {
    position: relative;
    min-width: 0;
    border: 1px solid #82cfea;
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 9px 22px rgba(6, 46, 89, 0.1);
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
  }

  .heimdall-systems-architecture .hsa-card:hover,
  .heimdall-systems-architecture .hsa-card[open] {
    transform: translateY(-2px);
    border-color: #1fbce8;
    box-shadow: 0 14px 30px rgba(6, 46, 89, 0.15);
  }

  .heimdall-systems-architecture .hsa-source-left .hsa-card::after,
  .heimdall-systems-architecture .hsa-source-right .hsa-card::before {
    content: "";
    position: absolute;
    z-index: 0;
    top: 50%;
    width: 43px;
    height: 3px;
    background: var(--hsa-cyan);
  }

  .heimdall-systems-architecture .hsa-source-left .hsa-card::after {
    right: -43px;
  }

  .heimdall-systems-architecture .hsa-source-right .hsa-card::before {
    left: -43px;
  }

  .heimdall-systems-architecture .hsa-card summary {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr) 34px;
    gap: 14px;
    align-items: center;
    min-height: 104px;
    padding: 17px 16px 17px 18px;
    list-style: none;
    cursor: pointer;
  }

  .heimdall-systems-architecture .hsa-card summary::-webkit-details-marker {
    display: none;
  }

  .heimdall-systems-architecture .hsa-card summary::marker {
    display: none;
    content: "";
  }

  .heimdall-systems-architecture .hsa-card-icon {
    display: flex;
    width: 54px;
    height: 54px;
    align-items: center;
    justify-content: center;
    border: 2px solid #bff2ff;
    border-radius: 50%;
    background: #1cc5ed;
    box-shadow: inset 0 0 0 6px rgba(255, 255, 255, 0.18);
  }

  .heimdall-systems-architecture .hsa-card-icon svg {
    width: 31px;
    height: 31px;
    fill: none;
    stroke: var(--hsa-navy);
    stroke-width: 2.3;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .heimdall-systems-architecture .hsa-card-heading {
    min-width: 0;
  }

  .heimdall-systems-architecture .hsa-card-heading strong {
    display: block;
    color: var(--hsa-navy) !important;
    -webkit-text-fill-color: var(--hsa-navy) !important;
    font-size: 18px !important;
    font-weight: 900 !important;
    line-height: 1.15 !important;
  }

  .heimdall-systems-architecture .hsa-card-heading span {
    display: block;
    margin-top: 6px;
    color: #527086 !important;
    -webkit-text-fill-color: #527086 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
  }

  .heimdall-systems-architecture .hsa-toggle {
    display: flex;
    width: 32px;
    height: 32px;
    align-items: center;
    justify-content: center;
    color: #075d95 !important;
    -webkit-text-fill-color: #075d95 !important;
    font-size: 24px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    border-radius: 50%;
    background: #e1f7fe;
  }

  .heimdall-systems-architecture .hsa-card[open] .hsa-toggle {
    transform: rotate(45deg);
  }

  .heimdall-systems-architecture .hsa-card-body {
    margin: 0 18px;
    padding: 0 6px 21px 68px;
    border-top: 1px solid #d8edf5;
  }

  .heimdall-systems-architecture .hsa-card-body p {
    margin: 16px 0 0 !important;
    color: #3d5b72 !important;
    -webkit-text-fill-color: #3d5b72 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.55 !important;
    opacity: 1 !important;
  }

  .heimdall-systems-architecture .hsa-hub-column {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 0;
  }

  .heimdall-systems-architecture .hsa-hub-column::before,
  .heimdall-systems-architecture .hsa-hub-column::after {
    content: "";
    position: absolute;
    z-index: 0;
    top: 50%;
    width: 42px;
    height: 42px;
    margin-top: -21px;
    border: 3px solid var(--hsa-cyan);
    border-radius: 50%;
    background: #f7fdff;
    box-shadow: inset 0 0 0 10px rgba(19, 188, 233, 0.12);
  }

  .heimdall-systems-architecture .hsa-hub-column::before { left: -21px; }
  .heimdall-systems-architecture .hsa-hub-column::after { right: -21px; }

  .heimdall-systems-architecture .hsa-hub {
    position: relative;
    z-index: 1;
    display: flex;
    width: 310px;
    height: 310px;
    align-items: center;
    justify-content: center;
    border: 3px solid #73d2ef;
    border-radius: 50%;
    background: #ffffff;
    box-shadow:
      0 18px 36px rgba(6, 57, 100, 0.16),
      inset 0 0 0 17px #e8f9fe,
      inset 0 0 0 22px #11bce8;
  }

  .heimdall-systems-architecture .hsa-hub-inner {
    display: flex;
    width: 246px;
    height: 246px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 18px 24px 20px;
    border: 1px solid #75d0ed;
    border-radius: 50%;
    background: linear-gradient(180deg, #f9feff, #dff7fd);
    text-align: center;
  }

  .heimdall-systems-architecture .hsa-logo {
    display: block;
    width: 150px;
    height: auto;
    max-height: 78px;
    margin: -8px auto 2px;
    object-fit: contain;
  }

  .heimdall-systems-architecture .hsa-hub-name {
    margin: 1px 0 0 !important;
    color: var(--hsa-navy) !important;
    -webkit-text-fill-color: var(--hsa-navy) !important;
    font-size: 27px !important;
    font-weight: 900 !important;
    letter-spacing: 0.015em !important;
    line-height: 1 !important;
  }

  .heimdall-systems-architecture .hsa-hub-label {
    margin: 8px 0 0 !important;
    color: var(--hsa-cyan-dark) !important;
    -webkit-text-fill-color: var(--hsa-cyan-dark) !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    line-height: 1.14 !important;
    text-transform: uppercase !important;
  }

  .heimdall-systems-architecture .hsa-hub-note {
    margin: 9px 0 0 !important;
    color: #3d5c73 !important;
    -webkit-text-fill-color: #3d5c73 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
  }

  .heimdall-systems-architecture .hsa-process {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    width: 300px;
    margin-top: 20px;
  }

  .heimdall-systems-architecture .hsa-process span {
    display: flex;
    min-height: 34px;
    align-items: center;
    justify-content: center;
    padding: 8px 10px;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    letter-spacing: 0.055em !important;
    line-height: 1.15 !important;
    text-align: center;
    text-transform: uppercase !important;
    border-radius: 12px;
    background: linear-gradient(120deg, var(--hsa-navy), var(--hsa-blue));
  }

  .heimdall-systems-architecture .hsa-output-area {
    padding: 42px 38px 38px;
    border-top: 1px solid #cce8f3;
    background: #ffffff;
  }

  .heimdall-systems-architecture .hsa-output-title {
    margin: 0 0 24px !important;
    color: var(--hsa-navy) !important;
    -webkit-text-fill-color: var(--hsa-navy) !important;
    font-size: 25px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    text-align: center;
  }

  .heimdall-systems-architecture .hsa-output-title span {
    color: var(--hsa-cyan-dark) !important;
    -webkit-text-fill-color: var(--hsa-cyan-dark) !important;
  }

  .heimdall-systems-architecture .hsa-outputs {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
  }

  .heimdall-systems-architecture .hsa-output {
    position: relative;
    min-width: 0;
    min-height: 145px;
    padding: 23px 20px 20px;
    border: 1px solid #9edced;
    border-radius: 18px;
    background: linear-gradient(150deg, #ffffff, #ecfaff);
  }

  .heimdall-systems-architecture .hsa-output-number {
    display: flex;
    width: 38px;
    height: 38px;
    align-items: center;
    justify-content: center;
    margin-bottom: 15px;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    border-radius: 12px;
    background: linear-gradient(145deg, var(--hsa-blue), var(--hsa-cyan-dark));
  }

  .heimdall-systems-architecture .hsa-output strong {
    display: block;
    color: var(--hsa-navy) !important;
    -webkit-text-fill-color: var(--hsa-navy) !important;
    font-size: 17px !important;
    font-weight: 900 !important;
    line-height: 1.18 !important;
  }

  .heimdall-systems-architecture .hsa-output p {
    margin: 8px 0 0 !important;
    color: #506d82 !important;
    -webkit-text-fill-color: #506d82 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    opacity: 1 !important;
  }

  .heimdall-systems-architecture .hsa-close {
    display: flex;
    min-height: 58px;
    align-items: center;
    justify-content: center;
    margin: 28px 0 0;
    padding: 16px 22px;
    color: #ffffff;
    border-radius: 16px;
    background: linear-gradient(90deg, var(--hsa-navy), var(--hsa-blue) 54%, #08a3cd);
  }

  .heimdall-systems-architecture .hsa-close p {
    margin: 0 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    letter-spacing: 0.055em !important;
    line-height: 1.3 !important;
    text-align: center;
    text-transform: uppercase !important;
    opacity: 1 !important;
  }

  @media (max-width: 1050px) {
    .heimdall-systems-architecture .hsa-network {
      grid-template-columns: 1fr 270px 1fr;
      gap: 24px;
      padding-inline: 24px;
    }

    .heimdall-systems-architecture .hsa-hub {
      width: 260px;
      height: 260px;
    }

    .heimdall-systems-architecture .hsa-hub-inner {
      width: 208px;
      height: 208px;
      padding: 14px 20px 16px;
    }

    .heimdall-systems-architecture .hsa-logo {
      width: 125px;
      max-height: 63px;
    }

    .heimdall-systems-architecture .hsa-hub-name {
      font-size: 23px !important;
    }

    .heimdall-systems-architecture .hsa-hub-label {
      font-size: 13px !important;
    }

    .heimdall-systems-architecture .hsa-hub-note {
      display: none;
    }

    .heimdall-systems-architecture .hsa-process {
      width: 260px;
    }

    .heimdall-systems-architecture .hsa-card summary {
      grid-template-columns: 46px minmax(0, 1fr) 30px;
      gap: 10px;
      padding-inline: 13px;
    }

    .heimdall-systems-architecture .hsa-card-icon {
      width: 46px;
      height: 46px;
    }

    .heimdall-systems-architecture .hsa-card-heading strong {
      font-size: 16px !important;
    }
  }

  @media (max-width: 820px) {
    .heimdall-systems-architecture .hsa-intro {
      grid-template-columns: 1fr;
      padding: 26px 24px;
    }

    .heimdall-systems-architecture .hsa-network {
      grid-template-columns: 1fr;
      gap: 22px;
      padding: 30px 22px 36px;
    }

    .heimdall-systems-architecture .hsa-hub-column {
      grid-row: 1;
      padding-bottom: 8px;
    }

    .heimdall-systems-architecture .hsa-source-column {
      gap: 13px;
    }

    .heimdall-systems-architecture .hsa-source-left { grid-row: 2; }
    .heimdall-systems-architecture .hsa-source-right { grid-row: 3; }

    .heimdall-systems-architecture .hsa-source-left .hsa-card::after,
    .heimdall-systems-architecture .hsa-source-right .hsa-card::before,
    .heimdall-systems-architecture .hsa-hub-column::before,
    .heimdall-systems-architecture .hsa-hub-column::after {
      display: none;
    }

    .heimdall-systems-architecture .hsa-card summary {
      min-height: 88px;
    }

    .heimdall-systems-architecture .hsa-outputs {
      grid-template-columns: 1fr 1fr;
    }
  }

  @media (max-width: 560px) {
    .heimdall-systems-architecture {
      margin: 22px auto;
    }

    .heimdall-systems-architecture .hsa-shell {
      border-radius: 20px;
    }

    .heimdall-systems-architecture .hsa-header {
      padding: 34px 23px 32px;
      border-radius: 19px 19px 0 0;
    }

    .heimdall-systems-architecture .hsa-header h2 {
      font-size: 36px !important;
    }

    .heimdall-systems-architecture .hsa-intro p {
      font-size: 15px !important;
    }

    .heimdall-systems-architecture .hsa-value-note {
      align-items: flex-start;
      padding: 17px;
    }

    .heimdall-systems-architecture .hsa-network {
      padding-inline: 14px;
    }

    .heimdall-systems-architecture .hsa-card summary {
      grid-template-columns: 44px minmax(0, 1fr) 30px;
      min-height: 82px;
      padding: 13px 12px;
    }

    .heimdall-systems-architecture .hsa-card-icon {
      width: 44px;
      height: 44px;
    }

    .heimdall-systems-architecture .hsa-card-body {
      margin-inline: 14px;
      padding: 0 4px 18px;
    }

    .heimdall-systems-architecture .hsa-card-heading strong {
      font-size: 15px !important;
    }

    .heimdall-systems-architecture .hsa-card-heading span {
      display: none;
    }

    .heimdall-systems-architecture .hsa-hub {
      width: 250px;
      height: 250px;
    }

    .heimdall-systems-architecture .hsa-process {
      width: 100%;
      max-width: 310px;
    }

    .heimdall-systems-architecture .hsa-output-area {
      padding: 32px 18px 24px;
    }

    .heimdall-systems-architecture .hsa-outputs {
      grid-template-columns: 1fr;
    }

    .heimdall-systems-architecture .hsa-output {
      min-height: 0;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .heimdall-systems-architecture .hsa-card {
      transition: none;
    }
  }


.heimdall-module-cards {
  max-width: 1180px;
  margin: 0 auto;
  font-family: Arial, sans-serif;
}

.heimdall-module-card {
  margin: 0 0 14px;
  overflow: hidden;
  background: #ffffff;
  border: 1px solid #b9dfef;
  border-radius: 16px;
  box-shadow: 0 5px 16px rgba(6, 27, 72, 0.08);
}

/* Capability-family row */
.heimdall-module-card > summary {
  display: grid;
  grid-template-columns: 58px 1fr 42px;
  align-items: center;
  gap: 15px;
  padding: 20px 22px;
  cursor: pointer;
  list-style: none;
}

.heimdall-module-card > summary::-webkit-details-marker,
.module-item > summary::-webkit-details-marker {
  display: none;
}

.module-number {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  color: #ffffff;
  background: linear-gradient(135deg, #061b48, #078dbd);
  border-radius: 50%;
  font-size: 18px;
  font-weight: 800;
}

.module-family-title {
  display: block;
  margin-bottom: 5px;
  color: #061b48;
  font-size: 22px;
  font-weight: 800;
}

.module-outcome {
  display: block;
  color: #425b70;
  font-size: 16px;
  line-height: 1.45;
}

.module-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  color: #0874a8;
  background: #e5f7fd;
  border-radius: 50%;
  font-size: 25px;
  font-weight: 700;
}

.module-toggle::before {
  content: "+";
}

.heimdall-module-card[open] > summary .module-toggle::before {
  content: "–";
}

/* Expanded module area */
.module-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
  gap: 12px;
  padding: 20px 22px 24px 95px;
  background: #f4fafe;
  border-top: 1px solid #d4eaf3;
}

/* Individual expandable module */
.module-item {
  overflow: hidden;
  background: #ffffff;
  border: 1px solid #c7e3ef;
  border-radius: 11px;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.module-item:hover {
  border-color: #67bfdf;
  box-shadow: 0 4px 12px rgba(6, 27, 72, 0.07);
}

.module-item[open] {
  border-color: #159bc8;
  box-shadow: 0 5px 14px rgba(6, 27, 72, 0.09);
}

.module-item > summary {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 50px;
  padding: 12px 42px 12px 14px;
  color: #173b5a;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.35;
  cursor: pointer;
  list-style: none;
}

.module-item > summary::after {
  content: "+";
  position: absolute;
  right: 13px;
  top: 50%;
  transform: translateY(-50%);
  color: #0874a8;
  font-size: 21px;
  font-weight: 700;
}

.module-item[open] > summary::after {
  content: "–";
}

.module-description {
  padding: 0 14px 15px;
  color: #425b70;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
}

.module-description::before {
  content: "";
  display: block;
  margin-bottom: 11px;
  border-top: 1px solid #d8e9f1;
}

@media (max-width: 700px) {
  .heimdall-module-card > summary {
    grid-template-columns: 44px 1fr 34px;
    gap: 10px;
    padding: 16px 14px;
  }

  .module-number {
    width: 42px;
    height: 42px;
    font-size: 15px;
  }

  .module-family-title {
    font-size: 18px;
  }

  .module-outcome {
    font-size: 14px;
  }

  .module-list {
    grid-template-columns: 1fr;
    padding: 15px;
  }
}


  .hm-markets,
  .hm-markets * {
    box-sizing: border-box;
  }

  .hm-markets {
    --hm-navy: #082557;
    --hm-blue: #087fbd;
    --hm-cyan: #19bfe5;
    --hm-teal: #27ad9b;
    --hm-text: #3f566b;
    --hm-border: #c9e4f3;
    --hm-surface: #ffffff;
    width: 100%;
    max-width: 1240px;
    margin: 0 auto;
    padding: 8px 0 12px;
    font-family: Arial, Helvetica, sans-serif;
  }

  .hm-markets__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
    align-items: stretch;
  }

  .hm-market-card {
    position: relative;
    display: flex;
    min-width: 0;
    min-height: 100%;
    padding: 26px 24px 25px;
    overflow: hidden;
    background: var(--hm-surface);
    border: 1px solid var(--hm-border);
    border-radius: 18px;
    box-shadow: 0 10px 28px rgba(8, 37, 87, 0.08);
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
  }

  .hm-market-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 4px;
    background: linear-gradient(90deg, var(--hm-cyan), var(--hm-blue), var(--hm-teal));
  }

  .hm-market-card:hover {
    transform: translateY(-3px);
    border-color: #8fd4ed;
    box-shadow: 0 15px 34px rgba(8, 37, 87, 0.13);
  }

  .hm-market-card__layout {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 17px;
    width: 100%;
    align-items: start;
  }

  .hm-market-card__icon {
    display: grid;
    place-items: center;
    width: 54px;
    height: 54px;
    color: var(--hm-blue);
    background: linear-gradient(145deg, #eefaff, #f6fffd);
    border: 1px solid #a9def1;
    border-radius: 15px;
  }

  .hm-market-card__icon svg {
    width: 29px;
    height: 29px;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
    fill: none;
  }

  .hm-market-card__title {
    margin: 1px 0 10px;
    color: var(--hm-navy);
    font-size: 21px;
    line-height: 1.18;
    font-weight: 750;
    letter-spacing: -0.015em;
  }

  .hm-market-card__description {
    margin: 0;
    color: var(--hm-text);
    font-size: 16px;
    line-height: 1.56;
    font-weight: 400;
  }

  .hm-sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }

  @media (max-width: 980px) {
    .hm-markets__grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 18px;
    }
  }

  @media (max-width: 640px) {
    .hm-markets {
      padding: 4px 0 8px;
    }

    .hm-markets__grid {
      grid-template-columns: 1fr;
      gap: 15px;
    }

    .hm-market-card {
      padding: 22px 20px 22px;
      border-radius: 16px;
    }

    .hm-market-card__layout {
      grid-template-columns: 48px minmax(0, 1fr);
      gap: 15px;
    }

    .hm-market-card__icon {
      width: 48px;
      height: 48px;
      border-radius: 13px;
    }

    .hm-market-card__icon svg {
      width: 26px;
      height: 26px;
    }

    .hm-market-card__title {
      font-size: 20px;
    }

    .hm-market-card__description {
      font-size: 15.5px;
      line-height: 1.55;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .hm-market-card {
      transition: none;
    }

    .hm-market-card:hover {
      transform: none;
    }
  }


  .hp-proof,
  .hp-proof * {
    box-sizing: border-box;
  }

  .hp-proof {
    --hp-navy: #082557;
    --hp-navy-deep: #041a42;
    --hp-blue: #087fbd;
    --hp-cyan: #19bfe5;
    --hp-teal: #27ad9b;
    --hp-text: #40586d;
    --hp-muted: #6d8192;
    --hp-border: #c9e4f3;
    width: 100%;
    max-width: 1240px;
    margin: 0 auto;
    padding: 8px 0 10px;
    font-family: Arial, Helvetica, sans-serif;
  }

  .hp-proof__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
    align-items: stretch;
  }

  .hp-proof-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 100%;
    padding: 27px 26px 24px;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid var(--hp-border);
    border-radius: 18px;
    box-shadow: 0 10px 28px rgba(8, 37, 87, 0.09);
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
  }

  .hp-proof-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 5px;
    background: linear-gradient(90deg, var(--hp-cyan), var(--hp-blue), var(--hp-teal));
  }

  .hp-proof-card:hover {
    transform: translateY(-3px);
    border-color: #8fd4ed;
    box-shadow: 0 15px 34px rgba(8, 37, 87, 0.14);
  }

  .hp-proof-card__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 16px;
  }

  .hp-proof-card__metric {
    color: var(--hp-navy);
    font-size: clamp(48px, 5vw, 66px);
    line-height: 0.95;
    font-weight: 800;
    letter-spacing: -0.045em;
  }

  .hp-proof-card__icon {
    display: grid;
    flex: 0 0 auto;
    place-items: center;
    width: 52px;
    height: 52px;
    color: var(--hp-blue);
    background: linear-gradient(145deg, #eefaff, #f6fffd);
    border: 1px solid #a9def1;
    border-radius: 15px;
  }

  .hp-proof-card__icon svg {
    width: 28px;
    height: 28px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .hp-proof-card__title {
    margin: 0 0 12px;
    color: var(--hp-navy);
    font-size: 22px;
    line-height: 1.25;
    font-weight: 750;
    letter-spacing: -0.012em;
  }

  .hp-proof-card__description {
    margin: 0 0 22px;
    color: var(--hp-text);
    font-size: 16.5px;
    line-height: 1.55;
  }

  .hp-proof-card__context {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-top: auto;
    padding-top: 17px;
    color: var(--hp-muted);
    border-top: 1px solid #e3eff5;
    font-size: 14px;
    line-height: 1.4;
    font-weight: 700;
    letter-spacing: 0.01em;
  }

  .hp-proof-card__context-dot {
    flex: 0 0 auto;
    width: 8px;
    height: 8px;
    background: var(--hp-teal);
    border-radius: 50%;
    box-shadow: 0 0 0 4px rgba(39, 173, 155, 0.12);
  }

  .hp-proof__testimonial {
    position: relative;
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr) auto;
    gap: 22px;
    align-items: center;
    margin: 22px 0 0;
    padding: 27px 30px;
    overflow: hidden;
    color: #ffffff;
    background:
      radial-gradient(circle at 92% 10%, rgba(25, 191, 229, 0.24), transparent 34%),
      linear-gradient(110deg, var(--hp-navy-deep), var(--hp-navy) 56%, #0879a8);
    border: 1px solid rgba(102, 210, 238, 0.45);
    border-radius: 18px;
    box-shadow: 0 12px 30px rgba(4, 26, 66, 0.18);
  }

  .hp-proof__quote-mark {
    align-self: start;
    color: var(--hp-cyan);
    font-family: Georgia, serif;
    font-size: 78px;
    line-height: 0.82;
    font-weight: 700;
  }

  .hp-proof .hp-proof__quote {
    margin: 0 !important;
    padding: 0 !important;
    color: #f7fcff !important;
    background: transparent !important;
    border: 0 !important;
    opacity: 1 !important;
    text-shadow: none !important;
    font-size: 19px !important;
    line-height: 1.55 !important;
    font-weight: 500 !important;
    font-style: italic !important;
  }

  .hp-proof .hp-proof__quote::before,
  .hp-proof .hp-proof__quote::after {
    display: none !important;
    content: none !important;
  }

  .hp-proof .hp-proof__quote strong {
    color: #8be7f5 !important;
    opacity: 1 !important;
    font-weight: 800 !important;
  }

  .hp-proof__attribution {
    min-width: 205px;
    padding-left: 23px;
    border-left: 1px solid rgba(255, 255, 255, 0.28);
    color: #d8edf6;
    font-size: 14px;
    line-height: 1.45;
  }

  .hp-proof__attribution strong {
    display: block;
    margin-bottom: 4px;
    color: #ffffff;
    font-size: 16px;
    font-weight: 750;
  }

  .hp-proof__note {
    margin: 13px 5px 0;
    color: #778b9c;
    font-size: 12.5px;
    line-height: 1.45;
    text-align: center;
  }

  .hp-sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }

  @media (max-width: 900px) {
    .hp-proof__grid {
      grid-template-columns: 1fr;
      gap: 17px;
    }

    .hp-proof__testimonial {
      grid-template-columns: 45px minmax(0, 1fr);
    }

    .hp-proof__attribution {
      grid-column: 2;
      min-width: 0;
      padding: 14px 0 0;
      border-top: 1px solid rgba(255, 255, 255, 0.25);
      border-left: 0;
    }
  }

  @media (max-width: 600px) {
    .hp-proof-card {
      padding: 24px 21px 22px;
      border-radius: 16px;
    }

    .hp-proof-card__metric {
      font-size: 52px;
    }

    .hp-proof-card__icon {
      width: 48px;
      height: 48px;
      border-radius: 13px;
    }

    .hp-proof-card__title {
      font-size: 20px;
    }

    .hp-proof-card__description {
      font-size: 15.5px;
    }

    .hp-proof__testimonial {
      grid-template-columns: 1fr;
      gap: 6px;
      padding: 25px 22px;
      border-radius: 16px;
    }

    .hp-proof__quote-mark {
      font-size: 58px;
      line-height: 0.7;
    }

    .hp-proof .hp-proof__quote {
      font-size: 17px !important;
    }

    .hp-proof__attribution {
      grid-column: 1;
      margin-top: 12px;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .hp-proof-card {
      transition: none;
    }

    .hp-proof-card:hover {
      transform: none;
    }
  }


  .heimdall-pilot-cta,
  .heimdall-pilot-cta * {
    box-sizing: border-box;
  }

  .heimdall-pilot-cta {
    --hc-navy: #061b48;
    --hc-blue: #0b3f98;
    --hc-cyan: #12bdea;
    --hc-cyan-dark: #0785b5;
    --hc-ink: #183550;
    --hc-muted: #526b80;
    --hc-line: #cfe4ee;
    --hc-pale: #eef9fd;
    width: 100%;
    max-width: 1180px;
    margin: 38px auto;
    font-family: Arial, Helvetica, sans-serif;
    color: var(--hc-ink);
  }

  /* Prevent the Weebly theme from replacing component typography. */
  .heimdall-pilot-cta h2,
  .heimdall-pilot-cta h3,
  .heimdall-pilot-cta p,
  .heimdall-pilot-cta label,
  .heimdall-pilot-cta legend,
  .heimdall-pilot-cta button,
  .heimdall-pilot-cta input,
  .heimdall-pilot-cta select {
    font-family: Arial, Helvetica, sans-serif !important;
    font-style: normal !important;
  }

  .heimdall-pilot-cta .hc-frame {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(390px, 0.92fr);
    overflow: hidden;
    border: 1px solid #74c8e8;
    border-radius: 28px;
    background: #ffffff;
    box-shadow: 0 18px 50px rgba(6, 27, 72, 0.16);
  }

  .heimdall-pilot-cta .hc-story {
    position: relative;
    min-height: 490px;
    padding: 44px 44px 38px;
    overflow: hidden;
    color: #ffffff;
    background:
      radial-gradient(circle at 12% 18%, rgba(20, 203, 244, 0.3), transparent 24%),
      radial-gradient(circle at 90% 83%, rgba(19, 190, 234, 0.24), transparent 26%),
      linear-gradient(135deg, #061b48 0%, #0b3f98 58%, #087fae 100%);
  }

  .heimdall-pilot-cta .hc-story::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: 0.24;
    background-image: radial-gradient(circle, #7be6ff 1.2px, transparent 1.3px);
    background-size: 24px 24px;
    pointer-events: none;
  }

  .heimdall-pilot-cta .hc-story::after {
    content: "";
    position: absolute;
    width: 350px;
    height: 350px;
    right: -156px;
    bottom: -184px;
    border: 2px solid rgba(114, 225, 249, 0.38);
    border-radius: 50%;
    box-shadow:
      0 0 0 38px rgba(64, 199, 232, 0.08),
      0 0 0 78px rgba(64, 199, 232, 0.05);
    pointer-events: none;
  }

  .heimdall-pilot-cta .hc-story-copy,
  .heimdall-pilot-cta .hc-intelligence-visual {
    position: relative;
    z-index: 1;
  }

  .heimdall-pilot-cta .hc-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 15px;
    color: #7feaff !important;
    -webkit-text-fill-color: #7feaff !important;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 0.12em;
    opacity: 1 !important;
    text-shadow: 0 2px 10px rgba(0, 8, 38, 0.72);
    text-transform: uppercase;
  }

  .heimdall-pilot-cta .hc-eyebrow::before {
    content: "";
    width: 28px;
    height: 3px;
    border-radius: 99px;
    background: var(--hc-cyan);
  }

  .heimdall-pilot-cta .hc-story h2 {
    max-width: 580px;
    margin: 0;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-size: clamp(31px, 3.15vw, 47px);
    font-weight: 900;
    line-height: 1.04;
    letter-spacing: -0.025em;
    opacity: 1 !important;
    text-shadow: 0 2px 12px rgba(0, 8, 38, 0.58);
    text-transform: none !important;
  }

  .heimdall-pilot-cta .hc-story-copy > p:last-child {
    max-width: 575px;
    margin: 18px 0 0;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.55;
    opacity: 1 !important;
    text-shadow: 0 2px 9px rgba(0, 8, 38, 0.7);
  }

  .heimdall-pilot-cta .hc-intelligence-visual {
    display: grid;
    grid-template-columns: 1fr 176px 1fr;
    grid-template-rows: 58px 88px 58px;
    align-items: center;
    gap: 0 15px;
    max-width: 570px;
    margin-top: 30px;
  }

  .heimdall-pilot-cta .hc-core {
    position: relative;
    display: flex;
    grid-column: 2;
    grid-row: 1 / 4;
    width: 176px;
    height: 176px;
    align-items: center;
    justify-content: center;
    border: 2px solid #7be6ff;
    border-radius: 50%;
    background: radial-gradient(circle, #ffffff 0 44%, #d7f5ff 45% 62%, #11bde9 63% 65%, rgba(10, 66, 140, 0.58) 66% 100%);
    box-shadow: 0 12px 28px rgba(0, 13, 46, 0.32);
  }

  .heimdall-pilot-cta .hc-shield {
    position: relative;
    display: flex;
    width: 72px;
    height: 84px;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-size: 45px;
    font-weight: 900;
    line-height: 1;
    background: linear-gradient(155deg, #0c4695, #061b48 68%);
    border: 3px solid #ffffff;
    clip-path: polygon(50% 0, 93% 16%, 88% 70%, 50% 100%, 12% 70%, 7% 16%);
    filter: drop-shadow(0 5px 7px rgba(0, 18, 52, 0.35));
  }

  .heimdall-pilot-cta .hc-signal {
    position: relative;
    display: flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    padding: 10px 14px;
    color: #ffffff;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 0.035em;
    text-align: center;
    text-transform: uppercase;
    border: 1px solid rgba(133, 231, 251, 0.72);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(4px);
  }

  .heimdall-pilot-cta .hc-signal::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 22px;
    height: 2px;
    background: #1dc7ee;
  }

  .heimdall-pilot-cta .hc-signal-left::after {
    right: -23px;
  }

  .heimdall-pilot-cta .hc-signal-right::after {
    left: -23px;
  }

  .heimdall-pilot-cta .hc-signal-1 { grid-column: 1; grid-row: 1; }
  .heimdall-pilot-cta .hc-signal-2 { grid-column: 3; grid-row: 1; }
  .heimdall-pilot-cta .hc-signal-3 { grid-column: 1; grid-row: 3; }
  .heimdall-pilot-cta .hc-signal-4 { grid-column: 3; grid-row: 3; }

  .heimdall-pilot-cta .hc-form-panel {
    display: flex;
    min-height: 490px;
    flex-direction: column;
    justify-content: flex-start;
    padding: 34px 40px 42px;
    background:
      linear-gradient(rgba(255,255,255,0.96), rgba(255,255,255,0.96)),
      radial-gradient(circle at 100% 0, #bfeeff, transparent 45%);
  }

  .heimdall-pilot-cta .hc-form-kicker {
    margin: 0 0 7px;
    color: var(--hc-cyan-dark);
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 0.11em;
    text-transform: uppercase;
  }

  .heimdall-pilot-cta .hc-form-panel h3 {
    margin: 0;
    color: var(--hc-navy);
    font-size: 28px;
    font-weight: 900;
    line-height: 1.15;
    text-transform: none !important;
  }

  .heimdall-pilot-cta .hc-form-intro {
    margin: 9px 0 17px;
    color: #405e76;
    font-size: 15px;
    line-height: 1.5;
  }

  .heimdall-pilot-cta .hc-intent-group {
    min-width: 0;
    margin: 0 0 15px;
    padding: 0;
    border: 0;
  }

  .heimdall-pilot-cta .hc-intent-group legend {
    width: 100%;
    margin: 0 0 8px;
    padding: 0;
    color: var(--hc-ink);
    font-size: 13px;
    font-weight: 800;
  }

  .heimdall-pilot-cta .hc-intent-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
  }

  .heimdall-pilot-cta .hc-intent-option {
    position: relative;
    min-width: 0;
  }

  .heimdall-pilot-cta .hc-intent-option .hc-intent-radio {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: 0;
    padding: 0;
    opacity: 0;
    overflow: hidden;
    pointer-events: none;
  }

  .heimdall-pilot-cta .hc-intent-card {
    display: flex;
    min-height: 56px;
    height: 100%;
    margin: 0;
    align-items: center;
    justify-content: center;
    padding: 10px 8px;
    color: #294963;
    font-size: 12px;
    font-weight: 900;
    line-height: 1.22;
    text-align: center;
    cursor: pointer;
    border: 1px solid #bdd7e3;
    border-radius: 11px;
    background: #f6fbfd;
    transition: color 0.18s ease, border-color 0.18s ease, background 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
  }

  .heimdall-pilot-cta .hc-intent-card:hover {
    color: var(--hc-blue);
    border-color: var(--hc-cyan-dark);
    background: #edfaff;
    transform: translateY(-1px);
  }

  .heimdall-pilot-cta .hc-intent-radio:checked + .hc-intent-card {
    color: #ffffff;
    border-color: var(--hc-blue);
    background: linear-gradient(135deg, var(--hc-navy), var(--hc-blue) 58%, #087fae);
    box-shadow: 0 8px 18px rgba(6, 41, 104, 0.2);
  }

  .heimdall-pilot-cta .hc-intent-radio:focus-visible + .hc-intent-card {
    outline: 3px solid rgba(18, 189, 234, 0.42);
    outline-offset: 2px;
  }

  .heimdall-pilot-cta .hc-fields {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }

  .heimdall-pilot-cta .hc-field-wide {
    grid-column: 1 / -1;
  }

  .heimdall-pilot-cta label {
    display: block;
    margin: 0 0 6px;
    color: var(--hc-ink);
    font-size: 13px;
    font-weight: 800;
  }

  .heimdall-pilot-cta input,
  .heimdall-pilot-cta select {
    display: block;
    width: 100%;
    height: 44px;
    margin: 0;
    padding: 0 13px;
    color: #17334d;
    font: 15px Arial, Helvetica, sans-serif;
    border: 1px solid #bdd7e3;
    border-radius: 10px;
    outline: none;
    background: #f9fcfe;
    box-shadow: none;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
  }

  .heimdall-pilot-cta input:focus,
  .heimdall-pilot-cta select:focus {
    border-color: var(--hc-cyan-dark);
    background: #ffffff;
    box-shadow: 0 0 0 3px rgba(18, 189, 234, 0.16);
  }

  .heimdall-pilot-cta .hc-submit {
    display: flex;
    width: 100%;
    min-height: 48px;
    margin: 15px 0 0;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 12px 20px;
    color: #ffffff;
    font: 800 16px Arial, Helvetica, sans-serif;
    letter-spacing: 0.015em;
    cursor: pointer;
    border: 0;
    border-radius: 12px;
    background: linear-gradient(90deg, var(--hc-navy), var(--hc-blue) 52%, #0799c6);
    box-shadow: 0 10px 22px rgba(6, 41, 104, 0.22);
    transition: transform 0.18s ease, box-shadow 0.18s ease, filter 0.18s ease;
  }

  .heimdall-pilot-cta .hc-submit:hover {
    transform: translateY(-1px);
    filter: brightness(1.08);
    box-shadow: 0 13px 28px rgba(6, 41, 104, 0.28);
  }

  .heimdall-pilot-cta .hc-submit:focus-visible {
    outline: 3px solid rgba(18, 189, 234, 0.45);
    outline-offset: 3px;
  }

  .heimdall-pilot-cta .hc-arrow {
    font-size: 20px;
    line-height: 1;
  }

  .heimdall-pilot-cta .hc-assurance {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 10px 0 0;
    padding: 0 0 3px;
    color: #36566f;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.3;
  }

  .heimdall-pilot-cta .hc-assurance-mark {
    display: inline-flex;
    width: 17px;
    height: 17px;
    flex: 0 0 17px;
    align-items: center;
    justify-content: center;
    margin-top: 1px;
    color: #ffffff;
    font-size: 11px;
    font-weight: 900;
    border-radius: 50%;
    background: var(--hc-cyan-dark);
  }

  /* Hidden honeypot field for basic spam reduction. */
  .heimdall-pilot-cta .hc-trap {
    position: absolute !important;
    left: -10000px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
  }

  @media (max-width: 900px) {
    .heimdall-pilot-cta .hc-frame {
      grid-template-columns: 1fr;
    }

    .heimdall-pilot-cta .hc-story,
    .heimdall-pilot-cta .hc-form-panel {
      min-height: 0;
    }

    .heimdall-pilot-cta .hc-story {
      padding: 38px 34px 34px;
    }

    .heimdall-pilot-cta .hc-form-panel {
      padding: 34px;
    }
  }

  @media (max-width: 560px) {
    .heimdall-pilot-cta {
      margin: 24px auto;
    }

    .heimdall-pilot-cta .hc-frame {
      border-radius: 20px;
    }

    .heimdall-pilot-cta .hc-story,
    .heimdall-pilot-cta .hc-form-panel {
      padding: 30px 22px;
    }

    .heimdall-pilot-cta .hc-story h2 {
      font-size: 32px;
    }

    .heimdall-pilot-cta .hc-story-copy > p:last-child {
      font-size: 16px;
    }

    .heimdall-pilot-cta .hc-intelligence-visual {
      grid-template-columns: 1fr 128px 1fr;
      grid-template-rows: 48px 62px 48px;
      gap: 0 9px;
    }

    .heimdall-pilot-cta .hc-core {
      width: 128px;
      height: 128px;
    }

    .heimdall-pilot-cta .hc-shield {
      width: 54px;
      height: 64px;
      font-size: 34px;
    }

    .heimdall-pilot-cta .hc-signal {
      min-height: 38px;
      padding: 7px 6px;
      font-size: 10px;
      border-radius: 10px;
    }

    .heimdall-pilot-cta .hc-signal::after {
      width: 12px;
    }

    .heimdall-pilot-cta .hc-signal-left::after { right: -13px; }
    .heimdall-pilot-cta .hc-signal-right::after { left: -13px; }

    .heimdall-pilot-cta .hc-fields {
      grid-template-columns: 1fr;
    }

    .heimdall-pilot-cta .hc-intent-grid {
      grid-template-columns: 1fr;
    }

    .heimdall-pilot-cta .hc-intent-card {
      min-height: 46px;
    }

    .heimdall-pilot-cta .hc-field-wide {
      grid-column: auto;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .heimdall-pilot-cta .hc-submit,
    .heimdall-pilot-cta input,
    .heimdall-pilot-cta select {
      transition: none;
    }
  }
