﻿/*──────────────────────────────────────────────────────────────────────────
  Hexagon Global Navigation · FULL CSS
  – with organized sections + new override for .hx-feature-item in mobile
──────────────────────────────────────────────────────────────────────────*/

/*==============================
  1) GLOBAL RESETS & FONTS
==============================*/

.hx-global-nav {
    --hx-green: #e5f04a;
    --hx-cyan: #00cbe8;
    --hx-quiet-grey: #b9b9bd;
    --hx-mid-grey: #595c65;
    width: 100%;
}

.hx-global-nav :focus {
    outline: -webkit-focus-ring-color auto 5px;
}

.hx-global-nav * {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: inherit;
}

.hx-global-nav {
    font-family: inherit;
    font-size: 16px !important;
    color: #000;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

html.no-scroll,
body.no-scroll {
    overflow: hidden;
}

.hx-global-nav a,
.hx-global-nav a:visited {
    text-decoration: none;
    color: inherit;
}

.hx-global-nav ul,
.hx-global-nav li {
    list-style: none;
}

.hx-global-nav .icon {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

.hx-global-nav .no-margin {
    margin: 0;
}

/*==============================
  2) ANCHOR SCOPING
==============================*/
/* anchors in .hx-header, .hx-flyout, or .hx-mobile-panel get certain hover animations */
.hx-global-nav .hx-header a,
.hx-global-nav .hx-flyout a,
.hx-global-nav .hx-mobile-panel a {
    text-decoration: none;
    color: #000;
}

.hx-global-nav .hx-flyout a .hx-secondary-text,
.hx-global-nav .hx-mobile-panel a .hx-secondary-text {
    position: relative;
    width: calc(100% - 24px);
}

.hx-global-nav .hx-flyout a span,
.hx-global-nav .hx-mobile-panel a span {
    background-size: 0 1px;
    transition: background-size 0.5s ease-in-out;
}

.hx-global-nav .hx-flyout a:hover span,
.hx-global-nav .hx-mobile-panel a:hover span {
    background-size: 100% 1px;
}

.hx-global-nav .hx-secondary a .icon,
.hx-global-nav .hx-tertiary a .icon,
.hx-global-nav .hx-mobile-panel a .icon {
    width: 24px;
    height: 24px;
    transition: all 0.5s ease-in-out;
}

.hx-global-nav .hx-secondary a .icon:first-child,
.hx-global-nav .hx-tertiary a .icon:first-child,
.hx-global-nav .hx-btn-flyclose .icon:first-child,
.hx-global-nav .hx-mobile-panel a .icon:first-child {
    margin-right: 0;
    width: 0;
}

.hx-global-nav .hx-secondary a .icon:last-child,
.hx-global-nav .hx-tertiary a .icon:last-child,
.hx-global-nav .hx-btn-flyclose .icon:last-child,
.hx-global-nav .hx-mobile-panel a .icon:last-child {
    margin-left: 8px;
}

.hx-global-nav .hx-secondary a:hover .icon:first-child,
.hx-global-nav .hx-tertiary a:hover .icon:first-child,
.hx-global-nav .hx-mobile-panel a:hover .icon:first-child {
    margin-right: 8px;
    width: 24px;
}

.hx-global-nav .hx-secondary a:hover .icon:last-child,
.hx-global-nav .hx-tertiary a:hover .icon:last-child,
.hx-global-nav .hx-btn-flyclose:hover .icon:last-child,
.hx-global-nav .hx-mobile-panel a:hover .icon:last-child,
.hx-global-nav .hx-mobile-panel a:hover .icon:last-child {
    margin-left: 0;
    width: 0;
}

/*==============================
  3) PRIMARY TOP BAR
==============================*/
header {
    background: #fff;
    border-bottom: 1px solid var(--colors-hexweb-grey-80);
    position: sticky;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 400;
    transform: translateY(0);
}

header.transitioning {
    transition: transform 0.25s ease-out;
}

.hx-global-nav .hx-header {
    width: 100%;
}

.hx-global-nav .hx-header__inner {
    margin: auto;
    display: grid;
    align-items: center;
    grid-template-areas:
        "logo utility-nav"
        "primary-nav primary-nav";
    gap: 16px;
    padding: 24px 32px 24px 48px;
    position: relative;
}

.hx-global-nav .hx-header__inner > .hx-btn-flyclose {
    position: absolute;
    right: 0;
    display: none;
}

.hx-global-nav .hx-header > svg.hidden {
    display: none;
}

.hx-global-nav .hx-logo {
    line-height: 0;
    grid-area: logo;
}

.hx-global-nav .hx-logo:hover {
    text-decoration: none;
}

.hx-global-nav .hx-logo img {
    width: 159px;
    height: 44.71px;
    object-fit: contain;
}

/* back (mobile) */
.hx-global-nav .hx-back {
    display: none;
    position: absolute;
    left: 24px;
    background: none;
    border: 0;
    padding: 8px;
    color: #000;
    align-items: center;
    gap: 6px;
    cursor: pointer;
}

.hx-global-nav .hx-back .icon {
    width: 22px;
    height: 22px;
    color: var(--colors-hexweb-blue-99);
}

/* desktop primary nav */
.hx-global-nav .hx-primary-nav {
    display: flex;
    grid-area: primary-nav;
    flex: 1;
}

.hx-global-nav .hx-primary-nav ul {
    display: flex;
    gap: 32px;
    align-items: center;
    width: 100%;
}

.hx-global-nav .hx-primary-nav li {
    display: flex;
    align-items: center;
}

.hx-global-nav .hx-nav-link {
    background: none;
    border: 0;
}

.hx-global-nav .hx-primary-link {
    position: relative;
    white-space: nowrap;
    cursor: pointer;
    color: #000;
}

.hx-global-nav .hx-primary-link::after {
    content: "";
    position: absolute;
    inset-inline: 0;
    bottom: 0;
    height: 1px;
    transform: scaleX(0);
    background: var(--colors-hexweb-blue-dark-99);
    transform-origin: left;
    transition: transform 0.5s;
}

.hx-global-nav .hx-primary-link:hover::after,
.hx-global-nav .hx-primary-link[aria-expanded="true"]::after {
    transform: scaleX(1);
}

/* desktop utilities */
.hx-global-nav ul.hx-utility-nav {
    display: flex;
    grid-area: utility-nav;
    margin-left: auto;
    justify-content: flex-end;
    gap: 16px;
}

.hx-global-nav ul.hx-utility-nav .language-selector-select-link {
    height: 56px;
}

.hx-global-nav .hx-btn-search--desktop,
.hx-global-nav .hx-lang-select,
.hx-global-nav .hx-cta {
    display: flex;
    align-items: center;
}

.hx-global-nav .hx-btn-search--desktop {
    background: none;
    border-radius: 28px;
    padding: 8px 24px;
    border: 2px solid rgba(1, 173, 255, 0);
    gap: 8px;
    height: 56px;
    cursor: pointer;
    transition: border 0.25s;
}

.hx-global-nav .hx-btn-search--desktop:hover {
    border: 2px solid rgba(1, 173, 255, 1);
}

.hx-global-nav .hx-btn-search--desktop .icon {
    width: 30px;
    height: 30px;
    color: var(--colors-hexweb-blue-99);
}

.hx-global-nav .hx-btn-search .icon {
    width: 26px;
    height: 26px;
    color: var(--colors-hexweb-blue-99);
}

.hx-global-nav .hx-cta {
    padding: 8px 24px;
    border: 2px solid var(--colors-hexweb-accent-bright-yellow-99);
    border-radius: 28px;
    height: 56px;
    transition: background-color 0.25s;
}

.hx-global-nav .hx-cta:hover {
    background: var(--colors-hexweb-accent-bright-yellow-99);
    border-bottom: 2px solid transparent;
    text-decoration: none;
}

.hx-global-nav .hx-lang-select {
    background: none;
    border: 2px solid var(--colors-hexweb-grey-80);
    border-radius: 28px;
    padding: 8px 12px;
    gap: 8px;
    height: 56px;
    cursor: pointer;
}

.hx-global-nav .hx-lang-select--mobile {
    margin: 0 18px;
}

/* burger */
.hx-global-nav .hx-burger {
    --w: 18px;
    --h: 1px;
    background: none;
    border: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
    cursor: pointer;
}

.hx-global-nav .hx-burger span {
    width: var(--w);
    height: var(--h);
    background: #000;
    transition: transform 0.3s, opacity 0.3s;
}

.hx-global-nav .hx-burger.open span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}

.hx-global-nav .hx-burger.open span:nth-child(2) {
    transform: rotate(-45deg);
}

.hx-global-nav .hx-burger.open span:nth-child(3) {
    opacity: 0;
}

/* logo↔back swap */
@media (max-width: 1023.98px) {
    .level-l2 .hx-logo,
    .level-l3 .hx-logo {
        visibility: hidden;
    }

    .level-l2 .hx-back,
    .level-l3 .hx-back {
        display: flex;
    }
}

/*==============================
  4) DESKTOP FLYOUT
==============================*/
.hx-global-nav .hx-flyout {
    position: absolute;
    inset-inline: 0;
    background: rgba(247, 247, 247, 0.95);
    border-bottom: 1px solid var(--colors-hexweb-grey-80);
    font-size: 14px;
    z-index: 500;
    overflow-y: auto;
    will-change: transform;
}

.hx-global-nav .hx-flyout[hidden] {
    display: none;
}

.hx-global-nav .hx-flyout__bar {
    height: 72px;
    background: var(--colors-hexweb-grey-99);
    border-block: 1px solid var(--colors-hexweb-grey-80);
    display: flex;
    align-items: center;
    position: relative;
}

.hx-global-nav .hx-flyout__bar.hx-search__bar {
    justify-content: flex-end;
}

.hx-global-nav .hx-flyout__bar[hidden] {
    display: none;
}

.hx-global-nav .hx-flyout__bar::before {
    content: "";
    position: absolute;
    inset-block: 0;
    left: 0;
    padding-left: 24px;
    border-right: 1px solid var(--colors-hexweb-grey-80);
}

.hx-global-nav .hx-flyout__title {
    flex: 1;
    padding-left: 72px;
    font-weight: 400;
}

.hx-global-nav .hx-btn-flyclose {
    background: var(--colors-hexweb-blue-dark-99);
    color: #fff;
    border: 0;
    height: 100%;
    padding: 0 48px;
    display: flex;
    align-items: center;
    cursor: pointer;
}

.hx-global-nav .hx-btn-flyclose__inner {
    display: flex;
    align-items: flex-start;
}

.hx-global-nav .hx-btn-flyclose .icon {
    width: 40px;
    height: 40px;
    color: #fff;
    transition: all 0.5s ease-in-out;
}

.hx-global-nav .hx-btn-flyclose:hover .icon:first-child {
    margin-right: 8px;
    width: 40px;
}

.hx-global-nav .hx-search__bar .hx-btn-flyclose .icon {
    height: 40px;
}

.hx-global-nav .hx-flyout__body {
    display: grid;
    grid-template-columns: 25% 50% 25%;
    padding-left: 24px;
    background: #fff;
    overflow: hidden;
    position: relative;
    border-bottom: 1px solid var(--colors-hexweb-grey-80);
}

.hx-global-nav .hx-flyout__body::before {
    content: "";
    position: absolute;
    inset-block: 0;
    left: 0;
    padding-left: 24px;
    border-right: 1px solid var(--colors-hexweb-grey-80);
}

.hx-global-nav .hx-search-container {
    width: 100%;
    display: flex;
    flex-direction: column;
    padding: 48px;
    background: #fff;
    overflow: hidden;
}

.hx-global-nav .hx-search-flyout__body .hx-search__side {
    position: relative;
    display: flex;
    flex-basis: 25%;
    padding: 0 !important;
    pointer-events: none;
}

.hx-global-nav .hx-search-flyout__body .hx-search__side .icon-search-side {
    position: relative;
    height: 100%;
    width: 100%;
    bottom: 0;
    right: 0;
}

.hx-global-nav .hx-flyout-panel {
    display: contents;
}

/* secondary nav (left column) */
.hx-global-nav .hx-secondary {
    position: relative;
    grid-column: 1;
    display: flex;
    flex-direction: column;
    gap: 48px;
    border-right: 1px solid var(--colors-hexweb-grey-80);
    padding: 48px 24px;
    height: 100%;
    overflow-x: hidden;
}

.hx-global-nav .hx-secondary-title {
    padding: 0 24px 16px;
    color: var(--colors-hexweb-grey-50);
}

.hx-global-nav .hx-secondary-btn-list {
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.hx-global-nav .hx-secondary-btn {
    display: flex;
    justify-content: space-between;
    text-align: left;
    align-items: center;
    width: 100%;
    padding: 4px 24px;
    background: none;
    border: 0;
    cursor: pointer;
    gap: 8px;
    transition: background-color 1s;
    overflow: hidden;
}

.hx-global-nav .hx-secondary-btn span {
    overflow: hidden;
    width: calc(100% - 20px);
}

.hx-global-nav .hx-secondary-btn:hover {
    background: var(--colors-hexweb-turquoise-99);
    border-radius: 4px;
    color: #000;
}

.hx-global-nav .hx-secondary-btn .icon {
    color: var(--colors-hexweb-grey-50);
}

.hx-global-nav .hx-secondary-btn:hover .icon {
    color: #000;
}

.hx-global-nav .hx-secondary-btn.active {
    background: var(--colors-hexweb-blue-dark-99);
    border-radius: 4px;
    color: #fff;
}

.hx-global-nav .hx-secondary-btn.active .icon {
    color: #fff;
}

.hx-global-nav .hx-secondary__anchor {
    padding: 0 24px;
}
.hx-global-nav .hx-secondary__anchor li {
    margin-bottom: 8px;
}

.hx-global-nav .hx-secondary__anchor li:last-child {
    margin-bottom: 0;
}

.hx-global-nav .hx-secondary__anchor.no-margin {
    margin: 0;
}

.hx-global-nav .hx-secondary-link {
    display: inline-flex;
    align-items: flex-start;
    padding: 0;
    transition: background-color 1s;
}

.hx-global-nav .hx-secondary-link:hover {
    background: transparent;
    color: #000;
}

/* tertiary (middle column) */
.hx-global-nav .hx-tertiary {
    grid-column: 2;
    background: #fff;
    overflow-x: hidden;
    min-width: 0;
    padding: 48px 0;
}

.hx-global-nav .hx-tertiary-pane {
    display: none;
}

.hx-global-nav .hx-tertiary-pane:not([hidden]) {
    display: block;
}

.hx-global-nav .hx-full-width-header {
    padding: 0 48px 16px;
    font-weight: 400;
    color: var(--colors-hexweb-grey-50);
}

.hx-global-nav .hx-tertiary-cols {
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin-bottom: 24px;
}

.hx-global-nav .hx-tertiary-col {
    display: flex;
    flex-direction: column;
    gap: 48px;
    padding: 0 24px;
}

.hx-global-nav .hx-navigation-group > ul {
    display: grid;
    gap: 8px;
}

.hx-global-nav .hx-intro {
    padding: 0 24px 16px;
    color: var(--colors-hexweb-grey-50);
}

.hx-global-nav a.hx-tertiary-link {
    display: inline-flex;
    align-items: flex-start;
    margin: 0 24px;
    background: none;
    border: 0;
}

.hx-global-nav a.hx-feature-item {
    display: block;
    padding: 8px 24px;
    white-space: normal;
    transition: background-color 1s;
    background-color: rgb(4, 208, 230, 0);
}

.hx-global-nav a.hx-feature-item:hover {
    text-decoration: none;
    background-color: rgb(4, 208, 230, 1);
}

.hx-global-nav a.hx-feature-item span {
    margin-bottom: 4px;
    background-size: 0 1px;
    transition: background-size 0.5s ease-in-out;
}

.hx-global-nav a.hx-feature-item:hover span {
    background-size: 100% 1px;
}

.hx-global-nav a.hx-feature-item.highlight {
    background-color: var(--colors-hexweb-accent-bright-yellow-99);
}

.hx-global-nav .hx-meta {
    color: var(--colors-hexweb-grey-50);
    white-space: normal;
}

.hx-global-nav .hx-meta:hover {
    text-decoration: none;
}

.hx-global-nav .hx-highlight--cyan {
    background: var(--hx-cyan);
    color: #fff;
}

.hx-global-nav a.hx-about-link .icon {
    opacity: 0;
}

/* sidebar (right column) */
.hx-global-nav .hx-desktop-sidebars {
    position: relative;
    border-left: 1px solid var(--colors-hexweb-grey-80);
}

.hx-global-nav .hx-desktop-sidebars::before {
    content: "";
    border-right: 1px solid var(--colors-hexweb-grey-80);
    position: absolute;
    z-index: 0;
    left: 0;
    bottom: 0;
    height: 100vh;
    transform: rotate(62deg);
    transform-origin: bottom left;
}

.hx-global-nav .hx-sidebar-sub {
    grid-column: 3;
    position: relative;
    padding: 64px 32px;
    overflow: hidden;
}

.hx-global-nav a.hx-common-card {
    position: relative;
    display: grid;
    background-color: #fff;
    border: 1px solid var(--colors-hexweb-grey-80);
    width: 100%;
    padding-right: 24px;
    border-radius: 8px;
    overflow: hidden;
    cursor: pointer;
    justify-content: start;
    white-space: normal;
}

.hx-global-nav a.hx-common-card.highlight {
    background-color: var(--colors-hexweb-accent-bright-yellow-99);
}

.hx-global-nav .hx-common-card__body {
    position: relative;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    padding: 24px 0 24px 24px;
    overflow: hidden;
}

.hx-global-nav .hx-common-card__date,
.hx-global-nav .hx-common-card__location {
    text-align: left;
    color: var(--colors-hexweb-grey-50);
    font-weight: 400;
    background-color: transparent;
    border: none;
}

.hx-global-nav .hx-common-card__date.highlight,
.hx-global-nav .hx-common-card__location.highlight {
    color: #000;
}

.hx-global-nav .hx-common-card__label,
.hx-global-nav .hx-common-card__title {
    text-align: left;
    color: #000;
    font-weight: 400;
}

.hx-global-nav .hx-common-card__description {
    color: #000;
    text-align: left;
    font-weight: 400;
}

.hx-global-nav .hx-common-card__arrow-cta {
    margin-left: auto;
    width: 40px;
    height: 40px;
    background-color: transparent;
    transition: background-color 0.5s;
    display: flex;
    justify-content: center;
    align-items: center;
}

.hx-global-nav .hx-common-card__arrow-cta .icon {
    width: 40px;
    height: 40px;
    margin-right: 0;
    margin-left: 0;
}

.hx-global-nav .hx-common-card__featured {
    position: absolute;
    top: 0;
    left: 0;
    width: max-content;
    border-bottom-right-radius: 0.5rem;
    padding: 0.5rem 1.5rem;
    background-color: var(--colors-hexweb-accent-bright-yellow-99);
}

.hx-global-nav .hx-common-card__img-container {
    position: relative;
    width: 100%;
    height: 100%;
    border-radius: 0px 0px 8px 0px;
    overflow: hidden;
}

.hx-global-nav .hx-common-card__img-container.bottom {
    align-self: self-end;
    border-radius: 0px 8px 0px 0px;
}

.hx-global-nav .hx-common-card__img-container.top {
    align-self: self-start;
    border-radius: 0px 0px 8px 0px;
}

.hx-global-nav img.hx-common-card__img {
    width: 100%;
    aspect-ratio: 16/9;
    object-fit: cover;
    height: 100%;
    transition: transform 0.5s ease-in-out;
}

.hx-global-nav a.hx-common-card:hover {
    border: 1px solid var(--colors-hexweb-grey-80);
}

.hx-global-nav .hx-common-card:hover img.hx-common-card__img {
    transform: scale(1.1);
}

.hx-global-nav .hx-common-card:hover .hx-common-card__title span {
    animation: text-underline 0.5s ease forwards;
}

.hx-global-nav .hx-common-card:hover .hx-common-card__arrow-cta {
    background-color: var(--colors-hexweb-background-grey-99);
}

.hx-global-nav .hx-mobile-panel .hx-common-card__arrow-cta svg.icon {
    width: 40px;
    height: 40px;
    margin-right: 0;
    margin-left: 0;
}

.hx-global-nav
    .hx-mobile-panel
    .hx-common-card:hover
    .hx-common-card__arrow-cta
    .icon,
.hx-global-nav
    .hx-mobile-panel
    .hx-common-card:hover
    .hx-common-card__arrow-cta
    .icon:first-child,
.hx-global-nav
    .hx-mobile-panel
    .hx-common-card:hover
    .hx-common-card__arrow-cta
    .icon:last-child {
    margin-left: 0;
    margin-right: 0;
    width: 40px;
}

/* responsive toggles */
@media (max-width: 1023.98px) {
    .hx-global-nav .hx-flyout {
        display: none;
    }

    .hx-global-nav .hx-flyout__bar,
    .hx-global-nav .hx-flyout__bar.hx-search__bar {
        display: none;
    }

    .hx-global-nav .hx-primary-nav,
    .hx-global-nav .hx-btn-search--desktop,
    .hx-global-nav .hx-lang-select--desktop,
    .hx-global-nav .hx-cta {
        display: none;
    }

    .hx-global-nav .hx-header__inner {
        height: 65px;
        padding: 0 24px;
        gap: 16px;
        display: flex;
    }

    .hx-global-nav .hx-logo img {
        width: 106.69px;
        height: 30px;
    }

    .hx-global-nav .hx-btn-search {
        margin-left: auto;
        background: none;
        border: 0;
        width: 26px;
        height: 26px;
        cursor: pointer;
    }
}

@media (min-width: 1024px) {
    .hx-global-nav .hx-burger,
    .hx-global-nav .hx-mobile,
    .hx-global-nav .hx-btn-search {
        display: none;
    }

    .hx-global-nav .icon.search--desktop {
        display: block;
    }

    .hx-global-nav .icon.search--mobile {
        display: none;
    }

    .hx-global-nav .hx-flyout {
        max-height: calc(100vh - 216px);
    }

    .hx-global-nav .hx-flyout__bar::before {
        padding-left: 16px;
    }

    .hx-global-nav .hx-flyout__body::before {
        padding-left: 16px;
    }

    .hx-global-nav .hx-flyout__bar.hx-search__bar {
        /* height: 56px; */
    }

    .hx-global-nav .hx-search-container {
        padding: 32px;
    }

    .hx-global-nav .hx-btn-flyclose {
        padding: 0 32px;
    }

    .hx-global-nav .hx-btn-flyclose .icon:first-child {
        margin-right: 10px;
    }

    .hx-global-nav .hx-btn-flyclose .icon:last-child {
        margin-left: 10px;
    }
}

@media (min-width: 1440px) {
    .hx-global-nav .hx-flyout {
        max-height: calc(100vh - 176px);
    }

    .hx-global-nav .hx-header__inner {
        grid-template-columns: max-content auto auto;
        gap: 48px;
        grid-template-areas: "logo primary-nav utility-nav";
    }
}

@media (min-width: 1920px) {
    .hx-global-nav .hx-flyout__bar::before {
        padding-left: 24px;
    }

    .hx-global-nav .hx-flyout__body::before {
        padding-left: 24px;
    }

    .hx-global-nav .hx-search-container {
        padding: 48px;
    }

    .hx-global-nav .hx-btn-flyclose {
        padding: 0 48px;
    }

    .hx-global-nav .hx-flyout__bar.hx-search__bar {
        height: 72px;
    }
}

/*==============================
  5) MOBILE DRAWER
==============================*/
.hx-global-nav .hx-mobile {
    position: fixed;
    left: 0;
    top: 66px;
    width: 100%;
    height: calc(100vh - 66px);
    height: calc(100dvh - 66px);
    background: #fff;
    transform: translateX(-100%);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.25s;
    z-index: 300;
}

.hx-global-nav .hx-mobile::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: calc(100vh - 66px);
    padding-right: 8px;
    border-right: 1px solid var(--colors-hexweb-grey-80);
    z-index: 3;
}

.hx-global-nav .hx-mobile.open {
    transform: translateX(0);
    opacity: 1;
    pointer-events: auto;
}

.hx-global-nav .hx-mobile__viewport {
    position: absolute;
    inset: 0;
    overflow-x: hidden;
}

.hx-global-nav .hx-mobile-panel {
    position: absolute;
    inset: 0;
    padding: 32px 16px 0 24px;
    background: #fff;
    display: none;
    flex-direction: column;
    gap: 32px;
    will-change: transform;
}

.hx-global-nav .hx-mobile-panel.active {
    display: flex;
    z-index: 3;
}

.hx-global-nav .hx-mobile-panel.off-right {
    display: none;
    z-index: 2;
}

.hx-global-nav .hx-mobile-panel.off-left {
    display: none;
    z-index: 2;
}

.hx-global-nav .hx-mobile-panel.l3 {
    gap: 0;
}

.hx-global-nav .hx-mobile-panel > h3.hx-full-width-header {
    padding: 0 24px 16px;
}

.hx-global-nav .hx-mobile-panel .hx-secondary-title {
    padding: 0 16px 16px;
}

.hx-global-nav .hx-mobile-panel ul.hx-mobile-secondary-btn-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.hx-global-nav .hx-mobile-panel__columns > ul.hx-tertiary-col {
    position: relative;
    padding: 0;
    gap: 32px;
}

.hx-global-nav .hx-mobile-panel__columns > ul.hx-tertiary-col::after {
    content: "";
    position: relative;
    width: 100vw;
    height: 100%;
    top: 0;
    left: -16px;
    border-bottom: 1px solid var(--colors-hexweb-grey-80);
    gap: 32px;
}

.hx-global-nav .hx-mobile-panel__columns > ul.hx-tertiary-col:first-child {
    padding: 0 0 32px 0;
}

.hx-global-nav .hx-mobile-panel-divider {
    position: relative;
    border: 0;
    border-top: 1px solid var(--colors-hexweb-grey-80);
    width: 100vw;
    left: -16px;
}

.hx-global-nav .hx-mobile-primary-btn,
.hx-global-nav .hx-mobile-secondary-btn,
.hx-global-nav .hx-mobile-panel > a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    text-align: left;
    padding: 4px 16px;
    gap: 8px;
    color: #000;
    background: none;
    border: 0;
    cursor: pointer;
}

