:root {
  --brand-background: #031525;
  --brand-background-light: #08233B;
  --brand-blue: #1255F4;
  --brand-cyan: #00BDF2;
  --brand-turquoise: #00F0DB;
  --brand-text: #F1F7FF;
  --brand-gradient: linear-gradient(120deg, #1255F4 0%, #00BDF2 55%, #00F0DB 100%);
  --ink: var(--brand-text);
  --muted: #adc6dd;
  --accent: var(--brand-cyan);
  --cyan: var(--brand-turquoise);
  --ice: var(--brand-background);
  --paper: var(--brand-background-light);
  --line: #25465e;
  color-scheme: dark;
  color: var(--ink);
  background: var(--brand-background);
}
body.home { background: var(--brand-background); }
.header, .home .header { height: 150px; border-color: var(--line); }
.wordmark { display: inline-flex; flex: none; align-items: center; }
.brand-logo { display: block; width: 142px; height: auto; }
.header nav a:hover, .footer a:hover { color: var(--brand-turquoise); }
.header nav a[aria-current], .home .header nav a[aria-current] { box-shadow: 0 2px var(--brand-turquoise); }
.home .footer { border-color: var(--line); }
.identity-card { background: var(--brand-background-light); border-color: var(--line); border-radius: 18px; box-shadow: 0 24px 80px #0003; }
.identity-copy > .eyebrow, .identity-name h1, .identity-name .identity-fullname, .identity-domain { color: var(--ink); }
.identity-copy .status-dot { background: var(--brand-turquoise); }
.identity-name h1 > span { color: var(--brand-turquoise); }
.identity-name p, .identity-bottom { color: var(--muted); }
.identity-art { background: var(--brand-background); padding: 45px; }
.identity-brand-icon { width: min(100%, 280px); height: auto; }
.identity-contact { color: var(--ink); border-color: var(--line); background: var(--brand-background); border-radius: 8px; }
.identity-contact:hover { color: var(--brand-background); border-color: var(--brand-turquoise); background: var(--brand-turquoise); }
.panel-top input, .panel-top select { background: var(--brand-background); border-color: var(--line); color: var(--ink); }
.place-button:hover, .place-button[aria-pressed=true] { background: #12415e; }
.map-tools button { background: #08233bf5; border-color: var(--line); color: var(--ink); }
.map-tools button:hover, .map-tools button[aria-pressed=true] { background: #12415e; border-color: var(--accent); }
.map-hint { background: #08233bf5; color: var(--muted); }
.leaflet-popup-content-wrapper, .leaflet-popup-tip { background: var(--brand-background-light); color: var(--ink); }
.leaflet-bar a { background: var(--brand-background-light)!important; }
.leaflet-control-attribution { background: #08233bf5!important; color: var(--muted); }
.leaflet-control-attribution a { color: var(--brand-cyan)!important; }
.skip { background: var(--brand-background-light); color: var(--ink); }
@media (max-width:620px) {
  .header, .home .header { height: 125px; gap: 12px; }
  .brand-logo { width: 112px; }
  .header nav { gap: 12px; }
  .identity-art { padding: 28px; }
  .identity-brand-icon { width: 180px; }
}
@media (max-width:359px) {
  .header, .home .header { height:auto; padding:16px 0; flex-wrap:wrap; }
  .header nav { width:100%; justify-content:space-between; }
}
.site-header { min-height:150px; padding:18px 0; }
.brand-signature { width:clamp(180px,30vw,420px); height:auto; opacity:.12; }
