/* WI 1391: the service provider landing page (/solutions/service-providers).

   Loaded through the layout's Styles section, after main.css/site.css. Every rule is scoped under
   .spl-page (or .spl-body for the shared chrome) so nothing leaks into the header, footer or other
   pages; tokens live on .spl-page rather than :root. Light only - WebUI has no dark mode.

   Colour notes (AA):
   - #1B998B is 3.5:1 on white: large text (accent words in headlines), icons and borders only.
   - Small teal text uses #007a7a (5.2:1). Muted text #5d6f76 is 5.2:1 on white, 4.6:1 on soft.
   - Yellow #FED766 carries deep-teal text (8:1) and is the focus ring on dark sections.

   The product views are HTML/CSS reproductions of real 9AT screens (labels match the app); the
   real screenshots open in a <dialog> when they are deployed. Motion is opt-in: the script adds
   .spl-motion only when the visitor has not asked for reduced motion, so without JavaScript or
   with reduced motion everything is simply shown in place. */

.spl-body footer {
    margin-top: 0;
}

.spl-page {
    --spl-deep: #02424B;
    --spl-deeper: #03323A;
    --spl-teal: #1B998B;
    --spl-teal-text: #007a7a;
    --spl-hover: #00A6A6;
    --spl-yellow: #FED766;
    --spl-yellow-soft: #fff4cc;
    --spl-ink: #363836;
    --spl-muted: #5d6f76;
    --spl-soft: #eaf3f1;
    --spl-warm: #fbf6e4;
    --spl-line: #d7e3dd;
    --spl-line-strong: #c3d4ce;
    --spl-surface: #ffffff;
    --spl-subtle: #f6f9f8;
    --spl-danger: #b42318;
    --spl-on-dark: #ffffff;
    --spl-on-dark-muted: #c6dcd7;
    --spl-on-dark-line: rgba(255, 255, 255, 0.16);
    --spl-radius-sm: 8px;
    --spl-radius: 14px;
    --spl-radius-lg: 24px;
    --spl-shadow-window: 0 1px 2px rgba(2, 66, 75, 0.06), 0 28px 64px -28px rgba(2, 66, 75, 0.38);
    --spl-shadow-card: 0 1px 2px rgba(2, 66, 75, 0.05), 0 14px 32px -22px rgba(2, 66, 75, 0.3);
    --spl-space: clamp(72px, 9vw, 128px);
    --spl-gutter: clamp(16px, 4vw, 32px);
    --spl-ease: cubic-bezier(0.2, 0.7, 0.2, 1);
    display: block;
    padding-top: 90px; /* the layout's fixed header */
    color: var(--spl-ink);
    background: var(--spl-surface);
    font-family: 'Open Sans', system-ui, -apple-system, 'Segoe UI', Arial, sans-serif;
    font-size: 17px;
    line-height: 1.6;
    overflow-x: hidden;
    overflow-x: clip;
    overflow-wrap: break-word;
    -webkit-font-smoothing: antialiased;
}

    /* ---------- Reset the global element styles inside the page ---------- */

    .spl-page *,
    .spl-page *::before,
    .spl-page *::after {
        box-sizing: border-box;
    }

    .spl-page h1,
    .spl-page h2,
    .spl-page h3,
    .spl-page p,
    .spl-page ul,
    .spl-page ol,
    .spl-page dl,
    .spl-page dd,
    .spl-page figure {
        margin: 0;
        padding: 0;
        font-family: inherit;
        text-align: inherit;
        text-transform: none;
        letter-spacing: normal;
    }

    .spl-page h1::before,
    .spl-page h2::before,
    .spl-page h3::before {
        content: none;
        display: none;
    }

    .spl-page h1,
    .spl-page h2,
    .spl-page h3 {
        color: var(--spl-deep);
        font-weight: 600;
    }

    .spl-page ul,
    .spl-page ol {
        list-style: none;
    }

    .spl-page dt {
        font-weight: inherit;
    }

    .spl-page img {
        max-width: 100%;
        height: auto;
    }

    .spl-page a {
        color: var(--spl-teal-text);
        text-decoration: underline;
        text-underline-offset: 0.18em;
    }

        .spl-page a:hover {
            color: var(--spl-deep);
        }

    .spl-page button {
        font: inherit;
        color: inherit;
    }

    .spl-page [hidden] {
        display: none !important;
    }

    .spl-page :focus-visible {
        outline: 3px solid var(--spl-teal-text);
        outline-offset: 3px;
    }

    .spl-page .spl-dark :focus-visible,
    .spl-page .spl-sticky :focus-visible {
        outline-color: var(--spl-yellow);
    }

    .spl-page .spl-band :focus-visible {
        outline-color: var(--spl-deep);
    }

    /* The white form and success cards sit inside the dark booking section: yellow on white is
       1.4:1, so their controls (submit, links, captcha refresh) keep the teal ring. */
    .spl-page .spl-dark .spl-form :focus-visible,
    .spl-page .spl-dark .spl-success :focus-visible {
        outline-color: var(--spl-teal-text);
    }

    .spl-page .spl-sr {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
    }

    /* ---------- Layout ---------- */

    .spl-page .spl-container {
        width: 100%;
        max-width: 1240px;
        margin: 0 auto;
        padding: 0 var(--spl-gutter);
    }

    .spl-page .spl-section {
        position: relative;
        padding: var(--spl-space) 0;
        scroll-margin-top: 100px;
    }

    .spl-page [id] {
        scroll-margin-top: 100px;
    }

    .spl-page .spl-section--soft {
        background: var(--spl-soft);
    }

    .spl-page .spl-section--warm {
        background: var(--spl-warm);
    }

    .spl-page .spl-section--line {
        border-top: 1px solid var(--spl-line);
    }

    .spl-page .spl-split {
        display: grid;
        grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
        gap: clamp(40px, 6vw, 88px);
        align-items: center;
    }

    .spl-page .spl-split--reverse {
        grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    }

        .spl-page .spl-split--reverse .spl-feature__copy {
            order: 2;
        }

        .spl-page .spl-split--reverse .spl-feature__visual {
            order: 1;
        }

    /* ---------- Type ---------- */

    .spl-page .spl-eyebrow {
        display: inline-flex;
        align-items: center;
        gap: 12px;
        margin-bottom: 22px;
        color: var(--spl-teal-text);
        font-size: 13px;
        font-weight: 700;
        line-height: 1.3;
        letter-spacing: 0.16em;
        text-transform: uppercase;
    }

        .spl-page .spl-eyebrow::before {
            content: "";
            flex: none;
            width: 28px;
            height: 4px;
            border-radius: 2px;
            background: var(--spl-yellow);
        }

    .spl-page .spl-tag {
        display: flex;
        align-items: center;
        gap: 14px;
        margin-bottom: 22px;
        color: var(--spl-teal-text);
        font-size: 13px;
        font-weight: 700;
        line-height: 1.3;
        letter-spacing: 0.14em;
        text-transform: uppercase;
    }

    .spl-page .spl-tag__num {
        display: inline-flex;
        align-items: center;
        gap: 14px;
        font-variant-numeric: tabular-nums;
        color: var(--spl-deep);
    }

        .spl-page .spl-tag__num::after {
            content: "";
            width: 28px;
            height: 1px;
            background: currentColor;
            opacity: 0.45;
        }

    .spl-page .spl-h1 {
        font-size: clamp(2.5rem, 1.55rem + 4.3vw, 4.75rem);
        line-height: 1.03;
        letter-spacing: -0.035em;
        font-weight: 600;
    }

        .spl-page .spl-h1 span {
            display: block;
            color: var(--spl-teal);
        }

    .spl-page .spl-h2 {
        font-size: clamp(2.1rem, 1.35rem + 3vw, 3.6rem);
        line-height: 1.05;
        letter-spacing: -0.03em;
        font-weight: 600;
        max-width: 16ch;
    }

        /* The accent phrase always starts its own line, as in the approved mock-up. */
        .spl-page .spl-h2 em,
        .spl-page .spl-h2 span {
            display: block;
            font-style: normal;
            color: var(--spl-teal);
        }

    .spl-page .spl-h2--wide {
        max-width: 22ch;
    }

    .spl-page .spl-h2--compact {
        font-size: clamp(1.85rem, 1.3rem + 2vw, 2.75rem);
        max-width: none;
    }

    /* Headline that wraps naturally: the accent phrase stays inline. */
    .spl-page .spl-h2--flow {
        max-width: 24ch;
    }

        .spl-page .spl-h2--flow em,
        .spl-page .spl-h2--flow span {
            display: inline;
        }

    .spl-page .spl-copy {
        margin-top: 24px;
        max-width: 34rem;
        color: var(--spl-muted);
        font-size: 18px;
        line-height: 1.7;
    }

    .spl-page .spl-footnote {
        color: var(--spl-muted);
        font-size: 13px;
        line-height: 1.6;
    }

    /* ---------- Buttons and links ---------- */

    .spl-page .spl-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 12px;
        min-height: 52px;
        padding: 12px 26px;
        border: 1px solid transparent;
        border-radius: 999px;
        font-size: 16px;
        font-weight: 700;
        line-height: 1.2;
        letter-spacing: 0.005em;
        text-align: center;
        text-decoration: none;
        text-transform: none;
        cursor: pointer;
        transition: transform 0.2s var(--spl-ease), box-shadow 0.2s ease, background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
    }

        .spl-page .spl-btn:hover {
            transform: translateY(-2px);
        }

        .spl-page .spl-btn:active {
            transform: translateY(0);
        }

    .spl-page .spl-btn__icon {
        flex: none;
        width: 18px;
        height: 18px;
        transition: transform 0.2s var(--spl-ease);
    }

    .spl-page .spl-btn:hover .spl-btn__icon {
        transform: translate(2px, -2px);
    }

    .spl-page .spl-btn--down:hover .spl-btn__icon {
        transform: translateY(2px);
    }

    .spl-page .spl-btn--primary {
        background: var(--spl-yellow);
        border-color: #f0c94d;
        color: var(--spl-deep);
        box-shadow: 0 10px 24px -14px rgba(2, 66, 75, 0.55);
    }

        .spl-page .spl-btn--primary:hover {
            background: #ffe082;
            color: var(--spl-deep);
            box-shadow: 0 16px 30px -16px rgba(2, 66, 75, 0.6);
        }

    .spl-page .spl-btn--dark {
        background: var(--spl-deep);
        color: var(--spl-on-dark);
    }

        .spl-page .spl-btn--dark:hover {
            background: var(--spl-teal-text);
            color: var(--spl-on-dark);
        }

    .spl-page .spl-btn--ghost {
        background: var(--spl-surface);
        border-color: var(--spl-line-strong);
        color: var(--spl-deep);
    }

        .spl-page .spl-btn--ghost:hover {
            border-color: var(--spl-deep);
            color: var(--spl-deep);
        }

    .spl-page .spl-btn--sm {
        min-height: 44px;
        padding: 9px 20px;
        font-size: 15px;
    }

    .spl-page .spl-btn[disabled] {
        opacity: 0.6;
        cursor: progress;
        transform: none;
    }

    .spl-page .spl-link {
        display: inline-block;
        margin-top: 30px;
        padding: 6px 0;
        border-bottom: 2px solid rgba(0, 122, 122, 0.35);
        color: var(--spl-teal-text);
        font-size: 16px;
        font-weight: 700;
        text-decoration: none;
        transition: border-color 0.2s ease, color 0.2s ease;
    }

        .spl-page .spl-link:hover {
            color: var(--spl-deep);
            border-bottom-color: var(--spl-deep);
        }

        .spl-page .spl-link .spl-btn__icon {
            width: 16px;
            height: 16px;
            margin-left: 8px;
            vertical-align: -2px;
        }

        .spl-page .spl-link:hover .spl-btn__icon {
            transform: translate(2px, -2px);
        }

    /* ---------- Hero ---------- */

    .spl-page .spl-hero {
        position: relative;
        padding: clamp(64px, 8vw, 112px) 0 clamp(48px, 6vw, 72px);
        text-align: center;
        background:
            radial-gradient(60% 70% at 50% 100%, rgba(27, 153, 139, 0.14) 0%, rgba(27, 153, 139, 0) 70%),
            linear-gradient(180deg, #ffffff 0%, var(--spl-soft) 100%);
        overflow: hidden;
        scroll-margin-top: 100px;
    }

        .spl-page .spl-hero::before {
            content: "";
            position: absolute;
            inset: 0;
            background-image: radial-gradient(circle at 1px 1px, rgba(2, 66, 75, 0.09) 1px, transparent 0);
            background-size: 22px 22px;
            -webkit-mask-image: radial-gradient(70% 60% at 50% 40%, #000 0%, transparent 75%);
            mask-image: radial-gradient(70% 60% at 50% 40%, #000 0%, transparent 75%);
            pointer-events: none;
        }

    .spl-page .spl-hero__inner {
        position: relative;
        max-width: 980px;
    }

    .spl-page .spl-hero .spl-eyebrow {
        margin-bottom: 26px;
    }

    .spl-page .spl-hero__copy {
        max-width: 36rem;
        margin: 28px auto 0;
        color: var(--spl-muted);
        font-size: clamp(17px, 0.95rem + 0.35vw, 20px);
        line-height: 1.7;
    }

    .spl-page .spl-hero__actions {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 14px;
        margin-top: 36px;
    }

    .spl-page .spl-hero__note {
        margin-top: 18px;
        color: var(--spl-muted);
        font-size: 14px;
    }

    .spl-page .spl-audience {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 10px;
        max-width: 860px;
        margin: clamp(48px, 6vw, 72px) auto 0;
        padding-top: 28px;
        border-top: 1px solid var(--spl-line);
    }

        .spl-page .spl-audience li {
            padding: 8px 16px;
            border: 1px solid var(--spl-line);
            border-radius: 999px;
            background: rgba(255, 255, 255, 0.75);
            color: var(--spl-deep);
            font-size: 14px;
            font-weight: 600;
            line-height: 1.3;
        }

    /* ---------- Feature sections ---------- */

    .spl-page .spl-feature__visual {
        min-width: 0;
    }

    .spl-page .spl-feature__head {
        max-width: 760px;
    }

    .spl-page .spl-feature__stage {
        margin-top: clamp(40px, 5vw, 64px);
    }

    .spl-page .spl-scene {
        position: relative;
        padding: clamp(14px, 3vw, 36px);
        border-radius: var(--spl-radius-lg);
        background:
            radial-gradient(circle at 1px 1px, rgba(2, 66, 75, 0.08) 1px, transparent 0) 0 0 / 18px 18px,
            var(--spl-soft);
    }

    .spl-page .spl-scene--warm {
        background:
            radial-gradient(circle at 1px 1px, rgba(120, 92, 10, 0.1) 1px, transparent 0) 0 0 / 18px 18px,
            #f6eccb;
    }

    .spl-page .spl-scene--plain {
        background:
            radial-gradient(circle at 1px 1px, rgba(2, 66, 75, 0.08) 1px, transparent 0) 0 0 / 18px 18px,
            var(--spl-surface);
        border: 1px solid var(--spl-line);
    }

    .spl-page .spl-shot__foot {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: 10px 18px;
        margin-top: 16px;
    }

    .spl-page .spl-caption {
        color: var(--spl-muted);
        font-size: 13px;
        line-height: 1.4;
    }

    .spl-page .spl-shot-link {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        min-height: 40px;
        padding: 8px 16px;
        border: 1px solid var(--spl-line-strong);
        border-radius: 999px;
        background: var(--spl-surface);
        color: var(--spl-deep);
        font-size: 14px;
        font-weight: 700;
        text-decoration: none;
        transition: border-color 0.2s ease, background-color 0.2s ease;
    }

        .spl-page .spl-shot-link:hover {
            border-color: var(--spl-deep);
            color: var(--spl-deep);
        }

        .spl-page .spl-shot-link i {
            color: var(--spl-teal-text);
        }

    /* ---------- Product window (browser chrome + app frame) ---------- */

    .spl-page .spl-window {
        position: relative;
        overflow: hidden;
        border: 1px solid var(--spl-line);
        border-radius: var(--spl-radius);
        background: var(--spl-surface);
        box-shadow: var(--spl-shadow-window);
        font-size: 14px;
        line-height: 1.45;
        text-align: left;
    }

    .spl-page .spl-window__bar {
        display: flex;
        align-items: center;
        gap: 14px;
        height: 42px;
        padding: 0 14px;
        border-bottom: 1px solid var(--spl-line);
        background: #f3f7f5;
    }

    .spl-page .spl-window__dots {
        display: inline-flex;
        flex: none;
        gap: 6px;
    }

        .spl-page .spl-window__dots i {
            width: 10px;
            height: 10px;
            border-radius: 50%;
            background: #e7a196;
        }

            .spl-page .spl-window__dots i:nth-child(2) {
                background: #efcd77;
            }

            .spl-page .spl-window__dots i:nth-child(3) {
                background: #9dcfb3;
            }

    .spl-page .spl-window__tab {
        flex: 0 1 auto;
        min-width: 0;
        padding: 5px 12px;
        border: 1px solid var(--spl-line);
        border-radius: 8px;
        background: var(--spl-surface);
        color: var(--spl-deep);
        font-size: 12px;
        font-weight: 600;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .spl-page .spl-window__url {
        display: inline-flex;
        flex: 1 1 auto;
        align-items: center;
        gap: 8px;
        min-width: 0;
        max-width: 320px;
        margin-left: auto;
        padding: 5px 12px;
        border-radius: 999px;
        background: var(--spl-surface);
        color: var(--spl-muted);
        font-size: 12px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

        .spl-page .spl-window__url i {
            color: var(--spl-teal-text);
            font-size: 10px;
        }

    .spl-page .spl-app__nav {
        display: flex;
        align-items: center;
        gap: 20px;
        height: 40px;
        padding: 0 18px;
        overflow: hidden;
        background: var(--spl-deep);
        color: rgba(255, 255, 255, 0.82);
        font-size: 12px;
        font-weight: 600;
        white-space: nowrap;
    }

    .spl-page .spl-app__logo {
        color: var(--spl-yellow);
        font-size: 15px;
        font-weight: 800;
        letter-spacing: -0.02em;
    }

    .spl-page .spl-app__nav .is-active {
        position: relative;
        color: var(--spl-on-dark);
    }

        .spl-page .spl-app__nav .is-active::after {
            content: "";
            position: absolute;
            left: 0;
            right: 0;
            bottom: -12px;
            height: 3px;
            border-radius: 2px;
            background: var(--spl-yellow);
        }

    .spl-page .spl-app__main {
        padding: 20px 22px 22px;
    }

    .spl-page .spl-app__head {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: 8px 14px;
        margin-bottom: 16px;
    }

    .spl-page .spl-app__title {
        color: var(--spl-deep);
        font-size: 17px;
        font-weight: 700;
        line-height: 1.3;
        letter-spacing: -0.01em;
    }

        .spl-page .spl-app__title .spl-badge {
            margin-left: 8px;
            vertical-align: 2px;
        }

        .spl-page .spl-app__title .spl-cell-muted {
            font-weight: 600;
        }

    .spl-page .spl-app__sub {
        margin-top: 2px;
        color: var(--spl-muted);
        font-size: 12.5px;
    }

    .spl-page .spl-badge {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        padding: 3px 9px;
        border-radius: 999px;
        font-size: 11px;
        font-weight: 700;
        line-height: 1.5;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        white-space: nowrap;
    }

    .spl-page .spl-badge--soft {
        background: var(--spl-soft);
        color: var(--spl-teal-text);
    }

    .spl-page .spl-badge--warn {
        background: var(--spl-yellow-soft);
        color: #6b5200;
    }

    .spl-page .spl-badge--gain {
        background: #dff2ea;
        color: #0b6650;
    }

    .spl-page .spl-badge--loss {
        background: #fde9d4;
        color: #8a4508;
    }

    .spl-page .spl-badge--deep {
        background: var(--spl-deep);
        color: var(--spl-yellow);
    }

    .spl-page .spl-dot {
        flex: none;
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background: currentColor;
    }

    /* Toggle groups (aria-pressed) */

    .spl-page .spl-control-label {
        display: block;
        margin-bottom: 8px;
        color: var(--spl-muted);
        font-size: 11.5px;
        font-weight: 700;
        letter-spacing: 0.08em;
        text-transform: uppercase;
    }

    .spl-page .spl-segment {
        display: flex;
        flex-wrap: wrap;
        gap: 6px;
    }

        .spl-page .spl-segment button {
            min-height: 38px;
            padding: 6px 15px;
            border: 1px solid var(--spl-line-strong);
            border-radius: 999px;
            background: var(--spl-surface);
            color: var(--spl-ink);
            font-size: 13.5px;
            font-weight: 600;
            line-height: 1.2;
            cursor: pointer;
            transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
        }

            .spl-page .spl-segment button:hover {
                border-color: var(--spl-teal-text);
            }

            .spl-page .spl-segment button[aria-pressed="true"] {
                border-color: var(--spl-deep);
                background: var(--spl-deep);
                color: var(--spl-on-dark);
            }

    /* 01 Find funds */

    .spl-page .spl-filters {
        display: grid;
        gap: 14px;
        padding: 16px;
        border: 1px solid var(--spl-line);
        border-radius: 12px;
        background: var(--spl-subtle);
    }

    .spl-page .spl-chips {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
    }

    .spl-page .spl-chip {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 6px 11px;
        border: 1px solid var(--spl-line-strong);
        border-radius: 8px;
        background: var(--spl-surface);
        color: var(--spl-deep);
        font-size: 12.5px;
        font-weight: 600;
        line-height: 1.3;
    }

        .spl-page .spl-chip i {
            color: var(--spl-teal-text);
            font-size: 11px;
        }

    .spl-page .spl-chip--accent {
        border-color: #efd27a;
        background: var(--spl-yellow-soft);
    }

        .spl-page .spl-chip--accent i {
            color: #8a6a00;
        }

    .spl-page .spl-results {
        margin-top: 16px;
        overflow-x: auto;
        container: spl-results / inline-size;
        border: 1px solid var(--spl-line);
        border-radius: 12px;
    }

    .spl-page .spl-results__meta {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        gap: 6px 12px;
        padding: 10px 14px;
        border-bottom: 1px solid var(--spl-line);
        color: var(--spl-muted);
        font-size: 12px;
    }

        .spl-page .spl-results__meta strong {
            color: var(--spl-deep);
            font-weight: 700;
        }

    .spl-page .spl-table {
        width: 100%;
        border-collapse: collapse;
        font-size: 13px;
    }

        .spl-page .spl-table th {
            padding: 9px 14px;
            border-bottom: 1px solid var(--spl-line);
            background: var(--spl-subtle);
            color: var(--spl-muted);
            font-size: 10.5px;
            font-weight: 700;
            letter-spacing: 0.07em;
            text-align: left;
            text-transform: uppercase;
        }

        .spl-page .spl-table td {
            padding: 13px 14px;
            border-bottom: 1px solid var(--spl-line);
            vertical-align: middle;
        }

        .spl-page .spl-table tbody tr:last-child td {
            border-bottom: 0;
        }

        .spl-page .spl-table tbody tr {
            transition: background-color 0.2s ease;
        }

            .spl-page .spl-table tbody tr:hover {
                background: #f8fbfa;
            }

        .spl-page .spl-table .spl-num {
            text-align: right;
            font-variant-numeric: tabular-nums;
            white-space: nowrap;
        }

    .spl-page .spl-fund {
        display: block;
        color: var(--spl-deep);
        font-weight: 700;
        line-height: 1.35;
    }

    .spl-page .spl-adviser {
        display: block;
        margin-top: 2px;
        color: var(--spl-muted);
        font-size: 12.5px;
    }

    .spl-page .spl-cell-muted {
        color: var(--spl-muted);
    }

    .spl-page .spl-strategy {
        display: inline-block;
        padding: 2px 8px;
        border-radius: 6px;
        background: var(--spl-soft);
        color: var(--spl-teal-text);
        font-size: 12px;
        font-weight: 600;
        white-space: nowrap;
    }

    /* 02 Competitors (dark section) */

    .spl-page .spl-dark {
        background:
            radial-gradient(90% 80% at 100% 0%, rgba(0, 166, 166, 0.22) 0%, rgba(0, 166, 166, 0) 60%),
            radial-gradient(70% 60% at 0% 100%, rgba(254, 215, 102, 0.08) 0%, rgba(254, 215, 102, 0) 60%),
            linear-gradient(160deg, var(--spl-deep) 0%, var(--spl-deeper) 100%);
        color: var(--spl-on-dark);
    }

        .spl-page .spl-dark .spl-h2 {
            color: var(--spl-on-dark);
        }

            .spl-page .spl-dark .spl-h2 em,
            .spl-page .spl-dark .spl-h2 span {
                color: var(--spl-yellow);
            }

        .spl-page .spl-dark .spl-copy {
            color: var(--spl-on-dark-muted);
        }

        .spl-page .spl-dark .spl-tag {
            color: #a8ddd1;
        }

        .spl-page .spl-dark .spl-tag__num {
            color: var(--spl-yellow);
        }

        .spl-page .spl-dark .spl-link {
            color: var(--spl-yellow);
            border-bottom-color: rgba(254, 215, 102, 0.45);
        }

            .spl-page .spl-dark .spl-link:hover {
                color: var(--spl-on-dark);
                border-bottom-color: var(--spl-on-dark);
            }

        .spl-page .spl-dark .spl-caption {
            color: var(--spl-on-dark-muted);
        }

        .spl-page .spl-dark .spl-shot-link {
            border-color: var(--spl-on-dark-line);
            background: rgba(255, 255, 255, 0.06);
            color: var(--spl-on-dark);
        }

            .spl-page .spl-dark .spl-shot-link i {
                color: var(--spl-yellow);
            }

            .spl-page .spl-dark .spl-shot-link:hover {
                border-color: var(--spl-yellow);
            }

        .spl-page .spl-dark .spl-window {
            border-color: rgba(255, 255, 255, 0.12);
            box-shadow: 0 40px 80px -40px rgba(0, 0, 0, 0.6);
        }

    .spl-page .spl-subtabs {
        display: flex;
        gap: 22px;
        margin: -4px 0 18px;
        border-bottom: 1px solid var(--spl-line);
        color: var(--spl-muted);
        font-size: 13px;
        font-weight: 600;
        white-space: nowrap;
        overflow: hidden;
    }

        .spl-page .spl-subtabs span {
            padding: 8px 0 10px;
        }

        .spl-page .spl-subtabs .is-active {
            color: var(--spl-deep);
            box-shadow: inset 0 -3px 0 var(--spl-teal);
        }

    .spl-page .spl-moves {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 16px;
    }

    .spl-page .spl-move {
        display: flex;
        flex-direction: column;
        gap: 16px;
        padding: 20px;
        border: 1px solid var(--spl-line);
        border-radius: 12px;
        background: var(--spl-surface);
        box-shadow: var(--spl-shadow-card);
    }

    .spl-page .spl-move__head {
        display: flex;
        align-items: center;
        gap: 12px;
    }

    .spl-page .spl-move__sign {
        display: grid;
        flex: none;
        place-items: center;
        width: 38px;
        height: 38px;
        border-radius: 50%;
        background: #d3eee4;
        color: #0b6650;
        font-size: 15px;
    }

    .spl-page .spl-move--lost .spl-move__sign {
        background: #fdeec2;
        color: #7a5a00;
    }

    .spl-page .spl-move__title {
        flex: 1 1 auto;
        color: var(--spl-deep);
        font-size: 16px;
        font-weight: 700;
    }

    .spl-page .spl-move__fund {
        color: var(--spl-deep);
        font-size: clamp(18px, 1rem + 0.5vw, 21px);
        font-weight: 700;
        line-height: 1.25;
        letter-spacing: -0.01em;
    }

    .spl-page .spl-move__meta {
        display: grid;
        gap: 8px;
        padding-top: 14px;
        border-top: 1px solid var(--spl-line);
        font-size: 13.5px;
    }

        .spl-page .spl-move__meta div {
            display: flex;
            flex-wrap: wrap;
            gap: 4px 8px;
        }

        .spl-page .spl-move__meta dt {
            color: var(--spl-muted);
        }

        .spl-page .spl-move__meta dd {
            color: var(--spl-ink);
            font-weight: 600;
        }

    /* 03 Watchlists */

    .spl-page .spl-mail__head {
        display: flex;
        align-items: center;
        gap: 14px;
        padding: 18px 22px;
        border-bottom: 1px solid var(--spl-line);
    }

    .spl-page .spl-mail__logo {
        display: grid;
        flex: none;
        place-items: center;
        width: 44px;
        height: 44px;
        border-radius: 11px;
        background: var(--spl-deep);
        color: var(--spl-yellow);
        font-size: 14px;
        font-weight: 800;
        letter-spacing: -0.02em;
    }

    .spl-page .spl-mail__subject {
        color: var(--spl-deep);
        font-size: 16px;
        font-weight: 700;
    }

    .spl-page .spl-mail__from {
        margin-top: 2px;
        color: var(--spl-muted);
        font-size: 12.5px;
    }

    .spl-page .spl-mail__body {
        padding: 20px 22px 22px;
    }

    .spl-page .spl-mail__counts {
        display: grid;
        gap: 0;
        overflow: hidden;
        border: 1px solid var(--spl-line);
        border-radius: 12px;
    }

        .spl-page .spl-mail__counts li {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
            padding: 11px 14px;
            border-bottom: 1px solid var(--spl-line);
            color: var(--spl-ink);
            font-size: 14px;
            font-weight: 600;
        }

            .spl-page .spl-mail__counts li:last-child {
                border-bottom: 0;
            }

    .spl-page .spl-count {
        display: inline-grid;
        place-items: center;
        min-width: 30px;
        height: 26px;
        padding: 0 8px;
        border-radius: 8px;
        background: var(--spl-deep);
        color: var(--spl-on-dark);
        font-size: 13px;
        font-weight: 700;
        font-variant-numeric: tabular-nums;
    }

    .spl-page .spl-mail__label {
        margin: 20px 0 4px;
        color: var(--spl-muted);
        font-size: 11.5px;
        font-weight: 700;
        letter-spacing: 0.08em;
        text-transform: uppercase;
    }

    .spl-page .spl-alert {
        display: flex;
        gap: 12px;
        padding: 14px 0;
        border-bottom: 1px solid var(--spl-line);
    }

        .spl-page .spl-alert:last-child {
            border-bottom: 0;
            padding-bottom: 0;
        }

        .spl-page .spl-alert .spl-dot {
            margin-top: 7px;
            color: var(--spl-teal);
        }

    .spl-page .spl-alert__title {
        color: var(--spl-deep);
        font-size: 15px;
        font-weight: 700;
        line-height: 1.35;
    }

    .spl-page .spl-alert__meta {
        margin-top: 3px;
        color: var(--spl-muted);
        font-size: 13px;
    }

    .spl-page .spl-watchbar {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: 12px 16px;
        margin-top: 14px;
        padding: 12px 14px;
        border: 1px solid rgba(2, 66, 75, 0.1);
        border-radius: 12px;
        background: var(--spl-surface);
        box-shadow: var(--spl-shadow-card);
    }

    .spl-page .spl-watchbar__firm {
        display: flex;
        align-items: center;
        gap: 12px;
        min-width: 0;
    }

    .spl-page .spl-watchbar__mark {
        display: grid;
        flex: none;
        place-items: center;
        width: 38px;
        height: 38px;
        border-radius: 10px;
        background: var(--spl-soft);
        color: var(--spl-teal-text);
        font-size: 13px;
        font-weight: 800;
    }

    .spl-page .spl-watchbar__name {
        color: var(--spl-deep);
        font-size: 14.5px;
        font-weight: 700;
    }

    .spl-page .spl-watchbar__sub {
        color: var(--spl-muted);
        font-size: 12.5px;
    }

    .spl-page .spl-watch {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        min-height: 40px;
        padding: 8px 16px;
        border: 1px solid var(--spl-line-strong);
        border-radius: 999px;
        background: var(--spl-surface);
        color: var(--spl-deep);
        font-size: 13.5px;
        font-weight: 700;
        cursor: pointer;
        transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
    }

        .spl-page .spl-watch[aria-pressed="true"] {
            border-color: var(--spl-deep);
            background: var(--spl-deep);
            color: var(--spl-on-dark);
        }

            .spl-page .spl-watch[aria-pressed="true"] i {
                color: var(--spl-yellow);
            }

    /* 04 Contacts */

    .spl-page .spl-contact-filter {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 10px 14px;
        padding: 14px 16px;
        border: 1px solid var(--spl-line);
        border-radius: 12px;
        background: var(--spl-subtle);
    }

        .spl-page .spl-contact-filter .spl-control-label {
            margin: 0;
        }

    .spl-page .spl-person {
        margin-top: 16px;
        overflow: hidden;
        border: 1px solid var(--spl-line);
        border-radius: 12px;
    }

    .spl-page .spl-person__top {
        display: flex;
        align-items: center;
        gap: 16px;
        padding: 20px;
    }

    .spl-page .spl-avatar {
        display: grid;
        flex: none;
        place-items: center;
        width: 58px;
        height: 58px;
        border-radius: 50%;
        background: var(--spl-soft);
        color: var(--spl-teal-text);
        font-size: 19px;
        font-weight: 700;
        letter-spacing: -0.02em;
    }

    .spl-page .spl-person__name {
        color: var(--spl-deep);
        font-size: 19px;
        font-weight: 700;
        line-height: 1.25;
    }

    .spl-page .spl-person__title {
        margin-top: 2px;
        color: var(--spl-ink);
        font-size: 14.5px;
        font-weight: 600;
    }

    .spl-page .spl-person__firm {
        margin-top: 2px;
        color: var(--spl-muted);
        font-size: 13px;
    }

    .spl-page .spl-person__details {
        display: grid;
        gap: 10px;
        padding: 16px 20px;
        border-top: 1px solid var(--spl-line);
        font-size: 14px;
    }

        .spl-page .spl-person__details li {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 6px 10px;
            min-width: 0;
        }

        .spl-page .spl-person__details i {
            width: 18px;
            color: var(--spl-teal-text);
            text-align: center;
        }

    .spl-page .spl-person__email {
        color: var(--spl-ink);
        font-weight: 600;
    }

    .spl-page .spl-verified {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        color: var(--spl-teal-text);
        font-size: 12.5px;
        font-weight: 700;
    }

        .spl-page .spl-verified .spl-dot {
            color: var(--spl-teal);
        }

    .spl-page .spl-person__crm {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 8px 10px;
        padding: 12px 20px;
        border-top: 1px solid var(--spl-line);
        background: var(--spl-subtle);
        color: var(--spl-muted);
        font-size: 12.5px;
        font-weight: 600;
    }

    /* 05 Relationships */

    .spl-page .spl-path {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 48px minmax(0, 1fr) 48px minmax(0, 1.1fr);
        align-items: stretch;
        gap: 8px;
    }

    .spl-page .spl-node {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 6px;
        min-height: 190px;
        padding: 22px 16px;
        border: 1px solid var(--spl-line);
        border-radius: 14px;
        background: var(--spl-surface);
        text-align: center;
    }

        .spl-page .spl-node .spl-avatar {
            margin-bottom: 8px;
            font-size: 15px;
        }

    .spl-page .spl-node__body {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 6px;
    }

    .spl-page .spl-node__name {
        color: var(--spl-deep);
        font-size: 16px;
        font-weight: 700;
        line-height: 1.3;
    }

    .spl-page .spl-node__meta {
        color: var(--spl-muted);
        font-size: 13px;
    }

    .spl-page .spl-node--target {
        border-color: var(--spl-deep);
        background: linear-gradient(160deg, var(--spl-deep) 0%, var(--spl-deeper) 100%);
        box-shadow: 0 22px 40px -24px rgba(2, 66, 75, 0.7);
    }

        .spl-page .spl-node--target .spl-node__name {
            color: var(--spl-on-dark);
        }

        .spl-page .spl-node--target .spl-avatar {
            background: rgba(255, 255, 255, 0.12);
            color: var(--spl-yellow);
        }

    .spl-page .spl-link-line {
        position: relative;
        align-self: center;
        height: 2px;
        background: repeating-linear-gradient(90deg, var(--spl-teal) 0 6px, transparent 6px 11px);
        transform-origin: left center;
    }

        .spl-page .spl-link-line::after {
            content: "";
            position: absolute;
            right: -2px;
            top: 50%;
            width: 9px;
            height: 9px;
            border-top: 2px solid var(--spl-teal);
            border-right: 2px solid var(--spl-teal);
            transform: translateY(-50%) rotate(45deg);
        }

    .spl-page .spl-path__note {
        margin-top: 20px;
        color: var(--spl-deep);
        font-size: 15px;
        font-weight: 600;
        text-align: center;
    }

    .spl-page .spl-feature__footnote {
        margin-top: 18px;
        max-width: 34rem;
    }

    /* ---------- Showcase CTA band ---------- */

    .spl-page .spl-band {
        padding: clamp(36px, 5vw, 56px) 0;
        background: var(--spl-yellow);
        color: var(--spl-deep);
        scroll-margin-top: 100px;
    }

    .spl-page .spl-band__inner {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: 22px 40px;
    }

    .spl-page .spl-band__title {
        max-width: 26ch;
        color: var(--spl-deep);
        font-size: clamp(1.5rem, 1.1rem + 1.4vw, 2.25rem);
        font-weight: 600;
        line-height: 1.2;
        letter-spacing: -0.02em;
    }

    /* ---------- Why 9AT ---------- */

    .spl-page .spl-cards {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 20px;
        margin-top: clamp(40px, 5vw, 64px);
    }

    .spl-page .spl-card {
        padding: 28px;
        border: 1px solid var(--spl-line);
        border-radius: 18px;
        background: var(--spl-surface);
        transition: border-color 0.25s ease, box-shadow 0.25s ease;
    }

        .spl-page .spl-card:hover {
            border-color: var(--spl-line-strong);
            box-shadow: var(--spl-shadow-card);
        }

    .spl-page .spl-icon {
        display: grid;
        flex: none;
        place-items: center;
        width: 46px;
        height: 46px;
        border-radius: 12px;
        background: var(--spl-soft);
        color: var(--spl-teal-text);
        font-size: 18px;
    }

    .spl-page .spl-card__title {
        margin-top: 20px;
        color: var(--spl-deep);
        font-size: 19px;
        font-weight: 700;
        line-height: 1.3;
    }

    .spl-page .spl-card__text {
        margin-top: 10px;
        color: var(--spl-muted);
        font-size: 15.5px;
        line-height: 1.6;
    }

    /* ---------- Trust ---------- */

    .spl-page .spl-trust__grid {
        display: grid;
        grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
        gap: clamp(40px, 6vw, 88px);
        align-items: start;
    }

    .spl-page .spl-proof {
        display: grid;
        gap: 0;
    }

        .spl-page .spl-proof li {
            display: flex;
            gap: 18px;
            padding: 22px 0;
            border-bottom: 1px solid var(--spl-line-strong);
        }

            .spl-page .spl-proof li:first-child {
                padding-top: 0;
            }

            .spl-page .spl-proof li:last-child {
                border-bottom: 0;
            }

        .spl-page .spl-proof .spl-icon {
            background: var(--spl-surface);
        }

    .spl-page .spl-proof__title {
        color: var(--spl-deep);
        font-size: 18px;
        font-weight: 700;
        line-height: 1.3;
    }

    .spl-page .spl-proof__text {
        margin-top: 6px;
        color: var(--spl-muted);
        font-size: 15.5px;
    }

    .spl-page .spl-stats {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 20px;
        margin-top: clamp(48px, 6vw, 80px);
    }

        .spl-page .spl-stats li {
            position: relative;
            padding: 22px 22px 24px;
            border-radius: 16px;
            background: var(--spl-surface);
            border: 1px solid var(--spl-line);
        }

            .spl-page .spl-stats li::before {
                content: "";
                position: absolute;
                top: -1px;
                left: 22px;
                width: 36px;
                height: 4px;
                border-radius: 0 0 3px 3px;
                background: var(--spl-yellow);
            }

    .spl-page .spl-stat__value {
        display: block;
        color: var(--spl-deep);
        font-size: clamp(1.9rem, 1.3rem + 1.6vw, 2.75rem);
        font-weight: 700;
        line-height: 1.1;
        letter-spacing: -0.03em;
        font-variant-numeric: tabular-nums;
    }

    .spl-page .spl-stat__label {
        display: block;
        margin-top: 6px;
        color: var(--spl-muted);
        font-size: 15px;
        font-weight: 600;
    }

    .spl-page .spl-stats__note {
        max-width: 78ch;
        margin-top: 18px;
    }

    .spl-page .spl-logos {
        margin-top: clamp(48px, 6vw, 72px);
        padding-top: 32px;
        border-top: 1px solid var(--spl-line-strong);
        text-align: center;
    }

    .spl-page .spl-logos__label {
        color: var(--spl-muted);
        font-size: 13px;
        font-weight: 700;
        letter-spacing: 0.16em;
        text-transform: uppercase;
    }

    .spl-page .spl-logos__list {
        display: grid;
        grid-template-columns: repeat(8, minmax(0, 1fr));
        align-items: center;
        justify-items: center;
        gap: 28px 24px;
        margin-top: 26px;
    }

        .spl-page .spl-logos__list img {
            display: block;
            width: auto;
            height: 30px;
            max-width: 100%;
            object-fit: contain;
            filter: grayscale(1);
            opacity: 0.7;
            mix-blend-mode: multiply;
            transition: opacity 0.25s ease, filter 0.25s ease;
        }

            .spl-page .spl-logos__list img:hover {
                filter: grayscale(0);
                opacity: 1;
            }

    /* ---------- Delivery ---------- */

    .spl-page .spl-delivery__head {
        display: flex;
        flex-wrap: wrap;
        align-items: end;
        justify-content: space-between;
        gap: 16px 40px;
    }

    .spl-page .spl-tiles {
        display: grid;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        gap: 14px;
        margin-top: 36px;
    }

    .spl-page .spl-tile {
        padding: 20px;
        border: 1px solid var(--spl-line);
        border-radius: 14px;
        background: var(--spl-subtle);
    }

        .spl-page .spl-tile i {
            color: var(--spl-teal-text);
            font-size: 18px;
        }

    .spl-page .spl-tile__title {
        margin-top: 14px;
        color: var(--spl-deep);
        font-size: 16px;
        font-weight: 700;
    }

    .spl-page .spl-tile__text {
        margin-top: 6px;
        color: var(--spl-muted);
        font-size: 14px;
        line-height: 1.55;
    }

    /* ---------- Final: book a demo ---------- */

    .spl-page .spl-final {
        text-align: center;
    }

    .spl-page .spl-final__inner {
        max-width: 880px;
    }

    .spl-page .spl-final .spl-h2 {
        max-width: none;
        font-size: clamp(2.2rem, 1.35rem + 3.4vw, 4rem);
    }

        .spl-page .spl-final .spl-h2 span {
            display: block;
        }

    .spl-page .spl-final .spl-copy {
        margin-left: auto;
        margin-right: auto;
    }

    .spl-page .spl-agenda {
        margin: clamp(36px, 5vw, 52px) auto 0;
        padding: 26px clamp(20px, 3vw, 32px);
        border: 1px solid var(--spl-on-dark-line);
        border-radius: 20px;
        background: rgba(255, 255, 255, 0.05);
        text-align: left;
    }

    .spl-page .spl-agenda__title {
        color: var(--spl-yellow);
        font-size: 13px;
        font-weight: 700;
        letter-spacing: 0.16em;
        text-transform: uppercase;
    }

    .spl-page .spl-agenda__list {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 18px 24px;
        margin-top: 16px;
    }

        .spl-page .spl-agenda__list li {
            display: flex;
            gap: 12px;
            color: var(--spl-on-dark);
            font-size: 15.5px;
            line-height: 1.5;
        }

        .spl-page .spl-agenda__list i {
            flex: none;
            margin-top: 4px;
            color: var(--spl-yellow);
        }

    .spl-page .spl-final__actions {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 16px;
        margin-top: 36px;
    }

    .spl-page .spl-disclosure {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        min-height: 44px;
        padding: 8px 6px;
        border: 0;
        background: transparent;
        color: var(--spl-on-dark);
        font-size: 15.5px;
        font-weight: 600;
        cursor: pointer;
    }

        .spl-page .spl-disclosure span {
            color: var(--spl-yellow);
            text-decoration: underline;
            text-underline-offset: 0.2em;
        }

        .spl-page .spl-disclosure i {
            color: var(--spl-yellow);
            font-size: 12px;
            transition: transform 0.25s var(--spl-ease);
        }

        .spl-page .spl-disclosure[aria-expanded="true"] i {
            transform: rotate(180deg);
        }

    .spl-page .spl-notice {
        display: flex;
        align-items: flex-start;
        gap: 14px;
        max-width: 640px;
        margin: 22px auto 0;
        padding: 18px 20px;
        border-radius: 16px;
        text-align: left;
    }

        .spl-page .spl-notice i {
            margin-top: 3px;
            font-size: 20px;
        }

    .spl-page .spl-notice--booked {
        background: var(--spl-yellow);
        color: var(--spl-deep);
    }

    .spl-page .spl-notice--info {
        border: 1px solid var(--spl-on-dark-line);
        background: rgba(255, 255, 255, 0.06);
        color: var(--spl-on-dark);
    }

        .spl-page .spl-notice--info i {
            color: var(--spl-yellow);
        }

    .spl-page .spl-notice__title {
        font-size: 16px;
        font-weight: 600;
        line-height: 1.45;
    }

    .spl-page .spl-notice:focus {
        outline: none;
    }

    .spl-page .spl-notice:focus-visible {
        outline: 3px solid var(--spl-yellow);
    }

    /* Contact fallback form */

    .spl-page .spl-request {
        max-width: 680px;
        margin: 22px auto 0;
        text-align: left;
    }

    .spl-page .spl-form,
    .spl-page .spl-success {
        padding: clamp(22px, 4vw, 38px);
        border-radius: 20px;
        background: var(--spl-surface);
        color: var(--spl-ink);
        box-shadow: 0 30px 70px -40px rgba(0, 0, 0, 0.55);
    }

    .spl-page .spl-form__title {
        color: var(--spl-deep);
        font-size: 22px;
        font-weight: 700;
        line-height: 1.3;
    }

    .spl-page .spl-form__intro {
        margin-top: 6px;
        color: var(--spl-muted);
        font-size: 15px;
    }

    .spl-page .spl-form__grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px 16px;
        margin-top: 22px;
    }

    .spl-page .spl-field {
        display: flex;
        flex-direction: column;
        gap: 6px;
        min-width: 0;
    }

    .spl-page .spl-field--full {
        grid-column: 1 / -1;
    }

    .spl-page .spl-field label,
    .spl-page .spl-field__label {
        color: var(--spl-deep);
        font-size: 14px;
        font-weight: 700;
    }

    .spl-page .spl-field__optional {
        color: var(--spl-muted);
        font-weight: 400;
    }

    .spl-page .spl-input,
    .spl-page .spl-captcha input[type="text"],
    .spl-page .spl-captcha input:not([type]) {
        width: 100%;
        min-height: 48px;
        padding: 11px 14px;
        border: 1px solid var(--spl-line-strong);
        border-radius: 10px;
        background: var(--spl-surface);
        color: var(--spl-ink);
        font-size: 16px;
        line-height: 1.4;
        transition: border-color 0.2s ease, box-shadow 0.2s ease;
    }

    .spl-page textarea.spl-input {
        min-height: 120px;
        resize: vertical;
    }

    .spl-page .spl-input:focus,
    .spl-page .spl-captcha input:focus {
        border-color: var(--spl-teal-text);
        box-shadow: 0 0 0 3px rgba(0, 122, 122, 0.2);
        outline: none;
    }

    .spl-page .spl-input:focus-visible,
    .spl-page .spl-captcha input:focus-visible {
        outline: 2px solid var(--spl-teal-text);
        outline-offset: 1px;
    }

    .spl-page .spl-input[aria-invalid="true"],
    .spl-page .spl-captcha input[aria-invalid="true"] {
        border-color: var(--spl-danger);
        box-shadow: 0 0 0 3px rgba(180, 35, 24, 0.12);
    }

    .spl-page .spl-field__error {
        color: var(--spl-danger);
        font-size: 13.5px;
        font-weight: 600;
    }

    .spl-page .spl-honeypot {
        position: absolute;
        left: -10000px;
        width: 1px;
        height: 1px;
        overflow: hidden;
    }

    .spl-page .spl-captcha {
        display: flex;
        flex-direction: column;
        gap: 10px;
    }

        .spl-page .spl-captcha img {
            display: inline-block;
            height: auto;
            max-width: 100%;
            margin: 0 8px 10px 0;
            border: 1px solid var(--spl-line);
            border-radius: 8px;
            vertical-align: middle;
        }

        .spl-page .spl-captcha input[type="hidden"] {
            display: none;
        }

        .spl-page .spl-captcha .spl-captcha__input {
            max-width: 320px;
        }

        .spl-page .spl-captcha a[data-ajax-url] {
            display: inline-grid;
            margin: 0 0 10px;
            vertical-align: middle;
            place-items: center;
            width: 44px;
            height: 44px;
            border: 1px solid var(--spl-line-strong);
            border-radius: 50%;
            color: var(--spl-teal-text);
            text-decoration: none;
        }

            .spl-page .spl-captcha a[data-ajax-url]:hover {
                border-color: var(--spl-deep);
            }

        .spl-page .spl-captcha .spl-captcha__validation:empty {
            display: none;
        }

    .spl-page .spl-form__footer {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: 14px 20px;
        margin-top: 24px;
    }

    /* The status region stays in the accessibility tree (empty) so its messages are announced. */
    .spl-page .spl-form__status.is-error {
        margin-top: 18px;
        padding: 12px 14px;
        border-left: 4px solid var(--spl-danger);
        border-radius: 8px;
        background: #fdf0ef;
        color: #7a1a12;
        font-size: 14.5px;
        font-weight: 600;
    }

        .spl-page .spl-form__status a {
            color: #7a1a12;
        }

    .spl-page .spl-success {
        display: flex;
        gap: 16px;
        align-items: flex-start;
    }

        .spl-page .spl-success i {
            margin-top: 2px;
            color: var(--spl-teal);
            font-size: 26px;
        }

    .spl-page .spl-success__title {
        color: var(--spl-deep);
        font-size: 19px;
        font-weight: 700;
        line-height: 1.4;
    }

        .spl-page .spl-success__title:focus {
            outline: none;
        }

    /* ---------- Sticky CTA ---------- */

    .spl-page .spl-sticky {
        position: fixed;
        left: 16px;
        bottom: calc(16px + var(--spl-sticky-lift, 0px));
        z-index: 1050; /* under the floating help button (1060) */
        display: flex;
        align-items: center;
        gap: 18px;
        max-width: min(470px, calc(100vw - 108px));
        padding: 8px 8px 8px 22px;
        border: 1px solid rgba(255, 255, 255, 0.14);
        border-radius: 999px;
        background: rgba(2, 66, 75, 0.96);
        color: var(--spl-on-dark);
        box-shadow: 0 18px 40px -16px rgba(3, 50, 58, 0.6);
        opacity: 0;
        visibility: hidden;
        transform: translateY(24px);
        transition: opacity 0.3s ease, transform 0.35s var(--spl-ease), visibility 0s linear 0.35s, bottom 0.25s ease;
    }

        .spl-page .spl-sticky.is-visible {
            opacity: 1;
            visibility: visible;
            transform: none;
            transition: opacity 0.3s ease, transform 0.35s var(--spl-ease), visibility 0s linear 0s, bottom 0.25s ease;
        }

    .spl-page .spl-sticky__text {
        min-width: 0;
        font-size: 15px;
        font-weight: 600;
        line-height: 1.3;
    }

    .spl-page .spl-sticky .spl-btn {
        flex: none;
    }

    /* ---------- Screenshot lightbox ---------- */

    .spl-page .spl-lightbox {
        width: min(1200px, calc(100vw - 24px));
        max-width: none;
        max-height: calc(100vh - 24px);
        padding: 0;
        border: 0;
        border-radius: 16px;
        background: var(--spl-surface);
        color: var(--spl-ink);
        box-shadow: 0 40px 100px -30px rgba(0, 0, 0, 0.6);
    }

        .spl-page .spl-lightbox::backdrop {
            background: rgba(3, 50, 58, 0.78);
        }

    .spl-page .spl-lightbox__head {
        position: sticky;
        top: 0;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        padding: 12px 12px 12px 20px;
        border-bottom: 1px solid var(--spl-line);
        background: var(--spl-surface);
    }

    .spl-page .spl-lightbox__title {
        color: var(--spl-deep);
        font-size: 15px;
        font-weight: 700;
    }

    .spl-page .spl-lightbox__close {
        display: grid;
        flex: none;
        place-items: center;
        width: 44px;
        height: 44px;
        border: 1px solid var(--spl-line-strong);
        border-radius: 50%;
        background: var(--spl-surface);
        color: var(--spl-deep);
        font-size: 16px;
        cursor: pointer;
    }

    .spl-page .spl-lightbox__body {
        padding: 12px;
    }

        .spl-page .spl-lightbox__body img {
            display: block;
            width: 100%;
            border-radius: 10px;
        }

    .spl-page .spl-lightbox__caption {
        padding: 0 20px 16px;
        color: var(--spl-muted);
        font-size: 13px;
    }

/* ---------- Motion (opt-in via .spl-motion, added by the script) ---------- */

@keyframes spl-rise {
    from {
        opacity: 0;
        transform: translateY(12px);
    }

    to {
        opacity: 1;
        transform: none;
    }
}

@keyframes spl-fade {
    from {
        opacity: 0;
        transform: translateY(6px);
    }

    to {
        opacity: 1;
        transform: none;
    }
}

@keyframes spl-draw {
    from {
        transform: scaleX(0);
    }

    to {
        transform: scaleX(1);
    }
}

.spl-page.spl-motion .spl-reveal {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.7s ease, transform 0.9s var(--spl-ease);
}

@media print {
    .spl-page.spl-motion .spl-reveal {
        opacity: 1;
        transform: none;
        transition: none;
    }

    /* A fixed bar would print over every page; connectors not yet drawn would be missing.
       !important because the connector rules come later in this file. */
    .spl-page .spl-sticky {
        display: none !important;
    }

    .spl-page.spl-motion .spl-reveal .spl-link-line {
        transform: none !important;
        animation: none !important;
    }
}

    .spl-page.spl-motion .spl-reveal.is-in {
        opacity: 1;
        transform: none;
    }

.spl-page.spl-motion .spl-reveal--d1 {
    transition-delay: 0.1s;
}

.spl-page.spl-motion .spl-reveal--d2 {
    transition-delay: 0.2s;
}

.spl-page.spl-motion .spl-reveal.is-in .spl-anim {
    animation: spl-rise 0.6s var(--spl-ease) both;
}

    .spl-page.spl-motion .spl-reveal.is-in .spl-anim:nth-child(2) {
        animation-delay: 0.12s;
    }

    .spl-page.spl-motion .spl-reveal.is-in .spl-anim:nth-child(3) {
        animation-delay: 0.24s;
    }

    .spl-page.spl-motion .spl-reveal.is-in .spl-anim:nth-child(4) {
        animation-delay: 0.36s;
    }

    .spl-page.spl-motion .spl-reveal.is-in .spl-anim:nth-child(5) {
        animation-delay: 0.48s;
    }

    .spl-page.spl-motion .spl-reveal.is-in .spl-anim:nth-child(n+6) {
        animation-delay: 0.6s;
    }

.spl-page.spl-motion .spl-reveal .spl-link-line {
    transform: scaleX(0);
}

.spl-page.spl-motion .spl-reveal.is-in .spl-link-line {
    animation: spl-draw 0.6s var(--spl-ease) 0.35s both;
}

.spl-page.spl-motion .spl-reveal.is-in .spl-link-line + .spl-node {
    animation-delay: 0.5s;
}

.spl-page.spl-motion .is-entering {
    animation: spl-fade 0.35s ease both;
}

/* Results table: one card per fund whenever the product view is narrow (container query; browsers
   without support keep the table and scroll it sideways). */

@container spl-results (max-width: 640px) {
    .spl-page .spl-table thead {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
    }

    .spl-page .spl-table tr {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 4px 12px;
        padding: 14px;
        border-bottom: 1px solid var(--spl-line);
    }

    .spl-page .spl-table tbody tr:last-child {
        border-bottom: 0;
    }

    .spl-page .spl-table td {
        display: block;
        padding: 0;
        border: 0;
    }

        .spl-page .spl-table td.spl-col-name {
            grid-column: 1 / 2;
        }

        .spl-page .spl-table td.spl-col-gav {
            grid-column: 2 / 3;
            grid-row: 1;
            color: var(--spl-deep);
            font-weight: 700;
        }

        .spl-page .spl-table td.spl-col-strategy {
            grid-column: 1 / 2;
            margin-top: 6px;
        }

        .spl-page .spl-table td.spl-col-admin {
            grid-column: 2 / 3;
            margin-top: 6px;
            text-align: right;
        }

}

@container spl-results (max-width: 380px) {
    .spl-page .spl-table td.spl-col-admin {
        grid-column: 1 / -1;
        margin-top: 2px;
        text-align: left;
    }

    .spl-page .spl-strategy {
        white-space: normal;
    }
}

/* ---------- Responsive ---------- */

@media (max-width: 1199px) {
    .spl-page .spl-logos__list {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .spl-page .spl-tiles {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .spl-page .spl-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 991px) {
    .spl-page .spl-split,
    .spl-page .spl-split--reverse,
    .spl-page .spl-trust__grid {
        grid-template-columns: minmax(0, 1fr);
    }

        /* Copy first (headline before the visual) whatever the desktop order. */
        .spl-page .spl-split--reverse .spl-feature__copy {
            order: 1;
        }

        .spl-page .spl-split--reverse .spl-feature__visual {
            order: 2;
        }

    .spl-page .spl-feature__visual {
        width: 100%;
        max-width: 720px;
    }

    .spl-page .spl-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .spl-page .spl-agenda__list {
        grid-template-columns: minmax(0, 1fr);
    }

    .spl-page .spl-h2 {
        max-width: 20ch;
    }
}

@media (max-width: 767px) {
    .spl-page {
        font-size: 16px;
    }

    .spl-page .spl-copy {
        font-size: 17px;
    }

    .spl-page .spl-tiles {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .spl-page .spl-moves {
        grid-template-columns: minmax(0, 1fr);
    }

    .spl-page .spl-window__url {
        display: none;
    }

    .spl-page .spl-app__main {
        padding: 16px;
    }

    .spl-page .spl-app__nav .spl-app__nav-extra {
        display: none;
    }

    .spl-page .spl-path {
        grid-template-columns: minmax(0, 1fr);
        gap: 0;
    }

    .spl-page .spl-node {
        min-height: 0;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: flex-start;
        column-gap: 14px;
        padding: 16px 18px;
        text-align: left;
    }

        .spl-page .spl-node .spl-avatar {
            margin-bottom: 0;
            width: 46px;
            height: 46px;
        }

    .spl-page .spl-node__body {
        display: flex;
        flex: 1 1 140px;
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
        min-width: 0;
    }

    .spl-page .spl-link-line {
        justify-self: center;
        width: 2px;
        height: 34px;
        background: repeating-linear-gradient(180deg, var(--spl-teal) 0 6px, transparent 6px 11px);
        transform-origin: center top;
    }

        .spl-page .spl-link-line::after {
            right: auto;
            left: 50%;
            top: auto;
            bottom: -1px;
            transform: translateX(-50%) rotate(135deg);
        }

    .spl-page.spl-motion .spl-reveal .spl-link-line {
        transform: scaleY(0);
    }

    .spl-page.spl-motion .spl-reveal.is-in .spl-link-line {
        animation: none;
        transform: none;
        transition: transform 0.5s var(--spl-ease) 0.3s;
    }

    .spl-page .spl-sticky {
        left: 12px;
        bottom: calc(12px + var(--spl-sticky-lift, 0px));
        max-width: calc(100vw - 96px); /* clear of the 60px help button at right:15px */
        padding-left: 18px;
        gap: 12px;
    }

    .spl-page .spl-sticky__text {
        font-size: 14px;
    }

    .spl-page .spl-band__inner {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 599px) {
    .spl-page .spl-cards {
        grid-template-columns: minmax(0, 1fr);
    }

    .spl-page .spl-form__grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .spl-page .spl-hero__actions .spl-btn {
        width: 100%;
    }

    .spl-page .spl-hero__actions {
        max-width: 360px;
        margin-left: auto;
        margin-right: auto;
    }

    .spl-page .spl-window__tab {
        font-size: 11px;
    }

    .spl-page .spl-app__nav {
        gap: 14px;
        padding: 0 14px;
    }

    .spl-page .spl-person__top {
        padding: 16px;
        gap: 12px;
    }

    .spl-page .spl-person__details,
    .spl-page .spl-person__crm {
        padding-left: 16px;
        padding-right: 16px;
    }

    .spl-page .spl-avatar {
        width: 48px;
        height: 48px;
        font-size: 16px;
    }

    .spl-page .spl-final__actions .spl-btn {
        width: 100%;
        max-width: 360px;
    }
}

@media (max-width: 479px) {
    .spl-page .spl-tiles,
    .spl-page .spl-stats {
        grid-template-columns: minmax(0, 1fr);
    }

    .spl-page .spl-stats {
        gap: 12px;
    }

        .spl-page .spl-stats li {
            display: flex;
            flex-wrap: wrap;
            align-items: baseline;
            gap: 4px 12px;
            padding: 18px 20px;
        }

    .spl-page .spl-stat__label {
        margin-top: 0;
    }

    .spl-page .spl-sticky {
        padding-left: 8px;
    }

    .spl-page .spl-sticky__text {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
    }

    .spl-page .spl-sticky .spl-btn {
        flex: 1 1 auto;
    }

    .spl-page .spl-mail__head,
    .spl-page .spl-mail__body {
        padding-left: 16px;
        padding-right: 16px;
    }

    .spl-page .spl-move {
        padding: 16px;
    }

    .spl-page .spl-subtabs span:nth-child(3) {
        display: none;
    }

    .spl-page .spl-logos__list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .spl-page .spl-logos__list img {
        height: 26px;
    }

    .spl-page .spl-shot__foot {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 359px) {
    .spl-page .spl-h1 {
        font-size: 2.25rem;
    }

    .spl-page .spl-h2,
    .spl-page .spl-final .spl-h2 {
        font-size: 1.85rem;
    }

    .spl-page .spl-segment button {
        padding: 6px 11px;
        font-size: 13px;
    }

    .spl-page .spl-scene {
        padding: 10px;
        border-radius: 16px;
    }

    .spl-page .spl-window__bar {
        gap: 10px;
        padding: 0 10px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .spl-page *,
    .spl-page *::before,
    .spl-page *::after {
        animation: none !important;
        transition: none !important;
    }

    .spl-page .spl-reveal,
    .spl-page .spl-link-line {
        opacity: 1 !important;
        transform: none !important;
    }

    .spl-page .spl-btn:hover,
    .spl-page .spl-btn:hover .spl-btn__icon,
    .spl-page .spl-link:hover .spl-btn__icon {
        transform: none;
    }

    /* AOS runs regardless of the preference (it is global); show everything in place. */
    .spl-page [data-aos] {
        opacity: 1 !important;
        transform: none !important;
    }
}
