/* Infinity Events — official horizontal brand header */
:root {
    --ie-header-border: rgba(222, 174, 71, .28);
}

header,
.nav {
    position: relative !important;
    z-index: 5000 !important;
    overflow: visible !important;
    background: linear-gradient(180deg, rgba(8,7,4,.99), rgba(15,11,5,.98)) !important;
    border-bottom: 1px solid var(--ie-header-border) !important;
}

.navin,
.header-flex {
    position: relative !important;
    min-height: 132px !important;
    height: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 22px !important;
    overflow: visible !important;
}

.ie-official-brand,
.brand.ie-official-brand,
.logo.ie-official-brand {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex: 1 1 680px !important;
    width: clamp(360px, 51vw, 780px) !important;
    min-width: 0 !important;
    max-width: min(780px, calc(100% - 360px)) !important;
    height: 112px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    isolation: isolate !important;
    border: 0 !important;
    border-radius: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    text-decoration: none !important;
}

.ie-official-logo-wrap {
    position: relative !important;
    z-index: 3 !important;
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
    isolation: isolate !important;
}

.ie-official-logo {
    position: relative !important;
    z-index: 3 !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-height: 106px !important;
    object-fit: contain !important;
    object-position: left center !important;
    border: 0 !important;
    outline: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    filter:
        brightness(1.04)
        contrast(1.08)
        saturate(1.06)
        drop-shadow(0 0 8px rgba(255,238,181,.18))
        drop-shadow(0 0 18px rgba(215,155,31,.16))
        drop-shadow(0 10px 22px rgba(0,0,0,.44)) !important;
    animation:
        ieOfficialLogoBreath 4.8s ease-in-out infinite,
        ieOfficialLogoFloat 7.5s ease-in-out infinite !important;
}

.ie-official-brand::before {
    content: "" !important;
    position: absolute !important;
    z-index: 1 !important;
    inset: 14% 2% 14% 1% !important;
    pointer-events: none !important;
    background:
        radial-gradient(ellipse at 28% 50%, rgba(232,179,61,.18), transparent 47%),
        radial-gradient(ellipse at 68% 50%, rgba(255,220,127,.08), transparent 55%) !important;
    filter: blur(22px) !important;
}

.ie-official-brand::after {
    content: "" !important;
    position: absolute !important;
    z-index: 9 !important;
    top: -35% !important;
    left: -18% !important;
    width: 9% !important;
    height: 180% !important;
    pointer-events: none !important;
    opacity: 0;
    transform: rotate(7deg) skewX(-15deg) !important;
    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(255,240,190,0) 15%,
        rgba(255,226,142,.15) 31%,
        rgba(255,248,218,.62) 44%,
        rgba(255,255,255,.84) 50%,
        rgba(255,233,165,.36) 59%,
        rgba(255,240,190,0) 78%,
        transparent 100%
    ) !important;
    filter: blur(2.5px) !important;
    mix-blend-mode: screen !important;
    animation: ieOfficialMasterSweep 8.1s cubic-bezier(.55,.02,.25,1) infinite !important;
}

.ie-official-logo-wrap::after {
    content: "" !important;
    position: absolute !important;
    z-index: 8 !important;
    top: -25% !important;
    left: -10% !important;
    width: 3.2% !important;
    height: 155% !important;
    pointer-events: none !important;
    opacity: 0;
    transform: skewX(-13deg) !important;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(255,249,220,.66),
        transparent
    ) !important;
    filter: blur(.8px) !important;
    mix-blend-mode: screen !important;
    animation: ieOfficialFineSweep 13.2s ease-in-out 2.4s infinite !important;
}

.links,
header nav,
nav ul,
.menu,
.menu-toggle,
.hamburger {
    position: relative !important;
    z-index: 8000 !important;
}

.infinity-language-selector {
    z-index: 99999 !important;
    opacity: 1 !important;
    visibility: visible !important;
}

h1, h2, h3,
.section-title,
.title,
.big-statement {
    overflow-wrap: anywhere;
    text-wrap: balance;
}

img,
video,
iframe {
    max-width: 100%;
}

body {
    overflow-x: hidden;
}

@keyframes ieOfficialLogoFloat {
    0%, 100% { transform: translateY(0) scale(1); }
    48% { transform: translateY(-1px) scale(1.006); }
}

