/* Calm brand banner; palette follows the selected theme. */
:root {
  --banner-bg: #111d2b;
  --banner-text: #d5e0ec;
  --banner-muted: #99acc1;
  --banner-strong: #c1d0df;
  --banner-line: #294044;
  --banner-divider: #2b3b4c;
}
:root[data-theme="light"] {
  --banner-bg: #e9eef1;
  --banner-text: #263d51;
  --banner-muted: #556a7c;
  --banner-strong: #344e61;
  --banner-line: #a8c1bf;
  --banner-divider: #ccd7df;
}
.terminal-ui .site-banner {
  width: 100%;
  min-height: 92px;
  display: flex;
  align-items: center;
  gap: 28px;
  padding: 14px clamp(20px, 3vw, 44px);
  color: var(--banner-text);
  background: var(--banner-bg);
  border-bottom: 3px solid var(--banner-line);
  box-shadow: none;
}
.terminal-ui .site-banner-brand {
  display: flex;
  align-items: center;
  gap: 14px;
  color: inherit;
  text-decoration: none;
  flex: none;
}
.terminal-ui .site-banner-brand img {
  width: 48px;
  height: 48px;
  object-fit: contain;
  border-radius: 12px;
}
.terminal-ui .site-banner-copy { display: flex; flex-direction: column; gap: 5px; }
.terminal-ui .site-banner-name {
  color: var(--banner-text);
  font-size: 20px;
  line-height: 1.1;
  font-weight: 800;
  letter-spacing: .035em;
}
.terminal-ui .site-banner-tagline {
  color: var(--banner-muted);
  font-size: 10px;
  line-height: 1.2;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.terminal-ui .site-banner-message {
  margin-left: auto;
  padding-left: 26px;
  border-left: 1px solid var(--banner-divider);
  color: var(--banner-muted);
  font-size: 14px;
  line-height: 1.5;
}
.terminal-ui .site-banner-message strong { display: block; color: var(--banner-strong); font-size: 14px; font-weight: 650; }
.terminal-ui .site-banner-message span { display: block; color: var(--banner-muted); font-size: 12px; margin-top: 2px; }
@media (min-width: 861px) {
  .terminal-ui .side > .brandline { display: none; }
}
@media (max-width: 860px) {
  .terminal-ui .site-banner { display: none; }
}
