.home {
    background:#000;
}


.hero {
    position:relative;

    min-height:100svh;

    padding:
        9.2rem
        var(--side)
        5.6rem;

    overflow:hidden;

    background:
        linear-gradient(
            180deg,
            #000 0%,
            #030304 72%,
            #08080a 100%
        );
}


.hero-inner {
    position:relative;
    z-index:2;

    width:100%;
}


.hero h1 {
    max-width:22rem;

    margin:1rem 0 0;

    color:var(--label);

    font-size:
        clamp(
            3.35rem,
            15.2vw,
            5.25rem
        );

    line-height:.89;

    font-weight:700;
    letter-spacing:-.057em;
}


.hero-lead {
    max-width:28rem;

    margin:1.6rem 0 0;

    color:rgba(235,235,245,.61);

    font-size:
        clamp(
            1rem,
            4.2vw,
            1.12rem
        );

    line-height:1.5;
    letter-spacing:-.008em;
}


.hero-actions {
    display:flex;
    align-items:center;

    gap:.55rem;

    margin-top:1.7rem;
}


.hero-actions .button {
    min-width:0;
}


.hero-direct {
    max-width:22rem;

    margin:1rem 0 0;

    color:rgba(235,235,245,.34);

    font-size:.74rem;
    line-height:1.45;
}


.hero-direct a {
    display:inline-block;

    margin-left:.16rem;

    color:rgba(245,245,247,.76);
}


.hero-direct a:active {
    opacity:.5;
}


.hero-signal {
    position:relative;
    z-index:2;

    width:calc(100% - 1.2rem);

    margin:
        4.3rem
        0
        0
        1.2rem;

    padding:
        .15rem
        0
        .1rem
        1.15rem;

    border-left:.5px solid rgba(255,255,255,.16);
}


.hero-signal > span {
    display:block;

    color:rgba(235,235,245,.31);

    font-family:var(--font-mono);
    font-size:.61rem;
    line-height:1.35;

    letter-spacing:.015em;
}


.hero-signal > strong {
    display:block;

    margin-top:.34rem;

    color:rgba(245,245,247,.83);

    font-family:var(--font-mono);
    font-size:.78rem;
    line-height:1.35;

    font-weight:500;
    letter-spacing:-.014em;
}


.signal-line {
    width:100%;
    height:.5px;

    margin:.95rem 0;

    background:
        linear-gradient(
            to right,
            rgba(255,255,255,.13),
            transparent
        );
}


.signal-answer {
    position:relative;

    margin-top:1.25rem;
    padding-left:.9rem;

    color:rgba(245,245,247,.63);

    font-size:.7rem;
    line-height:1.45;
}


.signal-answer i {
    position:absolute;

    width:.28rem;
    height:.28rem;

    left:0;
    top:.48em;

    border-radius:50%;

    background:var(--blue-bright);
}


.money-section {
    padding:
        6.7rem
        0;

    background:#08080a;
}


.section-intro {
    padding:
        0
        var(--side);
}


.section-intro h2 {
    max-width:25rem;

    margin:1rem 0 0;

    font-size:
        clamp(
            2.75rem,
            12.5vw,
            4.35rem
        );

    line-height:.93;

    font-weight:700;
    letter-spacing:-.05em;
}


.loss-list {
    margin-top:3.8rem;

    border-top:.5px solid var(--separator);
}


.loss-row {
    position:relative;

    display:block;

    min-height:0;

    padding:
        1.85rem
        var(--side)
        1.95rem;

    border-bottom:.5px solid var(--separator);
}


.loss-question {
    max-width:23rem;

    padding-right:4.6rem;

    color:var(--label);

    font-size:
        clamp(
            1.55rem,
            7.1vw,
            2.15rem
        );

    line-height:1.02;

    font-weight:650;
    letter-spacing:-.034em;
}


.loss-result {
    max-width:26rem;

    margin-top:.9rem;

    color:rgba(235,235,245,.52);

    font-size:.87rem;
    line-height:1.52;
}


.loss-cost {
    position:absolute;

    top:2rem;
    right:var(--side);

    color:var(--blue-bright);

    font-family:var(--font-mono);
    font-size:.57rem;
    line-height:1.2;

    letter-spacing:.03em;
    text-transform:uppercase;
}


.context-section {
    padding:
        7rem
        0;

    background:#000;
}


.context-layout {
    display:block;
}


