:root {
    --cm-primary: #3E1AF6;
    --cm-primary-hover: #2D0EDB;
    --cm-primary-light: #5D47F6;
    --cm-primary-dark: #1D189D;

    --cm-secondary: #2864FF;
    --cm-secondary-light: #8C90F3;
    --cm-secondary-dark: #2446D8;

    --cm-gradient-primary: linear-gradient(110deg,
            #6547FF 0%,
            #3E1AF6 55%,
            #2864FF 100%);

    --cm-gradient-text: linear-gradient(100deg,
            #3E1AF6 0%,
            #2864FF 55%,
            #3E1AF6 100%);

    --cm-gradient-soft: linear-gradient(135deg,
            #F1EEFF 0%,
            #F5F7FF 100%);

    --cm-ink: #0B1026;
    --cm-text: #1E2340;
    --cm-text-secondary: #495579;
    --cm-text-muted: #667391;
    --cm-text-light: #8A94AD;
    --cm-text-white: #FFFFFF;

    --cm-bg: #FFFFFF;
    --cm-bg-soft: #F8F9FF;
    --cm-bg-secondary: #F5F7FF;
    --cm-bg-lavender: #EEEBFF;
    --cm-bg-blue: #EEF4FF;
    --cm-bg-dark: #0B1026;

    --cm-border: #E5E8F2;
    --cm-border-light: #F0F1F8;
    --cm-border-purple: #DCD5FF;
    --cm-border-focus: #3E1AF6;

    --cm-success: #23C8A0;
    --cm-success-dark: #07966F;
    --cm-gold: #F09D2A;
    --cm-gold-dark: #CC750F;
    --cm-lavender: #E6E8FF;

    --cm-shadow-sm: 0 4px 16px rgba(30, 35, 64, 0.06);
    --cm-shadow-md: 0 12px 32px rgba(62, 26, 246, 0.10);
    --cm-shadow-lg: 0 20px 60px rgba(45, 40, 120, 0.14);

    --cm-radius-sm: 10px;
    --cm-radius-md: 16px;
    --cm-radius-lg: 24px;
    --cm-radius-pill: 999px;

    /* Layer-specific tokens */
    --cm-font-heading: "Manrope", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    --cm-font-body: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    --cm-header-h: 5.25rem;
}

/* --------------------------------------------------------------------------
   Base
   -------------------------------------------------------------------------- */
body {
    font-family: var(--cm-font-body);
    color: var(--cm-text);
    background: var(--cm-bg);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}


.cm-section {
    position: relative;
    padding: 80px 0;
    background: var(--cm-bg);
    overflow-x: clip;
}

.cm-section>.container-fluid {
    position: relative;
    z-index: 1;
}

.cm-section--soft {
    background: var(--cm-bg-soft);
}

.cm-section--lavender {
    background: var(--cm-gradient-soft);
}

.cm-section--blue {
    background: var(--cm-bg-blue);
}

.cm-section--dark {
    background: var(--cm-bg-dark);
    color: rgba(255, 255, 255, .74);
}

.cm-section--primary {
    background: var(--cm-gradient-primary);
    color: rgba(255, 255, 255, .86);
}

/* Head block ---------------------------------------------------------- */
.cm-head {
    margin-bottom: clamp(1.4rem, 2.4vw, 2.2rem);
}

.cm-head--center {
    max-width: 56rem;
    margin-inline: auto;
    text-align: center;
}

@media (min-width: 992px) {
    .cm-head--sticky {
        position: sticky;
        top: 6.75rem;
    }
}

.cm-head--sticky-text {
    margin-top: -.5rem;
}

.cm-eyebrow {
    display: flex;
    align-items: center;
    gap: .6rem;
    margin: 0 0 1rem;
    font-size: .74rem;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--cm-primary);
}

.cm-head--center .cm-eyebrow {
    justify-content: center;
}

.cm-eyebrow__ico {
    display: inline-grid;
    place-items: center;
    flex: none;
    width: 1.9rem;
    height: 1.9rem;
    border-radius: var(--cm-radius-pill);
    background: var(--cm-bg-lavender);
    font-size: .95rem;
    letter-spacing: 0;
}

.cm-eyebrow:empty::before,
.cm-eyebrow:empty::after {
    content: "";
    width: 2.2rem;
    height: 3px;
    border-radius: 3px;
    background: var(--cm-gradient-primary);
}

.cm-eyebrow:empty::after {
    width: .55rem;
    height: .55rem;
    border-radius: 50%;
    background: var(--cm-secondary);
}

.cm-head--center .cm-eyebrow:empty {
    justify-content: center;
}

.cm-title {
    margin: 0 0 .7rem;
    font-size: clamp(1.7rem, 3.1vw, 2.85rem);
    font-weight: 800;
    line-height: 1.12;
    letter-spacing: -.03em;
    color: var(--cm-ink);
    text-wrap: balance;
}

.cm-title--md {
    font-size: clamp(1.5rem, 2.5vw, 2.25rem);
}

.cm-num {
    color: var(--cm-primary);
    margin-right: .08em;
}

.cm-subtitle {
    margin: 0;
    font-size: clamp(1.05rem, 1.45vw, 1.3rem);
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: -.012em;
    color: var(--cm-primary-dark);
    text-wrap: balance;
}

/* Prose --------------------------------------------------------------- */
.cm-prose p {
    margin: 15px 0;
    font-size: clamp(.98rem, 1.05vw, 1.07rem);
    line-height: 1.72;
    color: var(--cm-text-secondary);
}

.cm-prose p:last-child {
    margin-bottom: 0;
}

.cm-prose strong,
.cm-hero__copy strong {
    font-weight: 600;
    color: var(--cm-text);
}

.cm-lead,
.cm-prose p.cm-lead {
    font-size: clamp(1.1rem, 1.5vw, 1.32rem);
    font-weight: 500;
    line-height: 1.55;
    letter-spacing: -.012em;
    color: var(--cm-text);
}

.cm-pull,
.cm-prose p.cm-pull {
    margin: 1.4rem 0;
    padding: .35rem 0 .35rem 1.2rem;
    border-left: 4px solid var(--cm-primary);
    border-image: var(--cm-gradient-primary) 1;
    font-size: clamp(1.15rem, 1.7vw, 1.45rem);
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: -.02em;
    color: var(--cm-ink);
}

.cm-prose--center {
    max-width: 52rem;
    margin-inline: auto;
    text-align: center;
}

@media (min-width: 992px) {
    .cm-prose--cols {
        column-count: 2;
        column-gap: clamp(2rem, 4vw, 4rem);
    }

    .cm-prose--cols p {
        break-inside: avoid;
    }
}

.cm-note {
    margin-top: 1.5rem;
    padding-left: 1.1rem;
    border-left: 3px solid var(--cm-border-purple);
}

/* Closing statement ------------------------------------------------------ */
.cm-closing {
    display: flex;
    align-items: flex-start;
    gap: .8rem;
    margin: 1.75rem 0 0;
    padding: 1rem 1.25rem;
    border: 1px solid var(--cm-border-purple);
    border-radius: var(--cm-radius-md);
    background: var(--cm-gradient-soft);
    font-size: clamp(.98rem, 1.15vw, 1.1rem);
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: -.012em;
    color: var(--cm-ink);
}

.cm-closing .bi {
    flex: none;
    margin-top: .12em;
    font-size: 1.15em;
    color: var(--cm-primary);
}

.cm-closing--lg {
    margin-top: clamp(2rem, 3.5vw, 3rem);
    padding: clamp(1.2rem, 2.2vw, 1.8rem) clamp(1.3rem, 2.6vw, 2.2rem);
    border-radius: var(--cm-radius-lg);
    font-size: clamp(1.1rem, 1.7vw, 1.5rem);
    box-shadow: var(--cm-shadow-sm);
}

.cm-closing--chip {
    display: inline-flex;
    align-items: center;
    margin-top: 1rem;
    padding: .5rem .95rem;
    border-radius: var(--cm-radius-pill);
    font-size: .9rem;
    background: var(--cm-bg-lavender);
}

.cm-closing--chip .bi {
    margin-top: 0;
    color: var(--cm-success-dark);
}

/* ==========================================================================
   Buttons
   ========================================================================== */
.cm-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .65em;
    padding: .9em 1.6em;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.25;
    text-align: center;
    border: 1.5px solid transparent;
    border-radius: var(--cm-radius-pill);
    transition: transform .25s ease, box-shadow .25s ease, background-color .25s ease, color .25s ease, border-color .25s ease, background-position .35s ease;
}

.cm-btn .bi {
    font-size: 1.2em;
    line-height: 1;
    transition: transform .25s ease;
}

.cm-btn:hover .bi-arrow-right,
.cm-btn:focus-visible .bi-arrow-right {
    transform: translateX(4px);
}

.cm-btn:focus-visible {
    outline: 3px solid rgba(62, 26, 246, .3);
    outline-offset: 2px;
}

.cm-btn--primary {
    color: var(--cm-text-white);
    background: var(--cm-gradient-primary);
    background-size: 140% 100%;
    background-position: 0 0;
    box-shadow: 0 10px 24px rgba(62, 26, 246, .24);
}

.cm-btn--primary:hover,
.cm-btn--primary:focus-visible {
    color: var(--cm-text-white);
    background-position: 100% 0;
    transform: translateY(-2px);
    box-shadow: 0 14px 30px rgba(62, 26, 246, .32);
}

.cm-btn--outline {
    color: var(--cm-primary);
    background: var(--cm-bg);
    border-color: var(--cm-primary-light);
}

.cm-btn--outline:hover,
.cm-btn--outline:focus-visible {
    color: var(--cm-primary-hover);
    background: var(--cm-bg-soft);
    border-color: var(--cm-primary);
    transform: translateY(-2px);
    box-shadow: var(--cm-shadow-md);
}

.cm-btn--ghost {
    padding-inline: .6em;
    color: var(--cm-text);
}

.cm-btn--ghost:hover,
.cm-btn--ghost:focus-visible {
    color: var(--cm-primary);
    text-decoration: underline;
    text-underline-offset: .3em;
}

.cm-btn--light {
    color: var(--cm-primary);
    background: var(--cm-bg);
    box-shadow: var(--cm-shadow-md);
}

.cm-btn--light:hover,
.cm-btn--light:focus-visible {
    color: var(--cm-primary-hover);
    transform: translateY(-2px);
    box-shadow: var(--cm-shadow-lg);
}

.cm-btn--outline-light {
    color: var(--cm-text-white);
    border-color: rgba(255, 255, 255, .55);
}

.cm-btn--outline-light:hover,
.cm-btn--outline-light:focus-visible {
    color: var(--cm-primary);
    background: var(--cm-bg);
    transform: translateY(-2px);
}

.cm-btn--ghost-light {
    padding-inline: .6em;
    color: var(--cm-text-white);
}

.cm-btn--ghost-light:hover,
.cm-btn--ghost-light:focus-visible {
    color: var(--cm-text-white);
    text-decoration: underline;
    text-underline-offset: .3em;
}

.cm-btn--nav {
    font-size: clamp(.9rem, .98vw, 1.05rem);
    padding: .8em 1.3em;
    white-space: nowrap;
}

.cm-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .75rem 1rem;
}

.cm-actions--center {
    justify-content: center;
}

@media (max-width: 575.98px) {
    .cm-actions .btn {
        width: 100%;
    }
}

/* --------------------------------------------------------------------------
   Header / navbar
   -------------------------------------------------------------------------- */
.cm-header {
    position: sticky;
    top: 0;
    z-index: 1030;
    background: rgba(255, 255, 255, .96);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--cm-border-light);
    transition: box-shadow .25s ease;
}

.cm-header.is-scrolled {
    box-shadow: var(--cm-shadow-sm);
}

.cm-navbar {
    min-height: var(--cm-header-h);
    padding-block: .7rem;
}

.cm-brand {
    display: inline-flex;
    align-items: center;
    gap: .7rem;
    margin-right: 1rem;
    padding: 0;
}

.cm-brand__mark {
    flex: none;
    width: 3rem;
    height: auto;
}

.cm-brand__text {
    display: flex;
    flex-direction: column;
}

.cm-brand__name {
    font-family: var(--cm-font-heading);
    font-size: clamp(1.65rem, 1.75vw, 1.95rem);
    font-weight: 800;
    line-height: 1;
    letter-spacing: -.025em;
    color: var(--cm-ink);
}

.cm-brand__name span {
    color: var(--cm-primary);
}

.cm-brand__tag {
    margin-top: .42rem;
    font-size: .6rem;
    font-weight: 600;
    line-height: 1;
    letter-spacing: .34em;
    text-transform: uppercase;
    color: var(--cm-text-muted);
}

.cm-toggler {
    padding: .4rem .55rem;
    border: 1px solid var(--cm-border);
    border-radius: var(--cm-radius-sm);
}

.cm-toggler:focus {
    box-shadow: 0 0 0 .2rem rgba(62, 26, 246, .18);
}

.cm-nav {
    --cm-nav-pad: .42rem;
}

@media (min-width: 1400px) {
    .cm-nav {
        --cm-nav-pad: clamp(.6rem, 1vw, 1.1rem);
    }
}

.cm-navbar .navbar-nav .cm-nav__link {
    position: relative;
    padding: .55rem var(--cm-nav-pad);
    font-family: var(--cm-font-body);
    font-size: clamp(.92rem, .9vw, 1.05rem);
    font-weight: 500;
    line-height: 1.2;
    color: var(--cm-text);
    transition: color .2s ease;
}

.cm-navbar .navbar-nav .cm-nav__link:hover,
.cm-navbar .navbar-nav .cm-nav__link:focus-visible,
.cm-navbar .navbar-nav .cm-nav__link.show,
.cm-navbar .navbar-nav .cm-nav__link.active {
    color: var(--cm-primary);
}


@media (max-width: 1199.98px) {
    .cm-navbar .navbar-collapse {
        margin-top: .75rem;
        padding: .75rem 0 1rem;
        border-top: 1px solid var(--cm-border-light);
    }

    .cm-nav {
        --cm-nav-pad: .25rem;
    }

    .cm-nav__link.active::after {
        display: none;
    }

    .cm-navbar .navbar-nav .cm-nav__link {
        padding-block: .7rem;
        font-size: 1.02rem;
    }

    .cm-navbar .navbar-nav .cm-nav__link.active {
        font-weight: 600;
    }

    .cm-dropdown {
        margin-top: 0 !important;
        border: 0;
        box-shadow: none;
        background: var(--cm-bg-soft);
    }

    .cm-btn--nav {
        width: 100%;
        margin-top: .75rem;
    }
}

/* --------------------------------------------------------------------------
   Hero shell
   -------------------------------------------------------------------------- */
.cm-hero {
    position: relative;
    overflow-x: clip;
    padding: 40px 0;
    background: var(--cm-bg);
}

.cm-hero__glow {
    position: absolute;
    top: -6%;
    right: -8%;
    width: 62%;
    height: 96%;
    background: radial-gradient(closest-side, rgba(150, 130, 255, .15), rgba(150, 130, 255, 0));
    pointer-events: none;
}

.cm-hero .container-fluid {
    position: relative;
    z-index: 1;
}

.cm-eyebrow {
    gap: .35rem 0;
    margin-bottom: clamp(.85rem, .85vw, 1.1rem);
}

.cm-badge {
    display: inline-flex;
    align-items: center;
    gap: .65rem;
    padding: .8rem 1.3rem;
    border-radius: var(--cm-radius-pill);
    background: var(--cm-bg-lavender);
    font-family: var(--cm-font-heading);
    font-size: clamp(.74rem, .9vw, 1.02rem);
    font-weight: 700;
    line-height: 1;
    letter-spacing: .02em;
    text-transform: uppercase;
    color: var(--cm-primary);
}

.cm-badge .bi {
    font-size: 1.35em;
}

.cm-tags {
    display: flex;
    flex-wrap: wrap;
    margin: 0 0 0 .35rem;
    padding: 0;
}

.cm-tags li {
    position: relative;
    padding-inline: clamp(.7rem, 1vw, 1.1rem);
    font-size: clamp(.86rem, 1vw, 1.1rem);
    line-height: 1.2;
    color: var(--cm-text-muted);
}

@media (max-width: 1399.98px) {
    .cm-tags {
        margin-left: 0;
    }

    .cm-tags li:first-child {
        padding-left: .15rem;
    }

    .cm-tags li:first-child::before {
        display: none;
    }

    .cm-eyebrow .cm-badge {
        margin-right: .85rem;
    }
}

.cm-tags li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 1px;
    height: 1.05em;
    background: var(--cm-border-purple);
    transform: translateY(-50%);
}

.cm-hero__title {
    margin: 0 0 clamp(.5rem, .6vw, .8rem);
    font-family: var(--cm-font-heading);
    font-size: clamp(2.05rem, 4.9vw, 5.5rem);
    font-weight: 800;
    line-height: .96;
    letter-spacing: -.035em;
    color: var(--cm-ink);
}


@media (min-width: 992px) {

    .cm-hero__title-line,
    .cm-hero__title-sub {
        white-space: nowrap;
    }
}



.cm-hero__title-grad {
    /* extra box under the baseline so descenders keep the gradient fill */

    background: var(--cm-gradient-text);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}

.cm-hero__title-sub {
    /* margin-top: 10px; */
    font-size: .615em;
    line-height: 1.1;
    letter-spacing: -.03em;
}

.cm-hero__lead {
    margin-top: 20px;
    font-size: clamp(1rem, 1.09vw, 1.3rem);
    line-height: 1.32;
    color: var(--cm-text-secondary);
}

.cm-hero__lead strong {
    font-weight: 600;
    color: var(--cm-text);
}

.cm-hero__actions {
    margin: 20px 0;
}

.cm-trust {
    gap: .85rem 1.3rem;
    margin-bottom: clamp(1rem, .85vw, 1.2rem);
}

.cm-trust__label {
    display: flex;
    align-items: center;
    gap: .7rem;
    font-family: var(--cm-font-heading);
    font-size: clamp(1rem, 1.18vw, 1.3rem);
    font-weight: 700;
    line-height: 1.1;
    color: var(--cm-ink);
}

.cm-trust__label .bi {
    font-size: 1.8em;
    line-height: 1;
    color: var(--cm-primary);
}

.cm-trust__label strong {
    font-weight: 700;
    background: var(--cm-gradient-text);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}

.cm-trust__divider {
    width: 1px;
    height: 2rem;
    background: var(--cm-border);
}

.cm-trust__logos {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .8rem clamp(1rem, 1.35vw, 1.6rem);
    margin: 0;
    padding: 0;
}

.cm-logo {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    font-family: var(--cm-font-heading);
    line-height: 1;
    color: #394263;
}

.cm-logo svg {
    flex: none;
    width: 1.35em;
    height: 1.35em;
}

.cm-logo--binance {
    font-size: clamp(.74rem, .8vw, .9rem);
    font-weight: 700;
    letter-spacing: .02em;
}

.cm-logo--coinbase {
    font-size: clamp(.9rem, .93vw, 1.05rem);
    font-weight: 600;
}

.cm-logo--okx {
    font-size: clamp(1.05rem, 1.15vw, 1.3rem);
    font-weight: 800;
    letter-spacing: .06em;
}

.cm-logo--bybit {
    font-size: clamp(1rem, 1.05vw, 1.2rem);
    font-weight: 800;
    letter-spacing: .02em;
}

.cm-logo--bybit i {
    font-style: normal;
    display: inline-block;
    margin: 0 .01em;
    transform: rotate(180deg) translateY(-.04em);
}

/* Service highlights */
.cm-features {
    padding: 0;
}

.cm-feature {
    display: flex;
    align-items: center;
    gap: .65rem;
}

@media (min-width: 1600px) {
    .cm-features>li {
        flex: 0 0 auto;
        width: auto;
    }

    .cm-feature {
        gap: clamp(1rem, 1.4vw, 1.6rem);
    }
}

.cm-feature__icon {
    flex: none;
    display: grid;
    place-items: center;
    width: clamp(2.75rem, 3.15vw, 3.6rem);
    aspect-ratio: 1;
    border-radius: 50%;
    background: var(--cm-bg-lavender);
    font-size: clamp(1.15rem, 1.3vw, 1.45rem);
    color: var(--cm-primary);
    transition: transform .3s ease, background-color .3s ease, color .3s ease;
}

.cm-feature:hover .cm-feature__icon {
    transform: translateY(-3px);
    background: var(--cm-primary);
    color: var(--cm-text-white);
}

.cm-feature__title {
    display: block;
    font-family: var(--cm-font-heading);
    font-size: clamp(.86rem, .82vw, .98rem);
    font-weight: 700;
    line-height: 1.18;
    color: var(--cm-ink);
}

.cm-feature__sub {
    display: block;
    margin-top: .22rem;
    font-size: clamp(.72rem, .7vw, .82rem);
    line-height: 1.3;
    color: var(--cm-text-muted);
}

/* Statistics */
.cm-stats {
    padding-top: clamp(.75rem, .5vw, .9rem);
    border-top: 1px solid var(--cm-border);
}

.cm-stat {
    padding-right: .5rem;
}

.cm-stat__num {
    display: block;
    font-family: var(--cm-font-heading);
    font-size: clamp(1.5rem, 1.5vw, 1.8rem);
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -.02em;
    color: var(--cm-primary);
}

.cm-stat__label {
    display: block;
    margin-top: .3rem;
    font-size: clamp(.78rem, .82vw, .94rem);
    line-height: 1.32;
    color: var(--cm-text-muted);
}

@media (min-width: 768px) {
    .cm-stat+.cm-stat {
        padding-left: clamp(.85rem, 2.2vw, 2.4rem);
        border-left: 1px solid var(--cm-border);
    }
}

@media (max-width: 767.98px) {
    .cm-stat {
        padding-block: .6rem;
    }

    .cm-stat:nth-child(even) {
        padding-left: 1rem;
        border-left: 1px solid var(--cm-border);
    }
}

.cm-visual {
    position: relative;
    isolation: isolate;
    width: 100%;
    aspect-ratio: 4 / 3;
    container-type: inline-size;
}

