/* Shared header redesign. Small-screen layouts keep their existing rules. */
@media (min-width: 1025px) {
    body .elementor-34 {
        padding: 18px 24px 0;
    }

    body .elementor-34 .elementor-element.elementor-element-7153113 {
        display: none;
    }

    body .elementor-34 .elementor-element.elementor-element-3b72541 {
        width: 100%;
        max-width: 1350px;
        min-height: 96px;
        margin: 0 auto -24px;
        padding: 0 24px;
        border: 1px solid #e2eaf4;
        border-radius: 20px;
        background: #fff;
        box-shadow: 0 8px 30px rgba(11, 32, 66, .065);
        --min-height: 96px;
        --padding-top: 0px;
        --padding-bottom: 0px;
        --padding-left: 24px;
        --padding-right: 24px;
        --border-radius: 20px;
        --margin-top: 0px;
        --margin-bottom: -24px;
        --margin-left: auto;
        --margin-right: auto;
    }

    body .elementor-34 .elementor-element.elementor-element-3b72541 > .e-con-inner {
        display: grid;
        grid-template-columns: clamp(138px, 13vw, 180px) minmax(0, 1fr) clamp(170px, 14vw, 196px);
        gap: clamp(12px, 1.5vw, 24px);
        align-items: center;
        padding: 0;
        min-height: 96px;
    }

    body .elementor-34 .elementor-element.elementor-element-3ac46ef,
    body .elementor-34 .elementor-element.elementor-element-3e3511b,
    body .elementor-34 .elementor-element.elementor-element-0548bb4 {
        width: 100%;
        min-width: 0;
        padding: 0;
        --width: 100%;
        --padding-top: 0px;
        --padding-bottom: 0px;
        --padding-left: 0px;
        --padding-right: 0px;
    }

    body .elementor-34 .elementor-element-f25b49c img {
        display: block;
        width: 100%;
        height: auto;
    }

    body .elementor-34 .elementor-element.elementor-element-3344604 {
        width: 100%;
        max-width: 100%;
        --container-widget-width: 100%;
    }

    body .elementor-34 .elementor-element.elementor-element-3344604 > .elementor-widget-container {
        margin: 0;
    }

    body .elementor-34 .elementor-element.elementor-element-3344604 .elementskit-navbar-nav {
        justify-content: center;
        flex-wrap: nowrap;
        gap: clamp(0px, .24vw, 4px);
    }

    body .elementor-34 .elementor-element.elementor-element-3344604 .elementx-nav-menu .elementskit-navbar-nav > li > a {
        position: relative;
        justify-content: center;
        gap: 7px;
        min-height: 44px;
        padding: 10px clamp(5px, .65vw, 10px);
        border-radius: 9px;
        color: #26384f;
        font-family: "BurstNET", sans-serif;
        font-size: clamp(14px, 1.1vw, 16px);
        font-weight: 500;
        line-height: 1.3;
        text-transform: none;
        white-space: nowrap;
        cursor: pointer;
        transition: background-color .18s ease, color .18s ease;
    }

    body .elementor-34 .elementor-element.elementor-element-3344604 .elementx-nav-menu .elementskit-navbar-nav > li:hover > a,
    body .elementor-34 .elementor-element.elementor-element-3344604 .elementx-nav-menu .elementskit-navbar-nav > li > a:focus-visible {
        color: #054bc4;
        background: #f0f5fc;
    }

    body .elementor-34 .elementor-element.elementor-element-3344604 .elementx-nav-menu .elementskit-navbar-nav > li.current-menu-item > a,
    body .elementor-34 .elementor-element.elementor-element-3344604 .elementx-nav-menu .elementskit-navbar-nav > li.current-menu-ancestor > a {
        color: #0761f6;
        background: #eaf2ff;
    }

    body .elementor-34 .elementor-element.elementor-element-3344604 .elementx-nav-menu .menu-item-has-children > a::after {
        width: 5px;
        height: 5px;
        border-style: solid;
        border-width: 0 1.5px 1.5px 0;
        border-radius: 0;
        flex: 0 0 5px;
        opacity: .7;
    }

    body .elementor-34 .elementor-element.elementor-element-3344604 .elementx-nav-menu {
        --elementx-submenu-parent-gap: 10px;
    }

    body .elementor-34 .elementor-element.elementor-element-3344604 .elementx-nav-menu .sub-menu {
        min-width: 250px;
        padding: 8px;
        border: 1px solid #e2eaf4;
        border-radius: 14px;
        box-shadow: 0 16px 44px rgba(11, 32, 66, .14);
    }

    body .elementor-34 .elementor-element.elementor-element-3344604 .elementx-nav-menu .sub-menu > li > a {
        padding: 13px 14px;
        border-radius: 8px;
        color: #26384f;
        font-family: "BurstNET", sans-serif;
        font-size: 16px;
        line-height: 1.4;
        text-transform: none;
    }

    body .elementor-34 .elementor-element.elementor-element-3344604 .elementx-nav-menu .sub-menu > li > a:hover,
    body .elementor-34 .elementor-element.elementor-element-3344604 .elementx-nav-menu .sub-menu > li > a:focus-visible {
        background: #eaf2ff;
        color: #054bc4;
    }

    body .elementor-34 .elementor-element.elementor-element-3344604 .elementskit-navbar-nav > li:focus-within > .sub-menu {
        display: block;
    }

    body .elementor-34 .elementor-element.elementor-element-21de95c {
        width: 100%;
        max-width: 100%;
        font-size: inherit;
        text-align: left;
        white-space: normal;
    }

    body .elementor-34 .tp-header-call {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 12px;
        width: 100%;
        min-height: 58px;
        padding: 11px 14px;
        border: 1px solid #17345a;
        border-radius: 12px;
        background: #0b203e;
        color: #fff;
        text-decoration: none;
        box-shadow: 0 4px 10px rgba(11, 32, 62, .1);
        transition: background-color .18s ease, box-shadow .18s ease;
    }

    body .elementor-34 .tp-header-call:hover {
        background: #054bc4;
        color: #fff;
        box-shadow: 0 5px 15px rgba(7, 97, 246, .2);
    }

    body .elementor-34 .tp-header-call svg {
        flex: 0 0 21px;
        width: 21px;
        height: 21px;
        color: #82c7ff;
    }

    body .elementor-34 .tp-header-call-copy {
        display: flex;
        flex-direction: column;
        gap: 4px;
    }

    body .elementor-34 .tp-header-call-label {
        color: #a8c4e4;
        font-family: "BurstNET", sans-serif;
        font-size: 11px;
        font-weight: 600;
        line-height: 1.2;
        letter-spacing: 1.4px;
    }

    body .elementor-34 .tp-header-call-number {
        color: #fff;
        font-family: "BurstNET", sans-serif;
        font-size: clamp(18px, 1.4vw, 21px);
        font-weight: 500;
        line-height: 1.1;
        white-space: nowrap;
    }

    body .elementor-34 a:focus-visible {
        outline: 2px solid #0761f6;
        outline-offset: 4px;
    }
}