.hx-global-nav .hx-mobile-secondary-btn {
    white-space: normal;
}

.hx-global-nav .hx-mobile-secondary-btn span {
    width: calc(100% - 20px);
}

.hx-global-nav .hx-mobile-panel .hx-mob-actions {
    padding: 0;
}

.hx-global-nav .hx-mobile-panel .hx-mob-actions a {
    padding: 0;
    display: inline-flex;
    align-items: flex-start;
    margin-left: 16px;
    gap: 0;
    width: auto;
}

.hx-global-nav .hx-mobile-primary-btn .icon,
.hx-global-nav .hx-mobile-secondary-btn .icon {
    color: var(--colors-hexweb-grey-50);
}

.hx-global-nav .hx-mobile-primary-btn:hover,
.hx-global-nav .hx-mobile-secondary-btn:hover {
    background: var(--colors-hexweb-turquoise-99);
}

.hx-global-nav .hx-mobile-secondary-btn.active {
    background: var(--colors-hexweb-blue-dark-99);
    color: #fff;
}

.hx-global-nav .hx-mobile-secondary-btn.active .icon {
    color: #fff;
}

.hx-global-nav .hx-mobile-secondary__anchor li {
    margin-bottom: 8px;
}

.hx-global-nav .hx-secondary__anchor li:last-child {
    margin-bottom: 0;
}

