:root {
    font-size: 14px;
    --dm-ink: #081629;
    --dm-blue: #1a74ff;
    --dm-sky: #5cb6ff;
    --dm-teal: #12c4a3;
    --dm-gold: #ffb86b;
    --dm-mint: #e6fff8;
    --dm-line: #d8e4f1;
    --dm-cloud: #f5f8fc;
    --dm-card: rgba(255, 255, 255, .9);
    --dm-shadow: 0 24px 70px rgba(12, 42, 87, .16);
    --dm-soft-shadow: 0 16px 45px rgba(12, 42, 87, .12);
    --dm-radius-xl: 34px;
    --dm-radius-lg: 24px;
    --dm-radius-md: 18px;
    --dm-font-display: "Aptos Display", "Trebuchet MS", "Segoe UI", sans-serif;
    --dm-font-body: "Aptos", "Trebuchet MS", "Segoe UI", sans-serif;
}

.website-shell {
    width: 100vw;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
    overflow: hidden;
    color: var(--dm-ink);
    font-family: var(--dm-font-body);
    background:
        radial-gradient(circle at 8% 8%, rgba(26, 116, 255, .16), transparent 24rem),
        radial-gradient(circle at 88% 18%, rgba(18, 196, 163, .14), transparent 26rem),
        linear-gradient(180deg, #f7fbff 0%, #ffffff 28%, #f2f7fb 100%);
}

.website-container {
    width: min(1180px, calc(100% - 36px));
    margin: 0 auto;
}

.website-section {
    position: relative;
    padding: 96px 0;
}

.website-section--hero {
    padding-top: 0;
}

.website-section--services,
.website-section--funds,
.website-section--equity {
    background:
        linear-gradient(135deg, rgba(242, 248, 255, .92), rgba(255, 255, 255, .72)),
        radial-gradient(circle at 0% 100%, rgba(26, 116, 255, .16), transparent 22rem);
}

.website-section-header {
    max-width: 760px;
    margin: 0 auto 44px;
    text-align: center;
}

.website-section-header--left {
    margin-right: 0;
    margin-left: 0;
    text-align: left;
}

.website-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 14px;
    color: var(--dm-teal);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.website-eyebrow::after {
    content: "";
    width: 38px;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--dm-teal), var(--dm-blue));
}

.website-section h1,
.website-section h2,
.website-section h3 {
    font-family: var(--dm-font-display);
    color: var(--dm-ink);
    letter-spacing: -.04em;
}

.website-section h1 {
    max-width: 760px;
    margin: 0;
    font-size: clamp(2.65rem, 5.4vw, 5.45rem);
    line-height: .88;
}

.website-section h2 {
    margin: 0;
    font-size: clamp(1.95rem, 3.9vw, 3.7rem);
    line-height: .95;
}

.website-section h3 {
    margin: 0 0 10px;
    font-size: clamp(1.05rem, 1.55vw, 1.35rem);
    line-height: 1.08;
}

.website-section p {
    color: #22336b;
    line-height: 1.65;
}

.website-lead {
    max-width: 700px;
    margin: 26px 0 0;
    color: #142765;
    font-size: clamp(1rem, 1.55vw, 1.25rem);
}

.website-copy {
    max-width: 650px;
    margin-top: 18px;
    font-size: 1.03rem;
}

.website-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 32px;
}

.website-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 13px 22px;
    border: 0;
    border-radius: 999px;
    font-weight: 800;
    text-decoration: none;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

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

.website-btn--primary {
    color: #fff;
    background: linear-gradient(135deg, var(--dm-blue), var(--dm-teal));
    box-shadow: 0 15px 35px rgba(23, 105, 242, .26);
}

.website-btn--primary:hover {
    color: #fff;
    box-shadow: 0 20px 45px rgba(23, 105, 242, .34);
}

.website-btn--ghost {
    color: var(--dm-ink);
    background: rgba(255, 255, 255, .74);
    box-shadow: inset 0 0 0 1px rgba(23, 105, 242, .16);
}

.website-btn--ghost:hover {
    color: var(--dm-blue);
    background: #fff;
}

.website-hero {
    position: relative;
    min-height: 780px;
    padding: 84px 0 76px;
    isolation: isolate;
}

