.public-header{
    display:grid;
    grid-template-columns:auto minmax(0, 1fr) auto;
    gap:14px;
    align-items:center;
    width:min(1320px, calc(100% - 28px));
    margin:14px auto 0;
    padding:12px 14px;
    background:#fff;
    border-radius:22px;
    box-shadow:0 16px 36px rgba(136,149,171,.12);
}

.public-header__left,
.public-header__right{
    display:flex;
    align-items:center;
    gap:8px;
}

.public-header__center{
    min-width:0;
    align-self:center;
}

.public-header__logo{
    height:38px;
    width:auto;
    object-fit:contain;
}

.public-header__eyebrow{
    font-size:11px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:#9da4b0;
}

.public-header__title{
    margin:2px 0 0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:20px;
    font-weight:900;
    color:#111d36;
}

.public-header__actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:10px;
    flex-wrap:nowrap;
}

.public-header__btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:40px;
    padding:0 18px;
    border-radius:999px;
    border:1px solid #d7e4f2;
    background:#fff;
    color:#29476a;
    text-decoration:none;
    font-size:14px;
    font-weight:800;
    box-shadow:0 8px 18px rgba(136,149,171,.08);
}

.public-header__btn--active{
    background:#edf4ff;
    border-color:#cfe0f7;
    color:#1f5fa2;
}

@media (max-width: 780px){
    .public-header{
        grid-template-columns:1fr;
        gap:12px;
        width:calc(100% - 20px);
        margin:10px auto 0;
        padding:12px;
    }

    .public-header__left,
    .public-header__right{
        justify-content:center;
    }

    .public-header__center{
        text-align:center;
    }

    .public-header__actions{
        justify-content:center;
        flex-wrap:wrap;
    }
}
