.topbar .brand { color: var(--deep); font-family: var(--font-body); font-size: 16px; min-width: 0; }
.brand-logo { display: block; width: 76px; height: 76px; object-fit: contain; flex-shrink: 0; }
.brand-caption { max-width: 100px; line-height: 1.3; }
.footer-brand img { display: block; width: 160px; height: 160px; object-fit: contain; }
.footer .footer-tagline { color: #fff0d7; font-size: 19px; font-weight: 700; line-height: 1.4; max-width: 300px; }
.footer a:hover { text-decoration: underline; }
.footer a:focus-visible { outline: 3px solid #fff0d7; outline-offset: 4px; }
.footer-bottom { margin-top: 28px; padding-top: 18px; border-top: 1px solid #ffffff33; font-size: 12px; line-height: 1.6; }
@media (max-width: 1100px) and (min-width: 821px) {
    .topbar .nav-actions { gap: 10px; font-size: 11px; }
    .brand-caption { max-width: 82px; font-size: 13px; }
}
@media (max-width: 820px) {
    .brand-logo { width: 56px; height: 56px; }
    .brand-caption { font-size: 13px; }
    .footer .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .footer-brand { grid-column: 1 / -1; }
    .footer a { padding: 6px 0; }
}
@media (max-width: 420px) {
    .footer .footer-grid { grid-template-columns: minmax(0, 1fr); }
}