.cm-visual::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background: url("../images/hero-img.jpg") center / contain no-repeat;
    pointer-events: none;
    -webkit-mask-image:
        linear-gradient(to right, transparent 0, #000 5%, #000 95%, transparent 100%),
        linear-gradient(to bottom, transparent 0, #000 5%, #000 95%, transparent 100%);
    -webkit-mask-composite: source-in;
    mask-image:
        linear-gradient(to right, transparent 0, #000 5%, #000 95%, transparent 100%),
        linear-gradient(to bottom, transparent 0, #000 5%, #000 95%, transparent 100%);
    mask-composite: intersect;
}

.cm-float {
    position: absolute;
    z-index: 5;
    display: flex;
    align-items: center;
    gap: 1.2cqw;
    width: max-content;
    padding: 1.35cqw 2cqw 1.35cqw 1.4cqw;
    border: 1px solid rgba(220, 213, 255, .6);
    border-radius: 1.9cqw;
    background: var(--cm-bg);
    box-shadow: 0 1.6cqw 3.6cqw rgba(62, 26, 246, .13), 0 .3cqw 1cqw rgba(30, 35, 64, .06);
    white-space: nowrap;
    animation: cm-bob 7s ease-in-out infinite;
}

.cm-float--pr {
    left: 8%;
    top: 10.4%;
    rotate: -12deg;
}

.cm-float--influencer {
    left: 7.2%;
    top: 31.6%;
    rotate: -6deg;
    animation-delay: -2s;
}

.cm-float--blockchain {
    left: 70.2%;
    top: 23.4%;
    rotate: -4deg;
    animation-delay: -4s;
}

.cm-float--digital {
    left: 74.4%;
    top: 37.4%;
    rotate: -4deg;
    animation-delay: -1s;
}

.cm-float__icon {
    flex: none;
    display: grid;
    place-items: center;
    width: 4.2cqw;
    aspect-ratio: 1;
    border-radius: 1.2cqw;
    background: var(--cm-bg-lavender);
    font-size: max(8px, 2.2cqw);
    color: var(--cm-primary);
}

.cm-float__icon--solid {
    background: var(--cm-gradient-primary);
    color: var(--cm-text-white);
}

.cm-float__text strong {
    display: block;
    font-family: var(--cm-font-heading);
    font-size: max(7.5px, 1.78cqw);
    font-weight: 700;
    line-height: 1.15;
    color: var(--cm-ink);
}

.cm-float__text small {
    display: block;
    margin-top: .25cqw;
    font-size: max(6.5px, 1.4cqw);
    line-height: 1.2;
    color: var(--cm-text-muted);
}

@media (max-width: 991.98px) {
    .cm-hero__title {
        font-size: clamp(2.1rem, 9.2vw, 4rem);
    }

    .cm-hero__lead {
        font-size: 1.05rem;
    }
}

@media (max-width: 575.98px) {
    .cm-hero {
        padding-top: 1.25rem;
    }

    .cm-badge {
        font-size: .7rem;
        padding: .62rem .9rem;
    }

    .cm-tags li:first-child {
        padding-left: .6rem;
    }

    .cm-hero__actions .btn {
        width: 100%;
        white-space: normal;
        text-align: center;
    }

    .cm-trust__divider {
        display: none;
    }

    .cm-feature {
        gap: .6rem;
    }

    .cm-feature__icon {
        width: 2.6rem;
        font-size: 1.1rem;
    }

    .cm-float--influencer,
    .cm-float--digital {
        display: none;
    }

    .cm-float {
        padding: 1.5cqw 2.4cqw 1.5cqw 1.6cqw;
    }

    .cm-float__icon {
        width: 5.6cqw;
        font-size: 3cqw;
        border-radius: 1.5cqw;
    }

    .cm-float__text strong {
        font-size: 2.3cqw;
    }

    .cm-float__text small {
        font-size: 1.85cqw;
    }

    .cm-float--blockchain {
        left: auto;
        right: 0;
    }
}

@media (prefers-reduced-motion: reduce) {

    .cm-float {
        animation: none;
    }

    .cm-btn,
    .cm-btn .bi,
    .cm-feature__icon {
        transition: none;
    }
}


















/* ==========================================================================
   Shared building blocks
   ========================================================================== */
.cm-section--grid {
    background-color: var(--cm-bg-soft);
    background-image: radial-gradient(var(--cm-border-purple) 1px, transparent 1.3px);
    background-size: 26px 26px;
}

.cm-section--lavender {
    background: var(--cm-gradient-soft);
}

.cm-top {
    margin-bottom: clamp(1.75rem, 3.6vw, 3rem);
}

.cm-top .cm-head {
    margin-bottom: 0;
}

.cm-top .cm-head--center {
    margin-bottom: clamp(1rem, 2vw, 1.5rem);
}

.cm-groups,
.cm-items {
    position: relative;
}

.cm-items {
    margin-top: 0;
}

.cm-sticky .cm-prose {
    margin-top: .25rem;
}

@media (min-width: 992px) {
    .cm-sticky {
        position: sticky;
        top: 6.75rem;
    }
}

.cm-label {
    display: flex;
    align-items: center;
    gap: .7rem;
    margin: 0 0 1.25rem;
    font-size: clamp(1.1rem, 1.5vw, 1.35rem);
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: -.02em;
    color: var(--cm-ink);
}

.cm-label::before {
    content: "";
    flex: none;
    width: 1.6rem;
    height: 4px;
    border-radius: 4px;
    background: var(--cm-gradient-primary);
}

.cm-item-title {
    margin: 0 0 .5rem;
    font-size: 1.08rem;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: -.015em;
    color: var(--cm-ink);
}

.cm-item-title--lg {
    font-size: clamp(1.2rem, 1.8vw, 1.5rem);
    letter-spacing: -.02em;
}

.cm-note {
    margin-top: 1.5rem;
    padding-left: 1.1rem;
    border-left: 3px solid var(--cm-border-purple);
}

.cm-note p {
    margin: 0 0 .6rem;
    font-size: 1rem;
    line-height: 1.7;
    color: var(--cm-text-secondary);
}

.cm-note p:last-child {
    margin-bottom: 0;
}

.cm-prose--lead1 p:first-child {
    font-size: clamp(1.1rem, 1.5vw, 1.3rem);
    font-weight: 500;
    line-height: 1.55;
    letter-spacing: -.012em;
    color: var(--cm-text);
}

.cm-prose--lead1 p:first-child strong {
    color: var(--cm-ink);
    font-weight: 700;
}

.cm-prose--center {
    max-width: 52rem;
    margin-inline: auto;
    text-align: center;
}

@media (min-width: 992px) {
    .cm-prose--cols {
        column-count: 2;
        column-gap: clamp(2rem, 4vw, 4rem);
    }

    .cm-prose--cols p {
        break-inside: avoid;
    }
}

@media (min-width: 1200px) {
    .cm-prose--cols2 {
        column-count: 2;
        column-gap: 2.5rem;
    }

    .cm-prose--cols2 p {
        break-inside: avoid;
    }
}

/* icon tiles */
.cm-ico {
    display: inline-grid;
    place-items: center;
    flex: none;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: .9rem;
    background: var(--cm-bg-lavender);
    color: var(--cm-primary);
    font-size: 1.25rem;
    line-height: 1;
    transition: background .3s ease, color .3s ease, transform .3s ease;
}

.cm-ico--lg {
    width: 3.25rem;
    height: 3.25rem;
    border-radius: 1rem;
    font-size: 1.5rem;
}

.cm-ico--sm {
    width: 2rem;
    height: 2rem;
    border-radius: .6rem;
    font-size: 1rem;
}

.cm-ico--round {
    border-radius: 50%;
}

.cm-card:hover .cm-ico,
.cm-irow:hover .cm-ico,
.cm-rail__item:hover .cm-ico,
.cm-frow:hover .cm-ico,
.cm-widget:hover .cm-ico,
.cm-ind:hover .cm-ico,
.cm-numlist li:hover .cm-ico,
.cm-voice:hover .cm-ico,
.cm-stage:hover .cm-ico,
.cm-zt__card:hover .cm-ico,
.cm-glasscard:hover .cm-ico,
.cm-brief__list li:hover .cm-ico {
    background: var(--cm-gradient-primary);
    color: var(--cm-text-white);
    transform: translateY(-2px);
}

/* cards */
.cm-card {
    position: relative;
    height: 100%;
    padding: 1.6rem;
    border: 1px solid var(--cm-border);
    border-radius: var(--cm-radius-lg);
    background: var(--cm-bg);
    transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

.cm-card:hover {
    transform: translateY(-4px);
    border-color: var(--cm-border-purple);
    box-shadow: var(--cm-shadow-md);
}

.cm-card>.cm-ico {
    margin-bottom: 1.1rem;
}

.cm-card .cm-item-title {
    margin-bottom: .55rem;
}

.cm-card .cm-prose p,
.cm-ind .cm-prose p,
.cm-widget .cm-prose p {
    font-size: .96rem;
    line-height: 1.65;
}

.cm-card--sm {
    padding: 1.3rem;
    border-radius: var(--cm-radius-md);
}

.cm-card--sm .cm-prose p {
    font-size: .93rem;
    line-height: 1.6;
}

.cm-card--accent::before {
    content: "";
    position: absolute;
    left: 1.6rem;
    top: -1px;
    width: 3rem;
    height: 3px;
    border-radius: 0 0 3px 3px;
    background: var(--cm-gradient-primary);
    transition: width .35s ease;
}

.cm-card--accent:hover::before {
    width: 5.5rem;
}

.cm-card--left {
    box-shadow: inset 4px 0 0 var(--cm-primary-light);
}

.cm-card--left:hover {
    box-shadow: inset 4px 0 0 var(--cm-primary), var(--cm-shadow-md);
}

.cm-card--bento {
    padding: clamp(1.5rem, 2.4vw, 2.2rem);
}

.cm-card--tint {
    background: var(--cm-gradient-soft);
    border-color: var(--cm-border-purple);
}

.cm-card--blue {
    background: var(--cm-bg-blue);
}

.cm-card--ink {
    background: var(--cm-bg-dark);
    border-color: var(--cm-bg-dark);
}

.cm-card--ink .cm-item-title {
    color: var(--cm-text-white);
}

.cm-card--ink .cm-prose p {
    color: rgba(255, 255, 255, .76);
}

.cm-card--ink .cm-ico {
    background: rgba(255, 255, 255, .1);
    color: var(--cm-secondary-light);
}

@media (min-width: 576px) {
    .cm-card--row {
        display: grid;
        grid-template-columns: auto 1fr;
        gap: 0 1.25rem;
        align-items: start;
    }

    .cm-card--row>.cm-ico {
        grid-row: span 3;
        margin-bottom: 0;
    }
}

/* icon list (bordered grid) */
.cm-irows {
    border: 1px solid var(--cm-border);
    border-radius: var(--cm-radius-lg);
    background: var(--cm-bg);
    overflow: hidden;
}

.cm-irows>div {
    margin-bottom: -1px;
}

.cm-irow {
    display: flex;
    gap: 1.1rem;
    height: 100%;
    padding: 1.5rem;
    border-bottom: 1px solid var(--cm-border-light);
    transition: background-color .25s ease;
}

.cm-irow:hover {
    background: var(--cm-bg-soft);
}

.cm-irow .cm-item-title {
    margin-bottom: .3rem;
}

.cm-irow .cm-prose p {
    font-size: .96rem;
    line-height: 1.6;
}

@media (min-width: 768px) {
    .cm-irows>div:nth-child(odd) .cm-irow {
        border-right: 1px solid var(--cm-border-light);
    }
}

/* rail (single row with connector) */
.cm-rail {
    position: relative;
}

.cm-rail__item {
    position: relative;
    height: 100%;
    padding-top: 1.75rem;
}

.cm-rail__item::before {
    content: "";
    position: absolute;
    left: 0;
    right: -1rem;
    top: .35rem;
    height: 2px;
    background: var(--cm-border-purple);
}

.cm-rail__dot {
    position: absolute;
    left: 0;
    top: 0;
    width: .75rem;
    height: .75rem;
    border-radius: 50%;
    background: var(--cm-gradient-primary);
    box-shadow: 0 0 0 4px var(--cm-bg-lavender);
}

.cm-rail__item .cm-ico {
    margin-bottom: .9rem;
}

.cm-rail__item .cm-prose p {
    font-size: .93rem;
    line-height: 1.6;
}

@media (min-width: 1200px) {
    .cm-rail>div:last-child .cm-rail__item::before {
        display: none;
    }
}

/* staircase */
@media (min-width: 768px) and (max-width: 1199.98px) {
    .cm-stairs>div:nth-child(even) {
        margin-top: calc(var(--bs-gutter-y) + 1.5rem);
    }
}

@media (min-width: 1200px) {
    .cm-stairs>div:nth-child(3n + 2) {
        margin-top: calc(var(--bs-gutter-y) + 1.75rem);
    }

    .cm-stairs>div:nth-child(3n + 3) {
        margin-top: calc(var(--bs-gutter-y) + 3.5rem);
    }
}

.cm-stairs .cm-card {
    height: auto;
}

/* vertical timeline with icon nodes */
.cm-tl {
    position: relative;
    margin: 0;
    padding: 0;
}

.cm-tl::before {
    content: "";
    position: absolute;
    left: 1.4rem;
    top: 1.5rem;
    bottom: 1.5rem;
    width: 2px;
    background: linear-gradient(var(--cm-primary-light), var(--cm-border-purple));
    border-radius: 2px;
}

.cm-tl__item {
    position: relative;
    padding: 0 0 1.9rem 4.3rem;
}

.cm-tl__item:last-child {
    padding-bottom: 0;
}

.cm-tl__node {
    position: absolute;
    left: 0;
    top: 0;
    display: grid;
    place-items: center;
    width: 2.8rem;
    height: 2.8rem;
    border: 2px solid var(--cm-primary-light);
    border-radius: 50%;
    background: var(--cm-bg);
    color: var(--cm-primary);
    font-size: 1.15rem;
    box-shadow: 0 0 0 5px var(--cm-bg-soft);
    transition: background .3s ease, color .3s ease;
}

.cm-section:not(.cm-section--soft) .cm-tl__node {
    box-shadow: 0 0 0 5px var(--cm-bg);
}

.cm-tl__item:hover .cm-tl__node {
    background: var(--cm-gradient-primary);
    color: var(--cm-text-white);
    border-color: transparent;
}

.cm-tl__body {
    padding-top: .1rem;
}

.cm-tl__body .cm-prose p {
    font-size: 1rem;
}

/* process: centered zig-zag timeline */
.cm-zt {
    position: relative;
    margin: 0;
    padding: 0;
    counter-reset: cm-zt;
}

.cm-zt::before {
    content: "";
    position: absolute;
    left: 1.35rem;
    top: 1rem;
    bottom: 1rem;
    width: 2px;
    background: linear-gradient(var(--cm-primary-light), var(--cm-border-purple));
    border-radius: 2px;
}

.cm-zt__item {
    position: relative;
    counter-increment: cm-zt;
    padding: 0 0 1.5rem 4rem;
}

.cm-zt__item:last-child {
    padding-bottom: 0;
}

.cm-zt__node {
    position: absolute;
    left: 0;
    top: 1.1rem;
    z-index: 1;
    display: grid;
    place-items: center;
    width: 2.7rem;
    height: 2.7rem;
    border-radius: 50%;
    background: var(--cm-gradient-primary);
    color: var(--cm-text-white);
    font-family: "Plus Jakarta Sans", system-ui, sans-serif;
    font-weight: 800;
    box-shadow: 0 0 0 5px var(--cm-bg-soft);
}

.cm-zt__node::before {
    content: counter(cm-zt);
}

.cm-zt__card {
    padding: clamp(1.4rem, 2.6vw, 2rem);
    border: 1px solid var(--cm-border);
    border-radius: var(--cm-radius-lg);
    background: var(--cm-bg);
    transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

.cm-zt__card:hover {
    transform: translateY(-3px);
    border-color: var(--cm-border-purple);
    box-shadow: var(--cm-shadow-md);
}

.cm-zt__top {
    display: flex;
    align-items: center;
    gap: .9rem;
    margin-bottom: 1rem;
}

.cm-zt__top .cm-item-title {
    margin: 0;
    font-size: clamp(1.1rem, 1.5vw, 1.3rem);
}

.cm-zt__card .cm-prose p {
    font-size: .98rem;
    line-height: 1.68;
}

.cm-outcome {
    margin: 1.15rem 0 0;
    padding: .85rem 1.1rem;
    border: 1px dashed var(--cm-border-purple);
    border-radius: var(--cm-radius-md);
    background: var(--cm-bg-soft);
    font-size: .95rem;
}

.cm-outcome .bi {
    color: var(--cm-success-dark);
}

@media (min-width: 992px) {
    .cm-zt::before {
        left: 50%;
        translate: -50% 0;
    }

    .cm-zt__item {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 2.7rem minmax(0, 1fr);
        gap: 0 clamp(1.5rem, 3vw, 3rem);
        padding: 0 0 2rem;
    }

    .cm-zt__node {
        position: relative;
        left: auto;
        top: 1.1rem;
        grid-column: 2;
        grid-row: 1;
        justify-self: center;
    }

    .cm-zt__card {
        grid-column: 1;
        grid-row: 1;
    }

    .cm-zt__item:nth-child(even) .cm-zt__card {
        grid-column: 3;
    }
}

/* dashboard widgets */
.cm-widget {
    height: 100%;
    border: 1px solid var(--cm-border);
    border-radius: var(--cm-radius-lg);
    background: var(--cm-bg);
    overflow: hidden;
    transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

.cm-widget:hover {
    transform: translateY(-4px);
    border-color: var(--cm-border-purple);
    box-shadow: var(--cm-shadow-md);
}

.cm-widget__bar,
.cm-brief__bar {
    display: flex;
    gap: .4rem;
    padding: .8rem 1.2rem;
    background: var(--cm-bg-soft);
    border-bottom: 1px solid var(--cm-border-light);
}

.cm-widget__bar i,
.cm-brief__bar i {
    width: .6rem;
    height: .6rem;
    border-radius: 50%;
    background: var(--cm-border-purple);
}

.cm-widget__bar i:nth-child(2),
.cm-brief__bar i:nth-child(2) {
    background: var(--cm-secondary-light);
}

.cm-widget__bar i:nth-child(3),
.cm-brief__bar i:nth-child(3) {
    background: var(--cm-primary-light);
}

.cm-widget__body {
    padding: 1.4rem;
}

.cm-widget__head {
    display: flex;
    align-items: center;
    gap: .85rem;
    margin-bottom: 1rem;
}

.cm-widget__head .cm-item-title {
    margin: 0;
}

/* feature rows */
.cm-frow {
    padding: clamp(1.6rem, 2.8vw, 2.4rem) 0;
    border-top: 1px solid var(--cm-border);
}

.cm-frows>.cm-frow:last-child {
    border-bottom: 1px solid var(--cm-border);
}

.cm-frow__head {
    display: flex;
    align-items: center;
    gap: 1.1rem;
}

.cm-frow__head .cm-item-title {
    margin: 0;
    transition: color .25s ease;
}

.cm-frow:hover .cm-item-title {
    color: var(--cm-primary);
}

.cm-frow .cm-prose p {
    font-size: 1rem;
}

/* tabs */
.cm-tablist {
    gap: .5rem;
}

.cm-tab {
    display: flex;
    align-items: center;
    gap: .85rem;
    width: 100%;
    padding: .8rem 1rem;
    border: 1px solid transparent;
    border-radius: var(--cm-radius-md);
    font-size: .98rem;
    font-weight: 600;
    line-height: 1.3;
    text-align: left;
    color: var(--cm-text);
    background: transparent;
    transition: background-color .25s ease, color .25s ease, border-color .25s ease, box-shadow .25s ease;
}

.cm-tab__ico {
    display: grid;
    place-items: center;
    flex: none;
    width: 2.2rem;
    height: 2.2rem;
    border-radius: .65rem;
    background: var(--cm-bg-lavender);
    color: var(--cm-primary);
    font-size: 1rem;
    transition: background .25s ease, color .25s ease;
}

.cm-tab:hover {
    background: var(--cm-bg-lavender);
    color: var(--cm-primary);
}

.cm-tab:focus-visible {
    outline: 3px solid rgba(62, 26, 246, .3);
    outline-offset: 2px;
}

.nav-pills .cm-tab.active {
    color: var(--cm-ink);
    background: var(--cm-bg);
    border-color: var(--cm-border-purple);
    box-shadow: var(--cm-shadow-sm);
}

.nav-pills .cm-tab.active .cm-tab__ico {
    background: var(--cm-gradient-primary);
    color: var(--cm-text-white);
}

.cm-pane {
    padding: clamp(1.4rem, 2.8vw, 2.3rem);
    border: 1px solid var(--cm-border);
    border-radius: var(--cm-radius-lg);
    background: var(--cm-bg);
    box-shadow: var(--cm-shadow-sm);
}

.cm-pane::before {
    content: attr(data-title);
    display: block;
    margin-bottom: 1rem;
    font-family: "Plus Jakarta Sans", system-ui, sans-serif;
    font-size: clamp(1.25rem, 1.9vw, 1.6rem);
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: -.02em;
    color: var(--cm-ink);
}

.cm-prose--pane p:first-child {
    font-size: 1.08rem;
    font-weight: 500;
    color: var(--cm-text);
}

.cm-tablist--h {
    flex-wrap: wrap;
    width: fit-content;
    max-width: 100%;
    margin-bottom: 1.25rem;
    padding: .4rem;
    border-radius: var(--cm-radius-pill);
    background: var(--cm-bg);
    border: 1px solid var(--cm-border);
    gap: .25rem;
}

.cm-tab--h {
    width: auto;
    justify-content: center;
    padding: .6rem 1.1rem .6rem .7rem;
    border-radius: var(--cm-radius-pill);
}

.cm-tab--h:hover {
    background: var(--cm-bg-lavender);
}

.nav-pills .cm-tab--h.active {
    color: var(--cm-text-white);
    background: var(--cm-gradient-primary);
    border-color: transparent;
    box-shadow: 0 8px 18px rgba(62, 26, 246, .25);
}

.nav-pills .cm-tab--h.active .cm-tab__ico {
    background: rgba(255, 255, 255, .2);
}

@media (max-width: 767.98px) {
    .cm-tablist--h {
        border-radius: var(--cm-radius-md);
        width: 100%;
    }

    .cm-tab--h {
        flex: 1 1 100%;
        justify-content: flex-start;
        text-align: left;
    }
}

/* accordion */
.cm-accordion {
    --bs-accordion-border-width: 0;
    --bs-accordion-bg: transparent;
}

.cm-acc {
    margin-bottom: .75rem;
    border: 1px solid var(--cm-border);
    border-radius: var(--cm-radius-md) !important;
    background: var(--cm-bg);
    overflow: hidden;
    transition: border-color .25s ease, box-shadow .25s ease;
}

.cm-acc:hover {
    border-color: var(--cm-border-purple);
}

.cm-acc:has(.accordion-button:not(.collapsed)) {
    border-color: var(--cm-border-purple);
    box-shadow: var(--cm-shadow-sm);
}

.cm-acc__btn {
    gap: .9rem;
    padding: 1rem 1.3rem;
    font-size: clamp(.98rem, 1.1vw, 1.08rem);
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: -.01em;
    color: var(--cm-ink);
    background: transparent;
    box-shadow: none !important;
}

.cm-acc__btn:not(.collapsed) {
    color: var(--cm-primary);
    background: var(--cm-gradient-soft);
}

.cm-acc__btn:focus-visible {
    outline: 3px solid rgba(62, 26, 246, .3);
    outline-offset: -3px;
}

.cm-acc__btn::after {
    background-size: 1rem;
}

.cm-acc__ico {
    display: grid;
    place-items: center;
    flex: none;
    width: 2.2rem;
    height: 2.2rem;
    border-radius: .65rem;
    background: var(--cm-bg-lavender);
    color: var(--cm-primary);
    font-size: 1rem;
}

.cm-acc__btn:not(.collapsed) .cm-acc__ico {
    background: var(--cm-gradient-primary);
    color: var(--cm-text-white);
}

.cm-acc .accordion-body {
    padding: 1.1rem 1.3rem 1.4rem;
}

.cm-accordion--faq .cm-acc__btn {
    padding-block: 1.05rem;
}

.cm-accordion--faq .accordion-body {
    border-top: 1px solid var(--cm-border-light);
}

.cm-accordion--faq .accordion-body p {
    margin: 0;
    font-size: 1rem;
    line-height: 1.7;
    color: var(--cm-text-secondary);
}

/* industries */
.cm-ind {
    position: relative;
    height: 100%;
    padding: 1.7rem;
    border: 1px solid var(--cm-border);
    border-radius: var(--cm-radius-lg);
    background: var(--cm-bg);
    transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

.cm-ind:hover {
    transform: translateY(-4px);
    border-color: var(--cm-border-purple);
    box-shadow: var(--cm-shadow-md);
}

.cm-ind>.cm-ico {
    margin-bottom: 1.1rem;
}

.cm-ind .cm-item-title {
    font-size: 1.15rem;
}

.cm-prose p.cm-ind__lead {
    color: var(--cm-text);
    font-weight: 500;
}

/* bands (head + intro in a panel) */
.cm-band {
    position: relative;
    overflow: hidden;
    padding: clamp(1.75rem, 4vw, 3.25rem);
    border: 1px solid var(--cm-border);
    border-radius: var(--cm-radius-lg);
    background: var(--cm-bg);
}

.cm-band--tint {
    background: var(--cm-gradient-soft);
    border-color: var(--cm-border-purple);
}

.cm-band--ink,
.cm-callout,
.cm-section--dark,
.cm-brief--ink {
    background-color: var(--cm-bg-dark);
}

.cm-band--ink {
    border-color: var(--cm-bg-dark);
    color: rgba(255, 255, 255, .78);
    background-image: radial-gradient(circle at 90% 0%, rgba(93, 71, 246, .5), transparent 45%), linear-gradient(rgba(255, 255, 255, .045) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .045) 1px, transparent 1px);
    background-size: auto, 38px 38px, 38px 38px;
}

.cm-band__mark {
    position: absolute;
    right: -1rem;
    top: -1.25rem;
    font-size: clamp(9rem, 18vw, 15rem);
    line-height: 1;
    color: var(--cm-primary);
    opacity: .06;
    pointer-events: none;
}

.cm-band .row {
    position: relative;
}

.cm-band--ink .cm-band__mark {
    color: var(--cm-text-white);
}

.cm-band--ink .cm-title {
    color: var(--cm-text-white);
}

.cm-band--ink .cm-subtitle {
    color: var(--cm-secondary-light);
}

.cm-band--ink .cm-eyebrow {
    color: var(--cm-text-white);
}

.cm-band--ink .cm-eyebrow__ico {
    background: rgba(255, 255, 255, .12);
}

.cm-band--ink .cm-prose p {
    color: rgba(255, 255, 255, .78);
}

.cm-band--ink .cm-prose strong,
.cm-band--ink .cm-lead {
    color: var(--cm-text-white);
}

.cm-prose--band p:first-child {
    font-size: clamp(1.05rem, 1.35vw, 1.2rem);
    font-weight: 500;
    color: var(--cm-text);
}

.cm-band--ink .cm-prose--band p:first-child {
    color: var(--cm-text-white);
}

/* checklists, numbered lists, chips */
.cm-checks {
    margin: 0;
    padding: 0;
    list-style: none;
}

.cm-checks li {
    position: relative;
    margin: 0 0 .85rem;
    padding-left: 1.9rem;
    font-size: 1rem;
    line-height: 1.5;
    color: var(--cm-text);
    break-inside: avoid;
}

.cm-checks li::before {
    content: "";
    position: absolute;
    left: 0;
    top: .12em;
    width: 1.2rem;
    height: 1.2rem;
    border-radius: 50%;
    background: var(--cm-gradient-primary);
}

.cm-checks li::after {
    content: "";
    position: absolute;
    left: .43rem;
    top: .3em;
    width: .3rem;
    height: .55rem;
    border: solid var(--cm-text-white);
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

@media (min-width: 768px) {
    .cm-checks--2 {
        column-count: 2;
        column-gap: 2.5rem;
    }
}

.cm-panel {
    margin-top: 0;
    padding: clamp(1.4rem, 3vw, 2.3rem);
    border: 1px solid var(--cm-border);
    border-radius: var(--cm-radius-lg);
    background: var(--cm-bg);
    box-shadow: var(--cm-shadow-sm);
}

.cm-panel .cm-note {
    margin-top: 1.4rem;
}

.cm-numlist {
    margin: 0;
    padding: 0;
}

.cm-numlist li {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: .95rem .5rem;
    border-bottom: 1px solid var(--cm-border-light);
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.4;
    color: var(--cm-ink);
    transition: background-color .25s ease;
}

.cm-numlist li:hover {
    background: var(--cm-bg-soft);
}

@media (min-width: 768px) {
    .cm-numlist li:nth-child(odd) {
        padding-right: 1.5rem;
    }

    .cm-numlist li:nth-child(even) {
        padding-left: 1.5rem;
    }
}

.cm-chips {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
    margin: 0;
    padding: 0;
}

.cm-chips li {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    padding: .6rem 1.05rem .6rem .8rem;
    border: 1px solid var(--cm-border-purple);
    border-radius: var(--cm-radius-pill);
    background: var(--cm-bg);
    font-size: .95rem;
    font-weight: 500;
    line-height: 1.35;
    color: var(--cm-ink);
    transition: transform .25s ease, background-color .25s ease, color .25s ease, border-color .25s ease;
}

.cm-chips li .bi {
    color: var(--cm-primary);
    transition: color .25s ease;
}

.cm-chips li:hover {
    transform: translateY(-2px);
    color: var(--cm-text-white);
    background: var(--cm-primary);
    border-color: var(--cm-primary);
}

.cm-chips li:hover .bi {
    color: var(--cm-text-white);
}

.cm-minitile {
    display: flex;
    align-items: center;
    gap: .9rem;
    height: 100%;
    padding: .95rem 1.1rem;
    border: 1px solid var(--cm-border-light);
    border-radius: var(--cm-radius-md);
    background: var(--cm-bg-soft);
    font-size: .98rem;
    font-weight: 500;
    line-height: 1.4;
    color: var(--cm-ink);
    transition: background-color .25s ease, border-color .25s ease, transform .25s ease;
}

.cm-minitile:hover {
    background: var(--cm-bg);
    border-color: var(--cm-border-purple);
    transform: translateY(-2px);
}

.cm-minitile:hover .cm-ico {
    background: var(--cm-gradient-primary);
    color: var(--cm-text-white);
}

@media (min-width: 768px) {
    .cm-irows>div:last-child:nth-child(odd) {
        flex: 0 0 auto;
        width: 100%;
    }

    .cm-irows>div:last-child:nth-child(odd) .cm-irow {
        border-right: 0;
    }
}

/* callout + end card */
.cm-svc-end {
    margin-top: clamp(1.5rem, 3vw, 2.5rem);
}

.cm-callout {
    position: relative;
    display: flex;
    gap: 1.25rem;
    height: 100%;
    padding: clamp(1.5rem, 3.2vw, 2.5rem);
    border-radius: var(--cm-radius-lg);
    color: rgba(255, 255, 255, .78);
    overflow: hidden;
    background-image: radial-gradient(circle at 100% 0%, rgba(93, 71, 246, .5), transparent 50%), linear-gradient(rgba(255, 255, 255, .045) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .045) 1px, transparent 1px);
    background-size: auto, 38px 38px, 38px 38px;
}

.cm-callout__ico {
    display: grid;
    place-items: center;
    flex: none;
    width: 3rem;
    height: 3rem;
    border-radius: 1rem;
    background: rgba(255, 255, 255, .12);
    color: var(--cm-text-white);
    font-size: 1.4rem;
}

.cm-callout__title {
    margin: 0 0 .8rem;
    font-size: clamp(1.25rem, 2vw, 1.65rem);
    font-weight: 800;
    letter-spacing: -.02em;
    color: var(--cm-text-white);
}

.cm-callout .cm-prose p {
    color: rgba(255, 255, 255, .8);
}

.cm-callout--split {
    background: var(--cm-bg);
    background-image: none;
    color: var(--cm-text-secondary);
    border: 1px solid var(--cm-border-purple);
    box-shadow: var(--cm-shadow-sm);
}

.cm-callout--split .cm-callout__ico {
    background: var(--cm-bg-lavender);
    color: var(--cm-primary);
}

.cm-callout--split .cm-callout__title {
    color: var(--cm-ink);
}

.cm-callout--split .cm-prose p {
    color: var(--cm-text-secondary);
}

.cm-callout--tint {
    background-image: none;
    background: var(--cm-gradient-primary);
    color: rgba(255, 255, 255, .92);
}

.cm-callout--tint .cm-prose p {
    color: rgba(255, 255, 255, .92);
}

@media (max-width: 575.98px) {
    .cm-callout {
        flex-direction: column;
        gap: 1rem;
    }
}

.cm-endcard {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 1.75rem;
    height: 100%;
    min-height: 12rem;
    padding: clamp(1.5rem, 3vw, 2.2rem);
    border-radius: var(--cm-radius-lg);
    background: var(--cm-gradient-primary);
    color: var(--cm-text-white);
    transition: transform .3s ease, box-shadow .3s ease;
}

.cm-endcard:hover {
    transform: translateY(-3px);
    box-shadow: var(--cm-shadow-lg);
}

.cm-endcard .bi {
    font-size: 2.2rem;
    line-height: 1;
    opacity: .9;
    transition: transform .3s ease;
}

.cm-endcard:hover .bi {
    transform: translate(4px, -4px);
}

.cm-endcard p {
    margin: 0;
    font-family: "Plus Jakarta Sans", system-ui, sans-serif;
    font-size: clamp(1.1rem, 1.6vw, 1.4rem);
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: -.02em;
}

/* voices, flow */
.cm-voice {
    height: 100%;
    margin: 0;
    padding: 1.6rem;
    border: 1px solid var(--cm-border);
    border-radius: var(--cm-radius-lg);
    background: var(--cm-bg);
    transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

.cm-voice:hover {
    transform: translateY(-4px);
    border-color: var(--cm-border-purple);
    box-shadow: var(--cm-shadow-md);
}

.cm-voice .cm-ico {
    margin-bottom: 1rem;
}

.cm-voice p {
    margin: 0;
    font-size: 1.02rem;
    font-weight: 500;
    line-height: 1.65;
    color: var(--cm-text);
}

.cm-flow {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .65rem;
    margin: clamp(2rem, 3.5vw, 3rem) 0 0;
    padding: clamp(1.1rem, 2.4vw, 1.8rem);
    border: 1px solid var(--cm-border-purple);
    border-radius: var(--cm-radius-lg);
    background: var(--cm-gradient-soft);
}

.cm-flow__label {
    margin-right: .6rem;
    font-size: 1.05rem;
    font-weight: 800;
    letter-spacing: -.01em;
    color: var(--cm-ink);
}

.cm-flow__step {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .6rem 1.05rem;
    border: 1px solid var(--cm-border-purple);
    border-radius: var(--cm-radius-pill);
    background: var(--cm-bg);
    font-size: .98rem;
    font-weight: 700;
    color: var(--cm-primary);
    transition: transform .25s ease, background-color .25s ease, color .25s ease;
}

.cm-flow__step:hover {
    transform: translateY(-2px);
    background: var(--cm-primary);
    color: var(--cm-text-white);
}

.cm-flow__step+.cm-flow__step {
    margin-left: .9rem;
}

.cm-flow__step+.cm-flow__step::before {
    content: "\F138";
    position: absolute;
    left: -1.4rem;
    top: 50%;
    translate: 0 -50%;
    font-family: "bootstrap-icons";
    font-size: .9rem;
    font-weight: 400;
    color: var(--cm-primary-light);
}

/* section 2 */
.cm-pullcard {
    position: relative;
    margin: 0 0 1rem;
    padding: clamp(1.6rem, 3.4vw, 2.6rem);
    border-radius: var(--cm-radius-lg);
    overflow: hidden;
    background-color: var(--cm-bg-dark);
    color: var(--cm-text-white);
    background-image: radial-gradient(circle at 100% 0%, rgba(93, 71, 246, .55), transparent 55%), linear-gradient(rgba(255, 255, 255, .045) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .045) 1px, transparent 1px);
    background-size: auto, 38px 38px, 38px 38px;
}

.cm-pullcard .bi {
    position: absolute;
    right: 1.25rem;
    top: -.25rem;
    font-size: 6rem;
    line-height: 1;
    color: var(--cm-text-white);
    opacity: .1;
}

.cm-pullcard p {
    position: relative;
    margin: 0;
    max-width: 32rem;
    font-family: "Plus Jakarta Sans", system-ui, sans-serif;
    font-size: clamp(1.45rem, 2.6vw, 2.15rem);
    font-weight: 700;
    line-height: 1.22;
    letter-spacing: -.03em;
}

.cm-pullcard strong {
    font-weight: 800;
    background: linear-gradient(100deg, #8C90F3, #6FA0FF);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.cm-stack {
    display: grid;
    gap: .75rem;
}

.cm-stack__row {
    display: flex;
    align-items: flex-start;
    gap: 1.1rem;
    padding: 1.2rem 1.4rem;
    border: 1px solid var(--cm-border);
    border-radius: var(--cm-radius-md);
    background: var(--cm-bg);
    transition: border-color .25s ease, transform .25s ease, box-shadow .25s ease;
}

.cm-stack__row:hover {
    border-color: var(--cm-border-purple);
    transform: translateX(4px);
    box-shadow: var(--cm-shadow-sm);
}

.cm-stack__row p {
    margin: 0;
    font-size: 1rem;
    line-height: 1.65;
    color: var(--cm-text-secondary);
}

/* section 3 */
.cm-stages {
    position: relative;
    margin-top: 0;
    padding-top: 1.5rem;
}

.cm-stage {
    position: relative;
    height: 100%;
    padding: 1.7rem 1.5rem 1.5rem;
    border: 1px solid var(--cm-border);
    border-radius: var(--cm-radius-lg);
    background: var(--cm-bg);
    transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

.cm-stage:hover {
    transform: translateY(-4px);
    border-color: var(--cm-border-purple);
    box-shadow: var(--cm-shadow-md);
}

.cm-stage .cm-ico {
    margin-bottom: 1rem;
}

.cm-stage p {
    margin: 0;
    font-size: .98rem;
    line-height: 1.65;
    color: var(--cm-text-secondary);
}

.cm-stage__label {
    display: block;
    margin-bottom: .5rem;
    font-size: 1.15rem;
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: -.02em;
    color: var(--cm-ink);
}

.cm-stage__dot {
    display: none;
}

@media (min-width: 1200px) {
    .cm-stages::before {
        content: "";
        position: absolute;
        left: calc(var(--bs-gutter-x) * .5);
        right: calc(var(--bs-gutter-x) * .5);
        top: .5rem;
        height: 2px;
        background: linear-gradient(90deg, var(--cm-primary-light), var(--cm-border-purple));
    }

    .cm-stage__dot {
        display: block;
        position: absolute;
        left: 1.5rem;
        top: -1.45rem;
        width: .9rem;
        height: .9rem;
        border-radius: 50%;
        background: var(--cm-gradient-primary);
        box-shadow: 0 0 0 5px var(--cm-bg-soft);
    }
}

.cm-mission {
    position: relative;
    margin-top: clamp(1.75rem, 3vw, 2.5rem);
    padding: clamp(1.7rem, 3.8vw, 3rem);
    border-radius: var(--cm-radius-lg);
    overflow: hidden;
    background: var(--cm-gradient-primary);
    color: var(--cm-text-white);
}

.cm-mission__mark {
    position: absolute;
    right: clamp(1rem, 4vw, 3rem);
    bottom: -1.5rem;
    font-size: clamp(7rem, 14vw, 11rem);
    line-height: 1;
    opacity: .12;
}

.cm-mission__lead {
    position: relative;
    margin: 0 0 .6rem;
    font-size: .85rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .8);
}

.cm-mission__text {
    position: relative;
    margin: 0;
    max-width: 54rem;
    font-family: "Plus Jakarta Sans", system-ui, sans-serif;
    font-size: clamp(1.3rem, 2.8vw, 2.25rem);
    font-weight: 800;
    line-height: 1.22;
    letter-spacing: -.03em;
}

/* section 4 */
.cm-challenges {
    margin: 0 0 1rem;
    padding: 0;
}

.cm-challenges li {
    display: flex;
    align-items: flex-start;
    gap: 1.1rem;
    padding: 1.25rem 0;
    border-bottom: 1px solid rgba(255, 255, 255, .13);
}

.cm-challenges li:first-child {
    padding-top: 0;
}

.cm-challenges li>span {
    display: grid;
    place-items: center;
    flex: none;
    width: 2.9rem;
    height: 2.9rem;
    border-radius: 50%;
    background: rgba(255, 255, 255, .09);
    color: var(--cm-secondary-light);
    font-size: 1.2rem;
    transition: background .3s ease, color .3s ease;
}

.cm-challenges li:hover>span {
    background: var(--cm-gradient-primary);
    color: var(--cm-text-white);
}

.cm-challenges p {
    margin: 0;
    padding-top: .3rem;
    font-size: 1.04rem;
    line-height: 1.65;
    color: rgba(255, 255, 255, .8);
}

/* section 5 */
.cm-orbit {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: .75rem;
    max-width: 46rem;
    margin: 0 auto clamp(1.75rem, 3.5vw, 2.75rem);
}

.cm-orbit__chip {
    display: grid;
    place-items: center;
    width: 3rem;
    height: 3rem;
    border: 1px solid var(--cm-border-purple);
    border-radius: 50%;
    background: var(--cm-bg);
    color: var(--cm-primary);
    font-size: 1.15rem;
    box-shadow: var(--cm-shadow-sm);
    transition: transform .3s ease, background .3s ease, color .3s ease;
}

.cm-orbit__chip:nth-child(even) {
    translate: 0 .65rem;
}

.cm-orbit__chip:hover {
    background: var(--cm-gradient-primary);
    color: var(--cm-text-white);
    transform: translateY(-4px);
}

.cm-narrow-row {
    max-width: 66rem;
    margin-inline: auto;
}

.cm-glasscard {
    display: flex;
    gap: 1.1rem;
    height: 100%;
    padding: 1.7rem;
    border: 1px solid var(--cm-border-purple);
    border-radius: var(--cm-radius-lg);
    background: rgba(255, 255, 255, .85);
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
}

.cm-glasscard p {
    margin: 0;
    font-size: clamp(1rem, 1.2vw, 1.1rem);
    line-height: 1.7;
    color: var(--cm-text-secondary);
}

.cm-glasscard strong {
    color: var(--cm-text);
    font-weight: 600;
}

/* contact / CTA */
.cm-brief {
    border: 1px solid var(--cm-border-purple);
    border-radius: var(--cm-radius-lg);
    background: var(--cm-bg);
    overflow: hidden;
    box-shadow: var(--cm-shadow-md);
}

.cm-brief__body {
    padding: clamp(1.4rem, 3vw, 2.3rem);
}

.cm-brief__body>p {
    margin: 0 0 1.1rem;
    color: var(--cm-text-secondary);
}

.cm-brief__list {
    display: grid;
    gap: .25rem;
    margin: 0;
    padding: 0;
}

@media (min-width: 768px) {
    .cm-brief__list {
        grid-template-columns: 1fr 1fr;
        gap: .25rem 1.5rem;
    }
}

.cm-brief__list li {
    display: flex;
    align-items: center;
    gap: .8rem;
    padding: .7rem .6rem;
    border-radius: var(--cm-radius-sm);
    font-size: .98rem;
    line-height: 1.4;
    color: var(--cm-text);
    transition: background-color .25s ease;
}

.cm-brief__list li:hover {
    background: var(--cm-bg-soft);
}

.cm-brief__note {
    margin: 1.25rem 0 0;
    padding-top: 1.1rem;
    border-top: 1px solid var(--cm-border);
    font-size: .98rem;
    color: var(--cm-text-secondary);
}

.cm-cta-band {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.25rem;
    margin-top: clamp(2rem, 3.5vw, 3rem);
    padding: clamp(1.5rem, 3vw, 2.3rem);
    border: 1px solid var(--cm-border-purple);
    border-radius: var(--cm-radius-lg);
    background: var(--cm-bg);
    box-shadow: var(--cm-shadow-sm);
}

.cm-cta-band__text {
    margin: 0;
    max-width: 46rem;
    font-family: "Plus Jakarta Sans", system-ui, sans-serif;
    font-size: clamp(1.15rem, 1.9vw, 1.6rem);
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: -.025em;
    color: var(--cm-ink);
}

@media (min-width: 1200px) {
    .cm-cta-band {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
    }
}

.cm-cta-band--light {
    border-color: rgba(255, 255, 255, .28);
    background: rgba(255, 255, 255, .12);
    box-shadow: none;
}

.cm-cta-band--light .cm-cta-band__text {
    color: var(--cm-text-white);
}

.cm-glass {
    padding: clamp(1.4rem, 3vw, 2.2rem);
    border: 1px solid rgba(255, 255, 255, .3);
    border-radius: var(--cm-radius-lg);
    background: rgba(255, 255, 255, .12);
}

.cm-glass .cm-label {
    color: var(--cm-text-white);
}

.cm-glass .cm-label::before {
    background: var(--cm-text-white);
}

.cm-glass p {
    margin: 0 0 .8rem;
    line-height: 1.65;
    color: rgba(255, 255, 255, .92);
}

.cm-glass p:last-child {
    margin-bottom: 0;
}

.cm-section--primary {
    overflow: hidden;
    background-image: radial-gradient(circle at 85% 10%, rgba(255, 255, 255, .22), transparent 40%), var(--cm-gradient-primary);
}

.cm-section__deco {
    position: absolute;
    left: -8rem;
    bottom: -10rem;
    width: 26rem;
    height: 26rem;
    border: 60px solid rgba(255, 255, 255, .07);
    border-radius: 50%;
    pointer-events: none;
}

/* footer */
.cm-pills {
    display: grid;
    gap: .65rem;
    margin: 0;
    padding: 0;
}

.cm-pills li {
    display: flex;
    align-items: center;
    gap: .8rem;
    padding: .85rem 1.1rem;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: var(--cm-radius-md);
    background: rgba(255, 255, 255, .05);
    font-size: 1rem;
    font-weight: 600;
    color: var(--cm-text-white);
    transition: background-color .25s ease, border-color .25s ease, transform .25s ease;
}

.cm-pills li:hover {
    background: rgba(255, 255, 255, .1);
    border-color: var(--cm-secondary-light);
    transform: translateX(4px);
}

.cm-pills .bi {
    color: var(--cm-secondary-light);
    font-size: 1.15em;
}

.cm-footer-end {
    margin-top: clamp(2rem, 4vw, 3.25rem);
    padding-top: clamp(1.5rem, 3vw, 2.25rem);
    border-top: 1px solid rgba(255, 255, 255, .14);
}

.cm-footer-end__a {
    margin: 0 0 .6rem;
    font-family: "Plus Jakarta Sans", system-ui, sans-serif;
    font-size: clamp(1.25rem, 2.5vw, 2rem);
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: -.03em;
    color: var(--cm-text-white);
}

.cm-footer-end__b {
    margin: 0;
    max-width: 52rem;
    font-size: 1rem;
    line-height: 1.6;
    color: rgba(255, 255, 255, .7);
}

/* header extras */
.cm-progress {
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 3px;
    pointer-events: none;
}

.cm-progress span {
    display: block;
    height: 100%;
    background: var(--cm-gradient-primary);
    transform-origin: 0 50%;
    transform: scaleX(0);
}

.cm-dropdown .dropdown-item {
    display: flex;
    align-items: center;
    gap: .65rem;
}

.cm-dropdown .dropdown-item .bi {
    flex: none;
    width: 1.1rem;
    color: var(--cm-primary-light);
    font-size: 1rem;
}

/* dark sections */
.cm-section--dark {
    color: rgba(255, 255, 255, .76);
    background-image: radial-gradient(circle at 90% 0%, rgba(93, 71, 246, .4), transparent 40%), linear-gradient(rgba(255, 255, 255, .035) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .035) 1px, transparent 1px);
    background-size: auto, 44px 44px, 44px 44px;
}

.cm-section--dark .cm-title,
.cm-section--primary .cm-title {
    color: var(--cm-text-white);
}

.cm-section--dark .cm-subtitle {
    color: var(--cm-secondary-light);
}

.cm-section--primary .cm-subtitle {
    color: rgba(255, 255, 255, .92);
}

.cm-section--dark .cm-eyebrow,
.cm-section--primary .cm-eyebrow {
    color: var(--cm-text-white);
}

.cm-section--dark .cm-eyebrow__ico,
.cm-section--primary .cm-eyebrow__ico {
    background: rgba(255, 255, 255, .12);
}

.cm-section--dark .cm-prose p {
    color: rgba(255, 255, 255, .78);
}

.cm-section--primary .cm-prose p {
    color: rgba(255, 255, 255, .92);
}

.cm-section--dark .cm-prose strong,
.cm-section--primary .cm-prose strong,
.cm-section--dark .cm-lead {
    color: var(--cm-text-white);
}

.cm-section--dark .cm-prose--lead1 p:first-child {
    color: var(--cm-text-white);
}

.cm-section--dark .cm-closing {
    border-color: rgba(255, 255, 255, .16);
    background: rgba(255, 255, 255, .06);
    color: var(--cm-text-white);
    box-shadow: none;
}

.cm-section--dark .cm-closing .bi {
    color: var(--cm-secondary-light);
}

.cm-section--dark .cm-item-title {
    color: var(--cm-text-white);
}

.cm-section--dark .cm-frow,
.cm-section--dark .cm-frows>.cm-frow:last-child {
    border-color: rgba(255, 255, 255, .14);
}

.cm-section--dark .cm-frow .cm-ico {
    background: rgba(255, 255, 255, .09);
    color: var(--cm-secondary-light);
}

.cm-section--dark .cm-frow:hover .cm-ico {
    background: var(--cm-gradient-primary);
    color: var(--cm-text-white);
}

.cm-section--dark .cm-frow:hover .cm-item-title {
    color: var(--cm-secondary-light);
}



.cm-float {
    position: absolute;
    z-index: 5;
    display: flex;
    align-items: center;
    gap: 1.2cqw;
    width: max-content;
    padding: 1.35cqw 2cqw 1.35cqw 1.4cqw;
    border: 1px solid rgba(220, 213, 255, .6);
    border-radius: 1.9cqw;
    background: var(--cm-bg);
    box-shadow: 0 1.6cqw 3.6cqw rgba(62, 26, 246, .13), 0 .3cqw 1cqw rgba(30, 35, 64, .06);
    white-space: nowrap;
    animation: cm-bob 7s ease-in-out infinite;
}

.cm-float--pr {
    left: 8%;
    top: 10.4%;
    rotate: -12deg;
}

.cm-float--influencer {
    left: 7.2%;
    top: 31.6%;
    rotate: -6deg;
    animation-delay: -2s;
}

.cm-float--blockchain {
    left: 70.2%;
    top: 23.4%;
    rotate: -4deg;
    animation-delay: -4s;
}

.cm-float--digital {
    left: 74.4%;
    top: 37.4%;
    rotate: -4deg;
    animation-delay: -1s;
}

.cm-float__icon {
    flex: none;
    display: grid;
    place-items: center;
    width: 4.2cqw;
    aspect-ratio: 1;
    border-radius: 1.2cqw;
    background: var(--cm-bg-lavender);
    font-size: max(8px, 2.2cqw);
    color: var(--cm-primary);
}

.cm-float__icon--solid {
    background: var(--cm-gradient-primary);
    color: var(--cm-text-white);
}

.cm-float__text strong {
    display: block;
    font-family: "Plus Jakarta Sans", system-ui, sans-serif;
    font-size: max(7.5px, 1.78cqw);
    font-weight: 700;
    line-height: 1.15;
    color: var(--cm-ink);
}

.cm-float__text small {
    display: block;
    margin-top: .25cqw;
    font-size: max(6.5px, 1.4cqw);
    line-height: 1.2;
    color: var(--cm-text-muted);
}

@keyframes cm-bob {

    0%,
    100% {
        translate: 0 0;
    }

    50% {
        translate: 0 -.9cqw;
    }
}

/* ==========================================================================
   Reduced motion
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    .cm-js [data-cm-reveal] {
        opacity: 1;
        translate: none;
        transition: none;
    }

    .cm-btn,
    .cm-btn .bi,
    .cm-tile,
    .cm-step,
    .cm-voice,
    .cm-chips li,
    .cm-flow__step,
    .cm-col__bar,
    .cm-pills li,
    .cm-tl__dot,
    .cm-numlist li {
        transition: none;
    }
}


/* =====================================================================
   CryptoMark - main footer (link area)
   Needs: Bootstrap 5.3.3, Bootstrap Icons, Google Fonts (Plus Jakarta Sans, Inter)
   and the :root variables from cryptomark.css.
   The wrapper <footer class="cm-footer"> rules are included below.
   ===================================================================== */


.cm-footer {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: var(--cm-bg-dark);
    color: rgba(255, 255, 255, .72);
}

.cm-footer::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background:
        radial-gradient(45rem 25rem at 8% 0%,
            rgba(101, 71, 255, .24), transparent 70%),
        radial-gradient(40rem 24rem at 100% 35%,
            rgba(40, 100, 255, .16), transparent 70%);
}

.cm-fmain {
    position: relative;
    padding-top: clamp(2.75rem, 5vw, 4.5rem);
    background: rgba(0, 0, 0, .18);
    border-top: 1px solid rgba(255, 255, 255, .1);
}

.cm-fmain::before {
    content: "";
    position: absolute;
    top: 0;
    left: 5%;
    width: 90%;
    height: 1px;
    background: linear-gradient(90deg,
            transparent,
            var(--cm-secondary),
            var(--cm-primary),
            transparent);
    pointer-events: none;
}


.cm-fmain .row>* {
    min-width: 0;
}

.cm-fbrand,
.cm-fbrand:hover {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    margin: 0;
    text-decoration: none;
}

.cm-fbrand .cm-brand__mark {
    width: clamp(2.5rem, 3vw, 2.9rem);
    flex: 0 0 auto;
}

.cm-fbrand .cm-brand__text {
    min-width: 0;
}

.cm-fbrand .cm-brand__name {
    color: var(--cm-text-white);
    font-size: clamp(1.45rem, 2vw, 1.8rem);
    white-space: nowrap;
}

.cm-fbrand .cm-brand__name span {
    color: var(--cm-secondary-light);
}

.cm-fbrand .cm-brand__tag {
    color: rgba(255, 255, 255, .58);
    font-size: .56rem;
    letter-spacing: .24em;
    line-height: 1.5;
}

.cm-fcta {
    margin-top: 1.5rem;
}

.cm-fcta .cm-btn {
    max-width: 100%;
}

/* Footer navigation columns */

.cm-fcol {
    min-width: 0;
    height: 100%;
}

.cm-fcol__title {
    position: relative;
    margin: 0 0 1rem;
    padding-bottom: .8rem;
    color: var(--cm-text-white);
    font-family: "Plus Jakarta Sans", system-ui, sans-serif;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .1em;
    line-height: 1.5;
    text-transform: uppercase;
}

.cm-fcol__title::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 1.8rem;
    height: 2px;
    border-radius: 2px;
    background: var(--cm-gradient-primary);
    transition: width .25s ease;
}

.cm-fcol:hover .cm-fcol__title::after {
    width: 2.8rem;
}

.cm-flinks {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .1rem;
    margin: 0;
    padding: 0;
}

.cm-flinks a {
    display: inline-flex;
    align-items: baseline;
    gap: 0;
    max-width: 100%;
    padding: .38rem 0;
    color: rgba(255, 255, 255, .68);
    font-size: .9rem;
    font-weight: 500;
    line-height: 1.55;
    overflow-wrap: anywhere;
    text-decoration: none;
    transition:
        color .2s ease,
        transform .2s ease,
        gap .2s ease;
}

.cm-flinks a::before {
    content: "";
    flex: 0 0 auto;
    width: 0;
    height: 2px;
    margin-right: 0;
    border-radius: 2px;
    background: var(--cm-secondary-light);
    transition: width .2s ease, margin-right .2s ease;
}

.cm-flinks a:hover,
.cm-flinks a:focus-visible {
    color: var(--cm-text-white);
    transform: translateX(2px);
}

.cm-flinks a:hover::before,
.cm-flinks a:focus-visible::before {
    width: .65rem;
    margin-right: .4rem;
}

.cm-flinks a:focus-visible,
.cm-fbar__top:focus-visible {
    outline: 2px solid var(--cm-secondary-light);
    outline-offset: 4px;
    border-radius: 3px;
}

/* Bottom copyright bar */

.cm-fbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: .85rem 1.25rem;
    margin-top: clamp(2rem, 4vw, 3.25rem);
    padding: 1.35rem 0;
    border-top: 1px solid rgba(255, 255, 255, .12);
}

.cm-fbar__copy {
    margin: 0;
    color: rgba(255, 255, 255, .58);
    font-size: .85rem;
    line-height: 1.6;
}

.cm-fbar__top {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: .55rem;
    padding: .4rem .45rem .4rem .85rem;
    border: 1px solid rgba(255, 255, 255, .17);
    border-radius: 999px;
    background: rgba(255, 255, 255, .035);
    color: var(--cm-text-white);
    font-size: .85rem;
    font-weight: 600;
    text-decoration: none;
    transition: background .2s ease, border-color .2s ease;
}

.cm-fbar__top .bi {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.8rem;
    height: 1.8rem;
    border-radius: 50%;
    background: var(--cm-gradient-primary);
    color: #fff;
    transition: transform .2s ease;
}

.cm-fbar__top:hover {
    border-color: rgba(255, 255, 255, .4);
    background: rgba(255, 255, 255, .08);
    color: #fff;
}

.cm-fbar__top:hover .bi {
    transform: translateY(-2px);
}

/* Shared brand and button styles */

.cm-brand {
    display: inline-flex;
    align-items: center;
    gap: .7rem;
    min-width: 0;
    padding: 0;
}

.cm-brand__mark {
    display: block;
    flex: 0 0 auto;
    width: 2.9rem;
    height: auto;
}

.cm-brand__text {
    display: flex;
    flex-direction: column;
}

.cm-brand__name {
    font-family: "Plus Jakarta Sans", system-ui, sans-serif;
    font-size: clamp(1.45rem, 1.7vw, 1.9rem);
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -.035em;
}

.cm-brand__name span {
    color: var(--cm-primary);
}

.cm-brand__tag {
    margin-top: .35rem;
    font-size: .58rem;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: .2em;
    text-transform: uppercase;
}

.cm-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .65rem;
    max-width: 100%;
    padding: .85rem 1.35rem;
    border: 1px solid transparent;
    border-radius: var(--cm-radius-pill);
    font-size: .95rem;
    font-weight: 600;
    line-height: 1.35;
    text-align: center;
    text-decoration: none;
    transition:
        transform .2s ease,
        box-shadow .2s ease,
        background-color .2s ease;
}

.cm-btn .bi {
    flex: 0 0 auto;
    font-size: 1.1rem;
    transition: transform .2s ease;
}

.cm-btn--primary {
    background: var(--cm-gradient-primary);
    color: var(--cm-text-white);
    box-shadow: 0 8px 22px rgba(62, 26, 246, .2);
}

.cm-btn--primary:hover,
.cm-btn--primary:focus-visible {
    transform: translateY(-2px);
    color: var(--cm-text-white);
    box-shadow: 0 12px 26px rgba(62, 26, 246, .3);
}

.cm-btn--primary:hover .bi-arrow-right {
    transform: translateX(3px);
}

/* Tablet */

@media (max-width: 991.98px) {
    .cm-fmain {
        padding-top: 3rem;
    }

    .cm-fmain>.cm-shell>.row {
        --bs-gutter-y: 2.5rem;
    }

    .cm-fcta {
        margin-top: 1.25rem;
    }

    .cm-fbar {
        margin-top: 2rem;
    }
}

/* Mobile */

@media (max-width: 575.98px) {
    .cm-fmain {
        padding-top: 2.5rem;
    }

    .cm-fmain>.cm-shell>.row {
        --bs-gutter-x: 1.25rem;
        --bs-gutter-y: 2.25rem;
    }

    .cm-fbrand {
        gap: .55rem;
    }

    .cm-fbrand .cm-brand__mark {
        width: 2.4rem;
    }

    .cm-fbrand .cm-brand__name {
        font-size: 1.4rem;
    }

    .cm-fbrand .cm-brand__tag {
        font-size: .48rem;
        letter-spacing: .15em;
    }

    .cm-fcta {
        margin-top: 1.15rem;
    }

    .cm-fmain .row.g-4 {
        --bs-gutter-x: 1.25rem;
        --bs-gutter-y: 2rem;
    }

    .cm-fcol__title {
        margin-bottom: .8rem;
        font-size: .72rem;
        letter-spacing: .08em;
    }

    .cm-flinks a {
        padding: .32rem 0;
        font-size: .84rem;
        line-height: 1.5;
    }

    .cm-fbar {
        align-items: flex-start;
        flex-direction: column;
        gap: .9rem;
        margin-top: 2rem;
        padding: 1.2rem 0;
    }

    .cm-fbar__copy {
        font-size: .8rem;
    }
}

/* Motion accessibility */

@media (prefers-reduced-motion: reduce) {

    .cm-footer *,
    .cm-footer *::before,
    .cm-footer *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}




























/* ==========================================================================
   CryptoMark - inner pages (About, Services, Industries, Pricing, Clients, Contact Us)
   Loaded AFTER cryptomark.css. Every class here is prefixed `cmp-` so nothing
   from the homepage layer is touched. The universal classes (cm-section, cm-head,
   cm-eyebrow, cm-title, cm-subtitle, cm-prose, cm-btn...) are used as they are
   and are never redefined; this file only uses the existing :root variables.
   ========================================================================== */

/* ---------- shared bits -------------------------------------------------- */
.cmp-colon {
    display: none;
}

.cmp-sticky {
    position: relative;
}

@media (min-width: 992px) {
    .cmp-sticky {
        position: sticky;
        top: 6.75rem;
    }
}

.cmp-intro {
    margin: 0;
    max-width: 40rem;
    font-size: clamp(1.02rem, 1.3vw, 1.2rem);
    line-height: 1.6;
    color: var(--cm-text-secondary);
}

.cmp-btns {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
}

.cmp-pills {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
    margin: 0;
    padding: 0;
}

.cmp-pills li {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .55rem 1.05rem;
    border: 1px solid var(--cm-border-purple);
    border-radius: var(--cm-radius-pill);
    background: var(--cm-bg);
    font-family: "Plus Jakarta Sans", system-ui, sans-serif;
    font-size: .95rem;
    font-weight: 700;
    line-height: 1.2;
    color: var(--cm-primary-dark);
}

.cmp-pills li::before {
    content: "";
    width: .5rem;
    height: .5rem;
    border-radius: 50%;
    background: var(--cm-gradient-primary);
}

.cmp-head--tight {
    margin-bottom: 1rem;
}

.cmp-ico {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    width: 2.9rem;
    height: 2.9rem;
    border-radius: var(--cm-radius-md);
    background: var(--cm-bg-lavender);
    color: var(--cm-primary);
    font-size: 1.25rem;
    line-height: 1;
    transition: background-color .25s ease, color .25s ease, transform .25s ease;
}

.cmp-ico--sm {
    width: 2.4rem;
    height: 2.4rem;
    border-radius: 12px;
    font-size: 1.05rem;
}

.cmp-ico--lg {
    width: 3.6rem;
    height: 3.6rem;
    border-radius: 18px;
    font-size: 1.6rem;
}

.cmp-ico--xl {
    width: 4.5rem;
    height: 4.5rem;
    border-radius: 22px;
    font-size: 2rem;
}

.cmp-ico--glass {
    background: rgba(255, 255, 255, .1);
    color: var(--cm-secondary-light);
}

.cmp-ico--grad {
    background: var(--cm-gradient-primary);
    color: var(--cm-text-white);
}

.cmp-glow {
    position: absolute;
    inset: 0;
    border-radius: inherit;
    opacity: 0;
    pointer-events: none;
    transition: opacity .35s ease;
}

[data-cmp-glow] {
    position: relative;
    overflow: hidden;
}

[data-cmp-glow]:hover>.cmp-glow {
    opacity: 1;
}

@keyframes cmp-spin {
    to {
        transform: rotate(360deg);
    }
}

@keyframes cmp-float {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-10px);
    }
}