.context-copy h2 {
    max-width:25rem;

    margin:1rem 0 0;

    font-size:
        clamp(
            2.85rem,
            12.7vw,
            4.4rem
        );

    line-height:.92;

    font-weight:700;
    letter-spacing:-.051em;
}


.context-copy > p:not(.eyebrow) {
    max-width:27rem;

    margin:1.2rem 0 0;

    color:rgba(235,235,245,.54);

    font-size:.94rem;
    line-height:1.55;
}


.context-copy > p + p {
    color:rgba(245,245,247,.77);
}


.context-console {
    width:calc(100% + var(--side));

    min-height:0;

    margin:
        3.8rem
        calc(var(--side) * -1)
        0
        0;

    overflow:hidden;

    border-radius:
        var(--r-large)
        0
        0
        var(--r-large);

    background:#101012;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.065),
        inset 0 0 0 .5px rgba(255,255,255,.05),
        0 1.5rem 4rem rgba(0,0,0,.38);
}


.console-bar {
    min-height:3.1rem;

    display:flex;
    align-items:center;

    gap:.38rem;

    padding:0 1rem;

    border-bottom:.5px solid rgba(255,255,255,.07);
}


.console-bar > span {
    width:.48rem;
    height:.48rem;

    border-radius:50%;

    background:rgba(235,235,245,.17);
}


.console-bar > span:nth-child(1) {
    background:rgba(255,69,58,.68);
}


.console-bar > span:nth-child(2) {
    background:rgba(255,214,10,.63);
}


.console-bar > span:nth-child(3) {
    background:rgba(48,209,88,.55);
}


.console-bar p {
    margin:0 0 0 .45rem;

    color:rgba(235,235,245,.3);

    font-family:var(--font-mono);
    font-size:.58rem;
}


.context-data {
    padding:
        1.25rem
        1rem;
}


.context-data > div {
    min-height:2.45rem;

    display:grid;
    grid-template-columns:6.8rem minmax(0,1fr);

    align-items:center;

    border-bottom:.5px solid rgba(255,255,255,.05);
}


.context-data > div:last-child {
    border-bottom:0;
}


.context-data span,
.context-question > span,
.context-response > span {
    color:rgba(235,235,245,.28);

    font-family:var(--font-mono);
    font-size:.58rem;
    line-height:1.3;
}


.context-data strong {
    min-width:0;

    color:rgba(245,245,247,.75);

    font-family:var(--font-mono);
    font-size:.65rem;
    line-height:1.3;

    font-weight:500;

    overflow:hidden;
    text-overflow:ellipsis;
}


.context-question,
.context-response {
    margin:0 1rem;

    padding:1.15rem 0;
}


.context-question {
    border-top:.5px solid rgba(255,255,255,.07);
}


.context-question p,
.context-response p {
    margin:.5rem 0 0;

    font-size:.76rem;
    line-height:1.5;
}


.context-question p {
    max-width:22rem;

    color:rgba(235,235,245,.53);
}


.context-response {
    margin-bottom:1rem;

    padding:
        1rem
        .95rem;

    border-radius:var(--r-medium);

    background:rgba(255,255,255,.055);

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.03),
        inset 0 0 0 .5px rgba(255,255,255,.05);
}


.context-response > span {
    color:var(--cyan);
}


.context-response p {
    max-width:23rem;

    color:rgba(245,245,247,.88);
}


.implementation-section {
    padding:
        7rem
        0;

    background:#0b0b0d;
}


.implementation-heading {
    padding:
        0
        var(--side);
}


.implementation-heading h2 {
    max-width:26rem;

    margin:1rem 0 0;

    font-size:
        clamp(
            2.9rem,
            13vw,
            4.5rem
        );

    line-height:.92;

    font-weight:700;
    letter-spacing:-.052em;
}


.implementation-heading > p:not(.eyebrow) {
    max-width:26rem;

    margin:1.25rem 0 0;

    color:rgba(235,235,245,.53);

    font-size:.91rem;
    line-height:1.52;
}


.implementation-section .code-window {
    width:calc(100% - .9rem);

    margin:
        3.6rem
        0
        0
        .9rem;

    border-radius:
        var(--r-large)
        0
        0
        var(--r-large);
}


.implementation-bottom {
    display:block;

    padding:
        1.7rem
        var(--side)
        0;
}


.implementation-bottom > div {
    max-width:26rem;
}


