/* Top announcement bar. Loaded in the <head> and rendered straight from the
   HTML so the strip occupies its space on the very first paint — injecting it
   from JS afterwards pushed the whole page down and hurt CLS.
   The text and on/off state still come from top-banner.js. */
.top-banner {
    background: #4A3F35;
    color: #FAF7F2;
    padding: 9px 18px;
    text-align: center;
    font-family: 'Frank Ruhl Libre', serif;
    font-size: 0.82rem;
    letter-spacing: 0.5px;
    line-height: 1.5;
    position: relative;
    z-index: 950;
}
.top-banner p { margin: 0; }
@media (max-width: 600px) {
    .top-banner { font-size: 0.72rem; padding: 8px 12px; }
}
