.security-section > .section-heading {
  align-items: center;
}

.security-copy {
  min-width: 0;
}

.security-section .security-copy p {
  margin: 24px 0 0;
}

.security-visual {
  min-width: 0;
  container-type: inline-size;
}

.security-visual .security-icons {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}

.security-visual .icon {
  display: block;
  width: 26px;
  height: 26px;
  flex-shrink: 0;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.security-visual .seal-art {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 220px minmax(0, 1fr);
  grid-template-rows: 140px 140px;
  align-items: center;
  gap: 0 8px;
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
}

.security-visual .seal-wires {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  fill: #fff;
  stroke: #9ebdcd;
  stroke-width: 1.2;
}

.security-visual .seal-wires path { fill: none; }

.security-visual .seal-point {
  position: relative;
  display: grid;
  justify-items: center;
  align-content: center;
  gap: 8px;
  max-width: 100%;
  padding: 6px 2px;
  justify-self: center;
  background: #fff;
  text-align: center;
}

.security-visual .seal-point > .icon { color: var(--blue); }
.security-visual .seal-verified > .icon { color: var(--green); }
.security-visual .seal-accountable > .icon { color: #a3761d; }

.security-visual .seal-point h3 {
  margin: 0;
  color: var(--blue-deep);
  font-size: 15px;
  line-height: 1.35;
  font-weight: 650;
  text-wrap: balance;
  overflow-wrap: normal;
}

.security-visual .seal-point p {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.45;
  text-wrap: balance;
  overflow-wrap: normal;
}

.security-visual .seal-local { grid-column: 1; grid-row: 1; }
.security-visual .seal-verified { grid-column: 3; grid-row: 1; }
.security-visual .seal-accountable { grid-column: 1; grid-row: 2; }
.security-visual .seal-configured { grid-column: 3; grid-row: 2; }

.security-visual .trust-emblem {
  position: relative;
  grid-column: 2;
  grid-row: 1 / 3;
  width: 220px;
  aspect-ratio: 1;
  justify-self: center;
}

.security-visual .emblem-rings { display: block; width: 100%; height: 100%; overflow: visible; }
.security-visual .emblem-outline { fill: #fff; stroke: #d0e0e9; stroke-width: 1; }
.security-visual .emblem-ticks { fill: none; stroke: #a8c6d6; stroke-width: 5; stroke-dasharray: 1 10; }
.security-visual .emblem-field { fill: #f3f8fb; stroke: var(--blue); stroke-width: 1.5; }
.security-visual .emblem-inner { fill: #fff; stroke: #d0e0e9; stroke-width: 1; }
.security-visual .emblem-accent { fill: none; stroke: var(--gold); stroke-width: 2.5; stroke-linecap: round; }
.security-visual .emblem-notch { fill: var(--gold); }

.security-visual .emblem-content {
  position: absolute;
  inset: 24% 12%;
  display: grid;
  justify-items: center;
  align-content: center;
  gap: 10px;
  text-align: center;
}

.security-visual .emblem-content > span { color: var(--blue); font-size: 11px; line-height: 1.2; font-weight: 700; }
.security-visual .emblem-content img { display: block; width: 48px; height: auto; }
.security-visual .emblem-content strong { font-size: 16px; line-height: 1.25; font-weight: 650; color: var(--blue-deep); }

.security-visual .seal-entered .emblem-accent {
  stroke-dasharray: 1;
  animation: security-seal-trace 1.8s ease-out both;
}

@keyframes security-seal-trace {
  from { stroke-dashoffset: 1; }
  to { stroke-dashoffset: 0; }
}

@container (min-width: 760px) {
  .security-visual .seal-art { grid-template-columns: minmax(0, 1fr) 260px minmax(0, 1fr); grid-template-rows: 160px 160px; }
  .security-visual .trust-emblem { width: 260px; }
  .security-visual .seal-point { display: flex; gap: 12px; text-align: left; padding: 8px; }
  .security-visual .seal-point h3 { font-size: 16px; }
  .security-visual .emblem-content { gap: 12px; }
  .security-visual .emblem-content img { width: 56px; }
  .security-visual .emblem-content strong { font-size: 18px; }
}

@container (max-width: 520px) {
  .security-visual .seal-art { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: 244px auto auto; gap: 22px 14px; }
  .security-visual .seal-wires { display: none; }
  .security-visual .trust-emblem { grid-column: 1 / -1; grid-row: 1; width: 244px; }
  .security-visual .seal-point { align-self: start; }
  .security-visual .seal-local { grid-column: 1; grid-row: 2; }
  .security-visual .seal-verified { grid-column: 2; grid-row: 2; }
  .security-visual .seal-accountable { grid-column: 1; grid-row: 3; }
  .security-visual .seal-configured { grid-column: 2; grid-row: 3; }
  .security-visual .emblem-content img { width: 56px; }
  .security-visual .emblem-content strong { font-size: 18px; }
}

@media (prefers-reduced-motion: reduce), print {
  .security-visual .seal-entered .emblem-accent { animation: none; stroke-dashoffset: 0; }
}
