/* CX Cinema — Crypto Exchange PRODUCT showcase */
:root{
  --cxc-bg:#06080d;
  --cxc-bg-2:#0b1018;
  --cxc-line:rgba(255,255,255,0.08);
  --cxc-line-2:rgba(255,255,255,0.14);
  --cxc-text:#e9eef7;
  --cxc-text-2:rgba(233,238,247,0.74);
  --cxc-text-3:rgba(233,238,247,0.5);
  --cxc-green:#5EFFA4;
  --cxc-red:#FF6B7A;
  --cxc-cyan:#4FC8FF;
  --cxc-violet:#A78BFA;
  --cxc-amber:#FFB020;
  --brand-accent:#5EFFA4;
}

.cxc-section-head{ max-width:1320px; margin:0 auto; padding:96px 32px 36px; }
.cxc-eyebrow{ font:600 11px/1 ui-monospace,Menlo,monospace; letter-spacing:.18em; color:var(--cxc-green); margin-bottom:18px; }
.cxc-h2{ font:600 56px/1.04 'Helvetica Neue',Helvetica,Arial,sans-serif; letter-spacing:-0.02em; margin:0 0 18px; text-wrap:balance; max-width:980px; color:var(--cxc-text); }
.cxc-h2 em{ font-style:normal; background:linear-gradient(100deg,var(--cxc-green),var(--cxc-cyan)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.cxc-sub{ font:400 18px/1.55 'Helvetica Neue',Helvetica,Arial,sans-serif; color:var(--cxc-text-2); max-width:760px; text-wrap:pretty; margin:0; }

.cxc-btn{ display:inline-flex; align-items:center; gap:10px; padding:14px 22px; border-radius:999px; font:500 14px/1 'Helvetica Neue',Helvetica,Arial,sans-serif; text-decoration:none; transition:transform .2s, box-shadow .2s, background .2s; cursor:pointer; border:0; }
.cxc-btn-primary{ background:linear-gradient(100deg,var(--cxc-green),#3DE695); color:#06120a; box-shadow:0 8px 28px rgba(94,255,164,.22); }
.cxc-btn-primary:hover{ transform:translateY(-1px); box-shadow:0 10px 36px rgba(94,255,164,.32); }
.cxc-btn-ghost{ background:transparent; color:var(--cxc-text); border:1px solid var(--cxc-line-2); }
.cxc-btn-ghost:hover{ background:rgba(255,255,255,.04); }
.cxc-btn span{ font-size:18px; }

@keyframes cxc-pulse{ 0%,100%{opacity:1;} 50%{opacity:.4;} }
@keyframes cxc-fadeup{ from{opacity:0; transform:translateY(14px);} to{opacity:1; transform:translateY(0);} }

/* ============================================================ HERO ============================================================ */
.cxc-hero{ position:relative; overflow:hidden; padding:64px 0 32px; background:linear-gradient(180deg,#06080d 0%, #08111a 100%); }
.cxc-hero-grid{ position:absolute; inset:0; background-image:linear-gradient(rgba(94,255,164,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(94,255,164,.05) 1px,transparent 1px); background-size:48px 48px; mask-image:radial-gradient(ellipse 80% 60% at 50% 30%, #000 50%, transparent 90%); pointer-events:none; }
.cxc-hero-inner{ position:relative; max-width:1380px; margin:0 auto; padding:0 32px; display:grid; grid-template-columns:.8fr 1.4fr; gap:48px; align-items:center; min-height:78vh; }
.cxc-hero-pill{ display:inline-flex; align-items:center; gap:10px; padding:8px 14px; border-radius:999px; background:rgba(255,255,255,.04); border:1px solid var(--cxc-line); font:600 10.5px/1 ui-monospace,Menlo,monospace; letter-spacing:.14em; color:var(--cxc-text-2); margin-bottom:28px; }
.cxc-dot{ width:7px; height:7px; border-radius:50%; background:var(--cxc-green); box-shadow:0 0 12px var(--cxc-green); animation:cxc-pulse 1.6s infinite; display:inline-block; }
.cxc-hero-h{ font:600 64px/1.02 'Helvetica Neue',Helvetica,Arial,sans-serif; letter-spacing:-0.025em; margin:0 0 24px; text-wrap:balance; color:var(--cxc-text); }
.cxc-grad{ background:linear-gradient(100deg,var(--cxc-green),var(--cxc-cyan) 70%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.cxc-fade{ display:inline-block; animation:cxc-fadeup .9s cubic-bezier(.2,.7,.2,1) both; }
.cxc-fade:nth-child(2){ animation-delay:.07s; }
.cxc-fade:nth-child(3){ animation-delay:.14s; }
.cxc-hero-sub{ font:400 17px/1.55 'Helvetica Neue',Helvetica,Arial,sans-serif; color:var(--cxc-text-2); max-width:520px; margin:0 0 28px; text-wrap:pretty; }
.cxc-hero-ctas{ display:flex; gap:12px; flex-wrap:wrap; margin-bottom:28px; }
.cxc-hero-meta{ display:flex; gap:28px; padding-top:24px; border-top:1px solid var(--cxc-line); }
.cxc-meta-i{ display:flex; flex-direction:column; gap:4px; }
.cxc-meta-i b{ font:600 28px/1 'Helvetica Neue',sans-serif; letter-spacing:-0.02em; background:linear-gradient(100deg,var(--cxc-green),var(--cxc-cyan)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.cxc-meta-i span{ font:500 10.5px/1.3 ui-monospace,Menlo,monospace; letter-spacing:.12em; color:var(--cxc-text-3); text-transform:uppercase; }

/* HERO PRODUCT MOCKUPS */
.cxc-hero-stage{ position:relative; min-height:580px; }
.cxc-mock{ position:relative; border-radius:14px; overflow:hidden; background:#0a1422; border:1px solid var(--cxc-line-2); box-shadow:0 28px 80px rgba(0,0,0,.5); animation:cxc-fadeup .6s both; }
.cxc-mock-chrome{ display:flex; align-items:center; gap:6px; padding:10px 14px; background:#070b12; border-bottom:1px solid var(--cxc-line); }
.cxc-mock-d{ width:10px; height:10px; border-radius:50%; background:#1e2632; }
.cxc-mock-url{ margin-left:14px; padding:4px 12px; border-radius:6px; background:rgba(255,255,255,.04); font:500 11px/1 ui-monospace,Menlo,monospace; color:var(--cxc-text-3); }
.cxc-mock-topbar{ display:flex; align-items:center; gap:24px; padding:12px 20px; background:#0a1422; border-bottom:1px solid var(--cxc-line); }
.cxc-mock-logo{ display:flex; align-items:center; gap:10px; font:600 16px/1 'Helvetica Neue',sans-serif; letter-spacing:-0.01em; color:var(--cxc-text); }
.cxc-mock-mark{ width:24px; height:24px; border-radius:6px; background:var(--brand-accent); color:#06120a; display:grid; place-items:center; font:700 12px/1 'Helvetica Neue',sans-serif; }
.cxc-mock-nav{ display:flex; gap:18px; }
.cxc-mock-nav span{ font:500 12px/1 'Helvetica Neue',sans-serif; color:var(--cxc-text-3); cursor:pointer; }
.cxc-mock-nav span.on{ color:var(--cxc-text); position:relative; }
.cxc-mock-nav span.on::after{ content:''; position:absolute; left:0; right:0; bottom:-16px; height:2px; background:var(--brand-accent); }
.cxc-mock-user{ margin-left:auto; display:flex; align-items:center; gap:12px; }
.cxc-mock-balance{ font:600 13px/1 ui-monospace,Menlo,monospace; color:var(--cxc-text); }
.cxc-mock-avatar{ width:24px; height:24px; border-radius:50%; background:linear-gradient(135deg,#444,#222); }
.cxc-mock-body{ display:grid; grid-template-columns:200px 1fr 200px; min-height:360px; }
.cxc-mock-side{ padding:12px 14px; border-right:1px solid var(--cxc-line); }
.cxc-mock-pair{ display:flex; flex-direction:column; gap:3px; margin-bottom:14px; }
.cxc-mock-pair-t{ font:600 11px/1 ui-monospace,Menlo,monospace; color:var(--cxc-text-3); letter-spacing:.08em; }
.cxc-mock-pair-p{ font:600 22px/1 ui-monospace,Menlo,monospace; color:var(--cxc-text); }
.cxc-mock-pair-d{ font:600 11px/1 ui-monospace,Menlo,monospace; color:var(--cxc-green); }
.cxc-mock-book{ display:flex; flex-direction:column; gap:3px; }
.cxc-mock-row{ display:flex; align-items:center; gap:6px; height:14px; position:relative; }
.cxc-mock-row > span:first-child{ width:42%; height:7px; background:rgba(255,255,255,.06); border-radius:2px; }
.cxc-mock-row > span:last-child{ height:7px; border-radius:2px; }
.cxc-mock-ask > span:last-child{ background:rgba(255,107,122,.4); }
.cxc-mock-bid > span:last-child{ background:rgba(94,255,164,.4); }
.cxc-mock-spread{ height:1px; background:var(--cxc-line); margin:6px 0; }
.cxc-mock-chart{ position:relative; padding:12px 14px; border-right:1px solid var(--cxc-line); }
.cxc-mock-chart svg{ width:100%; height:60%; display:block; }
.cxc-mock-candles{ display:flex; align-items:flex-end; gap:3px; height:35%; margin-top:6px; }
.cxc-mock-c{ flex:1; border-radius:1px; }
.cxc-mock-c.up{ background:rgba(94,255,164,.55); }
.cxc-mock-c.dn{ background:rgba(255,107,122,.55); }
.cxc-mock-form{ padding:14px; display:flex; flex-direction:column; gap:9px; }
.cxc-mock-tabs{ display:flex; gap:0; border-radius:6px; overflow:hidden; background:rgba(255,255,255,.04); }
.cxc-mock-tabs span{ flex:1; text-align:center; padding:7px 0; font:600 11px/1 'Helvetica Neue',sans-serif; color:var(--cxc-text-3); cursor:pointer; }
.cxc-mock-tabs span.on{ background:rgba(94,255,164,.16); color:var(--cxc-green); }
.cxc-mock-input{ display:flex; justify-content:space-between; padding:9px 11px; border-radius:6px; background:rgba(255,255,255,.03); border:1px solid var(--cxc-line); font-family:ui-monospace,Menlo,monospace; font-size:11px; }
.cxc-mock-input span{ color:var(--cxc-text-3); }
.cxc-mock-input b{ color:var(--cxc-text); font-weight:600; }
.cxc-mock-slider{ height:4px; background:rgba(255,255,255,.06); border-radius:2px; }
.cxc-mock-slider div{ height:100%; background:var(--brand-accent); border-radius:2px; }
.cxc-mock-buy{ margin-top:4px; padding:10px; border-radius:8px; background:var(--brand-accent); color:#06120a; font:600 12px/1 'Helvetica Neue',sans-serif; border:0; cursor:pointer; }
.cxc-mock-stamp{ position:absolute; right:14px; bottom:14px; padding:6px 12px; border-radius:999px; background:rgba(0,0,0,.6); backdrop-filter:blur(8px); border:1px solid var(--cxc-line); font:600 10px/1 ui-monospace,Menlo,monospace; letter-spacing:.14em; color:var(--cxc-text-2); }

/* Phone overlap */
.cxc-mock-phone{ position:absolute; right:-20px; bottom:60px; width:200px; height:420px; border-radius:32px; background:#0a1422; border:1px solid var(--cxc-line-2); box-shadow:0 24px 64px rgba(0,0,0,.6), 0 0 0 6px #050810, 0 0 0 7px #1a2030; padding:12px; z-index:5; animation:cxc-fadeup .8s .15s both; }
.cxc-mp-notch{ position:absolute; top:14px; left:50%; transform:translateX(-50%); width:60px; height:16px; border-radius:10px; background:#000; z-index:2; }
.cxc-mp-screen{ width:100%; height:100%; border-radius:22px; background:linear-gradient(180deg,#0a1422,#06080d); padding:30px 12px 14px; overflow:hidden; display:flex; flex-direction:column; gap:10px; }
.cxc-mp-top{ display:flex; justify-content:space-between; padding:0 4px 8px; border-bottom:1px solid var(--cxc-line); font:600 12px/1 'Helvetica Neue',sans-serif; color:var(--cxc-text); }
.cxc-mp-bal{ font-family:ui-monospace,Menlo,monospace; color:var(--brand-accent); }
.cxc-mp-card{ padding:12px; border-radius:10px; background:linear-gradient(140deg, rgba(94,255,164,.14), rgba(94,255,164,.04)); border:1px solid var(--cxc-line); position:relative; }
.cxc-mock-cyan + .cxc-mock-phone .cxc-mp-card,
.cxc-mock-phone.cxc-mock-cyan .cxc-mp-card{ background:linear-gradient(140deg, rgba(79,200,255,.14), rgba(79,200,255,.04)); }
.cxc-mock-phone.cxc-mock-violet .cxc-mp-card{ background:linear-gradient(140deg, rgba(167,139,250,.14), rgba(167,139,250,.04)); }
.cxc-mock-phone.cxc-mock-amber .cxc-mp-card{ background:linear-gradient(140deg, rgba(255,176,32,.14), rgba(255,176,32,.04)); }
.cxc-mp-pair{ font:500 10px/1 ui-monospace,Menlo,monospace; color:var(--cxc-text-3); letter-spacing:.06em; margin-bottom:4px; }
.cxc-mp-px{ font:600 19px/1 ui-monospace,Menlo,monospace; color:var(--cxc-text); }
.cxc-mp-d{ font:600 10px/1 ui-monospace,Menlo,monospace; color:var(--brand-accent); margin-top:4px; }
.cxc-mp-spark{ width:100%; height:30px; margin-top:6px; }
.cxc-mp-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:6px; }
.cxc-mp-tile{ padding:10px; border-radius:8px; background:rgba(255,255,255,.04); border:1px solid var(--cxc-line); text-align:center; font:500 11px/1 'Helvetica Neue',sans-serif; color:var(--cxc-text); }
.cxc-mp-list{ display:flex; flex-direction:column; gap:4px; }
.cxc-mp-r{ display:flex; justify-content:space-between; padding:7px 6px; border-radius:6px; background:rgba(255,255,255,.02); font:500 11px/1 ui-monospace,Menlo,monospace; }
.cxc-mp-r span:first-child{ color:var(--cxc-text); }
.cxc-mp-r span:last-child{ color:var(--cxc-green); }

.cxc-hero-dots{ position:absolute; left:0; right:230px; bottom:-20px; display:flex; gap:8px; }
.cxc-hero-d{ flex:1; padding:9px 14px; border-radius:8px; background:rgba(255,255,255,.03); border:1px solid var(--cxc-line); color:var(--cxc-text-3); cursor:pointer; font:600 10px/1 ui-monospace,Menlo,monospace; letter-spacing:.14em; transition:all .2s; }
.cxc-hero-d:hover{ background:rgba(255,255,255,.06); color:var(--cxc-text); }
.cxc-hero-d.on{ background:rgba(94,255,164,.12); border-color:rgba(94,255,164,.4); color:var(--cxc-green); }

@media (max-width:1100px){
  .cxc-hero-inner{ grid-template-columns:1fr; }
  .cxc-hero-h{ font-size:44px; }
  .cxc-mock-body{ grid-template-columns:140px 1fr 160px; min-height:300px; }
  .cxc-mock-phone{ display:none; }
  .cxc-hero-dots{ right:0; position:relative; bottom:auto; margin-top:24px; }
  .cxc-h2{ font-size:36px; }
  .cxc-hero-meta{ flex-wrap:wrap; }
}

/* ============================================================ SURFACES ============================================================ */
.cxc-surf{ padding-bottom:96px; }
.cxc-surf-frame{ max-width:1320px; margin:0 auto; padding:0 32px; display:grid; grid-template-columns:.5fr 1.5fr; gap:24px; }
.cxc-surf-rail{ display:flex; flex-direction:column; gap:2px; }
.cxc-surf-tab{ display:flex; align-items:center; justify-content:space-between; padding:18px 20px; background:transparent; border:0; border-left:2px solid transparent; color:var(--cxc-text-3); font:600 18px/1.1 'Helvetica Neue',sans-serif; cursor:pointer; transition:all .25s; text-align:left; }
.cxc-surf-tab:hover{ color:var(--cxc-text); background:rgba(255,255,255,.02); }
.cxc-surf-tab.on{ color:var(--cxc-text); border-left-color:var(--cxc-green); background:linear-gradient(90deg,rgba(94,255,164,.06),transparent 60%); }
.cxc-surf-tab-a{ font-size:14px; opacity:0; transition:opacity .2s, transform .25s; color:var(--cxc-green); }
.cxc-surf-tab.on .cxc-surf-tab-a{ opacity:1; transform:translateX(4px); }
.cxc-surf-stage{ display:grid; grid-template-columns:1.4fr 1fr; gap:20px; min-height:480px; animation:cxc-fadeup .45s both; border-radius:18px; overflow:hidden; background:#0b1018; border:1px solid var(--cxc-line); }
.cxc-surf-visual{ position:relative; padding:24px; background:linear-gradient(140deg,#0a1422 0%,#070b12 100%); border-right:1px solid var(--cxc-line); }
.cxc-surf-info{ padding:32px; display:flex; flex-direction:column; gap:18px; }
.cxc-surf-t{ font:600 30px/1.1 'Helvetica Neue',sans-serif; letter-spacing:-0.02em; color:var(--cxc-text); }
.cxc-surf-d{ font:400 15.5px/1.55 'Helvetica Neue',sans-serif; color:var(--cxc-text-2); margin:0; }
.cxc-surf-ships{ margin-top:auto; padding-top:20px; border-top:1px solid var(--cxc-line); display:flex; flex-direction:column; gap:8px; }
.cxc-surf-ships-h{ font:600 10px/1.4 ui-monospace,Menlo,monospace; letter-spacing:.16em; color:var(--cxc-text-3); margin-bottom:6px; }
.cxc-surf-b{ display:flex; align-items:center; gap:10px; font:500 13.5px/1.4 'Helvetica Neue',sans-serif; color:var(--cxc-text); }
.cxc-surf-b span{ width:6px; height:6px; border-radius:50%; background:var(--cxc-green); flex:0 0 6px; }
@media (max-width:1000px){
  .cxc-surf-frame{ grid-template-columns:1fr; }
  .cxc-surf-stage{ grid-template-columns:1fr; }
  .cxc-surf-visual{ border-right:0; border-bottom:1px solid var(--cxc-line); }
}

/* CXV visual generators */
.cxv{ width:100%; height:100%; min-height:380px; position:relative; }
/* web */
.cxv-web{ display:flex; flex-direction:column; gap:8px; padding:14px; border-radius:8px; background:#0b1424; border:1px solid var(--cxc-line); }
.cxv-bar{ display:flex; gap:5px; padding-bottom:8px; border-bottom:1px solid var(--cxc-line); }
.cxv-bar span{ width:8px; height:8px; border-radius:50%; background:#1e2632; }
.cxv-grid{ display:grid; grid-template-columns:.7fr 2fr .9fr; gap:10px; flex:1; }
.cxv-book{ display:flex; flex-direction:column; gap:3px; }
.cxv-row{ height:9px; border-radius:2px; }
.cxv-row.ask{ background:rgba(255,107,122,.4); }
.cxv-row.bid{ background:rgba(94,255,164,.4); margin-left:auto; }
.cxv-mid{ height:1px; background:var(--cxc-line); margin:5px 0; }
.cxv-chart{ width:100%; height:100%; }
.cxv-form{ display:flex; flex-direction:column; gap:6px; padding:10px; border-radius:6px; background:rgba(255,255,255,.02); }
.cxv-tabs{ display:flex; gap:0; border-radius:5px; overflow:hidden; background:rgba(255,255,255,.04); }
.cxv-tabs span{ flex:1; text-align:center; padding:6px 0; font:600 10px/1 'Helvetica Neue',sans-serif; color:var(--cxc-text-3); }
.cxv-tabs span.on{ background:rgba(94,255,164,.16); color:var(--cxc-green); }
.cxv-f{ height:24px; border-radius:5px; background:rgba(255,255,255,.04); }
.cxv-buy{ padding:8px; border-radius:5px; background:var(--cxc-green); color:#06120a; font:600 11px/1 'Helvetica Neue',sans-serif; border:0; }
/* mobile */
.cxv-mobile{ display:flex; justify-content:center; align-items:flex-start; gap:14px; padding-top:8px; }
.cxv-phone{ width:108px; height:200px; border-radius:18px; background:#0a1422; border:1px solid var(--cxc-line-2); box-shadow:0 12px 32px rgba(0,0,0,.4), 0 0 0 4px #050810; padding:8px; position:relative; transform-origin:50% 60%; }
.cxv-phone-0{ transform:rotate(-6deg) translateY(8px); }
.cxv-phone-1{ transform:translateY(-8px) scale(1.08); z-index:2; }
.cxv-phone-2{ transform:rotate(6deg) translateY(8px); }
.cxv-phone-notch{ position:absolute; top:9px; left:50%; transform:translateX(-50%); width:32px; height:8px; border-radius:6px; background:#000; z-index:2; }
.cxv-phone-body{ width:100%; height:100%; border-radius:12px; background:#06080d; padding:20px 8px 8px; display:flex; flex-direction:column; gap:6px; }
.cxv-phone-bal{ height:18px; border-radius:4px; background:rgba(94,255,164,.12); }
.cxv-phone-cards{ display:flex; flex-direction:column; gap:4px; }
.cxv-phone-card{ height:26px; border-radius:5px; background:rgba(255,255,255,.04); }
.cxv-phone-tiles{ display:grid; grid-template-columns:repeat(2,1fr); gap:4px; margin-top:auto; }
.cxv-phone-tiles div{ aspect-ratio:1; border-radius:5px; background:rgba(255,255,255,.04); }
/* admin */
.cxv-admin{ display:grid; grid-template-columns:60px 1fr; gap:10px; }
.cxv-sidebar{ display:flex; flex-direction:column; gap:6px; padding:10px 8px; border-radius:6px; background:rgba(255,255,255,.02); border:1px solid var(--cxc-line); }
.cxv-sidebar div{ height:12px; border-radius:3px; background:rgba(255,255,255,.05); }
.cxv-sidebar div.on{ background:var(--cxc-green); opacity:.7; }
.cxv-admin-body{ display:flex; flex-direction:column; gap:10px; }
.cxv-admin-row{ display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.cxv-stat{ padding:12px; border-radius:6px; background:rgba(255,255,255,.03); border:1px solid var(--cxc-line); }
.cxv-stat b{ display:block; font:600 18px/1 ui-monospace,Menlo,monospace; color:var(--cxc-green); margin-bottom:4px; }
.cxv-stat span{ font:500 10px/1.2 ui-monospace,Menlo,monospace; color:var(--cxc-text-3); letter-spacing:.06em; text-transform:uppercase; }
.cxv-admin-table{ display:flex; flex-direction:column; gap:3px; padding:10px; border-radius:6px; background:rgba(255,255,255,.02); border:1px solid var(--cxc-line); }
.cxv-tr{ display:grid; grid-template-columns:30px 1fr 60px 80px; gap:8px; padding:6px 0; }
.cxv-tr span{ height:9px; border-radius:2px; background:rgba(255,255,255,.06); }
.cxv-tr .cxv-td-pill{ background:rgba(94,255,164,.3); }
/* otc */
.cxv-otc{ display:flex; align-items:center; justify-content:center; padding:24px; }
.cxv-otc-form{ width:100%; max-width:340px; padding:20px; border-radius:10px; background:#0b1424; border:1px solid var(--cxc-line); display:flex; flex-direction:column; gap:10px; }
.cxv-otc-pair{ font:600 13px/1 ui-monospace,Menlo,monospace; color:var(--cxc-text-3); letter-spacing:.1em; padding-bottom:8px; border-bottom:1px solid var(--cxc-line); }
.cxv-otc-row{ display:flex; justify-content:space-between; align-items:baseline; font-family:ui-monospace,Menlo,monospace; font-size:12px; }
.cxv-otc-row span{ color:var(--cxc-text-3); }
.cxv-otc-row b{ color:var(--cxc-text); }
.cxv-otc-row b.up{ color:var(--cxc-green); }
.cxv-otc-row b.big{ font-size:22px; color:var(--cxc-green); }
.cxv-otc-cta{ padding:10px; border-radius:6px; background:var(--cxc-green); color:#06120a; font:600 12px/1 'Helvetica Neue',sans-serif; border:0; }
/* engine */
.cxv-engine{ display:flex; flex-direction:column; gap:10px; }
.cxv-engine-term{ flex:1; padding:14px; border-radius:8px; background:#04060a; border:1px solid var(--cxc-line); font:500 11.5px/1.65 ui-monospace,Menlo,monospace; color:var(--cxc-green); overflow:hidden; }
.cxv-eng-line{ white-space:nowrap; overflow:hidden; text-overflow:ellipsis; opacity:.9; }
.cxv-eng-line.cxv-ok{ color:var(--cxc-green); font-weight:600; }
.cxv-eng-cursor{ animation:cxc-pulse 1s infinite; }
.cxv-engine-stats{ display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.cxv-engine-stats > div{ padding:12px; border-radius:6px; background:rgba(255,255,255,.03); border:1px solid var(--cxc-line); }
.cxv-engine-stats b{ display:block; font:600 18px/1 'Helvetica Neue',sans-serif; color:var(--cxc-green); margin-bottom:3px; }
.cxv-engine-stats span{ font:500 10px/1.2 ui-monospace,Menlo,monospace; color:var(--cxc-text-3); letter-spacing:.06em; text-transform:uppercase; }
/* api */
.cxv-api{ padding:14px; border-radius:8px; background:#04060a; border:1px solid var(--cxc-line); font:500 12px/1.7 ui-monospace,Menlo,monospace; color:var(--cxc-text); }
.cxv-api-l{ color:var(--cxc-text-3); margin-top:8px; }
.cxv-api-l:first-child{ margin-top:0; }
.cxv-mth{ display:inline-block; padding:2px 6px; border-radius:4px; background:rgba(94,255,164,.16); color:var(--cxc-green); margin-right:6px; font-size:10px; }
.cxv-mth.ws{ background:rgba(167,139,250,.16); color:var(--cxc-violet); }
.cxv-api-c{ color:var(--cxc-text); padding-left:6px; }
.cxv-api-r{ color:var(--cxc-text-3); margin-top:4px; }
.cxv-st{ display:inline-block; padding:2px 6px; border-radius:4px; background:rgba(94,255,164,.12); color:var(--cxc-green); }
.cxv-stream{ color:var(--cxc-cyan); opacity:.85; }

/* ============================================================ COMMERCIAL ============================================================ */
.cxc-comm{ padding-bottom:96px; }
.cxc-comm-grid{ max-width:1320px; margin:0 auto; padding:0 32px; display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.cxc-comm-card{ position:relative; padding:36px 32px 32px; border-radius:20px; background:#0b1018; border:1px solid var(--cxc-line); display:flex; flex-direction:column; gap:14px; overflow:hidden; transition:all .25s; }
.cxc-comm-card::before{ content:''; position:absolute; left:0; top:0; right:0; height:4px; }
.cxc-comm-wl::before{ background:var(--cxc-green); }
.cxc-comm-src::before{ background:var(--cxc-violet); }
.cxc-comm-card:hover{ transform:translateY(-4px); border-color:var(--cxc-line-2); box-shadow:0 18px 48px rgba(0,0,0,.4); }
.cxc-comm-tag{ align-self:flex-start; padding:6px 12px; border-radius:6px; background:rgba(94,255,164,.12); color:var(--cxc-green); font:600 10.5px/1 ui-monospace,Menlo,monospace; letter-spacing:.16em; }
.cxc-comm-src .cxc-comm-tag{ background:rgba(167,139,250,.12); color:var(--cxc-violet); }
.cxc-comm-h{ font:600 32px/1.1 'Helvetica Neue',sans-serif; letter-spacing:-0.02em; color:var(--cxc-text); }
.cxc-comm-price{ display:flex; align-items:baseline; gap:8px; padding:14px 0; border-top:1px solid var(--cxc-line); border-bottom:1px solid var(--cxc-line); }
.cxc-comm-price span{ font:500 12px/1 ui-monospace,Menlo,monospace; color:var(--cxc-text-3); letter-spacing:.06em; text-transform:uppercase; }
.cxc-comm-price b{ font:600 44px/1 'Helvetica Neue',sans-serif; letter-spacing:-0.02em; background:linear-gradient(100deg,var(--cxc-green),var(--cxc-cyan)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.cxc-comm-src .cxc-comm-price b{ background:linear-gradient(100deg,var(--cxc-violet),var(--cxc-cyan)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.cxc-comm-price i{ font:500 13px/1 ui-monospace,Menlo,monospace; color:var(--cxc-text-3); font-style:normal; }
.cxc-comm-line{ font:500 12px/1.4 ui-monospace,Menlo,monospace; color:var(--cxc-text-3); margin-top:-6px; }
.cxc-comm-d{ font:400 15px/1.55 'Helvetica Neue',sans-serif; color:var(--cxc-text-2); margin:0; }
.cxc-comm-bullets{ display:flex; flex-direction:column; gap:10px; padding-top:14px; border-top:1px solid var(--cxc-line); }
.cxc-comm-bullets > div{ display:flex; align-items:center; gap:10px; font:500 14px/1.4 'Helvetica Neue',sans-serif; color:var(--cxc-text); }
.cxc-comm-bullets > div span{ width:6px; height:6px; border-radius:50%; background:var(--cxc-green); flex:0 0 6px; }
.cxc-comm-src .cxc-comm-bullets > div span{ background:var(--cxc-violet); }
.cxc-comm-bullets > div b{ font-weight:600; }
.cxc-comm-cta{ margin-top:6px; padding-top:14px; font:600 14px/1 'Helvetica Neue',sans-serif; color:var(--cxc-green); text-decoration:none; }
.cxc-comm-src .cxc-comm-cta{ color:var(--cxc-violet); }
@media (max-width:980px){ .cxc-comm-grid{ grid-template-columns:1fr; } }

/* ============================================================ MODULES CATALOG ============================================================ */
.cxc-mods{ padding-bottom:96px; }
.cxc-mods-grid{ max-width:1320px; margin:0 auto; padding:0 32px; display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.cxc-mods-col{ padding:24px; border-radius:14px; background:#0b1018; border:1px solid var(--cxc-line); display:flex; flex-direction:column; gap:14px; }
.cxc-mods-g{ font:600 11px/1 ui-monospace,Menlo,monospace; letter-spacing:.16em; color:var(--cxc-green); padding-bottom:12px; border-bottom:1px solid var(--cxc-line); }
.cxc-mods-it{ display:flex; flex-direction:column; gap:4px; }
.cxc-mods-it-t{ display:flex; align-items:center; gap:8px; font:600 14.5px/1.3 'Helvetica Neue',sans-serif; color:var(--cxc-text); }
.cxc-mods-check{ width:16px; height:16px; border-radius:4px; background:rgba(94,255,164,.16); color:var(--cxc-green); font:700 10px/16px 'Helvetica Neue',sans-serif; text-align:center; flex:0 0 16px; }
.cxc-mods-it-d{ font:400 12.5px/1.45 'Helvetica Neue',sans-serif; color:var(--cxc-text-2); padding-left:24px; }
@media (max-width:980px){ .cxc-mods-grid{ grid-template-columns:1fr; } }

/* ============================================================ STACK ============================================================ */
.cxc-stack{ padding-bottom:96px; }
.cxc-stack-grid{ max-width:1320px; margin:0 auto; padding:0 32px; border-radius:14px; background:#0b1018; border:1px solid var(--cxc-line); overflow:hidden; }
.cxc-stack-row{ display:grid; grid-template-columns:200px 1fr auto; gap:24px; padding:18px 28px; border-bottom:1px solid var(--cxc-line); align-items:center; }
.cxc-stack-row:last-child{ border-bottom:0; }
.cxc-stack-l{ font:600 15px/1.2 'Helvetica Neue',sans-serif; color:var(--cxc-green); }
.cxc-stack-s{ font:400 14px/1.5 ui-monospace,Menlo,monospace; color:var(--cxc-text-2); }
.cxc-stack-i{ display:flex; gap:6px; }
.cxc-stack-i span{ padding:5px 10px; border-radius:6px; background:rgba(255,255,255,.04); border:1px solid var(--cxc-line); font:600 11px/1 ui-monospace,Menlo,monospace; color:var(--cxc-text-2); }
@media (max-width:980px){
  .cxc-stack-row{ grid-template-columns:1fr; gap:10px; padding:18px 20px; }
  .cxc-stack-i{ flex-wrap:wrap; }
}

/* ============================================================ TIMELINE ============================================================ */
.cxc-tl{ padding-bottom:96px; }
.cxc-tl-frame{ max-width:1320px; margin:0 auto; padding:0 32px; display:grid; grid-template-columns:repeat(5,1fr); gap:0; }
.cxc-tl-step{ position:relative; padding:0 12px; }
.cxc-tl-n{ font:600 36px/1 'Helvetica Neue',sans-serif; letter-spacing:-0.02em; background:linear-gradient(100deg,var(--cxc-green),var(--cxc-cyan)); -webkit-background-clip:text; background-clip:text; color:transparent; margin-bottom:12px; }
.cxc-tl-line{ position:absolute; left:0; right:0; top:22px; height:1px; background:linear-gradient(90deg,transparent,var(--cxc-line) 20%,var(--cxc-line) 80%, transparent); }
.cxc-tl-step:last-child .cxc-tl-line{ background:transparent; }
.cxc-tl-body{ position:relative; padding-top:18px; }
.cxc-tl-w{ font:600 10.5px/1 ui-monospace,Menlo,monospace; letter-spacing:.16em; color:var(--cxc-green); margin-bottom:8px; }
.cxc-tl-t{ font:600 18px/1.2 'Helvetica Neue',sans-serif; letter-spacing:-0.01em; color:var(--cxc-text); margin-bottom:6px; }
.cxc-tl-d{ font:400 13px/1.5 'Helvetica Neue',sans-serif; color:var(--cxc-text-2); }
@media (max-width:980px){ .cxc-tl-frame{ grid-template-columns:1fr; gap:18px; } .cxc-tl-line{ display:none; } }

/* ============================================================ PROOF + FINAL ============================================================ */
.cxc-proof{ padding:0 0 96px; }
.cxc-proof-grid{ max-width:1320px; margin:0 auto; padding:36px 32px; display:grid; grid-template-columns:repeat(6,1fr); gap:0; border-top:1px solid var(--cxc-line); border-bottom:1px solid var(--cxc-line); }
.cxc-proof-item{ padding:12px 18px; border-right:1px solid var(--cxc-line); display:flex; flex-direction:column; gap:6px; }
.cxc-proof-item:last-child{ border-right:0; }
.cxc-proof-v{ font:600 32px/1 'Helvetica Neue',sans-serif; letter-spacing:-0.02em; background:linear-gradient(100deg,var(--cxc-green),var(--cxc-cyan)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.cxc-proof-l{ font:500 11px/1.3 ui-monospace,Menlo,monospace; letter-spacing:.06em; color:var(--cxc-text-3); text-transform:uppercase; }
@media (max-width:980px){ .cxc-proof-grid{ grid-template-columns:repeat(2,1fr); } .cxc-proof-item:nth-child(2n){ border-right:0; } }

.cxc-final{ position:relative; padding:120px 0; overflow:hidden; background:radial-gradient(ellipse 80% 60% at 50% 50%, rgba(94,255,164,.06), transparent 70%), linear-gradient(180deg,#06080d, #08111a); }
.cxc-final-inner{ position:relative; max-width:1320px; margin:0 auto; padding:0 32px; z-index:2; }
.cxc-final .cxc-h2{ font-size:60px; max-width:880px; }
.cxc-final .cxc-sub{ font-size:19px; max-width:680px; margin-bottom:32px; }
@media (max-width:980px){ .cxc-final .cxc-h2{ font-size:36px; } }