@keyframes cmp-pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(62, 26, 246, .35);
    }

    100% {
        box-shadow: 0 0 0 2.4rem rgba(62, 26, 246, 0);
    }
}

@keyframes cmp-in {
    from {
        opacity: 0;
        transform: translateY(12px);
    }

    to {
        opacity: 1;
        transform: none;
    }
}

@keyframes cmp-dot {

    0%,
    80%,
    100% {
        opacity: .3;
        transform: translateY(0);
    }

    40% {
        opacity: 1;
        transform: translateY(-.8cqw);
    }
}

@keyframes cmp-grow {
    from {
        transform: scaleY(0);
    }

    to {
        transform: scaleY(1);
    }
}

@keyframes cmp-draw {
    from {
        stroke-dashoffset: 400;
    }

    to {
        stroke-dashoffset: 0;
    }
}

/* ---------- hero --------------------------------------------------------- */
.cmp-hero {
    position: relative;
    padding-block: clamp(2.5rem, 5vw, 5rem) clamp(2.75rem, 5vw, 5rem);
    background: var(--cm-bg);
}

.cmp-hero__bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: radial-gradient(44rem 28rem at 88% 0%, rgba(101, 71, 255, .18), transparent 62%), radial-gradient(34rem 24rem at 0% 100%, rgba(40, 100, 255, .10), transparent 62%);
}

