/* Manual themes keep the existing palettes and use the approved day/night logos. */
html[data-color-theme="light"] { color-scheme:light; }
html[data-color-theme="dark"] { color-scheme:dark; }
.site-theme-toggle {
  box-sizing:border-box; display:inline-flex; align-items:center; justify-content:center;
  flex:0 0 44px; width:44px; height:44px; min-width:44px; min-height:44px;
  margin:0; padding:0; border:1px solid #819098; border-radius:50%;
  background:transparent; color:#102337; cursor:pointer; line-height:1;
  -webkit-tap-highlight-color:transparent;
}
.site-theme-toggle[hidden] { display:none; }
.site-theme-toggle:hover { background:#e9e9e3; }
.site-theme-toggle:focus-visible { outline:3px solid #75582e; outline-offset:4px; }
.site-theme-toggle svg { display:block; width:20px; height:20px; flex:none; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.site-theme-toggle .theme-sun { display:none; }
html[data-color-theme="dark"] .site-theme-toggle { color:#edf2f5; border-color:#657581; }
html[data-color-theme="dark"] .site-theme-toggle:hover { background:#263547; }
html[data-color-theme="dark"] .site-theme-toggle:focus-visible { outline-color:#ddc28e; }
html[data-color-theme="dark"] .site-theme-toggle .theme-moon { display:none; }
html[data-color-theme="dark"] .site-theme-toggle .theme-sun { display:block; }

/* Two ordinary images let CSS select the right logo before the first paint. */
:root .brand-picture > img.brand-theme-dark { display:none; }
html[data-color-theme="dark"] .brand-picture > img.brand-theme-light { display:none; }
html[data-color-theme="dark"] .brand-picture > img.brand-theme-dark { display:block; }
@media (prefers-color-scheme:dark) {
  html:not([data-color-theme]) .brand-picture > img.brand-theme-light { display:none; }
  html:not([data-color-theme]) .brand-picture > img.brand-theme-dark { display:block; }
}

.header.site-header { column-gap:20px; }
.header.site-header > .site-theme-toggle { flex-shrink:0; }
html.promo-showcase .promo-header { column-gap:20px; }

@media (max-width:1320px) {
  .header.site-header { grid-template-columns:minmax(0,1fr) auto 44px; column-gap:12px; }
  .header.site-header > .site-theme-toggle { grid-column:3; grid-row:1; }
}
@media (max-width:1023px) {
  html.promo-showcase .promo-header { column-gap:12px; }
  html.promo-showcase .promo-header .promo-brand { max-width:calc(100% - 132px); }
  html.promo-showcase .promo-header .menu-toggle { margin-left:auto; }
}
@media (max-width:380px) {
  .header.site-header { column-gap:10px; }
  html.promo-showcase .promo-header { column-gap:10px; }
  html.promo-showcase .promo-header .promo-brand { max-width:calc(100% - 116px); }
}
@media print {
  html[data-color-theme] { color-scheme:light; }
  .site-theme-toggle { display:none; }
}