/*==============================
  6) OVERRIDE FOR .hx-feature-item IN MOBILE
   so it won't be overridden by hx-mobile-panel a { }
==============================*/
.hx-global-nav .hx-mobile-panel a.hx-feature-item {
}

.hx-global-nav .hx-mobile-panel a.hx-feature-item:hover {
}

.hx-global-nav .hx-mobile-panel a.hx-feature-item span {
}

.hx-global-nav .hx-mobile-panel a.hx-feature-item p:first-child {
    margin-top: 0;
}

.hx-global-nav .hx-mobile-panel a.hx-feature-item p {
    margin-top: 4px;
}

.hx-global-nav .hx-mobile-panel a.hx-feature-item:hover span {
}

.hx-global-nav .hx-mobile-panel a.hx-feature-item.highlight {
}

.hx-global-nav .hx-mobile-sidebar > .hx-common-card {
    margin-top: 24px;
}

/*==============================
  7) ACCESSIBILITY STYLES
==============================*/

/* Focus styles for keyboard navigation */
/* Remove the explicit outline: none to allow browser's default focus indicators */
/* Fix for tertiary navigation tab order */
.hx-global-nav .hx-tertiary-pane {
    display: none;
}

.hx-global-nav .hx-tertiary-pane:not([hidden]) {
    display: block;
}