.cmp-hero__bg::after {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .75;
    background-image: radial-gradient(var(--cm-border-purple) 1px, transparent 1.3px);
    background-size: 26px 26px;
    -webkit-mask-image: linear-gradient(180deg, #000, transparent 78%);
    mask-image: linear-gradient(180deg, #000, transparent 78%);
}

.cmp-h1 {
    margin-bottom: 1.1rem;
    font-size: clamp(2.3rem, 5.4vw, 4.75rem);
    line-height: 1;
    letter-spacing: -.045em;
}

.cmp-hero__head .cm-subtitle {
    max-width: 36rem;
}

.cmp-hero__prose {
    max-width: 38rem;
    margin-top: 1.4rem;
}

/* ---------- decorative hero visuals ------------------------------------- */
.cmp-vis {
    position: relative;
    container-type: inline-size;
    width: 100%;
    max-width: 34rem;
    margin-inline: auto;
    aspect-ratio: 1 / 1;
}

.cmp-chip {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 13cqw;
    height: 13cqw;
    border: 1px solid var(--cm-border-purple);
    border-radius: 32%;
    background: var(--cm-bg);
    color: var(--cm-primary);
    font-size: 5.8cqw;
    box-shadow: var(--cm-shadow-md);
    animation: cmp-float 6s ease-in-out infinite;
}

.cmp-chip--1 {
    left: 0;
    top: 14%;
}

.cmp-chip--2 {
    right: 0;
    top: 40%;
    animation-delay: -2s;
    border-color: transparent;
    background: var(--cm-gradient-primary);
    color: var(--cm-text-white);
}

.cmp-chip--3 {
    left: 8%;
    bottom: 2%;
    animation-delay: -4s;
}

/* orbit (About) */
.cmp-orbit__glow {
    position: absolute;
    inset: 6%;
    border-radius: 50%;
    background: radial-gradient(closest-side, rgba(101, 71, 255, .22), transparent);
}

.cmp-orbit__ring {
    position: absolute;
    border: 1.5px dashed var(--cm-border-purple);
    border-radius: 50%;
    animation: cmp-spin 60s linear infinite;
}

.cmp-orbit__ring--3 {
    inset: 8%;
}

.cmp-orbit__ring--2 {
    inset: 22%;
    animation-duration: 44s;
    animation-direction: reverse;
}

.cmp-orbit__ring--1 {
    inset: 36%;
    border-style: solid;
    border-color: rgba(101, 71, 255, .22);
    animation: none;
}

.cmp-orbit__node {
    position: absolute;
    width: 15cqw;
    height: 15cqw;
    margin: -7.5cqw 0 0 -7.5cqw;
}

.cmp-orbit__node--sm {
    width: 11cqw;
    height: 11cqw;
    margin: -5.5cqw 0 0 -5.5cqw;
}

.cmp-orbit__in {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    border: 1px solid var(--cm-border-purple);
    border-radius: 32%;
    background: var(--cm-bg);
    color: var(--cm-primary);
    font-size: 6.4cqw;
    box-shadow: var(--cm-shadow-md);
    animation: cmp-spin 60s linear infinite reverse;
}

.cmp-orbit__node--sm .cmp-orbit__in {
    font-size: 4.6cqw;
}

.cmp-orbit__ring--2 .cmp-orbit__in {
    animation-duration: 44s;
    animation-direction: normal;
}

.cmp-pos-t {
    left: 50%;
    top: 0;
}

.cmp-pos-r {
    left: 100%;
    top: 50%;
}

.cmp-pos-b {
    left: 50%;
    top: 100%;
}

.cmp-pos-l {
    left: 0;
    top: 50%;
}

.cmp-pos-tr {
    left: 85.36%;
    top: 14.64%;
}

.cmp-pos-br {
    left: 85.36%;
    top: 85.36%;
}

.cmp-pos-bl {
    left: 14.64%;
    top: 85.36%;
}

.cmp-pos-tl {
    left: 14.64%;
    top: 14.64%;
}

.cmp-orbit__core {
    position: absolute;
    left: 50%;
    top: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 22cqw;
    height: 22cqw;
    margin: -11cqw 0 0 -11cqw;
    border-radius: 30%;
    background: var(--cm-gradient-primary);
    color: var(--cm-text-white);
    font-size: 10cqw;
    box-shadow: 0 18px 44px rgba(62, 26, 246, .38);
    animation: cmp-pulse 3s ease-out infinite;
}

/* app window (Services) */
.cmp-console {
    aspect-ratio: 1 / .94;
}

.cmp-console__win {
    position: absolute;
    inset: 5% 3% 6% 3%;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid var(--cm-border);
    border-radius: 4cqw;
    background: var(--cm-bg);
    box-shadow: var(--cm-shadow-lg);
}

.cmp-console__bar {
    display: flex;
    align-items: center;
    gap: 1.6cqw;
    padding: 2.4cqw 3cqw;
    border-bottom: 1px solid var(--cm-border-light);
    background: var(--cm-bg-soft);
}

.cmp-console__bar i {
    width: 2.2cqw;
    height: 2.2cqw;
    border-radius: 50%;
    background: var(--cm-border);
}

.cmp-console__bar i:nth-child(1) {
    background: #FF7A7A;
}

.cmp-console__bar i:nth-child(2) {
    background: var(--cm-gold);
}

.cmp-console__bar i:nth-child(3) {
    background: var(--cm-success);
}

.cmp-console__bar span {
    flex: 1;
    height: 2.6cqw;
    margin-left: 3cqw;
    border-radius: 2cqw;
    background: var(--cm-border-light);
}

.cmp-console__body {
    display: flex;
    flex: 1;
    min-height: 0;
}

.cmp-console__rail {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3.4cqw;
    width: 11cqw;
    padding-top: 3.5cqw;
    border-right: 1px solid var(--cm-border-light);
    color: var(--cm-text-light);
    font-size: 4.2cqw;
}

.cmp-console__rail i:first-child {
    color: var(--cm-primary);
}

.cmp-console__main {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 3cqw;
    min-width: 0;
    padding: 3.5cqw;
}

.cmp-console__stats {
    display: flex;
    gap: 2.4cqw;
}

.cmp-console__stat {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 1.6cqw;
    padding: 2.2cqw;
    border-radius: 2.4cqw;
    background: var(--cm-bg-secondary);
}

.cmp-console__stat i {
    width: 50%;
    height: 1.8cqw;
    border-radius: 1cqw;
    background: var(--cm-border);
}

.cmp-console__stat b {
    width: 75%;
    height: 3.4cqw;
    border-radius: 1.2cqw;
    background: var(--cm-gradient-primary);
}

.cmp-console__chart {
    flex: 1;
    min-height: 0;
    padding: 2cqw;
    border-radius: 2.4cqw;
    background: var(--cm-bg-soft);
}

.cmp-console__chart svg {
    display: block;
    width: 100%;
    height: 100%;
}

.cmp-console__area {
    fill: rgba(62, 26, 246, .10);
}

.cmp-console__line {
    fill: none;
    stroke: var(--cm-primary);
    stroke-width: 2.4;
    vector-effect: non-scaling-stroke;
    stroke-dasharray: 400;
    animation: cmp-draw 2.4s ease-out both;
}

.cmp-console__rows {
    display: flex;
    flex-direction: column;
    gap: 2cqw;
}

.cmp-console__row {
    display: flex;
    align-items: center;
    gap: 2cqw;
}

.cmp-console__row i {
    width: 3.6cqw;
    height: 3.6cqw;
    border-radius: 1.2cqw;
    background: var(--cm-bg-lavender);
}

.cmp-console__row b {
    flex: 1;
    height: 2cqw;
    border-radius: 1cqw;
    background: var(--cm-border-light);
}

.cmp-console__row u {
    width: 9cqw;
    height: 3cqw;
    border-radius: 3cqw;
    background: rgba(35, 200, 160, .25);
    text-decoration: none;
}

/* honeycomb (Industries) */
.cmp-hive__cell {
    position: absolute;
    width: 28%;
    aspect-ratio: .866;
    clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
    background: var(--cm-border-purple);
    animation: cmp-float 7s ease-in-out infinite;
}

.cmp-hive__in {
    position: absolute;
    inset: 2px;
    display: flex;
    align-items: center;
    justify-content: center;
    clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
    background: linear-gradient(160deg, var(--cm-bg), var(--cm-bg-lavender));
    color: var(--cm-primary);
    font-size: 8cqw;
}

.cmp-hive__cell--r1a {
    left: 21.25%;
    top: 5%;
}

.cmp-hive__cell--r1b {
    left: 50.75%;
    top: 5%;
    animation-delay: -1.5s;
}

.cmp-hive__cell--r2a {
    left: 6.5%;
    top: 30.4%;
    animation-delay: -3s;
}

.cmp-hive__cell--r2b {
    left: 36%;
    top: 30.4%;
    animation-delay: -.8s;
}

.cmp-hive__cell--r2c {
    left: 65.5%;
    top: 30.4%;
    animation-delay: -2.2s;
}

.cmp-hive__cell--r3a {
    left: 21.25%;
    top: 55.8%;
    animation-delay: -4s;
}

.cmp-hive__cell--r3b {
    left: 50.75%;
    top: 55.8%;
    animation-delay: -5s;
}

.cmp-hive__cell--core {
    background: var(--cm-primary);
}

.cmp-hive__cell--core .cmp-hive__in {
    background: var(--cm-gradient-primary);
    color: var(--cm-text-white);
    font-size: 10cqw;
}

/* plan preview (Pricing) */
.cmp-planvis__back {
    position: absolute;
    left: 0;
    right: 16%;
    top: 6%;
    height: 54%;
    display: flex;
    align-items: flex-end;
    gap: 3cqw;
    padding: 4cqw;
    border-radius: 4cqw;
    background: linear-gradient(160deg, var(--cm-bg-lavender), var(--cm-bg-blue));
}

.cmp-planvis__bar {
    flex: 1;
    border-radius: 1.6cqw 1.6cqw 0 0;
    background: var(--cm-gradient-primary);
    opacity: .88;
}

.cmp-planvis__bar--1 {
    height: 30%;
}

.cmp-planvis__bar--2 {
    height: 42%;
}

.cmp-planvis__bar--3 {
    height: 38%;
}

.cmp-planvis__bar--4 {
    height: 56%;
}

.cmp-planvis__bar--5 {
    height: 50%;
}

.cmp-planvis__bar--6 {
    height: 72%;
}

.cmp-planvis__bar--7 {
    height: 88%;
}

.cmp-planvis__card {
    position: absolute;
    left: 22%;
    right: 0;
    top: 32%;
    bottom: 3%;
    display: flex;
    flex-direction: column;
    gap: 3.4cqw;
    padding: 5cqw;
    border: 1px solid var(--cm-border);
    border-radius: 4cqw;
    background: var(--cm-bg);
    box-shadow: var(--cm-shadow-lg);
}

.cmp-planvis__top {
    display: flex;
    align-items: center;
    gap: 3cqw;
}

.cmp-planvis__tag {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 11cqw;
    height: 11cqw;
    border-radius: 3cqw;
    background: var(--cm-gradient-primary);
    color: var(--cm-text-white);
    font-size: 5cqw;
}

.cmp-planvis__lines {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 1.6cqw;
}

.cmp-planvis__lines b {
    height: 2.2cqw;
    width: 70%;
    border-radius: 1cqw;
    background: var(--cm-border);
}

.cmp-planvis__lines b:last-child {
    width: 40%;
    background: var(--cm-border-light);
}

.cmp-planvis__list {
    display: flex;
    flex-direction: column;
    gap: 2.6cqw;
}

.cmp-planvis__li {
    display: flex;
    align-items: center;
    gap: 2.4cqw;
    color: var(--cm-success);
    font-size: 4cqw;
}

.cmp-planvis__li b {
    flex: 1;
    height: 1.9cqw;
    border-radius: 1cqw;
    background: var(--cm-border-light);
}

.cmp-planvis__btn {
    margin-top: auto;
    height: 8cqw;
    border-radius: 4cqw;
    background: var(--cm-gradient-primary);
}

/* testimonial stack (Clients) */
.cmp-stack__card {
    position: absolute;
    left: 11%;
    width: 78%;
    display: flex;
    gap: 3cqw;
    padding: 3.8cqw;
    border: 1px solid var(--cm-border);
    border-radius: 3.8cqw;
    background: var(--cm-bg);
    box-shadow: var(--cm-shadow-lg);
}

.cmp-stack__card--1 {
    top: 6%;
    transform: rotate(-4deg) translateX(-5%);
    opacity: .7;
}

.cmp-stack__card--2 {
    top: 29%;
    transform: rotate(3deg) translateX(5%);
    opacity: .9;
}

.cmp-stack__card--3 {
    top: 52%;
    z-index: 2;
    transform: rotate(-1.5deg);
    animation: cmp-float 6s ease-in-out infinite;
}

.cmp-stack__av {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: none;
    width: 11cqw;
    height: 11cqw;
    border-radius: 50%;
    background: var(--cm-gradient-primary);
    color: var(--cm-text-white);
    font-size: 6cqw;
}

.cmp-stack__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 1.8cqw;
    min-width: 0;
}

.cmp-stack__stars {
    display: flex;
    gap: .8cqw;
    color: var(--cm-gold);
    font-size: 3.4cqw;
}

.cmp-stack__body b {
    height: 2cqw;
    border-radius: 1cqw;
    background: var(--cm-border-light);
}

.cmp-stack__body b:nth-of-type(2) {
    width: 82%;
}

.cmp-stack__body b:nth-of-type(3) {
    width: 54%;
}

.cmp-stack__q {
    position: absolute;
    right: 3cqw;
    top: -4cqw;
    font-size: 14cqw;
    line-height: 1;
    color: var(--cm-primary);
    opacity: .16;
}

/* chat thread (Contact) */
.cmp-thread__panel {
    position: absolute;
    inset: 4% 6% 6% 6%;
    display: flex;
    flex-direction: column;
    gap: 3cqw;
    padding: 4cqw;
    border: 1px solid var(--cm-border);
    border-radius: 4cqw;
    background: var(--cm-bg);
    box-shadow: var(--cm-shadow-lg);
}

.cmp-thread__bar {
    display: flex;
    align-items: center;
    gap: 3cqw;
    padding-bottom: 3cqw;
    border-bottom: 1px solid var(--cm-border-light);
}

.cmp-thread__av {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 10cqw;
    height: 10cqw;
    border-radius: 50%;
    background: var(--cm-gradient-primary);
    color: var(--cm-text-white);
    font-size: 5cqw;
}

.cmp-thread__lines {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 1.4cqw;
}

.cmp-thread__lines b {
    width: 60%;
    height: 1.8cqw;
    border-radius: 1cqw;
    background: var(--cm-border);
}

.cmp-thread__lines b:last-child {
    width: 35%;
    background: var(--cm-border-light);
}

.cmp-thread__live {
    width: 2.6cqw;
    height: 2.6cqw;
    border-radius: 50%;
    background: var(--cm-success);
    box-shadow: 0 0 0 1.2cqw rgba(35, 200, 160, .22);
}

.cmp-thread__msg {
    display: flex;
    flex-direction: column;
    gap: 1.6cqw;
    max-width: 72%;
    padding: 3cqw;
    border-radius: 3cqw;
}

.cmp-thread__msg b {
    width: 100%;
    height: 1.9cqw;
    border-radius: 1cqw;
    background: var(--cm-border);
}

.cmp-thread__msg b:last-child:not(:only-child) {
    width: 62%;
}

.cmp-thread__msg--in {
    align-self: flex-start;
    border-top-left-radius: .8cqw;
    background: var(--cm-bg-secondary);
}

.cmp-thread__msg--out {
    align-self: flex-end;
    border-top-right-radius: .8cqw;
    background: var(--cm-gradient-primary);
}

.cmp-thread__msg--out b {
    background: rgba(255, 255, 255, .6);
}

.cmp-thread__typing {
    display: flex;
    align-self: flex-start;
    gap: 1.2cqw;
    padding: 2.4cqw 3cqw;
    border-radius: 3cqw;
    background: var(--cm-bg-secondary);
}

.cmp-thread__typing i {
    width: 1.8cqw;
    height: 1.8cqw;
    border-radius: 50%;
    background: var(--cm-text-light);
    animation: cmp-dot 1.2s infinite;
}

.cmp-thread__typing i:nth-child(2) {
    animation-delay: .15s;
}

.cmp-thread__typing i:nth-child(3) {
    animation-delay: .3s;
}

/* ---------- About -------------------------------------------------------- */
.cmp-duo {
    position: relative;
}

.cmp-duo__card {
    position: relative;
    height: 100%;
    padding: clamp(1.75rem, 3.2vw, 3rem);
    border: 1px solid var(--cm-border-purple);
    border-radius: var(--cm-radius-lg);
    transition: transform .3s ease, box-shadow .3s ease;
}

.cmp-duo__card:hover {
    transform: translateY(-4px);
    box-shadow: var(--cm-shadow-lg);
}

.cmp-duo__card--ink {
    border-color: transparent;
    background: radial-gradient(60% 80% at 100% 0%, rgba(93, 71, 246, .55), transparent 62%), var(--cm-bg-dark);
    color: rgba(255, 255, 255, .82);
}

.cmp-duo__card--ink .cm-title {
    color: var(--cm-text-white);
}

.cmp-duo__card--ink .cmp-ico {
    background: rgba(255, 255, 255, .1);
    color: var(--cm-secondary-light);
}

.cmp-duo__card--ink .cmp-glow {
    background: radial-gradient(22rem circle at 50% 0%, rgba(140, 144, 243, .2), transparent 60%);
}

.cmp-duo__card--tint {
    background: var(--cm-gradient-soft);
    color: var(--cm-text);
}

.cmp-duo__card--tint .cmp-glow {
    background: radial-gradient(22rem circle at 50% 0%, rgba(93, 71, 246, .12), transparent 60%);
}

.cmp-duo__mark {
    position: absolute;
    right: -1.25rem;
    bottom: -1.75rem;
    font-size: 11rem;
    line-height: 1;
    opacity: .08;
    pointer-events: none;
}

.cmp-duo__card--tint .cmp-duo__mark {
    color: var(--cm-primary);
    opacity: .07;
}

.cmp-duo__card .cm-title {
    position: relative;
    margin: 1.4rem 0 .85rem;
}

.cmp-duo__text {
    position: relative;
    margin: 0;
    font-size: clamp(1.05rem, 1.4vw, 1.25rem);
    font-weight: 500;
    line-height: 1.6;
}

.cmp-duo__join {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 2;
    display: none;
    align-items: center;
    justify-content: center;
    width: 3.25rem;
    height: 3.25rem;
    border: 1px solid var(--cm-border-purple);
    border-radius: 50%;
    background: var(--cm-bg);
    color: var(--cm-primary);
    box-shadow: var(--cm-shadow-md);
    transform: translate(-50%, -50%);
}

@media (min-width: 992px) {
    .cmp-duo__join {
        display: flex;
    }
}

.cmp-xp__list {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    height: 100%;
}

.cmp-xp__tab {
    display: flex;
    flex: 1 1 auto;
    align-items: center;
    gap: .85rem;
    padding: .7rem .95rem;
    border: 1px solid var(--cm-border);
    border-radius: var(--cm-radius-md);
    background: var(--cm-bg);
    color: var(--cm-text);
    font: 600 1rem/1.3 "Plus Jakarta Sans", system-ui, sans-serif;
    text-align: left;
    transition: background-color .25s ease, border-color .25s ease, transform .25s ease, box-shadow .25s ease, color .25s ease;
}

.cmp-xp__label {
    flex: 1;
}

.cmp-xp__go {
    display: none;
    color: var(--cm-primary);
    opacity: 0;
    transform: translateX(-4px);
    transition: opacity .25s ease, transform .25s ease;
}

.cmp-xp__tab:hover {
    border-color: var(--cm-border-purple);
    background: var(--cm-bg-soft);
}

.cmp-xp__tab.is-active {
    border-color: transparent;
    background: var(--cm-gradient-primary);
    color: var(--cm-text-white);
    box-shadow: 0 14px 30px rgba(62, 26, 246, .26);
}

.cmp-xp__tab.is-active .cmp-ico {
    background: rgba(255, 255, 255, .18);
    color: var(--cm-text-white);
}

.cmp-xp__tab.is-active .cmp-xp__go {
    opacity: 1;
    transform: none;
    color: var(--cm-text-white);
}

.cmp-xp__tab:focus-visible {
    outline: 3px solid rgba(62, 26, 246, .3);
    outline-offset: 2px;
}

.cmp-xp__stage {
    position: relative;
    height: 100%;
}

.cmp-xp__pane {
    position: relative;
    display: none;
    flex-direction: column;
    justify-content: center;
    height: 100%;
    min-height: 17rem;
    padding: clamp(1.75rem, 3.4vw, 3.25rem);
    border: 1px solid var(--cm-border-purple);
    border-radius: var(--cm-radius-lg);
    background: var(--cm-gradient-soft);
}

.cmp-xp__pane.is-active {
    display: flex;
    animation: cmp-in .45s ease both;
}

.cmp-xp__pane .cmp-glow {
    background: radial-gradient(24rem circle at 100% 0%, rgba(93, 71, 246, .14), transparent 60%);
    opacity: 1;
}

.cmp-xp__mark {
    position: absolute;
    right: -1rem;
    bottom: -1.5rem;
    font-size: 12rem;
    line-height: 1;
    color: var(--cm-primary);
    opacity: .06;
    pointer-events: none;
}

.cmp-xp__pane .cmp-ico--xl {
    position: relative;
    background: var(--cm-gradient-primary);
    color: var(--cm-text-white);
    box-shadow: 0 16px 34px rgba(62, 26, 246, .3);
}

.cmp-xp__title {
    position: relative;
    margin: 1.5rem 0 .7rem;
    font-size: clamp(1.4rem, 2.4vw, 2rem);
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -.03em;
    color: var(--cm-ink);
}

.cmp-xp__bars {
    position: relative;
    display: flex;
    align-items: flex-end;
    gap: .45rem;
    height: 3.25rem;
    margin-top: 2rem;
}

.cmp-xp__bars i {
    flex: 1;
    max-width: 2.2rem;
    border-radius: 6px 6px 0 0;
    background: var(--cm-gradient-primary);
    opacity: .22;
    transform-origin: bottom;
}

.cmp-xp__pane.is-active .cmp-xp__bars i {
    animation: cmp-grow .7s ease both;
}

.cmp-xp__bars i:nth-child(1) {
    height: 30%;
}

.cmp-xp__bars i:nth-child(2) {
    height: 46%;
    animation-delay: .05s;
}

.cmp-xp__bars i:nth-child(3) {
    height: 38%;
    animation-delay: .1s;
}

.cmp-xp__bars i:nth-child(4) {
    height: 62%;
    animation-delay: .15s;
}

.cmp-xp__bars i:nth-child(5) {
    height: 54%;
    animation-delay: .2s;
}

.cmp-xp__bars i:nth-child(6) {
    height: 78%;
    animation-delay: .25s;
    opacity: .4;
}

.cmp-xp__bars i:nth-child(7) {
    height: 100%;
    animation-delay: .3s;
    opacity: .6;
}

.cmp-xp__text {
    position: relative;
    margin: 0;
    max-width: 34rem;
    font-size: clamp(1.05rem, 1.4vw, 1.2rem);
    line-height: 1.6;
    color: var(--cm-text-secondary);
}

[data-cmp-tabs]:not(.is-ready) .cmp-xp__list {
    display: none;
}

[data-cmp-tabs]:not(.is-ready) .cmp-xp__pane {
    display: flex;
    margin-bottom: 1rem;
    height: auto;
}

@media (min-width: 992px) {
    .cmp-xp__list {
        flex-direction: column;
        flex-wrap: nowrap;
    }

    .cmp-xp__tab {
        flex: 1 1 0;
    }

    .cmp-xp__go {
        display: inline-block;
    }

    .cmp-xp__tab:hover:not(.is-active) {
        transform: translateX(4px);
    }
}

.cmp-tile {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 1.1rem;
    height: 100%;
    padding: clamp(1.25rem, 2.4vw, 1.9rem);
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: var(--cm-radius-lg);
    background: rgba(255, 255, 255, .05);
    transition: transform .3s ease, border-color .3s ease, background-color .3s ease;
}

.cmp-tile:hover {
    transform: translateY(-4px);
    border-color: rgba(140, 144, 243, .55);
    background: rgba(255, 255, 255, .08);
}

.cmp-tile--grad {
    border-color: transparent;
    background: var(--cm-gradient-primary);
    box-shadow: 0 24px 50px rgba(62, 26, 246, .35);
}

.cmp-tile--grad:hover {
    border-color: transparent;
    background: var(--cm-gradient-primary);
}

.cmp-tile--grad .cmp-ico--glass {
    background: rgba(255, 255, 255, .2);
    color: var(--cm-text-white);
}

.cmp-tile .cmp-glow {
    background: radial-gradient(16rem circle at 50% 0%, rgba(140, 144, 243, .22), transparent 60%);
}

.cmp-tile__text {
    position: relative;
    margin: 0;
    font-family: "Plus Jakarta Sans", system-ui, sans-serif;
    font-size: clamp(1.05rem, 1.4vw, 1.25rem);
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: -.015em;
    color: var(--cm-text-white);
}

/* ---------- call-to-action bands ---------------------------------------- */
.cmp-cta__card {
    padding: clamp(1.5rem, 3vw, 2.5rem);
    border: 1px solid rgba(255, 255, 255, .28);
    border-radius: var(--cm-radius-lg);
    background: rgba(255, 255, 255, .12);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
}

.cmp-tagline {
    margin: 0 0 1.5rem;
    font-size: clamp(1.35rem, 2.4vw, 2rem);
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -.03em;
    color: var(--cm-text-white);
}

/* ---------- motion preferences ------------------------------------------ */
@media (prefers-reduced-motion: reduce) {

    .cmp-chip,
    .cmp-orbit__ring,
    .cmp-orbit__in,
    .cmp-orbit__core,
    .cmp-hive__cell,
    .cmp-stack__card--3,
    .cmp-console__line,
    .cmp-thread__typing i {
        animation: none;
    }

    .cmp-xp__pane.is-active {
        animation: none;
    }

    .cmp-duo__card,
    .cmp-tile,
    .cmp-xp__tab {
        transition: none;
    }
}

/* ---------- Services ----------------------------------------------------- */
.cmp-svc {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: clamp(1.4rem, 2.4vw, 2rem);
    border: 1px solid var(--cm-border);
    border-radius: var(--cm-radius-lg);
    background: var(--cm-bg);
    transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

.cmp-svc:hover {
    border-color: var(--cm-border-purple);
    box-shadow: var(--cm-shadow-lg);
    transform: translateY(-5px);
}

.cmp-svc .cmp-glow {
    background: radial-gradient(18rem circle at 50% 0%, rgba(93, 71, 246, .10), transparent 62%);
}

.cmp-svc:hover .cmp-ico {
    background: var(--cm-gradient-primary);
    color: var(--cm-text-white);
}

.cmp-svc__mark {
    position: absolute;
    right: -.4rem;
    bottom: -.9rem;
    font-size: 7.5rem;
    line-height: 1;
    color: var(--cm-primary);
    opacity: .05;
    pointer-events: none;
}

.cmp-svc__body {
    position: relative;
    margin-top: 1.35rem;
}

.cmp-svc__title {
    margin: 0 0 .55rem;
    font-size: clamp(1.1rem, 1.5vw, 1.3rem);
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: -.02em;
    color: var(--cm-ink);
}

.cmp-svc__text {
    margin: 0;
    font-size: .98rem;
    line-height: 1.65;
    color: var(--cm-text-secondary);
}

.cmp-svc__go {
    position: absolute;
    top: 1.25rem;
    right: 1.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    border: 1px solid var(--cm-border);
    border-radius: 50%;
    color: var(--cm-text-light);
    transition: background-color .3s ease, color .3s ease, transform .3s ease, border-color .3s ease;
}

.cmp-svc:hover .cmp-svc__go {
    border-color: transparent;
    background: var(--cm-gradient-primary);
    color: var(--cm-text-white);
    transform: rotate(45deg);
}

.cmp-svc--tint {
    border-color: var(--cm-border-purple);
    background: var(--cm-gradient-soft);
}

.cmp-svc--ink {
    border-color: transparent;
    background: radial-gradient(70% 90% at 100% 0%, rgba(93, 71, 246, .5), transparent 62%), var(--cm-bg-dark);
}

.cmp-svc--ink .cmp-ico,
.cmp-svc--grad .cmp-ico {
    background: rgba(255, 255, 255, .12);
    color: var(--cm-text-white);
}

.cmp-svc--ink .cmp-svc__title,
.cmp-svc--grad .cmp-svc__title {
    color: var(--cm-text-white);
}

.cmp-svc--ink .cmp-svc__text {
    color: rgba(255, 255, 255, .74);
}

.cmp-svc--ink .cmp-svc__mark,
.cmp-svc--grad .cmp-svc__mark {
    color: var(--cm-text-white);
    opacity: .07;
}

.cmp-svc--ink .cmp-svc__go,
.cmp-svc--grad .cmp-svc__go {
    border-color: rgba(255, 255, 255, .25);
    color: rgba(255, 255, 255, .8);
}

.cmp-svc--ink .cmp-glow,
.cmp-svc--grad .cmp-glow {
    background: radial-gradient(18rem circle at 50% 0%, rgba(140, 144, 243, .22), transparent 62%);
}

.cmp-svc--grad {
    border-color: transparent;
    background: var(--cm-gradient-primary);
    box-shadow: 0 22px 48px rgba(62, 26, 246, .28);
}

.cmp-svc--grad .cmp-svc__text {
    color: rgba(255, 255, 255, .9);
}

.cmp-svc--ink:hover .cmp-ico,
.cmp-svc--grad:hover .cmp-ico {
    background: rgba(255, 255, 255, .22);
}

@media (min-width: 768px) {
    .cmp-svc--wide {
        flex-direction: row;
        align-items: center;
        gap: 1.5rem;
        padding-right: 4.5rem;
    }

    .cmp-svc--wide .cmp-svc__body {
        margin-top: 0;
    }

    .cmp-svc--wide .cmp-svc__title {
        font-size: clamp(1.3rem, 2vw, 1.7rem);
    }

    .cmp-svc--wide .cmp-svc__text {
        max-width: 44rem;
        font-size: 1.05rem;
    }
}

.cmp-pil {
    position: relative;
    height: 100%;
    padding-top: 1.6rem;
    border-top: 1px solid rgba(255, 255, 255, .16);
}

.cmp-pil::before {
    content: "";
    position: absolute;
    left: 0;
    top: -1px;
    width: 3.5rem;
    height: 3px;
    border-radius: 3px;
    background: var(--cm-gradient-primary);
    transition: width .45s ease;
}

.cmp-pil:hover::before {
    width: 100%;
}

.cmp-pil:hover .cmp-ico {
    background: var(--cm-gradient-primary);
    color: var(--cm-text-white);
}

.cmp-pil__title {
    margin: 1.1rem 0 .55rem;
    font-size: clamp(1.15rem, 1.5vw, 1.35rem);
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: -.02em;
    color: var(--cm-text-white);
}

.cmp-pil__text {
    margin: 0;
    font-size: 1rem;
    line-height: 1.65;
    color: rgba(255, 255, 255, .72);
}

.cmp-partner__lead {
    margin: 0;
    font-family: "Plus Jakarta Sans", system-ui, sans-serif;
    font-size: clamp(1.3rem, 2.3vw, 1.9rem);
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: -.025em;
    color: var(--cm-ink);
}

.cmp-note {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    margin-top: 1.75rem;
    padding: 1.4rem 1.5rem;
    border: 1px solid var(--cm-border-purple);
    border-radius: var(--cm-radius-lg);
    background: var(--cm-gradient-soft);
}

.cmp-note p {
    margin: 0;
    font-size: clamp(1rem, 1.2vw, 1.1rem);
    line-height: 1.65;
    color: var(--cm-text-secondary);
}

.cmp-note .cmp-ico {
    margin-top: .1rem;
}

/* tagline as connected pills (CTA bands) */
.cmp-flow {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: .6rem;
    margin: 1.75rem 0;
    padding: 0;
}

.cmp-flow li {
    display: inline-flex;
    align-items: center;
    gap: .7rem;
    padding: .7rem 1.25rem;
    border: 1px solid rgba(255, 255, 255, .3);
    border-radius: var(--cm-radius-pill);
    background: rgba(255, 255, 255, .12);
    font-family: "Plus Jakarta Sans", system-ui, sans-serif;
    font-size: clamp(.98rem, 1.3vw, 1.15rem);
    font-weight: 700;
    line-height: 1.2;
    color: var(--cm-text-white);
}

.cmp-flow .bi {
    opacity: .75;
}

.cmp-flow--light li {
    border-color: var(--cm-border-purple);
    background: var(--cm-bg);
    color: var(--cm-primary-dark);
}

.cmp-flow--light .bi {
    color: var(--cm-primary);
    opacity: 1;
}

.cmp-cta--center .cmp-btns,
.cmp-btns--center {
    justify-content: center;
}

.cmp-cta {
    overflow: hidden;
}

/* ---------- Industries --------------------------------------------------- */
.cmp-ind {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: clamp(1.25rem, 2.2vw, 1.75rem);
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: var(--cm-radius-lg);
    background: linear-gradient(180deg, rgba(255, 255, 255, .07), rgba(255, 255, 255, .02));
    transition: transform .3s ease, border-color .3s ease;
}

.cmp-ind:hover {
    transform: translateY(-4px);
    border-color: rgba(140, 144, 243, .6);
}

.cmp-ind:hover .cmp-ico {
    background: var(--cm-gradient-primary);
    color: var(--cm-text-white);
}

.cmp-ind .cmp-glow {
    background: radial-gradient(16rem circle at 50% 0%, rgba(140, 144, 243, .25), transparent 62%);
}

.cmp-ind__mark {
    position: absolute;
    right: -.5rem;
    bottom: -.9rem;
    font-size: 6.5rem;
    line-height: 1;
    color: var(--cm-text-white);
    opacity: .05;
    pointer-events: none;
}

.cmp-ind__title {
    position: relative;
    margin: 1.1rem 0 .5rem;
    font-size: clamp(1.05rem, 1.3vw, 1.18rem);
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: -.02em;
    color: var(--cm-text-white);
}

.cmp-ind__text {
    position: relative;
    margin: 0;
    font-size: .96rem;
    line-height: 1.65;
    color: rgba(255, 255, 255, .7);
}

.cmp-ind--lg {
    padding: clamp(1.6rem, 3vw, 2.4rem);
    border-color: transparent;
    background: radial-gradient(80% 100% at 100% 0%, rgba(101, 71, 255, .55), transparent 62%), linear-gradient(160deg, rgba(255, 255, 255, .1), rgba(255, 255, 255, .03));
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .14);
}

.cmp-ind--lg .cmp-ind__title {
    margin-top: 1.4rem;
    font-size: clamp(1.3rem, 2vw, 1.7rem);
}

.cmp-ind--lg .cmp-ind__text {
    max-width: 34rem;
    font-size: clamp(1rem, 1.2vw, 1.1rem);
}

.cmp-ind--lg .cmp-ind__mark {
    font-size: 10rem;
    opacity: .07;
}

.cmp-acc {
    display: flex;
    flex-direction: column;
    gap: .75rem;
}

.cmp-acc__item {
    border: 1px solid var(--cm-border);
    border-radius: var(--cm-radius-md);
    background: var(--cm-bg);
    overflow: hidden;
    transition: border-color .3s ease, box-shadow .3s ease;
}

.cmp-acc__item:has(.cmp-acc__btn[aria-expanded="true"]) {
    border-color: var(--cm-border-purple);
    box-shadow: var(--cm-shadow-md);
}

.cmp-acc__head {
    margin: 0;
}

.cmp-acc__btn {
    display: flex;
    align-items: center;
    gap: 1rem;
    width: 100%;
    padding: 1rem 1.25rem;
    border: 0;
    background: transparent;
    color: var(--cm-ink);
    font: 700 clamp(1rem, 1.3vw, 1.15rem)/1.3 "Plus Jakarta Sans", system-ui, sans-serif;
    text-align: left;
}

.cmp-acc__btn:focus-visible {
    outline: 3px solid rgba(62, 26, 246, .3);
    outline-offset: -3px;
}

.cmp-acc__label {
    flex: 1;
}

.cmp-acc__plus {
    flex: none;
    color: var(--cm-primary);
    transition: transform .3s ease;
}

.cmp-acc__btn[aria-expanded="true"] .cmp-acc__plus {
    transform: rotate(45deg);
}

.cmp-acc__btn[aria-expanded="true"] .cmp-ico {
    background: var(--cm-gradient-primary);
    color: var(--cm-text-white);
}

.cmp-acc__btn:hover .cmp-ico {
    background: var(--cm-bg-blue);
}

.cmp-acc__btn[aria-expanded="true"]:hover .cmp-ico {
    background: var(--cm-gradient-primary);
}

.cmp-acc__body {
    padding: 0 1.25rem 1.25rem;
}

.cmp-acc__body p {
    margin: 0;
    font-size: 1.02rem;
    line-height: 1.65;
    color: var(--cm-text-secondary);
}

@media (min-width: 576px) {
    .cmp-acc__body {
        padding-left: 5.15rem;
    }
}

.cmp-panel {
    position: relative;
    padding: clamp(1.75rem, 4vw, 3.5rem);
    border: 1px solid var(--cm-border-purple);
    border-radius: calc(var(--cm-radius-lg) + 8px);
    background: radial-gradient(60% 90% at 100% 0%, rgba(93, 71, 246, .14), transparent 62%), var(--cm-gradient-soft);
    box-shadow: var(--cm-shadow-md);
}

.cmp-flow--stack {
    justify-content: flex-start;
    margin-top: 0;
}

@media (min-width: 992px) {
    .cmp-flow--stack {
        flex-direction: column;
        align-items: stretch;
    }

    .cmp-flow--stack li {
        justify-content: space-between;
    }

    .cmp-flow--stack .bi {
        transform: rotate(90deg);
    }
}

/* ---------- Pricing ------------------------------------------------------ */
.cmp-sticky--fill {
    height: 100%;
}

@media (min-width: 992px) {
    .cmp-sticky--fill {
        height: auto;
    }
}

.cmp-plan {
    position: relative;
    padding: clamp(1.75rem, 3.2vw, 2.75rem);
    border-radius: calc(var(--cm-radius-lg) + 4px);
    background: radial-gradient(80% 60% at 100% 0%, rgba(101, 71, 255, .6), transparent 60%), var(--cm-bg-dark);
    box-shadow: var(--cm-shadow-lg);
    color: rgba(255, 255, 255, .8);
    overflow: hidden;
}

.cmp-plan__mark {
    position: absolute;
    right: -1.25rem;
    bottom: -2rem;
    font-size: 13rem;
    line-height: 1;
    color: var(--cm-text-white);
    opacity: .06;
    pointer-events: none;
}

.cmp-plan__price,
.cmp-cta__price {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: .5rem;
    margin: 1.6rem 0 1.4rem;
    font-family: "Plus Jakarta Sans", system-ui, sans-serif;
    line-height: 1;
    color: var(--cm-text-white);
}

.cmp-plan__cur {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--cm-secondary-light);
}