.website-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -3;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, .93) 0%, rgba(255, 255, 255, .78) 48%, rgba(239, 249, 255, .8) 100%),
        radial-gradient(circle at 80% 16%, rgba(22, 199, 189, .16), transparent 24rem);
}

.website-hero::after {
    content: "";
    position: absolute;
    right: -6vw;
    bottom: 0;
    z-index: -2;
    width: min(54vw, 740px);
    height: 76%;
    border-top-left-radius: 70px;
    background:
        linear-gradient(110deg, rgba(255, 255, 255, .28), rgba(255, 255, 255, .88)),
        repeating-linear-gradient(90deg, transparent 0 28px, rgba(23, 105, 242, .08) 29px 30px);
}

.website-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, .92fr) minmax(460px, 1fr);
    gap: 54px;
    align-items: center;
}

.website-hero__copy {
    position: relative;
    z-index: 2;
}

.website-hero__canvas {
    position: relative;
    min-height: 610px;
}

.website-hero__glow {
    position: absolute;
    z-index: -1;
    border-radius: 50%;
    opacity: .72;
}

.website-hero__glow--one {
    top: 110px;
    left: 52%;
    width: 340px;
    height: 340px;
    background: radial-gradient(circle, rgba(84, 184, 255, .26) 0%, rgba(84, 184, 255, 0) 70%);
}

.website-hero__glow--two {
    right: 8%;
    bottom: 80px;
    width: 260px;
    height: 260px;
    background: radial-gradient(circle, rgba(22, 199, 189, .26) 0%, rgba(22, 199, 189, 0) 70%);
}

.website-orbit {
    position: absolute;
    inset: 62px 0 80px;
    border: 2px dashed rgba(23, 105, 242, .36);
    border-right-color: rgba(22, 199, 189, .45);
    border-bottom-color: rgba(22, 199, 189, .25);
    border-radius: 48% 52% 44% 56%;
    transform: rotate(11deg);
}

.website-floating-card {
    position: absolute;
    display: grid;
    place-items: center;
    width: 152px;
    min-height: 132px;
    padding: 18px;
    border: 1px solid rgba(23, 105, 242, .1);
    border-radius: 22px;
    text-align: center;
    background: #fff;
    box-shadow: var(--dm-soft-shadow);
}

.website-floating-card span {
    display: grid;
    place-items: center;
    width: 54px;
    height: 54px;
    margin-bottom: 8px;
    border-radius: 18px;
    color: var(--dm-blue);
    font-size: 1.15rem;
    font-weight: 900;
    background: linear-gradient(135deg, #ecf7ff, #e5fffb);
}

.website-floating-card strong {
    font-size: .96rem;
    line-height: 1.15;
}

.website-floating-card--1 { top: 18px; left: 17%; }
.website-floating-card--2 { top: 0; right: 22%; animation-delay: -.9s; }
.website-floating-card--3 { top: 126px; right: 0; animation-delay: -1.8s; }
.website-floating-card--4 { top: 252px; left: 2%; animation-delay: -2.7s; }
.website-floating-card--5 { top: 278px; left: 34%; animation-delay: -3.6s; }
.website-floating-card--6 { right: 9%; bottom: 86px; animation-delay: -4.5s; }

.website-cityline {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 6%;
    height: 118px;
    opacity: .55;
    background:
        linear-gradient(to top, rgba(23, 105, 242, .14), transparent 66%),
        linear-gradient(90deg, transparent 0 6%, rgba(23, 105, 242, .24) 6% 7%, transparent 7% 15%, rgba(84, 184, 255, .3) 15% 17%, transparent 17% 27%, rgba(23, 105, 242, .24) 27% 29%, transparent 29% 42%, rgba(84, 184, 255, .28) 42% 44%, transparent 44% 58%, rgba(23, 105, 242, .22) 58% 61%, transparent 61% 74%, rgba(84, 184, 255, .32) 74% 76%, transparent 76% 86%, rgba(23, 105, 242, .26) 86% 88%, transparent 88%);
    clip-path: polygon(0 100%, 0 72%, 8% 72%, 8% 54%, 15% 54%, 15% 78%, 23% 78%, 23% 38%, 33% 38%, 33% 68%, 41% 68%, 41% 28%, 50% 28%, 50% 64%, 60% 64%, 60% 42%, 69% 42%, 69% 76%, 78% 76%, 78% 20%, 88% 20%, 88% 62%, 100% 62%, 100% 100%);
}

.website-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    max-width: 620px;
    margin-top: 34px;
}