/* Ensure the focus indicator is visible on high-contrast mode */
@media (forced-colors: active) {
    .hx-global-nav a:focus,
    .hx-global-nav button:focus,
    .hx-global-nav [tabindex="0"]:focus,
    .hx-global-nav .hx-full-width-header:focus,
    .hx-global-nav [tabindex="-1"]:focus {
        outline: 1px solid CanvasText;
    }
}

/*==============================
  8) SEARCH FLYOUT STYLES
==============================*/
/* Search Flyout - follows the existing flyout design pattern */
.hx-global-nav #hx-search-flyout {
    display: none;
    height: auto;
}

.hx-global-nav #hx-search-flyout.active {
    display: block;
}

.hx-global-nav .hx-search-flyout__body {
    display: flex;
    padding: 0 !important;
    height: 100%;
}

.hx-global-nav .hx-search-input-container {
    position: relative;
    display: flex;
    align-items: center;
    background-color: #fff;
    border-left: 2px solid var(--hx-mid-grey);
    border-bottom: 2px solid var(--hx-mid-grey);
}

.hx-global-nav .hx-search-input-container.hasLoaded {
    border-left: 2px solid var(--colors-hexweb-blue-99);
    border-bottom: 2px solid transparent;
}

.hx-global-nav .hx-search-input {
    width: 100%;
    padding: 16px 8px 16px;
    border: 0;
    outline: none;
    background-color: transparent;
    color: #000;
}