.cmp-plan__num {
    font-size: clamp(3.4rem, 6vw, 5.2rem);
    font-weight: 800;
    letter-spacing: -.05em;
    font-variant-numeric: tabular-nums;
}

.cmp-plan__per {
    font-size: 1.25rem;
    font-weight: 600;
    color: rgba(255, 255, 255, .72);
}

.cmp-plan__title {
    position: relative;
    margin: 0 0 .6rem;
    padding-top: 1.35rem;
    border-top: 1px solid rgba(255, 255, 255, .16);
    font-size: clamp(1.2rem, 1.8vw, 1.5rem);
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: -.02em;
    color: var(--cm-text-white);
}

.cmp-plan__text {
    position: relative;
    margin: 0;
    font-size: 1.02rem;
    line-height: 1.65;
}

.cmp-feat {
    height: 100%;
    padding: clamp(1.4rem, 3vw, 2.5rem);
    border: 1px solid var(--cm-border);
    border-radius: calc(var(--cm-radius-lg) + 4px);
    background: var(--cm-bg);
    box-shadow: var(--cm-shadow-sm);
}

.cmp-feat__title {
    margin: 0 0 1.25rem;
    font-size: clamp(1.2rem, 1.8vw, 1.5rem);
    font-weight: 800;
    letter-spacing: -.02em;
    color: var(--cm-ink);
}

