/* Canonical public-site chrome. Pages may keep their own layout, but the
   palette, typography, controls, navigation surfaces, and focus states are
   shared everywhere. */
:root {
  --tvc-bg: #0b0d0f !important;
  --tvc-surf: #15181b !important;
  --tvc-surf2: #1d2226 !important;
  --tvc-surf3: #252b30 !important;
  --tvc-t1: #f5f1e8 !important;
  --tvc-t2: rgba(245, 241, 232, .66) !important;
  --tvc-t3: rgba(245, 241, 232, .42) !important;
  --tvc-b1: rgba(244, 239, 228, .13) !important;
  --tvc-b2: rgba(244, 239, 228, .22) !important;
  --tvc-red: #cf4b35 !important;
  --tvc-gold: #c7a568 !important;
  --tvc-public-bg: #0b0d0f;
  --tvc-public-surface: #15181b;
  --tvc-public-surface-2: #1d2226;
  --tvc-public-border: rgba(244, 239, 228, .13);
  --tvc-public-text: #f5f1e8;
  --tvc-public-muted: rgba(245, 241, 232, .66);
  --tvc-public-faint: rgba(245, 241, 232, .42);
  --tvc-public-accent: #cf4b35;
  --tvc-public-gold: #c7a568;
}

body.tvc-public-shell,
body.tvc-public-shell .profile-page {
  background: var(--tvc-public-bg) !important;
  color: var(--tvc-public-text) !important;
}

body.tvc-public-shell a:focus-visible,
body.tvc-public-shell button:focus-visible,
body.tvc-public-shell input:focus-visible,
body.tvc-public-shell textarea:focus-visible {
  outline: 2px solid var(--tvc-public-gold);
  outline-offset: 3px;
}

body.tvc-public-shell .nav,
body.tvc-public-shell .brand-bar,
body.tvc-public-shell .tvc-brand-bar {
  background: rgba(11, 13, 15, .93) !important;
  border-bottom: 1px solid var(--tvc-public-border) !important;
  color: var(--tvc-public-text) !important;
}

body.tvc-public-shell .nav-logo,
body.tvc-public-shell .brand-bar-name,
body.tvc-public-shell .nav-link,
body.tvc-public-shell .nav-menu-btn,
body.tvc-public-shell .tvc-menu-btn {
  color: var(--tvc-public-text) !important;
}

body.tvc-public-shell .nav-link:not(.nav-auth-login) {
  color: var(--tvc-public-muted) !important;
}

body.tvc-public-shell .nav-link:hover,
body.tvc-public-shell .nav-link.is-current,
body.tvc-public-shell .nav-link[aria-current="page"] {
  color: var(--tvc-public-text) !important;
}

body.tvc-public-shell .menu-panel,
body.tvc-public-shell .tvc-menu-panel {
  background: rgba(11, 13, 15, .985) !important;
  border-left: 1px solid var(--tvc-public-border) !important;
}

body.tvc-public-shell .menu-link,
body.tvc-public-shell .tvc-menu-link {
  color: var(--tvc-public-text) !important;
}

body.tvc-public-shell .menu-link:hover,
body.tvc-public-shell .tvc-menu-link:hover,
body.tvc-public-shell .menu-link.is-current,
body.tvc-public-shell .tvc-menu-link.is-current {
  color: var(--tvc-public-accent) !important;
}

body.tvc-public-shell .menu-group-label,
body.tvc-public-shell .tvc-menu-group-label,
body.tvc-public-shell .menu-sub-link,
body.tvc-public-shell .tvc-menu-sub-link {
  color: var(--tvc-public-muted) !important;
}

body.tvc-public-shell .menu-close,
body.tvc-public-shell .tvc-menu-close {
  color: var(--tvc-public-muted) !important;
}

body.tvc-public-shell .menu-icon,
body.tvc-public-shell .tvc-menu-icon {
  color: var(--tvc-public-muted) !important;
  border-color: var(--tvc-public-border) !important;
}

body.tvc-public-shell .menu-icon:hover,
body.tvc-public-shell .tvc-menu-icon:hover {
  color: var(--tvc-public-text) !important;
  border-color: var(--tvc-public-gold) !important;
}

/* A quiet, deliberate empty shelf is preferable to a faux product area. */
.tvc-profile-editorial {
  max-width: 780px;
  margin: 28px auto 0;
  padding: 24px;
  border-top: 1px solid var(--tvc-public-border);
}
.tvc-profile-editorial-label {
  color: var(--tvc-public-gold);
  font: 10px/1.2 'DM Mono', monospace;
  letter-spacing: .18em;
  text-transform: uppercase;
  margin-bottom: 10px;
}
.tvc-profile-editorial-intro {
  color: var(--tvc-public-text);
  font: 500 clamp(18px, 2.4vw, 24px)/1.45 'DM Sans', sans-serif;
  max-width: 34em;
}
.tvc-profile-editorial-link {
  display: inline-block;
  margin-top: 14px;
  color: var(--tvc-public-gold);
  font: 11px/1.4 'DM Mono', monospace;
  letter-spacing: .08em;
  text-transform: uppercase;
  text-decoration: none;
  border-bottom: 1px solid rgba(199, 165, 104, .4);
}
.tvc-profile-editorial-link:hover { color: var(--tvc-public-text); }
.tvc-profile-credits {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  margin-top: 18px;
}
.tvc-profile-credit {
  color: var(--tvc-public-muted);
  font-size: 12px;
}
.tvc-profile-credit strong {
  color: var(--tvc-public-text);
  font-weight: 600;
}
@media (max-width: 640px) {
  .tvc-profile-editorial { padding: 20px 0; }
}