/* Header refinements: compact navigation and clearly separated language controls. */
.header-layout5 .header-language-switcher {
    position: relative;
    flex: 0 0 auto;
    width: auto;
    height: 42px;
    padding: 0;
    margin: 0;
    border: 1px solid rgba(10, 77, 110, .16);
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 6px 18px rgba(10, 77, 110, .06);
    overflow: visible;
    text-decoration: none;
    z-index: 5;
}

.header-layout5 .header-language-switcher::before,
.header-layout5 .header-language-switcher::after {
    display: none;
}

.header-layout5 .header-language-switcher:hover {
    transform: none;
}

.header-layout5 .header-language-trigger {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 100%;
    padding: 0 11px;
    border-radius: inherit;
    color: #0a4d6e;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    list-style: none;
    cursor: pointer;
    white-space: nowrap;
}

.header-layout5 .header-language-trigger::-webkit-details-marker {
    display: none;
}

.header-layout5 .header-language-trigger::marker {
    content: "";
}

.header-layout5 .header-language-chevron {
    font-size: 9px;
    transition: transform .18s ease;
}

.header-layout5 .header-language-switcher[open] .header-language-chevron {
    transform: rotate(180deg);
}

.header-layout5 .header-language-switcher .flag-icon {
    display: inline-block;
    flex: 0 0 24px;
    width: 24px;
    height: 18px;
    min-width: 24px;
    max-width: none;
    max-height: none;
    border-radius: 2px;
    background-size: cover;
    box-shadow: 0 0 0 1px rgba(16, 24, 64, .09);
    line-height: 18px;
    animation: none;
    filter: none;
    transform: none;
}

.header-layout5 .header-language-options {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    min-width: 180px;
    padding: 7px;
    border: 1px solid rgba(10, 77, 110, .12);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 18px 48px rgba(6, 34, 52, .18);
}

.header-layout5 .header-language-options a {
    display: flex;
    align-items: center;
    gap: 11px;
    min-height: 42px;
    padding: 10px;
    border-radius: 8px;
    color: #263d4c;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.25;
    white-space: nowrap;
}

.header-layout5 .header-language-options a:hover,
.header-layout5 .header-language-options a[aria-current="true"] {
    color: #0a4d6e;
    background: #edf4f7;
}

.header-layout5 .header-language-check {
    margin-left: auto;
    font-size: 10px;
    color: #0a4d6e;
}

.header-layout5 .header-language-trigger:focus-visible,
.header-layout5 .header-language-options a:focus-visible {
    outline: 2px solid #0a4d6e;
    outline-offset: 3px;
}

