:root {
    --sol-ink: #0b1731;
    --sol-ink-soft: #34415b;
    --sol-muted: #68748a;
    --sol-line: rgba(35, 55, 91, 0.11);
    --sol-blue: #396fe5;
    --sol-violet: #795ddd;
    --sol-coral: #dd785c;
    --sol-mint: #1b9b7d;
    --sol-night: #071127;
    --sol-porcelain: #f8f8f5;
    --sol-shell: min(1180px, calc(100vw - 48px));
    --sol-radius:  0;
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 96px;
}

.site-page.solutions-page {
    margin: 0;
    overflow-x: hidden;
    color: var(--sol-ink);
    background: var(--sol-porcelain);
    font-family: "Manrope", system-ui, sans-serif;
    -webkit-font-smoothing: antialiased;
}

.solutions-page #header-container {
    min-height: 0;
}

.solutions-page a {
    text-underline-offset: 0.18em;
}

.solutions-page img {
    max-width: 100%;
}

.sol-main {
    position: relative;
    overflow: clip;
}

.sol-shell {
    width: var(--sol-shell);
    margin-inline: auto;
}

.sol-kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.72rem;
    margin: 0 0 1.2rem;
    color: #4770cb;
    font-family: "DM Mono", monospace;
    font-size: 0.69rem;
    font-weight: 600;
    letter-spacing: 0.13em;
    line-height: 1;
    text-transform: uppercase;
}

.sol-kicker::before {
    width: 1.7rem;
    height: 1px;
    background: currentColor;
    content: "";
    opacity: 0.55;
}

.sol-display,
.sol-section-title {
    margin: 0;
    color: var(--sol-ink);
    font-family: "Space Grotesk", "Manrope", system-ui, sans-serif;
    font-weight: 600;
    letter-spacing: -0.063em;
    text-wrap: balance;
}

.sol-display {
    max-width: 920px;
    font-size: clamp(3.015rem, 5.67vw, 5.985rem);
    line-height: 0.94;
}

.sol-section-title {
    max-width: 850px;
    font-size: clamp(2.25rem, 4.05vw, 4.275rem);
    line-height: 0.98;
}

.sol-lede,
.sol-section-copy {
    margin: 0;
    color: var(--sol-muted);
    font-size: clamp(1rem, 1.45vw, 1.18rem);
    line-height: 1.75;
    text-wrap: pretty;
}

.sol-lede {
    max-width: 720px;
    margin-top: 1.65rem;
}

.sol-section-copy {
    max-width: 660px;
    margin-top: 1.3rem;
}

.sol-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.72rem;
    margin-top: 2rem;
}

.sol-button {
    display: inline-flex;
    min-height: 3.25rem;
    align-items: center;
    justify-content: center;
    gap: 0.7rem;
    padding: 0.82rem 1.2rem;
    border: 1px solid transparent;
    border-radius:  0;
    font-size: 0.83rem;
    font-weight: 800;
    text-decoration: none;
    transition:
        color 180ms ease,
        border-color 180ms ease,
        background-color 180ms ease,
        box-shadow 180ms ease,
        transform 180ms ease;
}

.sol-button:hover {
    transform: translateY(-2px);
}

.sol-button:focus-visible,
.sol-link:focus-visible,
.sol-faq-button:focus-visible,
.sol-outcome-link:focus-visible,
.sol-type-link:focus-visible {
    outline: 3px solid rgba(76, 121, 231, 0.3);
    outline-offset: 4px;
}

.sol-button--primary {
    color: #fff;
    background: #2468e8;
    box-shadow: 0 16px 38px rgba(49, 97, 215, 0.22);
}

.sol-button--primary:hover {
    color: #fff;
    box-shadow: 0 19px 44px rgba(49, 97, 215, 0.28);
}

.sol-button--secondary {
    border-color: rgba(36, 59, 103, 0.15);
    color: #243b67;
    background: rgba(255, 255, 255, 0.72);
}

.sol-button--secondary:hover {
    border-color: rgba(36, 104, 232, 0.28);
    color: #205bc8;
    background: #fff;
}

.sol-link {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    color: #3268d4;
    font-size: 0.78rem;
    font-weight: 800;
    text-decoration: none;
}

.sol-link i {
    font-size: 0.68rem;
    transition: transform 180ms ease;
}

.sol-link:hover i {
    transform: translateX(4px);
}

/* Hero */
.sol-hero {
    position: relative;
    isolation: isolate;
    min-height: 0;
    padding: 144px 0 88px;
    color: #fff;
    background: #070d1c;
    overflow: hidden;
}

.sol-hero::after {
    content: none;
}

.sol-hero-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    max-width: 960px;
    text-align: center;
    align-items: center;
    gap: clamp(3.5rem, 6vw, 6.5rem);
}

.sol-hero .sol-kicker {
    color: #95b5ff;
}

.sol-hero .sol-display {
    max-width: 900px;
    margin-inline: auto;
    color: #fff;
    font-size: clamp(2.925rem, min(4.5vw, 7.65vh), 4.14rem);
    line-height: 0.96;
}

.sol-hero .sol-lede {
    margin-top: 1.55rem;
    margin-inline: auto;
    color: rgba(226, 234, 251, 0.69);
}

