/* NetSPI & Synack merger banner block (homepage, above the hero).
   The logo lockup is shared with the merger completed page. */
.nsm-logos {
  display:block;
  margin:0 auto 44px;
  text-align:center;
  line-height:normal;
}
.nsm-logos .nsm-logos__link {
  display:inline;
  text-decoration:none;
}
.nsm-logos .nsm-logo {
  display:inline-block;
  vertical-align:baseline;
}
.nsm-logos .nsm-logo--netspi {
  width:256px;
  height:50px;
}
.nsm-logos .nsm-logo--synack {
  width:248px;
  height:50px;
}
.nsm-logos .nsm-logos__plus {
  vertical-align:top;
  font-size:56px;
  padding:0 5px;
  font-weight:300;
  line-height:.9;
  color:#fff;
}
.nsm-logos .nsm-logos__reg {
  vertical-align:text-bottom;
  font-size:16px;
  line-height:2.25;
  padding-left:3px;
  color:#fff;
}
@media(max-width:560px) {
  .nsm-logos {
    max-width:350px;
    margin-bottom:30px;
  }
  .nsm-logos .nsm-logo--netspi {
    width:128px;
    height:25px;
  }
  .nsm-logos .nsm-logo--synack {
    width:124px;
    height:25px;
  }
  .nsm-logos .nsm-logos__plus {
    font-size:36px;
    padding:0 2px;
  }
}

.nsm-merger {
  --nsm-chrome-offset:30px;
  --nsm-dots:
    radial-gradient(rgba(226,115,56,.30) 1.1px, transparent 1.1px),
    radial-gradient(rgba(255,255,255,.14) 1.1px, transparent 1.1px);
  font-family:"DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
  background-color:#0D1629;
  background-image:var(--nsm-dots);
  background-size:26px 26px,26px 26px;
  background-position:0 0,13px 13px;
  padding:calc(var(--nsm-chrome-offset) + 40px) 0 44px;
}
.nsm-merger--preview {
  --nsm-chrome-offset:0px;
}
.nsm-merger * {
  box-sizing:border-box;
}
.nsm-frame {
  max-width:1240px;
  margin:0 auto;
  padding:3px;
  background:linear-gradient(104deg,#E17338 0%,#C66736 14%,#7D472F 28%,#1C2538 46%,#132547 58%,#1D3C84 76%,#2B65EB 100%);
}
.nsm-inner {
  background-color:#0D1629;
  background-image:var(--nsm-dots);
  background-size:26px 26px,26px 26px;
  background-position:0 0,13px 13px;
  padding:66px 56px 70px;
  text-align:center;
}
.nsm-merger .nsm-head {
  font-size:clamp(42px,4.4vw,58px);
  font-weight:700;
  color:#fff;
  margin:0 auto 40px;
  padding:0;
  letter-spacing:-.03em;
  line-height:1.1;
}
.nsm-merger .nsm-dek {
  font-size:clamp(16.5px,1.42vw,20px);
  font-weight:400;
  color:rgba(255,255,255,.9);
  max-width:60ch;
  margin:0 auto;
  padding:0;
  line-height:1.55;
}
.nsm-merger .nsm-ctas {
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  margin-top:38px;
}
/* Synack CTA component, same as the netspi-and-synack page. */
.nsm-merger .nsm-btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-family:inherit;
  font-size:15px;
  font-weight:500;
  line-height:1;
  padding:18px 25px;
  border-radius:40px;
  border:1.5px solid transparent;
  text-transform:uppercase;
  letter-spacing:.04em;
  text-decoration:none;
  white-space:nowrap;
  transition:.2s;
}
.nsm-merger .nsm-btn--amber {
  background:#E27338;
  border-color:#E27338;
  color:#fff;
}
.nsm-merger .nsm-btn--amber:hover {
  background:#fff;
  border-color:#fff;
  color:#E27338;
}
.nsm-merger .nsm-btn--ghost {
  background:transparent;
  border-color:rgba(255,255,255,.7);
  color:#fff;
}
.nsm-merger .nsm-btn--ghost:hover {
  background:#fff;
  color:#1C66FB;
}
.nsm-merger .nsm-orig {
  display:block;
  margin-top:24px;
  font-size:14.5px;
  color:rgba(255,255,255,.62);
}
.nsm-merger .nsm-orig a {
  color:#fff;
  text-decoration:underline;
  text-underline-offset:3px;
}
.nsm-merger .nsm-orig a:hover {
  color:#E8955F;
}
.nsm-merger a:focus-visible {
  outline:2px solid #fff;
  outline-offset:4px;
}

/* The hero below no longer sits under the fixed header, so it drops the header clearance. */
.nsm-merger ~ .hero-intro {
  padding-top:96px;
}

@media(max-width:767px) {
  .nsm-merger ~ .hero-intro {
    padding-top:64px;
  }
}
@media(max-width:600px) {
  .nsm-merger .nsm-btn {
    white-space:normal;
    text-align:center;
    line-height:1.3;
  }
}
@media(max-width:560px) {
  .nsm-merger {
    padding:calc(var(--nsm-chrome-offset) + 18px) 0 22px;
  }
  .nsm-frame {
    margin:0 16px;
    padding:2px;
  }
  .nsm-inner {
    padding:44px 22px 48px;
  }
  .nsm-merger .nsm-head {
    margin-bottom:30px;
  }
  .nsm-merger .nsm-ctas {
    flex-direction:column;
    align-items:stretch;
  }
}