.website-stats div {
    padding: 18px;
    border: 1px solid rgba(23, 105, 242, .12);
    border-radius: 20px;
    background: rgba(255, 255, 255, .74);
    box-shadow: 0 14px 40px rgba(21, 91, 173, .08);
}

.website-stats strong {
    display: block;
    color: var(--dm-blue);
    font-size: 1.65rem;
    line-height: 1;
}

.website-stats span {
    display: block;
    margin-top: 6px;
    color: #405079;
    font-size: .86rem;
}

.website-card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.website-card-grid--services {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.website-service-card,
.website-solution-card,
.website-fund-card,
.website-purpose-card,
.website-founder-panel,
.website-valuation-card,
.website-equity-table,
.website-formula-card,
.website-contact-card {
    border: 1px solid rgba(23, 105, 242, .12);
    background: rgba(255, 255, 255, .97);
    box-shadow: var(--dm-soft-shadow);
}

.website-service-card {
    min-height: 220px;
    padding: 28px;
    border-radius: var(--dm-radius-lg);
    transition: transform .2s ease, box-shadow .2s ease;
}

.website-service-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--dm-shadow);
}

.website-card-icon {
    display: grid;
    place-items: center;
    width: 62px;
    height: 62px;
    margin-bottom: 18px;
    border-radius: 21px;
    color: var(--dm-blue);
    font-size: 1rem;
    font-weight: 900;
    background:
        linear-gradient(135deg, rgba(23, 105, 242, .12), rgba(22, 199, 189, .15)),
        #f6fbff;
    box-shadow: inset 0 0 0 1px rgba(23, 105, 242, .08);
}

.website-card-icon--large {
    width: 90px;
    height: 90px;
    margin: 0 auto 24px;
    border-radius: 50%;
    font-size: 1.2rem;
}

.website-solutions {
    position: relative;
    display: grid;
    grid-template-columns: minmax(260px, 360px) 1fr;
    gap: 34px;
    align-items: center;
}

.website-solutions::before {
    content: "";
    position: absolute;
    inset: 80px 120px;
    z-index: 0;
    border: 2px dashed rgba(23, 105, 242, .24);
    border-radius: 50%;
    transform: rotate(-8deg);
}

.website-solutions__center,
.website-solutions__grid {
    position: relative;
    z-index: 1;
}

.website-solutions__center {
    display: grid;
    place-items: center;
    min-height: 380px;
    padding: 38px;
    border: 1px solid rgba(23, 105, 242, .1);
    border-radius: var(--dm-radius-xl);
    text-align: center;
    background: rgba(255, 255, 255, .88);
    box-shadow: var(--dm-shadow);
}

.website-logo-mark {
    display: grid;
    place-items: center;
    width: 76px;
    height: 76px;
    margin-bottom: 20px;
    border-radius: 24px;
    color: #fff;
    font-weight: 900;
    background: linear-gradient(135deg, var(--dm-blue), var(--dm-teal));
}

.website-solutions__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.website-solution-card {
    display: grid;
    grid-template-columns: 78px 1fr;
    gap: 18px;
    align-items: center;
    min-height: 154px;
    padding: 22px;
    border-radius: 26px;
}

.website-funds-layout {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 28px;
    align-items: stretch;
}

.website-fund-cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.website-fund-card {
    position: relative;
    min-height: 390px;
    padding: 34px 28px;
    border-radius: var(--dm-radius-lg);
}