.implementation-bottom strong {
    display:block;

    font-size:
        clamp(
            1.7rem,
            7vw,
            2.25rem
        );

    line-height:1.02;

    font-weight:650;
    letter-spacing:-.035em;
}


.implementation-bottom p {
    max-width:24rem;

    margin:.65rem 0 0;

    color:rgba(235,235,245,.49);

    font-size:.84rem;
    line-height:1.5;
}


.implementation-bottom .button {
    margin-top:1.4rem;
}


.implementation-section .code-window-small {
    width:calc(100% - 1.8rem);

    margin:
        3.3rem
        .9rem
        0;

    border-radius:var(--r-large);
}


.capability-section {
    padding:
        7rem
        0;

    background:#000;
}


.capability-heading {
    padding:
        0
        var(--side);
}


.capability-heading h2 {
    max-width:26rem;

    margin:1rem 0 0;

    font-size:
        clamp(
            2.85rem,
            12.8vw,
            4.45rem
        );

    line-height:.92;

    font-weight:700;
    letter-spacing:-.05em;
}


.capability-flow {
    margin-top:3.8rem;

    border-top:.5px solid var(--separator);
}


.capability-flow article {
    min-height:0;

    display:block;

    padding:
        1.9rem
        var(--side)
        2.1rem;

    border-bottom:.5px solid var(--separator);
}


.capability-label {
    display:block;

    margin-bottom:1.1rem;

    color:var(--blue-bright);

    font-family:var(--font-mono);
    font-size:.58rem;
    line-height:1.2;
    letter-spacing:.04em;
}


.capability-flow h3 {
    max-width:22rem;

    margin:0;

    font-size:
        clamp(
            1.85rem,
            8vw,
            2.55rem
        );

    line-height:.99;

    font-weight:650;
    letter-spacing:-.038em;
}


.capability-flow p {
    max-width:25rem;

    margin:1rem 0 0;

    color:rgba(235,235,245,.51);

    font-size:.87rem;
    line-height:1.52;
}


.capability-link {
    display:flex;
    justify-content:flex-start;

    padding:
        .9rem
        var(--side)
        0;
}


.capability-link a {
    min-height:44px;

    display:inline-flex;
    align-items:center;

    gap:.4rem;

    color:rgba(245,245,247,.75);

    font-size:.82rem;
    font-weight:620;
}


.capability-link a span {
    color:var(--blue-bright);
}


.control-section {
    padding:
        7rem
        0;

    background:#0a0a0c;
}


.control-layout {
    display:block;
}


.control-main h2 {
    max-width:27rem;

    margin:1rem 0 0;

    font-size:
        clamp(
            2.95rem,
            13.2vw,
            4.55rem
        );

    line-height:.91;

    font-weight:700;
    letter-spacing:-.053em;
}


.control-copy {
    margin-top:3.3rem;
}


.control-copy p {
    max-width:27rem;

    margin:0;

    color:rgba(235,235,245,.52);

    font-size:.92rem;
    line-height:1.56;
}


.control-copy p + p {
    margin-top:1.1rem;
}


.control-copy p:nth-of-type(3) {
    color:rgba(245,245,247,.79);
}


.comparison-section {
    padding:
        7rem
        0;

    background:#000;

    overflow:hidden;
}


.comparison-heading {
    padding:
        0
        var(--side);
}


.comparison-heading h2 {
    max-width:27rem;

    margin:1rem 0 0;

    font-size:
        clamp(
            2.8rem,
            12.6vw,
            4.35rem
        );

    line-height:.93;

    font-weight:700;
    letter-spacing:-.05em;
}


.comparison-table {
    width:max-content;
    min-width:100%;

    margin-top:3.8rem;

    border-top:.5px solid rgba(255,255,255,.12);

    overflow:visible;
}


.comparison-row {
    width:max-content;
    min-width:100%;

    display:grid;

    grid-template-columns:
        8.4rem
        11.2rem
        13.5rem;

    align-items:center;

    min-height:5rem;

    padding:
        0
        var(--side);

    gap:1rem;

    border-bottom:.5px solid var(--separator);
}


.comparison-table {
    overflow-x:auto;

    scrollbar-width:none;

    -webkit-overflow-scrolling:touch;
}


.comparison-table::-webkit-scrollbar {
    display:none;
}


.comparison-row > span {
    color:rgba(245,245,247,.83);

    font-size:.76rem;
    line-height:1.32;
    font-weight:620;
}


