:root {
    --sg-ink: #111518;
    --sg-paper: #FFFDFA;
    --sg-white: #FFFFFF;
    --sg-mint: #95D5B2;
    --sg-green: #B9FBC0;
    --sg-blue: #D7E3FC;
    --sg-pale: #EDF6F9;
    --sg-pink: #FFCFD2;
    --sg-border: rgba(17,21,24,.09);
    --sg-glass: rgba(255,255,255,.68);
    --sg-glass-solid: rgba(255,255,255,.88);
    --sg-shadow: 0 28px 90px rgba(17,21,24,.14);
}

.sg-header {
    position: relative;
    z-index: 999;
    width: 100%;
    color: var(--sg-ink);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.sg-header *,
.sg-header *::before,
.sg-header *::after { box-sizing: border-box; }

.sg-header__bar {
    position: relative;
    width: min(1480px, calc(100% - 48px));
    height: 82px;
    margin: 16px auto 0;
    padding: 8px 10px 8px 16px;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 30px;
    border: 1px solid rgba(255,255,255,.92);
    border-radius: 25px;
    background: var(--sg-glass);
    box-shadow: 0 14px 50px rgba(17,21,24,.075), inset 0 1px 0 rgba(255,255,255,.98);
    backdrop-filter: blur(26px) saturate(150%);
    -webkit-backdrop-filter: blur(26px) saturate(150%);
    transition: background .25s ease, box-shadow .25s ease;
}

.sg-header.is-mega-open .sg-header__bar {
    background: rgba(255,255,255,.79);
    box-shadow: 0 14px 55px rgba(17,21,24,.10), inset 0 1px 0 #fff;
}

.sg-brand {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    width: max-content;
    color: inherit;
    text-decoration: none;
}

.sg-brand__mark {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    overflow: hidden;
    flex: 0 0 58px;
    border-radius: 17px;
    background: rgba(255,255,255,.9);
    border: 1px solid rgba(17,21,24,.05);
}

.sg-brand__mark img {
    width: 52px;
    height: 52px;
    object-fit: contain;
}

.sg-brand__text { display: grid; line-height: 1; }
.sg-brand__text strong {
    font-size: 18px;
    font-weight: 760;
    letter-spacing: -.045em;
    white-space: nowrap;
}
.sg-brand__text small {
    margin-top: 5px;
    font-size: 9px;
    font-weight: 750;
    letter-spacing: .18em;
    text-transform: uppercase;
    opacity: .53;
}

.sg-primary {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2px;
}

.sg-primary__item,
.sg-primary__link {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    height: 45px;
    padding: 0 13px;
    border: 0;
    border-radius: 14px;
    background: transparent;
    color: inherit;
    text-decoration: none;
    font: inherit;
    font-size: 13px;
    font-weight: 650;
    letter-spacing: -.015em;
    white-space: nowrap;
    cursor: pointer;
    transition: background .18s ease, transform .18s ease;
}

.sg-primary__item:hover,
.sg-primary__item.is-active,
.sg-primary__link:hover {
    background: rgba(255,255,255,.73);
}

.sg-primary__item:active,
.sg-primary__link:active { transform: scale(.97); }

.sg-chevron {
    width: 7px;
    height: 7px;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg) translateY(-2px);
    opacity: .55;
    transition: transform .2s ease;
}
.sg-primary__item.is-active .sg-chevron {
    transform: rotate(225deg) translate(-1px, -1px);
}

.sg-actions {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 8px;
}

.sg-action,
.sg-account,
.sg-menu-toggle {
    border: 1px solid rgba(17,21,24,.075);
    background: rgba(255,255,255,.54);
    color: var(--sg-ink);
    cursor: pointer;
    transition: .2s ease;
}
.sg-action:hover,
.sg-account:hover,
.sg-menu-toggle:hover {
    background: rgba(255,255,255,.94);
    border-color: rgba(17,21,24,.13);
}
.sg-action:active,
.sg-account:active,
.sg-menu-toggle:active { transform: scale(.96); }

.sg-action {
    position: relative;
    width: 43px;
    height: 43px;
    display: grid;
    place-items: center;
    border-radius: 50%;
}
.sg-action svg,
.sg-account svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.65;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.sg-notification-dot {
    position: absolute;
    width: 6px;
    height: 6px;
    top: 9px;
    right: 9px;
    border-radius: 50%;
    background: var(--sg-mint);
    box-shadow: 0 0 0 3px rgba(149,213,178,.22);
}

.sg-account {
    height: 43px;
    padding: 4px 13px 4px 5px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border-radius: 24px;
    font: inherit;
    font-size: 12px;
    font-weight: 720;
}
.sg-account__avatar {
    width: 33px;
    height: 33px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--sg-green), var(--sg-blue));
}

.sg-mega {
    position: absolute;
    top: 106px;
    left: 50%;
    width: min(1240px, calc(100% - 48px));
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translate(-50%, -13px) scale(.985);
    transform-origin: top center;
    transition: opacity .2s ease, transform .28s cubic-bezier(.2,.8,.2,1), visibility .2s;
}

