/* Header layout: shared alignment for contact details, brand and navigation. */
html:not([lang=en]) .site-header .nav-item{min-width:0;flex-shrink:1}
html:not([lang=en]) .site-header .nav-item:first-child{flex-shrink:0}
html:not([lang=en]) .site-header .nav-link{overflow-wrap:anywhere}
.site-header {
    background: #fff;
    border-bottom: 1px solid #e2e8ed;
    box-shadow: 0 3px 18px #102d4306;
}
.site-header .navbar > .container,
.header-contact-bar > .container {
    max-width: 1260px;
    padding-left: 28px;
    padding-right: 28px;
}
.header-contact-bar {
    background: #f8fafb;
    border-bottom: 1px solid #edf1f4;
}
.header-contact-bar > .container { min-height: 33px; gap: 18px; }
.header-phone { font-size: .73rem; font-weight: 600; letter-spacing: .015em; }
.language-picker { padding-left: 16px; }
.language-picker summary { min-height: 29px; font-size: .73rem; }
.site-header .navbar { min-height: 82px; }
.site-header .site-logo { width: 116px; height: 77px; object-fit: contain; filter: contrast(1.1) saturate(1.12); }
.site-header .navbar-brand { display: flex; align-items: center; margin: 0; padding: 0; }
.site-header .nav-link {
    font-family: "Segoe UI", "Nirmala UI", Arial, sans-serif;
    font-size: .85rem;
    font-weight: 600;
    letter-spacing: 0;
    color: #526674;
    line-height: 1.5;
    border-radius: 0;
    transition: color .15s ease;
}
.site-header .nav-link:hover,
.site-header .nav-link.active { color: #123b54 !important; }
.site-header .nav-link.active::after {
    left: 0;
    right: auto;
    width: 24px;
    height: 2px;
    bottom: 17px;
    border-radius: 2px;
    background: #b68a45;
}
@media (min-width: 1100px) {
    .site-header .navbar > .container {
        grid-template-columns: 116px minmax(0, 1fr);
        gap: 30px;
    }
    .site-header #navigation { justify-content: flex-end; gap: 0; }
    .site-header .navbar-nav {
        flex: 0 1 auto;
        justify-content: flex-end;
        gap: clamp(20px, 2vw, 30px) !important;
        margin: 0 !important;
    }
    .site-header .nav-link { padding: 30px 0 !important; white-space: nowrap; text-align: left; }
    html:not([lang=en]) .site-header .nav-link { white-space: normal; max-width: 150px; font-size: .82rem; }
}
@media (min-width: 768px) and (max-width: 1099px) {
    .site-header .navbar > .container { grid-template-columns: 116px minmax(0, 1fr); }
    .site-header .navbar-brand { grid-column: 1 / -1; justify-content: center; }
    .site-header .site-logo { width: 108px; height: 68px; }
    .site-header #navigation { padding: 0; border-top: 1px solid #edf1f4; }
    .site-header .navbar-nav { justify-content: space-between; gap: 16px !important; width: 100%; }
    .site-header .nav-link { font-size: .78rem; padding: 14px 0 !important; }
    .site-header .nav-link.active::after { bottom: 6px; }
    html { scroll-padding-top: 160px; }
}
@media (max-width: 767px) {
    .site-header .navbar > .container,
    .header-contact-bar > .container { padding-left: 20px; padding-right: 20px; }
    .header-contact-bar > .container { min-height: 33px; gap: 12px; }
    .header-phone { font-size: .7rem; }
    .language-picker { padding-left: 10px; }
    .language-picker summary { font-size: .7rem; }
    .site-header .navbar { min-height: 70px; }
    .site-header .site-logo { width: 100px; height: 67px; }
    .site-header .navbar-toggler { padding: 8px; border-radius: 6px; border-color: #dfe6eb; }
    .site-header #navigation { padding: 12px 0 16px; }
    .site-header .navbar-nav { gap: 0 20px !important; margin: 0 !important; }
    .site-header .nav-link { text-align: left; font-size: .86rem; padding: 12px 0 !important; }
    .site-header .nav-link.active { font-weight: 700; }
    html { scroll-padding-top: 115px; }
}

/* Navy utility strip complements the white navigation and gold brand accents. */
.site-header .header-contact-bar { background: #10364d; border-bottom-color: #244a60; }
.site-header .header-phone { color: #f3f7fa; }
.site-header .header-phone:hover { color: #efd09a; }
.site-header .header-contact-bar .language-picker { color: #f3f7fa; border-left-color: #ffffff30; }
.site-header .header-contact-bar .language-picker summary { color: #f3f7fa; }
.site-header .header-contact-bar .language-picker summary > svg { color: #d8bc86; }
.site-header .header-contact-bar .language-picker summary:hover,
.site-header .header-contact-bar .language-picker[open] summary { background: #ffffff12; }
.site-header .header-contact-bar .language-panel { color: #234358; }