.comparison-row > strong {
    color:rgba(235,235,245,.38);

    font-size:.73rem;
    line-height:1.4;
    font-weight:500;
}


.comparison-row > strong:last-child {
    color:rgba(245,245,247,.85);
}


.comparison-head {
    min-height:3.6rem;
}


.comparison-head > strong {
    color:rgba(235,235,245,.27);

    font-family:var(--font-mono);
    font-size:.54rem;
    line-height:1.2;
    font-weight:500;

    letter-spacing:.025em;
    text-transform:uppercase;
}


.comparison-head > strong:last-child {
    color:rgba(100,210,255,.64);
}


.live-product-section {
    position:relative;

    padding:
        7rem
        0;

    background:#09090b;

    overflow:hidden;
}


.live-product-layout {
    display:block;
}


.live-product-layout h2 {
    max-width:27rem;

    margin:1rem 0 0;

    font-size:
        clamp(
            2.9rem,
            13vw,
            4.5rem
        );

    line-height:.92;

    font-weight:700;
    letter-spacing:-.052em;
}


.live-product-copy {
    margin-top:3rem;
}


.live-product-copy p {
    max-width:26rem;

    margin:0;

    color:rgba(235,235,245,.52);

    font-size:.91rem;
    line-height:1.54;
}


.live-product-copy p + p {
    margin-top:1.1rem;

    color:rgba(245,245,247,.76);
}


.closing-section {
    position:relative;

    margin:.45rem;

    padding:
        6.8rem
        calc(var(--side) - .45rem);

    overflow:hidden;

    border-radius:2rem;

    background:
        linear-gradient(
            180deg,
            #09090b,
            #030304
        );

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.04),
        inset 0 0 0 .5px rgba(255,255,255,.065);
}


.closing-inner {
    width:100%;

    text-align:left;
}


.closing-section h2 {
    max-width:28rem;

    margin:1rem 0 0;

    font-size:
        clamp(
            3.05rem,
            13.7vw,
            4.65rem
        );

    line-height:.91;

    font-weight:700;
    letter-spacing:-.054em;
}


.closing-copy {
    max-width:25rem;

    margin:1.45rem 0 0;

    color:rgba(235,235,245,.54);

    font-size:.91rem;
    line-height:1.52;
}


.closing-actions {
    display:flex;
    align-items:center;

    gap:.55rem;

    margin-top:1.65rem;
}


.closing-contact {
    display:block;

    margin-top:2.25rem;

    color:rgba(235,235,245,.34);

    font-size:.71rem;
    line-height:1.4;
}


.closing-contact span {
    display:block;
}


.closing-contact a {
    display:inline-block;

    margin-top:.25rem;

    color:rgba(245,245,247,.82);

    font-size:.78rem;
}


.closing-contact a:active {
    opacity:.5;
}


@media (max-width:390px) {
    .hero {
        padding-top:8.8rem;
    }

    .hero h1 {
        font-size:
            clamp(
                3.05rem,
                15vw,
                4rem
            );
    }

    .hero-actions,
    .closing-actions {
        gap:.45rem;
    }

    .hero-actions .button,
    .closing-actions .button {
        padding-inline:.95rem;

        font-size:.84rem;
    }

    .loss-question {
        padding-right:4rem;
    }

    .loss-cost {
        max-width:3.8rem;

        text-align:right;
    }

    .comparison-row {
        grid-template-columns:
            7.8rem
            10.5rem
            12.5rem;
    }
}


@media (max-width:350px) {
    .hero-actions,
    .closing-actions {
        align-items:stretch;
        flex-direction:column;
    }

    .hero-actions .button,
    .closing-actions .button {
        width:100%;
    }

    .loss-question {
        padding-right:0;
    }

    .loss-cost {
        position:static;

        max-width:none;

        margin-top:1rem;

        text-align:left;
    }
}


@media (prefers-contrast:more) {
    .loss-list,
    .capability-flow,
    .comparison-table {
        border-top-color:rgba(255,255,255,.34);
    }

    .loss-row,
    .capability-flow article,
    .comparison-row {
        border-bottom-color:rgba(255,255,255,.27);
    }

    .context-console,
    .closing-section {
        box-shadow:
            inset 0 0 0 1px rgba(255,255,255,.34);
    }
}


@media (prefers-reduced-motion:reduce) {
    .context-console,
    .hero-signal {
        transform:none !important;
    }
}