.sg-header.is-mega-open .sg-mega {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translate(-50%, 0) scale(1);
}

.sg-mega__grid {
    display: grid;
    grid-template-columns: .82fr 1.05fr .92fr;
    min-height: 430px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.94);
    border-radius: 30px;
    background:
        radial-gradient(circle at 100% 0, rgba(215,227,252,.72), transparent 29%),
        radial-gradient(circle at 0 100%, rgba(185,251,192,.56), transparent 34%),
        rgba(255,255,255,.84);
    box-shadow: var(--sg-shadow), inset 0 1px 0 #fff;
    backdrop-filter: blur(36px) saturate(155%);
    -webkit-backdrop-filter: blur(36px) saturate(155%);
}

.sg-mega__intro {
    padding: 46px 38px;
    border-right: 1px solid var(--sg-border);
}

.sg-overline,
.sg-list-label {
    font-size: 9px;
    font-weight: 820;
    letter-spacing: .2em;
    text-transform: uppercase;
    opacity: .48;
}

.sg-mega__intro h2 {
    margin: 13px 0 13px;
    font-size: clamp(34px, 4vw, 57px);
    line-height: .91;
    letter-spacing: -.065em;
}
.sg-mega__intro p {
    max-width: 315px;
    margin: 0;
    font-size: 13px;
    line-height: 1.7;
    opacity: .61;
}

.sg-mega__hint {
    margin-top: 54px;
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 10px;
    font-weight: 650;
    opacity: .47;
}
.sg-hint__icon {
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    background: rgba(255,255,255,.75);
}
.sg-hint__icon svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.5; }

.sg-mega__nav {
    padding: 27px 18px 22px;
    border-right: 1px solid var(--sg-border);
}
.sg-list-label { padding: 0 14px 11px; }

.sg-mega-item {
    width: 100%;
    min-height: 70px;
    display: grid;
    grid-template-columns: 43px 1fr 22px;
    align-items: center;
    gap: 12px;
    padding: 9px 12px;
    border: 0;
    border-radius: 19px;
    background: transparent;
    color: inherit;
    text-align: left;
    cursor: pointer;
    font: inherit;
    transition: background .18s ease, transform .18s ease, box-shadow .18s ease;
}
.sg-mega-item:hover,
.sg-mega-item.is-active {
    background: rgba(255,255,255,.80);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.88);
    transform: translateX(3px);
}
.sg-mega-item__icon {
    width: 43px;
    height: 43px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    background: var(--sg-pale);
}
.sg-mega-item:nth-child(2) .sg-mega-item__icon { background: rgba(185,251,192,.42); }
.sg-mega-item:nth-child(3) .sg-mega-item__icon { background: rgba(215,227,252,.55); }
.sg-mega-item:nth-child(4) .sg-mega-item__icon { background: rgba(255,207,210,.42); }
.sg-mega-item__icon svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.35;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.sg-mega-item__copy { min-width: 0; }
.sg-mega-item__copy strong {
    display: block;
    font-size: 12px;
    font-weight: 730;
    line-height: 1.25;
}
.sg-mega-item__copy small {
    display: block;
    margin-top: 4px;
    font-size: 9px;
    font-weight: 600;
    opacity: .45;
}
.sg-mega-item__arrow {
    font-size: 16px;
    opacity: .25;
    transition: .18s ease;
}
.sg-mega-item:hover .sg-mega-item__arrow,
.sg-mega-item.is-active .sg-mega-item__arrow {
    opacity: .75;
    transform: translate(2px,-2px);
}

.sg-mega__feature {
    position: relative;
    overflow: hidden;
    padding: 30px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    background: linear-gradient(145deg, rgba(255,207,210,.47), rgba(255,255,255,.13) 45%, rgba(185,251,192,.48));
}
.sg-feature__wash {
    position: absolute;
    width: 260px;
    height: 260px;
    right: -90px;
    top: -90px;
    border-radius: 50%;
    background: rgba(215,227,252,.56);
    filter: blur(6px);
}
.sg-feature__top {
    position: absolute;
    top: 28px;
    left: 30px;
    right: 30px;
    display: flex;
    justify-content: space-between;
    font-size: 9px;
    font-weight: 820;
    letter-spacing: .16em;
    opacity: .46;
}
.sg-feature__external { font-size: 18px; letter-spacing: 0; opacity: .8; }