@keyframes ieOfficialLogoBreath {
    0%, 100% {
        filter:
            brightness(1.04)
            contrast(1.08)
            saturate(1.06)
            drop-shadow(0 0 8px rgba(255,238,181,.16))
            drop-shadow(0 0 18px rgba(215,155,31,.15))
            drop-shadow(0 10px 22px rgba(0,0,0,.44));
    }
    50% {
        filter:
            brightness(1.075)
            contrast(1.09)
            saturate(1.08)
            drop-shadow(0 0 12px rgba(255,244,205,.30))
            drop-shadow(0 0 28px rgba(220,160,34,.26))
            drop-shadow(0 12px 24px rgba(0,0,0,.48));
    }
}

@keyframes ieOfficialMasterSweep {
    0%, 12% { left: -18%; opacity: 0; }
    16% { opacity: .78; }
    31% { left: 107%; opacity: 0; }
    63% { left: 107%; opacity: 0; }
    68% { left: -18%; opacity: 0; }
    73% { opacity: .50; }
    85%, 100% { left: 107%; opacity: 0; }
}

@keyframes ieOfficialFineSweep {
    0%, 21% { left: -10%; opacity: 0; }
    25% { opacity: .58; }
    36% { left: 106%; opacity: 0; }
    76% { left: 106%; opacity: 0; }
    81% { left: -10%; opacity: 0; }
    85% { opacity: .38; }
    94%, 100% { left: 106%; opacity: 0; }
}

@media (max-width: 1180px) {
    .navin,
    .header-flex {
        min-height: 116px !important;
    }

    .ie-official-brand,
    .brand.ie-official-brand,
    .logo.ie-official-brand {
        width: min(680px, calc(100vw - 250px)) !important;
        max-width: calc(100% - 210px) !important;
        height: 96px !important;
    }

    .ie-official-logo {
        max-height: 92px !important;
    }
}

@media (max-width: 960px) {
    .navin,
    .header-flex {
        min-height: 108px !important;
        padding-top: 5px !important;
        padding-bottom: 5px !important;
    }

    .ie-official-brand,
    .brand.ie-official-brand,
    .logo.ie-official-brand {
        width: calc(100% - 66px) !important;
        max-width: calc(100% - 66px) !important;
        height: 92px !important;
        flex-basis: auto !important;
    }

    .ie-official-logo {
        max-height: 88px !important;
    }

    .menu-toggle,
    .hamburger {
        flex: 0 0 48px !important;
        margin-left: auto !important;
    }

    .links,
    header nav {
        z-index: 8500 !important;
    }
}

@media (max-width: 560px) {
    .navin,
    .header-flex {
        min-height: 126px !important;
        align-items: flex-start !important;
        padding-top: 6px !important;
        padding-bottom: 34px !important;
    }

    .ie-official-brand,
    .brand.ie-official-brand,
    .logo.ie-official-brand {
        width: calc(100% - 54px) !important;
        max-width: calc(100% - 54px) !important;
        height: 78px !important;
    }

    .ie-official-logo {
        max-height: 74px !important;
    }

    .infinity-language-selector {
        position: absolute !important;
        left: 50% !important;
        right: auto !important;
        top: auto !important;
        bottom: 4px !important;
        transform: translateX(-50%) !important;
        gap: 3px !important;
        padding: 3px !important;
    }

    .infinity-language-button {
        min-width: 38px !important;
        width: 38px !important;
        height: 29px !important;
        padding: 0 !important;
    }

    .infinity-language-code {
        display: none !important;
    }

    .infinity-language-flag {
        font-size: 1rem !important;
    }

    .links,
    header nav {
        top: 100% !important;
        width: 100% !important;
    }
}

@media (max-width: 360px) {
    .navin,
    .header-flex {
        min-height: 116px !important;
    }

    .ie-official-brand,
    .brand.ie-official-brand,
    .logo.ie-official-brand {
        width: calc(100% - 48px) !important;
        max-width: calc(100% - 48px) !important;
        height: 68px !important;
    }

    .ie-official-logo {
        max-height: 64px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ie-official-logo,
    .ie-official-brand::after,
    .ie-official-logo-wrap::after {
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
    }
}