.website-number {
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    margin-bottom: 20px;
    border-radius: 50%;
    color: #fff;
    font-weight: 900;
    background: linear-gradient(135deg, var(--dm-teal), #10aea5);
}

.website-purpose-card {
    padding: 34px 28px;
    border-radius: var(--dm-radius-xl);
    text-align: center;
}

.website-purpose-card h3 {
    font-size: 1.45rem;
}

.website-pill-banner,
.website-info-strip {
    margin: 34px auto 0;
    padding: 22px 28px;
    border: 1px solid rgba(23, 105, 242, .12);
    border-radius: 999px;
    color: var(--dm-ink);
    font-family: var(--dm-font-display);
    font-size: clamp(1.05rem, 1.8vw, 1.55rem);
    font-weight: 900;
    text-align: center;
    background: linear-gradient(135deg, rgba(255, 255, 255, .92), rgba(246, 250, 255, .88));
    box-shadow: var(--dm-soft-shadow);
}

.website-founder-top {
    display: grid;
    grid-template-columns: 1.25fr .8fr .8fr;
    gap: 20px;
    align-items: stretch;
    margin-bottom: 28px;
}

.website-valuation-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 150px;
    padding: 28px;
    border-radius: var(--dm-radius-lg);
}

.website-valuation-card span {
    color: #22336b;
    font-weight: 800;
}

.website-valuation-card strong {
    margin-top: 10px;
    color: var(--dm-teal);
    font-family: var(--dm-font-display);
    font-size: clamp(1.45rem, 2.35vw, 2.25rem);
    line-height: 1;
}

.website-valuation-card--accent {
    border-color: rgba(22, 199, 189, .38);
}

.website-founder-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1.05fr;
    gap: 20px;
}

.website-founder-panel {
    padding: 28px;
    border-radius: var(--dm-radius-lg);
}

.website-mini-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 22px;
}

.website-mini-grid span {
    display: grid;
    gap: 10px;
    align-content: center;
    min-height: 108px;
    padding: 16px;
    border: 1px solid rgba(23, 105, 242, .1);
    border-radius: 18px;
    text-align: center;
    background: rgba(248, 252, 255, .86);
}

.website-mini-grid b {
    color: var(--dm-blue);
    font-size: 1.1rem;
}

.website-driver {
    display: grid;
    grid-template-columns: 70px 1fr;
    gap: 16px;
    padding: 16px 0;
    border-bottom: 1px solid var(--dm-line);
}

.website-driver:last-child {
    border-bottom: 0;
}

.website-driver p {
    margin: 5px 0 0;
    font-size: .95rem;
}

.website-info-strip {
    max-width: 860px;
    border-radius: 24px;
    font-family: var(--dm-font-body);
    font-size: 1rem;
    font-weight: 600;
}

.website-equity-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr);
    gap: 34px;
    align-items: center;
}

.website-equity-table {
    overflow: hidden;
    border-radius: var(--dm-radius-lg);
}

.website-equity-row {
    display: grid;
    grid-template-columns: 1fr 240px;
    gap: 20px;
    align-items: center;
    padding: 22px 32px;
    border-top: 1px solid var(--dm-line);
}

.website-equity-row:first-child {
    border-top: 0;
}

.website-equity-row--head {
    color: var(--dm-ink);
    font-weight: 900;
    background: linear-gradient(90deg, rgba(23, 105, 242, .1), rgba(22, 199, 189, .08));
}

.website-equity-row span {
    display: inline-flex;
    align-items: center;
    gap: 18px;
    font-size: 1.3rem;
    font-weight: 900;
}

.website-equity-row b {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    color: #fff;
    font-size: .92rem;
    background: linear-gradient(135deg, var(--dm-teal), #10aea5);
}

.website-equity-row strong {
    color: var(--dm-blue);
    font-size: 1.7rem;
}

.website-equity-aside {
    display: grid;
    gap: 22px;
}

.website-formula-card {
    padding: 28px;
    border-radius: var(--dm-radius-lg);
}

.website-formula-card span {
    display: inline-flex;
    margin-bottom: 16px;
    padding: 8px 14px;
    border-radius: 12px;
    color: #fff;
    font-weight: 900;
    background: var(--dm-blue);
}

.website-formula-card p {
    margin: 0;
    color: var(--dm-ink);
    font-weight: 800;
}

.website-purpose-card--compact strong {
    display: block;
    color: var(--dm-teal);
    font-family: var(--dm-font-display);
    font-size: clamp(1.95rem, 3.9vw, 3.2rem);
    line-height: 1;
}

.website-contact-card {
    display: grid;
    grid-template-columns: minmax(0, .92fr) minmax(360px, .78fr);
    gap: 32px;
    padding: clamp(28px, 5vw, 54px);
    border-radius: var(--dm-radius-xl);
    background:
        radial-gradient(circle at 0 0, rgba(84, 184, 255, .2), transparent 22rem),
        linear-gradient(135deg, rgba(255, 255, 255, .9), rgba(246, 252, 255, .92));
}

.website-contact-copy h2 {
    max-width: 620px;
}

.website-contact-list {
    display: grid;
    gap: 12px;
    margin: 28px 0 0;
    padding: 0;
    list-style: none;
}

.website-contact-list li {
    position: relative;
    padding-left: 28px;
    color: #22336b;
    font-weight: 700;
}

.website-contact-list li::before {
    content: "";
    position: absolute;
    top: .58em;
    left: 0;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--dm-blue), var(--dm-teal));
}

