    /* =========================================================
       PAGE / BODY
    ========================================================= */

    body {
        margin: 0;
        background-color: #0b1019;
    }


    /* =========================================================
       NAVBAR OUTER AREA
    ========================================================= */

    .ls-navbar-wrapper {
    width: 100%;
    box-sizing: border-box;

    /* Space above AND below navbar */
    padding: 14px 20px 14px;

    background-color: #0b1019;
}


    /* =========================================================
       NAVBAR
    ========================================================= */

    .ls-topnav {
        width: 100%;
        max-width: 1200px;

        height: 50px;

        margin: 0 auto;

        box-sizing: border-box;

        background: #0b1019;

        border: 1px solid #262f3d;
        border-radius: 12px;

        box-shadow:
            0 6px 20px rgba(0, 0, 0, 0.30);

        position: relative;
        z-index: 1000;

        transition:
            border-color 0.3s ease,
            box-shadow 0.3s ease;
    }

    .ls-topnav:hover {
        border-color: #262f3d;

        box-shadow:
            0 8px 25px rgba(0, 0, 0, 0.35),
            0 0 20px rgba(112, 201, 245, 0.08);
    }


    /* =========================================================
       NAVBAR INNER

       IMPORTANT:
       No second max-width here.
       It fills the navbar exactly.
    ========================================================= */

    .ls-topnav .ls-topnav-inner {
        width: 100%;
        height: 100%;

        margin: 0;
        padding: 0 20px;

        box-sizing: border-box;

        display: flex;
        align-items: center;
        justify-content: space-between;
    }


    /* =========================================================
       BRAND
    ========================================================= */

    .ls-topnav-brand {
        color: #2ee6c0;

        font-size: 20px;
        font-weight: 700;

        letter-spacing: 1px;

        text-decoration: none;

        white-space: nowrap;

        padding: 10px 0;

        display: inline-block;

        transition:
            color 0.3s ease,
            transform 0.3s ease,
            text-shadow 0.3s ease;
    }

    .ls-topnav-brand:hover {
        color: #ffffff;

        text-decoration: none;

        transform: translateY(-1px);

        text-shadow:
            0 0 10px rgba(112, 201, 245, 0.5);
    }


    /* =========================================================
       NAVIGATION LIST
    ========================================================= */

    .ls-topnav-list {
        list-style: none;

        display: flex;
        align-items: center;

        margin: 0;
        padding: 0;
    }

    .ls-topnav-list li {
        margin: 0;
        padding: 0;
    }


    /* =========================================================
       NAVIGATION LINKS
    ========================================================= */

    .ls-topnav-list a {
        display: block;

        position: relative;

        color: #9fb0b4;

        text-decoration: none;

        font-size: 14px;
        font-weight: 500;

        padding: 11px 14px;

        margin: 0 2px;

        border-radius: 9px;

        transition:
            color 0.3s ease,
            background-color 0.3s ease,
            transform 0.3s ease;
    }


    /* =========================================================
       NAV HOVER
    ========================================================= */

    .ls-topnav-list a:hover {
        color: #2ee6c0;

        background-color: #101725;

        text-decoration: none;

        transform: translateY(-1px);
    }


    /* =========================================================
       UNDERLINE
    ========================================================= */

    .ls-topnav-list a::after {
        content: "";

        position: absolute;

        left: 50%;
        bottom: 4px;

        width: 0;
        height: 2px;

        background-color: #2ee6c0;

        border-radius: 10px;

        transform: translateX(-50%);

        transition: width 0.3s ease;
    }

    .ls-topnav-list a:hover::after {
        width: 45%;
    }


    /* =========================================================
       ACTIVE PAGE
    ========================================================= */

    .ls-topnav-list a.ls-active {
        color: #2ee6c0;

        background-color: #101725;
    }

    .ls-topnav-list a.ls-active::after {
        width: 45%;

        box-shadow:
            0 0 7px rgba(112, 201, 245, 0.7);
    }


    /* =========================================================
       MOBILE BUTTON
    ========================================================= */

    .ls-topnav-toggle {
        display: none;

        width: 43px;
        height: 38px;

        padding: 6px 8px;

        background-color: #101725;

        border: 1px solid #262f3d;

        border-radius: 9px;

        cursor: pointer;

        transition: all 0.3s ease;
    }

    .ls-topnav-toggle:hover {
        background-color: #262f3d;

        border-color: #2ee6c0;
    }


    /* HAMBURGER */

    .ls-topnav-toggle span {
        display: block;

        width: 23px;
        height: 2px;

        margin: 5px auto;

        background-color: #2ee6c0;

        border-radius: 5px;

        transition: all 0.3s ease;
    }


    /* =========================================================
       HAMBURGER → X
    ========================================================= */

    .ls-topnav-toggle.ls-toggle-active span:nth-child(1) {
        transform:
            translateY(7px)
            rotate(45deg);
    }

    .ls-topnav-toggle.ls-toggle-active span:nth-child(2) {
        opacity: 0;
    }

    .ls-topnav-toggle.ls-toggle-active span:nth-child(3) {
        transform:
            translateY(-7px)
            rotate(-45deg);
    }


    /* =========================================================
       TABLET / MOBILE
    ========================================================= */

    @media (max-width: 767px) {

        .ls-navbar-wrapper {
            padding: 10px 12px 0;
        }

        .ls-topnav {
            height: 60px;
            border-radius: 14px;
        }

        .ls-topnav .ls-topnav-inner {
            padding: 0 16px;
        }

        .ls-topnav-brand {
            font-size: 19px;
        }


        /* SHOW HAMBURGER */

        .ls-topnav-toggle {
            display: block;
        }


        /* =====================================================
           MOBILE MENU
        ===================================================== */

        .ls-topnav-list {
            position: absolute;

            top: calc(100% + 8px);
            left: 0;

            width: 100%;

            box-sizing: border-box;

            display: flex;

            flex-direction: column;
            align-items: stretch;

            background-color: #0b1019;

            border: 1px solid #262f3d;

            border-radius: 14px;

            box-shadow:
                0 8px 25px rgba(0, 0, 0, 0.35);

            padding: 8px;

            opacity: 0;

            visibility: hidden;

            transform: translateY(-10px);

            transition:
                opacity 0.3s ease,
                transform 0.3s ease,
                visibility 0.3s ease;
        }


        /* OPEN */

        .ls-topnav-list.ls-topnav-open {
            opacity: 1;

            visibility: visible;

            transform: translateY(0);
        }


        /* MOBILE LINKS */

        .ls-topnav-list a {
            padding: 13px 16px;

            margin: 2px 0;
        }

        .ls-topnav-list a:hover {
            transform: translateX(5px);
        }


        /* MOBILE UNDERLINE */

        .ls-topnav-list a::after {
            left: 16px;

            bottom: 4px;

            transform: none;
        }

        .ls-topnav-list a:hover::after,
        .ls-topnav-list a.ls-active::after {
            width: 40px;
        }
    }


    /* =========================================================
       VERY SMALL PHONES
    ========================================================= */

    @media (max-width: 400px) {

        .ls-navbar-wrapper {
            padding-left: 8px;
            padding-right: 8px;
        }

        .ls-topnav .ls-topnav-inner {
            padding: 0 13px;
        }

        .ls-topnav-brand {
            font-size: 17px;
        }
    }

    /* =========================================================
       SETTINGS (GEAR) ICON
    ========================================================= */

    .ls-topnav-list a.ls-gear-link {
        display: flex;
        align-items: center;
        gap: 8px;
        padding: 9px 11px;
    }

    .ls-topnav-list a.ls-gear-link svg {
        width: 19px;
        height: 19px;
        transition: transform 0.5s ease;
    }

    .ls-topnav-list a.ls-gear-link:hover svg {
        transform: rotate(90deg);
    }

    .ls-topnav-list a.ls-gear-link .ls-gear-text {
        display: none;
    }

    .ls-topnav-list a.ls-gear-link::after {
        display: none;
    }

    @media (max-width: 767px) {
        .ls-topnav-list a.ls-gear-link .ls-gear-text {
            display: inline;
        }
    }

    /* =========================================================
       BACK BAR
    ========================================================= */

    .ls-backbar {
        max-width: 1200px;
        margin: 10px auto 0;
        box-sizing: border-box;
    }

    .ls-back-link {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        color: #9fb0b4;
        text-decoration: none;
        font-size: 14px;
        font-weight: 600;
        padding: 6px 12px 6px 8px;
        border-radius: 9px;
        transition: color 0.2s ease, background-color 0.2s ease;
    }

    .ls-back-link svg {
        width: 17px;
        height: 17px;
        transition: transform 0.2s ease;
    }

    .ls-back-link:hover {
        color: #2ee6c0;
        background-color: #0b1019;
        text-decoration: none;
    }

    .ls-back-link:hover svg {
        transform: translateX(-3px);
    }

    .ls-backbar { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }

    .ls-backbar .ls-hist {
        display: inline-flex !important;
        align-items: center !important;
        gap: 7px !important;
        border: 1px solid #262f3d !important;
        background: #0b1019 !important;
        color: #e6eef0 !important;
        font: inherit !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        padding: 6px 14px !important;
        border-radius: 999px !important;
        cursor: pointer !important;
        transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, transform 0.15s ease;
    }

    .ls-backbar .ls-hist svg { width: 16px !important; height: 16px !important; transition: transform 0.2s ease; }
    .ls-backbar .ls-hist:hover { color: #fff !important; background: #0b1019 !important; border-color: #2ee6c0 !important; }
    .ls-hist:active { transform: scale(0.97); }
    .ls-hist:focus-visible { outline: 2px solid #2ee6c0; outline-offset: 2px; }
    #lsHistBack:hover svg { transform: translateX(-3px); }
    #lsHistFwd:hover svg { transform: translateX(3px); }
    .ls-backbar .ls-hist[disabled] { opacity: 0.4 !important; cursor: default !important; pointer-events: none; }
    .ls-hist-home { margin-left: 6px; }

    @media print {
        .ls-backbar { display: none; }
    }

/* Firm name and logo next to the platform brand */
.ls-firm-brand { display:inline-flex; align-items:center; gap:8px; margin-left:14px; padding-left:14px; border-left:1px solid rgba(255,255,255,.25); color:#fff; font-weight:600; font-size:14px; max-width:260px; }
.ls-firm-brand img { height:28px; width:auto; max-width:120px; object-fit:contain; border-radius:4px; background:rgba(255,255,255,.92); padding:2px 4px; }
.ls-firm-brand span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
@media (max-width: 720px) { .ls-firm-brand { display:none; } }

.ls-chat-badge { display:inline-block; min-width:18px; padding:1px 6px; margin-left:4px; border-radius:10px; background:#ffb33d; color:#1a1204; font-size:11px; font-weight:700; line-height:1.4; text-align:center; vertical-align:middle; }

.ls-topnav-list a.ls-me { padding:0 !important; display:flex; align-items:center; background:none !important; }
.ls-topnav-list a.ls-me .avatar { border-color:rgba(224,182,83,.85); }

/* notification bell: always shown for people who belong to a firm */
.ls-bell-link { position:relative; display:inline-flex; align-items:center; gap:6px; }
.ls-bell-link svg { display:block; }
.ls-bell-badge { position:absolute; top:-6px; right:-8px; min-width:17px; padding:0 5px; border-radius:9px; background:#ffb33d; color:#101725; font-size:10.5px; font-weight:800; line-height:17px; text-align:center; box-shadow:0 0 0 2px var(--ls-nav-bg, #101725); }
.ls-bell-link .ls-gear-text { display:none; }
@media (max-width: 900px) { .ls-bell-link .ls-gear-text { display:inline; } .ls-bell-badge { position:static; margin-left:2px; box-shadow:none; } }

/* Phone menu: every entry lines up the same way (icon, then text, same left edge) */
@media (max-width: 767px) {
    .ls-topnav-list li > a:not(.ls-me),
    .ls-topnav-list li > button.ls-theme-btn { display:flex; align-items:center; gap:10px; width:100%; box-sizing:border-box; padding:13px 16px !important; font:inherit; text-align:left; }
    .ls-topnav-list li > a.ls-me { padding:8px 16px !important; }
    .ls-topnav-list a.ls-gear-link svg, .ls-topnav-list .ls-bell-link svg, .ls-topnav-list button.ls-theme-btn svg { width:19px; height:19px; flex:0 0 auto; }
    .ls-topnav-list a.ls-gear-link:hover svg { transform:none; }
    .ls-topnav-list button.ls-theme-btn .ls-gear-text { display:inline; }
}

/* Smooth roll-down for the phone menu (it unrolls from the top bar instead of appearing at once) */
@media (max-width: 767px) {
    .ls-topnav-list {
        clip-path: inset(0 0 100% 0 round 14px);
        transform: translateY(-6px);
        transition: clip-path .6s cubic-bezier(.45,.05,.25,1), opacity .25s ease, transform .6s cubic-bezier(.45,.05,.25,1), visibility 0s linear .6s;
    }
    .ls-topnav-list.ls-topnav-open {
        clip-path: inset(0 0 0 0 round 14px);
        transform: none;
        transition: clip-path .6s cubic-bezier(.45,.05,.25,1), opacity .2s ease, transform .6s cubic-bezier(.45,.05,.25,1), visibility 0s;
    }
    .ls-topnav-list > li { opacity:0; transform:translateY(-6px); transition:opacity .2s ease, transform .2s ease; }
    .ls-topnav-list.ls-topnav-open > li { opacity:1; transform:none; transition:opacity .3s ease .08s, transform .35s ease .08s; }
    .ls-topnav-list.ls-topnav-open > li:nth-child(2) { transition-delay:.12s; }
    .ls-topnav-list.ls-topnav-open > li:nth-child(3) { transition-delay:.16s; }
    .ls-topnav-list.ls-topnav-open > li:nth-child(4) { transition-delay:.2s; }
    .ls-topnav-list.ls-topnav-open > li:nth-child(n+5) { transition-delay:.24s; }
}
@media (prefers-reduced-motion: reduce) {
    .ls-topnav-list, .ls-topnav-list > li { transition:none !important; }
}

/* Firm logo strip under the top bar (Matters and Auto pages); the bar copy is hidden there */
.ls-firm-brand.ls-firm-brand-off { display:none !important; }
.ls-firmstrip { max-width:1200px; margin:10px auto 0; box-sizing:border-box; padding:8px 14px; display:flex; align-items:center; gap:14px;
    background:#ffffff; border:1px solid #eae8df; border-radius:12px; color:#101725; }
.ls-firmstrip img { width:auto; max-width:190px; max-height:64px; height:auto; display:block; background:#fff; border-radius:8px; padding:4px 8px; border:1px solid #eae8df; object-fit:contain; }
.ls-firmstrip .ls-firmstrip-name { font-weight:700; font-size:16px; letter-spacing:.2px; color:inherit; }
html[data-theme="dark"] .ls-firmstrip { background:#0b1019; border-color:#262f3d; color:#e9f2f2; }
html[data-theme="dark"] .ls-firmstrip img { border-color:#262f3d; }
@media (prefers-color-scheme: dark) {
    html[data-theme="auto"] .ls-firmstrip { background:#0b1019; border-color:#262f3d; color:#e9f2f2; }
    html[data-theme="auto"] .ls-firmstrip img { border-color:#262f3d; }
}
@media (max-width:720px) { .ls-firmstrip { margin:8px 12px 0; } }
@media print { .ls-firmstrip { display:none; } }

/* "My favourite home" button in the Back bar */
.ls-backbar a.ls-fav-back { text-decoration: none !important; color: #ffb33d !important; margin-left: 6px; }
.ls-backbar a.ls-fav-back:hover { color: #fff !important; text-decoration: none !important; }
@media (max-width: 560px) { .ls-backbar a.ls-fav-back { padding: 6px 10px !important; font-size: 13px !important; } }


/* =========================================================
   HOME PAGE TOP BAR (index.php): logo, transparent over the hero, frosted glass once the page is scrolled
   ========================================================= */
.ls-nav-home { position:fixed; top:0; left:0; right:0; z-index:60; padding:14px 20px 0; background:transparent; }
.ls-nav-home .ls-topnav { max-width:1476px; height:70px; background:transparent; border:1px solid transparent; border-radius:18px; box-shadow:none;
    transition:background-color .35s ease, border-color .35s ease, box-shadow .35s ease, -webkit-backdrop-filter .35s ease, backdrop-filter .35s ease; }
.ls-nav-home .ls-topnav:hover { background:transparent; border-color:transparent; box-shadow:none; }
.ls-nav-home.ls-scrolled .ls-topnav { background:rgba(6,9,14,.6); border-color:rgba(255,255,255,.14);
    -webkit-backdrop-filter:blur(18px) saturate(150%); backdrop-filter:blur(18px) saturate(150%); box-shadow:inset 0 1px 0 rgba(255,255,255,.1), 0 18px 40px -22px rgba(0,0,0,.85); }
.ls-nav-home .ls-topnav .ls-topnav-inner { padding:0 14px; }
.ls-nav-home .ls-topnav-brand { padding:0; display:flex; align-items:center; }
.ls-nav-home .ls-topnav-brand:hover { transform:none; text-shadow:none; }
.ls-nav-home .ls-brand-logo { height:50px; width:auto; display:block; filter:brightness(1.9) saturate(1.2); transition:transform .3s ease; }
.ls-nav-home .ls-topnav-brand:hover .ls-brand-logo { transform:scale(1.04); }
.ls-nav-home .ls-topnav-list a { color:#cfdcdc; font-size:15px; padding:10px 15px; border-radius:11px; }
.ls-nav-home .ls-topnav-list a:hover { color:#fff; background:rgba(255,255,255,.08); }
.ls-nav-home .ls-topnav-list a::after { display:none; }
.ls-nav-home .ls-topnav-list a.ls-nav-cta { margin-left:10px; padding:10px 20px; font-weight:700; color:#07120f; background:linear-gradient(110deg,#f4fffd,#d9f7ef 55%,#ffe7c4);
    box-shadow:0 8px 22px -8px rgba(255,150,60,.55); }
.ls-nav-home .ls-topnav-list a.ls-nav-cta:hover { color:#07120f; background:linear-gradient(110deg,#fff,#e6fbf4 55%,#ffeed3); transform:translateY(-1px); }
.ls-nav-home .ls-topnav-toggle { background:rgba(255,255,255,.07); border-color:rgba(255,255,255,.16); }
@media (max-width:767px) {
    .ls-nav-home { padding:10px 12px 0; }
    .ls-nav-home .ls-topnav { height:62px; }
    .ls-nav-home .ls-brand-logo { height:42px; }
    .ls-nav-home .ls-topnav-list.ls-topnav-open { background:rgba(6,9,14,.96); border:1px solid rgba(255,255,255,.14); border-radius:14px; }
    .ls-nav-home .ls-topnav-list a.ls-nav-cta { margin:6px 0 0; text-align:center; }
}
/* light home page: dark ink and a light glass bar */
html[data-theme="light"] .ls-nav-home .ls-brand-logo { filter:none; }
html[data-theme="light"] .ls-nav-home .ls-topnav-list a { color:#0d1620; }
html[data-theme="light"] .ls-nav-home .ls-topnav-list a:hover { color:#0d1620; background:rgba(7,11,17,.07); }
html[data-theme="light"] .ls-nav-home.ls-scrolled .ls-topnav { background:rgba(255,255,255,.7); border-color:rgba(7,11,17,.12); box-shadow:inset 0 1px 0 rgba(255,255,255,.8), 0 18px 40px -22px rgba(7,11,17,.35); }
html[data-theme="light"] .ls-nav-home .ls-topnav-list a.ls-nav-cta { color:#fff; background:linear-gradient(110deg,#0b8a78,#b86a0f); box-shadow:0 8px 22px -8px rgba(184,106,15,.5); }
html[data-theme="light"] .ls-nav-home .ls-topnav-list.ls-topnav-open { background:rgba(255,255,255,.97); border-color:rgba(7,11,17,.12); }
@media (prefers-color-scheme: light) {
    html[data-theme="auto"] .ls-nav-home .ls-brand-logo { filter:none; }
    html[data-theme="auto"] .ls-nav-home .ls-topnav-list a { color:#0d1620; }
    html[data-theme="auto"] .ls-nav-home .ls-topnav-list a:hover { color:#0d1620; background:rgba(7,11,17,.07); }
    html[data-theme="auto"] .ls-nav-home.ls-scrolled .ls-topnav { background:rgba(255,255,255,.7); border-color:rgba(7,11,17,.12); box-shadow:inset 0 1px 0 rgba(255,255,255,.8), 0 18px 40px -22px rgba(7,11,17,.35); }
    html[data-theme="auto"] .ls-nav-home .ls-topnav-list a.ls-nav-cta { color:#fff; background:linear-gradient(110deg,#0b8a78,#b86a0f); box-shadow:0 8px 22px -8px rgba(184,106,15,.5); }
    html[data-theme="auto"] .ls-nav-home .ls-topnav-list.ls-topnav-open { background:rgba(255,255,255,.97); border-color:rgba(7,11,17,.12); }
}
.ls-nav-home .ls-topnav-list a { font-family:"Segoe UI Variable Display","Segoe UI",system-ui,-apple-system,Roboto,Helvetica,Arial,sans-serif; }

/* glass Request access pill in the home top bar */
.ls-nav-home .ls-topnav-list a.ls-nav-cta { margin-left:12px; padding:10px 22px; font-weight:600; color:#eafffa; border-radius:10px;
    background:linear-gradient(135deg,rgba(46,230,192,.22),rgba(255,255,255,.07) 55%,rgba(255,179,61,.2));
    border:1px solid rgba(255,255,255,.26); -webkit-backdrop-filter:blur(14px) saturate(160%); backdrop-filter:blur(14px) saturate(160%);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.28), 0 10px 26px -12px rgba(46,230,192,.55); transition:background .3s ease, border-color .3s ease, box-shadow .3s ease, transform .3s ease; }
.ls-nav-home .ls-topnav-list a.ls-nav-cta:hover { color:#fff; border-color:rgba(255,255,255,.45); transform:translateY(-1px);
    background:linear-gradient(135deg,rgba(46,230,192,.34),rgba(255,255,255,.1) 55%,rgba(255,179,61,.3)); box-shadow:inset 0 1px 0 rgba(255,255,255,.35), 0 14px 30px -12px rgba(46,230,192,.7); }
html[data-theme="light"] .ls-nav-home .ls-topnav-list a.ls-nav-cta { color:#0d1620; background:linear-gradient(135deg,rgba(11,138,120,.18),rgba(255,255,255,.55) 55%,rgba(184,106,15,.16)); border-color:rgba(7,11,17,.2); box-shadow:inset 0 1px 0 rgba(255,255,255,.8), 0 10px 26px -14px rgba(7,11,17,.4); }
@media (prefers-color-scheme: light) {
    html[data-theme="auto"] .ls-nav-home .ls-topnav-list a.ls-nav-cta { color:#0d1620; background:linear-gradient(135deg,rgba(11,138,120,.18),rgba(255,255,255,.55) 55%,rgba(184,106,15,.16)); border-color:rgba(7,11,17,.2); box-shadow:inset 0 1px 0 rgba(255,255,255,.8), 0 10px 26px -14px rgba(7,11,17,.4); }
}

/* firm logo under the top bar: no box, no frame, just the logo and name (all themes) */
.ls-firmstrip, html[data-theme="dark"] .ls-firmstrip, html[data-theme="auto"] .ls-firmstrip { background:transparent !important; border:0 !important; border-radius:0; box-shadow:none; padding:0 14px; }
.ls-firmstrip img, html[data-theme="dark"] .ls-firmstrip img, html[data-theme="auto"] .ls-firmstrip img { background:transparent !important; border:0 !important; border-radius:0; padding:0; }
html[data-theme="dark"] .ls-firmstrip { color:#e6eef0; }

/* Back / Forward / favourite-home pills: slim, outlined, readable on the light page too */
html[data-theme="light"] .ls-backbar .ls-hist { background:#fff !important; color:#0d1620 !important; border:1px solid #cfd3d0 !important; box-shadow:none !important; }
html[data-theme="light"] .ls-backbar .ls-hist:hover { border-color:#0b8a78 !important; }
html[data-theme="light"] .ls-backbar .ls-hist:disabled { opacity:.5; }
html[data-theme="light"] .ls-backbar .ls-fav-back { color:#b86a0f !important; }
