/* Phase 3.5: unified brand-led header artwork and aligned utility controls. */

.site-header-visual {
    position: relative;
    isolation: isolate;
    display: flex;
    min-height: 248px;
    overflow: hidden;
    border: 1px solid #a8bdcf;
    border-bottom: 5px solid var(--tisa-blue, var(--blue, #0059a9));
    border-radius: 0 0 10px 10px;
    box-shadow: 0 8px 24px rgba(0, 45, 86, .16);
    background: #edf4f9;
    align-items: center;
    justify-content: center;
}

.site-header-art {
    position: absolute;
    z-index: 0;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.site-header-visual::before {
    position: absolute;
    z-index: 1;
    inset: 0;
    background: radial-gradient(ellipse 58% 85% at 50% 50%, rgba(255, 255, 255, 0.96) 0%, rgba(255, 255, 255, 0.88) 32%, rgba(255, 255, 255, 0.35) 68%, rgba(255, 255, 255, 0) 100%);
    content: "";
    pointer-events: none;
}

.site-header-brand,
.international-brand {
    position: relative;
    z-index: 2;
    display: flex;
    box-sizing: border-box;
    width: min(85%, 520px);
    min-width: 0;
    margin: 0 auto;
    padding: 48px 20px 22px;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    color: var(--tisa-blue-dark, var(--blue-dark, #003f78));
    text-align: center;
    text-decoration: none;
    background: transparent;
    border: none;
    box-shadow: none;
}

#ar_log_pub .site-header-logo,
.international-brand .site-header-logo {
    display: block;
    width: min(84%, 330px);
    height: auto;
    max-height: 96px;
    margin: 0 auto;
    filter: drop-shadow(0 3px 6px rgba(0, 45, 86, 0.14));
    object-fit: contain;
    object-position: center;
}

.site-header-company {
    display: block;
    max-width: 100%;
    margin: 8px auto 0;
    padding: 5px 14px;
    border: 1px solid rgba(0, 63, 120, 0.18);
    border-radius: 999px;
    color: var(--tisa-blue-dark, var(--blue-dark, #003f78));
    background: rgba(255, 255, 255, 0.88);
    box-shadow: 0 3px 12px rgba(0, 45, 86, 0.08);
    font-size: clamp(11.5px, 1.4vw, 15px);
    font-weight: 800;
    letter-spacing: .065em;
    line-height: 1.25;
    text-align: center;
    backdrop-filter: blur(8px);
}

.site-header-brand:hover .site-header-company,
.site-header-brand:focus-visible .site-header-company,
.international-brand:hover .site-header-company,
.international-brand:focus-visible .site-header-company {
    color: var(--tisa-blue, var(--blue, #0059a9));
}

.header-utilities,
.international-utilities {
    position: absolute;
    z-index: 70;
    top: 14px;
    right: 14px;
    display: flex;
    padding: 5px;
    border: 1px solid rgba(0, 63, 120, .15);
    border-radius: 12px;
    gap: 9px;
    align-items: center;
    box-shadow: 0 5px 18px rgba(0, 45, 86, .13);
    background: rgba(255, 255, 255, .64);
    backdrop-filter: blur(10px);
}

.header-social-link,
.language-switcher summary,
.international-social-icon,
.international-language summary {
    box-sizing: border-box;
    min-width: 44px;
    min-height: 44px;
    padding: 8px 10px;
    border: 1px solid rgba(0, 63, 120, .24);
    border-radius: 8px;
    box-shadow: none;
    background: rgba(255, 255, 255, .94);
}

.language-switcher summary,
.international-language summary {
    min-width: 68px;
}

.language-menu,
.international-language-menu {
    top: calc(100% + 14px);
    right: -5px;
    box-sizing: border-box;
    width: 192px;
    padding: 8px;
    border-radius: 10px;
    box-shadow: 0 14px 34px rgba(0, 35, 68, .25);
}

.language-menu a,
.international-language-menu a {
    box-sizing: border-box;
    min-height: 40px;
    padding: 10px 11px;
    border-radius: 6px;
    line-height: 1.35;
    text-align: left;
    white-space: nowrap;
}

@media (max-width: 760px) {
    .site-header-visual {
        min-height: 222px;
    }

    .site-header-brand,
    .international-brand {
        width: min(72%, 460px);
        padding: 58px 18px 24px;
    }

    #ar_log_pub .site-header-logo,
    .international-brand .site-header-logo {
        width: min(80%, 310px);
        max-height: 94px;
    }

    .site-header-company {
        letter-spacing: .055em;
    }
}

@media (max-width: 520px) {
    .site-header-visual {
        min-height: 180px;
        border-radius: 0 0 8px 8px;
        padding: 0;
    }

    .site-header-art {
        object-position: center;
    }

    .site-header-visual::before {
        display: block;
        background: radial-gradient(ellipse 72% 88% at 50% 50%, rgba(255, 255, 255, 0.98) 0%, rgba(255, 255, 255, 0.90) 36%, rgba(255, 255, 255, 0.40) 70%, rgba(255, 255, 255, 0) 100%);
    }

    .site-header-brand,
    .international-brand {
        width: min(88%, 340px);
        min-height: 0;
        margin: 0 auto;
        padding: 44px 10px 14px;
        background: transparent;
        border: none;
        box-shadow: none;
    }

    #ar_log_pub .site-header-logo,
    .international-brand .site-header-logo {
        width: min(80%, 230px);
        max-height: 64px;
        margin: 0 auto;
        filter: drop-shadow(0 2px 4px rgba(0, 45, 86, 0.12));
    }

    .site-header-company {
        max-width: 100%;
        margin-top: 5px;
        padding: 3px 10px;
        border: 1px solid rgba(0, 63, 120, 0.16);
        border-radius: 999px;
        color: var(--tisa-blue-dark, var(--blue-dark, #003f78));
        background: rgba(255, 255, 255, 0.90);
        box-shadow: 0 2px 8px rgba(0, 45, 86, 0.08);
        font-size: 10.5px;
        font-weight: 800;
        letter-spacing: .03em;
        backdrop-filter: blur(8px);
    }

    .header-utilities,
    .international-utilities {
        top: 6px;
        right: 6px;
        padding: 3px;
        border-radius: 8px;
        gap: 5px;
    }

    .header-social-link,
    .language-switcher summary,
    .international-social-icon,
    .international-language summary {
        min-width: 32px;
        min-height: 32px;
        padding: 5px 6px;
    }

    .language-switcher summary,
    .international-language summary {
        min-width: 48px;
    }

    .language-menu,
    .international-language-menu {
        top: calc(100% + 8px);
        right: -3px;
        width: 175px;
    }
}

@media (prefers-reduced-transparency: reduce) {
    .site-header-company,
    .header-utilities,
    .international-utilities {
        background: #fff;
        backdrop-filter: none;
    }
}
