.cs-nav-item--dropdown{position:relative}
.con-kit-atom-menu-v2 ul.cs-dropdown,
ul.cs-dropdown{
    display:flex!important;
    flex-direction:column!important;
    flex-wrap:nowrap!important;
    position:absolute;
    top:100%;
    left:0;
    margin:0;
    padding:8px;
    list-style:none;
    min-width:220px;
    background:#1f1f1f;
    border-radius:8px;
    box-shadow:0 12px 30px rgba(0,0,0,0.35);
    opacity:0;
    visibility:hidden;
    transform:translateY(6px);
    transition:opacity .18s ease, transform .18s ease, visibility .18s ease;
    z-index:1000;
}
.cs-dropdown li{
    display:block;
    width:100%;
}
.cs-nav-item--dropdown:hover .cs-dropdown,
.cs-nav-item--dropdown:focus-within .cs-dropdown{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
}
.cs-dropdown-trigger{cursor:pointer}
.cs-dropdown li{margin:0}
.cs-dropdown-link{
    display:block;
    padding:10px 16px;
    color:#fff;
    text-decoration:none;
    font-family:var(--font-kit-text-font);
    font-size:15px;
    white-space:nowrap;
    border-radius:6px;
    transition:background .15s ease, color .15s ease;
}
.cs-dropdown-link:hover,
.cs-dropdown-link:focus{
    background:rgba(131,190,255,0.15);
    color:#83beff;
}
@media (max-width:900px){
    .cs-dropdown{position:static;box-shadow:none;background:transparent;padding:0 0 0 16px;display:none;opacity:1;visibility:visible;transform:none}
    .cs-nav-item--dropdown:hover .cs-dropdown,
    .cs-nav-item--dropdown:focus-within .cs-dropdown{display:block}
}

/* ---- Marquee logos: wider, uncropped boxes instead of squished/cropped auto-width ---- */
.con-kit-component-marquee-gallery-item{
    width:180px !important;
    flex:0 0 auto !important;
}
.con-kit-component-marquee-gallery-item .con-kit-component-image[data-type=autoheight]{
    width:100% !important;
    height:110px !important;
}
.con-kit-component-marquee-gallery-item .con-kit-fade-box{
    position:relative !important;
    width:100% !important;
    height:100% !important;
}
.con-kit-component-marquee-gallery-item img.con-kit-component-image__background{
    width:100% !important;
    height:100% !important;
    -o-object-fit:contain !important;
    object-fit:contain !important;
    position:relative !important;
}
@media (max-width:640px){
    .con-kit-component-marquee-gallery-item{
        width:130px !important;
    }
    .con-kit-component-marquee-gallery-item .con-kit-component-image[data-type=autoheight]{
        height:85px !important;
    }
}