@media (min-width: 1400px) {
    .header-layout5 .menu-wrap {
        justify-content: flex-start;
        gap: 12px;
    }

    .header-layout5 .main-menu {
        display: flex !important;
        align-items: center;
        justify-content: center;
        flex: 1 1 auto;
        min-width: 0;
    }

    .header-layout5 .main-menu > ul {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-wrap: nowrap;
        flex: 0 0 auto;
        width: max-content;
        /* Preserve the real content width for the JavaScript fit guard. */
        max-width: none;
        margin: 0;
        gap: clamp(14px, 1.15vw, 23px);
        /* JavaScript nudges toward viewport center, bounded by the available nav space. */
        transform: translateX(var(--header-nav-offset, 0px));
    }

    .header-layout5 .main-menu > ul > li {
        flex: 0 0 auto;
        margin: 0 !important;
    }

    .header-layout5 .main-menu > ul > li > a {
        padding: 23px 0;
        font-size: clamp(12px, .76vw, 14px);
        letter-spacing: 0;
        white-space: nowrap;
    }

    .header-layout5 .header-career-button {
        margin-left: auto;
    }

    .header-layout5 .header-top-inner {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto auto;
        align-items: center;
        gap: 20px;
        min-height: 27px;
    }

    .header-layout5 .header-top-left,
    .header-layout5 .header-top-center,
    .header-layout5 .header-top-right {
        min-width: 0;
    }

    .header-layout5 .header-top .header-links ul {
        display: flex;
        align-items: center;
        flex-wrap: nowrap;
        gap: 11px;
    }

    .header-layout5 .header-top .header-links li {
        margin: 0;
        font-size: 12px;
        line-height: 1.3;
    }

    .header-layout5 .header-top .header-links li::after {
        display: none;
    }

    .header-layout5 .header-links-address ul,
    .header-layout5 .header-links-address li,
    .header-layout5 .header-map-toplink {
        min-width: 0;
        max-width: 100%;
    }

    .header-layout5 .header-links-address li {
        flex: 1 1 auto;
    }

    .header-layout5 .header-map-toplink > span,
    .header-layout5 .header-links-address li > span {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .header-layout5 .header-map-toplink > i {
        flex-shrink: 0;
    }

    .header-layout5 .header-links-center .topbar-email {
        padding-right: 12px;
        border-right: 1px solid rgba(255, 255, 255, .22);
    }

    .header-layout5 .header-links-center .social-links {
        display: flex;
        align-items: center;
        gap: 9px;
    }

    .header-layout5 .header-links-center .social-links a {
        margin: 0;
    }

    .header-layout5 .header-top-language {
        display: flex;
        flex: 0 0 auto;
    }

    .header-layout5 .header-top-language > a {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 29px;
        height: 25px;
        border: 1px solid transparent;
        border-radius: 4px;
    }

    .header-layout5 .header-top-language > a:hover,
    .header-layout5 .header-top-language > a[aria-current="true"] {
        border-color: rgba(255, 255, 255, .42);
        background: rgba(255, 255, 255, .1);
    }

    .header-layout5 .header-top-language .flag-icon {
        flex: 0 0 20px;
        width: 20px;
        height: 15px;
        line-height: 15px;
        background-size: cover;
        border-radius: 1px;
    }

    .header-layout5 .header-top-language > a:focus-visible {
        outline: 2px solid #fff;
        outline-offset: 2px;
    }
}

@media (min-width: 1400px) and (max-width: 1599.98px) {
    .header-layout5 .menu-wrap {
        gap: 10px;
    }

    .header-layout5 .main-menu > ul {
        gap: 15px;
    }

    .header-layout5 .header-top-inner {
        gap: 14px;
    }

    .header-layout5 .header-top .header-links ul {
        gap: 8px;
    }
}

/* Keep the established drawer navigation on tablet and mobile. */
@media (max-width: 1399.98px) {
    .header-layout5 .header-language-switcher {
        display: none !important;
    }
}

.th-mobile-menu .mobile-language-options .flag-icon {
    flex: 0 0 24px;
    width: 24px;
    height: 18px;
    line-height: 18px;
    background-size: cover;
}

@media (prefers-reduced-motion: reduce) {
    .header-layout5 .header-language-chevron {
        transition: none;
    }
}

/* Exhibition showcase: the site's blue, a restrained gold accent and generous photography. */
.fair-gallery-editorial {
  --fair-gold: #e2b93b;
  background: radial-gradient(ellipse at 100% 0, rgba(0, 102, 149, .26), transparent 55%), var(--fair-gallery-bg, #08152e);
  padding-block: var(--fair-gallery-padding-top, 96px) var(--fair-gallery-padding-bottom, 96px);
}
.fair-gallery-editorial::before {
  inset: 0;
  background: linear-gradient(90deg, transparent calc(100% - 1px), rgba(255,255,255,.025) 0);
  background-size: 100px 100%;
  mask-image: none;
  pointer-events: none;
}
.fair-gallery-editorial .fair-gallery-head {align-items: flex-end; gap: 32px; margin-bottom: 36px;}
.fair-gallery-editorial .fair-gallery-heading {max-width: 760px;}
.fair-gallery-editorial .fair-gallery-kicker {gap: 12px; color: var(--fair-gold); font-size: 11px; letter-spacing: .2em; line-height: 1.6;}
.fair-gallery-editorial .fair-gallery-kicker::before {content: ''; width: 32px; height: 2px; background: currentColor; flex-shrink: 0;}
.fair-gallery-editorial .fair-gallery-heading h2 {font-size: clamp(32px, 3.1vw, 48px); line-height: 1.15; letter-spacing: -.025em; margin: 16px 0; text-wrap: balance;}
.fair-gallery-editorial .fair-gallery-heading p {max-width: 660px; color: #b7c5d4; font-size: 14px; line-height: 1.85;}
.fair-gallery-editorial .fair-gallery-event {flex: 0 1 300px; align-items: center; align-self: flex-end; gap: 13px; margin-bottom: 6px; padding: 14px 18px; border: 1px solid rgba(255,255,255,.16); border-radius: 6px; color: #e3eaf1; font-size: 11px; font-weight: 600; line-height: 1.6; letter-spacing: .04em;}
.fair-gallery-editorial .fair-gallery-event i {color: var(--fair-gold); font-size: 20px;}
.fair-gallery-editorial .fair-gallery-stage {border: 1px solid rgba(255,255,255,.13); border-radius: 12px; overflow: hidden; box-shadow: 0 24px 64px rgba(0,0,0,.18);}
.fair-gallery-editorial .fair-gallery-track {display: flex; gap: 0; padding: 0; scroll-snap-type: x mandatory; overflow-x: auto; overscroll-behavior-x: contain; direction: ltr;}
.fair-gallery-editorial .fair-gallery-card {display: grid; grid-template-columns: minmax(0, 1fr) 300px; flex: 0 0 100%; width: 100%; height: auto; margin: 0; border: 0; border-radius: 0; background: #0c2036; box-shadow: none; scroll-snap-stop: always;}
.fair-gallery-editorial .fair-gallery-card::after {display: none;}
.fair-gallery-editorial .fair-gallery-photo {position: relative; min-width: 0; aspect-ratio: 16 / 11; overflow: hidden; background: #09182a;}
.fair-gallery-editorial .fair-gallery-photo > img {width: 100%; height: 100%; object-fit: cover; cursor: zoom-in;}
.fair-gallery-editorial .fair-gallery-card:hover img {transform: none; filter: none;}
.fair-gallery-editorial .fair-gallery-photo:hover > img {transform: scale(1.025);}
.fair-gallery-editorial .fair-gallery-zoom {top: 18px; right: 18px; width: 42px; height: 42px; display: grid; place-items: center; border-color: rgba(255,255,255,.5); background: rgba(5,24,43,.75); backdrop-filter: blur(8px);}
.fair-gallery-editorial .fair-gallery-zoom:hover {background: var(--theme-color);}
.fair-gallery-editorial .fair-gallery-card figcaption {position: static; display: flex; flex-direction: column; justify-content: space-between; align-items: flex-start; gap: 30px; padding: 32px; min-width: 0; background: linear-gradient(145deg, rgba(0,70,110,.24), transparent);}
.fair-gallery-editorial .fair-gallery-card figcaption .fair-gallery-slide-number {padding: 0; background: none; color: var(--fair-gold); border-radius: 0; font: 500 38px/1 var(--title-font); letter-spacing: -.03em;}
.fair-gallery-editorial .fair-gallery-slide-number small {display: inline; color: #899aaf; font: 400 13px/1 var(--body-font); letter-spacing: 0;}
.fair-gallery-editorial .fair-gallery-slide-copy {width: 100%;}
.fair-gallery-editorial .fair-gallery-card figcaption .fair-gallery-slide-label {display: block; padding: 0; margin-bottom: 14px; border-radius: 0; background: none; color: #98b9cd; font-size: 10px; font-weight: 600; line-height: 1.6; letter-spacing: .12em;}
.fair-gallery-editorial .fair-gallery-card figcaption strong {display: block; font: 600 clamp(22px, 1.8vw, 30px)/1.35 var(--title-font); letter-spacing: -.02em; text-wrap: balance; overflow-wrap: anywhere;}
.fair-gallery-editorial .fair-gallery-card figcaption p {margin: 14px 0 0; color: #b7c5d4; font-size: 13px; line-height: 1.8;}
.fair-gallery-editorial .fair-gallery-card figcaption .fair-gallery-signature {display: flex; flex-direction: column; align-items: flex-start; padding: 20px 0 0; margin-top: 10px; width: 100%; background: none; border-radius: 0; border-top: 1px solid rgba(255,255,255,.12); color: #fff; font: italic 800 26px/1 var(--title-font); letter-spacing: .06em;}
.fair-gallery-editorial .fair-gallery-card figcaption .fair-gallery-signature > span {padding: 7px 0 0; background: none; color: #7e9cb1; font: 500 8px/1.5 var(--body-font); letter-spacing: .26em;}
.fair-gallery-editorial .fair-gallery-bottom {display: flex; align-items: center; justify-content: space-between; gap: 36px; margin-top: 22px;}
.fair-gallery-editorial .fair-gallery-thumbnails {display: flex; flex: 1 1 0; min-width: 0; gap: 12px; padding: 3px; overflow-x: auto; scrollbar-width: thin; scrollbar-color: #456078 transparent;}
.fair-gallery-editorial .fair-gallery-thumbnail {position: relative; display: block; flex: 0 0 106px; height: 72px; padding: 0; border: 2px solid transparent; border-radius: 5px; overflow: hidden; background: #102b42; cursor: pointer; opacity: .55; transition: opacity .2s, border-color .2s;}
.fair-gallery-editorial .fair-gallery-thumbnail img {display: block; width: 100%; height: 100%; object-fit: cover;}
.fair-gallery-editorial .fair-gallery-thumbnail span {position: absolute; right: 5px; bottom: 4px; padding: 1px 5px; border-radius: 3px; background: rgba(5,16,30,.8); color: #fff; font-size: 9px; line-height: 1.8;}
.fair-gallery-editorial .fair-gallery-thumbnail.is-active {opacity: 1; border-color: var(--fair-gold);}
.fair-gallery-editorial .fair-gallery-thumbnail:hover {opacity: 1;}
.fair-gallery-editorial .fair-gallery-controls {flex: 0 0 auto; display: flex; align-items: center; gap: 22px;}
.fair-gallery-editorial .fair-gallery-status {color: #b7c5d4; font-size: 12px; font-variant-numeric: tabular-nums; white-space: nowrap; letter-spacing: .08em;}
.fair-gallery-editorial .fair-gallery-arrows {display: flex; gap: 8px;}
.fair-gallery-editorial .fair-gallery-nav {position: static; transform: none; display: grid; place-items: center; width: 46px; height: 46px; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; background: transparent; color: #fff;}
.fair-gallery-editorial .fair-gallery-nav:hover:not(:disabled) {background: var(--theme-color); border-color: #4480a1;}
.fair-gallery-editorial .fair-gallery-nav:disabled {opacity: .3; cursor: default;}
.fair-gallery-editorial :is(button, [tabindex]):focus-visible {outline: 2px solid var(--fair-gold); outline-offset: 3px;}
.fair-gallery-editorial .fair-gallery-track:focus-visible {outline-offset: -3px;}
.fair-gallery-editorial .fair-gallery-lightbox {position: fixed; inset: 0; width: 100%; max-width: none; height: 100%; max-height: none; margin: 0; padding: 60px 24px 24px; border: 0; background: rgba(3,12,24,.96); color: #fff;}
.fair-gallery-editorial .fair-gallery-lightbox[open] {display: flex; align-items: center; justify-content: center;}
.fair-gallery-editorial .fair-gallery-lightbox::backdrop {background: rgba(3,12,24,.75);}
.fair-gallery-editorial .fair-gallery-lightbox__dialog {max-width: min(1200px, 100%); max-height: 100%; text-align: center;}
.fair-gallery-editorial .fair-gallery-lightbox__dialog img {display: block; max-width: 100%; max-height: calc(100dvh - 140px); width: auto; height: auto; margin-inline: auto; object-fit: contain; border-radius: 6px;}
.fair-gallery-editorial .fair-gallery-lightbox__dialog p {margin: 16px 0 0; color: #d5dfe8; font-size: 14px;}
.fair-gallery-editorial .fair-gallery-lightbox__close {z-index: 2; display: grid; place-items: center; top: 16px; right: 20px;}
@media (max-width: 1199px) {
  .fair-gallery-editorial .fair-gallery-card {grid-template-columns: minmax(0, 1fr) 250px;}
  .fair-gallery-editorial .fair-gallery-card figcaption {padding: 24px; gap: 22px;}
  .fair-gallery-editorial .fair-gallery-event {flex-basis: 240px;}
  .fair-gallery-editorial .fair-gallery-thumbnail {flex-basis: 88px; height: 60px;}
}
@media (max-width: 767px) {
  .fair-gallery-editorial {padding-block: 60px;}
  .fair-gallery-editorial .fair-gallery-head {display: block; margin-bottom: 26px;}
  .fair-gallery-editorial .fair-gallery-heading h2 {max-width: 500px; font-size: 34px;}
  .fair-gallery-editorial .fair-gallery-heading p {font-size: 13px;}
  .fair-gallery-editorial .fair-gallery-event {display: inline-flex; margin: 22px 0 0; padding: 10px 14px;}
  .fair-gallery-editorial .fair-gallery-event i {font-size: 16px;}
  .fair-gallery-editorial .fair-gallery-card {display: flex; flex-direction: column;}
  .fair-gallery-editorial .fair-gallery-photo {width: 100%; aspect-ratio: 16 / 11;}
  .fair-gallery-editorial .fair-gallery-card figcaption {display: grid; grid-template-columns: 44px minmax(0, 1fr); align-content: start; align-items: start; gap: 16px; padding: 22px; min-height: 150px;}
  .fair-gallery-editorial .fair-gallery-card figcaption .fair-gallery-slide-number {font-size: 26px;}
  .fair-gallery-editorial .fair-gallery-slide-number small {display: block; font-size: 10px; margin-top: 7px;}
  .fair-gallery-editorial .fair-gallery-card figcaption .fair-gallery-slide-label {margin-bottom: 8px; font-size: 9px;}
  .fair-gallery-editorial .fair-gallery-card figcaption strong {font-size: 23px;}
  .fair-gallery-editorial .fair-gallery-card figcaption .fair-gallery-signature {display: none;}
  .fair-gallery-editorial .fair-gallery-bottom {flex-wrap: wrap; gap: 18px; margin-top: 18px;}
  .fair-gallery-editorial .fair-gallery-thumbnails {flex-basis: 100%; gap: 9px;}
  .fair-gallery-editorial .fair-gallery-thumbnail {flex-basis: 78px; height: 54px;}
  .fair-gallery-editorial .fair-gallery-controls {width: 100%; justify-content: space-between;}
  .fair-gallery-editorial .fair-gallery-nav {width: 42px; height: 42px;}
  .fair-gallery-editorial .fair-gallery-zoom {width: 38px; height: 38px; top: 12px; right: 12px;}
}
@media (prefers-reduced-motion: reduce) {
  .fair-gallery-editorial * {scroll-behavior: auto; transition: none;}
  .fair-gallery-editorial .fair-gallery-photo:hover > img {transform: none;}
}
