:root {
  color-scheme: dark;
  --brand-ink: #10110f;
  --brand-panel: #171914;
  --brand-paper: #141611;
  --brand-cream: #f6f0e4;
  --brand-lime: #c8ff31;
  --brand-muted: #9da195;
  --brand-line: rgba(246, 240, 228, .13);
}

::selection { background: var(--brand-lime); color: var(--brand-ink); }
body { background-color: var(--brand-ink); color: var(--brand-cream); }
a:focus-visible, button:focus-visible { outline: 2px solid var(--brand-lime); outline-offset: 4px; }

.editorial-header {
  width: min(1180px, calc(100% - 48px));
  min-height: 108px;
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr) 150px;
  align-items: center;
  gap: 28px;
  margin-inline: auto;
  padding: 0;
  border-bottom: 1px solid var(--brand-line);
}

.editorial-brand { display: flex; align-items: center; gap: 13px; color: var(--brand-cream); text-decoration: none; }
.editorial-brand > span:last-child { display: grid; gap: 3px; }
.editorial-brand strong { font-size: 15px; line-height: 1.2; }
.editorial-brand small { color: var(--brand-muted); font: 500 8px/1.2 "IBM Plex Mono", monospace; letter-spacing: .13em; text-transform: uppercase; }
.editorial-header nav { display: flex; justify-content: center; gap: 22px; }
.editorial-header nav a { color: rgba(246, 240, 228, .58); font-size: 12px; font-weight: 600; text-decoration: none; white-space: nowrap; }
.editorial-header nav a:hover, .editorial-header nav a:focus-visible, .editorial-header nav a.active { color: var(--brand-cream); }
.header-cta { justify-self: end; width: 150px; display: inline-flex; justify-content: center; border-radius: 999px; background: var(--brand-lime); color: var(--brand-ink); padding: 11px 15px; font-size: 11px; font-weight: 700; text-decoration: none; white-space: nowrap; }

.world-brand-header {
  width: min(1180px, calc(100% - 48px));
  margin-inline: auto;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 30px;
}

.world-brand { display: flex; align-items: center; gap: 13px; color: var(--brand-cream); text-decoration: none; }
.world-brand img { width: 42px; height: 42px; object-fit: contain; }
.world-brand > span { display: grid; gap: 3px; }
.world-brand strong { font-size: 15px; }
.world-brand small { color: var(--brand-muted); font: 500 8px/1.2 "IBM Plex Mono", monospace; letter-spacing: .13em; text-transform: uppercase; }
.world-brand-header nav { display: flex; justify-content: center; gap: 22px; }
.world-brand-header nav a { color: rgba(246, 240, 228, .58); font-size: 12px; font-weight: 600; text-decoration: none; }
.world-brand-header nav a:hover, .world-brand-header nav a:focus-visible, .world-brand-header nav a.active { color: var(--brand-cream); }
.world-brand-header nav a.active { text-decoration: underline; text-decoration-color: var(--brand-lime); text-decoration-thickness: 2px; text-underline-offset: 7px; }
.world-header-cta { border-radius: 999px; background: var(--brand-lime); color: var(--brand-ink); padding: 11px 15px; font-size: 11px; font-weight: 700; text-decoration: none; white-space: nowrap; }
.world-brand-header + #root .fixed.top-6.left-6,
.editorial-header + #root .fixed.top-6.left-6 { display: none; }
.editorial-header + #root header[class*="fixed"][class*="top-0"] { display: none; }
.editorial-header + #root main { padding-top: 64px !important; }

.editorial-header nav a,
.site-header nav a,
.shell > header nav a {
  font-size: 12px;
  font-weight: 600;
}

.editorial-header nav a.active,
.site-header nav a.active,
.shell > header nav a[aria-current="page"] {
  color: var(--brand-cream);
  text-decoration: underline;
  text-decoration-color: var(--brand-lime);
  text-decoration-thickness: 2px;
  text-underline-offset: 7px;
}

.linked-mark,
.brand-mark { width: 42px; height: 42px; object-fit: contain; }
.button, .header-cta, .venture-card, .allocation-card, .portrait-card, .learn-band, .theme-card, .path { border-radius: 10px; }
.button, .header-cta { letter-spacing: -.01em; }

.site-legal-footer {
  width: min(1180px, calc(100% - 48px));
  min-height: 250px;
  display: grid;
  grid-template-columns: minmax(190px, .6fr) minmax(0, 1.8fr);
  gap: 34px 64px;
  align-content: center;
  align-items: start;
  margin-inline: auto;
  padding: 44px 0;
  border-top: 1px solid var(--brand-line);
  color: var(--brand-muted);
  font-family: "Space Grotesk", system-ui, sans-serif;
  text-transform: none;
  letter-spacing: 0;
}
.site-legal-footer .footer-company { display: grid; gap: 7px; }
.site-legal-footer .footer-company strong { color: var(--brand-cream); font-size: 14px; }
.site-legal-footer .footer-company span { color: #777c72; font: 500 9px/1.4 "IBM Plex Mono", monospace; letter-spacing: .08em; text-transform: uppercase; }
.site-legal-footer .footer-directory { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; }
.site-legal-footer .footer-directory nav { display: grid; justify-items: start; align-content: start; gap: 10px; }
.site-legal-footer .footer-directory nav > strong { margin-bottom: 3px; color: #777c72; font: 600 8px/1.4 "IBM Plex Mono", monospace; letter-spacing: .13em; text-transform: uppercase; }
.site-legal-footer a { color: #aeb2a8; font-size: 12px; text-decoration: none; text-transform: none; letter-spacing: 0; }
.site-legal-footer a:hover, .site-legal-footer a:focus-visible { color: var(--brand-lime); }
.site-legal-footer a[aria-current="page"] { color: var(--brand-cream); }
.shell > .editorial-header, .shell > .site-legal-footer { width: 100%; }

@media (max-width: 720px) {
  .editorial-header { width: min(100% - 30px, 1180px); min-height: 0; grid-template-columns: 1fr auto; gap: 20px 16px; padding: 22px 0; }
  .editorial-header nav { grid-column: 1 / -1; grid-row: 2; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 17px 12px; width: 100%; }
  .editorial-header nav a { white-space: nowrap; }
  .editorial-brand small { display: none; }
  .header-cta { width: auto; padding: 10px 12px; font-size: 10px; }
  .world-brand-header { width: min(100% - 30px, 1180px); grid-template-columns: auto auto; padding: 22px 0; }
  .world-brand-header nav { grid-column: 1 / -1; grid-row: 2; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 17px 12px; width: 100%; }
  .world-brand-header nav a { white-space: nowrap; }
  .world-header-cta { justify-self: end; padding: 10px 12px; font-size: 10px; }
  .world-brand small { display: none; }
  .site-legal-footer { width: min(100% - 30px, 1180px); min-height: 0; grid-template-columns: 1fr; gap: 28px; padding: 36px 0; }
  .site-legal-footer .footer-directory { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 20px; }
}

@media (max-width: 440px) {
  .site-legal-footer .footer-directory { grid-template-columns: 1fr; }
}
