.site-header  {
    height: 76px;
    position: sticky;
    top: 0;
    z-index: 100;
    background: #fafafbd9;
    backdrop-filter: blur(24px) saturate(180%);
    -webkit-backdrop-filter: blur(24px) saturate(180%);
    border-bottom: 1px solid #00000008;
    transition: box-shadow .25s;
}

.site-header.is-scrolled  {
    box-shadow: 0 4px 18px #00000005;
}

.nav-inner  {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 35px;
}

.brand  {
    display: inline-flex;
    flex-shrink: 0;
}

.main-nav  {
    display: flex;
    align-items: center;
    gap: 31px;
}

.main-nav a  {
    color: #46464b;
    font-size: 0.8125rem;
    padding-block: 12px;
    transition: color .2s;
}

.main-nav a:hover, .footer-main a:hover  {
    color: var(--blue);
}

.nav-actions  {
    display: flex;
    align-items: center;
    gap: 25px;
}

.language-link  {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.75rem;
    font-weight: 550;
    min-height: 44px;
}

.language-link .icon  {
    width: 16px;
    height: 16px;
}

.button  {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    border: 1px solid transparent;
    background: var(--blue);
    color: #fff;
    padding: 13px 23px;
    border-radius: 99px;
    font-size: 0.9375rem;
    font-weight: 500;
    line-height: 1.4;
    min-height: 48px;
    transition: background .2s, transform .2s;
}

.button:hover  {
    background: var(--blue-hover);
    transform: translateY(-2px);
}

.button .icon  {
    width: 19px;
    height: 19px;
}

.button-small  {
    font-size: 0.75rem;
    min-height: 35px;
    padding: 9px 17px;
}

.text-link  {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #005dbb;
    font-size: 1rem;
    font-weight: 500;
    min-height: 44px;
}

.text-link:hover  {
    text-decoration: underline;
    text-underline-offset: 5px;
}

.text-link .icon  {
    width: 21px;
    height: 21px;
}

.menu-toggle  {
    display: none;
    width: 42px;
    height: 42px;
    border: 0;
    background: transparent;
    position: relative;
}

.menu-toggle span  {
    position: absolute;
    inset-inline-start: 10px;
    width: 21px;
    height: 1.5px;
    top: 17px;
    background: currentColor;
    transition: transform .2s;
}

.menu-toggle span + span  {
    top: 24px;
}

.menu-toggle[aria-expanded="true"] span  {
    top: 20px;
    transform: rotate(45deg);
}

.menu-toggle[aria-expanded="true"] span + span  {
    transform: rotate(-45deg);
}

.status-dot  {
    display: inline-block;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #2baf77;
    box-shadow: 0 0 0 4px #2baf770e;
    flex-shrink: 0;
}

.segmented-control  {
    display: inline-flex;
    align-items: center;
    border: 1px solid #dedee5;
    border-radius: 99px;
    padding: 4px;
    background: #eaeaf0a1;
    gap: 2px;
}

.segmented-control button  {
    border: 0;
    background: transparent;
    border-radius: 99px;
    padding: 9px 23px;
    font-size: 0.8125rem;
    min-height: 38px;
    color: var(--muted);
    transition: background .25s, box-shadow .25s, color .25s;
}

.segmented-control button[aria-pressed="true"]  {
    background: #fff;
    color: var(--ink);
    box-shadow: 0 2px 5px #0000000d;
}

.check-list  {
    display: grid;
    gap: 15px;
    margin-block: 28px;
}

.check-list li  {
    display: flex;
    gap: 10px;
    align-items: center;
    font-size: 0.875rem;
    color: #b7b7bf;
}

.check-list .icon  {
    color: #8fb8ee;
    width: 18px;
    height: 18px;
}

.site-footer  {
    background: var(--canvas);
    padding-top: 63px;
    color: var(--muted);
    font-size: 0.8125rem;
}

.footer-main  {
    display: grid;
    grid-template-columns: 2fr 1fr 1.15fr 1fr;
    gap: 55px;
    padding-bottom: 55px;
}

.footer-brand .brand  {
    color: var(--ink);
    margin-bottom: 22px;
}

.footer-brand > p  {
    max-width: 275px;
    line-height: 1.8;
}

.footer-brand .footer-tagline  {
    color: var(--ink);
    font-size: 0.9375rem;
    font-weight: 600;
    margin-bottom: 7px;
}

.footer-main nav, .footer-info  {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
}

.footer-main strong  {
    color: var(--ink);
    font-size: 0.8125rem;
    margin-bottom: 6px;
}

.footer-info .icon  {
    width: 14px;
    height: 14px;
    margin-inline-end: 5px;
}

.footer-bottom  {
    border-top: 1px solid var(--line);
    padding-block: 22px;
    display: flex;
    justify-content: space-between;
    gap: 24px;
    font-size: 0.6875rem;
}
