/* NSMB Bermuda investor gate — premium NS Partners design, no legacy rounded popup */
:root{--nsmb-blue:#3681B0;--nsmb-blue-dark:#2d719c;--nsmb-beige:#CFB896;--nsmb-grey:#75726C;--nsmb-grey-25:#DDDCDA;--nsmb-dark:#071522;--nsmb-black:#111;--nsmb-white:#fff;--nsmb-font:"Century Gothic","URW Gothic","TeX Gyre Adventor","Avant Garde","Avenir Next",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
#nsmb-investor-overlay:not(.nsmbx-investor-overlay),.nsmb-investor-overlay:not(.nsmbx-investor-overlay),.nsmb-investor-modal:not(.nsmbx-investor-modal),.nsmb-legal-modal:not(.nsmbx-investor-modal),.investor-gate:not(.nsmbx-investor-overlay),.investor-modal:not(.nsmbx-investor-modal),.legal-notice-modal:not(.nsmbx-investor-modal),.legal-popup:not(.nsmbx-investor-modal),.nsmb-gate-overlay:not(.nsmbx-investor-overlay),.nsmb-gate-dialog:not(.nsmbx-investor-modal){display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important}
html:not(.nsmbx-html-gate-open),body:not(.nsmbx-gate-open){overflow:auto!important;position:static!important;height:auto!important}html.nsmbx-html-gate-open,body.nsmbx-gate-open{overflow:hidden!important;height:100%!important}.nsmbx-investor-overlay{position:fixed;inset:0;z-index:99999999;display:none;align-items:center;justify-content:center;padding:48px;background:rgba(7,21,34,.86);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);font-family:var(--nsmb-font)}body.nsmbx-gate-open .nsmbx-investor-overlay{display:flex}.nsmbx-investor-modal{position:relative;width:min(1080px,100%);max-height:calc(100vh - 96px);background:#fff;color:var(--nsmb-black);border-radius:0!important;box-shadow:0 28px 90px rgba(0,0,0,.34);overflow:hidden;display:grid;grid-template-columns:320px 1fr}.nsmbx-investor-side{background:var(--nsmb-blue);color:#fff;padding:54px 42px;display:flex;flex-direction:column;justify-content:space-between;min-height:470px}.nsmbx-investor-mark{width:54px;height:54px;background:#fff;color:var(--nsmb-blue);display:flex;align-items:center;justify-content:center;font-size:23px;line-height:1;font-weight:700;letter-spacing:-.05em}.nsmbx-investor-side-label{margin-top:34px;font-size:10px;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:rgba(255,255,255,.78);line-height:1.6}.nsmbx-investor-side-title{margin-top:16px;font-size:34px;line-height:1.08;letter-spacing:.04em;text-transform:uppercase;font-weight:500;color:#fff}.nsmbx-investor-side-bottom{font-size:10px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.78);line-height:1.6}.nsmbx-investor-content{position:relative;padding:56px 64px 52px;overflow-y:auto;max-height:calc(100vh - 96px)}.nsmbx-investor-close{position:absolute;top:24px;right:26px;width:34px;height:34px;border:0;border-radius:0!important;background:transparent;color:var(--nsmb-black);cursor:pointer;font-family:var(--nsmb-font);font-size:32px;font-weight:300;line-height:1;display:flex;align-items:center;justify-content:center;padding:0}.nsmbx-investor-close:hover,.nsmbx-investor-close:focus{color:var(--nsmb-blue);outline:1px solid var(--nsmb-blue);outline-offset:2px}.nsmbx-investor-kicker{display:flex;align-items:center;gap:16px;margin:0 0 22px;color:var(--nsmb-blue);font-size:10px;font-weight:500;letter-spacing:.30em;text-transform:uppercase;line-height:1.2}.nsmbx-investor-kicker:before{content:"";display:inline-block;width:48px;height:1px;background:var(--nsmb-blue)}.nsmbx-investor-title{margin:0 0 20px;color:var(--nsmb-blue);font-family:var(--nsmb-font);font-size:clamp(32px,3vw,48px);font-weight:600;line-height:1.08;letter-spacing:.06em;text-transform:uppercase}.nsmbx-investor-intro{margin:0 0 34px;max-width:720px;color:var(--nsmb-grey);font-size:16px;line-height:1.75;font-weight:400}.nsmbx-investor-options{display:grid;gap:18px;margin:0 0 34px}.nsmbx-investor-option{position:relative;display:grid;grid-template-columns:28px 1fr;gap:20px;align-items:flex-start;padding:24px 26px;border:1px solid var(--nsmb-grey-25);background:#fff;cursor:pointer;transition:border-color .18s ease,background .18s ease}.nsmbx-investor-option:hover,.nsmbx-investor-option:focus-within{border-color:var(--nsmb-blue);background:#F7FAFC}.nsmbx-investor-option input{position:absolute;opacity:0;pointer-events:none}.nsmbx-radio-ui{width:22px;height:22px;border:1px solid var(--nsmb-blue);border-radius:50%;margin-top:2px;position:relative;flex-shrink:0}.nsmbx-investor-option input:checked+.nsmbx-radio-ui:after{content:"";position:absolute;inset:5px;border-radius:50%;background:var(--nsmb-blue)}.nsmbx-option-title{display:block;margin:0 0 6px;color:var(--nsmb-black);font-size:14px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;line-height:1.25}.nsmbx-option-copy{display:block;color:var(--nsmb-black);font-size:15px;line-height:1.65;font-weight:400;letter-spacing:.01em}.nsmbx-investor-actions{display:flex;align-items:center;gap:18px;margin-top:8px}.nsmbx-investor-button{min-width:210px;height:52px;border:1px solid var(--nsmb-blue);border-radius:0!important;background:var(--nsmb-blue);color:#fff;font-family:var(--nsmb-font);font-size:11px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;cursor:pointer;padding:0 28px;display:inline-flex;align-items:center;justify-content:center;transition:background .18s ease,border-color .18s ease}.nsmbx-investor-button:hover,.nsmbx-investor-button:focus{background:var(--nsmb-blue-dark);border-color:var(--nsmb-blue-dark);outline:none}.nsmbx-investor-note{color:var(--nsmb-grey);font-size:12px;line-height:1.6;max-width:460px}.nsmbx-legal-modal .nsmbx-investor-content{padding-bottom:0}.nsmbx-legal-scroll{max-height:390px;overflow-y:auto;padding-right:24px;margin:0 0 32px;border-top:1px solid var(--nsmb-grey-25);border-bottom:1px solid var(--nsmb-grey-25);padding-top:26px;padding-bottom:26px}.nsmbx-legal-scroll p{margin:0 0 18px;color:var(--nsmb-black);font-size:15px;line-height:1.75;font-weight:400}.nsmbx-legal-scroll p:last-child{margin-bottom:0}.nsmbx-legal-actions{position:sticky;bottom:0;background:#fff;padding:22px 0 34px;border-top:1px solid rgba(221,220,218,.6)}@media(max-width:900px){.nsmbx-investor-overlay{padding:22px;align-items:flex-start}.nsmbx-investor-modal{grid-template-columns:1fr;max-height:calc(100vh - 44px)}.nsmbx-investor-side{min-height:auto;padding:32px 28px}.nsmbx-investor-side-title{font-size:26px}.nsmbx-investor-side-bottom{display:none}.nsmbx-investor-content{padding:38px 28px 34px;max-height:none}.nsmbx-investor-title{font-size:30px}.nsmbx-investor-option{padding:20px;grid-template-columns:24px 1fr;gap:16px}.nsmbx-investor-actions{flex-direction:column;align-items:stretch}.nsmbx-investor-button{width:100%}}

/* =========================================================
   INVESTOR GATE — MOBILE RESPONSIVE FIX
   Keeps the legal acceptance button reachable/clickable on mobile.
========================================================= */
@media (max-width: 900px) {
    html.nsmbx-html-gate-open,
    body.nsmbx-gate-open {
        overflow: hidden !important;
        height: 100dvh !important;
        min-height: 100dvh !important;
        touch-action: none;
    }

    .nsmbx-investor-overlay {
        position: fixed !important;
        inset: 0 !important;
        width: 100vw !important;
        height: 100dvh !important;
        min-height: 100dvh !important;
        padding: 12px !important;
        align-items: flex-start !important;
        justify-content: center !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
        overscroll-behavior: contain !important;
        touch-action: pan-y;
    }

    .nsmbx-investor-modal {
        width: 100% !important;
        max-width: 100% !important;
        max-height: none !important;
        min-height: auto !important;
        grid-template-columns: 1fr !important;
        overflow: visible !important;
    }

    .nsmbx-investor-side {
        min-height: auto !important;
        padding: 20px 22px 18px !important;
    }

    .nsmbx-investor-mark {
        width: 42px !important;
        height: 42px !important;
        font-size: 18px !important;
    }

    .nsmbx-investor-side-label {
        margin-top: 16px !important;
        font-size: 9px !important;
        letter-spacing: .22em !important;
    }

    .nsmbx-investor-side-title {
        margin-top: 10px !important;
        font-size: 22px !important;
        line-height: 1.08 !important;
    }

    .nsmbx-investor-side-bottom {
        display: none !important;
    }

    .nsmbx-investor-content {
        padding: 24px 22px max(24px, env(safe-area-inset-bottom)) !important;
        max-height: none !important;
        overflow: visible !important;
    }

    .nsmbx-investor-close {
        top: 12px !important;
        right: 14px !important;
        width: 34px !important;
        height: 34px !important;
        z-index: 3 !important;
    }

    .nsmbx-investor-kicker {
        gap: 12px !important;
        margin-bottom: 14px !important;
        font-size: 9px !important;
        letter-spacing: .22em !important;
        padding-right: 42px !important;
    }

    .nsmbx-investor-kicker::before,
    .nsmbx-investor-kicker:before {
        width: 30px !important;
    }

    .nsmbx-investor-title {
        margin-bottom: 12px !important;
        font-size: 25px !important;
        line-height: 1.12 !important;
        letter-spacing: .045em !important;
        padding-right: 36px !important;
    }

    .nsmbx-investor-intro {
        margin-bottom: 18px !important;
        font-size: 14px !important;
        line-height: 1.55 !important;
    }

    .nsmbx-investor-options {
        gap: 12px !important;
        margin-bottom: 18px !important;
    }

    .nsmbx-investor-option {
        padding: 16px 14px !important;
        grid-template-columns: 22px 1fr !important;
        gap: 12px !important;
    }

    .nsmbx-radio-ui {
        width: 20px !important;
        height: 20px !important;
    }

    .nsmbx-option-title {
        font-size: 12px !important;
        letter-spacing: .12em !important;
    }

    .nsmbx-option-copy {
        font-size: 13px !important;
        line-height: 1.5 !important;
    }

    .nsmbx-investor-actions {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 10px !important;
        margin-top: 0 !important;
    }

    .nsmbx-investor-button {
        width: 100% !important;
        min-width: 0 !important;
        height: 50px !important;
        min-height: 50px !important;
        padding: 0 18px !important;
        font-size: 10px !important;
        letter-spacing: .20em !important;
        touch-action: manipulation !important;
    }

    .nsmbx-investor-note {
        max-width: none !important;
        font-size: 11px !important;
        line-height: 1.5 !important;
    }

    #nsmbx-legal-choice:not([style*="display: none"]):not([style*="display:none"]) {
        display: flex !important;
        flex-direction: column !important;
        height: calc(100dvh - 24px) !important;
        max-height: calc(100dvh - 24px) !important;
        overflow: hidden !important;
    }

    #nsmbx-legal-choice .nsmbx-investor-side {
        flex: 0 0 auto !important;
    }

    #nsmbx-legal-choice .nsmbx-investor-content {
        display: flex !important;
        flex: 1 1 auto !important;
        flex-direction: column !important;
        min-height: 0 !important;
        padding: 24px 22px 0 !important;
        overflow: hidden !important;
    }

    #nsmbx-legal-choice .nsmbx-investor-title {
        font-size: 24px !important;
    }

    .nsmbx-legal-scroll {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
        padding: 18px 4px 18px 0 !important;
        margin: 0 !important;
    }

    .nsmbx-legal-scroll p {
        font-size: 13px !important;
        line-height: 1.62 !important;
    }

    .nsmbx-legal-actions {
        position: relative !important;
        bottom: auto !important;
        flex: 0 0 auto !important;
        margin: 0 -22px !important;
        padding: 14px 22px max(18px, env(safe-area-inset-bottom)) !important;
        background: #ffffff !important;
        border-top: 1px solid rgba(221,220,218,.85) !important;
        box-shadow: 0 -12px 28px rgba(7,21,34,.10) !important;
        z-index: 5 !important;
    }

    .nsmbx-legal-actions .nsmbx-investor-button {
        height: 52px !important;
        min-height: 52px !important;
    }
}

