.castle-closure-banner { background: #334438; color: #fffdf5; padding: 12px max(20px, calc((100vw - 1200px) / 2)); font: 500 15px/1.5 system-ui, sans-serif; }
.castle-closure-banner[hidden] { display: none; }
.castle-closure-banner p { margin: 0; }
.castle-closure-banner p + p { margin-top: 8px; }
.castle-closure-banner a { color: inherit; text-underline-offset: 3px; overflow-wrap: anywhere; display: inline-block; padding-block: 4px; }
.castle-closure-banner a:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
@media (max-width: 600px) { .castle-closure-banner { padding: 10px 16px; font-size: 14px; } }
/* The home header normally overlays its hero. A visible visitor notice must
   precede it and remain readable with JavaScript disabled as well. */
body.home-page:has(.castle-closure-banner:not([hidden])) .topbar { position: sticky; background: var(--surface-page); color: var(--fg); }
body.home-page:has(.castle-closure-banner:not([hidden])) .topbar .topbar__lockup,
body.home-page:has(.castle-closure-banner:not([hidden])) .topbar .topbar__motto,
body.home-page:has(.castle-closure-banner:not([hidden])) .topbar .topbar__utility .lang__item { color: var(--fg) !important; }
body.home-page:has(.castle-closure-banner:not([hidden])) .topbar .topbar__arms { content: url('/brand/kalnoky-mark.svg') !important; filter: none !important; }
body.home-page:has(.castle-closure-banner:not([hidden])) .topbar .topbar__utility .lang__list > li + li::before { color: var(--fg) !important; }
body.home-page:has(.castle-closure-banner:not([hidden])) .mnav__toggle { color: var(--fg) !important; border-color: var(--fg) !important; }