@media (min-width: 1025px) and (max-width: 1150px) {
    body .elementor-34 { padding-right: 16px; padding-left: 16px; }
    body .elementor-34 .elementor-element.elementor-element-3b72541 {
        padding-right: 16px;
        padding-left: 16px;
        --padding-right: 16px;
        --padding-left: 16px;
    }
    body .elementor-34 .elementor-element.elementor-element-3344604 .elementx-nav-menu .elementskit-navbar-nav > li > a {
        padding-right: 5px;
        padding-left: 5px;
    }
}

@media (min-width: 1025px) and (prefers-reduced-motion: reduce) {
    body .elementor-34 a { transition: none; }
}

/* A silver reflection clipped to the logo's actual alpha, never its box. */
@media (min-width: 1025px) {
    @supports ((mask-image: url("")) or (-webkit-mask-image: url(""))) {
        body .elementor-34 .elementor-element-f25b49c a {
            position: relative;
            display: block;
        }

        body .elementor-34 .elementor-element-f25b49c a::after {
            content: "";
            position: absolute;
            inset: 0;
            pointer-events: none;
            background: linear-gradient(112deg, transparent 47%, rgba(188, 227, 255, .3) 49%, #fff 50%, rgba(220, 240, 255, .55) 51%, transparent 53%);
            background-size: 300% 100%;
            background-position: 140% 0;
            -webkit-mask: url("/wp-content/uploads/2026/09/Logo-trusted-1.webp") center / 100% 100% no-repeat;
            mask: url("/wp-content/uploads/2026/09/Logo-trusted-1.webp") center / 100% 100% no-repeat;
            mask-mode: alpha;
            animation: tp-logo-silver-sweep 5.6s ease-in-out infinite;
        }
    }
}

@keyframes tp-logo-silver-sweep {
    0%, 8% { background-position: 140% 0; }
    29%, 100% { background-position: -40% 0; }
}

/* An occasional call cue, with a steady label and no layout movement. */
@media (min-width: 1025px) {
    body .elementor-34 .tp-header-call {
        gap: 9px;
        padding: 10px;
        background: linear-gradient(125deg, #0b203e, #143b6b);
        border-color: #285582;
        animation: tp-call-attention 6.8s ease-in-out infinite;
    }

    body .elementor-34 .tp-header-call svg {
        box-sizing: border-box;
        flex: 0 0 34px;
        width: 34px;
        height: 34px;
        padding: 8px;
        border-radius: 50%;
        background: #0761f6;
        color: #fff;
        box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .2);
        transform-origin: center;
        animation: tp-call-ring 6.8s ease-in-out infinite;
    }

    body .elementor-34 .tp-header-call-number {
        font-size: clamp(17px, 1.25vw, 19px);
    }

    body .elementor-34 .tp-header-call:hover,
    body .elementor-34 .tp-header-call:focus-visible {
        background: linear-gradient(125deg, #054bc4, #0761f6);
        border-color: #428aff;
    }
}

@keyframes tp-call-attention {
    0%, 25%, 100% { box-shadow: 0 4px 12px rgba(11, 32, 62, .14), 0 0 0 0 rgba(7, 97, 246, 0); }
    9% { box-shadow: 0 5px 18px rgba(7, 97, 246, .22), 0 0 0 4px rgba(7, 97, 246, .13); }
    20% { box-shadow: 0 4px 12px rgba(11, 32, 62, .14), 0 0 0 8px rgba(7, 97, 246, 0); }
}

@keyframes tp-call-ring {
    0%, 5%, 22%, 100% { transform: rotate(0deg); }
    8%, 14% { transform: rotate(-12deg); }
    11%, 17% { transform: rotate(12deg); }
    20% { transform: rotate(-5deg); }
}

@media (min-width: 1025px) {
    .elementx-template-content-header.tp-header-sticky {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        z-index: 10000;
        background: transparent;
    }
    /* Override ElementX's important animation:none FOUC readiness guard. */
    html.elementx-styles-ready .elementx-template-content-header.tp-header-sticky {
        animation: tp-sticky-header-enter .38s cubic-bezier(.2, .7, .2, 1) both !important;
    }
    body.admin-bar .elementx-template-content-header.tp-header-sticky { top: 32px; }

}

@keyframes tp-sticky-header-enter {
    from { transform: translateY(-105%); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}

@media (min-width: 1025px) and (prefers-reduced-motion: reduce) {
    html.elementx-styles-ready .elementx-template-content-header.tp-header-sticky { animation: none !important; }
}

@media (min-width: 1025px) and (prefers-reduced-motion: reduce) {
    body .elementor-34 .tp-header-call,
    body .elementor-34 .tp-header-call svg {
        animation: none;
    }
}

@media (min-width: 1025px) and (prefers-reduced-motion: reduce) {
    body .elementor-34 .elementor-element-f25b49c a::after {
        display: none;
        animation: none;
    }
}
