/* Public identity: keep the name whole; let navigation yield space. */
.psy-header-row { flex-wrap: wrap; }
.psy-brand { display: inline-flex; align-items: center; gap: .9rem; flex: 0 0 auto; max-width: 100%; }
.psy-brand-text { display: flex; flex-direction: column; gap: .35rem; min-width: 0; }
.psy-brand-name { display: block; white-space: nowrap; color: var(--alicia-text-primary); font-size: clamp(1.75rem, 2.7vw, 2.65rem); font-weight: 800; line-height: 1.05; letter-spacing: -.055em; }
.psy-brand-accent { color: var(--alicia-color-primary); font-weight: 600; }
.psy-brand-tagline { display: block; color: var(--alicia-text-secondary); font-size: .72rem; line-height: 1.5; letter-spacing: .045em; max-width: 19rem; text-wrap: balance; }
.psy-brand .alicia-header-brand-icon { width: 58px; height: 58px; min-width: 58px; border-radius: 16px; box-shadow: 0 3px 12px rgba(0, 0, 0, .08); }
.psy-header-row .alicia-desktop-public-menu { flex: 1 0 auto; flex-wrap: wrap; }
.psy-header-row .alicia-public-nav { flex-wrap: wrap !important; }
.psy-brand:focus-visible { outline: 2px solid var(--alicia-color-primary); outline-offset: 6px; border-radius: 8px; }
.psy-brand:hover .psy-brand-accent { color: var(--alicia-link-hover-color); }


/* Align the signature with the full wordmark, including on small screens. */
.psy-brand-text { width: max-content; }
.psy-brand-name { font-size: 3.3rem; }
.psy-brand-tagline { max-width: none; width: 100%; white-space: nowrap; text-align: justify; text-align-last: justify; letter-spacing: 0; font-size: .72rem; }

@media (max-width: 575.98px) {
    .psy-header-row { display: grid !important; grid-template-columns: minmax(0, 1fr) 2.75rem; gap: .75rem !important; }
    .psy-brand { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: .65rem; min-width: 0; width: 100%; }
    .psy-brand .alicia-header-brand-icon { width: 42px; height: 42px; min-width: 42px; border-radius: 12px; }
    .psy-brand-text { width: 100%; max-width: 11.6rem; container-type: inline-size; }
    .psy-brand-name { font-size: clamp(1.25rem, 6.5vw, 2.15rem); font-size: min(22.4cqi, 2.6rem); }
    .psy-brand-tagline { font-size: .47rem; font-size: min(5.15cqi, .56rem); }
    .psy-header-row .alicia-mobile-menu-toggle { grid-column: 2; width: 2.75rem; height: 2.75rem; margin-left: 0 !important; }
}
/* The mobile drawer also replaces the hidden administration sidebar. */
.alicia-mobile-menu { --bs-offcanvas-width: min(400px, 100vw); }
.alicia-mobile-menu .offcanvas-header > div { flex: 1; min-width: 0; }
.alicia-mobile-menu .offcanvas-header .btn-close { flex: 0 0 auto; }
.psy-mobile-admin-link { display: flex; align-items: center; justify-content: flex-start; gap: .75rem; width: 100%; min-height: 44px; white-space: normal; text-align: left; }
.psy-mobile-admin-icon { flex: 0 0 1.25rem; text-align: center; }
.psy-mobile-admin-label { min-width: 0; overflow-wrap: anywhere; }
.psy-mobile-admin { padding-bottom: 1rem; border-bottom: 1px solid var(--alicia-border-color); }
.alicia-mobile-menu .offcanvas-header { gap: .75rem; }
.alicia-mobile-menu .offcanvas-header > div { overflow: hidden; }
.alicia-mobile-menu .offcanvas-header > div > div { min-width: 0; flex: 1; }
.psy-mobile-tagline { white-space: normal; overflow-wrap: anywhere; line-height: 1.4; }