@media (max-width: 380px) {
    .nsmbx-investor-overlay {
        padding: 8px !important;
    }

    #nsmbx-legal-choice:not([style*="display: none"]):not([style*="display:none"]) {
        height: calc(100dvh - 16px) !important;
        max-height: calc(100dvh - 16px) !important;
    }

    .nsmbx-investor-side {
        padding: 16px 18px 14px !important;
    }

    .nsmbx-investor-content,
    #nsmbx-legal-choice .nsmbx-investor-content {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    .nsmbx-legal-actions {
        margin-left: -18px !important;
        margin-right: -18px !important;
        padding-left: 18px !important;
        padding-right: 18px !important;
    }
}

/* =========================================================
   INVESTOR GATE — READABILITY / CONTRAST PATCH
========================================================= */
:root {
    --nsmb-grey:#5F5C57;
    --nsmb-black:#111111;
}

.nsmbx-investor-intro,
.nsmbx-option-copy,
.nsmbx-investor-note,
.nsmbx-legal-scroll p {
    color:#4F4D49 !important;
    font-weight:400 !important;
}

.nsmbx-investor-side-label,
.nsmbx-investor-side-bottom {
    color:rgba(255,255,255,.90) !important;
    font-weight:600 !important;
}

.nsmbx-investor-kicker,
.nsmbx-option-title,
.nsmbx-investor-button {
    font-weight:700 !important;
}

@media (max-width: 900px) {
    .nsmbx-investor-intro,
    .nsmbx-option-copy,
    .nsmbx-investor-note,
    .nsmbx-legal-scroll p {
        color:#3F454D !important;
        font-weight:400 !important;
    }

    .nsmbx-investor-intro {
        font-size:14.5px !important;
        line-height:1.62 !important;
    }

    .nsmbx-option-copy,
    .nsmbx-legal-scroll p {
        font-size:13.5px !important;
        line-height:1.62 !important;
    }

    .nsmbx-option-title,
    .nsmbx-investor-button,
    .nsmbx-investor-kicker {
        font-weight:700 !important;
    }
}

