.cv-breadcrumb { font-size: .85rem; opacity: .75; margin-bottom: 14px; }
        .cv-breadcrumb a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
        .cv-breadcrumb span[aria-hidden] { margin: 0 6px; }
        .cv-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-top: 28px; }
        .cv-btn-outline { display: inline-flex; align-items: center; gap: 8px; padding: 12px 22px; border-radius: 999px; border: 1px solid rgba(128,128,128,.45); color: inherit; font-weight: 600; text-decoration: none; }
        .cv-btn-outline:hover { background: rgba(128,128,128,.1); }

        .cv-section { padding: 88px 0; }
        .cv-first { padding-top: 72px; }
        .cv-split { display: grid; grid-template-columns: 1fr 1.2fr; gap: 56px; align-items: start; }
        .cv-split.cv-reverse { grid-template-columns: 1.2fr 1fr; }
        .cv-split.cv-reverse .cv-copy { order: 2; }
        .cv-copy p { line-height: 1.7; opacity: .85; }
        .cv-copy .section-header { text-align: left; margin-bottom: 18px; }
        .cv-lead { text-align: center; max-width: 760px; margin: 0 auto 36px; line-height: 1.7; opacity: .85; }
        .cv-note { font-size: .78rem; opacity: .6; margin-top: 10px; }
        .cv-note-center { text-align: center; max-width: 680px; margin-left: auto; margin-right: auto; }
        .cv-related { text-align: center; margin-top: 36px; font-size: .95rem; line-height: 1.7; }
        .cv-related a, .features-card a { color: inherit; font-weight: 600; text-underline-offset: 3px; }
        .cv-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
        .cv-list-t { list-style: none; padding: 0; margin: 22px 0 0; display: grid; gap: 12px; }
        .cv-list-t li { display: flex; gap: 12px; align-items: flex-start; line-height: 1.5; }
        .cv-tickb { flex: none; width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; margin-top: 1px; background: rgba(22,163,74,.15); color: #16a34a; }
        .cv-tickb svg { width: 13px; height: 13px; }

        /* Window chrome */
        .cv-window { position: relative; border: 1px solid rgba(128,128,128,.28); border-radius: 18px; overflow: hidden; background: rgba(128,128,128,.06); box-shadow: 0 24px 56px -28px rgba(0,0,0,.4); min-width: 0; }
        .cv-window [hidden] { display: none !important; }
        .cv-window-bar { display: flex; align-items: center; gap: 7px; padding: 12px 16px; border-bottom: 1px solid rgba(128,128,128,.22); font-size: .82rem; }
        .cv-dot { width: 10px; height: 10px; border-radius: 50%; background: rgba(128,128,128,.4); }
        .cv-window-title { margin-left: 8px; font-weight: 700; }

        /* Avatars */
        .cv-av { flex: none; width: 38px; height: 38px; border-radius: 50%; display: inline-grid; place-items: center; font-size: .72rem; font-weight: 700; border: 1px solid rgba(37,99,235,.4); background: rgba(37,99,235,.12); color: #2563eb; }
        .cv-av-lg { width: 44px; height: 44px; font-size: .8rem; }
        .cv-av-1 { border-color: rgba(147,51,234,.4); background: rgba(147,51,234,.12); color: #9333ea; }
        .cv-av-2 { border-color: rgba(217,119,6,.45); background: rgba(217,119,6,.12); color: #d97706; }
        .cv-av-3 { border-color: rgba(22,163,74,.45); background: rgba(22,163,74,.12); color: #16a34a; }
        .cv-av-4 { border-color: rgba(220,38,38,.4); background: rgba(220,38,38,.1); color: #dc2626; }

        /* Chat layout */
        .cv-grid-main { display: grid; grid-template-columns: 280px minmax(0, 1fr); height: 640px; }
        .cv-side { border-right: 1px solid rgba(128,128,128,.2); display: flex; flex-direction: column; min-height: 0; }
        .cv-search { position: relative; padding: 12px; }
        .cv-search span { position: absolute; left: 23px; top: 50%; transform: translateY(-50%); width: 16px; height: 16px; opacity: .55; pointer-events: none; }
        .cv-search svg { width: 16px; height: 16px; }
        .cv-search input { box-sizing: border-box; width: 100%; font: inherit; font-size: .84rem; color: inherit; background: rgba(128,128,128,.06); border: 1px solid rgba(128,128,128,.35); border-radius: 8px; padding: 9px 12px 9px 34px; min-width: 0; }
        .cv-search input:focus-visible, .cv-conv:focus-visible, .cv-tool:focus-visible, .cv-tagbtn:focus-visible, .cv-send:focus-visible, .cv-menu-item:focus-visible, .cv-pill:focus-visible, .cv-compose textarea:focus-visible, .cv-thread:focus-visible { outline: 2px solid #2563eb; outline-offset: 2px; }
        .cv-list { list-style: none; margin: 0; padding: 0; overflow-y: auto; flex: 1; min-height: 0; }
        .cv-conv { width: 100%; display: flex; align-items: center; gap: 12px; font: inherit; color: inherit; background: none; border: 0; border-bottom: 1px solid rgba(128,128,128,.12); padding: 14px 14px; cursor: pointer; text-align: left; }
        .cv-conv:hover { background: rgba(128,128,128,.08); }
        .cv-conv.is-active { background: rgba(37,99,235,.1); box-shadow: inset 3px 0 0 #2563eb; }
        .cv-conv-main { flex: 1; min-width: 0; display: grid; gap: 2px; }
        .cv-conv-name { font-size: .84rem; font-weight: 700; display: flex; align-items: center; gap: 6px; }
        .cv-star { color: #f59e0b; display: inline-flex; }
        .cv-star svg { width: 13px; height: 13px; fill: currentColor; }
        .cv-prev { font-size: .74rem; opacity: .7; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
        .cv-time { font-size: .7rem; opacity: .6; flex: none; }
        .cv-nomatch { padding: 18px; font-size: .84rem; opacity: .7; margin: 0; }
        .cv-main { display: flex; flex-direction: column; min-width: 0; min-height: 0; }
        .cv-head { display: flex; gap: 12px; align-items: center; padding: 12px 18px; border-bottom: 1px solid rgba(128,128,128,.2); }
        .cv-head-name { font-weight: 700; font-size: .9rem; }
        .cv-head-role { font-size: .76rem; opacity: .65; }
        .cv-threads { flex: 1; min-height: 0; position: relative; }
        .cv-thread { position: absolute; inset: 0; overflow-y: auto; padding: 18px; display: flex; flex-direction: column; gap: 14px; }
        .cv-msg { display: grid; gap: 4px; max-width: 80%; }
        .cv-me { align-self: flex-end; justify-items: end; }
        .cv-them { align-self: flex-start; justify-items: start; }
        .cv-msg-card { max-width: 100%; width: min(100%, 560px); justify-items: stretch; }
        .cv-bub { font-size: .86rem; line-height: 1.5; padding: 11px 15px; border-radius: 12px; overflow-wrap: anywhere; }
        .cv-me .cv-bub { background: rgba(59,130,246,.15); }
        .cv-them .cv-bub { background: rgba(128,128,128,.16); }
        .cv-meta { font-size: .7rem; opacity: .6; }
        .cv-tagchip { display: inline-block; margin-left: 8px; font-size: .64rem; font-weight: 700; color: #b45309; background: rgba(245,158,11,.18); border: 1px solid rgba(245,158,11,.55); border-radius: 999px; padding: 1px 8px; vertical-align: middle; }

        /* Insight cards */
        .cv-insight { position: relative; border: 1px solid rgba(128,128,128,.3); border-radius: 12px; background: rgba(128,128,128,.05); overflow: hidden; text-align: left; }
        .cv-insight-h { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; padding: 12px 14px; border-bottom: 1px solid rgba(128,128,128,.2); }
        .cv-insight-t { font-size: .82rem; font-weight: 700; }
        .cv-insight-s { font-size: .72rem; opacity: .65; margin-top: 2px; }
        .cv-ai { flex: none; display: inline-flex; align-items: center; gap: 5px; font-size: .64rem; font-weight: 700; color: #7c3aed; background: rgba(124,58,237,.12); border-radius: 999px; padding: 3px 9px; }
        .cv-ai svg { width: 12px; height: 12px; }
        .cv-insight-b { padding: 10px 12px 12px; }
        .cv-chart { width: 100%; height: auto; display: block; }
        .cv-grid { stroke: rgba(128,128,128,.25); stroke-width: 1; }
        .cv-tick { font-size: 10.5px; fill: currentColor; opacity: .7; }
        .cv-legend { display: flex; gap: 16px; justify-content: center; font-size: .72rem; margin-top: 4px; }
        .cv-legend span { display: inline-flex; align-items: center; gap: 6px; }
        .cv-legend i { width: 9px; height: 9px; border-radius: 2px; display: inline-block; }
        .cv-figs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
        .cv-figs > div { border: 1px solid rgba(128,128,128,.25); border-radius: 10px; padding: 12px; display: grid; gap: 4px; background: rgba(128,128,128,.05); }
        .cv-figs b { font-size: 1.5rem; line-height: 1; }
        .cv-figs span { font-size: .72rem; opacity: .7; }
        .cv-figs .cv-up b { color: #16a34a; } .cv-figs .cv-down b { color: #dc2626; }
        .cv-sum-line { margin: 12px 0 0; font-size: .84rem; line-height: 1.55; }

        /* Composer */
        .cv-compose { position: relative; border-top: 1px solid rgba(128,128,128,.2); padding: 12px 16px 14px; display: grid; gap: 8px; }
        .cv-compose textarea { box-sizing: border-box; width: 100%; resize: none; font: inherit; font-size: .88rem; color: inherit; background: rgba(128,128,128,.06); border: 1px solid rgba(128,128,128,.35); border-radius: 10px; padding: 10px 12px; }
        .cv-err { margin: 0; font-size: .76rem; color: #dc2626; }
        .cv-compose-row { display: flex; align-items: center; gap: 10px; }
        .cv-clip { width: 34px; height: 34px; display: grid; place-items: center; opacity: .55; }
        .cv-clip svg, .cv-tool svg, .cv-send svg { width: 18px; height: 18px; }
        .cv-tool { width: 34px; height: 34px; display: grid; place-items: center; font: inherit; color: inherit; background: transparent; border: 1px solid rgba(128,128,128,.3); border-radius: 8px; cursor: pointer; }
        .cv-tool:hover:not(:disabled), .cv-tool[aria-expanded="true"] { background: rgba(124,58,237,.14); color: #7c3aed; border-color: rgba(124,58,237,.5); }
        .cv-tagbtn { font: inherit; font-size: .7rem; font-weight: 700; color: #b45309; background: transparent; border: 1px solid rgba(245,158,11,.55); border-radius: 999px; padding: 4px 12px; cursor: pointer; }
        .cv-tagbtn[aria-pressed="true"] { background: rgba(245,158,11,.22); }
        .cv-send { margin-left: auto; width: 38px; height: 34px; display: grid; place-items: center; color: #fff; background: #2563eb; border: 0; border-radius: 8px; cursor: pointer; }
        .cv-compose button:disabled, .cv-compose textarea:disabled { opacity: .5; cursor: not-allowed; }
        .cv-menu { position: absolute; z-index: 6; left: 16px; bottom: calc(100% - 6px); width: 260px; border: 1px solid rgba(128,128,128,.4); border-radius: 12px; padding: 6px; background: Canvas; color: CanvasText; box-shadow: 0 16px 34px -12px rgba(0,0,0,.4); }
        .cv-menu-item { width: 100%; display: grid; grid-template-columns: 36px 1fr; grid-template-rows: auto auto; column-gap: 12px; align-items: center; text-align: left; font: inherit; color: inherit; background: none; border: 0; border-radius: 9px; padding: 10px; cursor: pointer; }
        .cv-menu-item:hover { background: rgba(124,58,237,.1); }
        .cv-menu-item:disabled { opacity: .45; cursor: not-allowed; }
        .cv-menu-ico { grid-row: 1 / span 2; width: 36px; height: 36px; border-radius: 9px; display: grid; place-items: center; background: rgba(59,130,246,.14); color: #3b82f6; }
        .cv-menu-ico svg { width: 18px; height: 18px; }
        .cv-menu-t { font-size: .84rem; font-weight: 700; align-self: end; }
        .cv-menu-s { font-size: .72rem; opacity: .65; align-self: start; }
        .cv-menu-hint { margin: 4px 8px 6px; font-size: .72rem; line-height: 1.45; opacity: .75; }

        /* AI insights explainer */
        .cv-ins-switch { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; margin: 0 0 26px; }
        .cv-pill { font: inherit; font-size: .84rem; font-weight: 600; color: inherit; background: transparent; border: 1px solid rgba(128,128,128,.4); border-radius: 999px; padding: 8px 18px; cursor: pointer; }
        .cv-pill:hover { background: rgba(128,128,128,.12); }
        .cv-pill[aria-pressed="true"] { background: #1e3a5f; border-color: #1e3a5f; color: #fff; }
        .cv-ins-grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 20px; align-items: start; max-width: 1000px; margin: 0 auto; }
        .cv-ins-panel[hidden], .cv-ins-switch[hidden] { display: none; }

        /* Connection mock */
        .cv-mini { max-width: 520px; margin: 0 auto; }
        .cv-mini-body { padding: 22px 20px; display: grid; gap: 16px; }
        .cv-conn { display: flex; align-items: center; justify-content: center; gap: 10px; }
        .cv-conn-p { display: grid; justify-items: center; gap: 6px; font-size: .84rem; font-weight: 700; text-align: center; }
        .cv-conn-p small { display: block; font-weight: 400; opacity: .65; font-size: .72rem; }
        .cv-conn-link { display: flex; align-items: center; gap: 6px; flex: 1; max-width: 160px; color: #16a34a; }
        .cv-conn-link span { flex: 1; height: 2px; background: currentColor; opacity: .5; border-radius: 2px; }
        .cv-conn-link svg { width: 22px; height: 22px; flex: none; }
        .cv-conn-cap { margin: 0; text-align: center; font-size: .78rem; opacity: .7; }
        .cv-mini .cv-msg { max-width: 100%; }

        .cv-steps { margin-top: 44px; }
        .cv-step-card { flex-direction: column; gap: 16px; }
        .cv-step-card .features-card-icon { color: #fff; font-weight: 800; font-size: 1.05rem; line-height: 1; }
        @media (min-width: 769px) { .cv-steps.features-grid { grid-template-columns: repeat(3, 1fr); } }

        @media (max-width: 900px) {
            .cv-section { padding: 64px 0; }
            .cv-split, .cv-split.cv-reverse { grid-template-columns: 1fr; gap: 32px; }
            .cv-split.cv-reverse .cv-copy { order: 0; }
            .cv-ins-grid { grid-template-columns: 1fr; }
        }
        @media (max-width: 720px) {
            .cv-grid-main { grid-template-columns: minmax(0, 1fr); height: auto; }
            .cv-side { border-right: 0; border-bottom: 1px solid rgba(128,128,128,.2); }
            .cv-list { display: flex; overflow-x: auto; overflow-y: hidden; flex: none; }
            .cv-conv { width: auto; flex: none; flex-direction: column; gap: 4px; padding: 10px 14px; border-bottom: 0; border-right: 1px solid rgba(128,128,128,.12); }
            .cv-conv.is-active { box-shadow: inset 0 -3px 0 #2563eb; }
            .cv-conv-main { justify-items: center; }
            .cv-prev, .cv-time { display: none; }
            .cv-threads { height: 420px; flex: none; }
            .cv-msg { max-width: 92%; }
            .cv-figs { grid-template-columns: 1fr; }
            .cv-figs > div { grid-template-columns: auto 1fr; align-items: baseline; gap: 12px; }
            .cv-menu { left: 8px; width: calc(100% - 16px); max-width: 280px; }
        }