:root {
  --light-canvas: #f5f7fb;
  --light-surface: #ffffff;
  --light-surface-alt: #edf2f8;
  --light-line: #d7dee8;
  --light-ink: #101722;
  --light-copy: #566274;
}

body.light-variant {
  background: var(--light-canvas);
  color: var(--light-ink);
}

.site-header {
  height: 88px;
  border-bottom-color: rgba(20, 34, 55, .1);
  background: rgba(255, 255, 255, .88);
  box-shadow: 0 8px 28px rgba(26, 42, 67, .04);
}

.site-header.is-scrolled {
  background: rgba(255, 255, 255, .97);
  box-shadow: 0 12px 36px rgba(22, 39, 65, .1);
}

.brand-plate {
  width: 260px;
  height: 72px;
  overflow: hidden;
  border: 0;
  background: transparent;
  clip-path: none;
}

.brand-plate img {
  width: 248px;
}

.hero {
  padding-top: 88px;
}

.main-nav > a:not(.nav-cta) {
  color: #4c5869;
}

.main-nav > a:not(.nav-cta):hover {
  color: #0e1724;
}

.language-switcher {
  border-color: #d5dde8;
  background: #f5f8fc;
}

.language-switcher a {
  color: #647187;
}

.language-switcher a:hover {
  color: #0e1724;
  background: rgba(0, 87, 255, .08);
}

.language-switcher a.is-active {
  color: #fff;
  background: var(--blue);
}