.sol-hero .sol-actions {
    justify-content: center;
    width: fit-content;
    max-width: 100%;
    margin-inline: auto;
}

.sol-hero .sol-button--secondary {
    border-color: rgba(255, 255, 255, 0.16);
    color: rgba(244, 247, 255, 0.88);
    background: rgba(255, 255, 255, 0.055);
}

.sol-hero .sol-button--secondary:hover {
    border-color: rgba(255, 255, 255, 0.3);
    color: #fff;
    background: rgba(255, 255, 255, 0.1);
}

.sol-hero-proof {
    position: relative;
    z-index: 3;
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    width: fit-content;
    max-width: 100%;
    margin: 1.9rem auto 0;
    justify-content: center;
    padding: 0.38rem;
    border: 1px solid rgba(255, 255, 255, 0.09);
    border-radius:  0;
    background: rgba(4, 12, 30, 0.48);
    box-shadow:
        0 16px 42px rgba(0, 0, 0, 0.16),
        inset 0 1px rgba(255, 255, 255, 0.055);
    backdrop-filter: blur(16px);
    list-style: none;
}

.sol-hero-proof li {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.46rem 0.68rem;
    border: 1px solid rgba(255, 255, 255, 0.115);
    border-radius:  0;
    color: rgba(246, 249, 255, 0.88);
    background: rgba(255, 255, 255, 0.055);
    font-size: 0.66rem;
    font-weight: 750;
}

.sol-hero-proof i {
    color: #92aef6;
    font-size: 0.6rem;
}

.sol-context-object {
    position: relative;
    min-height: 540px;
}

.sol-context-orbit,
.sol-context-orbit::before,
.sol-context-orbit::after {
    position: absolute;
    border: 1px solid rgba(155, 178, 239, 0.12);
    border-radius:  0;
}

.sol-context-orbit {
    inset: 2% 0 7%;
}

.sol-context-orbit::before {
    inset: 9%;
    content: "";
}

.sol-context-orbit::after {
    inset: 21%;
    content: "";
}

.sol-context-glow {
    position: absolute;
    top: 16%;
    left: 17%;
    width: 66%;
    aspect-ratio: 1;
    border-radius:  0;
    background: transparent;
    filter: blur(8px);
    animation: sol-breathe 5.5s ease-in-out infinite;
}

.sol-account-card {
    position: absolute;
    top: 20%;
    right: 10%;
    left: 10%;
    padding: 1.25rem;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius:  0;
    background:
        rgba(255, 255, 255, 0.115);
    box-shadow:
        0 36px 80px rgba(0, 0, 0, 0.28),
        inset 0 1px rgba(255, 255, 255, 0.14);
    backdrop-filter: blur(24px) saturate(1.16);
}

.sol-account-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.09);
}

.sol-account-person {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 0.78rem;
}

.sol-account-avatar {
    display: grid;
    width: 2.8rem;
    height: 2.8rem;
    flex: 0 0 2.8rem;
    place-items: center;
    border-radius:  0;
    color: #fff;
    background: #477fe9;
    box-shadow: 0 10px 24px rgba(86, 103, 223, 0.28);
    font-size: 0.77rem;
    font-weight: 850;
}

.sol-account-person strong,
.sol-account-person small {
    display: block;
}

.sol-account-person strong {
    color: #fff;
    font-size: 0.84rem;
}

.sol-account-person small {
    margin-top: 0.17rem;
    color: rgba(218, 228, 249, 0.58);
    font-size: 0.65rem;
}

.sol-account-live {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    color: #8fe3c2;
    font-size: 0.6rem;
    font-weight: 800;
}

.sol-account-live::before {
    width: 0.42rem;
    height: 0.42rem;
    border-radius:  0;
    background: #5dd4aa;
    box-shadow: 0 0 0 5px rgba(93, 212, 170, 0.1);
    content: "";
}

.sol-account-stages {
    display: grid;
    gap: 0.52rem;
    margin-top: 1rem;
}

.sol-account-stage {
    --stage: #5885ed;
    --stage-rgb: 88, 133, 237;
    display: grid;
    grid-template-columns: 2rem minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.65rem;
    padding: 0.58rem 0.65rem;
    border: 1px solid rgba(var(--stage-rgb), 0.12);
    border-radius:  0;
    background: rgba(var(--stage-rgb), 0.055);
}

.sol-account-stage:nth-child(2) {
    --stage: #9675ee;
    --stage-rgb: 150, 117, 238;
}

.sol-account-stage:nth-child(3) {
    --stage: #e48a70;
    --stage-rgb: 228, 138, 112;
}

.sol-account-stage:nth-child(4) {
    --stage: #44bb96;
    --stage-rgb: 68, 187, 150;
}

.sol-account-stage > i {
    display: grid;
    width: 2rem;
    height: 2rem;
    place-items: center;
    border-radius:  0;
    color: var(--stage);
    background: rgba(var(--stage-rgb), 0.11);
    font-size: 0.62rem;
}

.sol-account-stage strong,
.sol-account-stage small {
    display: block;
}

.sol-account-stage strong {
    color: rgba(250, 252, 255, 0.89);
    font-size: 0.67rem;
}

.sol-account-stage small {
    margin-top: 0.12rem;
    color: rgba(218, 228, 249, 0.48);
    font-size: 0.57rem;
}