.hx-global-nav .hx-search-input::placeholder {
    color: var(--colors-hexweb-grey-50);
}

.hx-global-nav .hx-search,
.hx-global-nav .hx-search-clear {
    background: none;
    border: none;
    cursor: pointer;
    align-items: center;
    color: var(--colors-hexweb-grey-10);
}

.hx-global-nav .hx-search-clear {
    display: none;
}

.hx-global-nav .hx-search-clear span {
    font-size: 21px;
    line-height: 30px;
    letter-spacing: -0.31px;
}

.hx-global-nav .hx-search-clear .icon {
    width: 40px;
    height: 40px;
    color: var(--colors-hexweb-grey-10);
}

.hx-global-nav .hx-search .icon {
    width: 48px;
    height: 48px;
    color: var(--colors-hexweb-grey-10);
}

.hx-global-nav .hx-search-results-container {
    position: relative;
    top: -2px;
    overflow-y: auto;
    padding: 0 16px 16px 8px;
    margin-top: -1px;
    border-left: 0;
    border-bottom: 0;
}

.hx-global-nav .hx-search-results-container hr {
    display: none;
    height: 2px;
    border: 0;
    padding: 0;
    border-top: 2px solid var(--colors-hexweb-grey-80);
    margin: 0 0 16px;
}

