.trust-map-section {
  padding: 0 1.5rem 4.5rem;
  background: var(--paper);
}

.trust-map {
  width: min(100%, 90rem);
  margin: 0 auto;
  color: #f7faf8;
  border: 1px solid #42655a;
  background: #071e1c;
}

.trust-map-head {
  min-height: 5rem;
  padding: 1.2rem 1.4rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 2rem;
  border-bottom: 1px solid rgba(230, 239, 233, 0.22);
  background: rgba(12, 54, 47, 0.94);
}

.trust-map-head span,
.trust-map-head > strong {
  color: #91a79c;
  font: 600 0.53rem/1.35 var(--mono);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.trust-map-head > strong {
  color: var(--gold);
  text-align: right;
}

.trust-map-head h2 {
  max-width: none;
  margin: 0.55rem 0 0;
  color: #f7faf8;
  font: 550 clamp(1.15rem, 1.8vw, 1.75rem)/1 var(--font-display);
  letter-spacing: -0.035em;
}

.trust-map-shell {
  padding: clamp(0.75rem, 2vw, 1.5rem);
  background: #071e1c;
}

.trust-map figcaption {
  max-width: none;
  margin: 0;
  padding: 1.1rem 1.4rem;
  color: #93aa9f;
  border-top: 1px solid #3b5d53;
  background: rgba(8, 36, 31, 0.94);
  font: 500 0.61rem/1.6 var(--mono);
}

.trust-map-svg {
  width: 100%;
  height: auto;
  display: block;
}

.trust-map-svg--compact { display: none; }

.trust-map-svg .trust-background { fill: #071e1c; }

.trust-map-svg .trust-grid-line {
  fill: none;
  stroke: rgba(157, 182, 172, 0.065);
  stroke-width: 1;
  vector-effect: non-scaling-stroke;
}

.trust-map-svg .trust-panel,
.trust-map-svg .trust-tile,
.trust-map-svg .trust-target-band,
.trust-map-svg .trust-target-tile,
.trust-map-svg .trust-gate-tile,
.trust-map-svg .trust-guardrail-band,
.trust-map-svg .trust-bottom-rail,
.trust-map-svg .trust-current-marker,
.trust-map-svg .trust-guardrail-marker,
.trust-map-svg .trust-target-marker,
.trust-map-svg .trust-gate-marker,
.trust-map-svg .trust-rule {
  vector-effect: non-scaling-stroke;
}

.trust-map-svg .trust-panel {
  fill: rgba(14, 61, 54, 0.9);
  stroke-width: 1;
}

.trust-map-svg .trust-panel--current {
  fill: rgba(15, 64, 56, 0.94);
  stroke: rgba(230, 239, 233, 0.58);
}

.trust-map-svg .trust-panel--guardrail {
  fill: rgba(88, 67, 14, 0.13);
  stroke: var(--gold);
  stroke-width: 1.45;
}

.trust-map-svg .trust-panel--target {
  fill: rgba(9, 47, 42, 0.76);
  stroke: rgba(169, 190, 180, 0.82);
  stroke-dasharray: 8 6;
}

.trust-map-svg .trust-tile,
.trust-map-svg .trust-target-band,
.trust-map-svg .trust-target-tile,
.trust-map-svg .trust-gate-tile {
  fill: rgba(5, 31, 27, 0.48);
  stroke: rgba(169, 190, 180, 0.3);
  stroke-width: 1;
}

.trust-map-svg .trust-target-band,
.trust-map-svg .trust-target-tile {
  fill: rgba(5, 31, 27, 0.56);
  stroke: rgba(169, 190, 180, 0.64);
  stroke-dasharray: 5 4;
}

.trust-map-svg .trust-gate-tile {
  fill: rgba(19, 58, 52, 0.82);
  stroke: rgba(169, 190, 180, 0.58);
}

.trust-map-svg .trust-guardrail-band {
  fill: rgba(212, 175, 55, 0.08);
  stroke: rgba(212, 175, 55, 0.58);
  stroke-width: 1;
}

.trust-map-svg .trust-bottom-rail {
  fill: rgba(5, 31, 27, 0.9);
  stroke: rgba(212, 175, 55, 0.42);
  stroke-width: 1;
}

.trust-map-svg .trust-current-marker {
  fill: rgba(230, 239, 233, 0.12);
  stroke: rgba(230, 239, 233, 0.86);
  stroke-width: 1;
}

.trust-map-svg .trust-guardrail-marker {
  fill: var(--gold);
  stroke: var(--gold);
  stroke-width: 1;
}

.trust-map-svg .trust-target-marker {
  fill: #071e1c;
  stroke: rgba(169, 190, 180, 0.86);
  stroke-width: 1.2;
  stroke-dasharray: 3 2;
}

.trust-map-svg .trust-gate-marker {
  fill: rgba(169, 190, 180, 0.13);
  stroke: rgba(169, 190, 180, 0.78);
  stroke-width: 1;
}

.trust-map-svg .trust-rule {
  fill: none;
  stroke: rgba(169, 190, 180, 0.38);
  stroke-width: 1;
}

.trust-map-svg text {
  fill: #e6efe9;
  font-family: var(--mono);
  text-rendering: geometricPrecision;
}

.trust-map-svg .trust-legend text,
.trust-map-svg .trust-compact-legend {
  fill: #91a79c;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.05em;
}

.trust-map-svg .trust-nfc {
  fill: var(--gold);
  font-size: 12px;
  font-weight: 650;
  letter-spacing: 0.05em;
}

.trust-map-svg .trust-id {
  fill: #dce8e1;
  font-size: 15px;
  font-weight: 650;
  letter-spacing: 0.035em;
}

.trust-map-svg .trust-id--gold { fill: var(--gold); }

.trust-map-svg .trust-label {
  fill: #dce8e1;
  font-size: 14px;
  font-weight: 620;
  letter-spacing: 0.02em;
}

.trust-map-svg .trust-value,
.trust-map-svg .trust-guardrail-value,
.trust-map-svg .trust-compact-guardrail {
  font-family: var(--font-display);
  font-weight: 580;
  letter-spacing: -0.035em;
}

.trust-map-svg .trust-value { font-size: 24px; }
.trust-map-svg .trust-guardrail-value { fill: var(--gold-light, #e3c65d); font-size: 37px; }
.trust-map-svg .trust-compact-guardrail { fill: var(--gold-light, #e3c65d); font-size: 25px; }

.trust-map-svg .trust-note {
  fill: #91a79c;
  font-size: 12.5px;
  font-weight: 540;
  letter-spacing: 0.018em;
}

.trust-map-svg .trust-status {
  fill: #b8cbc1;
  font-size: 12.5px;
  font-weight: 650;
  letter-spacing: 0.025em;
}

.trust-map-svg .trust-status--current { fill: #dce8e1; }
.trust-map-svg .trust-status--guardrail { fill: var(--gold-light, #e3c65d); }

.trust-map-svg .trust-gate-number {
  fill: var(--gold);
  font-size: 18px;
  font-weight: 700;
}

@media (max-width: 70rem) {
  .trust-map-svg--wide { display: none; }
  .trust-map-svg--compact { display: block; width: min(100%, 32rem); margin-inline: auto; }
}

@media (max-width: 48rem) {
  .trust-map-section { padding: 0 0.75rem 3.5rem; }
  .trust-map-head { align-items: flex-start; flex-direction: column; gap: 0.7rem; }
  .trust-map-head > strong { text-align: left; }
  .trust-map-shell { padding: 0.6rem; }
}

@media (max-width: 25rem) {
  .trust-map-section { padding-inline: 0; }
  .trust-map { border-right: 0; border-left: 0; }
}

@media (forced-colors: active) {
  .trust-map-svg .trust-background,
  .trust-map-svg .trust-panel,
  .trust-map-svg .trust-tile,
  .trust-map-svg .trust-target-band,
  .trust-map-svg .trust-target-tile,
  .trust-map-svg .trust-gate-tile,
  .trust-map-svg .trust-guardrail-band,
  .trust-map-svg .trust-bottom-rail { fill: Canvas; }
  .trust-map-svg .trust-grid-line,
  .trust-map-svg .trust-panel,
  .trust-map-svg .trust-tile,
  .trust-map-svg .trust-target-band,
  .trust-map-svg .trust-target-tile,
  .trust-map-svg .trust-gate-tile,
  .trust-map-svg .trust-guardrail-band,
  .trust-map-svg .trust-bottom-rail,
  .trust-map-svg .trust-current-marker,
  .trust-map-svg .trust-target-marker,
  .trust-map-svg .trust-gate-marker,
  .trust-map-svg .trust-rule { stroke: CanvasText; }
  .trust-map-svg .trust-panel--guardrail,
  .trust-map-svg .trust-guardrail-marker { stroke: Highlight; }
  .trust-map-svg .trust-guardrail-marker { fill: Highlight; }
  .trust-map-svg text { fill: CanvasText !important; }
}

@media print {
  .trust-map { break-inside: avoid; }
  .trust-map-svg--wide { display: block; }
  .trust-map-svg--compact { display: none; }
}