/* ---- Cookie consent banner ---- */
#cs-cookie-banner{
    position:fixed;
    left:50%;
    bottom:20px;
    transform:translateX(-50%);
    width:min(680px, calc(100% - 32px));
    background:#f8f9fa;
    color:#1f1f1f;
    border-radius:12px;
    box-shadow:0 12px 40px rgba(0,0,0,0.35);
    padding:22px 24px;
    z-index:9999;
    font-family:var(--font-kit-text-font);
}
#cs-cookie-banner h3{
    margin:0 0 8px 0;
    font-size:18px;
    font-weight:700;
}
#cs-cookie-banner p{
    margin:0 0 16px 0;
    font-size:14px;
    line-height:1.5;
    color:#3a3a3a;
}
#cs-cookie-banner p a{
    color:#104cfb;
    text-decoration:underline;
}
.cs-cookie-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    justify-content:flex-end;
}
.cs-cookie-btn{
    border:none;
    border-radius:8px;
    padding:11px 18px;
    font-size:14px;
    font-weight:600;
    cursor:pointer;
    font-family:inherit;
}
.cs-cookie-btn--accept{
    background:#104cfb;
    color:#fff;
}
.cs-cookie-btn--accept:hover{
    background:#0d3fd1;
}
.cs-cookie-btn--reject{
    background:transparent;
    color:#1f1f1f;
    border:1px solid #c7c7c7;
}
.cs-cookie-btn--reject:hover{
    background:#ececeC;
}
.cs-cookie-btn--settings{
    background:transparent;
    color:#104cfb;
    text-decoration:underline;
    padding:11px 6px;
    margin-right:auto;
}
#cs-cookie-settings{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,0.55);
    z-index:10000;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:16px;
}
#cs-cookie-settings[hidden]{ display:none; }
.cs-cookie-settings-box{
    background:#f8f9fa;
    color:#1f1f1f;
    border-radius:12px;
    max-width:480px;
    width:100%;
    padding:24px;
    max-height:85vh;
    overflow-y:auto;
}
.cs-cookie-settings-box h3{
    margin:0 0 16px 0;
    font-size:18px;
}
.cs-cookie-category{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    padding:12px 0;
    border-bottom:1px solid #e0e0e0;
}
.cs-cookie-category strong{
    display:block;
    font-size:14px;
    margin-bottom:4px;
}
.cs-cookie-category p{
    margin:0;
    font-size:13px;
    color:#555;
}
.cs-cookie-toggle{
    position:relative;
    width:42px;
    height:24px;
    flex-shrink:0;
    margin-top:2px;
}
.cs-cookie-toggle input{
    opacity:0;
    width:100%;
    height:100%;
    margin:0;
    cursor:pointer;
    position:absolute;
    z-index:1;
}
.cs-cookie-toggle-track{
    position:absolute;
    inset:0;
    background:#ccc;
    border-radius:24px;
    transition:background .2s ease;
}
.cs-cookie-toggle-track::after{
    content:"";
    position:absolute;
    top:3px;
    left:3px;
    width:18px;
    height:18px;
    background:#fff;
    border-radius:50%;
    transition:transform .2s ease;
}
.cs-cookie-toggle input:checked + .cs-cookie-toggle-track{
    background:#104cfb;
}
.cs-cookie-toggle input:checked + .cs-cookie-toggle-track::after{
    transform:translateX(18px);
}
.cs-cookie-toggle input:disabled + .cs-cookie-toggle-track{
    background:#a7c4ff;
    opacity:0.7;
}
.cs-cookie-settings-actions{
    display:flex;
    justify-content:flex-end;
    gap:10px;
    margin-top:18px;
}
#cs-cookie-reopen{
    position:fixed;
    left:16px;
    bottom:16px;
    z-index:9998;
    background:#1f1f1f;
    color:#fff;
    border:none;
    border-radius:50%;
    width:44px;
    height:44px;
    cursor:pointer;
    font-size:20px;
    box-shadow:0 4px 16px rgba(0,0,0,0.3);
}
#cs-cookie-reopen[hidden]{ display:none; }
@media (max-width:480px){
    #cs-cookie-banner{
        padding:18px;
    }
    .cs-cookie-actions{
        justify-content:stretch;
    }
    .cs-cookie-btn--accept,
    .cs-cookie-btn--reject{
        flex:1 1 auto;
        text-align:center;
    }
    .cs-cookie-btn--settings{
        flex:1 1 100%;
        text-align:center;
        margin-right:0;
        order:3;
    }
}

/* ---- Mobile readability fixes: no mid-word breaks, no horizontal overflow, scaled text ---- */
html, body{
    overflow-x:hidden;
    max-width:100%;
}
*, *::before, *::after{
    box-sizing:border-box;
}
img, video, svg, iframe{
    max-width:100%;
    height:auto;
}
.con-kit-quark-header-tag,
.con-kit-quark-paragraph,
.con-kit-component-text,
.con-kit-component-header,
.con-kit-atom-plain-text,
.con-kit-atom-person__title,
.con-kit-atom-person__subtitle,
.con-kit-atom-number__prefix,
.con-kit-atom-number__suffix,
.con-kit-atom-number__value,
.con-kit-atom-stats__description,
.cs-dropdown-link{
    overflow-wrap:normal !important;
    word-break:normal !important;
    -webkit-hyphens:none !important;
    hyphens:none !important;
    white-space:normal !important;
}
.con-kit-atom-menu-v2-item-inside__title{
    overflow-wrap:normal !important;
    word-break:normal !important;
    -webkit-hyphens:none !important;
    hyphens:none !important;
}
@media (max-width:640px){
    .con-kit-container,
    .con-kit-frame,
    .con-kit-row__container,
    .con-kit-layout,
    .con-kit-col{
        max-width:100% !important;
        width:100% !important;
    }
    .con-kit-quark-header-tag,
    .con-kit-component-header .con-kit-quark-paragraph[data-font-kit-type],
    .con-kit-component-text .con-kit-quark-paragraph[data-font-kit-type=custom]{
        font-size:clamp(1.1rem, 5.5vw, calc(var(--font-kit-size, 24) * 1px)) !important;
        line-height:1.3 !important;
    }
    .con-kit-atom-number__prefix,
    .con-kit-atom-number__suffix,
    .con-kit-atom-number__value{
        font-size:clamp(1.4rem, 9vw, calc(var(--atom-number-font-size, 48px))) !important;
    }
    .con-kit-atom-stats__text_value{
        font-size:clamp(1.2rem, 8vw, 32px) !important;
    }
    .con-kit-atom-person__title .con-kit-quark-paragraph[data-font-kit-type=custom]{
        font-size:clamp(1rem, 5vw, 26px) !important;
    }
    .con-kit-component-button__label{
        white-space:normal !important;
        text-align:center;
    }

    /* ---- Header: hide logo/menu row's nav, replaced by burger menu ---- */
    [data-id="AIkUTuyMMXssIOV7QDg1Q"] .con-kit-molecule-header-v2__atoms{
        display:flex !important;
        align-items:center !important;
        justify-content:space-between !important;
        width:100% !important;
        gap:8px !important;
    }
    [data-id="qPL2qE5C4l0XrMO0WP3B4"]{
        width:auto !important;
        flex:none !important;
    }
    [data-id="qPL2qE5C4l0XrMO0WP3B4"] .con-kit-component-logo{
        --component-logo__size:52px !important;
    }
    /* hide the original nav entirely on mobile, burger replaces it */
    [data-id="tBbhbx4hBvFVHfvQzzWp5"]{
        display:none !important;
    }
    [data-id="LV7FORvopuXC6_y6jaxJl"]{
        width:auto !important;
        flex:none !important;
    }
    .cs-burger{
        display:flex !important;
    }
}

