:root{
    --blue:#00388d;
    --yellow:#ffb400;
    --ink:#111827;
    --line:#e5eaf0;
    --wrap:1600px
}
 *{
    box-sizing:border-box
}
body{
    margin:0;
    color:var(--ink);
    font:16px/1.5 Manrope,system-ui,sans-serif
}
a{
    color:inherit;
    text-decoration:none
}
button,summary{
    font:inherit
}
.wrap{
    max-width:var(--wrap);
    margin:auto;
    padding-inline:32px
}
.sr-only{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0
}
.skip-link{
    position:fixed;
    z-index:99;
    top:8px;
    left:8px;
    padding:10px 14px;
    background:#fff;
    color:var(--blue);
    transform:translateY(-150%)
}
.skip-link:focus{
    transform:none
}
:focus-visible{
    outline:3px solid var(--yellow);
    outline-offset:3px
}
.site-header{
    background:#fff;
    box-shadow:0 8px 20px #11182710
}
.utility{
    height:44px;
    display:flex;
    justify-content:flex-end;
    align-items:center;
    border-bottom:1px solid var(--line)
}
.utility>*+*{
    border-left:1px solid var(--line)
}
.icon-link,.utility-link,.language>summary{
    min-height:32px;
    display:flex;
    align-items:center;
    gap:9px;
    padding:4px 20px
}
.icon-link:hover,.utility-link:hover,.language>summary:hover{
    color:var(--blue)
}
svg{
    width:22px;
    height:22px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round
}
.mainbar{
    min-height:104px;
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:48px
}
.logo{
    display:flex;
    align-items:center;
    color:#2860ae;
    font-size:2rem;
    font-weight:600;
    letter-spacing:-1.5px
}
.logo i{
    width:49px;
    height:49px;
    margin-left:-4px;
    border:3px solid #ff9500;
    border-left-color:transparent;
    border-radius:50%
}
.main-nav>ul{
    display:flex;
    justify-content:center;
    gap:clamp(16px,2.4vw,44px);
    margin:0;
    padding:0;
    list-style:none
}
.menu{
    position:relative
}
.menu summary{
    cursor:pointer;
    list-style:none;
    font-weight:600;
    white-space:nowrap
}
.menu summary::-webkit-details-marker{
    display:none
}
.main-nav .menu>summary,.main-nav .nav-link{
    display:block;
    padding:39px 0 35px
}
.main-nav .menu>summary::after,.language>summary::after{
    content:"";
    display:inline-block;
    width:7px;
    height:7px;
    margin:0 0 3px 12px;
    border-right:2px solid;
    border-bottom:2px solid;
    transform:rotate(45deg)
}
.main-nav .menu.current>summary,.main-nav .nav-link.current{
    box-shadow:inset 0 -4px var(--yellow)
}
.menu>ul{
    position:absolute;
    z-index:5;
    top:calc(100% + 8px);
    right:0;
    min-width:220px;
    margin:0;
    padding:8px;
    list-style:none;
    background:#fff;
    border:1px solid var(--line);
    border-radius:8px;
    box-shadow:0 14px 32px #11182720
}
.main-nav .menu>ul{
    left:0;
    right:auto;
    top:100%
}
.menu li a{
    display:block;
    padding:10px 12px;
    border-radius:5px
}
.menu li a:hover,.menu li a:focus-visible{
    color:var(--blue);
    background:#eaf3fc
}
.language .is-disabled{
    opacity:.45;
    pointer-events:none
}
.cta{
    display:flex;
    align-items:center;
    gap:22px;
    padding:17px 22px;
    border-radius:8px;
    background:var(--yellow);
    font-weight:700;
    white-space:nowrap
}
.cta:hover{
    background:#ffc027
}
.cta span{
    font-size:1.5rem
}
.nav-toggle{
    display:none;
    border:0;
    background:none
}
 @media(max-width:1100px){
    .wrap{
        padding-inline:20px
    }
    .mainbar{
        min-height:82px;
        grid-template-columns:auto auto 1fr;
        gap:20px
    }
    .logo{
        font-size:1.65rem
    }
    .logo i{
        width:41px;
        height:41px
    }
    .nav-toggle{
        display:block;
        width:44px;
        height:44px;
        padding:10px;
        justify-self:end;
        cursor:pointer
    }
    .nav-toggle span[aria-hidden]{
        display:block;
        border-top:2px solid
    }
    .nav-toggle span[aria-hidden]::before,.nav-toggle span[aria-hidden]::after{
        content:"";
        display:block;
        border-top:2px solid;
        margin-top:7px
    }
    .main-nav{
        display:none;
        grid-column:1/-1;
        align-self:start
    }
    .main-nav.is-open{
        display:block
    }
    .main-nav>ul{
        display:block;
        padding-bottom:16px
    }
    .main-nav .menu>summary,.main-nav .nav-link{
        padding:14px 4px
    }
    .main-nav .menu>ul{
        position:static;
        margin:0 0 8px;
        box-shadow:none;
        border:0;
        border-left:3px solid var(--yellow);
        border-radius:0
    }
    .main-nav .menu.current>summary,.main-nav .nav-link.current{
        box-shadow:none;
        color:var(--blue)
    }
    .cta{
        grid-column:3;
        grid-row:1;
        justify-self:end
    }
    .mainbar:has(.main-nav.is-open) .cta{
        display:none
    }
}
 @media(max-width:640px){
    .utility{
        padding-inline:8px
    }
    .utility-link,.language>summary,.icon-link{
        padding-inline:12px
    }
    .mainbar{
        grid-template-columns:auto 1fr auto
    }
    .cta{
        display:none
    }
    .nav-toggle{
        grid-column:3
    }
    .logo{
        grid-column:1
    }
    .main-nav{
        grid-row:2;
        grid-column:1/-1
    }
}
 @media(prefers-reduced-motion:reduce){
    *{
        scroll-behavior:auto!important
    }
}
 