        :root {
            /* brand */
            --azure: #2151F5;
            --azure-ink: #1538C4;
            --citrine: #DFFC53;
            --quartz: #FFFCF7;
            --amethyst: #9F9FFF;
            /* derived */
            --ink: #13151C;
            --ink-2: #3a3f4d;
            --mute: #737a89;
            --line: #e7e3da;
            --line-2: #efece4;
            --card: #ffffff;
            --azure-soft: #eef2ff;
            --citrine-soft: #f7ffd6;
            --amethyst-soft: #f1f1ff;
            --up: #1f9d6b;
            --down: #d8553a;
            --maxw: 1180px;
            --disp: "Schibsted Grotesk", system-ui, sans-serif;
            --sans: "Hanken Grotesk", system-ui, sans-serif;
            --mono: "JetBrains Mono", monospace;
        }

        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box
        }

        html {
            scroll-behavior: smooth
        }

        body {
            font-family: var(--sans);
            background: var(--quartz);
            color: var(--ink);
            -webkit-font-smoothing: antialiased;
            overflow-x: hidden
        }

        a {
            color: inherit;
            text-decoration: none
        }

        .wrap {
            max-width: var(--maxw);
            margin: 0 auto;
            padding: 0 26px
        }

        /* ---------- TOP BANNER ---------- */
        .topbar {
            background: var(--ink);
            color: var(--quartz);
            font-size: 13px
        }

        .topbar .wrap {
            display: flex;
            align-items: center;
            gap: 12px;
            justify-content: center;
            padding: 9px 26px;
            text-align: center
        }

        .topbar .nu {
            background: var(--citrine);
            color: var(--ink);
            font-weight: 800;
            font-size: 10.5px;
            letter-spacing: .08em;
            padding: 3px 8px;
            border-radius: 5px;
            text-transform: uppercase;
            flex: none
        }

        .topbar a {
            font-weight: 600;
            opacity: .92;
            display: inline-flex;
            align-items: center;
            gap: 6px
        }

        .topbar a:hover {
            opacity: 1;
            color: var(--citrine)
        }

        /* ---------- NAV ---------- */
        header.nav {
            position: sticky;
            top: 0;
            z-index: 50;
            background: rgba(255, 252, 247, .86);
            backdrop-filter: blur(12px);
            border-bottom: 1px solid var(--line)
        }

        .nav-inner {
            display: flex;
            align-items: center;
            justify-content: space-between;
            height: 70px
        }

        .brand {
            display: flex;
            align-items: center;
            gap: 11px;
            font-family: var(--disp);
            font-weight: 800;
            letter-spacing: -.02em;
            font-size: 20px
        }

        .brand .mark {
            width: 30px;
            height: 30px;
            border-radius: 7px;
            flex: none;
            background: var(--azure);
            position: relative;
            display: grid;
            place-items: center
        }

        .navlinks {
            display: flex;
            gap: 32px;
            align-items: center
        }

        .navlinks a {
            font-size: 15px;
            font-weight: 600;
            color: var(--ink-2);
            transition: color .2s
        }

        .navlinks a:hover {
            color: var(--azure)
        }

        .nav-cta {
            display: flex;
            align-items: center;
            gap: 16px
        }

        .nav-search {
            font-size: 14px;
            font-weight: 600;
            color: var(--mute);
            display: flex;
            gap: 7px;
            align-items: center;
            cursor: pointer
        }

        .flag {
            font-size: 13px;
            font-weight: 700;
            color: var(--mute);
            display: flex;
            gap: 7px;
            align-items: center
        }

        .flag .dot {
            width: 18px;
            height: 13px;
            border-radius: 2px;
            background: linear-gradient(180deg, #b22 33%, #fff 33% 66%, #23306b 66%)
        }

        .burger {
            display: none
        }

        /* ---------- BREADCRUMB ---------- */
        .crumb {
            padding: 22px 0 0
        }

        .crumb .wrap {
            display: flex;
            gap: 9px;
            font-size: 13.5px;
            color: var(--mute);
            font-weight: 600;
            align-items: center
        }

        .crumb a:hover {
            color: var(--azure)
        }

        .crumb .sep {
            opacity: .5
        }

        .crumb .cur {
            color: var(--ink)
        }


        /* ---------- BANNER HERO ---------- */
        .banner-hero {
            padding: 18px 0 8px
        }

        .banner-hero .frame {
            border-radius: 22px;
            overflow: hidden;
            border: 1px solid var(--line);
            box-shadow: 0 22px 44px -30px rgba(33, 81, 245, .30);
            line-height: 0
        }

        .banner-hero img {
            width: 100%;
            height: auto;
            display: block
        }

        .banner-actions {
            display: flex;
            gap: 14px;
            flex-wrap: wrap;
            margin: 22px 0 4px
        }

        @media(max-width:520px) {
            .banner-hero .frame {
                border-radius: 16px
            }
        }

        /* ---------- HERO ---------- */
        .hero {
            padding: 40px 0 70px;
            position: relative;
            overflow: hidden
        }

        .hero .wrap {
            position: relative;
            z-index: 2
        }

        .hero-eyebrow {
            display: inline-flex;
            align-items: center;
            gap: 9px;
            font-size: 12.5px;
            font-weight: 800;
            letter-spacing: .12em;
            text-transform: uppercase;
            color: var(--azure);
            background: var(--azure-soft);
            padding: 8px 14px;
            border-radius: 999px;
            margin-bottom: 26px
        }

        .hero-eyebrow .d {
            width: 7px;
            height: 7px;
            border-radius: 50%;
            background: var(--azure)
        }

        h1.hero-h {
            font-family: var(--disp);
            font-weight: 800;
            font-size: clamp(40px, 6.6vw, 82px);
            line-height: .97;
            letter-spacing: -.035em;
            max-width: 15ch
        }

        h1.hero-h .hl {
            position: relative;
            white-space: nowrap;
            z-index: 1
        }

        h1.hero-h .hl::after {
            content: "";
            position: absolute;
            left: -.04em;
            right: -.04em;
            bottom: .08em;
            height: .42em;
            background: var(--citrine);
            z-index: -1;
            border-radius: 3px
        }

        .hero-sub {
            margin-top: 28px;
            max-width: 56ch;
            font-size: 19px;
            line-height: 1.55;
            color: var(--ink-2)
        }

        .hero-sub b {
            color: var(--ink);
            font-weight: 700
        }

        .hero-actions {
            margin-top: 34px;
            display: flex;
            gap: 14px;
            flex-wrap: wrap
        }

        .btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 9px;
            font-family: var(--sans);
            font-weight: 700;
            font-size: 15px;
            padding: 14px 26px;
            border-radius: 11px;
            transition: .2s;
            cursor: pointer;
            border: none
        }

        .btn-azure {
            background: var(--azure);
            color: #fff
        }

        .btn-azure:hover {
            background: var(--azure-ink);
            transform: translateY(-1px)
        }

        .btn-out {
            background: transparent;
            color: var(--ink);
            border: 1.5px solid var(--line)
        }

        .btn-out:hover {
            border-color: var(--azure);
            color: var(--azure)
        }

        .hero-deco {
            position: absolute;
            top: -60px;
            right: -120px;
            width: 520px;
            height: 520px;
            z-index: 1;
            opacity: .9;
            pointer-events: none
        }

        .hero-deco .ring {
            position: absolute;
            inset: 0;
            border-radius: 50%;
            border: 1.5px solid var(--line)
        }

        .hero-deco .ring:nth-child(2) {
            inset: 70px
        }

        .hero-deco .ring:nth-child(3) {
            inset: 150px
        }

        .hero-deco .orbit {
            position: absolute;
            width: 30px;
            height: 30px;
            border-radius: 50%;
            background: var(--amethyst);
            top: 0;
            left: 50%;
            transform: translateX(-50%)
        }

        .hero-deco .orbit.b {
            background: var(--azure);
            width: 20px;
            height: 20px;
            top: auto;
            bottom: 74px;
            left: 34px
        }

        .hero-deco .orbit.c {
            background: var(--citrine);
            width: 24px;
            height: 24px;
            top: 154px;
            right: 14px;
            left: auto
        }

        @media(max-width:900px) {
            .hero-deco {
                display: none
            }
        }

        /* ---------- FUND CARDS ---------- */
        .funds {
            padding: 0 0 20px
        }

        .funds-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 22px
        }

        .fcard {
            position: relative;
            border-radius: 22px;
            background: var(--card);
            border: 1px solid var(--line);
            padding: 30px 30px 28px;
            transition: transform .3s cubic-bezier(.2, .8, .2, 1), box-shadow .3s;
            overflow: hidden
        }

        .fcard:hover {
            transform: translateY(-5px);
            box-shadow: 0 26px 50px -28px rgba(33, 81, 245, .35)
        }

        .fcard::before {
            content: "";
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 5px
        }

        .fcard.long::before {
            background: var(--azure)
        }

        .fcard.short::before {
            background: var(--amethyst)
        }

        .fctop {
            display: flex;
            align-items: flex-start;
            justify-content: space-between;
            gap: 14px
        }

        .tk-badge {
            display: flex;
            align-items: center;
            gap: 13px
        }

        .tk-logo {
            width: 50px;
            height: 50px;
            border-radius: 13px;
            flex: none;
            display: grid;
            place-items: center;
            border: 1px solid var(--line)
        }

        .fcard.long .tk-logo {
            background: var(--azure-soft)
        }

        .fcard.short .tk-logo {
            background: var(--amethyst-soft)
        }

        .tk-logo svg {
            width: 28px;
            height: 28px
        }

        .tk-meta .tk {
            font-family: var(--mono);
            font-weight: 700;
            font-size: 27px;
            letter-spacing: .01em;
            line-height: 1
        }

        .tk-meta .ex {
            font-size: 12.5px;
            color: var(--mute);
            font-weight: 600;
            margin-top: 4px
        }

        .dir {
            font-size: 11.5px;
            font-weight: 800;
            letter-spacing: .06em;
            text-transform: uppercase;
            padding: 7px 12px;
            border-radius: 8px;
            white-space: nowrap
        }

        .dir.up {
            color: var(--azure);
            background: var(--azure-soft)
        }

        .dir.dn {
            color: #6f5fd6;
            background: var(--amethyst-soft)
        }

        .fname {
            font-family: var(--disp);
            font-size: 23px;
            font-weight: 700;
            line-height: 1.16;
            margin: 22px 0 6px;
            letter-spacing: -.02em
        }

        .funder {
            font-size: 14px;
            color: var(--mute);
            font-weight: 500
        }

        .lev-row {
            display: flex;
            align-items: baseline;
            gap: 12px;
            margin: 22px 0 2px
        }

        .lev-num {
            font-family: var(--mono);
            font-size: 38px;
            font-weight: 700;
            line-height: 1;
            letter-spacing: -.02em
        }

        .fcard.long .lev-num {
            color: var(--azure)
        }

        .fcard.short .lev-num {
            color: #6f5fd6
        }

        .lev-label {
            font-size: 12.5px;
            color: var(--mute);
            max-width: 18ch;
            line-height: 1.35;
            font-weight: 600
        }

        .facts {
            margin-top: 24px;
            border-top: 1px solid var(--line-2)
        }

        .frow {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 11px 0;
            border-bottom: 1px solid var(--line-2);
            font-size: 13.5px
        }

        .frow .k {
            color: var(--mute);
            font-weight: 600
        }

        .frow .v {
            font-family: var(--mono);
            font-weight: 500;
            color: var(--ink)
        }

        .frow .v.dash {
            color: #b7b2a7
        }

        .fcard-actions {
            display: flex;
            gap: 11px;
            margin-top: 24px
        }

        .fcard-actions .btn {
            flex: 1;
            padding: 13px 14px;
            font-size: 14px
        }

        /* ---------- SECTION SHELL ---------- */
        section.block {
            padding: 78px 0;
            border-top: 1px solid var(--line)
        }

        .sec-eyebrow {
            font-size: 12.5px;
            font-weight: 800;
            letter-spacing: .13em;
            text-transform: uppercase;
            color: var(--azure);
            margin-bottom: 14px
        }

        .sec-h {
            font-family: var(--disp);
            font-weight: 800;
            font-size: clamp(28px, 4vw, 46px);
            line-height: 1.03;
            letter-spacing: -.03em;
            max-width: 20ch
        }

        .sec-lead {
            margin-top: 18px;
            max-width: 60ch;
            color: var(--ink-2);
            font-size: 17.5px;
            line-height: 1.6
        }

        /* objective two-up */
        .obj-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 22px;
            margin-top: 42px
        }

        .obj {
            padding: 30px;
            border-radius: 18px;
            background: var(--card);
            border: 1px solid var(--line)
        }

        .obj.long {
            border-top: 4px solid var(--azure)
        }

        .obj.short {
            border-top: 4px solid var(--amethyst)
        }

        .obj h3 {
            font-family: var(--mono);
            font-size: 18px;
            font-weight: 700;
            display: flex;
            align-items: center;
            gap: 11px;
            margin-bottom: 15px
        }

        .obj h3 .tag {
            font-family: var(--sans);
            font-size: 11px;
            font-weight: 800;
            padding: 4px 9px;
            border-radius: 6px;
            letter-spacing: .04em
        }

        .obj p {
            font-size: 14.5px;
            line-height: 1.62;
            color: var(--ink-2)
        }

        .obj p b {
            color: var(--ink)
        }

        .obj .warn {
            margin-top: 16px;
            font-size: 12.5px;
            color: var(--down);
            font-weight: 700;
            line-height: 1.5;
            display: flex;
            gap: 7px
        }

        /* feature trio */
        .trio {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 20px;
            margin-top: 46px
        }

        .feat {
            padding: 30px;
            border-radius: 18px;
            background: var(--card);
            border: 1px solid var(--line);
            transition: .3s
        }

        .feat:hover {
            border-color: var(--azure);
            transform: translateY(-4px)
        }

        .feat .ic {
            width: 50px;
            height: 50px;
            border-radius: 13px;
            display: grid;
            place-items: center;
            margin-bottom: 20px;
            background: var(--azure-soft)
        }

        .feat .ic svg {
            width: 25px;
            height: 25px;
            stroke: var(--azure);
            fill: none;
            stroke-width: 1.8
        }

        .feat h4 {
            font-family: var(--disp);
            font-size: 19px;
            font-weight: 700;
            margin-bottom: 10px;
            letter-spacing: -.01em
        }

        .feat p {
            font-size: 14px;
            line-height: 1.6;
            color: var(--ink-2)
        }

        /* compare table */
        .ctable {
            margin-top: 42px;
            border-radius: 18px;
            overflow: hidden;
            border: 1px solid var(--line);
            background: var(--card)
        }

        .ctable table {
            width: 100%;
            border-collapse: collapse
        }

        .ctable th,
        .ctable td {
            padding: 16px 22px;
            text-align: left;
            font-size: 14.5px;
            border-bottom: 1px solid var(--line-2)
        }

        .ctable thead th {
            font-size: 12px;
            letter-spacing: .06em;
            text-transform: uppercase;
            color: var(--mute);
            font-weight: 800;
            background: var(--quartz)
        }

        .ctable td:first-child {
            color: var(--mute);
            font-weight: 600
        }

        .ctable .tkh {
            font-family: var(--mono);
            font-weight: 700;
            font-size: 16px;
            color: var(--ink)
        }

        .ctable .v-long {
            font-family: var(--mono);
            color: var(--azure);
            font-weight: 600
        }

        .ctable .v-short {
            font-family: var(--mono);
            color: #6f5fd6;
            font-weight: 600
        }

        .ctable tr:last-child td {
            border-bottom: none
        }

        .ctable tbody tr:hover {
            background: var(--quartz)
        }

        /* documents */
        .docs-grid {
            margin-top: 42px;
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 14px
        }

        .doc {
            display: flex;
            align-items: center;
            gap: 14px;
            padding: 18px 20px;
            border-radius: 14px;
            background: var(--card);
            border: 1px solid var(--line);
            transition: .2s
        }

        .doc:hover {
            border-color: var(--azure);
            transform: translateX(3px)
        }

        .doc .dic {
            width: 40px;
            height: 40px;
            border-radius: 10px;
            background: var(--citrine-soft);
            display: grid;
            place-items: center;
            flex: none
        }

        .doc .dic svg {
            width: 20px;
            height: 20px;
            stroke: var(--azure);
            fill: none;
            stroke-width: 1.8
        }

        .doc .dt {
            font-weight: 700;
            font-size: 15px
        }

        .doc .ds {
            font-size: 12.5px;
            color: var(--mute);
            font-weight: 500;
            margin-top: 2px
        }

        .doc .arr {
            margin-left: auto;
            color: var(--mute);
            font-size: 18px
        }

        /* CTA */
        .cta-sec {
            padding: 30px 0 10px
        }

        .cta {
            position: relative;
            border-radius: 26px;
            overflow: hidden;
            background: var(--azure);
            color: #fff;
            padding: 60px 54px
        }

        .cta::after {
            content: "";
            position: absolute;
            top: -80px;
            right: -60px;
            width: 320px;
            height: 320px;
            border-radius: 50%;
            background: radial-gradient(circle, var(--amethyst), transparent 70%);
            opacity: .5
        }

        .cta .cbar {
            position: absolute;
            left: 0;
            top: 0;
            bottom: 0;
            width: 8px;
            background: var(--citrine)
        }

        .cta-inner {
            position: relative;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 40px;
            flex-wrap: wrap;
            z-index: 2
        }

        .cta h2 {
            font-family: var(--disp);
            font-size: clamp(26px, 3.6vw, 40px);
            font-weight: 800;
            line-height: 1.04;
            letter-spacing: -.03em;
            max-width: 17ch
        }

        .cta p {
            margin-top: 14px;
            color: rgba(255, 255, 255, .85);
            max-width: 46ch;
            font-size: 15.5px;
            line-height: 1.55
        }

        .cta .btn {
            flex: none;
            background: var(--citrine);
            color: var(--ink)
        }

        .cta .btn:hover {
            background: #eaffb0;
            transform: translateY(-1px)
        }

        /* ---------- FOOTER ---------- */
        footer {
            background: var(--ink);
            color: var(--quartz);
            margin-top: 80px
        }

        .foot-top {
            display: grid;
            grid-template-columns: 1.7fr repeat(3, 1fr);
            gap: 40px;
            padding: 64px 0 48px
        }

        .foot-brand .brand {
            color: var(--quartz);
            margin-bottom: 18px
        }

        .foot-brand .brand .mark {
            background: var(--azure)
        }

        .foot-brand p {
            font-size: 14px;
            color: #9aa0ad;
            line-height: 1.6;
            max-width: 32ch
        }

        .fcol h5 {
            font-size: 12px;
            letter-spacing: .1em;
            text-transform: uppercase;
            color: #6f7585;
            margin-bottom: 16px;
            font-weight: 800
        }

        .fcol a {
            display: block;
            font-size: 14.5px;
            color: #c9cdd6;
            margin-bottom: 11px;
            transition: .2s
        }

        .fcol a:hover {
            color: var(--citrine)
        }

        .disclosures {
            padding: 40px 0 50px;
            border-top: 1px solid rgba(255, 255, 255, .1)
        }

        .disclosures h6 {
            font-size: 12px;
            letter-spacing: .12em;
            text-transform: uppercase;
            color: var(--citrine);
            margin-bottom: 18px;
            font-weight: 800
        }

        .disclosures p {
            font-size: 11.5px;
            line-height: 1.7;
            color: #8b909d;
            margin-bottom: 14px
        }

        .disclosures p.bold {
            color: #c9cdd6;
            font-weight: 600
        }

        .disclosures a.plink {
            color: var(--citrine);
            font-weight: 700;
            text-decoration: underline
        }

        .copyright {
            font-size: 11.5px;
            color: #6f7585;
            padding-bottom: 48px
        }

        /* responsive */
        @media(max-width:880px) {

            .navlinks,
            .nav-search,
            .flag {
                display: none
            }

            .burger {
                display: block;
                width: 26px;
                height: 18px;
                position: relative;
                cursor: pointer
            }

            .burger span {
                position: absolute;
                left: 0;
                right: 0;
                height: 2px;
                background: var(--ink);
                border-radius: 2px
            }

            .burger span:nth-child(1) {
                top: 0
            }

            .burger span:nth-child(2) {
                top: 8px
            }

            .burger span:nth-child(3) {
                top: 16px
            }

            .funds-grid,
            .obj-grid,
            .trio,
            .docs-grid,
            .foot-top {
                grid-template-columns: 1fr
            }

            .cta {
                padding: 42px 28px
            }

            .ctable {
                overflow-x: auto
            }

            .foot-top {
                grid-template-columns: 1fr 1fr
            }
        }

        @media(max-width:520px) {
            .foot-top {
                grid-template-columns: 1fr
            }
        }

        .reveal {
            opacity: 0;
            transform: translateY(22px);
            animation: rise .75s cubic-bezier(.2, .8, .2, 1) forwards
        }

        .d1 {
            animation-delay: .05s
        }

        .d2 {
            animation-delay: .13s
        }

        .d3 {
            animation-delay: .22s
        }

        .d4 {
            animation-delay: .32s
        }

        @keyframes rise {
            to {
                opacity: 1;
                transform: none
            }
        }

        @media(prefers-reduced-motion:reduce) {
            .reveal {
                animation: none;
                opacity: 1;
                transform: none
            }
        }