/* ---- Burger menu button ---- */
.cs-burger{
    display:none;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:5px;
    width:40px;
    height:40px;
    background:transparent;
    border:none;
    cursor:pointer;
    padding:0;
    order:99;
}
.cs-burger span{
    display:block;
    width:26px;
    height:2px;
    background:#fff;
    border-radius:2px;
    transition:transform .25s ease, opacity .25s ease;
}
.cs-burger.cs-burger--open span:nth-child(1){
    transform:translateY(7px) rotate(45deg);
}
.cs-burger.cs-burger--open span:nth-child(2){
    opacity:0;
}
.cs-burger.cs-burger--open span:nth-child(3){
    transform:translateY(-7px) rotate(-45deg);
}

/* ---- Mobile nav overlay panel ---- */
@media (max-width:900px){
    .cs-mobile-nav{
        position:fixed;
        top:0;
        right:0;
        width:min(320px, 82vw);
        height:100vh;
        height:100dvh;
        background:#111;
        z-index:3000;
        padding:24px 20px;
        overflow-y:auto;
        box-shadow:-8px 0 30px rgba(0,0,0,0.4);
        transform:translateX(100%);
        transition:transform .3s ease;
        display:flex !important;
        flex-direction:column;
    }
    .cs-mobile-nav.cs-mobile-nav--open{
        transform:translateX(0);
    }
    .cs-mobile-nav-close{
        align-self:flex-end;
        background:transparent;
        border:none;
        color:#fff;
        font-size:28px;
        line-height:1;
        cursor:pointer;
        padding:4px 8px;
        margin-bottom:16px;
    }
    .cs-mobile-nav ul{
        list-style:none;
        margin:0;
        padding:0;
        display:flex;
        flex-direction:column;
        gap:4px;
    }
    .cs-mobile-nav a,
    .cs-mobile-nav .cs-mobile-nav-trigger{
        display:block;
        color:#fff;
        text-decoration:none;
        font-family:var(--font-kit-header-font);
        font-size:17px;
        padding:14px 6px;
        border-bottom:1px solid rgba(255,255,255,0.1);
        cursor:pointer;
        background:transparent;
        border-left:none;
        border-right:none;
        border-top:none;
        width:100%;
        text-align:left;
    }
    .cs-mobile-nav-submenu{
        list-style:none;
        margin:0;
        padding:0 0 0 16px;
        max-height:0;
        overflow:hidden;
        transition:max-height .25s ease;
    }
    .cs-mobile-nav-submenu.cs-submenu--open{
        max-height:300px;
    }
    .cs-mobile-nav-submenu a{
        font-size:15px;
        color:#83beff;
        border-bottom:none;
        padding:10px 6px;
    }
    .cs-mobile-nav-backdrop{
        position:fixed;
        inset:0;
        background:rgba(0,0,0,0.5);
        z-index:2999;
        opacity:0;
        visibility:hidden;
        transition:opacity .3s ease, visibility .3s ease;
    }
    .cs-mobile-nav-backdrop.cs-mobile-nav-backdrop--open{
        opacity:1;
        visibility:visible;
    }
}
@media (min-width:901px){
    .cs-mobile-nav,
    .cs-mobile-nav-backdrop{
        display:none !important;
    }
}
