


.proto-hero { position: relative; background:
  radial-gradient(90% 70% at 50% 12%, rgba(123,201,203,0.10), transparent 58%),
  radial-gradient(60% 50% at 85% 90%, rgba(205,167,123,0.06), transparent 62%),
  linear-gradient(180deg,#0E1F38,#0B1A30 60%,#081428); }
.proto-hero .hero-grid-bg { position: absolute; inset: 0; z-index: 0; }
.proto-hero .hm-vignette { position: absolute; inset: 0; z-index: 2; pointer-events: none;
  background: radial-gradient(84% 70% at 50% 42%, rgba(0,0,0,0) 42%, rgba(8,18,38,0.55) 100%); }
@media (max-width: 900px) { .proto-hero { min-height: 760px; padding-top: 104px; } }

@media (min-width: 1081px) { .hero-map.proto-hero { padding-top: 84px; } }


.copy-slot { color: var(--ink); opacity: .55; }
.cinematic .copy-slot, .on-dark.copy-slot { color: var(--cream); opacity: .62; }


.proof-frame { margin-top: var(--s-6); background: var(--cream-2);
  border: 1px solid var(--rule-strong); padding: var(--s-5); min-height: 220px;
  display: flex; flex-direction: column; justify-content: space-between; }
.proof-label { font-family: var(--mono); font-size: var(--fs-micro);
  letter-spacing: .16em; text-transform: uppercase; color: var(--teal); }
.proof-note { font-family: var(--sans); font-size: var(--fs-body);
  line-height: 1.6; color: var(--ink); opacity: .55; margin: var(--s-5) 0 0; max-width: 64ch; }
.proof-frame .proof-rule { border: 0; border-top: 1px solid var(--rule-strong);
  margin: var(--s-4) 0 0; }


.footer-col .footer-head, .footer-legal .footer-head { font-family: var(--mono); font-size: var(--fs-micro);
  letter-spacing: 0.22em; text-transform: uppercase; font-weight: 500; margin: 0 0 var(--s-3) 0;
  color: var(--brass-glow); line-height: inherit; }