.website-contact-form {
    padding: 26px;
    border: 1px solid rgba(23, 105, 242, .12);
    border-radius: 26px;
    background: rgba(255, 255, 255, .86);
    box-shadow: 0 14px 40px rgba(21, 91, 173, .1);
}

.website-form label {
    color: var(--dm-ink);
    font-weight: 800;
}

.website-form .form-control,
.website-form .form-select {
    border-color: rgba(23, 105, 242, .16);
    border-radius: 16px;
    min-height: 48px;
}

.website-centered-copy {
    max-width: 760px;
    margin: -18px auto 36px;
    text-align: center;
}

.website-section > .website-container,
.website-hero__copy,
.website-floating-card,
.website-service-card,
.website-solution-card,
.website-fund-card,
.website-purpose-card,
.website-founder-panel,
.website-valuation-card,
.website-equity-table,
.website-formula-card,
.website-contact-card {
    opacity: 0;
    transform: translateY(24px);
}

.website-section.is-visible > .website-container,
.website-section.is-visible .website-hero__copy,
.website-section.is-visible .website-floating-card,
.website-section.is-visible .website-service-card,
.website-section.is-visible .website-solution-card,
.website-section.is-visible .website-fund-card,
.website-section.is-visible .website-purpose-card,
.website-section.is-visible .website-founder-panel,
.website-section.is-visible .website-valuation-card,
.website-section.is-visible .website-equity-table,
.website-section.is-visible .website-formula-card,
.website-section.is-visible .website-contact-card {
    opacity: 1;
    transform: translateY(0);
    transition: opacity .72s ease, transform .72s ease;
}

@keyframes website-float {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-14px);
    }
}

@media (max-width: 1199.98px) {
    .website-hero__grid,
    .website-solutions,
    .website-funds-layout,
    .website-founder-top,
    .website-founder-grid,
    .website-equity-grid,
    .website-contact-card {
        grid-template-columns: 1fr;
    }

    .website-hero__canvas {
        min-height: 520px;
    }

    .website-card-grid--services,
    .website-fund-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .website-purpose-card {
        max-width: none;
    }
}

@media (max-width: 767.98px) {
    .website-section {
        padding: 68px 0;
    }

    .website-hero {
        min-height: auto;
        padding: 62px 0 54px;
    }

    .website-hero__grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .website-hero__canvas {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
        min-height: auto;
    }

    .website-orbit,
    .website-cityline {
        display: none;
    }

    .website-floating-card {
        position: static;
        width: auto;
        min-height: 126px;
        animation: none;
    }

    .website-stats,
    .website-card-grid,
    .website-card-grid--services,
    .website-solutions__grid,
    .website-fund-cards,
    .website-mini-grid {
        grid-template-columns: 1fr;
    }

    .website-solution-card,
    .website-driver,
    .website-equity-row,
    .website-contact-card {
        grid-template-columns: 1fr;
    }

    .website-equity-row {
        padding: 20px;
    }

    .website-pill-banner,
    .website-info-strip {
        border-radius: 22px;
    }

    .website-section h1 {
        font-size: clamp(2.4rem, 13vw, 3.35rem);
    }
}

@media (prefers-reduced-motion: reduce) {
    .website-floating-card {
        animation: none;
    }

    .website-section > .website-container,
    .website-hero__copy,
    .website-floating-card,
    .website-service-card,
    .website-solution-card,
    .website-fund-card,
    .website-purpose-card,
    .website-founder-panel,
    .website-valuation-card,
    .website-equity-table,
    .website-formula-card,
    .website-contact-card {
        opacity: 1;
        transform: none;
    }
}