.sol-account-stage > span:last-child {
    color: var(--stage);
    font-family: "DM Mono", monospace;
    font-size: 0.51rem;
    text-transform: uppercase;
}

.sol-cobrain-chip {
    position: absolute;
    right: 1%;
    bottom: 13%;
    display: flex;
    width: min(265px, 72%);
    align-items: flex-start;
    gap: 0.7rem;
    padding: 0.88rem;
    border: 1px solid rgba(189, 169, 255, 0.2);
    border-radius:  0;
    color: #fff;
    background: rgba(24, 19, 57, 0.82);
    box-shadow: 0 24px 50px rgba(2, 6, 17, 0.28);
    backdrop-filter: blur(18px);
}

.sol-cobrain-chip > i {
    display: grid;
    width: 2rem;
    height: 2rem;
    flex: 0 0 2rem;
    place-items: center;
    border-radius:  0;
    color: #c5b5ff;
    background: rgba(142, 112, 235, 0.16);
    font-size: 0.7rem;
}

.sol-cobrain-chip strong,
.sol-cobrain-chip small {
    display: block;
}

.sol-cobrain-chip strong {
    font-size: 0.67rem;
}

.sol-cobrain-chip small {
    margin-top: 0.2rem;
    color: rgba(224, 218, 248, 0.57);
    font-size: 0.59rem;
    line-height: 1.42;
}

.sol-signal-card {
    position: absolute;
    top: 9%;
    left: -3%;
    padding: 0.68rem 0.78rem;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius:  0;
    color: rgba(240, 244, 255, 0.78);
    background: rgba(255, 255, 255, 0.055);
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.16);
    font-size: 0.61rem;
    font-weight: 750;
    backdrop-filter: blur(15px);
}

/* Shared sections */
.sol-section {
    position: relative;
    padding: clamp(6.5rem, 10vw, 10.5rem) 0;
}

.sol-section-head {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(320px, 0.5fr);
    align-items: end;
    gap: 3rem;
    margin-bottom: clamp(3.5rem, 6vw, 6rem);
}

.sol-section-head .sol-section-copy {
    margin: 0;
}

.sol-moat {
    padding-top: 3rem;
    background:
        var(--sol-porcelain);
}

.sol-moat-grid {
    display: grid;
    grid-template-columns: minmax(330px, 0.68fr) minmax(0, 1.1fr);
    align-items: start;
    gap: clamp(3rem, 8vw, 8rem);
}

.sol-moat-copy {
    position: sticky;
    top: 130px;
}

.sol-thread-story {
    position: relative;
    display: grid;
    gap: 1rem;
    padding-left: 3.3rem;
}

.sol-thread-track {
    position: absolute;
    top: 1.7rem;
    bottom: 1.7rem;
    left: 1.08rem;
    width: 2px;
    overflow: hidden;
    border-radius:  0;
    background: rgba(58, 77, 115, 0.1);
}

.sol-thread-progress {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: calc(var(--sol-thread-progress, 0) * 100%);
    border-radius:  0;
    background: var(--sol-blue);
    box-shadow: 0 0 16px rgba(86, 113, 221, 0.32);
}

.sol-thread-stage {
    --stage: #3f72df;
    --stage-rgb: 63, 114, 223;
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    min-height: 118px;
    align-items: center;
    padding: 1.25rem 1.3rem;
    border: 1px solid var(--sol-line);
    border-radius:  0;
    background: rgba(255, 255, 255, 0.68);
    box-shadow: 0 16px 42px rgba(32, 46, 76, 0.045);
    transition:
        border-color 240ms ease,
        box-shadow 240ms ease,
        transform 240ms ease;
}

.sol-thread-stage:nth-child(3) {
    --stage: #7e5cda;
    --stage-rgb: 126, 92, 218;
}

.sol-thread-stage:nth-child(4) {
    --stage: #d67459;
    --stage-rgb: 214, 116, 89;
}

.sol-thread-stage:nth-child(5) {
    --stage: #199476;
    --stage-rgb: 25, 148, 118;
}

.sol-thread-stage:nth-child(6) {
    --stage: #8a68e5;
    --stage-rgb: 138, 104, 229;
}

.sol-thread-stage::before {
    position: absolute;
    top: 50%;
    left: -2.72rem;
    width: 0.78rem;
    height: 0.78rem;
    border: 3px solid var(--sol-porcelain);
    border-radius:  0;
    background: var(--stage);
    box-shadow: 0 0 0 5px rgba(var(--stage-rgb), 0.1);
    content: "";
    transform: translateY(-50%);
}

.sol-thread-stage.is-active {
    border-color: rgba(var(--stage-rgb), 0.24);
    box-shadow: 0 21px 50px rgba(var(--stage-rgb), 0.09);
    transform: translateX(4px);
}

.sol-thread-stage span,
.sol-thread-stage strong,
.sol-thread-stage small {
    display: block;
}