.cmp-feat__item {
    display: flex;
    gap: .9rem;
    height: 100%;
    padding: 1rem;
    border: 1px solid var(--cm-border-light);
    border-radius: var(--cm-radius-md);
    background: var(--cm-bg-soft);
    transition: border-color .25s ease, background-color .25s ease, transform .25s ease;
}

.cmp-feat__item:hover {
    border-color: var(--cm-border-purple);
    background: var(--cm-bg);
    transform: translateY(-2px);
}

.cmp-feat__item:hover .cmp-ico {
    background: var(--cm-gradient-primary);
    color: var(--cm-text-white);
}

.cmp-feat__label {
    margin: 0 0 .25rem;
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.3;
    color: var(--cm-ink);
}

.cmp-feat__text {
    margin: 0;
    font-size: .94rem;
    line-height: 1.55;
    color: var(--cm-text-secondary);
}

.cmp-note--flat {
    margin-top: 1.25rem;
    padding: 1rem 1.25rem;
    background: var(--cm-bg-lavender);
    border-color: var(--cm-border-purple);
    align-items: flex-start;
}

.cmp-note--flat .bi {
    flex: none;
    margin-top: .2rem;
    color: var(--cm-primary);
    font-size: 1.1rem;
}

.cmp-note--flat p {
    font-size: .98rem;
}

.cmp-kpi {
    height: 100%;
    padding: 1.5rem;
    border: 1px solid var(--cm-border-purple);
    border-radius: var(--cm-radius-lg);
    background: var(--cm-gradient-soft);
    transition: transform .3s ease, box-shadow .3s ease;
}

.cmp-kpi:hover {
    transform: translateY(-4px);
    box-shadow: var(--cm-shadow-md);
}

.cmp-kpi__label {
    display: flex;
    align-items: center;
    gap: .7rem;
    margin: 0 0 1rem;
    font-family: "Plus Jakarta Sans", system-ui, sans-serif;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--cm-primary);
}

.cmp-kpi__value {
    margin: 0;
    font-family: "Plus Jakarta Sans", system-ui, sans-serif;
    font-size: clamp(1.2rem, 1.9vw, 1.65rem);
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: -.025em;
    color: var(--cm-ink);
}

.cmp-ledger {
    margin-top: 1rem;
    border: 1px solid var(--cm-border);
    border-radius: var(--cm-radius-lg);
    background: var(--cm-bg);
    overflow: hidden;
    box-shadow: var(--cm-shadow-sm);
}

.cmp-ledger__row {
    padding: 1.25rem 1.5rem;
    border-top: 1px solid var(--cm-border-light);
    transition: background-color .25s ease;
}

.cmp-ledger__row:first-child {
    border-top: 0;
}

.cmp-ledger__row:hover {
    background: var(--cm-bg-soft);
}

.cmp-ledger__label {
    display: flex;
    align-items: center;
    gap: .8rem;
    margin: 0;
    font-family: "Plus Jakarta Sans", system-ui, sans-serif;
    font-size: 1.05rem;
    font-weight: 800;
    color: var(--cm-ink);
}

.cmp-ledger__value {
    margin: 0;
    font-size: 1.02rem;
    line-height: 1.65;
    color: var(--cm-text-secondary);
}

.cmp-ledger__value a {
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: .2em;
}

.cmp-checks {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: .75rem;
    max-width: 62rem;
    margin: 0 auto;
    padding: 0;
}

.cmp-checks li {
    display: inline-flex;
    align-items: center;
    gap: .7rem;
    padding: .85rem 1.3rem;
    border: 1px solid var(--cm-border-purple);
    border-radius: var(--cm-radius-pill);
    background: var(--cm-bg);
    font-family: "Plus Jakarta Sans", system-ui, sans-serif;
    font-size: clamp(.95rem, 1.2vw, 1.08rem);
    font-weight: 600;
    line-height: 1.35;
    color: var(--cm-ink);
    box-shadow: var(--cm-shadow-sm);
    transition: transform .25s ease, box-shadow .25s ease;
}

.cmp-checks li:hover {
    transform: translateY(-3px);
    box-shadow: var(--cm-shadow-md);
}

.cmp-checks .bi {
    flex: none;
    font-size: 1.15rem;
    color: var(--cm-success-dark);
}

.cmp-cta__pricewrap {
    display: flex;
    justify-content: center;
    margin: 1.5rem 0;
}

.cmp-cta__price {
    display: inline-flex;
    margin: 0;
    padding: 1.1rem 1.9rem;
    border: 1px solid rgba(255, 255, 255, .3);
    border-radius: var(--cm-radius-lg);
    background: rgba(255, 255, 255, .12);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
}

.cmp-cta__price__cur {
    font-size: 1.1rem;
    font-weight: 700;
    color: rgba(255, 255, 255, .85);
}

.cmp-cta__price__num {
    font-size: clamp(2.4rem, 5vw, 3.6rem);
    font-weight: 800;
    letter-spacing: -.04em;
    font-variant-numeric: tabular-nums;
}

.cmp-cta__price__per {
    font-size: 1.1rem;
    font-weight: 600;
    color: rgba(255, 255, 255, .85);
}

.cmp-pills--center {
    justify-content: center;
    margin-bottom: 1.5rem;
}

.cmp-pills--glass li {
    border-color: rgba(255, 255, 255, .3);
    background: rgba(255, 255, 255, .12);
    color: var(--cm-text-white);
}

.cmp-pills--glass li::before {
    background: var(--cm-text-white);
}

/* ---------- Clients ------------------------------------------------------ */
.cmp-intro--center {
    margin-inline: auto;
    text-align: center;
}

.cmp-wall {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-top: clamp(.5rem, 2vw, 1.5rem);
    overflow: hidden;
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
    mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
}

.cmp-wall__track {
    display: flex;
    width: max-content;
    animation: cmp-marquee 110s linear infinite;
}

.cmp-wall__row--2 .cmp-wall__track {
    animation-duration: 130s;
    animation-direction: reverse;
}

.cmp-wall__row--3 .cmp-wall__track {
    animation-duration: 120s;
}

.cmp-wall:hover .cmp-wall__track,
.cmp-wall:focus-within .cmp-wall__track,
.cmp-wall.is-paused .cmp-wall__track {
    animation-play-state: paused;
}

.cmp-wall__set {
    display: flex;
    gap: 1rem;
    padding-right: 1rem;
}

@keyframes cmp-marquee {
    to {
        transform: translateX(-50%);
    }
}

.cmp-wall__bar {
    display: flex;
    justify-content: center;
    margin-top: 1.25rem;
}

.cmp-wall__ctl {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    border: 1px solid var(--cm-border-purple);
    border-radius: 50%;
    background: var(--cm-bg);
    color: var(--cm-primary);
    font-size: 1.3rem;
    box-shadow: var(--cm-shadow-sm);
    transition: background-color .2s ease, color .2s ease, transform .2s ease;
}

