:root {
    --ca-header-blue-1: #0a3a78;
    --ca-header-blue-2: #0d579e;
    --ca-header-blue-3: #1473b8;
    --ca-header-text: #ffffff;
    --ca-header-height: 86px;
}

header.services-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 10000 !important;
    width: 100% !important;
    margin: 0 !important;
    background: linear-gradient(105deg, var(--ca-header-blue-1) 0%, var(--ca-header-blue-2) 58%, var(--ca-header-blue-3) 100%) !important;
    border-bottom: 1px solid rgba(255,255,255,.16) !important;
    box-shadow: 0 10px 30px rgba(4,35,78,.22) !important;
    color: var(--ca-header-text) !important;
}
header.services-header *, header.services-header *::before, header.services-header *::after { box-sizing: border-box; }
header.services-header .container { width: 100%; max-width: 1380px; margin: 0 auto; padding: 0 22px; }
header.services-header .services-nav-wrap { min-height: var(--ca-header-height); display: flex; align-items: center; justify-content: space-between; gap: 18px; }
header.services-header #logo {
    flex: 0 0 auto;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
header.services-header #logo a {
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 0 !important;
    background: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
}
header.services-header #logo img {
    display: block !important;
    width: 196px !important;
    max-width: 196px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: contain !important;
    object-position: left center !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    filter: none !important;
    opacity: 1 !important;
}
header.services-header .header-col-mid { flex: 1 1 auto; display: flex; justify-content: center; min-width: 0; }
header.services-header #mainmenu { display: flex !important; align-items: center; justify-content: center; gap: 2px; margin: 0 !important; padding: 0 !important; list-style: none !important; float: none !important; }
header.services-header #mainmenu > li { position: relative; display: block; margin: 0 !important; padding: 0 !important; float: none !important; }
header.services-header #mainmenu > li > a.menu-item { position: relative; display: inline-flex !important; align-items: center; gap: 7px; min-height: var(--ca-header-height); padding: 0 12px !important; color: #fff !important; font-family: "Outfit", "Segoe UI", Arial, sans-serif !important; font-size: 15px !important; font-weight: 650 !important; line-height: 1 !important; text-decoration: none !important; white-space: nowrap; }
header.services-header #mainmenu > li > a.menu-item:hover, header.services-header #mainmenu > li > a.menu-item:focus-visible, header.services-header #mainmenu > li > a.menu-item.active { color: #fff !important; background: rgba(255,255,255,.08) !important; outline: none; }
header.services-header #mainmenu > li > a.menu-item.active::after { content: ""; position: absolute; left: 12px; right: 12px; bottom: 13px; height: 3px; border-radius: 99px; background: #62caff; box-shadow: 0 0 14px rgba(98,202,255,.7); }
header.services-header .ca-nav-caret { width: 8px; height: 8px; margin-top: -4px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); transition: transform .18s ease; }
header.services-header .ca-nav-parent:hover > .ca-nav-trigger .ca-nav-caret, header.services-header .ca-nav-parent:focus-within > .ca-nav-trigger .ca-nav-caret, header.services-header .ca-nav-parent.ca-submenu-open > .ca-nav-trigger .ca-nav-caret { transform: rotate(225deg); margin-top: 4px; }
header.services-header .menu_side_area { display: flex; align-items: center; gap: 12px; flex: 0 0 auto; }
header.services-header .header-talk-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 18px; border: 1px solid rgba(255,255,255,.24); border-radius: 8px; background: linear-gradient(135deg,#0787ff,#0065e5); color: #fff !important; font-size: 13.5px; font-weight: 800; line-height: 1; text-decoration: none; white-space: nowrap; box-shadow: 0 9px 24px rgba(0,72,176,.28); }
header.services-header .header-talk-btn:hover { transform: translateY(-1px); background: linear-gradient(135deg,#1593ff,#0871ef); }
header.services-header #ca-menu-btn {
    display: none;
    position: relative;
    flex: 0 0 auto;
    width: 46px;
    height: 42px;
    margin: 0;
    padding: 0;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.26);
    border-radius: 8px;
    background: rgba(255,255,255,.08);
    color: #fff;
    font-size: 0;
    line-height: 0;
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
}
header.services-header #ca-menu-btn:hover,
header.services-header #ca-menu-btn:focus-visible {
    background: rgba(255,255,255,.14);
    outline: 2px solid rgba(123,214,255,.8);
    outline-offset: 2px;
}
header.services-header #ca-menu-btn span {
    position: absolute;
    left: 11px;
    right: 11px;
    display: block;
    height: 2px;
    margin: 0;
    border-radius: 2px;
    background: #fff;
    transform-origin: center;
    transition: top .2s ease, transform .2s ease, opacity .2s ease;
}
header.services-header #ca-menu-btn span:nth-child(1) { top: 12px; }
header.services-header #ca-menu-btn span:nth-child(2) { top: 19px; }
header.services-header #ca-menu-btn span:nth-child(3) { top: 26px; }