.sol-thread-stage span {
    color: var(--stage);
    font-family: "DM Mono", monospace;
    font-size: 0.62rem;
    font-weight: 600;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.sol-thread-stage strong {
    margin-top: 0.36rem;
    color: var(--sol-ink);
    font-size: 0.92rem;
}

.sol-thread-stage small {
    margin-top: 0.28rem;
    color: var(--sol-muted);
    font-size: 0.73rem;
    line-height: 1.48;
}

.sol-thread-stage > i {
    display: grid;
    width: 2.6rem;
    height: 2.6rem;
    place-items: center;
    border-radius:  0;
    color: var(--stage);
    background: rgba(var(--stage-rgb), 0.09);
    font-size: 0.77rem;
}

/* Outcomes */
.sol-outcomes {
    background:
        #f8f8f5;
}

.sol-outcome-list {
    counter-reset: outcome;
    border-top: 1px solid var(--sol-line);
}

.sol-outcome {
    --outcome-accent: #3e72dd;
    display: grid;
    grid-template-columns: 5.5rem minmax(310px, 0.72fr) minmax(0, 1fr) 3rem;
    align-items: center;
    gap: 2rem;
    min-height: 270px;
    padding: 2.2rem 0;
    border-bottom: 1px solid var(--sol-line);
    color: inherit;
    text-decoration: none;
}

.sol-outcome:nth-child(2) {
    --outcome-accent: #795ddd;
}

.sol-outcome:nth-child(3) {
    --outcome-accent: #d9775e;
}

.sol-outcome:nth-child(4) {
    --outcome-accent: #1d967a;
}

.sol-outcome-number {
    display: grid;
    width: 3.1rem;
    height: 3.1rem;
    place-items: center;
    border: 1px solid color-mix(in srgb, var(--outcome-accent) 25%, transparent);
    border-radius:  0;
    color: var(--outcome-accent);
    background: color-mix(in srgb, var(--outcome-accent) 7%, transparent);
    font-family: "DM Mono", monospace;
    font-size: 0.66rem;
}

.sol-outcome h3 {
    margin: 0;
    color: var(--sol-ink);
    font-family: "Space Grotesk", "Manrope", sans-serif;
    font-size: clamp(1.75rem, 3vw, 3rem);
    font-weight: 600;
    letter-spacing: -0.052em;
    line-height: 1.02;
}

.sol-outcome-copy p {
    max-width: 610px;
    margin: 0;
    color: var(--sol-muted);
    font-size: 0.94rem;
    line-height: 1.72;
}

.sol-outcome-copy small {
    display: block;
    margin-top: 0.8rem;
    color: var(--outcome-accent);
    font-family: "DM Mono", monospace;
    font-size: 0.61rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.sol-outcome-arrow {
    display: grid;
    width: 2.75rem;
    height: 2.75rem;
    place-items: center;
    border: 1px solid var(--sol-line);
    border-radius:  0;
    color: var(--outcome-accent);
    background: rgba(255, 255, 255, 0.68);
    transition:
        color 200ms ease,
        background-color 200ms ease,
        transform 200ms ease;
}

.sol-outcome:hover .sol-outcome-arrow,
.sol-outcome:focus-visible .sol-outcome-arrow {
    color: #fff;
    background: var(--outcome-accent);
    transform: translateX(4px);
}

/* Company moments */
.sol-moments {
    color: #fff;
    background:
        var(--sol-night);
}

.sol-moments .sol-kicker {
    color: #9ab8ff;
}

.sol-moments .sol-section-title {
    color: #fff;
}

.sol-moments .sol-section-copy {
    color: rgba(225, 233, 250, 0.62);
}

.sol-moment-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.sol-moment {
    position: relative;
    display: flex;
    min-height: 325px;
    flex-direction: column;
    justify-content: space-between;
    padding: clamp(1.4rem, 3vw, 2.2rem);
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.095);
    border-radius:  0;
    color: #fff;
    background: rgba(255, 255, 255, 0.035);
    text-decoration: none;
    transition:
        border-color 220ms ease,
        background-color 220ms ease,
        transform 220ms ease;
}

.sol-moment::before {
    position: absolute;
    top: -8rem;
    right: -8rem;
    width: 17rem;
    height: 17rem;
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius:  0;
    content: "";
}

.sol-moment:hover {
    border-color: rgba(160, 184, 247, 0.22);
    background: rgba(255, 255, 255, 0.055);
    transform: translateY(-4px);
}

.sol-moment-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    color: rgba(166, 190, 248, 0.72);
    font-family: "DM Mono", monospace;
    font-size: 0.62rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.sol-moment-meta i {
    display: grid;
    width: 2.55rem;
    height: 2.55rem;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, 0.11);
    border-radius:  0;
    color: #fff;
    font-size: 0.7rem;
}

.sol-moment h3 {
    max-width: 530px;
    margin: 4.5rem 0 0;
    color: #fff;
    font-family: "Space Grotesk", "Manrope", sans-serif;
    font-size: clamp(1.8rem, 3.2vw, 3.25rem);
    font-weight: 600;
    letter-spacing: -0.055em;
    line-height: 1.02;
}

.sol-moment p {
    max-width: 560px;
    margin: 1rem 0 0;
    color: rgba(225, 233, 250, 0.6);
    font-size: 0.85rem;
    line-height: 1.65;
}

/* Business types */
.sol-types {
    background:
        #f7f7f4;
}

