/* Shared anchor navigation and side-by-side header actions. */
/* The shared html scroll-padding already provides the fixed-header offset. */
body.portal-site :is(#features, #case-study, #pricing, #faq) { scroll-margin-top: 0; }

.portal-mobile-header-login { display: none; }

.portal-header-cta-pair {
    display: flex;
    align-items: center;
    gap: 10px;
}

body.portal-site .portal-header-actions .portal-header-cta-pair .header-cta,
body.portal-site .portal-header-actions .portal-header-signup {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 0;
    min-height: 44px;
    padding: 10px 16px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.5;
    text-decoration: none;
    white-space: nowrap;
}

body.portal-site .portal-header-actions .portal-header-signup {
    border: 1.5px solid #171813;
    color: #0b0c08;
    background: #fff;
    box-shadow: 0 2px 3px #1718130d;
    transition: background-color .15s ease;
}

.portal-mobile-signup {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 48px;
    padding: 10px 12px;
    border: 1.5px solid #171813;
    border-radius: 999px;
    color: #171712;
    background: #fff;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.5;
    text-align: center;
    text-decoration: none;
}

:is(.portal-header-signup, .portal-mobile-signup, .portal-header-login, .portal-mobile-header-login):focus-visible {
    outline: 3px solid #a58200;
    outline-offset: 3px;
}

@media (hover: hover) {
    body.portal-site .portal-header-actions .portal-header-signup:hover,
    .portal-mobile-signup:hover { background: #fff7d7; }
}

@media (min-width: 1241px) {
    body.portal-site .portal-header-inner {
        grid-template-columns: minmax(0, 1fr) auto auto;
        gap: 18px;
    }

    body.portal-site .portal-header .brand { min-width: 0; gap: 12px; }
    body.portal-site .portal-header-actions { gap: 14px; }
    body.portal-site .portal-header .portal-header-login {
        display: inline-flex;
        flex: 0 0 auto;
        align-items: center;
        min-height: 36px;
        padding: 6px 0;
        color: #454a51;
        font-size: 12px;
        font-weight: 700;
        line-height: 1.5;
        white-space: nowrap;
    }
    body.portal-site .portal-global-nav { gap: 14px; }
    body.portal-site .portal-global-nav .portal-nav-link { padding-inline: 0 !important; }
}

@media (min-width: 1280px) {
    body.portal-site.portal-image-led .portal-header-inner { padding-inline: 24px; }
    body.portal-site.portal-image-led .portal-header .brand-logo { width: 168px; }
}

@media (min-width: 1241px) and (max-width: 1599px) {
    body.portal-site .portal-header .brand-tagline { display: none; }
    body.portal-site .portal-header-inner { gap: 14px; }
    body.portal-site .portal-global-nav { gap: 12px; }
    body.portal-site .portal-global-nav .portal-nav-link { font-size: 13px; }
    body.portal-site .portal-header-actions .portal-header-cta-pair .header-cta,
    body.portal-site .portal-header-actions .portal-header-signup { gap: 6px; padding-inline: 13px; font-size: 13px; }
}

@media (max-width: 1240px) {
    body.portal-site .portal-header-inner { gap: 14px; }
    body.portal-site .portal-mobile-header-login {
        display: inline-flex;
        flex: 0 0 auto;
        align-items: center;
        min-height: 36px;
        margin-left: auto;
        padding: 6px 0;
        color: #454a51;
        font-size: 12px;
        font-weight: 700;
        line-height: 1.5;
        white-space: nowrap;
    }
    body.portal-site .portal-mobile-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    body.portal-site .portal-mobile-login { grid-column: 1 / -1; }
    body.portal-site .portal-mobile-cta,
    body.portal-site .portal-mobile-signup {
        gap: 5px;
        min-width: 0;
        min-height: 62px;
        margin: 0;
        padding: 10px;
        border-radius: 999px;
        box-shadow: 0 2px 4px rgb(23 24 19 / 6%);
        font-size: 13px;
        line-height: 1.5;
        text-align: center;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.portal-site .portal-header-actions .portal-header-signup { transition: none; }
}
