:root {
                --ink-900: #07080a;
                --ink-850: #0b0d10;
                --ink-800: #101317;
                --ink-700: #171b21;
                --ink-600: #1f2530;
                --line: #262c36;
                --line-soft: #1a1f27;
                --fg: #e7ebf0;
                --fg-dim: #9aa4b2;
                --fg-faint: #5c6675;
                --acid: #cffb50;
                --acid-2: #c6f135;
                --acid-deep: #9fc41f;
                --danger: #ff6b5e;
                --blue: #6fb0ff;
                --mono:
                    "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;
                --sans: "IBM Plex Sans", system-ui, sans-serif;
            }

            * {
                box-sizing: border-box;
            }
            html {
                scroll-behavior: smooth;
            }
            body {
                margin: 0;
                background: var(--ink-900);
                color: var(--fg);
                font-family: var(--sans);
                -webkit-font-smoothing: antialiased;
                overflow-x: hidden;
                line-height: 1.55;
            }

            /* ---------- atmosphere ---------- */
            .bg-layer {
                position: fixed;
                inset: 0;
                z-index: 0;
                pointer-events: none;
            }
            .bg-grid {
                background-image:
                    linear-gradient(
                        to right,
                        rgba(255, 255, 255, 0.035) 1px,
                        transparent 1px
                    ),
                    linear-gradient(
                        to bottom,
                        rgba(255, 255, 255, 0.035) 1px,
                        transparent 1px
                    );
                background-size: 64px 64px;
                mask-image: radial-gradient(
                    ellipse 90% 60% at 50% 0%,
                    #000 35%,
                    transparent 78%
                );
                -webkit-mask-image: radial-gradient(
                    ellipse 90% 60% at 50% 0%,
                    #000 35%,
                    transparent 78%
                );
            }
            .bg-glow {
                background:
                    radial-gradient(
                        620px 420px at 78% -8%,
                        rgba(207, 251, 80, 0.1),
                        transparent 60%
                    ),
                    radial-gradient(
                        720px 520px at 8% 4%,
                        rgba(111, 176, 255, 0.06),
                        transparent 60%
                    );
            }
            .bg-grain {
                opacity: 0.05;
                mix-blend-mode: overlay;
                background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
            }
            .scanlines {
                background-image: repeating-linear-gradient(
                    to bottom,
                    rgba(0, 0, 0, 0) 0px,
                    rgba(0, 0, 0, 0) 2px,
                    rgba(0, 0, 0, 0.18) 3px
                );
                opacity: 0.4;
                mix-blend-mode: multiply;
            }

            .wrap {
                position: relative;
                z-index: 1;
                max-width: 1200px;
                margin: 0 auto;
                padding: 0 28px;
            }
            .mono {
                font-family: var(--mono);
            }
            .acid {
                color: var(--acid);
            }
            .dim {
                color: var(--fg-dim);
            }

            /* ---------- nav ---------- */
            nav {
                position: sticky;
                top: 0;
                z-index: 50;
                border-bottom: 1px solid var(--line-soft);
                background: rgba(7, 8, 10, 0.72);
                backdrop-filter: blur(12px) saturate(140%);
            }
            .nav-inner {
                display: flex;
                align-items: center;
                gap: 24px;
                height: 60px;
            }
            .wordmark {
                font-family: var(--mono);
                font-weight: 600;
                font-size: 18px;
                letter-spacing: -0.01em;
                color: var(--fg);
                text-decoration: none;
                display: inline-flex;
                align-items: center;
            }
            .wordmark .brand-mark {
                width: 22px;
                height: 22px;
                margin-right: 9px;
                color: var(--acid);
                flex: none;
            }
            .wordmark .cur {
                color: var(--acid);
                margin-left: 1px;
                animation: blink 1.15s steps(1) infinite;
            }
            @keyframes blink {
                0%,
                49% {
                    opacity: 1;
                }
                50%,
                100% {
                    opacity: 0;
                }
            }
            .nav-links {
                display: flex;
                gap: 22px;
                margin-left: 8px;
            }
            .nav-links a {
                font-family: var(--mono);
                font-size: 13px;
                color: var(--fg-dim);
                text-decoration: none;
                transition: color 0.18s;
                position: relative;
                padding: 4px 0;
            }
            .nav-links a:hover {
                color: var(--fg);
            }
            .nav-links a::after {
                content: "";
                position: absolute;
                left: 0;
                bottom: -2px;
                height: 1px;
                width: 0;
                background: var(--acid);
                transition: width 0.2s;
            }
            .nav-links a:hover::after {
                width: 100%;
            }
            .nav-right {
                margin-left: auto;
                display: flex;
                align-items: center;
                gap: 14px;
            }
            .btn {
                font-family: var(--mono);
                font-size: 13px;
                font-weight: 500;
                text-decoration: none;
                border-radius: 8px;
                padding: 9px 16px;
                display: inline-flex;
                align-items: center;
                gap: 8px;
                transition:
                    transform 0.15s,
                    box-shadow 0.2s,
                    background 0.2s,
                    color 0.2s,
                    border-color 0.2s;
                border: 1px solid transparent;
                white-space: nowrap;
                cursor: pointer;
            }
            .btn-acid {
                background: var(--acid);
                color: #0a0d05;
                font-weight: 600;
                box-shadow:
                    0 0 0 1px rgba(207, 251, 80, 0.3),
                    0 8px 28px -10px rgba(207, 251, 80, 0.5);
            }
            .btn-acid:hover {
                transform: translateY(-1px);
                box-shadow:
                    0 0 0 1px rgba(207, 251, 80, 0.5),
                    0 12px 34px -10px rgba(207, 251, 80, 0.7);
            }
            .btn-ghost {
                border-color: var(--line);
                color: var(--fg-dim);
                background: var(--ink-800);
            }
            .btn-ghost:hover {
                color: var(--fg);
                border-color: #39424f;
                transform: translateY(-1px);
            }

            /* ---------- hero ---------- */
            header.hero {
                padding: 72px 0 36px;
                position: relative;
            }
            .hero-grid {
                display: grid;
                grid-template-columns: 1.04fr 0.96fr;
                gap: 50px;
                align-items: start;
            }
            .eyebrow {
                display: inline-flex;
                align-items: center;
                gap: 10px;
                font-family: var(--mono);
                font-size: 12.5px;
                letter-spacing: 0.04em;
                color: var(--fg-dim);
                border: 1px solid var(--line);
                border-radius: 999px;
                padding: 6px 14px;
                background: rgba(16, 19, 23, 0.6);
            }
            .eyebrow b {
                color: var(--acid);
                font-weight: 500;
            }
            h1.hero-h {
                font-family: var(--mono);
                font-weight: 600;
                font-size: clamp(40px, 6vw, 74px);
                line-height: 0.96;
                letter-spacing: -0.035em;
                margin: 22px 0 0;
                color: var(--fg);
            }
            h1.hero-h .term-cur {
                display: inline-block;
                width: 0.5em;
                height: 0.82em;
                vertical-align: -0.04em;
                margin-left: 0.06em;
                background: var(--acid);
                animation: blink 1.05s steps(1) infinite;
                box-shadow: 0 0 16px rgba(207, 251, 80, 0.6);
            }
            .hero-sub {
                font-size: clamp(15.5px, 1.5vw, 18.5px);
                color: var(--fg-dim);
                max-width: 560px;
                margin: 24px 0 0;
                line-height: 1.6;
            }
            .hero-sub .code-chip {
                font-family: var(--mono);
                font-size: 0.86em;
                color: var(--acid);
                background: var(--ink-800);
                border: 1px solid var(--line);
                border-radius: 6px;
                padding: 1px 7px;
            }
            .hero-sub b {
                color: var(--fg);
                font-weight: 600;
            }
            .hero-cta {
                display: flex;
                flex-wrap: wrap;
                gap: 14px;
                margin-top: 30px;
            }
            .hero-cta .btn {
                font-size: 14px;
                padding: 12px 20px;
            }

            /* generic reveal */
            .rv {
                opacity: 0;
                transform: translateY(18px);
                transition:
                    opacity 0.7s cubic-bezier(0.2, 0.7, 0.2, 1),
                    transform 0.7s cubic-bezier(0.2, 0.7, 0.2, 1);
            }
            .rv.in {
                opacity: 1;
                transform: none;
            }
            .load {
                opacity: 0;
                transform: translateY(14px);
                animation: rise 0.8s cubic-bezier(0.2, 0.7, 0.2, 1) forwards;
            }
            @keyframes rise {
                to {
                    opacity: 1;
                    transform: none;
                }
            }

            /* ---------- GRAPHIC 1: chat widget mock ---------- */
            .chat {
                border: 1px solid var(--line);
                border-radius: 16px;
                overflow: hidden;
                background: linear-gradient(
                    180deg,
                    var(--ink-850),
                    var(--ink-900)
                );
                box-shadow:
                    0 40px 100px -40px rgba(0, 0, 0, 0.9),
                    inset 0 1px 0 rgba(255, 255, 255, 0.03);
                position: relative;
            }
            .chat::before {
                content: "";
                position: absolute;
                inset: 0;
                border-radius: 16px;
                padding: 1px;
                pointer-events: none;
                background: linear-gradient(
                    160deg,
                    rgba(207, 251, 80, 0.35),
                    transparent 38%
                );
                -webkit-mask:
                    linear-gradient(#000 0 0) content-box,
                    linear-gradient(#000 0 0);
                -webkit-mask-composite: xor;
                mask-composite: exclude;
            }
            .chat-head {
                display: flex;
                align-items: center;
                gap: 11px;
                padding: 14px 16px;
                border-bottom: 1px solid var(--line-soft);
                background: var(--ink-800);
            }
            .chat-ava {
                width: 34px;
                height: 34px;
                border-radius: 9px;
                background: linear-gradient(
                    135deg,
                    var(--acid),
                    var(--acid-deep)
                );
                color: #0a0d05;
                font-weight: 700;
                display: flex;
                align-items: center;
                justify-content: center;
                font-size: 15px;
                flex: none;
            }
            .chat-id {
                line-height: 1.25;
            }
            .chat-id .nm {
                font-size: 14px;
                font-weight: 600;
                color: var(--fg);
            }
            .chat-id .st {
                font-family: var(--mono);
                font-size: 11px;
                color: var(--fg-faint);
                display: flex;
                align-items: center;
                gap: 6px;
            }
            .chat-id .st .on {
                width: 6px;
                height: 6px;
                border-radius: 50%;
                background: var(--acid);
                box-shadow: 0 0 8px rgba(207, 251, 80, 0.8);
            }
            .chat-tag {
                margin-left: auto;
                font-family: var(--mono);
                font-size: 10.5px;
                color: var(--fg-faint);
                border: 1px solid var(--line);
                border-radius: 6px;
                padding: 3px 8px;
            }
            .chat-body {
                padding: 16px 16px;
                display: flex;
                flex-direction: column;
                gap: 12px;
                min-height: 140px;
            }
            .bub {
                max-width: 84%;
                padding: 10px 13px;
                border-radius: 13px;
                font-size: 13.5px;
                line-height: 1.5;
                opacity: 0;
                transform: translateY(8px);
                animation: bubIn 0.4s cubic-bezier(0.2, 0.7, 0.2, 1) forwards;
            }
            @keyframes bubIn {
                to {
                    opacity: 1;
                    transform: none;
                }
            }
            .bub.user {
                align-self: flex-end;
                background: var(--ink-700);
                border: 1px solid var(--line);
                color: var(--fg);
                border-bottom-right-radius: 5px;
            }
            .bub.bot {
                align-self: flex-start;
                background: rgba(207, 251, 80, 0.07);
                border: 1px solid rgba(207, 251, 80, 0.22);
                color: var(--fg);
                border-bottom-left-radius: 5px;
            }
            .bub .cursor {
                display: inline-block;
                width: 0.5em;
                height: 1em;
                background: var(--acid);
                vertical-align: -0.12em;
                margin-left: 1px;
                animation: blink 1s steps(1) infinite;
            }
            .typing {
                display: inline-flex;
                gap: 4px;
                align-items: center;
            }
            .typing i {
                width: 6px;
                height: 6px;
                border-radius: 50%;
                background: var(--fg-faint);
                animation: td 1.2s infinite;
            }
            .typing i:nth-child(2) {
                animation-delay: 0.18s;
            }
            .typing i:nth-child(3) {
                animation-delay: 0.36s;
            }
            @keyframes td {
                0%,
                60%,
                100% {
                    opacity: 0.3;
                    transform: translateY(0);
                }
                30% {
                    opacity: 1;
                    transform: translateY(-3px);
                }
            }
            .chat-input {
                display: flex;
                align-items: center;
                gap: 10px;
                padding: 12px 14px;
                border-top: 1px solid var(--line-soft);
                background: var(--ink-850);
            }
            .chat-input .field {
                flex: 1;
                font-family: var(--sans);
                font-size: 13px;
                color: var(--fg-faint);
            }
            .chat-input .send {
                width: 30px;
                height: 30px;
                border-radius: 8px;
                background: var(--acid);
                color: #0a0d05;
                display: flex;
                align-items: center;
                justify-content: center;
                flex: none;
            }
            .chat-cap {
                margin-top: 12px;
                text-align: center;
                font-family: var(--mono);
                font-size: 11.5px;
                color: var(--fg-faint);
            }
            .chat-cap b {
                color: var(--fg-dim);
                font-weight: 400;
            }

            /* ---------- hero stage: folder → git push → chat ---------- */
            .hero-stage {
                display: flex;
                flex-direction: column;
            }
            .folder-card {
                border: 1px solid var(--line);
                border-radius: 13px;
                overflow: hidden;
                background: linear-gradient(
                    180deg,
                    var(--ink-850),
                    var(--ink-900)
                );
                box-shadow: 0 24px 60px -46px rgba(0, 0, 0, 0.9);
            }
            .fc-bar {
                display: flex;
                align-items: center;
                gap: 10px;
                padding: 9px 13px;
                border-bottom: 1px solid var(--line-soft);
                background: var(--ink-800);
            }
            .fc-bar .dots {
                display: flex;
                gap: 6px;
            }
            .fc-bar .dots i {
                width: 9px;
                height: 9px;
                border-radius: 50%;
                display: block;
                opacity: 0.85;
            }
            .fc-bar .dots i:nth-child(1) {
                background: #ff5f57;
            }
            .fc-bar .dots i:nth-child(2) {
                background: #febc2e;
            }
            .fc-bar .dots i:nth-child(3) {
                background: #28c840;
            }
            .fc-title {
                display: inline-flex;
                align-items: center;
                gap: 7px;
                font-family: var(--mono);
                font-size: 12.5px;
                color: var(--fg-dim);
            }
            .fc-title svg {
                width: 14px;
                height: 14px;
                color: var(--acid);
                flex: none;
            }
            .fc-body {
                padding: 13px 15px;
            }
            .ftree {
                margin-top: 0;
            }
            .tnode {
                display: flex;
                align-items: center;
                gap: 8px;
                padding: 3px 0;
                font-family: var(--mono);
                font-size: 12.5px;
                color: var(--fg-dim);
            }
            .tnode svg {
                width: 14px;
                height: 14px;
                flex: none;
                color: var(--fg-faint);
            }
            .tnode.dir {
                color: var(--fg);
            }
            .tnode.dir svg {
                color: var(--acid-deep);
            }
            .tnode .cmt {
                color: var(--fg-faint);
                font-size: 11px;
                margin-left: auto;
            }
            .tnest {
                margin-left: 7px;
                padding-left: 14px;
                border-left: 1px solid var(--line);
            }
            .push-arrow {
                position: relative;
                height: 58px;
                display: flex;
                align-items: center;
                justify-content: center;
            }
            .push-arrow svg {
                position: absolute;
                left: 0;
                top: 0;
                width: 100%;
                height: 100%;
                overflow: visible;
            }
            .push-arrow .pflow {
                stroke: var(--acid);
                stroke-width: 2;
                fill: none;
                stroke-dasharray: 5 6;
                animation: dashmove 1.1s linear infinite;
                opacity: 0.9;
            }
            @keyframes dashmove {
                to {
                    stroke-dashoffset: -22;
                }
            }
            .push-arrow .phead {
                stroke: var(--acid);
                stroke-width: 2;
                fill: none;
                stroke-linecap: round;
                stroke-linejoin: round;
            }
            .push-lbl {
                position: relative;
                z-index: 1;
                font-family: var(--mono);
                font-size: 11.5px;
                color: var(--acid);
                background: var(--ink-900);
                border: 1px solid rgba(207, 251, 80, 0.32);
                border-radius: 7px;
                padding: 4px 10px;
                box-shadow: 0 0 0 6px var(--ink-900);
            }
            /* hero composition: folder ~40% left, chat ~80% right */
            .hero-stage .folder-card {
                width: 40%;
                align-self: flex-start;
            }
            .hero-stage .push-arrow {
                width: 56%;
                align-self: flex-start;
                justify-content: flex-start;
                padding-left: 8px;
            }
            .hero-stage .chat {
                width: 80%;
                align-self: flex-end;
            }
            @media (max-width: 560px) {
                .hero-stage .folder-card {
                    width: 64%;
                }
                .hero-stage .push-arrow {
                    width: 80%;
                }
                .hero-stage .chat {
                    width: 100%;
                }
            }

            /* ---------- connect fan-in diagram ---------- */
            .fanin {
                border: 1px solid var(--line-soft);
                border-radius: 14px;
                background: linear-gradient(
                    180deg,
                    var(--ink-850),
                    var(--ink-900)
                );
                padding: 16px 14px;
            }
            .fanin svg {
                width: 100%;
                height: auto;
                display: block;
            }
            .fanin .fnode-rect {
                fill: var(--ink-800);
                stroke: var(--line);
            }
            .fanin .fend-rect {
                fill: rgba(207, 251, 80, 0.06);
                stroke: rgba(207, 251, 80, 0.4);
            }
            .fanin .glabel {
                fill: var(--fg);
                font-family: var(--mono);
                font-size: 12px;
            }
            .fanin .gsub {
                fill: var(--fg-faint);
                font-family: var(--mono);
                font-size: 10px;
            }
            .fanin .gend {
                fill: var(--acid);
                font-family: var(--mono);
                font-size: 13px;
                font-weight: 600;
            }
            .fanin .conn {
                stroke: #2c3440;
                stroke-width: 1.6;
                fill: none;
                stroke-linecap: round;
            }
            .fanin .plabel-bg {
                fill: var(--ink-900);
                stroke: var(--line-soft);
            }
            .fanin .plabel {
                fill: var(--acid-deep);
                font-family: var(--mono);
                font-size: 10.5px;
            }
            .fanin .wic {
                stroke: var(--acid);
                stroke-width: 1.5;
                fill: none;
            }
            .fanin .pdot {
                fill: var(--acid);
            }
            .fanin-cap {
                text-align: center;
                font-family: var(--mono);
                font-size: 11.5px;
                color: var(--fg-faint);
                margin-top: 12px;
            }
            @media (prefers-reduced-motion: reduce) {
                .push-arrow .pflow {
                    animation: none;
                }
                .fanin .pdot {
                    display: none;
                }
            }

            /* ---------- GRAPHIC 2: ship→serve flow ---------- */
            .flowband {
                padding: 30px 0 64px;
            }
            .flow-cap {
                font-family: var(--mono);
                font-size: 12px;
                letter-spacing: 0.14em;
                text-transform: uppercase;
                color: var(--fg-faint);
                text-align: center;
                margin-bottom: 24px;
            }
            .flow-cap b {
                color: var(--acid);
                font-weight: 500;
            }
            .flow {
                display: flex;
                align-items: stretch;
                gap: 0;
            }
            .fnode {
                flex: 1 1 0;
                min-width: 0;
                border: 1px solid var(--line);
                border-radius: 13px;
                background: linear-gradient(
                    180deg,
                    var(--ink-850),
                    var(--ink-900)
                );
                padding: 16px 14px;
                text-align: center;
                position: relative;
                transition: 0.25s;
            }
            .fnode:hover {
                border-color: rgba(207, 251, 80, 0.4);
                transform: translateY(-3px);
            }
            .fnode .fic {
                width: 26px;
                height: 26px;
                margin: 0 auto 9px;
                color: var(--acid);
                display: block;
            }
            .fnode .ft {
                font-size: 13.5px;
                font-weight: 600;
                color: var(--fg);
                line-height: 1.2;
            }
            .fnode .fs {
                font-family: var(--mono);
                font-size: 11px;
                color: var(--fg-faint);
                margin-top: 5px;
                display: block;
                line-height: 1.4;
            }
            .fconn {
                flex: 0 0 56px;
                align-self: center;
                position: relative;
                height: 34px;
                display: flex;
                align-items: center;
                justify-content: center;
            }
            .fconn .track {
                position: absolute;
                left: 0;
                right: 0;
                top: 50%;
                height: 2px;
                transform: translateY(-50%);
                background: linear-gradient(to right, var(--line), var(--line));
                overflow: hidden;
                border-radius: 2px;
            }
            .fconn .track::after {
                content: "";
                position: absolute;
                top: 0;
                left: -40%;
                width: 40%;
                height: 100%;
                background: linear-gradient(
                    to right,
                    transparent,
                    var(--acid),
                    transparent
                );
                animation: flow 2.2s linear infinite;
            }
            @keyframes flow {
                0% {
                    left: -45%;
                }
                100% {
                    left: 105%;
                }
            }
            .fconn .lbl {
                position: relative;
                font-family: var(--mono);
                font-size: 10px;
                color: var(--acid-deep);
                background: var(--ink-900);
                padding: 2px 6px;
                border-radius: 5px;
                border: 1px solid var(--line-soft);
                white-space: nowrap;
            }
            @media (max-width: 860px) {
                .flow {
                    flex-direction: column;
                    align-items: stretch;
                    gap: 0;
                }
                .fconn {
                    flex: 0 0 34px;
                    height: 34px;
                    width: 100%;
                }
                .fconn .track {
                    left: 50%;
                    right: auto;
                    top: 0;
                    bottom: 0;
                    width: 2px;
                    height: 100%;
                    transform: translateX(-50%);
                }
                .fconn .track::after {
                    left: 0;
                    top: -45%;
                    width: 100%;
                    height: 40%;
                    background: linear-gradient(
                        to bottom,
                        transparent,
                        var(--acid),
                        transparent
                    );
                    animation: flowv 2.2s linear infinite;
                }
            }
            @keyframes flowv {
                0% {
                    top: -45%;
                }
                100% {
                    top: 105%;
                }
            }

            /* ---------- section scaffolding ---------- */
            section {
                position: relative;
                padding: 74px 0;
            }
            .sec-label {
                display: flex;
                align-items: center;
                gap: 14px;
                margin-bottom: 30px;
            }
            .sec-label .num {
                font-family: var(--mono);
                font-size: 12px;
                color: var(--acid);
                letter-spacing: 0.1em;
            }
            .sec-label .ln {
                flex: 1;
                height: 1px;
                background: linear-gradient(to right, var(--line), transparent);
            }
            .sec-title {
                font-family: var(--sans);
                font-weight: 700;
                font-size: clamp(26px, 4vw, 40px);
                line-height: 1.08;
                letter-spacing: -0.02em;
                margin: 0 0 14px;
                max-width: 760px;
            }
            .sec-lede {
                color: var(--fg-dim);
                font-size: 16.5px;
                max-width: 680px;
                margin: 0;
                line-height: 1.65;
            }
            .sec-lede b {
                color: var(--fg);
            }

            /* ---------- terminal centerpiece ---------- */
            .term {
                border: 1px solid var(--line);
                border-radius: 14px;
                overflow: hidden;
                background: linear-gradient(
                    180deg,
                    var(--ink-850),
                    var(--ink-900)
                );
                box-shadow:
                    0 40px 100px -40px rgba(0, 0, 0, 0.9),
                    inset 0 1px 0 rgba(255, 255, 255, 0.03);
                position: relative;
            }
            .term::after {
                content: "";
                position: absolute;
                inset: 0;
                pointer-events: none;
                border-radius: 14px;
                background: repeating-linear-gradient(
                    to bottom,
                    transparent 0 2px,
                    rgba(0, 0, 0, 0.12) 3px
                );
                opacity: 0.35;
                mix-blend-mode: multiply;
            }
            .term-bar {
                display: flex;
                align-items: center;
                gap: 14px;
                padding: 11px 16px;
                border-bottom: 1px solid var(--line-soft);
                background: var(--ink-800);
            }
            .dots {
                display: flex;
                gap: 7px;
            }
            .dots i {
                width: 11px;
                height: 11px;
                border-radius: 50%;
                display: block;
                opacity: 0.85;
            }
            .dots i:nth-child(1) {
                background: #ff5f57;
            }
            .dots i:nth-child(2) {
                background: #febc2e;
            }
            .dots i:nth-child(3) {
                background: #28c840;
            }
            .term-title {
                font-family: var(--mono);
                font-size: 12px;
                color: var(--fg-faint);
                letter-spacing: 0.02em;
            }
            .term-tag {
                margin-left: auto;
                font-family: var(--mono);
                font-size: 11px;
                color: var(--fg-faint);
            }
            .term-body {
                font-family: var(--mono);
                font-size: 14px;
                line-height: 1.85;
                padding: 22px 22px 26px;
                position: relative;
                z-index: 1;
                min-height: 340px;
            }
            .ln-row {
                display: flex;
                gap: 12px;
                white-space: pre-wrap;
                opacity: 0;
                transform: translateY(6px);
            }
            .ln-row.play {
                animation: lineIn 0.45s cubic-bezier(0.2, 0.7, 0.2, 1) forwards;
            }
            @keyframes lineIn {
                to {
                    opacity: 1;
                    transform: none;
                }
            }
            .pf {
                color: var(--acid);
                user-select: none;
            }
            .pf.dim {
                color: var(--fg-faint);
            }
            .gray {
                color: var(--fg-faint);
            }
            .cmd {
                color: var(--fg);
            }
            .ok {
                color: var(--acid);
            }
            .bld {
                color: var(--fg);
            }
            .badge-ver {
                font-family: var(--mono);
                font-size: 11.5px;
                color: var(--acid);
                border: 1px solid rgba(207, 251, 80, 0.4);
                border-radius: 5px;
                padding: 1px 7px;
                background: rgba(207, 251, 80, 0.07);
            }
            .live-row {
                margin-top: 8px;
                padding-top: 14px;
                border-top: 1px dashed var(--line);
                display: flex;
                align-items: center;
                gap: 12px;
                flex-wrap: wrap;
                opacity: 0;
                transform: translateY(6px);
            }
            .live-row.play {
                animation: lineIn 0.5s cubic-bezier(0.2, 0.7, 0.2, 1) forwards;
            }
            .live-chk {
                width: 22px;
                height: 22px;
                border-radius: 50%;
                background: var(--acid);
                color: #0a0d05;
                display: inline-flex;
                align-items: center;
                justify-content: center;
                font-weight: 700;
                font-size: 13px;
                flex: none;
                box-shadow: 0 0 18px rgba(207, 251, 80, 0.5);
            }
            .live-url {
                font-family: var(--mono);
                font-size: clamp(14px, 2.2vw, 18px);
                color: var(--fg);
                border: 1px solid rgba(207, 251, 80, 0.35);
                border-radius: 7px;
                padding: 5px 12px;
                background: rgba(207, 251, 80, 0.06);
            }
            .live-url .acidp {
                color: var(--acid);
            }
            .replay {
                margin-left: auto;
                font-family: var(--mono);
                font-size: 11.5px;
                color: var(--fg-faint);
                background: transparent;
                border: 1px solid var(--line);
                border-radius: 6px;
                padding: 5px 10px;
                cursor: pointer;
                transition: 0.18s;
            }
            .replay:hover {
                color: var(--fg);
                border-color: #39424f;
            }
            .stages {
                display: grid;
                grid-template-columns: repeat(5, 1fr);
                gap: 0;
                margin-top: 22px;
                border: 1px solid var(--line-soft);
                border-radius: 12px;
                overflow: hidden;
                background: var(--ink-850);
            }
            .stage {
                padding: 16px 16px;
                border-right: 1px solid var(--line-soft);
                position: relative;
                min-width: 0;
            }
            .stage:last-child {
                border-right: none;
            }
            .stage .st-n {
                font-family: var(--mono);
                font-size: 11px;
                color: var(--fg-faint);
                letter-spacing: 0.1em;
            }
            .stage .st-t {
                font-family: var(--mono);
                font-size: 13.5px;
                color: var(--fg-dim);
                margin-top: 6px;
                transition: color 0.3s;
            }
            .stage.active .st-t {
                color: var(--acid);
            }
            .stage .st-bar {
                position: absolute;
                left: 0;
                bottom: 0;
                height: 2px;
                width: 0;
                background: var(--acid);
                transition: width 0.4s;
            }
            .stage.active .st-bar {
                width: 100%;
            }
            .flip-strip {
                display: flex;
                flex-wrap: wrap;
                gap: 10px;
                margin-top: 22px;
            }
            .flip-chip {
                display: inline-flex;
                align-items: center;
                gap: 9px;
                font-family: var(--mono);
                font-size: 12.5px;
                color: var(--fg-dim);
                border: 1px solid var(--line);
                border-radius: 8px;
                padding: 9px 13px;
                background: var(--ink-800);
                transition: 0.2s;
            }
            .flip-chip:hover {
                border-color: rgba(207, 251, 80, 0.4);
                color: var(--fg);
            }
            .flip-chip b {
                color: var(--fg);
                font-weight: 500;
            }
            .flip-chip .vv {
                color: var(--acid);
            }

            /* ---------- two-col + features ---------- */
            .two-col {
                display: grid;
                grid-template-columns: 1.05fr 1fr;
                gap: 34px;
                align-items: start;
            }
            .feat-list {
                display: flex;
                flex-direction: column;
                gap: 18px;
                margin-top: 24px;
            }
            .feat-item {
                display: flex;
                gap: 14px;
                align-items: flex-start;
            }
            .feat-item .fi-ic {
                color: var(--acid);
                border: 1px solid rgba(207, 251, 80, 0.35);
                border-radius: 7px;
                width: 34px;
                height: 34px;
                display: inline-flex;
                align-items: center;
                justify-content: center;
                flex: none;
                background: rgba(207, 251, 80, 0.05);
                margin-top: 2px;
            }
            .feat-item .fi-ic svg {
                width: 17px;
                height: 17px;
            }
            .feat-item h4 {
                margin: 0 0 3px;
                font-size: 15px;
                font-weight: 600;
                color: var(--fg);
            }
            .feat-item p {
                margin: 0;
                font-size: 14px;
                color: var(--fg-dim);
                line-height: 1.55;
            }

            /* ---------- harness + models ---------- */
            .panel-2 {
                display: grid;
                grid-template-columns: 1fr 1fr;
                gap: 20px;
            }
            .panel {
                border: 1px solid var(--line-soft);
                border-radius: 14px;
                background: linear-gradient(
                    180deg,
                    var(--ink-850),
                    var(--ink-900)
                );
                padding: 24px 22px;
            }
            .panel .plbl {
                font-family: var(--mono);
                font-size: 11px;
                letter-spacing: 0.14em;
                text-transform: uppercase;
                color: var(--fg-faint);
            }
            .panel h3 {
                font-family: var(--sans);
                font-weight: 700;
                font-size: 20px;
                letter-spacing: -0.01em;
                margin: 8px 0 0;
                color: var(--fg);
            }
            .panel p {
                color: var(--fg-dim);
                font-size: 14px;
                margin: 9px 0 0;
                line-height: 1.6;
            }
            .h-chips {
                display: flex;
                flex-wrap: wrap;
                gap: 10px;
                margin-top: 18px;
            }
            .h-chip {
                display: inline-flex;
                align-items: center;
                gap: 9px;
                font-family: var(--mono);
                font-size: 12.5px;
                color: var(--fg);
                border: 1px solid var(--line);
                border-radius: 8px;
                padding: 8px 12px;
                background: var(--ink-800);
            }
            .h-chip.soon {
                color: var(--fg-dim);
            }
            .h-chip .tg {
                font-size: 10px;
                letter-spacing: 0.06em;
                text-transform: uppercase;
                color: var(--acid);
            }
            .h-chip.soon .tg {
                color: var(--fg-faint);
            }
            .marks {
                display: flex;
                flex-wrap: wrap;
                gap: 12px;
                margin-top: 18px;
                align-items: stretch;
            }
            .mark {
                font-family: var(--sans);
                font-weight: 700;
                font-size: 15px;
                color: var(--fg);
                border: 1px solid var(--line);
                border-radius: 8px;
                padding: 9px 13px;
                background: var(--ink-800);
                line-height: 1.2;
                display: flex;
                align-items: center;
                gap: 9px;
            }
            .mark svg {
                width: 18px;
                height: 18px;
                flex: none;
                color: var(--fg-dim);
            }
            .mark small {
                display: block;
                font-family: var(--mono);
                font-weight: 400;
                font-size: 10.5px;
                color: var(--fg-faint);
                letter-spacing: 0.02em;
                margin-top: 2px;
            }

            /* ---------- connect / APIs ---------- */
            .api-grid {
                display: grid;
                grid-template-columns: 1fr;
                gap: 14px;
            }
            .api {
                border: 1px solid var(--line-soft);
                border-radius: 14px;
                background: linear-gradient(
                    180deg,
                    var(--ink-850),
                    var(--ink-900)
                );
                padding: 18px 18px;
                transition: 0.25s;
                display: flex;
                gap: 14px;
                align-items: flex-start;
            }
            .api:hover {
                border-color: var(--line);
                transform: translateY(-3px);
            }
            .api .aic {
                width: 34px;
                height: 34px;
                border-radius: 8px;
                border: 1px solid var(--line);
                background: var(--ink-800);
                color: var(--acid);
                display: flex;
                align-items: center;
                justify-content: center;
                flex: none;
            }
            .api .aic svg {
                width: 18px;
                height: 18px;
            }
            .api h4 {
                font-family: var(--sans);
                font-weight: 600;
                font-size: 15.5px;
                margin: 0;
                color: var(--fg);
                letter-spacing: -0.01em;
            }
            .api p {
                color: var(--fg-dim);
                font-size: 13px;
                margin: 5px 0 0;
                line-height: 1.5;
            }
            .api .stream {
                margin-left: auto;
                display: inline-flex;
                align-items: center;
                gap: 6px;
                font-family: var(--mono);
                font-size: 10px;
                color: var(--acid);
                border: 1px solid rgba(207, 251, 80, 0.28);
                border-radius: 6px;
                padding: 3px 8px;
                letter-spacing: 0.04em;
                flex: none;
            }
            .baseurl {
                margin-top: 18px;
                border: 1px solid var(--line);
                border-radius: 12px;
                background: var(--ink-850);
                padding: 18px 20px;
                font-family: var(--mono);
                font-size: 13.5px;
                box-shadow:
                    0 0 0 1px rgba(207, 251, 80, 0.05),
                    0 30px 70px -50px rgba(207, 251, 80, 0.5);
            }
            .baseurl .c {
                display: block;
                color: var(--fg-faint);
                font-size: 12px;
                margin-bottom: 10px;
            }
            .baseurl .k {
                color: var(--fg-dim);
            }
            .baseurl .v {
                color: var(--acid);
                word-break: break-all;
            }
            .baseurl .r {
                display: block;
                color: var(--fg-faint);
                font-size: 12.5px;
                margin-top: 10px;
            }

            /* ---------- what you can ship ---------- */
            .ship-grid {
                display: grid;
                grid-template-columns: repeat(3, 1fr);
                gap: 18px;
            }
            .ship-col {
                border: 1px solid var(--line-soft);
                border-radius: 14px;
                background: linear-gradient(
                    180deg,
                    var(--ink-850),
                    var(--ink-900)
                );
                padding: 22px 20px;
                position: relative;
                overflow: hidden;
                transition: 0.25s;
            }
            .ship-col:hover {
                border-color: var(--line);
                transform: translateY(-3px);
            }
            .ship-col::before {
                content: "";
                position: absolute;
                top: 0;
                left: 0;
                right: 0;
                height: 2px;
                background: linear-gradient(to right, var(--acid), transparent);
                opacity: 0.5;
            }
            .ship-head {
                display: flex;
                align-items: center;
                gap: 10px;
                margin: 0 0 4px;
            }
            .ship-head .sic {
                width: 30px;
                height: 30px;
                border-radius: 8px;
                border: 1px solid rgba(207, 251, 80, 0.3);
                background: rgba(207, 251, 80, 0.05);
                color: var(--acid);
                display: flex;
                align-items: center;
                justify-content: center;
                flex: none;
            }
            .ship-head .sic svg {
                width: 16px;
                height: 16px;
            }
            .ship-col h3 {
                font-family: var(--mono);
                font-size: 13px;
                letter-spacing: 0.14em;
                text-transform: uppercase;
                color: var(--acid);
                margin: 0;
            }
            .ship-col .seg-note {
                font-size: 12.5px;
                color: var(--fg-faint);
                margin: 0 0 16px;
                font-family: var(--mono);
            }
            .ship-col ul {
                list-style: none;
                margin: 0;
                padding: 0;
                display: flex;
                flex-direction: column;
                gap: 11px;
            }
            .ship-col li {
                display: flex;
                gap: 10px;
                align-items: flex-start;
                font-size: 14px;
                color: var(--fg);
                line-height: 1.4;
            }
            .ship-col li .b {
                color: var(--acid);
                font-family: var(--mono);
                flex: none;
                margin-top: 1px;
            }
            .ship-col li span.sub {
                display: block;
                color: var(--fg-faint);
                font-size: 12.5px;
            }
            .complexity {
                margin-top: 24px;
                border: 1px solid var(--line-soft);
                border-radius: 12px;
                padding: 18px 20px;
                background: var(--ink-850);
                display: flex;
                align-items: center;
                gap: 14px;
                flex-wrap: wrap;
                font-family: var(--mono);
                font-size: 13px;
                color: var(--fg-dim);
            }
            .complexity .arrow {
                color: var(--acid);
            }
            .complexity b {
                color: var(--fg);
                font-weight: 500;
            }

            /* ---------- enterprise grid with icons ---------- */
            .batt-grid {
                display: grid;
                grid-template-columns: repeat(4, 1fr);
                gap: 1px;
                background: var(--line-soft);
                border: 1px solid var(--line-soft);
                border-radius: 14px;
                overflow: hidden;
            }
            .batt {
                background: var(--ink-850);
                padding: 20px 16px;
                transition: background 0.2s;
                position: relative;
            }
            .batt:hover {
                background: var(--ink-800);
            }
            .batt .ic {
                width: 26px;
                height: 26px;
                color: var(--acid);
                margin-bottom: 11px;
            }
            .batt h4 {
                margin: 0 0 4px;
                font-size: 14px;
                font-weight: 600;
                color: var(--fg);
            }
            .batt p {
                margin: 0;
                font-size: 12.5px;
                color: var(--fg-faint);
                line-height: 1.45;
                font-family: var(--mono);
            }

            /* ---------- final cta ---------- */
            .cta-band {
                border: 1px solid var(--line);
                border-radius: 18px;
                padding: 56px 40px;
                text-align: center;
                position: relative;
                overflow: hidden;
                background: linear-gradient(
                    180deg,
                    var(--ink-850),
                    var(--ink-900)
                );
                box-shadow: 0 40px 100px -50px rgba(0, 0, 0, 0.9);
            }
            .cta-band::before {
                content: "";
                position: absolute;
                inset: 0;
                background: radial-gradient(
                    500px 240px at 50% -10%,
                    rgba(207, 251, 80, 0.12),
                    transparent 65%
                );
                pointer-events: none;
            }
            .cta-band h2 {
                font-family: var(--mono);
                font-weight: 600;
                font-size: clamp(28px, 5vw, 52px);
                letter-spacing: -0.03em;
                margin: 0;
                color: var(--fg);
                position: relative;
            }
            .cta-band h2 .cur {
                display: inline-block;
                width: 0.5em;
                height: 0.78em;
                vertical-align: -0.03em;
                margin-left: 0.05em;
                background: var(--acid);
                animation: blink 1.05s steps(1) infinite;
            }
            .cta-band p {
                color: var(--fg-dim);
                margin: 18px 0 0;
                font-size: 16px;
                position: relative;
            }
            .cta-band .hero-cta {
                justify-content: center;
                margin-top: 30px;
                position: relative;
            }

            /* ---------- footer ---------- */
            footer {
                border-top: 1px solid var(--line-soft);
                padding: 40px 0 56px;
                margin-top: 30px;
            }
            .foot-inner {
                display: flex;
                flex-wrap: wrap;
                gap: 24px;
                align-items: center;
                justify-content: space-between;
            }
            .foot-links {
                display: flex;
                gap: 22px;
                flex-wrap: wrap;
            }
            .foot-links a {
                font-family: var(--mono);
                font-size: 12.5px;
                color: var(--fg-faint);
                text-decoration: none;
                transition: 0.18s;
            }
            .foot-links a:hover {
                color: var(--acid);
            }
            .foot-note {
                font-family: var(--mono);
                font-size: 12px;
                color: var(--fg-faint);
            }

            /* ---------- responsive ---------- */
            @media (max-width: 980px) {
                .hero-grid {
                    grid-template-columns: 1fr;
                    gap: 40px;
                }
                .two-col {
                    grid-template-columns: 1fr;
                    gap: 26px;
                }
                .panel-2 {
                    grid-template-columns: 1fr;
                }
                .ship-grid {
                    grid-template-columns: 1fr;
                }
                .batt-grid {
                    grid-template-columns: repeat(2, 1fr);
                }
                .stages {
                    grid-template-columns: repeat(2, 1fr);
                }
                .nav-links {
                    display: none;
                }
            }
            @media (max-width: 560px) {
                .wrap {
                    padding: 0 18px;
                }
                .batt-grid {
                    grid-template-columns: 1fr;
                }
                .stages {
                    grid-template-columns: 1fr;
                }
                .term-body {
                    font-size: 12.5px;
                }
                header.hero {
                    padding: 48px 0 22px;
                }
            }
            @media (prefers-reduced-motion: reduce) {
                * {
                    animation-duration: 0.001s !important;
                    transition-duration: 0.001s !important;
                }
                .rv {
                    opacity: 1;
                    transform: none;
                }
                .fconn .track::after {
                    display: none;
                }
            }


/* ── utilities (replace former inline style attributes; strict CSP) ── */
.mb-30{margin-bottom:30px}.mt-22{margin-top:22px}.fs-16{font-size:16px}
.foot-brand{display:flex;align-items:center;gap:14px}
.svg-11{font-size:11px}.note-sm{font-size:13px;color:var(--fg-faint);margin-top:18px}
.live-word{font-family:var(--mono);font-size:14px}
.td-07{transition-delay:.07s}.td-08{transition-delay:.08s}.td-16{transition-delay:.16s}
.ad-05{animation-delay:.05s}.ad-16{animation-delay:.16s}.ad-20{animation-delay:.2s}
.ad-30{animation-delay:.3s}.ad-44{animation-delay:.44s}.ad-50{animation-delay:.5s}

/* honeypot — visually hidden, kept in flow for bots (no inline style under CSP) */
.hp{position:absolute;left:-9999px}

/* ---------- compact coming-soon (/) ---------- */
.coming-soon {
    position: relative;
    z-index: 1;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 56px 28px;
}
.soon-inner {
    max-width: 940px;
    width: 100%;
    text-align: center;
    /* whole comp reads ~25% oversized at full scale; uniform zoom is more
       faithful than re-tuning each px value to the same ratio */
    zoom: 0.8;
}
.soon-brand {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 30px;
    margin-bottom: 26px;
}
.soon-brand .brand-mark {
    width: 42px;
    height: 30px;
    margin-right: 10px;
}
.soon-inner .eyebrow {
    margin-bottom: 4px;
}
.soon-inner h1.hero-h {
    margin: 18px 0 0;
}
.soon-inner .hero-sub {
    max-width: 560px;
    margin: 22px auto 0;
}
/* horizontal hero stage on the compact page: folder → git push → chat */
.soon-stage {
    display: flex;
    align-items: stretch;
    justify-content: center;
    gap: clamp(6px, 2vw, 20px);
    margin: 38px 0 0;
    flex-wrap: wrap;
}
.soon-stage .folder-card {
    width: clamp(300px, 33vw, 340px);
    flex: none;
    text-align: left;
    display: flex;
    flex-direction: column;
}
/* tree fills the taller card so the folder and chat read as an equal-height
   pair rather than a short card floating beside a tall one; content stays
   top-anchored to match the chat's message flow */
.soon-stage .folder-card .fc-body {
    flex: 1;
}
.soon-stage .chat {
    width: clamp(300px, 34vw, 340px);
    flex: none;
    text-align: left;
}
.soon-stage .push-arrow {
    width: clamp(110px, 16vw, 170px);
    flex: none;
    align-self: center;
    height: auto;
    flex-direction: column;
    gap: 8px;
}
.soon-stage .push-arrow svg {
    position: static;
    width: 100%;
    height: 22px;
}
.soon-stage .push-lbl {
    box-shadow: none;
}
.soon-inner .chat-cap {
    max-width: 540px;
    margin: 18px auto 0;
}
@media (max-width: 760px) {
    .soon-stage .push-arrow {
        width: clamp(120px, 60vw, 220px);
    }
}
.soon-form {
    margin-top: 30px;
}
.soon-form .hero-cta {
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
}
.wl-input {
    font-family: var(--mono);
    font-size: 14px;
    color: var(--fg);
    background: var(--ink-800);
    border: 1px solid var(--line);
    border-radius: 10px;
    padding: 13px 16px;
    min-width: 268px;
    transition: border-color 0.18s, box-shadow 0.18s;
}
.wl-input::placeholder {
    color: var(--fg-faint);
}
.wl-input:focus {
    outline: none;
    border-color: var(--acid);
    box-shadow: 0 0 0 3px rgba(207, 251, 80, 0.18);
}
.soon-foot {
    margin-top: 30px;
    font-family: var(--mono);
    font-size: 12.5px;
}
.soon-foot a {
    color: var(--fg-faint);
    text-decoration: none;
    transition: color 0.18s;
}
.soon-foot a:hover {
    color: var(--acid);
}

/* ---------- preview code gate (/enter-karta) ---------- */
.gate-h {
    font-family: var(--mono);
    font-weight: 600;
    font-size: clamp(24px, 4vw, 34px);
    letter-spacing: -0.025em;
    margin: 18px 0 0;
    color: var(--fg);
}
.gate-form {
    justify-content: center;
    margin-top: 26px;
}
.gate-form input[type="password"] {
    font-family: var(--mono);
    font-size: 14px;
    color: var(--fg);
    background: var(--ink-800);
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 11px 14px;
    min-width: 220px;
}
.gate-form input[type="password"]:focus {
    outline: none;
    border-color: var(--acid);
}