.sg-feature__content { position: relative; }
.sg-feature__icon {
    width: 57px;
    height: 57px;
    display: grid;
    place-items: center;
    margin-bottom: 20px;
    border-radius: 18px;
    background: rgba(255,255,255,.60);
    border: 1px solid rgba(255,255,255,.72);
    box-shadow: 0 10px 30px rgba(17,21,24,.06);
}
.sg-feature__icon svg {
    width: 28px;
    height: 28px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.25;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.sg-feature__content h3 {
    max-width: 320px;
    margin: 0 0 11px;
    font-size: 29px;
    line-height: 1.02;
    letter-spacing: -.055em;
}
.sg-feature__content p {
    max-width: 330px;
    margin: 0 0 23px;
    font-size: 11px;
    line-height: 1.7;
    opacity: .58;
}
.sg-feature__content a {
    display: inline-flex;
    align-items: center;
    gap: 13px;
    width: max-content;
    padding: 11px 14px;
    border-radius: 13px;
    background: rgba(255,255,255,.72);
    color: inherit;
    text-decoration: none;
    font-size: 10px;
    font-weight: 780;
}
.sg-feature__content a span { font-size: 16px; line-height: 0; }

.sg-menu-toggle,
.sg-mobile-panel { display: none; }

@media (max-width: 1180px) {
    .sg-header__bar { grid-template-columns: 1fr auto; }
    .sg-primary { display: none; }
    .sg-actions { grid-column: 2; }
    .sg-menu-toggle {
        width: 43px;
        height: 43px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 4px;
        border-radius: 50%;
    }
    .sg-menu-toggle span {
        width: 16px;
        height: 1.5px;
        background: currentColor;
        transition: transform .22s ease, opacity .18s ease;
    }
    .sg-header.is-mobile-open .sg-menu-toggle span:nth-child(1) { transform: translateY(5.5px) rotate(45deg); }
    .sg-header.is-mobile-open .sg-menu-toggle span:nth-child(2) { opacity: 0; }
    .sg-header.is-mobile-open .sg-menu-toggle span:nth-child(3) { transform: translateY(-5.5px) rotate(-45deg); }

    .sg-mobile-panel {
        position: absolute;
        display: block;
        top: 106px;
        left: 24px;
        right: 24px;
        max-height: calc(100vh - 125px);
        overflow: auto;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translateY(-10px);
        border: 1px solid rgba(255,255,255,.92);
        border-radius: 26px;
        background: rgba(255,255,255,.91);
        box-shadow: var(--sg-shadow);
        backdrop-filter: blur(32px) saturate(150%);
        -webkit-backdrop-filter: blur(32px) saturate(150%);
        transition: .23s ease;
    }
    .sg-header.is-mobile-open .sg-mobile-panel {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateY(0);
    }
    .sg-mobile-panel__inner { padding: 17px; }
    .sg-mobile-head {
        display: flex;
        justify-content: space-between;
        gap: 12px;
        padding: 8px 10px 14px;
        font-size: 8px;
        font-weight: 800;
        letter-spacing: .16em;
        opacity: .43;
    }
    .sg-mobile-group > button {
        width: 100%;
        min-height: 56px;
        padding: 0 12px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        border: 0;
        border-bottom: 1px solid var(--sg-border);
        background: transparent;
        color: inherit;
        font: inherit;
        font-size: 15px;
        font-weight: 700;
        cursor: pointer;
    }
    .sg-mobile-group > button b {
        font-size: 21px;
        font-weight: 350;
        opacity: .45;
        transition: .2s ease;
    }
    .sg-mobile-group.is-open > button b { transform: rotate(45deg); }
    .sg-mobile-sub {
        display: grid;
        grid-template-rows: 0fr;
        transition: grid-template-rows .25s ease;
    }
    .sg-mobile-group.is-open .sg-mobile-sub { grid-template-rows: 1fr; }
    .sg-mobile-sub a {
        min-height: 45px;
        padding: 0 13px 0 25px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        overflow: hidden;
        border-bottom: 1px solid rgba(17,21,24,.05);
        color: inherit;
        text-decoration: none;
        font-size: 11px;
        font-weight: 620;
        opacity: .67;
    }
    .sg-mobile-enquiry {
        min-height: 52px;
        margin-top: 12px;
        padding: 0 16px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        border-radius: 15px;
        background: var(--sg-ink);
        color: #fff;
        text-decoration: none;
        font-size: 12px;
        font-weight: 750;
    }
}

@media (max-width: 620px) {
    .sg-header__bar {
        width: calc(100% - 20px);
        height: 68px;
        margin-top: 10px;
        padding: 6px 7px 6px 9px;
        border-radius: 20px;
        gap: 10px;
    }
    .sg-brand { gap: 8px; }
    .sg-brand__mark { width: 46px; height: 46px; flex-basis: 46px; border-radius: 13px; }
    .sg-brand__mark img { width: 42px; height: 42px; }
    .sg-brand__text strong { font-size: 14px; }
    .sg-brand__text small { font-size: 7px; letter-spacing: .14em; }
    .sg-actions { gap: 4px; }
    .sg-action { width: 38px; height: 38px; }
    .sg-account { width: 38px; height: 38px; padding: 3px; justify-content: center; }
    .sg-account__avatar { width: 30px; height: 30px; }
    .sg-account__label { display: none; }
    .sg-menu-toggle { width: 38px; height: 38px; }
    .sg-mega { display: none; }
    .sg-mobile-panel { top: 78px; left: 10px; right: 10px; border-radius: 21px; }
}

@media (prefers-reduced-motion: reduce) {
    .sg-header * { transition-duration: .01ms !important; }
}