header.services-header .ca-mega-menu { position: absolute; top: calc(100% - 2px); left: 50%; display: grid; grid-template-columns: minmax(0,1fr) 280px; gap: 14px; width: min(980px, calc(100vw - 38px)); min-width: 760px; padding: 14px; border: 1px solid #dbe7f4; border-radius: 15px; background: #fff; box-shadow: 0 26px 70px rgba(4,30,72,.3); opacity: 0; visibility: hidden; pointer-events: none; transform: translateX(-50%) translateY(12px); transition: opacity .18s ease, transform .18s ease, visibility .18s ease; }
header.services-header .ca-products-mega { width:min(1180px,calc(100vw - 38px)); grid-template-columns:minmax(0,1fr) 265px; }
header.services-header .ca-nav-parent:hover > .ca-mega-menu, header.services-header .ca-nav-parent:focus-within > .ca-mega-menu, header.services-header .ca-nav-parent.ca-desktop-open > .ca-mega-menu { opacity: 1; visibility: visible; pointer-events: auto; transform: translateX(-50%) translateY(0); }
header.services-header .ca-mega-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
header.services-header .ca-mega-card { display: grid; grid-template-columns: 54px 1fr; align-items: center; gap: 12px; min-height: 94px; padding: 13px; border: 1px solid #dfe9f5; border-radius: 11px; background: #fff; color: #102342 !important; text-decoration: none !important; transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
header.services-header .ca-mega-card:hover { transform: translateY(-2px); border-color: #8fc5ff; box-shadow: 0 12px 25px rgba(7,78,157,.11); background: #f8fbff; }
header.services-header .ca-mega-card img { width: 54px; height: 54px; padding: 7px; object-fit: contain; border-radius: 10px; background: #eef6ff; }
header.services-header .ca-mega-card strong, header.services-header .ca-product-card strong { display: block; margin-bottom: 5px; color: #102342; font-size: 15px; font-weight: 850; line-height: 1.2; }
header.services-header .ca-mega-card small, header.services-header .ca-product-card small { display: block; color: #5b687c; font-size: 12px; line-height: 1.45; }
header.services-header .ca-mega-feature { position: relative; display: flex; flex-direction: column; justify-content: center; min-height: 236px; padding: 25px; overflow: hidden; border-radius: 12px; background: radial-gradient(circle at 90% 10%,rgba(83,190,255,.3),transparent 36%), linear-gradient(145deg,#082a62,#0b5cb2); color: #fff; }
header.services-header .ca-mega-badge { align-self: flex-start; margin-bottom: 12px; padding: 6px 9px; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; background: rgba(255,255,255,.1); color: #dff4ff; font-size: 10px; font-weight: 850; letter-spacing: .08em; }
header.services-header .ca-mega-feature h3 { margin: 0 0 10px; color: #fff; font-size: 22px; font-weight: 850; line-height: 1.22; }
header.services-header .ca-mega-feature p { margin: 0 0 18px; color: rgba(255,255,255,.84); font-size: 13px; line-height: 1.58; }
header.services-header .ca-mega-button { align-self: flex-start; display: inline-flex; align-items: center; min-height: 41px; padding: 0 14px; border-radius: 7px; background: #fff; color: #0a3d80 !important; font-size: 13px; font-weight: 850; text-decoration: none !important; }
header.services-header .ca-product-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
header.services-header .ca-product-card { display:grid; grid-template-columns:58px 1fr; align-items:center; gap:11px; min-height:92px; padding:12px; border: 1px solid #dfe9f5; border-radius: 11px; background: #fff; color: #102342 !important; text-decoration: none !important; transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
header.services-header .ca-product-card:hover { transform: translateY(-2px); border-color: #8fc5ff; box-shadow: 0 12px 25px rgba(7,78,157,.11); background: #f8fbff; }
header.services-header .ca-product-logo { display:flex; align-items:center; justify-content:center; width:58px; height:58px; padding:7px; overflow: hidden; border: 1px solid #dceafa; border-radius: 11px; background: #f7fbff; }
header.services-header .ca-product-logo img { display:block; max-width:100%; max-height:42px; width: auto; height: auto; object-fit: contain; }
header.services-header .ca-resources-menu { position: absolute; top: calc(100% - 2px); left: 50%; width: 245px; padding: 8px; border: 1px solid #dbe7f4; border-radius: 11px; background: #fff; box-shadow: 0 20px 45px rgba(4,30,72,.25); opacity: 0; visibility: hidden; pointer-events: none; transform: translateX(-50%) translateY(10px); transition: .18s ease; }
header.services-header .ca-resources-parent:hover > .ca-resources-menu, header.services-header .ca-resources-parent:focus-within > .ca-resources-menu, header.services-header .ca-resources-parent.ca-desktop-open > .ca-resources-menu { opacity: 1; visibility: visible; pointer-events: auto; transform: translateX(-50%) translateY(0); }
header.services-header .ca-resources-menu a { display: block; padding: 12px 13px; border-radius: 7px; color: #102342 !important; font-size: 13.5px; font-weight: 700; text-decoration: none !important; }
header.services-header .ca-resources-menu a:hover, header.services-header .ca-resources-menu a:focus { background: #0b4c98; color: #fff !important; }
header.services-header .ca-solutions-mega { width: min(920px, calc(100vw - 38px)); }
header.services-header .ca-solutions-mega .ca-coming-soon-card { position: relative; }
header.services-header .ca-coming-soon {
    display: inline-flex;
    align-items: center;
    min-height: 20px;
    margin-top: 7px;
    padding: 0 8px;
    border: 1px solid #ffd4b5;
    border-radius: 999px;
    background: #fff3e9;
    color: #c94e00;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .06em;
    line-height: 1;
    text-transform: uppercase;
}
header.services-header .ca-mobile-submenu a small {
    float: right;
    color: #ffd0aa;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}
header.services-header .ca-mobile-submenu { display: none; }

@media (max-width: 1240px) {
    header.services-header #mainmenu > li > a.menu-item { padding: 0 8px !important; font-size: 13.5px !important; }
    header.services-header .header-talk-btn { padding: 0 13px; font-size: 12.5px; }
    header.services-header #logo img { width: 165px !important; max-width: 165px !important; }
}
@media (max-width: 1060px) {
    header.services-header .header-talk-btn { display: none; }
}
@media (max-width: 992px) {
    :root { --ca-header-height: 74px; }

    body.ca-nav-lock { overflow: hidden !important; }

    /* Neutralise the legacy theme's mobile-header rules. */
    header.services-header.header-mobile {
        position: sticky !important;
        top: 0 !important;
        height: auto !important;
        min-height: var(--ca-header-height) !important;
        overflow: visible !important;
    }

    header.services-header .container { padding: 0 14px; }
    header.services-header .services-nav-wrap {
        min-height: var(--ca-header-height);
        height: auto !important;
    }
    header.services-header #logo a { padding: 0; }
    header.services-header #logo img {
        width: 155px !important;
        max-width: 155px !important;
    }

    header.services-header .header-col-mid {
        position: static !important;
        height: auto !important;
        min-height: 0 !important;
    }

    header.services-header #ca-menu-btn { display: block; }
    header.services-header.ca-nav-open #ca-menu-btn span:nth-child(1) {
        top: 19px;
        transform: rotate(45deg);
    }
    header.services-header.ca-nav-open #ca-menu-btn span:nth-child(2) { opacity: 0; }
    header.services-header.ca-nav-open #ca-menu-btn span:nth-child(3) {
        top: 19px;
        transform: rotate(-45deg);
    }

    header.services-header #mainmenu {
        position: absolute !important;
        z-index: 10020 !important;
        top: 100% !important;
        left: 0 !important;
        right: 0 !important;
        display: none !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: calc(100vh - var(--ca-header-height)) !important;
        max-height: calc(100dvh - var(--ca-header-height)) !important;
        margin: 0 !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
        padding: 8px 0 18px !important;
        background: linear-gradient(180deg,#0a3b79,#0a4d94) !important;
        border-top: 1px solid rgba(255,255,255,.14);
        box-shadow: 0 18px 40px rgba(4,30,72,.28);
        visibility: visible !important;
        opacity: 1 !important;
        transform: none !important;
    }
    header.services-header.ca-nav-open #mainmenu { display: block !important; }

    header.services-header #mainmenu > li {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
    }
    header.services-header #mainmenu > li:last-child { margin-bottom: 0 !important; }
    header.services-header #mainmenu > li > a.menu-item {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        min-height: 48px;
        padding: 0 20px !important;
        border-bottom: 1px solid rgba(255,255,255,.1);
        color: #fff !important;
        font-size: 15px !important;
        text-align: left !important;
    }
    header.services-header #mainmenu > li > a.menu-item:hover,
    header.services-header #mainmenu > li > a.menu-item:focus {
        background: rgba(255,255,255,.08) !important;
        color: #fff !important;
    }
    header.services-header #mainmenu > li > a.menu-item.active::after { display: none; }

    header.services-header .ca-mega-menu,
    header.services-header .ca-resources-menu { display: none !important; }

    /* Strong selectors are intentional: style.css gives mobile ULs height:0. */
    header.services-header #mainmenu > li > ul.ca-mobile-submenu {
        display: none !important;
        position: static !important;
        left: auto !important;
        top: auto !important;
        width: 100% !important;
        height: 0 !important;
        margin: 0 !important;
        overflow: hidden !important;
        padding: 0 0 0 18px !important;
        list-style: none !important;
        background: rgba(0,0,0,.08) !important;
        border: 0 !important;
        border-left: 3px solid #6bd0ff !important;
        box-shadow: none !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
    }
    header.services-header #mainmenu > li.ca-submenu-open > ul.ca-mobile-submenu {
        display: block !important;
        height: auto !important;
        overflow: visible !important;
        padding-top: 4px !important;
        padding-bottom: 8px !important;
    }
    header.services-header #mainmenu > li > ul.ca-mobile-submenu > li {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
    }
    header.services-header #mainmenu > li > ul.ca-mobile-submenu a {
        display: block !important;
        width: 100% !important;
        padding: 11px 15px !important;
        border: 0 !important;
        border-bottom: 1px solid rgba(255,255,255,.08) !important;
        background: transparent !important;
        color: rgba(255,255,255,.94) !important;
        font-size: 14px !important;
        text-decoration: none !important;
    }
    header.services-header #mainmenu > li > ul.ca-mobile-submenu a:hover,
    header.services-header #mainmenu > li > ul.ca-mobile-submenu a:focus {
        color: #fff !important;
        background: rgba(255,255,255,.08) !important;
    }

    header.services-header .ca-nav-parent > .ca-nav-trigger .ca-nav-caret {
        margin-top: -4px;
        transform: rotate(45deg);
    }
    header.services-header .ca-nav-parent.ca-submenu-open > .ca-nav-trigger .ca-nav-caret {
        margin-top: 4px;
        transform: rotate(225deg);
    }
}
@media (max-width: 420px) {
    header.services-header #logo img { width: 138px !important; max-width: 138px !important; }
    header.services-header #ca-menu-btn { width: 43px; height: 40px; }
}

@media (min-width:993px) and (max-width:1180px) {
  header.services-header .ca-products-mega { width:min(920px,calc(100vw - 28px)); }
  header.services-header .ca-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* =========================================================
   Resource mega menu and compact product logos — 2026-07-26
========================================================= */
@media (min-width: 993px) {
    header.services-header .ca-resources-mega {
        position: fixed;
        top: var(--ca-header-height);
        left: 50%;
        z-index: 10030;
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 12px;
        width: min(1120px, calc(100vw - 32px));
        min-width: 0;
        padding: 12px;
        transform: translateX(-50%) translateY(12px);
    }
    header.services-header .ca-resources-parent:hover > .ca-resources-mega,
    header.services-header .ca-resources-parent:focus-within > .ca-resources-mega,
    header.services-header .ca-resources-parent.ca-desktop-open > .ca-resources-mega,
    header.services-header .ca-resources-mega:hover {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateX(-50%) translateY(0);
    }
}
header.services-header .ca-resource-column {
    min-width: 0;
    overflow: hidden;
    border: 1px solid #dbe7f4;
    border-radius: 12px;
    background: #ffffff;
}
header.services-header .ca-resource-column-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 66px;
    padding: 11px 12px;
    border-bottom: 1px solid #e4edf6;
    background: linear-gradient(180deg, #f8fbff, #eef6ff);
}
header.services-header .ca-resource-column-head span { min-width: 0; }
header.services-header .ca-resource-column-head strong {
    display: block;
    color: #102342;
    font-size: 15px;
    font-weight: 850;
    line-height: 1.2;
}
header.services-header .ca-resource-column-head small {
    display: block;
    margin-top: 4px;
    color: #657188;
    font-size: 10.5px;
    line-height: 1.35;
}
header.services-header .ca-resource-column-head > a {
    flex: 0 0 auto;
    padding: 6px 8px;
    border-radius: 7px;
    background: #0b5aa8;
    color: #ffffff !important;
    font-size: 10.5px;
    font-weight: 800;
    text-decoration: none !important;
}
header.services-header .ca-resource-list { display: grid; }
header.services-header .ca-resource-card {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    align-items: center;
    gap: 11px;
    min-height: 86px;
    padding: 9px 11px;
    border-bottom: 1px solid #e8eef5;
    background: #ffffff;
    color: #102342 !important;
    text-decoration: none !important;
    transition: background .18s ease, transform .18s ease;
}
header.services-header .ca-resource-card:last-child { border-bottom: 0; }
header.services-header .ca-resource-card:hover,
header.services-header .ca-resource-card:focus {
    background: #f4f9ff;
    transform: translateX(2px);
}
header.services-header .ca-resource-card > span:last-child { min-width: 0; }
header.services-header .ca-resource-card strong {
    display: -webkit-box;
    overflow: hidden;
    margin: 0 0 5px;
    color: #102342;
    font-size: 13.25px;
    font-weight: 800;
    line-height: 1.3;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
header.services-header .ca-resource-card small {
    display: block;
    overflow: hidden;
    color: #68758a;
    font-size: 10.5px;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
}
header.services-header .ca-resource-thumb {
    display: grid;
    place-items: center;
    width: 72px;
    height: 58px;
    overflow: hidden;
    border: 1px solid #d9e6f4;
    border-radius: 9px;
    background: #eef6ff;
}
header.services-header .ca-resource-thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
header.services-header .ca-resource-thumb-fallback {
    background: linear-gradient(135deg, #e8f3ff, #d7eaff);
    color: #0a58a4;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .03em;
}

/* Product cards: slightly smaller OEM marks. */
header.services-header .ca-product-card {
    grid-template-columns: 52px 1fr;
    min-height: 88px;
}
header.services-header .ca-product-logo {
    width: 52px;
    height: 52px;
    padding: 8px;
}
header.services-header .ca-product-logo img { max-height: 36px; }

@media (min-width: 993px) and (max-width: 1120px) {
    header.services-header .ca-resource-card { grid-template-columns: 58px minmax(0,1fr); gap: 8px; padding: 8px; }
    header.services-header .ca-resource-thumb { width: 58px; height: 52px; }
    header.services-header .ca-resource-column-head strong { font-size: 13.5px; }
    header.services-header .ca-resource-column-head small { display: none; }
}

/* =========================================================
   Compact desktop menus and informational previews — 2026-07-26
========================================================= */
@media (min-width: 993px) {
    /* Services: compact horizontal cards with no unused card area. */
    header.services-header .ca-services-mega,
    header.services-header .ca-solutions-mega {
        width: min(920px, calc(100vw - 34px));
        min-width: 760px;
        grid-template-columns: minmax(0, 1fr) 244px;
        gap: 11px;
        padding: 11px;
    }
    header.services-header .ca-services-mega .ca-mega-grid,
    header.services-header .ca-solutions-mega .ca-mega-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }
    header.services-header .ca-services-mega .ca-mega-card,
    header.services-header .ca-solutions-mega .ca-mega-card {
        grid-template-columns: 42px minmax(0, 1fr);
        gap: 10px;
        min-height: 66px;
        padding: 8px 10px;
        border-radius: 10px;
    }
    header.services-header .ca-services-mega .ca-mega-card-wide,
    header.services-header .ca-solutions-mega .ca-mega-card-wide {
        grid-column: 1 / -1;
    }
    header.services-header .ca-services-mega .ca-mega-card img,
    header.services-header .ca-solutions-mega .ca-mega-card img {
        width: 42px;
        height: 42px;
        padding: 6px;
        border-radius: 9px;
    }
    header.services-header .ca-services-mega .ca-mega-card strong,
    header.services-header .ca-solutions-mega .ca-mega-card strong {
        margin-bottom: 3px;
        font-size: 13.75px;
    }
    header.services-header .ca-services-mega .ca-mega-card small,
    header.services-header .ca-solutions-mega .ca-mega-card small {
        display: -webkit-box;
        overflow: hidden;
        font-size: 11px;
        line-height: 1.35;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }
    header.services-header .ca-services-mega .ca-mega-feature,
    header.services-header .ca-solutions-mega .ca-mega-feature {
        min-height: 0;
        padding: 20px;
    }
    header.services-header .ca-services-mega .ca-mega-feature h3,
    header.services-header .ca-solutions-mega .ca-mega-feature h3 {
        font-size: 20px;
    }
    header.services-header .ca-services-mega .ca-mega-feature p,
    header.services-header .ca-solutions-mega .ca-mega-feature p {
        margin-bottom: 15px;
        font-size: 12.25px;
        line-height: 1.5;
    }

    /* Resources: one representative illustration per area, text-only entries. */
    header.services-header .ca-resources-mega {
        position: fixed;
        top: var(--ca-header-height);
        left: 50%;
        z-index: 10030;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 10px;
        width: min(1050px, calc(100vw - 30px));
        min-width: 0;
        padding: 10px;
        transform: translateX(-50%) translateY(10px);
    }
    header.services-header .ca-resources-parent:hover > .ca-resources-mega,
    header.services-header .ca-resources-parent:focus-within > .ca-resources-mega,
    header.services-header .ca-resources-parent.ca-desktop-open > .ca-resources-mega {
        transform: translateX(-50%) translateY(0);
    }

    /*
       Hover bridge for viewport-positioned panels. It covers the few pixels
       between the navigation label and the dropdown so the pointer can enter
       the panel without causing an immediate close.
    */
    header.services-header .ca-resources-parent::after,
    header.services-header .ca-info-parent::after {
        content: "";
        position: absolute;
        top: calc(100% - 2px);
        left: 0;
        right: 0;
        z-index: 10027;
        height: 10px;
        background: transparent;
        pointer-events: auto;
    }

    /* About Us and Careers are informational hover windows, not submenus. */
    header.services-header .ca-info-parent { position: relative; }
    header.services-header .ca-hover-preview {
        position: fixed;
        top: var(--ca-header-height);
        left: 50%;
        z-index: 10028;
        display: grid;
        grid-template-columns: minmax(0, .9fr) minmax(0, 1.35fr);
        gap: 12px;
        width: min(760px, calc(100vw - 34px));
        padding: 12px;
        border: 1px solid #dbe7f4;
        border-radius: 14px;
        background: #ffffff;
        box-shadow: 0 24px 65px rgba(4, 30, 72, .28);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translateX(-50%) translateY(10px);
        transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
    }
    header.services-header .ca-info-parent:hover > .ca-hover-preview,
    header.services-header .ca-info-parent:focus-within > .ca-hover-preview,
    header.services-header .ca-info-parent.ca-preview-open > .ca-hover-preview,
    header.services-header .ca-hover-preview:hover {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateX(-50%) translateY(0);
    }
    header.services-header .ca-preview-intro {
        display: flex;
        flex-direction: column;
        justify-content: center;
        min-height: 216px;
        padding: 22px;
        overflow: hidden;
        border-radius: 11px;
        background:
            radial-gradient(circle at 90% 8%, rgba(75, 188, 255, .34), transparent 36%),
            linear-gradient(145deg, #07295f, #0b5bac);
        color: #ffffff;
    }
    header.services-header .ca-careers-preview .ca-preview-intro {
        background:
            radial-gradient(circle at 90% 8%, rgba(80, 220, 191, .28), transparent 38%),
            linear-gradient(145deg, #082d61, #116e9c);
    }
    header.services-header .ca-preview-eyebrow {
        display: inline-flex;
        align-self: flex-start;
        margin-bottom: 11px;
        padding: 5px 8px;
        border: 1px solid rgba(255, 255, 255, .2);
        border-radius: 999px;
        background: rgba(255, 255, 255, .1);
        color: #dbf3ff;
        font-size: 9.5px;
        font-weight: 850;
        letter-spacing: .09em;
    }
    header.services-header .ca-preview-intro h3 {
        margin: 0 0 9px;
        color: #ffffff;
        font-size: 20px;
        font-weight: 850;
        line-height: 1.25;
    }
    header.services-header .ca-preview-intro p {
        margin: 0 0 16px;
        color: rgba(255, 255, 255, .84);
        font-size: 12px;
        line-height: 1.55;
    }
    header.services-header .ca-preview-cta {
        align-self: flex-start;
        display: inline-flex;
        align-items: center;
        min-height: 38px;
        padding: 0 13px;
        border-radius: 7px;
        background: #ffffff;
        color: #0a4388 !important;
        font-size: 12px;
        font-weight: 850;
        text-decoration: none !important;
    }
    header.services-header .ca-preview-sections {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 9px;
        align-content: stretch;
    }
    header.services-header .ca-preview-sections > div,
    header.services-header .ca-preview-sections > a {
        position: relative;
        display: flex;
        flex-direction: column;
        justify-content: center;
        min-height: 103px;
        padding: 15px 15px 15px 18px;
        border: 1px solid #dfe9f4;
        border-radius: 10px;
        background: linear-gradient(180deg, #ffffff, #f7fbff);
        color: #102342 !important;
        text-decoration: none !important;
        transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
    }
    header.services-header .ca-preview-sections > div::before,
    header.services-header .ca-preview-sections > a::before {
        content: "";
        position: absolute;
        top: 15px;
        bottom: 15px;
        left: 0;
        width: 3px;
        border-radius: 99px;
        background: linear-gradient(180deg, #1499ff, #0757b6);
    }
    header.services-header .ca-career-sections > div::before,
    header.services-header .ca-career-sections > a::before {
        background: linear-gradient(180deg, #1ac9a5, #0b72b8);
    }
    header.services-header .ca-preview-sections > a:hover,
    header.services-header .ca-preview-sections > a:focus-visible {
        border-color: #7fc7ea;
        box-shadow: 0 10px 24px rgba(7, 78, 157, .12);
        transform: translateY(-1px);
        outline: none;
    }
    header.services-header .ca-preview-sections strong {
        display: block;
        margin-bottom: 5px;
        color: #102342;
        font-size: 13.5px;
        font-weight: 850;
        line-height: 1.2;
    }
    header.services-header .ca-preview-sections small {
        display: block;
        color: #657188;
        font-size: 10.75px;
        line-height: 1.45;
    }
}

header.services-header .ca-resource-column {
    min-width: 0;
    overflow: hidden;
    border: 1px solid #dbe7f4;
    border-radius: 11px;
    background: #ffffff;
}
header.services-header .ca-resource-column-head {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    min-height: 86px;
    padding: 11px;
    border-bottom: 1px solid #e1ebf5;
    background: linear-gradient(180deg, #f9fcff, #eef6ff);
}
header.services-header .ca-resource-category-icon {
    display: block;
    width: 54px;
    height: 54px;
    padding: 4px;
    object-fit: contain;
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 7px 18px rgba(7, 78, 157, .1);
}
header.services-header .ca-resource-column-head span { min-width: 0; }
header.services-header .ca-resource-column-head strong {
    display: block;
    color: #102342;
    font-size: 14px;
    font-weight: 850;
    line-height: 1.2;
}
header.services-header .ca-resource-column-head small {
    display: block;
    margin-top: 4px;
    color: #657188;
    font-size: 10px;
    line-height: 1.35;
}
header.services-header .ca-resource-column-head > a {
    align-self: center;
    padding: 6px 8px;
    border-radius: 7px;
    background: #0b5aa8;
    color: #ffffff !important;
    font-size: 10px;
    font-weight: 850;
    text-decoration: none !important;
    white-space: nowrap;
}
header.services-header .ca-resource-list { display: grid; }
header.services-header .ca-resource-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 66px;
    padding: 10px 13px;
    border-bottom: 1px solid #e7eef6;
    background: #ffffff;
    color: #102342 !important;
    text-decoration: none !important;
    transition: background .18s ease, padding-left .18s ease;
}
header.services-header .ca-resource-card:last-child { border-bottom: 0; }
header.services-header .ca-resource-card:hover,
header.services-header .ca-resource-card:focus {
    padding-left: 17px;
    background: #f3f8ff;
}
header.services-header .ca-resource-card strong {
    display: -webkit-box;
    overflow: hidden;
    margin: 0;
    color: #102342;
    font-size: 12.5px;
    font-weight: 800;
    line-height: 1.32;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}
header.services-header .ca-resource-card small {
    display: block;
    overflow: hidden;
    margin-top: 4px;
    color: #738096;
    font-size: 9.75px;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}
header.services-header .ca-resource-thumb { display: none !important; }

@media (min-width: 993px) and (max-width: 1120px) {
    header.services-header .ca-resources-mega { width: min(970px, calc(100vw - 24px)); }
    header.services-header .ca-resource-column-head {
        grid-template-columns: 46px minmax(0, 1fr) auto;
        gap: 8px;
        min-height: 78px;
        padding: 9px;
    }
    header.services-header .ca-resource-category-icon { width: 46px; height: 46px; }
    header.services-header .ca-resource-column-head strong { font-size: 12.75px; }
    header.services-header .ca-resource-column-head small { display: none; }
}

@media (max-width: 992px) {
    header.services-header .ca-hover-preview { display: none !important; }
}

/* High-specificity resets for the legacy #mainmenu descendant styles. */
@media (min-width: 993px) {
    header.services-header #mainmenu .ca-services-mega .ca-mega-grid,
    header.services-header #mainmenu .ca-solutions-mega .ca-mega-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
        height: auto !important;
        min-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    header.services-header #mainmenu .ca-services-mega a.ca-mega-card,
    header.services-header #mainmenu .ca-solutions-mega a.ca-mega-card {
        position: relative !important;
        display: grid !important;
        grid-template-columns: 42px minmax(0, 1fr) !important;
        align-items: center !important;
        gap: 10px !important;
        width: auto !important;
        height: auto !important;
        min-height: 66px !important;
        margin: 0 !important;
        padding: 8px 10px !important;
        line-height: normal !important;
        text-align: left !important;
    }
    header.services-header #mainmenu .ca-services-mega a.ca-mega-card-wide,
    header.services-header #mainmenu .ca-solutions-mega a.ca-mega-card-wide {
        grid-column: 1 / -1 !important;
    }
    header.services-header #mainmenu .ca-services-mega a.ca-mega-card > img,
    header.services-header #mainmenu .ca-solutions-mega a.ca-mega-card > img {
        display: block !important;
        width: 42px !important;
        height: 42px !important;
        margin: 0 !important;
        padding: 6px !important;
    }
    header.services-header #mainmenu .ca-services-mega a.ca-mega-card > span,
    header.services-header #mainmenu .ca-solutions-mega a.ca-mega-card > span {
        display: block !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    header.services-header #mainmenu .ca-services-mega .ca-mega-button,
    header.services-header #mainmenu .ca-solutions-mega .ca-mega-button,
    header.services-header #mainmenu .ca-preview-cta {
        position: static !important;
        display: inline-flex !important;
        width: auto !important;
        height: auto !important;
        min-height: 38px !important;
        margin: 0 !important;
        padding: 0 13px !important;
        line-height: 1 !important;
    }

    header.services-header #mainmenu .ca-resources-mega section.ca-resource-column {
        display: block !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    header.services-header #mainmenu .ca-resource-column-head > a {
        position: static !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: auto !important;
        height: auto !important;
        min-height: 29px !important;
        margin: 0 !important;
        padding: 6px 8px !important;
        line-height: 1 !important;
    }
    header.services-header #mainmenu .ca-resource-list {
        display: grid !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    header.services-header #mainmenu .ca-resource-list a.ca-resource-card {
        position: relative !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        width: auto !important;
        height: auto !important;
        min-height: 66px !important;
        margin: 0 !important;
        padding: 10px 13px !important;
        line-height: normal !important;
        text-align: left !important;
    }
    header.services-header #mainmenu .ca-resource-list a.ca-resource-card:hover,
    header.services-header #mainmenu .ca-resource-list a.ca-resource-card:focus {
        padding-left: 17px !important;
    }
}
/* =========================================================
   ADMIN-CONTROLLED HEADER APPEARANCE — 2026-07-27
========================================================= */
:root {
    --ca-header-muted-text: rgba(255,255,255,.88);
    --ca-header-hover-bg: rgba(255,255,255,.10);
    --ca-header-border: rgba(255,255,255,.22);
    --ca-header-control-bg: rgba(255,255,255,.09);
    --ca-header-focus: rgba(255,255,255,.72);
    --ca-header-active-accent: #7dd3fc;
    --ca-mobile-menu-1: var(--ca-header-blue-1);
    --ca-mobile-menu-2: var(--ca-header-blue-2);
    --ca-mobile-submenu-accent: var(--ca-header-active-accent);
    --ca-header-cta-1: #0787ff;
    --ca-header-cta-2: #0065e5;
    --ca-header-cta-text: #fff;
    --ca-logo-panel-bg: transparent;
    --ca-logo-panel-border: transparent;
    --ca-logo-panel-padding: 0px;
}
header.services-header { border-bottom-color:var(--ca-header-border)!important; }
header.services-header #logo a { padding:var(--ca-logo-panel-padding)!important;background:var(--ca-logo-panel-bg)!important;border:1px solid var(--ca-logo-panel-border)!important;border-radius:10px!important; }
header.services-header #mainmenu>li>a.menu-item { color:var(--ca-header-text)!important; }
header.services-header #mainmenu>li>a.menu-item:hover,
header.services-header #mainmenu>li>a.menu-item:focus-visible,
header.services-header #mainmenu>li>a.menu-item.active { color:var(--ca-header-text)!important;background:var(--ca-header-hover-bg)!important; }
header.services-header #mainmenu>li>a.menu-item.active::after { background:var(--ca-header-active-accent)!important;box-shadow:0 0 14px var(--ca-header-active-accent)!important; }
header.services-header .header-talk-btn { border-color:var(--ca-header-border);background:linear-gradient(135deg,var(--ca-header-cta-1),var(--ca-header-cta-2));color:var(--ca-header-cta-text)!important; }
header.services-header .header-talk-btn:hover { background:linear-gradient(135deg,var(--ca-header-cta-2),var(--ca-header-cta-1)); }
header.services-header #ca-menu-btn { border-color:var(--ca-header-control-border,var(--ca-header-border));background:var(--ca-header-control-bg);color:var(--ca-header-text); }
header.services-header #ca-menu-btn:hover,header.services-header #ca-menu-btn:focus-visible{background:var(--ca-header-hover-bg);outline-color:var(--ca-header-focus)}
header.services-header #ca-menu-btn span { background:var(--ca-header-text); }

/* Header shape and depth options. */
header.services-header.ca-header-style-solid-clean { background:var(--ca-header-blue-2)!important;box-shadow:0 7px 20px rgba(4,35,78,.16)!important; }
header.services-header.ca-header-style-glass-glow { background:linear-gradient(105deg,color-mix(in srgb,var(--ca-header-blue-1) 88%,transparent),color-mix(in srgb,var(--ca-header-blue-2) 90%,transparent) 58%,color-mix(in srgb,var(--ca-header-blue-3) 88%,transparent))!important;backdrop-filter:blur(16px) saturate(130%);-webkit-backdrop-filter:blur(16px) saturate(130%);box-shadow:0 10px 34px rgba(4,35,78,.18),inset 0 1px 0 rgba(255,255,255,.18)!important; }
header.services-header.ca-header-style-compact { --ca-header-height:70px;box-shadow:0 7px 20px rgba(4,35,78,.17)!important; }
header.services-header.ca-header-style-compact #logo img{width:174px!important;max-width:174px!important}header.services-header.ca-header-style-compact .header-talk-btn{min-height:39px;padding:0 14px}header.services-header.ca-header-style-compact #mainmenu>li>a.menu-item{font-size:14px!important}
header.services-header.ca-header-style-floating-panel { background:transparent!important;border:0!important;box-shadow:none!important;padding:10px 0; }
header.services-header.ca-header-style-floating-panel .services-nav-wrap { min-height:76px;padding:0 18px;border:1px solid var(--ca-header-border);border-radius:18px;background:linear-gradient(105deg,var(--ca-header-blue-1),var(--ca-header-blue-2) 58%,var(--ca-header-blue-3));box-shadow:0 14px 36px rgba(4,35,78,.24); }
header.services-header.ca-header-style-floating-panel .ca-mega-menu,header.services-header.ca-header-style-floating-panel .ca-hover-preview{top:96px}
header.services-header.ca-header-style-bottom-accent { background:var(--ca-header-blue-2)!important;border-bottom:4px solid var(--ca-header-active-accent)!important;box-shadow:0 7px 18px rgba(4,35,78,.14)!important; }

/* Desktop menu design options. */
@media(min-width:993px){
header.services-header.ca-menu-style-pill #mainmenu{gap:5px}header.services-header.ca-menu-style-pill #mainmenu>li>a.menu-item{min-height:44px;margin:0 1px;padding:0 14px!important;border-radius:999px}header.services-header.ca-menu-style-pill #mainmenu>li>a.menu-item.active::after{display:none}header.services-header.ca-menu-style-pill #mainmenu>li>a.menu-item.active{background:var(--ca-header-hover-bg)!important;box-shadow:inset 0 0 0 1px var(--ca-header-border)}
header.services-header.ca-menu-style-boxed #mainmenu{gap:5px}header.services-header.ca-menu-style-boxed #mainmenu>li>a.menu-item{min-height:43px;padding:0 12px!important;border:1px solid var(--ca-header-border);border-radius:7px}header.services-header.ca-menu-style-boxed #mainmenu>li>a.menu-item.active::after{display:none}header.services-header.ca-menu-style-boxed #mainmenu>li>a.menu-item.active{box-shadow:inset 0 -3px 0 var(--ca-header-active-accent)}
header.services-header.ca-menu-style-minimal #mainmenu>li>a.menu-item{background:transparent!important}header.services-header.ca-menu-style-minimal #mainmenu>li>a.menu-item.active::after{left:50%;right:auto;bottom:17px;width:5px;height:5px;transform:translateX(-50%);border-radius:50%}header.services-header.ca-menu-style-minimal #mainmenu>li>a.menu-item:hover{opacity:.78}
header.services-header.ca-menu-style-glass #mainmenu{gap:5px}header.services-header.ca-menu-style-glass #mainmenu>li>a.menu-item{min-height:44px;padding:0 13px!important;border:1px solid transparent;border-radius:9px}header.services-header.ca-menu-style-glass #mainmenu>li>a.menu-item:hover,header.services-header.ca-menu-style-glass #mainmenu>li>a.menu-item.active{border-color:var(--ca-header-border);background:var(--ca-header-control-bg)!important;backdrop-filter:blur(8px)}header.services-header.ca-menu-style-glass #mainmenu>li>a.menu-item.active::after{display:none}header.services-header.ca-menu-style-glass .ca-mega-menu{border-radius:20px;background:rgba(255,255,255,.96);backdrop-filter:blur(16px)}header.services-header.ca-menu-style-glass .ca-mega-card,header.services-header.ca-menu-style-glass .ca-product-card,header.services-header.ca-menu-style-glass .ca-resource-column{border-radius:15px}
header.services-header.ca-menu-style-segmented #mainmenu{gap:0;padding:5px!important;border:1px solid var(--ca-header-border);border-radius:12px;background:var(--ca-header-control-bg)}header.services-header.ca-menu-style-segmented #mainmenu>li>a.menu-item{min-height:39px;padding:0 11px!important;border-radius:8px}header.services-header.ca-menu-style-segmented #mainmenu>li>a.menu-item.active::after{display:none}header.services-header.ca-menu-style-segmented #mainmenu>li>a.menu-item.active{background:var(--ca-header-hover-bg)!important}
header.services-header.ca-menu-style-boxed .ca-mega-menu,header.services-header.ca-menu-style-boxed .ca-mega-card,header.services-header.ca-menu-style-boxed .ca-product-card{border-radius:5px}
header.services-header.ca-menu-style-minimal .ca-mega-card,header.services-header.ca-menu-style-minimal .ca-product-card{border-left:0;border-right:0;border-top:0;border-radius:0;box-shadow:none!important;transform:none!important}

/* Four resource areas: Blogs, Case Studies, Awareness Studio and Templates. */
@media (min-width: 1181px) {
    header.services-header .ca-resources-mega {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        width: min(1320px, calc(100vw - 28px));
    }
}
@media (min-width: 993px) and (max-width: 1180px) {
    header.services-header .ca-resources-mega {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: min(960px, calc(100vw - 24px));
        max-height: calc(100vh - var(--ca-header-height) - 18px);
        overflow-y: auto;
    }
}
}

@media(max-width:992px){
header.services-header #mainmenu{background:linear-gradient(180deg,var(--ca-mobile-menu-1),var(--ca-mobile-menu-2))!important;color:var(--ca-header-text)!important;border-top-color:var(--ca-header-border)!important}
header.services-header #mainmenu>li>a.menu-item,header.services-header #mainmenu>li>ul.ca-mobile-submenu a{color:var(--ca-header-text)!important;border-bottom-color:var(--ca-header-border)!important}
header.services-header #mainmenu>li>a.menu-item:hover,header.services-header #mainmenu>li>a.menu-item:focus,header.services-header #mainmenu>li>ul.ca-mobile-submenu a:hover,header.services-header #mainmenu>li>ul.ca-mobile-submenu a:focus{color:var(--ca-header-text)!important;background:var(--ca-header-hover-bg)!important}
header.services-header #mainmenu>li>ul.ca-mobile-submenu{border-left-color:var(--ca-mobile-submenu-accent)!important;background:var(--ca-header-control-bg)!important}
header.services-header[data-mobile-menu-behavior="top-level-only"] .ca-mobile-submenu,header.services-header[data-mobile-menu-behavior="top-level-only"] .ca-nav-caret{display:none!important}
header.services-header.ca-header-style-floating-panel{padding:7px 7px}header.services-header.ca-header-style-floating-panel .container{padding:0}header.services-header.ca-header-style-floating-panel .services-nav-wrap{min-height:68px;padding:0 12px;border-radius:14px}header.services-header.ca-header-style-floating-panel #mainmenu{top:calc(100% + 7px)!important;border-radius:12px}
header.services-header.ca-header-style-compact{--ca-header-height:66px}header.services-header.ca-header-style-compact #logo img{width:145px!important;max-width:145px!important}
}

/* =========================================================
   DETERMINISTIC DESKTOP PANEL STATE — 2026-08-05
   One JavaScript owner prevents competing hover regions at menu boundaries.
========================================================= */
@media (min-width: 993px) {
    header.services-header #mainmenu .ca-preview-sections > a {
        position: relative !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        width: auto !important;
        height: auto !important;
        min-height: 103px !important;
        margin: 0 !important;
        padding: 15px 15px 15px 18px !important;
        float: none !important;
        line-height: normal !important;
        text-align: left !important;
        text-decoration: none !important;
    }
    header.services-header .ca-resources-parent::after,
    header.services-header .ca-info-parent::after {
        content: none !important;
        pointer-events: none !important;
    }
    header.services-header .ca-mega-menu,
    header.services-header .ca-hover-preview {
        transition: none !important;
    }
    header.services-header .ca-nav-parent:not(.ca-desktop-open) > .ca-mega-menu,
    header.services-header .ca-info-parent:not(.ca-preview-open) > .ca-hover-preview {
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }
    header.services-header .ca-nav-parent.ca-desktop-open > .ca-mega-menu,
    header.services-header .ca-info-parent.ca-preview-open > .ca-hover-preview {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }
    header.services-header .ca-nav-parent:not(.ca-desktop-open) > .ca-nav-trigger .ca-nav-caret {
        margin-top: -4px !important;
        transform: rotate(45deg) !important;
    }
    header.services-header .ca-nav-parent.ca-desktop-open > .ca-nav-trigger .ca-nav-caret {
        margin-top: 4px !important;
        transform: rotate(225deg) !important;
    }
}

/* =========================================================
   FIXED, SCROLLABLE SERVICES / PRODUCTS PANELS — 2026-08-05 R3
   Viewport anchoring removes menu-item edge overlap. Both axes remain
   scrollable when current or future cards exceed the fixed panel area.
========================================================= */
@media (min-width: 993px) {
    header.services-header .ca-services-mega,
    header.services-header .ca-products-mega {
        position: fixed !important;
        top: var(--ca-header-height) !important;
        left: 50% !important;
        z-index: 10030 !important;
        min-width: 0 !important;
        max-width: calc(100vw - 32px) !important;
        max-height: calc(100vh - var(--ca-header-height) - 18px) !important;
        overflow-x: auto !important;
        overflow-y: auto !important;
        overscroll-behavior: contain;
        scrollbar-gutter: stable both-edges;
        transform: translateX(-50%) !important;
        transition: none !important;
    }

    header.services-header .ca-services-mega {
        width: 980px !important;
        height: 390px !important;
        grid-template-columns: minmax(640px, 1fr) 260px !important;
    }

    header.services-header .ca-products-mega {
        width: 1180px !important;
        height: 430px !important;
        grid-template-columns: minmax(850px, 1fr) 265px !important;
    }

    header.services-header.ca-header-style-floating-panel .ca-services-mega,
    header.services-header.ca-header-style-floating-panel .ca-products-mega {
        top: 96px !important;
        max-height: calc(100vh - 114px) !important;
    }

    header.services-header .ca-services-parent:not(.ca-desktop-open) > .ca-services-mega,
    header.services-header .ca-products-parent:not(.ca-desktop-open) > .ca-products-mega {
        transform: translateX(-50%) !important;
    }

    header.services-header .ca-services-parent.ca-desktop-open > .ca-services-mega,
    header.services-header .ca-products-parent.ca-desktop-open > .ca-products-mega {
        transform: translateX(-50%) !important;
    }

    header.services-header .ca-services-mega::-webkit-scrollbar,
    header.services-header .ca-products-mega::-webkit-scrollbar {
        width: 11px;
        height: 11px;
    }

    header.services-header .ca-services-mega::-webkit-scrollbar-track,
    header.services-header .ca-products-mega::-webkit-scrollbar-track {
        background: #edf4fb;
        border-radius: 10px;
    }

    header.services-header .ca-services-mega::-webkit-scrollbar-thumb,
    header.services-header .ca-products-mega::-webkit-scrollbar-thumb {
        background: #8aa9c8;
        border: 2px solid #edf4fb;
        border-radius: 10px;
    }

    header.services-header .ca-services-mega::-webkit-scrollbar-thumb:hover,
    header.services-header .ca-products-mega::-webkit-scrollbar-thumb:hover {
        background: #5f84aa;
    }
}

/* =========================================================
   RESOURCE ACCOUNT PANEL + DESKTOP CARET ALIGNMENT — 2026-08-23 R2
========================================================= */
header.services-header .ca-resource-account-panel {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    min-width: 0;
    padding: 13px 15px;
    border: 1px solid #cfe0f2;
    border-radius: 11px;
    background: linear-gradient(110deg, #f2f8ff, #ffffff 68%);
}
header.services-header .ca-resource-account-copy { min-width: 0; }
header.services-header .ca-resource-account-copy > span {
    display: block;
    width: auto;
    margin: 0 0 3px;
    border: 0;
    color: #0870d8;
    font-size: 9.5px;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: .09em;
}
header.services-header .ca-resource-account-copy > strong {
    display: block;
    color: #102f59;
    font-size: 14px;
    line-height: 1.25;
}
header.services-header .ca-resource-account-copy > small {
    display: block;
    margin-top: 3px;
    color: #65758b;
    font-size: 10.5px;
    line-height: 1.4;
}
header.services-header .ca-resource-account-actions {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 7px;
}
header.services-header #mainmenu .ca-resource-account-actions a {
    position: static !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-height: 34px !important;
    margin: 0 !important;
    padding: 0 11px !important;
    border: 1px solid #c3d6eb !important;
    border-radius: 7px !important;
    background: #ffffff !important;
    color: #164a83 !important;
    font-size: 10.5px !important;
    font-weight: 850 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    white-space: nowrap;
}
header.services-header #mainmenu .ca-resource-account-actions a:hover,
header.services-header #mainmenu .ca-resource-account-actions a:focus {
    border-color: #0b66c3 !important;
    background: #eaf4ff !important;
}
header.services-header #mainmenu .ca-resource-account-actions a.primary {
    border-color: #0b66c3 !important;
    background: #0b66c3 !important;
    color: #ffffff !important;
}

@media (min-width: 993px) {
    header.services-header #mainmenu { flex-wrap: nowrap !important; }
    header.services-header #mainmenu > li > a.menu-item { justify-content: center !important; }
    header.services-header #mainmenu > li > a.menu-item > .ca-nav-caret {
        position: relative !important;
        display: inline-block !important;
        flex: 0 0 8px !important;
        width: 8px !important;
        min-width: 8px !important;
        max-width: 8px !important;
        height: 8px !important;
        margin: -4px 0 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-right: 2px solid currentColor !important;
        border-bottom: 2px solid currentColor !important;
        background: transparent !important;
        color: inherit !important;
        font-size: 0 !important;
        line-height: 0 !important;
        text-transform: none !important;
        transform: rotate(45deg) !important;
    }
    header.services-header #mainmenu > li.ca-desktop-open > a.menu-item > .ca-nav-caret {
        margin-top: 4px !important;
        transform: rotate(225deg) !important;
    }
}

@media (max-width: 1180px) and (min-width: 993px) {
    header.services-header .ca-resource-account-panel { align-items: flex-start; }
    header.services-header .ca-resource-account-actions {
        flex-wrap: wrap;
        justify-content: flex-end;
        max-width: 310px;
    }
}

@media (max-width: 992px) {
    header.services-header #mainmenu > li > ul.ca-mobile-submenu a.ca-mobile-resource-account {
        display: flex !important;
        flex-direction: column;
        align-items: flex-start;
        gap: 2px;
        margin-top: 7px;
        border-top: 1px solid rgba(255,255,255,.16) !important;
        background: rgba(255,255,255,.06) !important;
    }
    header.services-header .ca-mobile-resource-account strong {
        color: inherit;
        font-size: 13px;
    }
    header.services-header .ca-mobile-resource-account small {
        color: rgba(255,255,255,.76);
        font-size: 10.5px;
        line-height: 1.35;
    }
}