.cmp-wall__ctl:hover {
    background: var(--cm-gradient-primary);
    color: var(--cm-text-white);
    transform: translateY(-2px);
}

.cmp-wall__ctl:focus-visible {
    outline: 3px solid rgba(62, 26, 246, .3);
    outline-offset: 2px;
}

.cmp-tcard {
    position: relative;
    display: flex;
    flex: 0 0 min(86vw, 23.5rem);
    flex-direction: column;
    gap: .85rem;
    padding: 1.4rem 1.5rem;
    border: 1px solid var(--cm-border);
    border-radius: var(--cm-radius-lg);
    background: var(--cm-bg);
    box-shadow: var(--cm-shadow-sm);
    transition: border-color .3s ease, box-shadow .3s ease, transform .3s ease;
}

.cmp-tcard:hover {
    border-color: var(--cm-border-purple);
    box-shadow: var(--cm-shadow-md);
    transform: translateY(-3px);
}

.cmp-tcard__q {
    position: absolute;
    top: .6rem;
    right: 1rem;
    font-size: 3.6rem;
    line-height: 1;
    color: var(--cm-primary);
    opacity: .1;
    pointer-events: none;
}

.cmp-tcard__head {
    display: flex;
    align-items: center;
    gap: .8rem;
    padding-right: 2.5rem;
}

.cmp-tcard__av {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: none;
    width: 2.9rem;
    height: 2.9rem;
    border-radius: 50%;
    background: var(--cm-gradient-primary);
    color: var(--cm-text-white);
    font-size: 1.4rem;
}

.cmp-tcard__id {
    min-width: 0;
}

.cmp-tcard__co {
    margin: 0;
    font-size: 1.02rem;
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: -.015em;
    color: var(--cm-ink);
}

.cmp-tcard__cat {
    display: block;
    margin-top: .15rem;
    font-size: .82rem;
    font-weight: 600;
    line-height: 1.3;
    color: var(--cm-primary);
}

.cmp-tcard__stars {
    display: flex;
    gap: .2rem;
    color: var(--cm-gold);
    font-size: .85rem;
}

.cmp-tcard__quote {
    margin: 0;
    flex: 1;
}

.cmp-tcard__quote p {
    margin: 0;
    font-size: .97rem;
    line-height: 1.62;
    color: var(--cm-text);
}

.cmp-tcard__by {
    padding-top: .9rem;
    border-top: 1px solid var(--cm-border-light);
    font-size: .9rem;
    line-height: 1.4;
}

.cmp-tcard__name {
    font-weight: 700;
    color: var(--cm-ink);
}

.cmp-tcard__role {
    color: var(--cm-text-secondary);
}

.cmp-tcard__loc {
    display: flex;
    align-items: center;
    gap: .4rem;
    margin-top: .3rem;
    font-size: .84rem;
    color: var(--cm-text-muted);
}

.cmp-tcard__loc .bi {
    color: var(--cm-primary);
}

.cmp-trust {
    position: relative;
    height: 100%;
    padding: clamp(1.4rem, 2.6vw, 2rem);
    border: 1px solid var(--cm-border-purple);
    border-radius: var(--cm-radius-lg);
    background: var(--cm-bg);
    box-shadow: var(--cm-shadow-sm);
    transition: transform .3s ease, box-shadow .3s ease, background-color .3s ease, border-color .3s ease;
}

.cmp-trust:hover {
    border-color: transparent;
    background: var(--cm-gradient-primary);
    box-shadow: 0 24px 50px rgba(62, 26, 246, .3);
    transform: translateY(-5px);
}

.cmp-trust:hover .cmp-ico {
    background: rgba(255, 255, 255, .18);
    color: var(--cm-text-white);
}

.cmp-trust__title {
    margin: 1.25rem 0 .55rem;
    font-size: clamp(1.1rem, 1.5vw, 1.3rem);
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: -.02em;
    color: var(--cm-ink);
    transition: color .3s ease;
}

.cmp-trust__text {
    margin: 0;
    font-size: 1rem;
    line-height: 1.65;
    color: var(--cm-text-secondary);
    transition: color .3s ease;
}

.cmp-trust:hover .cmp-trust__title {
    color: var(--cm-text-white);
}

.cmp-trust:hover .cmp-trust__text {
    color: rgba(255, 255, 255, .88);
}

@media (prefers-reduced-motion: reduce) {
    .cmp-wall {
        -webkit-mask-image: none;
        mask-image: none;
    }

    .cmp-wall__track {
        width: auto;
        animation: none;
    }

    .cmp-wall__set {
        flex-wrap: wrap;
    }

    .cmp-wall__set[data-cmp-dup] {
        display: none;
    }

    .cmp-wall__ctl {
        display: none;
    }

    .cmp-tcard {
        flex: 1 1 20rem;
    }
}

/* ---------- Contact Us --------------------------------------------------- */
.cmp-ct {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: .5rem;
    height: 100%;
    padding: clamp(1.4rem, 2.6vw, 2.2rem);
    border: 1px solid var(--cm-border);
    border-radius: var(--cm-radius-lg);
    background: var(--cm-bg);
    box-shadow: var(--cm-shadow-sm);
    transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

.cmp-ct:hover {
    border-color: var(--cm-border-purple);
    box-shadow: var(--cm-shadow-md);
    transform: translateY(-4px);
}

.cmp-ct .cmp-glow {
    background: radial-gradient(16rem circle at 50% 0%, rgba(93, 71, 246, .10), transparent 62%);
}

.cmp-ct__mark {
    position: absolute;
    right: -.5rem;
    bottom: -1rem;
    font-size: 8rem;
    line-height: 1;
    color: var(--cm-primary);
    opacity: .05;
    pointer-events: none;
}

.cmp-ct__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: .9rem;
}

.cmp-ct__label {
    position: relative;
    margin: 0;
    font-family: "Plus Jakarta Sans", system-ui, sans-serif;
    font-size: .8rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--cm-primary);
}

.cmp-ct__value {
    position: relative;
    margin: 0;
    font-family: "Plus Jakarta Sans", system-ui, sans-serif;
    font-size: clamp(1.2rem, 2.1vw, 1.85rem);
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -.03em;
    color: var(--cm-ink);
    overflow-wrap: anywhere;
}

.cmp-ct__value a {
    color: inherit;
    text-decoration: none;
    background: linear-gradient(var(--cm-primary), var(--cm-primary)) 0 100% / 0 2px no-repeat;
    transition: background-size .3s ease;
}

.cmp-ct__value a:hover,
.cmp-ct__value a:focus-visible {
    background-size: 100% 2px;
}