.hx-global-nav .hx-search-results-container.hasLoaded {
    border-left: 2px solid var(--colors-hexweb-blue-99);
    border-bottom: 2px solid var(--colors-hexweb-blue-99);
}

.hx-global-nav .hx-search-results-container.hasLoaded hr {
    display: block;
}

.hx-global-nav .hx-search-results {
    display: flex;
    flex-direction: column;
    gap: 12px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.hx-global-nav a.hx-search-item {
    display: flex;
    flex-direction: column;
    color: #000;
    text-decoration: none;
    cursor: pointer;
    padding: 0 24px 0 8px;
    white-space: normal;
}

.hx-global-nav a.hx-search-item:hover {
    text-decoration: none;
    background-color: var(--colors-hexweb-background-grey-99);
    border-bottom: none;
}

.hx-global-nav a.hx-search-item.active {
    background-color: var(--colors-hexweb-background-grey-99);
}

.hx-global-nav .hx-search-item-description {
    margin-top: 4px;
    color: var(--colors-hexweb-grey-60);
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.hx-global-nav .hx-search-loading {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 48px 0;
    color: var(--colors-hexweb-grey-60);
}

.hx-global-nav .hx-search-loading-spinner {
    width: 24px;
    height: 24px;
    border: 1px solid var(--colors-hexweb-grey-90);
    border-top: 1px solid var(--colors-hexweb-blue-99);
    border-radius: 50%;
    margin-right: 12px;
    animation: hx-search-spin 1s linear infinite;
}

.hx-global-nav .hx-search-no-results {
    padding: 48px 8px;
    text-align: center;
    color: var(--colors-hexweb-grey-60);
}

@keyframes hx-search-spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

/* Mobile styles */
@media (max-width: 1023.98px) {
    .hx-global-nav #hx-search-flyout {
        position: absolute;
        border-top: 1px solid var(--colors-hexweb-grey-80);
        height: 100vh;
        max-height: calc(100vh - 66px);
        height: calc(100dvh - 66px);
        z-index: 500;
        background: white;
    }

    .hx-global-nav .hx-flyout__body::before {
        padding-left: 8px;
    }

    .hx-global-nav #hx-search-flyout .hx-flyout__bar {
        display: none;
    }

    .hx-global-nav .hx-search-container {
        max-height: calc(100vh - 66px);
        height: calc(100dvh - 66px);
        max-width: 100%;
        padding: 24px;
    }

    .hx-global-nav .hx-search-flyout__body .hx-search__side {
        display: none;
    }

    .hx-global-nav .icon.search--desktop {
        display: none;
    }

    .hx-global-nav .icon.search--mobile {
        display: block;
    }

    .hx-global-nav .hx-header__inner > .hx-btn-flyclose {
        display: flex;
        justify-content: center;
        padding: 0 16px;
        gap: 0;
    }

    hx-global-nav .hx-header__inner > .hx-btn-flyclose .icon {
        margin-left: 16px;
    }

    .hx-global-nav .hx-header__inner > .hx-btn-flyclose[hidden] {
        display: none;
    }

    /* When search is active, hide the burger and search button */
    .hx-global-nav .hx-header.search-active .hx-burger,
    .hx-global-nav .hx-header.search-active .hx-btn-search {
        display: none;
    }

    .hx-global-nav .hx-header.search-active .hx-btn-flyclose {
        display: flex;
        position: absolute;
        right: 0;
    }

    .hx-global-nav .hx-search .icon {
        width: 24px;
        height: 24px;
        color: var(--colors-hexweb-grey-10);
    }

    .hx-global-nav .hx-search-clear span {
        font-size: 11px;
        line-height: 16px;
        letter-spacing: 0;
    }

    .hx-global-nav .hx-search-clear .icon {
        width: 24px;
        height: 24px;
    }
}