.sol-type-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.sol-type {
    display: flex;
    min-height: 390px;
    flex-direction: column;
    justify-content: space-between;
    padding: 1.7rem;
    border: 1px solid var(--sol-line);
    border-radius:  0;
    color: inherit;
    background:
        rgba(255, 255, 255, 0.72);
    text-decoration: none;
    box-shadow: 0 22px 55px rgba(30, 45, 76, 0.045);
    transition:
        border-color 220ms ease,
        box-shadow 220ms ease,
        transform 220ms ease;
}

.sol-type:nth-child(2) {
    background:
        rgba(255, 255, 255, 0.72);
}

.sol-type:nth-child(3) {
    background:
        rgba(255, 255, 255, 0.72);
}

.sol-type:hover {
    border-color: rgba(66, 111, 213, 0.2);
    box-shadow: 0 28px 68px rgba(30, 45, 76, 0.09);
    transform: translateY(-5px);
}

.sol-type-icon {
    display: grid;
    width: 3.2rem;
    height: 3.2rem;
    place-items: center;
    border: 1px solid rgba(66, 111, 213, 0.13);
    border-radius:  0;
    color: #3e70d9;
    background: rgba(66, 111, 213, 0.075);
}

.sol-type h3 {
    margin: auto 0 0;
    padding-top: 5rem;
    color: var(--sol-ink);
    font-family: "Space Grotesk", "Manrope", sans-serif;
    font-size: clamp(1.65rem, 2.4vw, 2.45rem);
    font-weight: 600;
    letter-spacing: -0.052em;
    line-height: 1.03;
}

.sol-type p {
    margin: 1rem 0 1.2rem;
    color: var(--sol-muted);
    font-size: 0.84rem;
    line-height: 1.67;
}

/* Cobrain */
.sol-cobrain {
    background: #eef2f8;
}

.sol-cobrain-stage {
    position: relative;
    display: grid;
    min-height: 650px;
    grid-template-columns: minmax(0, 0.85fr) minmax(390px, 0.72fr);
    align-items: center;
    gap: clamp(3rem, 8vw, 8rem);
    padding: clamp(2rem, 5vw, 4.8rem);
    overflow: hidden;
    border-radius:  0;
    color: #fff;
    background: #07132d;
    box-shadow: 0 45px 100px rgba(12, 25, 52, 0.18);
}

.sol-cobrain-stage::before {
    position: absolute;
    top: -25%;
    right: -10%;
    width: 40rem;
    height: 40rem;
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius:  0;
    content: "";
}

.sol-cobrain-stage .sol-kicker {
    color: #b4a3fa;
}

.sol-cobrain-stage .sol-section-title {
    color: #fff;
}

.sol-cobrain-stage .sol-section-copy {
    color: rgba(225, 233, 250, 0.63);
}

.sol-cobrain-demo {
    position: relative;
    display: grid;
    gap: 0.72rem;
}

.sol-brain-step {
    position: relative;
    padding: 1rem 1.05rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius:  0;
    background: rgba(255, 255, 255, 0.045);
    backdrop-filter: blur(14px);
}