.hero {
  min-height: 910px;
  background:
    radial-gradient(circle at 84% 27%, rgba(0, 87, 255, .12), transparent 31%),
    radial-gradient(circle at 9% 77%, rgba(227, 6, 19, .055), transparent 25%),
    linear-gradient(132deg, #ffffff 0%, #f7f9fc 52%, #eef3f9 100%);
  color: var(--light-ink);
}

.hero::before {
  opacity: .48;
  background-image:
    linear-gradient(rgba(64, 88, 122, .09) 1px, transparent 1px),
    linear-gradient(90deg, rgba(64, 88, 122, .09) 1px, transparent 1px);
}

.hero::after {
  background: linear-gradient(transparent, rgba(0, 87, 255, .22), transparent);
}

.hero-noise {
  opacity: .05;
  mix-blend-mode: multiply;
}

.eyebrow {
  color: #475568;
}

.hero h1 {
  color: #101722;
}

.hero h1 em {
  color: #0057ff;
}

.hero h1 .hero-ai {
  color: var(--red);
}

.hero h1 .hero-safe {
  color: var(--blue);
}

.hero-lead {
  color: #5b6879;
}

.button-secondary {
  border-color: #cbd5e2;
  background: rgba(255, 255, 255, .8);
  color: #182434;
  box-shadow: 0 10px 24px rgba(28, 48, 76, .06);
}

.button-secondary:hover {
  border-color: #0057ff;
  background: #fff;
}

.button-primary,
.button-primary:visited,
.button-primary:hover,
.nav-cta,
.nav-cta:visited,
.nav-cta:hover {
  color: #fff;
}

.visual-caption {
  color: #68788e;
}

.visual-caption b {
  color: #315b9b;
}

.audit-visual {
  border-color: #cbd5e2;
  background: linear-gradient(145deg, rgba(255, 255, 255, .98), rgba(239, 244, 250, .98));
  box-shadow: 0 34px 80px rgba(31, 55, 88, .15), inset 0 1px rgba(255, 255, 255, .85);
}

.audit-visual::before {
  opacity: .22;
  background-image: radial-gradient(circle, #91a2ba 1px, transparent 1px);
}

.visual-topbar {
  border-bottom-color: #d8e0ea;
  background: rgba(255, 255, 255, .76);
}

.visual-status {
  color: #46566c;
}

.visual-id {
  color: #65758b;
}

.card-label {
  color: var(--red);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .1em;
}

.visual-card {
  border-color: #d5dde8;
  background: linear-gradient(145deg, #fff, #f5f8fc);
  box-shadow: inset 0 1px #fff, 0 8px 20px rgba(35, 56, 84, .04);
}

.code-lines span {
  color: #506075;
}

.code-lines b {
  color: #0057ff;
}

.container-cube {
  border-color: rgba(0, 87, 255, .42);
  background: rgba(0, 87, 255, .055);
}

.cube-line {
  background: #a8b8cf;
}

.sandbox-badge {
  right: 14px;
  bottom: 6px;
  padding-inline: 2px;
  background: #f7f9fc;
  color: #506784;
  white-space: nowrap;
}

.scan-target span {
  border-color: #d5dfea;
  background: rgba(255, 255, 255, .72);
  color: #53647a;
}

.risk-row {
  border-bottom-color: #dce3ec;
  color: #526175;
}

.risk-row b,
.report-card strong {
  color: #172333;
}

.report-card small {
  color: #68778c;
}

.visual-footer {
  border-top-color: #d7dfe9;
  background: rgba(255, 255, 255, .68);
  color: #5e6e82;
}

.visual-progress {
  background: #d5deea;
}

.hero-bottom {
  border-top-color: #d4dce7;
  background: rgba(255, 255, 255, .7);
}

.hero-bottom-inner {
  color: #647286;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .12em;
}

.pixel-cluster {
  opacity: .34;
}

.light-section,
.dark-section {
  color: var(--light-ink);
}

.section-heading > p,
.dark-section .section-heading > p {
  color: #5d697a;
}

.section-index {
  display: inline-block;
  font-size: 13px;
  line-height: 1.3;
  letter-spacing: .1em;
}

.blue-index {
  color: #0052ed;
}

.problem-section {
  background: #fff;
}

.problem-heading {
  display: block;
  max-width: 980px;
}

.problem-heading h2 {
  max-width: 920px;
  margin: 0;
  font-size: clamp(42px, 4.6vw, 66px);
  line-height: 1.02;
  letter-spacing: -.045em;
  text-wrap: balance;
}

.problem-heading .risk-emphasis {
  color: var(--red);
}

.problem-heading > p {
  max-width: 920px;
  margin: 30px 0 0;
  padding-left: 22px;
  border-left: 3px solid var(--red);
  color: #4f5d70;
  font-size: 16px;
  line-height: 1.72;
}

.problem-grid {
  gap: 18px;
  margin-top: 58px;
  border: 0;
}

.problem-card {
  isolation: isolate;
  min-height: 272px;
  overflow: hidden;
  padding: 24px 26px 28px 30px;
  border: 1px solid #d4dde8;
  background:
    linear-gradient(135deg, rgba(0, 87, 255, .025), transparent 44%),
    #fff;
  box-shadow: 0 12px 30px rgba(29, 50, 79, .055);
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.problem-card::before {
  z-index: 2;
  inset: 0 auto 0 0;
  width: 4px;
  height: auto;
  background: linear-gradient(180deg, var(--red), #ff5660);
  transition: width .2s ease;
}

.problem-card::after {
  content: '';
  position: absolute;
  z-index: -1;
  top: 18px;
  right: 19px;
  width: 4px;
  height: 4px;
  background: var(--blue);
  opacity: .2;
  box-shadow:
    9px 0 var(--blue),
    18px 9px var(--blue),
    0 18px var(--red),
    18px 27px var(--red);
}

.problem-card:hover {
  border-color: #afc2dc;
  background:
    linear-gradient(135deg, rgba(0, 87, 255, .05), transparent 48%),
    #fff;
  transform: translateY(-5px);
  box-shadow: 0 24px 52px rgba(26, 49, 81, .13);
}

.problem-card:hover::before {
  width: 5px;
}

.problem-card-top {
  position: relative;
  z-index: 1;
  padding-bottom: 20px;
  border-bottom: 1px solid #e2e8f0;
}

.problem-code {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 0 9px;
  border: 1px solid rgba(227, 6, 19, .23);
  background: rgba(227, 6, 19, .055);
  color: #bd0712;
}

.problem-number {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border: 1px solid #c9d6e6;
  background: #f2f6fb;
  color: #315f9f;
  font-size: 10px;
  font-weight: 700;
}

.problem-card h3 {
  max-width: 280px;
  margin: 29px 0 13px;
  color: #182332;
  font-size: 22px;
}

.problem-card p {
  max-width: 320px;
  color: #5d6b7d;
  line-height: 1.72;
}

.problem-line {
  position: relative;
  grid-template-columns: 205px 1fr;
  gap: 34px;
  margin-top: 32px;
  padding: 28px 32px 27px;
  border: 1px solid #bfd0e8;
  border-left: 7px solid var(--blue);
  background: linear-gradient(90deg, #e7f0ff 0, #f4f8fd 58%, #fff 100%);
  box-shadow: 0 14px 32px rgba(27, 67, 121, .08);
}

.problem-line::after {
  content: '';
  position: absolute;
  top: -1px;
  right: -1px;
  width: 42px;
  height: 5px;
  background: var(--blue);
}

.problem-line > span {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #0755d8;
  font-family: var(--font-exo);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.problem-line > span::before {
  content: '\2713';
  display: grid;
  place-items: center;
  flex: 0 0 30px;
  width: 30px;
  height: 30px;
  background: var(--blue);
  color: #fff;
  font-size: 16px;
  letter-spacing: 0;
}

.problem-line b {
  color: #16243a;
  font-size: 17px;
  line-height: 1.45;
}

.audience-section {
  background:
    radial-gradient(circle at 16% 27%, rgba(0, 87, 255, .1), transparent 31%),
    linear-gradient(125deg, #f2f6fb, #eaf0f7);
  color: var(--light-ink);
}

.audience-section::before {
  opacity: .38;
  background-image:
    linear-gradient(rgba(80, 105, 142, .11) 1px, transparent 1px),
    linear-gradient(90deg, rgba(80, 105, 142, .11) 1px, transparent 1px);
}

.audience-intro > p {
  color: #5f6c7e;
}

.audience-note {
  position: relative;
  display: block;
  margin-top: 48px;
  padding: 30px 20px 20px;
  border: 1px solid #c5d3e4;
  border-top: 4px solid var(--blue);
  background: rgba(255, 255, 255, .72);
  box-shadow: 0 16px 34px rgba(31, 58, 92, .075);
}

.audience-note > .audience-note-tab {
  position: absolute;
  top: -17px;
  left: 17px;
  display: inline-flex;
  align-items: center;
  width: auto;
  height: 31px;
  padding: 0 20px 0 13px;
  border: 0;
  background: var(--blue);
  color: #fff;
  clip-path: polygon(0 0, calc(100% - 10px) 0, 100% 10px, 100% 100%, 0 100%);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.audience-note p {
  margin: 0;
  color: #425268;
  font-size: 13px;
  line-height: 1.65;
}

.audience-note ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 17px 0 0;
  padding: 0;
  list-style: none;
}

.audience-note li {
  position: relative;
  padding: 8px 10px 8px 23px;
  border: 1px solid #d0dbe8;
  background: #fff;
  color: #30435d;
  font-family: var(--font-exo);
  font-size: 10px;
  font-weight: 600;
}

.audience-note li::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 10px;
  width: 5px;
  height: 5px;
  background: var(--blue);
  transform: translateY(-50%);
}

.audience-list {
  position: relative;
  gap: 12px;
  padding: 64px 14px 14px;
  border: 1px solid #c5d3e4;
  background: rgba(255, 255, 255, .46);
  box-shadow: 0 28px 64px rgba(28, 52, 84, .1);
}

.audience-list-head {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 18px;
  border-bottom: 1px solid #cbd7e5;
  background: #eef4fa;
  color: #3a4f6b;
  font-family: var(--font-exo);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.audience-list-head::after {
  content: '';
  position: absolute;
  right: 0;
  bottom: -1px;
  width: 66px;
  height: 3px;
  background: var(--blue);
}

.audience-list-head b {
  color: #175fc8;
  font-size: 9px;
}

.audience-item {
  position: relative;
  grid-template-columns: 42px 1fr;
  gap: 15px;
  min-height: 158px;
  overflow: hidden;
  padding: 23px 20px;
  border: 1px solid #d1dce9;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 8px 18px rgba(34, 57, 87, .045);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.audience-item::before {
  content: '';
  position: absolute;
  top: -1px;
  left: -1px;
  width: 4px;
  height: 52px;
  background: var(--blue);
}

.audience-item::after {
  content: '';
  position: absolute;
  top: 14px;
  right: 14px;
  width: 3px;
  height: 3px;
  opacity: .2;
  background: var(--red);
  box-shadow: 8px 0 var(--red), 16px 8px var(--blue), 0 16px var(--blue);
}

.audience-item:hover {
  background: #fff;
  border-color: #aebfd5;
  transform: translateY(-3px);
  box-shadow: 0 18px 34px rgba(29, 55, 89, .11);
}

.audience-item > span {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border: 1px solid #b9cce8;
  background: #edf4ff;
  color: #0757cd;
  font-size: 9px;
}

.audience-item h3 {
  margin-bottom: 11px;
  color: #172130;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.2;
}

.audience-item p {
  color: #5f6c7d;
  line-height: 1.65;
}

.scope-section {
  background: #fff;
}

.standards-note span {
  border-color: #c7d3e2;
  background: #f7f9fc;
  color: #264b82;
}

.scope-panel {
  border-color: #c6d2e1;
  background: #f9fbfd;
  color: var(--light-ink);
  box-shadow: 0 32px 76px rgba(29, 53, 86, .12);
}

.scope-panel-head {
  border-bottom-color: #d7e0eb;
  background: #eef3f8;
  color: #5c6c81;
}

.scope-status {
  color: #4e627c;
}

.scope-item {
  border-color: #d6dfe9;
  background: #fff;
}

.scope-item:hover {
  background: #eef4ff;
}

.scope-count {
  color: #68778a;
}

.scope-code {
  color: #0052ed;
}

.scope-item strong {
  color: #202b3a;
}

.scope-item > i {
  border-color: rgba(0, 87, 255, .5);
  background: rgba(0, 87, 255, .04);
  color: #0057ff;
}

.process-section {
  background: linear-gradient(135deg, #f6f8fb, #edf2f7);
  color: var(--light-ink);
}

.process-backdrop {
  opacity: .32;
  background-image: radial-gradient(circle, #8da1bf 1px, transparent 1px);
}

.pipeline-node {
  background: #f4f7fa;
}

.pipeline-node span {
  border-color: rgba(0, 87, 255, .55);
  background: #fff;
  color: #0052ed;
  box-shadow: 0 8px 20px rgba(0, 87, 255, .08);
}

.pipeline-node i {
  background: #0057ff;
  box-shadow: 8px 0 #6993e5, 16px 0 #b0c3e3;
}

.pipeline-link {
  background: linear-gradient(90deg, #4f82df, #b8c8de);
}

.pipeline-link i {
  background: #6e94d5;
}

.pipeline-content {
  border-color: #ccd7e4;
  background: rgba(255, 255, 255, .9);
  box-shadow: 0 18px 38px rgba(33, 55, 84, .06);
}

.pipeline-label {
  color: #3368c8;
}

.pipeline-content h3 {
  color: #182332;
}

.pipeline-content p {
  color: #647184;
}

.report-section {
  background: #fff;
}

.report-shell {
  border-color: #c7d3e1;
  background: #fff;
  color: #182332;
  box-shadow: 0 36px 88px rgba(31, 53, 83, .13);
}

.report-shell-bar {
  border-bottom-color: #d7e0eb;
  background: #eef3f8;
  color: #5d6e83;
}

.report-shell-bar > strong {
  color: #385d94;
}

.report-summary {
  border-bottom-color: #d7e0eb;
  background: #f8fafc;
}

.summary-title,
.summary-stat {
  border-right-color: #d7e0eb;
}

.summary-title > span,
.summary-stat > span {
  color: #657489;
}

.summary-stat > i {
  background: #d8e0ea;
}

.finding-main {
  border-right-color: #d4deea;
  background: #fff;
}

.finding-id > span {
  color: #315f9f;
}

.risk-badge {
  border-color: rgba(196, 69, 19, .45);
  background: #fff5ee;
  color: #a53c17;
}

.finding-meta {
  border-color: #d5dfe9;
  background: #f7f9fc;
}

.finding-meta > div {
  border-right-color: #d5dfe9;
}

.finding-meta span,
.finding-block > span,
.aside-block > span,
.request-sample > span {
  color: #5c6d83;
}

.finding-meta code {
  color: #33465f;
}

.finding-block p {
  color: #566477;
}

.retest-status {
  color: #26374b !important;
}

.finding-aside {
  background: #f1f5f9;
}

.aside-block ol {
  color: #536276;
}

.request-sample {
  border-right: 1px solid #d3dde8;
  border-top: 1px solid #d3dde8;
  border-bottom: 1px solid #d3dde8;
  background: #fff;
}

.request-sample code {
  color: #34465d;
}

.request-sample b {
  color: #c3111c;
}

.fix-block {
  border-top-color: #d4dee9;
}

.fix-block p {
  color: #536276;
}

.risk-legend {
  border-top-color: #d7e0eb;
  background: #f8fafc;
  color: #536276;
}

.deliverables-section {
  background: linear-gradient(125deg, #eef3f8, #f8fafc);
  color: var(--light-ink);
}

.deliverables-copy > p {
  color: #5c697b;
}

.deliverables-callout {
  border-top-color: #cbd6e3;
  border-bottom-color: #cbd6e3;
}

.deliverables-callout span {
  color: #245dbf;
}

.deliverables-callout strong {
  color: #314156;
}

.deliverables-list {
  border-color: #cbd6e3;
  box-shadow: 0 24px 54px rgba(31, 53, 83, .07);
}

.deliverables-list li {
  grid-template-columns: 28px 1fr;
  border-color: #cbd6e3;
  background: rgba(255, 255, 255, .86);
}

.deliverables-list li:hover {
  background: #fff;
}

.deliverables-list span,
.deliverables-list i {
  color: #315f9f;
}

.deliverables-list p {
  color: #253246;
}

.experience-section {
  position: relative;
  padding: 108px 0;
  overflow: hidden;
  border-top: 1px solid #d6e0ec;
  border-bottom: 1px solid #d6e0ec;
  background: #fff;
  color: var(--light-ink);
}

.experience-section::before {
  content: '';
  position: absolute;
  top: -1px;
  left: 0;
  width: 34%;
  height: 6px;
  background: var(--blue);
}

.experience-section::after {
  content: '';
  position: absolute;
  right: 5%;
  bottom: 34px;
  width: 4px;
  height: 4px;
  opacity: .14;
  background: var(--red);
  box-shadow: 12px 0 var(--red), 24px 12px var(--red), 0 24px var(--blue), 24px 36px var(--blue), 36px 36px var(--blue);
}

.experience-layout {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(420px, .82fr);
  gap: clamp(70px, 9vw, 132px);
  align-items: end;
}

.experience-copy {
  max-width: 680px;
}

.experience-proof {
  display: flex;
  align-items: center;
  padding: 16px 19px 16px 17px;
  border: 1px solid #d6dfeb;
  border-left: 4px solid var(--blue);
  background: linear-gradient(110deg, #f5f8fc, #fff);
  box-shadow: 0 10px 24px rgba(35, 56, 84, .055);
}

.experience-proof-label {
  color: #526176;
  font-family: var(--font-exo);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.verno-sec-accent {
  color: var(--red);
}

.experience-title-netcoding {
  display: inline-flex;
  align-items: baseline;
}

.experience-title-netcoding b {
  color: var(--red);
}

.experience-title-netcoding em {
  color: #101722;
  font-style: normal;
}

.experience-copy h2 {
  margin: 19px 0 0;
  font-family: var(--font-exo);
  font-size: clamp(42px, 4.4vw, 62px);
  line-height: 1.03;
  letter-spacing: -.04em;
}

.experience-copy > p {
  max-width: 660px;
  margin: 27px 0 0;
  color: #536277;
  font-size: 15px;
  line-height: 1.76;
}

.experience-link {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  margin-top: 29px;
  padding-bottom: 7px;
  border-bottom: 2px solid var(--blue);
  color: #174f9f;
  font-family: var(--font-exo);
  font-size: 13px;
  font-weight: 700;
  transition: color .18s ease, border-color .18s ease;
}

.experience-link:hover,
.experience-link:focus-visible {
  border-color: var(--red);
  color: #b10b15;
}

.experience-stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid #c9d6e5;
  border-left: 1px solid #c9d6e5;
  box-shadow: 0 22px 48px rgba(28, 52, 85, .08);
}

.experience-stat {
  min-height: 228px;
  padding: 34px 28px 30px;
  border-right: 1px solid #c9d6e5;
  border-bottom: 1px solid #c9d6e5;
  background: #f6f9fc;
}

.experience-stat strong {
  display: block;
  color: #132033;
  font-family: var(--font-exo);
  font-size: clamp(58px, 5vw, 78px);
  line-height: 1;
  letter-spacing: -.055em;
}

.experience-stat strong em {
  color: var(--blue);
  font-size: .52em;
  font-style: normal;
  vertical-align: top;
}

.experience-stat > span {
  display: block;
  margin-top: 28px;
  padding-top: 18px;
  border-top: 2px solid var(--red);
  color: #435369;
  font-family: var(--font-exo);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.55;
}

.experience-stat-wide {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 108px 1fr;
  gap: 28px;
  align-items: center;
  min-height: 132px;
  padding-block: 24px;
}

.experience-stat-wide strong {
  color: var(--blue);
  font-size: 58px;
}

.experience-stat-wide > span {
  margin: 0;
  padding: 0 0 0 28px;
  border-top: 0;
  border-left: 2px solid var(--red);
  font-size: 15px;
}

.trust-section {
  background:
    radial-gradient(circle at 22% 40%, rgba(0, 87, 255, .11), transparent 35%),
    linear-gradient(125deg, #f7f9fc, #e9f0f8 70%);
  color: var(--light-ink);
}

.trust-section::after {
  opacity: .2;
}

.trust-logo-wrap {
  border-color: #c4d1e1;
  background: rgba(255, 255, 255, .68);
  box-shadow: 0 28px 62px rgba(29, 52, 84, .1);
}

.trust-logo-grid {
  opacity: .4;
  background-image:
    linear-gradient(rgba(88, 116, 157, .11) 1px, transparent 1px),
    linear-gradient(90deg, rgba(88, 116, 157, .11) 1px, transparent 1px);
}

.trust-logo-wrap > span {
  color: #315b92;
}

.trust-lead {
  color: #526175;
}

.trust-points {
  gap: 12px;
  border: 0;
}

.trust-points > div {
  min-height: 158px;
  padding: 27px 27px 29px;
  border: 1px solid #c7d3e1;
  border-left: 4px solid var(--blue);
  background: rgba(255, 255, 255, .84);
  box-shadow: 0 10px 24px rgba(35, 56, 84, .05);
}

.trust-points span {
  display: block;
  color: #1e5ac4;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .11em;
}

.trust-points p {
  margin-top: 18px;
  color: #59687b;
  font-size: 14px;
  line-height: 1.68;
}

.footer-brand p a {
  color: #9dbaf0;
  text-decoration: underline;
  text-decoration-color: rgba(157, 186, 240, .4);
  text-underline-offset: 3px;
}

.footer-brand p a:hover,
.footer-brand p a:focus-visible {
  color: #fff;
}

.faq-section {
  background: #fff;
}

.final-cta {
  background:
    radial-gradient(circle at 78% 48%, rgba(255, 255, 255, .18), transparent 30%),
    linear-gradient(120deg, #f10b19, #c0000c 72%, #a9000a);
  box-shadow: inset 0 7px #ff2632, inset 0 -7px #990009;
}

.final-cta::before {
  border-color: rgba(122, 0, 8, .48);
}

.final-cta-grid {
  opacity: .24;
  background-image:
    linear-gradient(rgba(255, 255, 255, .2) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .2) 1px, transparent 1px);
}

.cta-kicker {
  color: #fff;
}

.final-cta p,
.text-link {
  color: #fff;
}

.text-link:hover {
  border-color: #fff;
}

.final-cta .button-primary {
  --button-pulse-rgb: 255, 255, 255;
  background: var(--blue);
  color: #fff;
  box-shadow: 0 16px 38px rgba(0, 35, 120, .28);
}

.final-cta .button-primary:hover {
  background: #0045cc;
}

.final-cta .button-primary:focus-visible {
  box-shadow: 0 0 0 3px #fff, 0 0 0 6px #002d86;
}

.contact-section {
  background: #edf2f7;
}

.contact-warning,
.contact-form {
  box-shadow: 0 24px 64px rgba(30, 51, 79, .08);
}

.site-footer {
  border-top: 1px solid #d1dae5;
  background: #f8fafc;
  color: var(--light-ink);
}

.footer-logo-plate {
  border: 1px solid #d8e0e9;
  background: #fff;
}

.footer-logo-plate {
  width: 242px;
  height: 72px;
  border: 0;
  background: transparent;
  clip-path: none;
}

.footer-logo-plate img {
  width: 228px;
}

.footer-brand p {
  color: #5f6d7f;
}

.footer-column > span {
  color: #2459ac;
}

.footer-column a {
  color: #4d5d71;
}

.footer-column a:hover {
  color: #0052ed;
}

.footer-column small,
.footer-bottom {
  color: #687688;
}

.footer-bottom {
  border-top-color: #d7dfe8;
}

.footer-company-inline {
  color: #607084;
}

.footer-company-inline > * + * {
  border-left-color: #d4dce6;
}

.footer-company-inline .footer-company-label {
  color: #315e9d;
}

.footer-company-inline strong {
  color: var(--light-ink);
}

.footer-bottom a:hover {
  color: #0052ed;
}

.legal-header {
  border-bottom-color: #d7dfe8;
  background: #fff;
}

.legal-brand {
  width: 242px;
  height: 64px;
  border: 0;
  background: transparent;
  clip-path: none;
}

.legal-brand img {
  width: 228px;
}

.legal-back {
  color: #536174;
}

.legal-back:hover {
  color: #0052ed;
}

.legal-hero {
  background:
    radial-gradient(circle at 80% 35%, rgba(0, 87, 255, .12), transparent 32%),
    linear-gradient(125deg, #f7f9fc, #eaf0f7);
  color: var(--light-ink);
}

.legal-hero::before {
  opacity: .4;
  background-image:
    linear-gradient(rgba(92, 126, 179, .11) 1px, transparent 1px),
    linear-gradient(90deg, rgba(92, 126, 179, .11) 1px, transparent 1px);
}

.legal-hero p {
  color: #566477;
}

.legal-content {
  background: #f4f7fa;
}

@media (min-width: 901px) {
  .audience-layout {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: clamp(48px, 6vw, 86px);
  }

  .audience-intro h2 {
    max-width: 600px;
  }

  .audience-intro > p,
  .audience-note {
    max-width: 570px;
  }
}

@media (min-width: 1081px) {
  .hero-visual-wrap {
    width: calc(100% + 56px);
  }

  .audit-visual {
    min-height: 556px;
  }

  .visual-grid {
    grid-template-rows: 155px 147px 118px;
  }
}

@media (max-width: 900px) {
  .site-header {
    height: 70px;
  }

  .brand-plate {
    width: 210px;
    height: 58px;
  }

  .brand-plate img {
    width: 205px;
  }

  .hero {
    padding-top: 70px;
  }

  .main-nav {
    border-bottom-color: #d9e0e9;
    background: rgba(255, 255, 255, .99);
  }

  .main-nav > a:not(.nav-cta) {
    border-bottom-color: #e7ebf1;
  }

  .menu-toggle {
    border-color: #cbd4df;
    color: #172333;
  }

  .experience-section {
    padding-block: 94px;
  }

  .experience-layout {
    grid-template-columns: 1fr;
    gap: 52px;
  }

  .experience-copy {
    max-width: 760px;
  }

  .experience-stats {
    width: min(680px, 100%);
  }

  .legal-brand {
    width: 205px;
    height: 56px;
  }

  .legal-brand img {
    width: 198px;
  }
}

@media (max-width: 600px) {
  .card-label {
    font-size: 8px;
  }

  .report-card .card-label {
    font-size: 7px;
  }

  .hero-bottom-inner span {
    font-size: 8px;
  }

  .problem-heading h2 {
    font-size: clamp(36px, 10vw, 46px);
  }

  .problem-heading > p {
    margin-top: 24px;
    padding-left: 17px;
    font-size: 15px;
  }

  .problem-grid {
    gap: 14px;
    margin-top: 44px;
  }

  .problem-line {
    grid-template-columns: 1fr;
    gap: 15px;
    padding: 25px 21px 23px;
    border-left-width: 6px;
  }

  .problem-card {
    min-height: 0;
    padding: 23px 22px 25px 27px;
  }

  .audience-list {
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 62px 10px 10px;
  }

  .audience-list-head {
    padding-inline: 13px;
    font-size: 9px;
  }

  .audience-item {
    min-height: 0;
    padding: 21px 18px;
  }

  .experience-section {
    padding-block: 78px;
  }

  .experience-section::before {
    width: 54%;
  }

  .experience-copy h2 {
    font-size: clamp(36px, 10vw, 46px);
  }

  .experience-stats {
    grid-template-columns: 1fr;
  }

  .experience-stat {
    min-height: 0;
    padding: 27px 24px;
  }

  .experience-stat > span {
    margin-top: 20px;
  }

  .experience-stat-wide {
    grid-column: auto;
    grid-template-columns: 84px 1fr;
    gap: 18px;
  }

  .experience-stat-wide > span {
    margin: 0;
    padding-left: 18px;
  }

  .brand-plate {
    width: 198px;
    height: 56px;
  }

  .brand-plate img {
    width: 194px;
  }

  .legal-brand {
    width: 160px;
    height: 48px;
  }

  .legal-brand img {
    width: 154px;
  }
}