@media (max-width: 768px) {
    .hx-global-nav .hx-header__inner > .hx-btn-flyclose {
        display: flex;
        padding: 8px 32px;
        gap: 0;
    }
}

@media (max-width: 375px) {
    .hx-global-nav .hx-header__inner > .hx-btn-flyclose {
        display: flex;
        padding: 8px 16px 8px 24px;
        gap: 0;
    }
}

/* Skip to Content Link Styles */
.hx-skip-to-content {
    position: absolute;
    font-family: inherit;
    color: #000;
    top: -100px; /* Hide offscreen by default */
    left: 50%;
    transform: translateX(-50%);
    margin: 0 auto;
    padding: 15px 25px;
    z-index: 9999;
    text-decoration: none;
    font-weight: bold;
    transition: top 0.3s;
    border: 2px solid var(--colors-hexweb-grey-80);
    border-radius: 0 0 4px 4px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

.hx-skip-to-content:focus {
    top: 0; /* Move on-screen when focused */
}

/* Main content focus styles */
#content {
    outline: none;
}

#content:focus {
    outline: none;
}

/* Screen reader only class */
.hx-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}

/* Hide outlines by default */
.hx-global-nav :focus {
    outline: none;
}

.hx-global-nav.keyboard-navigation *:focus,
.hx-global-nav.keyboard-navigation *:focus-visible {
    outline: 2px solid #000;
}

/* Hide outlines for mouse-focused elements even during keyboard navigation */
.hx-global-nav.keyboard-navigation *.mouse-focus {
    outline: none !important;
}

/* Specific overrides for programmatically focused elements when not using keyboard */
.hx-global-nav:not(.keyboard-navigation) .hx-logo:focus,
.hx-global-nav:not(.keyboard-navigation) .hx-btn-flyclose:focus,
.hx-global-nav:not(.keyboard-navigation) .hx-cta:focus,
.hx-global-nav:not(.keyboard-navigation) .language-selector-select-link:focus,
.hx-global-nav:not(.keyboard-navigation) .hx-primary-link:focus {
    outline: none !important;
}

/* Ensure focus is visible in high contrast mode */
@media (forced-colors: active) {
    .hx-global-nav.keyboard-navigation *:focus {
        outline: 1px solid CanvasText !important;
    }
}