.sol-brain-step > span {
    display: block;
    color: #9fb8f3;
    font-family: "DM Mono", monospace;
    font-size: 0.58rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.sol-brain-step strong {
    display: block;
    margin-top: 0.38rem;
    color: #fff;
    font-size: 0.8rem;
    line-height: 1.45;
}

.sol-brain-step p {
    margin: 0.38rem 0 0;
    color: rgba(224, 232, 251, 0.57);
    font-size: 0.7rem;
    line-height: 1.5;
}

.sol-brain-step:last-child {
    border-color: rgba(172, 145, 248, 0.22);
    background: rgba(116, 85, 216, 0.19);
}

/* Detail pages */
.sol-detail-hero .sol-display {
    max-width: 810px;
    font-size: clamp(2.745rem, min(3.96vw, 7.2vh), 3.78rem);
}

.sol-pain {
    background:
        var(--sol-porcelain);
}

.sol-pain-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.sol-pain-item {
    min-height: 215px;
    padding: 1.45rem;
    border: 1px solid var(--sol-line);
    border-radius:  0;
    background: rgba(255, 255, 255, 0.65);
}

.sol-pain-item > span {
    display: grid;
    width: 2.6rem;
    height: 2.6rem;
    place-items: center;
    border-radius:  0;
    color: rgb(var(--sol-accent-rgb, 57, 111, 229));
    background: rgba(var(--sol-accent-rgb, 57, 111, 229), 0.09);
    font-family: "DM Mono", monospace;
    font-size: 0.62rem;
}

.sol-pain-item h3 {
    margin: 2.4rem 0 0;
    color: var(--sol-ink);
    font-size: 1rem;
    line-height: 1.4;
}

.sol-detail-journey {
    background: #f8f8f5;
}

.sol-detail-journey-grid {
    display: grid;
    grid-template-columns: minmax(300px, 0.58fr) minmax(0, 1fr);
    gap: clamp(3rem, 8vw, 8rem);
}

.sol-detail-journey-copy {
    position: sticky;
    top: 125px;
    align-self: start;
}

.sol-detail-steps {
    position: relative;
    display: grid;
    gap: 1rem;
    padding-left: 3rem;
}

.sol-detail-line {
    position: absolute;
    top: 1.8rem;
    bottom: 1.8rem;
    left: 1rem;
    width: 2px;
    overflow: hidden;
    border-radius:  0;
    background: rgba(50, 72, 112, 0.11);
}

.sol-detail-line::after {
    position: absolute;
    inset: 0;
    background: #3e72dd;
    content: "";
    transform: scaleY(var(--sol-thread-progress, 0));
    transform-origin: top;
}

.sol-detail-step {
    position: relative;
    min-height: 210px;
    padding: 1.45rem;
    border: 1px solid var(--sol-line);
    border-radius:  0;
    background: rgba(255, 255, 255, 0.78);
    box-shadow: 0 17px 46px rgba(30, 44, 75, 0.045);
    transition:
        border-color 220ms ease,
        box-shadow 220ms ease,
        transform 220ms ease;
}

.sol-detail-step::before {
    position: absolute;
    top: 2rem;
    left: -2.48rem;
    width: 0.74rem;
    height: 0.74rem;
    border: 3px solid #f1f4f8;
    border-radius:  0;
    background: rgb(var(--sol-accent-rgb, 57, 111, 229));
    box-shadow: 0 0 0 5px rgba(var(--sol-accent-rgb, 57, 111, 229), 0.1);
    content: "";
}

.sol-detail-step.is-active {
    border-color: rgba(var(--sol-accent-rgb, 57, 111, 229), 0.22);
    box-shadow: 0 22px 58px rgba(var(--sol-accent-rgb, 57, 111, 229), 0.085);
    transform: translateX(5px);
}

.sol-detail-step > span {
    color: rgb(var(--sol-accent-rgb, 57, 111, 229));
    font-family: "DM Mono", monospace;
    font-size: 0.62rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.sol-detail-step h3 {
    margin: 0.65rem 0 0;
    color: var(--sol-ink);
    font-family: "Space Grotesk", "Manrope", sans-serif;
    font-size: clamp(1.35rem, 2vw, 2rem);
    font-weight: 600;
    letter-spacing: -0.045em;
    line-height: 1.08;
}

.sol-detail-step p {
    margin: 0.72rem 0 0;
    color: var(--sol-muted);
    font-size: 0.82rem;
    line-height: 1.65;
}

.sol-product-signals {
    display: flex;
    flex-wrap: wrap;
    gap: 0.38rem;
    margin-top: 1rem;
}

.sol-product-signals span {
    padding: 0.38rem 0.54rem;
    border: 1px solid rgba(var(--sol-accent-rgb, 57, 111, 229), 0.12);
    border-radius:  0;
    color: rgb(var(--sol-accent-rgb, 57, 111, 229));
    background: rgba(var(--sol-accent-rgb, 57, 111, 229), 0.055);
    font-size: 0.58rem;
    font-weight: 800;
}

.sol-context-map {
    background: #f8f8f5;
}

.sol-context-panel {
    display: grid;
    grid-template-columns: minmax(0, 0.72fr) minmax(0, 1fr);
    gap: 4rem;
    padding: clamp(1.8rem, 5vw, 4rem);
    border: 1px solid var(--sol-line);
    border-radius:  0;
    background:
        rgba(255, 255, 255, 0.72);
    box-shadow: 0 28px 70px rgba(29, 43, 71, 0.06);
}

.sol-context-nodes {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.7rem;
}

.sol-context-node {
    min-height: 112px;
    padding: 1rem;
    border: 1px solid var(--sol-line);
    border-radius:  0;
    background: rgba(255, 255, 255, 0.72);
}

.sol-context-node i {
    color: rgb(var(--sol-accent-rgb, 57, 111, 229));
    font-size: 0.72rem;
}

.sol-context-node strong,
.sol-context-node small {
    display: block;
}

.sol-context-node strong {
    margin-top: 0.65rem;
    color: var(--sol-ink);
    font-size: 0.76rem;
}

.sol-context-node small {
    margin-top: 0.25rem;
    color: var(--sol-muted);
    font-size: 0.65rem;
    line-height: 1.4;
}

.sol-moment-detail {
    background:
        #eef2f8;
}

.sol-moment-detail-panel {
    display: grid;
    grid-template-columns: minmax(0, 0.8fr) minmax(0, 1fr);
    gap: 4rem;
    align-items: center;
}

.sol-moment-detail-list {
    display: grid;
    gap: 0.72rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.sol-moment-detail-list li {
    display: grid;
    grid-template-columns: 2rem minmax(0, 1fr);
    gap: 0.78rem;
    align-items: start;
    padding: 1rem;
    border: 1px solid var(--sol-line);
    border-radius:  0;
    background: rgba(255, 255, 255, 0.65);
}

.sol-moment-detail-list i {
    display: grid;
    width: 2rem;
    height: 2rem;
    place-items: center;
    border-radius:  0;
    color: rgb(var(--sol-accent-rgb, 57, 111, 229));
    background: rgba(var(--sol-accent-rgb, 57, 111, 229), 0.09);
    font-size: 0.62rem;
}

.sol-moment-detail-list strong,
.sol-moment-detail-list small {
    display: block;
}

.sol-moment-detail-list strong {
    color: var(--sol-ink);
    font-size: 0.79rem;
}

.sol-moment-detail-list small {
    margin-top: 0.23rem;
    color: var(--sol-muted);
    font-size: 0.68rem;
    line-height: 1.48;
}

/* Adoption and FAQ */
.sol-adoption {
    background: #f8f8f5;
}

.sol-adoption-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.sol-adoption-step {
    min-height: 270px;
    padding: 1.5rem;
    border-top: 2px solid rgba(var(--sol-accent-rgb, 57, 111, 229), 0.5);
    border-right: 1px solid var(--sol-line);
    border-bottom: 1px solid var(--sol-line);
    border-left: 1px solid var(--sol-line);
    border-radius:  0;
    background: rgba(255, 255, 255, 0.65);
}

.sol-adoption-step > span {
    color: rgb(var(--sol-accent-rgb, 57, 111, 229));
    font-family: "DM Mono", monospace;
    font-size: 0.63rem;
}

.sol-adoption-step h3 {
    margin: 4.5rem 0 0;
    color: var(--sol-ink);
    font-family: "Space Grotesk", "Manrope", sans-serif;
    font-size: 1.45rem;
    font-weight: 600;
    letter-spacing: -0.04em;
}

.sol-adoption-step p {
    margin: 0.75rem 0 0;
    color: var(--sol-muted);
    font-size: 0.78rem;
    line-height: 1.65;
}

.sol-faq {
    background: #f8f8f5;
}

.sol-faq-layout {
    display: grid;
    grid-template-columns: minmax(300px, 0.62fr) minmax(0, 1fr);
    gap: clamp(3rem, 8vw, 8rem);
}

.sol-faq-copy {
    position: sticky;
    top: 125px;
    align-self: start;
}

.sol-faq-list {
    border-top: 1px solid var(--sol-line);
}

.sol-faq-item {
    border-bottom: 1px solid var(--sol-line);
}

.sol-faq-item h3 {
    margin: 0;
}

.sol-faq-button {
    display: grid;
    width: 100%;
    grid-template-columns: minmax(0, 1fr) 2.5rem;
    align-items: center;
    gap: 1rem;
    padding: 1.45rem 0;
    border: 0;
    color: var(--sol-ink);
    background: transparent;
    font: inherit;
    font-size: 0.91rem;
    font-weight: 800;
    text-align: left;
}

.sol-faq-button i {
    display: grid;
    width: 2.4rem;
    height: 2.4rem;
    place-items: center;
    border: 1px solid var(--sol-line);
    border-radius:  0;
    color: #496aa9;
    background: rgba(255, 255, 255, 0.68);
    font-size: 0.68rem;
    transition: transform 200ms ease;
}

.sol-faq-button[aria-expanded="true"] i {
    transform: rotate(45deg);
}

.sol-faq-answer {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 280ms ease;
}

.sol-faq-answer > div {
    overflow: hidden;
}

.sol-faq-answer p {
    max-width: 700px;
    margin: 0;
    padding: 0 3.5rem 1.45rem 0;
    color: var(--sol-muted);
    font-size: 0.82rem;
    line-height: 1.7;
}

.sol-faq-button[aria-expanded="true"] + .sol-faq-answer {
    grid-template-rows: 1fr;
}

/* Final */
.sol-final {
    padding: 2rem 0 0;
    background: #eff3f8;
}

.sol-final-stage {
    position: relative;
    display: grid;
    min-height: 550px;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 3rem;
    padding: clamp(2rem, 6vw, 5rem);
    overflow: hidden;
    border-radius:  0;
    color: #fff;
    background:
        #071127;
}

.sol-final-stage::before {
    position: absolute;
    top: -43%;
    right: -10%;
    width: 44rem;
    height: 44rem;
    border: 1px solid rgba(255, 255, 255, 0.065);
    border-radius:  0;
    content: "";
}

.sol-final-stage h2 {
    position: relative;
    max-width: 790px;
    margin: 0;
    color: #fff;
    font-family: "Space Grotesk", "Manrope", sans-serif;
    font-size: clamp(2.7rem, 5.13vw, 5.4rem);
    font-weight: 600;
    letter-spacing: -0.064em;
    line-height: 0.94;
}

.sol-final-stage p {
    position: relative;
    max-width: 700px;
    margin: 1.35rem 0 0;
    color: rgba(225, 233, 250, 0.64);
    font-size: 0.96rem;
    line-height: 1.72;
}

.sol-final-actions {
    position: relative;
    display: grid;
    gap: 0.65rem;
}

.sol-final .sol-button--secondary {
    border-color: rgba(255, 255, 255, 0.15);
    color: #fff;
    background: rgba(255, 255, 255, 0.055);
}

/* Reveal states */
.sol-reveal {
    opacity: 1;
    transform: none;
}

.sol-motion-ready .sol-reveal {
    opacity: 0;
    transform: translateY(16px);
    transition:
        opacity 700ms cubic-bezier(0.22, 1, 0.36, 1),
        transform 700ms cubic-bezier(0.22, 1, 0.36, 1);
    transition-delay: var(--sol-delay, 0ms);
}

.sol-motion-ready .sol-reveal.is-visible {
    opacity: 1;
    transform: none;
}

@keyframes sol-breathe {
    0%,
    100% {
        opacity: 0.75;
        transform: scale(0.96);
    }

    50% {
        opacity: 1;
        transform: scale(1.04);
    }
}

@media (min-width: 992px) and (max-height: 820px) {
    .sol-hero {
        padding: 102px 0 42px;
    }

    .sol-hero-grid {
        gap: 2.8rem;
    }

    .sol-hero .sol-display {
        font-size: clamp(2.7rem, min(4.14vw, 6.84vh), 3.6rem);
    }

    .sol-detail-hero .sol-display {
        font-size: clamp(2.565rem, min(3.825vw, 6.48vh), 3.33rem);
    }

    .sol-lede {
        line-height: 1.62;
    }

    .sol-actions {
        margin-top: 1.75rem;
    }

    .sol-context-object {
        min-height: 470px;
    }
}

@media (max-width: 991.98px) {
    :root {
        --sol-shell: min(100% - 34px, 780px);
    }

    .sol-hero {
        min-height: 0;
        padding: 124px 0 84px;
    }

    .sol-hero-grid,
    .sol-section-head,
    .sol-moat-grid,
    .sol-detail-journey-grid,
    .sol-context-panel,
    .sol-moment-detail-panel,
    .sol-faq-layout,
    .sol-cobrain-stage,
    .sol-final-stage {
        grid-template-columns: 1fr;
    }

    .sol-context-object {
        width: min(100%, 560px);
        min-height: 500px;
        margin: 1rem auto 0;
    }

    .sol-section-head {
        align-items: start;
        gap: 1.3rem;
    }

    .sol-section-head .sol-section-copy {
        margin: 0;
    }

    .sol-moat-copy,
    .sol-detail-journey-copy,
    .sol-faq-copy {
        position: static;
    }

    .sol-outcome {
        grid-template-columns: 4rem minmax(0, 0.75fr) minmax(0, 1fr) 2.8rem;
        gap: 1.2rem;
    }

    .sol-type-grid,
    .sol-adoption-grid {
        grid-template-columns: 1fr;
    }

    .sol-type {
        min-height: 300px;
    }

    .sol-cobrain-stage {
        min-height: 0;
    }

    .sol-final-stage {
        min-height: 560px;
        align-items: end;
    }

    .sol-final-actions {
        display: flex;
        flex-wrap: wrap;
    }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
    .sol-hero-proof {
        display: grid;
        width: 100%;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        grid-auto-rows: 1fr;
        gap: 0.42rem;
        border-radius:  0;
    }

    .sol-hero-proof li {
        min-width: 0;
        justify-content: center;
        padding-inline: 0.58rem;
        border-radius:  0;
        line-height: 1.3;
        text-align: center;
        text-wrap: balance;
    }
}

@media (max-width: 767.98px) {
    :root {
        --sol-shell: min(100% - 28px, 640px);
    }

    .sol-display {
        font-size: clamp(2.07rem, 9.45vw, 2.7rem);
    }

    .sol-hero .sol-display {
        font-size: clamp(2.25rem, 9.72vw, 2.925rem);
    }

    .sol-detail-hero .sol-display {
        font-size: clamp(2.16rem, 9vw, 2.745rem);
    }

    .sol-hero-proof {
        border-radius:  0;
    }

    .sol-section-title {
        font-size: clamp(2.025rem, 9vw, 3.33rem);
    }

    .sol-context-object {
        min-height: 470px;
    }

    .sol-account-card {
        right: 3%;
        left: 3%;
    }

    .sol-signal-card {
        left: 0;
    }

    .sol-cobrain-chip {
        right: 0;
    }

    .sol-outcome {
        grid-template-columns: 3rem minmax(0, 1fr) 2.6rem;
        gap: 0.8rem;
        min-height: 0;
        padding: 1.7rem 0;
    }

    .sol-outcome-copy {
        grid-column: 2 / -1;
        padding-right: 0.3rem;
    }

    .sol-outcome-arrow {
        grid-column: 3;
        grid-row: 1;
    }

    .sol-moment-grid,
    .sol-pain-grid {
        grid-template-columns: 1fr;
    }

    .sol-moment {
        min-height: 300px;
    }

    .sol-detail-steps,
    .sol-thread-story {
        padding-left: 2.55rem;
    }

    .sol-thread-track,
    .sol-detail-line {
        left: 0.78rem;
    }

    .sol-thread-stage::before {
        left: -2.22rem;
    }

    .sol-detail-step::before {
        left: -2.08rem;
    }

    .sol-context-nodes {
        grid-template-columns: 1fr;
    }

    .sol-faq-button {
        grid-template-columns: minmax(0, 1fr) 2.35rem;
    }

    .sol-faq-answer p {
        padding-right: 0;
    }
}

@media (max-width: 479.98px) {
    .sol-hero {
        padding-top: 108px;
    }

    .sol-context-object {
        min-height: 440px;
    }

    .sol-account-stage {
        grid-template-columns: 1.82rem minmax(0, 1fr);
    }

    .sol-account-stage > i {
        width: 1.82rem;
        height: 1.82rem;
    }

    .sol-account-stage > span:last-child {
        display: none;
    }

    .sol-cobrain-chip {
        width: 82%;
    }

    .sol-signal-card {
        top: 5%;
    }

    .sol-thread-stage {
        grid-template-columns: 1fr;
    }

    .sol-thread-stage > i {
        display: none;
    }

    .sol-actions,
    .sol-final-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .sol-button {
        width: 100%;
    }

    .sol-final-stage {
        border-radius:  0;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }

    .sol-reveal,
    .sol-motion-ready .sol-reveal {
        opacity: 1;
        transform: none;
    }
}