.cmp-ct__copy {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.6rem;
    height: 2.6rem;
    border: 1px solid var(--cm-border);
    border-radius: 50%;
    background: var(--cm-bg);
    color: var(--cm-text-muted);
    transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

.cmp-ct__copy:hover {
    border-color: var(--cm-primary);
    color: var(--cm-primary);
}

.cmp-ct__copy:focus-visible {
    outline: 3px solid rgba(62, 26, 246, .3);
    outline-offset: 2px;
}

.cmp-ct__copy.is-done {
    border-color: transparent;
    background: var(--cm-success);
    color: var(--cm-text-white);
}

.cmp-ct--ink {
    border-color: transparent;
    background: radial-gradient(70% 90% at 100% 0%, rgba(93, 71, 246, .55), transparent 62%), var(--cm-bg-dark);
}

.cmp-ct--ink .cmp-ico {
    background: rgba(255, 255, 255, .12);
    color: var(--cm-secondary-light);
}

.cmp-ct--ink .cmp-ct__label {
    color: var(--cm-secondary-light);
}

.cmp-ct--ink .cmp-ct__value {
    color: var(--cm-text-white);
}

.cmp-ct--ink .cmp-ct__value a {
    background-image: linear-gradient(var(--cm-text-white), var(--cm-text-white));
}

.cmp-ct--ink .cmp-ct__mark {
    color: var(--cm-text-white);
    opacity: .07;
}

.cmp-ct--ink .cmp-ct__copy,
.cmp-ct--wa .cmp-ct__copy {
    border-color: rgba(255, 255, 255, .25);
    background: rgba(255, 255, 255, .08);
    color: var(--cm-text-white);
}

.cmp-ct--ink .cmp-ct__copy.is-done,
.cmp-ct--wa .cmp-ct__copy.is-done {
    border-color: transparent;
    background: var(--cm-success);
}

.cmp-ct--ink .cmp-glow,
.cmp-ct--wa .cmp-glow {
    background: radial-gradient(16rem circle at 50% 0%, rgba(255, 255, 255, .18), transparent 62%);
}

.cmp-ct--wa {
    border-color: transparent;
    background: linear-gradient(135deg, var(--cm-success-dark), var(--cm-success));
    box-shadow: 0 22px 44px rgba(7, 150, 111, .25);
}

.cmp-ct--wa .cmp-ico {
    background: rgba(255, 255, 255, .2);
    color: var(--cm-text-white);
}

.cmp-ct--wa .cmp-ct__label {
    color: rgba(255, 255, 255, .88);
}

.cmp-ct--wa .cmp-ct__value {
    color: var(--cm-text-white);
}

.cmp-ct--wa .cmp-ct__value a {
    background-image: linear-gradient(var(--cm-text-white), var(--cm-text-white));
}

.cmp-ct--wa .cmp-ct__mark {
    color: var(--cm-text-white);
    opacity: .12;
}

.cmp-ct--tint {
    border-color: var(--cm-border-purple);
    background: var(--cm-gradient-soft);
}

.cmp-ct--globe .cmp-ct__mark {
    animation: cmp-spin 40s linear infinite;
}

.cmp-pills--after {
    margin: 1.75rem 0 0;
}

.cmp-dock__item {
    display: flex;
    align-items: center;
    gap: 1rem;
    height: 100%;
    padding: 1.3rem 1.4rem;
    border: 1px solid var(--cm-border-purple);
    border-radius: var(--cm-radius-lg);
    background: var(--cm-gradient-soft);
    color: var(--cm-ink);
    text-decoration: none;
    transition: transform .3s ease, background-color .3s ease, box-shadow .3s ease, color .3s ease;
}

.cmp-dock__label {
    flex: 1;
    font-family: "Plus Jakarta Sans", system-ui, sans-serif;
    font-size: clamp(1.1rem, 1.6vw, 1.3rem);
    font-weight: 800;
    letter-spacing: -.02em;
}

.cmp-dock__go {
    flex: none;
    font-size: 1.25rem;
    color: var(--cm-primary);
    transition: transform .3s ease, color .3s ease;
}

.cmp-dock__item:hover,
.cmp-dock__item:focus-visible {
    background: var(--cm-gradient-primary);
    border-color: transparent;
    color: var(--cm-text-white);
    box-shadow: 0 22px 44px rgba(62, 26, 246, .3);
    transform: translateY(-4px);
}

.cmp-dock__item:hover .cmp-ico,
.cmp-dock__item:focus-visible .cmp-ico {
    background: rgba(255, 255, 255, .18);
    color: var(--cm-text-white);
}

.cmp-dock__item:hover .cmp-dock__go,
.cmp-dock__item:focus-visible .cmp-dock__go {
    color: var(--cm-text-white);
    transform: translate(3px, -3px);
}

.cmp-dock__item:focus-visible {
    outline: 3px solid rgba(62, 26, 246, .35);
    outline-offset: 3px;
}

.cmp-dock__item {
    outline-offset: 3px;
}

.cmp-cta--center .cm-prose+.cmp-btns {
    margin-top: 1.75rem;
}

/* ==========================================================================
   Footer pages: FAQs, Copyright, Guides, Privacy, Terms, Cookies, Refund,
   Disclaimer, Financial / Investment Disclaimer, Advertising Disclosure
   ========================================================================== */

/* ---------- hero visual: policy sheet ----------------------------------- */
.cmp-doc .cmp-chip {
    z-index: 3;
}

.cmp-doc__sheet {
    position: absolute;
    z-index: 2;
    inset: 7% 13% 9% 9%;
    display: flex;
    flex-direction: column;
    gap: 4.5cqw;
    padding: 5cqw;
    border: 1px solid var(--cm-border);
    border-radius: 4.5cqw;
    background: var(--cm-bg);
    box-shadow: var(--cm-shadow-lg);
}

.cmp-doc__back {
    position: absolute;
    inset: 10% 7% 5% 15%;
    border: 1px solid var(--cm-border-purple);
    border-radius: 4.5cqw;
    background: var(--cm-bg-lavender);
    transform: rotate(5deg);
}

.cmp-doc__back--2 {
    inset: 13% 4% 2% 18%;
    background: var(--cm-bg-blue);
    opacity: .75;
    transform: rotate(10deg);
}

.cmp-doc__head {
    display: flex;
    align-items: center;
    gap: 3.5cqw;
    padding-bottom: 4cqw;
    border-bottom: 1px solid var(--cm-border-light);
}

.cmp-doc__badge {
    display: flex;
    flex: none;
    align-items: center;
    justify-content: center;
    width: 12cqw;
    height: 12cqw;
    border-radius: 3.6cqw;
    background: var(--cm-gradient-primary);
    color: var(--cm-text-white);
    font-size: 6cqw;
    box-shadow: 0 2cqw 4cqw rgba(62, 26, 246, .28);
}

.cmp-doc__lines {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 1.8cqw;
}

.cmp-doc__lines b {
    display: block;
    height: 2cqw;
    border-radius: 1cqw;
    background: var(--cm-border);
}

.cmp-doc__lines b:first-child {
    width: 68%;
    background: var(--cm-border-purple);
}

.cmp-doc__lines b:last-child {
    width: 40%;
}

.cmp-doc__rows {
    display: flex;
    flex-direction: column;
    gap: 3.6cqw;
}

.cmp-doc__row {
    display: flex;
    align-items: center;
    gap: 3cqw;
}

.cmp-doc__row i {
    flex: none;
    font-size: 4.4cqw;
    line-height: 1;
    color: var(--cm-success);
}

.cmp-doc__row b {
    display: block;
    flex: 1;
    height: 2cqw;
    border-radius: 1cqw;
    background: var(--cm-border-light);
}

.cmp-doc__row:nth-child(2) b {
    max-width: 78%;
}

.cmp-doc__row:nth-child(3) b {
    max-width: 90%;
}

.cmp-doc__row:nth-child(4) b {
    max-width: 64%;
}

.cmp-doc__row:nth-child(5) b {
    max-width: 82%;
}

.cmp-doc__seal {
    position: absolute;
    right: -4cqw;
    bottom: -4cqw;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 16cqw;
    height: 16cqw;
    border-radius: 50%;
    background: var(--cm-bg);
    color: var(--cm-primary);
    font-size: 10cqw;
    box-shadow: var(--cm-shadow-md);
    animation: cmp-float 7s ease-in-out infinite;
}

/* ---------- legal body: shared pieces ----------------------------------- */
.cmp-s-lg .cm-shell>.row>[class*="col-"] {
    min-width: 0;
}

.cmp-clause {
    position: relative;
    height: 100%;
    padding: clamp(1.4rem, 2.6vw, 2.2rem);
    border: 1px solid var(--cm-border);
    border-radius: var(--cm-radius-lg);
    background: var(--cm-bg);
    box-shadow: var(--cm-shadow-sm);
    transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

.cmp-clause:hover {
    border-color: var(--cm-border-purple);
    box-shadow: var(--cm-shadow-md);
    transform: translateY(-3px);
}

.cmp-clause .cmp-glow {
    background: radial-gradient(16rem circle at 50% 0%, rgba(93, 71, 246, .10), transparent 62%);
}

.cmp-clause__head {
    position: relative;
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.1rem;
}

.cmp-clause__title {
    margin: 0;
    min-width: 0;
    overflow-wrap: anywhere;
    letter-spacing: -.02em;
}

.cmp-clause__body {
    position: relative;
}

.cmp-clause__body p,
.cmp-lrow__b p,
.cmp-dx__body p,
.cmp-primer p,
.cmp-tl__card p,
.cmp-acc2__body p {
    margin: 0 0 .9rem;
    font-size: 1.02rem;
    line-height: 1.75;
    color: var(--cm-text-secondary);
}

.cmp-clause__body> :last-child,
.cmp-lrow__b> :last-child,
.cmp-dx__body> :last-child,
.cmp-primer p:last-child,
.cmp-tl__card> :last-child,
.cmp-acc2__body> :last-child {
    margin-bottom: 0;
}

.cmp-clause--wide .cmp-clause__body {
    padding-left: 0;
}

@media (min-width: 768px) {
    .cmp-clause--wide .cmp-clause__body {
        padding-left: 4.6rem;
    }
}

.cmp-clause--ink {
    border-color: transparent;
    background: radial-gradient(70% 90% at 100% 0%, rgba(93, 71, 246, .5), transparent 62%), var(--cm-bg-dark);
    box-shadow: var(--cm-shadow-lg);
}

.cmp-clause--ink .cmp-clause__title {
    color: var(--cm-text-white);
}

.cmp-clause--ink .cmp-ico {
    background: rgba(255, 255, 255, .12);
    color: var(--cm-secondary-light);
}

.cmp-clause--ink .cmp-clause__body p {
    color: rgba(255, 255, 255, .82);
}

.cmp-clause--ink .cmp-glow {
    background: radial-gradient(16rem circle at 50% 0%, rgba(255, 255, 255, .14), transparent 62%);
}

.cmp-clause--hero {
    padding: clamp(1.75rem, 4vw, 3.25rem);
}

.cmp-clause--hero .cmp-clause__title {
    font-size: clamp(1.4rem, 2.6vw, 2rem);
}

.cmp-clause--hero .cmp-clause__body p {
    max-width: 62rem;
    font-size: clamp(1.05rem, 1.4vw, 1.2rem);
}

.cmp-clause--tint {
    border-color: var(--cm-border-purple);
    background: var(--cm-gradient-soft);
}

.cmp-clause--warn {
    border-left: 4px solid var(--cm-gold);
}

.cmp-clause--warn .cmp-ico {
    background: rgba(240, 157, 42, .14);
    color: var(--cm-gold-dark);
}

.cmp-clause--warn .cmp-glow {
    background: radial-gradient(16rem circle at 50% 0%, rgba(240, 157, 42, .12), transparent 62%);
}

.cmp-lglist {
    position: relative;
    margin: .6rem 0 .9rem;
    padding: 0;
}

.cmp-lglist__in {
    display: flex;
    align-items: flex-start;
    gap: .7rem;
    height: 100%;
    padding: .8rem .95rem;
    border: 1px solid var(--cm-border-purple);
    border-radius: var(--cm-radius-md);
    background: var(--cm-gradient-soft);
    font-size: .98rem;
    line-height: 1.5;
    color: var(--cm-text);
}

.cmp-lglist__in>i {
    flex: none;
    margin-top: .1rem;
    font-size: 1.05rem;
    color: var(--cm-success-dark);
}

.cmp-lglist--risk .cmp-lglist__in {
    border-color: rgba(240, 157, 42, .38);
    background: rgba(240, 157, 42, .08);
}

.cmp-lglist--risk .cmp-lglist__in>i {
    color: var(--cm-gold-dark);
}

.cmp-lglist:last-child {
    margin-bottom: 0;
}

.cmp-notice {
    display: flex;
    align-items: center;
    gap: .8rem;
    margin: 1.1rem 0 .2rem;
    padding: 1rem 1.2rem;
    border-radius: var(--cm-radius-md);
    background: var(--cm-bg-dark);
    color: var(--cm-text-white);
    font-size: 1.05rem;
    line-height: 1.4;
}

.cmp-notice>i {
    flex: none;
    font-size: 1.3rem;
    color: var(--cm-gold);
}

/* contact card (dark) */
.cmp-lgc {
    position: relative;
    display: flex;
    align-items: center;
    gap: clamp(1.25rem, 3vw, 2.25rem);
    padding: clamp(1.6rem, 3.4vw, 2.75rem);
    border-radius: var(--cm-radius-lg);
    background: radial-gradient(60% 120% at 100% 0%, rgba(93, 71, 246, .55), transparent 62%), var(--cm-bg-dark);
    color: var(--cm-text-white);
    overflow: hidden;
    box-shadow: var(--cm-shadow-lg);
}

.cmp-lgc__glow {
    position: absolute;
    right: -6rem;
    bottom: -8rem;
    width: 22rem;
    height: 22rem;
    border-radius: 50%;
    background: radial-gradient(closest-side, rgba(40, 100, 255, .45), transparent);
    pointer-events: none;
}

.cmp-lgc .cmp-ico {
    position: relative;
}

.cmp-lgc__body {
    position: relative;
    min-width: 0;
}

.cmp-lgc__title {
    margin: 0 0 .6rem;
    font-size: clamp(1.3rem, 2.2vw, 1.8rem);
    color: var(--cm-text-white);
}

.cmp-lgc__body p {
    margin: 0;
    max-width: 46rem;
    font-size: 1.05rem;
    line-height: 1.7;
    color: rgba(255, 255, 255, .82);
}

.cmp-lgc__web {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .75rem 1rem;
    margin-top: 1.25rem;
}

.cmp-lgc__label {
    font-family: "Plus Jakarta Sans", system-ui, sans-serif;
    font-size: .8rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--cm-secondary-light);
}

.cmp-lgc__web .btn,
.cmp-dx__body .cmp-lgc__web .btn {
    max-width: 100%;
    height: auto;
    white-space: normal;
    overflow-wrap: anywhere;
    text-align: left;
}

.cmp-dx__body .cmp-lgc__label {
    color: var(--cm-primary);
}

@media (max-width: 575.98px) {
    .cmp-lgc {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* closing copyright stamp */
.cmp-s-stamp {
    padding-block: 0 clamp(2rem, 4vw, 3.25rem);
}

.cmp-stamp {
    display: flex;
    align-items: center;
    gap: 1.25rem;
}

.cmp-stamp__rule {
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--cm-border-purple));
}

.cmp-stamp__rule:last-child {
    background: linear-gradient(270deg, transparent, var(--cm-border-purple));
}

.cmp-stamp__text {
    display: inline-flex;
    flex: 0 1 auto;
    align-items: center;
    gap: .55rem;
    margin: 0;
    text-align: center;
    font-size: .95rem;
    font-weight: 600;
    color: var(--cm-text-muted);
}

.cmp-stamp__text>i {
    color: var(--cm-primary);
}

@media (max-width: 575.98px) {
    .cmp-stamp__rule {
        display: none;
    }

    .cmp-stamp {
        justify-content: center;
    }
}

/* sticky section rail with scroll-spy */
.cmp-rail__bar {
    height: 4px;
    margin-bottom: .9rem;
    border-radius: var(--cm-radius-pill);
    background: var(--cm-border);
    overflow: hidden;
}

.cmp-rail:not([data-cmp-rail]) .cmp-rail__bar {
    display: none;
}

.cmp-rail__bar i {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: inherit;
    background: var(--cm-gradient-primary);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .15s linear;
}

.cmp-rail__list {
    display: flex;
    gap: .5rem;
    margin: 0;
    padding: 0 0 .6rem;
    overflow-x: auto;
    scroll-snap-type: x proximity;
    scrollbar-width: thin;
}

.cmp-rail__list li {
    flex: none;
    scroll-snap-align: start;
}

.cmp-rail__link {
    display: flex;
    align-items: center;
    gap: .6rem;
    padding: .45rem .9rem .45rem .5rem;
    border: 1px solid var(--cm-border);
    border-radius: var(--cm-radius-pill);
    background: var(--cm-bg);
    font-family: "Plus Jakarta Sans", system-ui, sans-serif;
    font-size: .92rem;
    font-weight: 600;
    line-height: 1.25;
    color: var(--cm-text-secondary);
    text-decoration: none;
    white-space: nowrap;
    transition: background-color .25s ease, border-color .25s ease, color .25s ease, box-shadow .25s ease;
}

.cmp-rail__link:hover {
    border-color: var(--cm-border-purple);
    color: var(--cm-primary-dark);
}

.cmp-rail__link:focus-visible {
    outline: 3px solid rgba(62, 26, 246, .3);
    outline-offset: 2px;
}

.cmp-rail__link.is-active {
    border-color: transparent;
    background: var(--cm-gradient-primary);
    color: var(--cm-text-white);
    box-shadow: 0 10px 24px rgba(62, 26, 246, .26);
}

.cmp-rail__link.is-active .cmp-ico {
    background: rgba(255, 255, 255, .2);
    color: var(--cm-text-white);
}

@media (min-width: 992px) {
    .cmp-rail__list {
        flex-direction: column;
        gap: .15rem;
        max-height: calc(100vh - 10.5rem);
        padding: 0 .35rem .35rem 0;
        overflow-x: hidden;
        overflow-y: auto;
    }

    .cmp-rail__list li {
        flex: none;
    }

    .cmp-rail__link {
        align-items: center;
        padding: .3rem .7rem .3rem .4rem;
        border-color: transparent;
        border-radius: var(--cm-radius-md);
        background: transparent;
        white-space: normal;
    }

    .cmp-rail__link:hover {
        background: var(--cm-bg);
    }
}

/* ---------- FAQs ------------------------------------------------------- */
.cmp-faq__search {
    position: relative;
    display: flex;
    align-items: center;
    margin-bottom: 1.5rem;
}

.cmp-faq__search>.bi-search {
    position: absolute;
    left: 1.2rem;
    font-size: 1.05rem;
    color: var(--cm-text-muted);
    pointer-events: none;
}

.cmp-faq__input {
    width: 100%;
    padding: 1rem 3.4rem 1rem 3.1rem;
    border: 1px solid var(--cm-border);
    border-radius: var(--cm-radius-pill);
    background: var(--cm-bg);
    box-shadow: var(--cm-shadow-sm);
    font: 400 1rem/1.4 "Inter", system-ui, sans-serif;
    color: var(--cm-ink);
    transition: border-color .2s ease, box-shadow .2s ease;
    -webkit-appearance: none;
    appearance: none;
}

.cmp-faq__input::placeholder {
    color: var(--cm-text-light);
}

.cmp-faq__input:focus {
    outline: none;
    border-color: var(--cm-primary);
    box-shadow: 0 0 0 4px rgba(62, 26, 246, .12);
}

.cmp-faq__input::-webkit-search-cancel-button {
    display: none;
}

.cmp-faq__clear {
    position: absolute;
    right: .6rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.4rem;
    height: 2.4rem;
    border: 0;
    border-radius: 50%;
    background: var(--cm-bg-lavender);
    color: var(--cm-primary);
}

.cmp-faq__clear[hidden] {
    display: none;
}

.cmp-faq__group {
    margin-bottom: clamp(2rem, 4vw, 3rem);
}

.cmp-faq__group:last-child {
    margin-bottom: 0;
}

.cmp-faq__ghead {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.cmp-faq__gtitle {
    margin: 0;
    min-width: 0;
    letter-spacing: -.02em;
}

[data-cmp-faq].is-ready:not(.is-searching) .cmp-faq__group:not(.is-active) {
    display: none;
}

.cmp-faq__group[hidden],
.cmp-faqacc__item[hidden] {
    display: none;
}

.cmp-faq__empty {
    margin: 0;
    padding: 2rem;
    border: 1px dashed var(--cm-border-purple);
    border-radius: var(--cm-radius-lg);
    text-align: center;
    color: var(--cm-text-muted);
}

.cmp-faq__empty[hidden] {
    display: none;
}

.cmp-faqacc {
    display: flex;
    flex-direction: column;
    gap: .75rem;
}

.cmp-faqacc__item {
    border: 1px solid var(--cm-border);
    border-radius: var(--cm-radius-md);
    background: var(--cm-bg);
    transition: border-color .25s ease, box-shadow .25s ease;
}

.cmp-faqacc__item:hover {
    border-color: var(--cm-border-purple);
}

.cmp-faqacc__item:has(.cmp-faqacc__btn[aria-expanded="true"]) {
    border-color: var(--cm-border-purple);
    box-shadow: var(--cm-shadow-md);
}

.cmp-faqacc__q {
    margin: 0;
    font-size: inherit;
}

.cmp-faqacc__btn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    width: 100%;
    padding: 1.1rem 1.25rem;
    border: 0;
    border-radius: var(--cm-radius-md);
    background: transparent;
    text-align: left;
    font-family: "Plus Jakarta Sans", system-ui, sans-serif;
    font-size: clamp(1rem, 1.3vw, 1.1rem);
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: -.01em;
    color: var(--cm-ink);
}

.cmp-faqacc__btn>span {
    min-width: 0;
    overflow-wrap: anywhere;
}

.cmp-faqacc__btn:focus-visible,
.cmp-acc2__btn:focus-visible {
    outline: 3px solid rgba(62, 26, 246, .3);
    outline-offset: -3px;
}

.cmp-faqacc__ico,
.cmp-acc2__ico {
    display: inline-flex;
    flex: none;
    align-items: center;
    justify-content: center;
    width: 2.1rem;
    height: 2.1rem;
    border-radius: 50%;
    background: var(--cm-bg-lavender);
    color: var(--cm-primary);
    font-size: .95rem;
    transition: transform .3s ease, background-color .25s ease, color .25s ease;
}

.cmp-faqacc__btn[aria-expanded="true"] .cmp-faqacc__ico,
.cmp-acc2__btn[aria-expanded="true"] .cmp-acc2__ico {
    transform: rotate(45deg);
    background: var(--cm-primary);
    color: var(--cm-text-white);
}

.cmp-faqacc__a {
    padding: 0 1.25rem 1.25rem;
}

.cmp-faqacc__a p {
    margin: 0;
    font-size: 1.02rem;
    line-height: 1.75;
    color: var(--cm-text-secondary);
}

html:not(.cm-js) .cmp-faqacc .collapse {
    display: block;
}

.cmp-cta__web {
    margin: 1.25rem 0 0;
    font-weight: 600;
    overflow-wrap: anywhere;
}

.cmp-cta__web a {
    color: var(--cm-text-white);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.cmp-cta--center .cmp-cta__web {
    text-align: center;
}

/* ---------- Guides ----------------------------------------------------- */
.cmp-gd,
.cmp-ctype {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: .8rem;
    height: 100%;
    padding: clamp(1.5rem, 2.6vw, 2.2rem);
    border: 1px solid var(--cm-border);
    border-radius: var(--cm-radius-lg);
    background: var(--cm-bg);
    box-shadow: var(--cm-shadow-sm);
    overflow: hidden;
    transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

.cmp-gd {
    min-height: 15rem;
}

.cmp-gd:hover,
.cmp-ctype:hover {
    border-color: var(--cm-border-purple);
    box-shadow: var(--cm-shadow-md);
    transform: translateY(-4px);
}

.cmp-gd .cmp-glow,
.cmp-ctype .cmp-glow {
    background: radial-gradient(16rem circle at 50% 0%, rgba(93, 71, 246, .10), transparent 62%);
}

.cmp-gd__mark {
    position: absolute;
    right: -.75rem;
    bottom: -1.25rem;
    font-size: 8.5rem;
    line-height: 1;
    color: var(--cm-primary);
    opacity: .06;
    pointer-events: none;
}

.cmp-gd .cmp-ico,
.cmp-ctype .cmp-ico {
    position: relative;
}

.cmp-gd__title,
.cmp-ctype__title {
    position: relative;
    margin: .5rem 0 0;
    letter-spacing: -.02em;
    overflow-wrap: anywhere;
}

.cmp-gd__text,
.cmp-ctype__text {
    position: relative;
    margin: 0;
    max-width: 38rem;
    font-size: 1.02rem;
    line-height: 1.7;
    color: var(--cm-text-secondary);
}

.cmp-gd--tint,
.cmp-ctype--3 {
    border-color: var(--cm-border-purple);
    background: var(--cm-gradient-soft);
}

.cmp-gd--ink,
.cmp-ctype--1 {
    border-color: transparent;
    background: radial-gradient(70% 90% at 100% 0%, rgba(93, 71, 246, .5), transparent 62%), var(--cm-bg-dark);
}

.cmp-gd--grad,
.cmp-ctype--4 {
    border-color: transparent;
    background: var(--cm-gradient-primary);
    box-shadow: 0 22px 44px rgba(62, 26, 246, .25);
}

.cmp-gd--ink .cmp-ico,
.cmp-gd--grad .cmp-ico,
.cmp-ctype--1 .cmp-ico,
.cmp-ctype--4 .cmp-ico {
    background: rgba(255, 255, 255, .14);
    color: var(--cm-text-white);
}

.cmp-gd--ink .cmp-gd__title,
.cmp-gd--grad .cmp-gd__title,
.cmp-ctype--1 .cmp-ctype__title,
.cmp-ctype--4 .cmp-ctype__title {
    color: var(--cm-text-white);
}

.cmp-gd--ink .cmp-gd__text,
.cmp-gd--grad .cmp-gd__text,
.cmp-ctype--1 .cmp-ctype__text,
.cmp-ctype--4 .cmp-ctype__text {
    color: rgba(255, 255, 255, .84);
}

.cmp-gd--ink .cmp-gd__mark,
.cmp-gd--grad .cmp-gd__mark {
    color: var(--cm-text-white);
    opacity: .08;
}

.cmp-gd--ink .cmp-glow,
.cmp-gd--grad .cmp-glow,
.cmp-ctype--1 .cmp-glow,
.cmp-ctype--4 .cmp-glow {
    background: radial-gradient(16rem circle at 50% 0%, rgba(255, 255, 255, .16), transparent 62%);
}

.cmp-why {
    display: flex;
    align-items: flex-start;
    gap: .9rem;
    height: 100%;
    padding: 1.15rem 1.25rem;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: var(--cm-radius-md);
    background: rgba(255, 255, 255, .05);
    transition: background-color .25s ease, border-color .25s ease, transform .25s ease;
}

.cmp-why:hover {
    border-color: rgba(255, 255, 255, .3);
    background: rgba(255, 255, 255, .09);
    transform: translateY(-2px);
}

.cmp-why p {
    margin: 0;
    min-width: 0;
    font-size: 1.02rem;
    font-weight: 500;
    line-height: 1.55;
    color: rgba(255, 255, 255, .92);
}

.cmp-who {
    position: relative;
    padding: clamp(1.75rem, 3.5vw, 3rem);
    border: 1px solid var(--cm-border-purple);
    border-radius: var(--cm-radius-lg);
    background: var(--cm-bg);
    box-shadow: var(--cm-shadow-md);
    overflow: hidden;
}

.cmp-who__q {
    position: absolute;
    top: -.25rem;
    right: 1rem;
    font-size: 7rem;
    line-height: 1;
    color: var(--cm-primary);
    opacity: .09;
    pointer-events: none;
}

.cmp-who p {
    position: relative;
    margin: 0;
    font-size: clamp(1.1rem, 1.6vw, 1.35rem);
    line-height: 1.7;
    color: var(--cm-ink);
}

/* ---------- Cookies ---------------------------------------------------- */
.cmp-s-primer {
    padding-block: 0;
}

.cmp-primer {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: clamp(1.25rem, 3vw, 2rem);
    padding: clamp(1.75rem, 3.6vw, 3rem);
    border: 1px solid var(--cm-border-purple);
    border-radius: var(--cm-radius-lg);
    background: var(--cm-gradient-soft);
    overflow: hidden;
}

.cmp-primer__mark {
    position: absolute;
    right: -1.5rem;
    bottom: -3rem;
    font-size: 13rem;
    line-height: 1;
    color: var(--cm-primary);
    opacity: .06;
    pointer-events: none;
}

.cmp-primer .cmp-ico,
.cmp-primer>div {
    position: relative;
}

.cmp-primer__title {
    margin: 0 0 .75rem;
    letter-spacing: -.02em;
}

.cmp-primer p {
    max-width: 54rem;
    font-size: clamp(1.05rem, 1.4vw, 1.2rem);
}

@media (max-width: 575.98px) {
    .cmp-primer {
        flex-direction: column;
    }
}

.cmp-acc2 {
    display: flex;
    flex-direction: column;
    gap: .75rem;
}

.cmp-acc2__item {
    border: 1px solid var(--cm-border);
    border-radius: var(--cm-radius-md);
    background: var(--cm-bg);
    transition: border-color .25s ease, box-shadow .25s ease;
}

.cmp-acc2__item:has(.cmp-acc2__btn[aria-expanded="true"]) {
    border-color: var(--cm-border-purple);
    box-shadow: var(--cm-shadow-md);
}

.cmp-acc2__h {
    margin: 0;
    font-size: inherit;
}

.cmp-acc2__btn {
    display: flex;
    align-items: center;
    gap: .9rem;
    width: 100%;
    padding: 1rem 1.15rem;
    border: 0;
    border-radius: var(--cm-radius-md);
    background: transparent;
    text-align: left;
    font-family: "Plus Jakarta Sans", system-ui, sans-serif;
    font-size: clamp(1rem, 1.3vw, 1.12rem);
    font-weight: 700;
    line-height: 1.3;
    color: var(--cm-ink);
}

.cmp-acc2__btn>span:not(.cmp-ico) {
    flex: 1;
    min-width: 0;
    overflow-wrap: anywhere;
}

.cmp-acc2__body {
    padding: 0 1.25rem 1.3rem;
}

.cmp-s-gap {
    margin-top: clamp(1.5rem, 3vw, 2.5rem);
}

html:not(.cm-js) .cmp-acc2 .collapse {
    display: block;
}

/* ---------- Refund: timeline ------------------------------------------ */
.cmp-tl {
    position: relative;
    margin: 0;
    padding: 0;
}

.cmp-tl__item:not(:last-child)::before {
    content: "";
    position: absolute;
    left: 1.4rem;
    top: 2.5rem;
    bottom: -3.75rem;
    width: 2px;
    background: linear-gradient(180deg, var(--cm-primary-light), var(--cm-border-purple));
}

.cmp-tl__item {
    position: relative;
    margin-bottom: 1.25rem;
    padding-left: 4.25rem;
}

.cmp-tl__item:last-child {
    margin-bottom: 0;
}

.cmp-tl__node {
    position: absolute;
    left: 0;
    top: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.95rem;
    height: 2.95rem;
    border-radius: 50%;
    background: var(--cm-gradient-primary);
    color: var(--cm-text-white);
    font-size: 1.15rem;
    box-shadow: 0 10px 24px rgba(62, 26, 246, .3);
}

.cmp-tl__card {
    padding: clamp(1.25rem, 2.4vw, 2rem);
    border: 1px solid var(--cm-border);
    border-radius: var(--cm-radius-lg);
    background: var(--cm-bg);
    box-shadow: var(--cm-shadow-sm);
    transition: box-shadow .3s ease, border-color .3s ease, transform .3s ease;
}

.cmp-tl__card:hover {
    border-color: var(--cm-border-purple);
    box-shadow: var(--cm-shadow-md);
    transform: translateX(4px);
}

.cmp-tl__title {
    margin: 0 0 .65rem;
    letter-spacing: -.02em;
    overflow-wrap: anywhere;
}

.cmp-tl__item--end .cmp-tl__card {
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.cmp-tl__item--end .cmp-tl__card:hover {
    transform: none;
}

@media (min-width: 768px) {
    .cmp-tl__item {
        padding-left: 5.25rem;
    }
}

/* ---------- Disclaimer: ledger ---------------------------------------- */
.cmp-lrow {
    padding: clamp(1.5rem, 3vw, 2.4rem) 0;
    border-bottom: 1px solid var(--cm-border);
}

.cmp-lrow:first-child {
    padding-top: 0;
}

.cmp-lrow__t {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.cmp-lrow__t h2 {
    margin: 0;
    min-width: 0;
    letter-spacing: -.02em;
    overflow-wrap: anywhere;
}

@media (min-width: 992px) {
    .cmp-lrow__t {
        position: sticky;
        top: 7rem;
    }
}

.cmp-lrow__b {
    max-width: 48rem;
}

.cmp-lrow--alert {
    margin: .75rem 0;
    padding: clamp(1.4rem, 2.6vw, 2rem);
    border: 1px solid rgba(240, 157, 42, .4);
    border-radius: var(--cm-radius-lg);
    background: linear-gradient(135deg, rgba(240, 157, 42, .11), rgba(240, 157, 42, .03));
}

.cmp-lrow--alert:first-child {
    padding-top: clamp(1.4rem, 2.6vw, 2rem);
}

.cmp-lrow--alert .cmp-ico {
    background: rgba(240, 157, 42, .16);
    color: var(--cm-gold-dark);
}

.cmp-lrow--end {
    padding: 1.5rem 0 0;
    border-bottom: 0;
}

/* ---------- Advertising: tab explorer --------------------------------- */
.cmp-dx__list {
    display: flex;
    gap: .5rem;
    padding-bottom: .6rem;
    overflow-x: auto;
    scroll-snap-type: x proximity;
    scrollbar-width: thin;
}

.cmp-dx__tab {
    display: flex;
    flex: none;
    align-items: center;
    gap: .75rem;
    padding: .5rem .95rem .5rem .55rem;
    border: 1px solid var(--cm-border);
    border-radius: var(--cm-radius-pill);
    background: var(--cm-bg);
    color: var(--cm-text);
    font: 600 .95rem/1.3 "Plus Jakarta Sans", system-ui, sans-serif;
    text-align: left;
    white-space: nowrap;
    scroll-snap-align: start;
    transition: background-color .25s ease, border-color .25s ease, transform .25s ease, box-shadow .25s ease, color .25s ease;
}

.cmp-dx__label {
    flex: 1;
}

.cmp-dx__go {
    display: none;
    color: var(--cm-primary);
    opacity: 0;
    transform: translateX(-4px);
    transition: opacity .25s ease, transform .25s ease;
}

.cmp-dx__tab:hover {
    border-color: var(--cm-border-purple);
    background: var(--cm-bg-soft);
}

.cmp-dx__tab.is-active {
    border-color: transparent;
    background: var(--cm-gradient-primary);
    color: var(--cm-text-white);
    box-shadow: 0 14px 30px rgba(62, 26, 246, .26);
}

.cmp-dx__tab.is-active .cmp-ico {
    background: rgba(255, 255, 255, .18);
    color: var(--cm-text-white);
}

.cmp-dx__tab.is-active .cmp-dx__go {
    opacity: 1;
    transform: none;
    color: var(--cm-text-white);
}

.cmp-dx__tab:focus-visible {
    outline: 3px solid rgba(62, 26, 246, .3);
    outline-offset: 2px;
}

.cmp-dx__stage {
    position: relative;
    height: 100%;
}

.cmp-dx__pane {
    position: relative;
    display: none;
    flex-direction: column;
    justify-content: center;
    height: 100%;
    min-height: 17rem;
    padding: clamp(1.75rem, 3.4vw, 3.25rem);
    border: 1px solid var(--cm-border-purple);
    border-radius: var(--cm-radius-lg);
    background: var(--cm-gradient-soft);
    overflow: hidden;
}

.cmp-dx__pane.is-active {
    display: flex;
    animation: cmp-in .45s ease both;
}

.cmp-dx__pane .cmp-glow {
    background: radial-gradient(24rem circle at 100% 0%, rgba(93, 71, 246, .14), transparent 60%);
    opacity: 1;
}

.cmp-dx__mark {
    position: absolute;
    right: -1rem;
    bottom: -1.5rem;
    font-size: 12rem;
    line-height: 1;
    color: var(--cm-primary);
    opacity: .06;
    pointer-events: none;
}

.cmp-dx__pane .cmp-ico--xl {
    position: relative;
    background: var(--cm-gradient-primary);
    color: var(--cm-text-white);
    box-shadow: 0 16px 34px rgba(62, 26, 246, .3);
}

.cmp-dx__title {
    position: relative;
    margin: 1.5rem 0 .8rem;
    font-size: clamp(1.4rem, 2.4vw, 2rem);
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -.03em;
    overflow-wrap: anywhere;
}

.cmp-dx__body {
    position: relative;
    max-width: 40rem;
}

.cmp-dx__body p {
    font-size: clamp(1.02rem, 1.3vw, 1.15rem);
}

[data-cmp-tabs]:not(.is-ready) .cmp-dx__list {
    display: none;
}

[data-cmp-tabs]:not(.is-ready) .cmp-dx__pane {
    display: flex;
    margin-bottom: 1rem;
    height: auto;
}

@media (min-width: 992px) {
    .cmp-dx__list {
        flex-direction: column;
        padding: 0;
        overflow: visible;
        height: 100%;
    }

    .cmp-dx__tab {
        flex: 1 1 0;
        white-space: normal;
        border-radius: var(--cm-radius-md);
    }

    .cmp-dx__go {
        display: inline-block;
    }

    .cmp-dx__tab:hover:not(.is-active) {
        transform: translateX(4px);
    }
}

@media (prefers-reduced-motion: reduce) {

    .cmp-doc__seal,
    .cmp-dx__pane.is-active {
        animation: none;
    }

    .cmp-clause,
    .cmp-gd,
    .cmp-ctype,
    .cmp-why,
    .cmp-tl__card,
    .cmp-dx__tab,
    .cmp-rail__link {
        transition: none;
    }

    .cmp-clause:hover,
    .cmp-gd:hover,
    .cmp-ctype:hover,
    .cmp-why:hover,
    .cmp-tl__card:hover {
        transform: none;
    }
}

.cmp-cta__web {
    font-size: clamp(.82rem, 3.7vw, 1rem);
}