@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&family=Space+Mono:wght@400;700&display=swap');

  :root {
    /* ---- Rewaff theme (tweakcn) — dark ---- */
    --bg:        oklch(0.1289 0.0199 238.9108);
    --bg2:       oklch(0.1807 0.0207 239.8394);
    --bg3:       oklch(0.2414 0.0196 239.1401);
    --bg4:       oklch(0.2791 0.0203 242.6079);
    --bg-glow:   radial-gradient(ellipse 80% 50% at 50% -8%, color-mix(in oklab, var(--accent) 16%, transparent), transparent 70%);

    --border:    oklch(0.2414 0.0196 239.1401);
    --border2:   oklch(0.2791 0.0203 242.6079);

    --text:      oklch(0.9200 0.0101 238.5127);
    --text2:     oklch(0.6499 0.0194 240.1577);
    --text3:     oklch(0.5200 0.0180 240.0000);
    --white:     oklch(0.9700 0.0101 238.5127);

    --accent:    oklch(0.7007 0.1804 148.9872);
    --accent2:   oklch(0.7700 0.1700 150.0521);
    --accent3:   oklch(0.5800 0.1600 148.0000);
    --accent-bg: color-mix(in oklab, var(--accent) 14%, transparent);
    --accent-glow: color-mix(in oklab, var(--accent) 40%, transparent);
    --accent-fg: oklch(0.1004 0.0209 233.5083);

    --green:     oklch(0.7007 0.1804 148.9872);
    --green-bg:  color-mix(in oklab, var(--green) 14%, transparent);
    --red:       oklch(0.6899 0.2008 18.6316);
    --red-bg:    color-mix(in oklab, var(--red) 14%, transparent);
    --orange:    oklch(0.7309 0.1840 51.3191);
    --orange-bg: color-mix(in oklab, var(--orange) 14%, transparent);
    --blue:      oklch(0.6798 0.1703 250.1921);
    --blue-bg:   color-mix(in oklab, var(--blue) 14%, transparent);
    --purple:    oklch(0.6928 0.1956 302.0666);
    --purple-bg: color-mix(in oklab, var(--purple) 14%, transparent);
    --magenta:   oklch(0.7400 0.1700 328.0000);

    --tg:        #229ED9;
    --tg-dark:   #1b86ba;
    --tg-glow:   rgba(34,158,217,0.40);
    --tg-bubble: #1f2c3a;

    --shadow:    0 8px 30px rgba(0,0,0,0.35);
    --shadow-lg: 0 24px 70px rgba(0,0,0,0.55);
    --radius:    12px;
    --radius-sm: 8px;

    --maxw: 1180px;
  }

  * { margin:0; padding:0; box-sizing:border-box; }
  html { scroll-behavior:smooth; font-size:16px; }
  body {
    font-family:'Space Grotesk', -apple-system, BlinkMacSystemFont, sans-serif;
    background:var(--bg);
    background-image: var(--bg-glow);
    background-attachment: fixed;
    color:var(--text);
    line-height:1.6;
    font-size:16px;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  code, .mono { font-family:'Space Mono', monospace; font-feature-settings:'tnum'; }
  a { color:inherit; text-decoration:none; }
  ::selection { background:var(--accent); color:var(--accent-fg); }
  svg { display:block; }

  .wrap { max-width:var(--maxw); margin:0 auto; padding:0 24px; }

  /* ---------- BUTTONS ---------- */
  .btn {
    display:inline-flex; align-items:center; gap:9px;
    padding:11px 20px; border-radius:11px; border:1px solid transparent;
    font-family:inherit; font-size:14.5px; font-weight:700; cursor:pointer;
    transition:.18s; white-space:nowrap;
  }
  .btn svg { width:18px; height:18px; }
  .btn-primary { background:linear-gradient(135deg, var(--accent), var(--accent3)); color:#fff; box-shadow:0 8px 22px var(--accent-glow); }
  .btn-primary:hover { transform:translateY(-2px); box-shadow:0 12px 30px var(--accent-glow); }
  .btn-tg { background:linear-gradient(135deg, var(--tg), var(--tg-dark)); color:#fff; box-shadow:0 8px 22px var(--tg-glow); }
  .btn-tg:hover { transform:translateY(-2px); box-shadow:0 12px 32px var(--tg-glow); }
  .btn-ghost { background:var(--bg3); border-color:var(--border2); color:var(--white); }
  .btn-ghost:hover { background:var(--bg4); border-color:var(--accent); }
  .btn-lg { padding:15px 28px; font-size:16px; border-radius:13px; }
  .btn-lg svg { width:20px; height:20px; }

  /* ---------- NAV ---------- */
  header.nav {
    position:sticky; top:0; z-index:100;
    backdrop-filter: blur(14px);
    background:rgba(16,17,32,0.80);
    border-bottom:1px solid var(--border);
  }
  .nav-inner { display:flex; align-items:center; gap:14px; height:66px; }
  .brand { display:flex; align-items:center; gap:11px; font-weight:800; font-size:18px; color:var(--white); letter-spacing:-0.4px; }
  .brand-logo {
    width:38px; height:38px; border-radius:11px;
    background:linear-gradient(135deg, var(--accent), var(--accent2));
    display:flex; align-items:center; justify-content:center;
    box-shadow:0 6px 18px var(--accent-glow); flex-shrink:0;
  }
  .brand-logo svg { width:21px; height:21px; color:var(--accent-fg); }
  .brand small { display:block; font-size:10px; font-weight:600; color:var(--accent2); letter-spacing:1.4px; text-transform:uppercase; line-height:1; margin-top:3px; }
  .nav-links { display:flex; gap:4px; margin-left:auto; }
  .nav-links a { padding:8px 13px; border-radius:9px; font-size:14px; font-weight:500; color:var(--text2); transition:.16s; }
  .nav-links a:hover { color:var(--white); background:var(--bg3); }
  .nav-cta { margin-left:10px; }

  /* ---------- HERO ---------- */
  .hero { position:relative; padding:80px 0 56px; text-align:center; }
  .eyebrow {
    display:inline-flex; align-items:center; gap:9px;
    padding:7px 16px; border-radius:999px;
    background:var(--accent-bg); border:1px solid color-mix(in oklab, var(--accent) 32%, transparent);
    color:var(--accent2); font-size:13px; font-weight:700; letter-spacing:.3px; margin-bottom:26px;
  }
  .eyebrow svg { width:15px; height:15px; }
  h1.hero-title {
    font-size:clamp(36px, 6.2vw, 64px); font-weight:800; line-height:1.05;
    color:var(--white); letter-spacing:-1.8px; max-width:900px; margin:0 auto;
  }
  h1.hero-title .grad {
    background:linear-gradient(120deg, var(--accent2), var(--accent));
    -webkit-background-clip:text; background-clip:text; color:transparent;
  }
  .hero-sub { font-size:clamp(16px,2.1vw,19.5px); color:var(--text2); max-width:660px; margin:24px auto 0; line-height:1.6; }
  .hero-cta { display:flex; gap:14px; justify-content:center; margin-top:34px; flex-wrap:wrap; }

  /* ---------- CAPABILITY BAR ---------- */
  .capwrap { margin-top:60px; }
  .statbar { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
  .stat {
    background:linear-gradient(160deg, var(--bg2), var(--bg));
    border:1px solid var(--border); border-radius:var(--radius);
    padding:26px 18px; text-align:center;
  }
  .stat .num { font-size:clamp(26px,3.4vw,38px); font-weight:800; color:var(--white); letter-spacing:-1px; }
  .stat .num span { color:var(--accent2); }
  .stat .lbl { font-size:13px; color:var(--text2); margin-top:6px; font-weight:500; }
  .cap-note { display:flex; align-items:center; justify-content:center; gap:9px; margin-top:18px; font-size:13.5px; color:var(--text3); }
  .cap-note svg { width:16px; height:16px; color:var(--accent2); flex-shrink:0; }

  /* ---------- SECTION SHELL ---------- */
  section { padding:78px 0; }
  .sec-head { text-align:center; max-width:680px; margin:0 auto 52px; }
  .sec-tag { font-size:13px; font-weight:800; letter-spacing:2px; text-transform:uppercase; color:var(--accent); }
  .sec-head h2 { font-size:clamp(28px,4vw,42px); font-weight:800; color:var(--white); letter-spacing:-1px; margin-top:12px; line-height:1.12; }
  .sec-head p { font-size:17px; color:var(--text2); margin-top:16px; }

  /* phone-based feature row (kept side-by-side; phones are narrow) */
  .frow { display:grid; grid-template-columns:1fr 1fr; gap:54px; align-items:center; margin-bottom:0; }

  /* ---------- FULL-WIDTH SHOWCASE (browser mockups) ---------- */
  .showcase { margin-bottom:104px; }
  .showcase:last-child { margin-bottom:0; }
  .sc-head { display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:center; margin-bottom:30px; }
  .sc-head .flist { margin-top:0; }
  .showcase > .mock { max-width:1060px; margin:0 auto; }

  .ficon {
    width:50px; height:50px; border-radius:13px; display:flex; align-items:center; justify-content:center;
    background:var(--accent-bg); border:1px solid color-mix(in oklab, var(--accent) 30%, transparent); color:var(--accent2); margin-bottom:20px;
  }
  .ficon svg { width:25px; height:25px; }
  .ftext h3 { font-size:clamp(23px,3vw,31px); font-weight:800; color:var(--white); letter-spacing:-0.6px; line-height:1.15; }
  .ftext .lead { font-size:16.5px; color:var(--text2); margin-top:16px; }
  .flist { margin-top:22px; display:flex; flex-direction:column; gap:13px; }
  .flist li { list-style:none; display:flex; gap:12px; align-items:flex-start; font-size:15px; color:var(--text); }
  .flist li .ck {
    width:21px; height:21px; border-radius:7px; flex-shrink:0; margin-top:2px;
    background:var(--accent-bg); display:flex; align-items:center; justify-content:center; color:var(--accent2);
  }
  .flist li .ck svg { width:13px; height:13px; }
  .flist li b { color:var(--white); }

  /* ---------- MOCKUP CHROME ---------- */
  .mock { background:var(--bg2); border:1px solid var(--border2); border-radius:var(--radius); box-shadow:var(--shadow-lg); overflow:hidden; }
  .mock-bar { display:flex; align-items:center; gap:7px; padding:12px 15px; background:var(--bg); border-bottom:1px solid var(--border); }
  .mock-bar .dots { display:flex; gap:6px; }
  .mock-bar .dots i { width:11px; height:11px; border-radius:50%; display:block; }
  .mock-bar .dots i:nth-child(1){ background:#ff5f57; }
  .mock-bar .dots i:nth-child(2){ background:#febc2e; }
  .mock-bar .dots i:nth-child(3){ background:#28c840; }
  .mock-url { margin-left:10px; flex:1; background:var(--bg3); border-radius:7px; padding:5px 12px; font-size:11.5px; color:var(--text3); font-family:'Space Mono',monospace; }
  .mock-body { padding:22px; }
  /* real product screenshots sit flush under the browser chrome */
  .mock-shot { display:block; background:var(--bg); }
  .mock-shot img { display:block; width:100%; height:auto; }

  .badge-sm { display:inline-flex; align-items:center; gap:5px; padding:3px 9px; border-radius:7px; font-size:11px; font-weight:700; }
  .tag-edit { background:var(--blue-bg); color:var(--blue); }
  .tag-comms{ background:var(--orange-bg); color:var(--orange); }

  /* page header strip inside mock */
  .m-head { display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:16px; }
  .m-head .pt { font-size:17px; font-weight:800; color:var(--white); letter-spacing:-.4px; }
  .m-head .ps { font-size:11.5px; color:var(--text3); margin-top:2px; }

  /* KPI cards */
  .kpi-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
  .kpi { background:var(--bg3); border:1px solid var(--border); border-radius:var(--radius-sm); padding:16px 16px; position:relative; overflow:hidden; }
  .kpi::before { content:''; position:absolute; left:0; top:0; bottom:0; width:3px; }
  .kpi.b::before{ background:var(--blue);} .kpi.g::before{ background:var(--green);}
  .kpi.o::before{ background:var(--orange);} .kpi.r::before{ background:var(--red);}
  .kpi.p::before{ background:var(--purple);} .kpi.m::before{ background:var(--magenta);}
  .kpi.n::before{ background:var(--text2);}
  .kpi .t { font-size:11.5px; color:var(--text2); font-weight:600; text-transform:uppercase; letter-spacing:.4px; }
  .kpi .v { font-size:32px; font-weight:800; letter-spacing:-1px; margin:4px 0 2px; color:var(--white); }
  .kpi.b .v{ color:var(--blue);} .kpi.g .v{ color:var(--green);}
  .kpi.o .v{ color:var(--orange);} .kpi.r .v{ color:var(--red);}
  .kpi.p .v{ color:var(--purple);} .kpi.m .v{ color:var(--magenta);}
  .kpi .s { font-size:11.5px; color:var(--text3); }

  .panel { background:var(--bg3); border:1px solid var(--border); border-radius:var(--radius-sm); padding:16px; }
  .panel-h { display:flex; align-items:center; justify-content:space-between; margin-bottom:10px; }
  .panel-h h4 { font-size:13.5px; color:var(--white); font-weight:700; }
  .panel-h .cnt { font-size:11px; color:var(--accent2); background:var(--accent-bg); padding:2px 9px; border-radius:6px; font-weight:700; }

  /* manager activity table */
  .mtbl { width:100%; border-collapse:collapse; font-size:13px; }
  .mtbl th { text-align:right; padding:6px 8px; color:var(--text3); font-weight:700; font-size:11px; text-transform:uppercase; letter-spacing:.3px; }
  .mtbl th:first-child { text-align:left; }
  .mtbl td { padding:9px 8px; border-top:1px solid var(--border); text-align:right; color:var(--text); }
  .mtbl td:first-child { text-align:left; color:var(--white); font-weight:600; }
  .mtbl td.hi { color:var(--accent2); font-weight:700; }

  /* operator status rows */
  .op-search { display:flex; gap:8px; align-items:center; margin-bottom:6px; }
  .op-search .sbox { flex:1; display:flex; align-items:center; gap:7px; background:var(--bg); border:1px solid var(--border2); border-radius:8px; padding:7px 11px; color:var(--text3); font-size:12.5px; }
  .op-search .sbox svg { width:14px; height:14px; }
  .op-pills { display:flex; gap:4px; }
  .op-pill { min-width:29px; height:29px; padding:0 8px; border-radius:7px; background:var(--bg); border:1px solid var(--border2); display:flex; align-items:center; justify-content:center; color:var(--text2); font-size:11px; font-weight:700; }
  .op-pill svg { width:15px; height:15px; }
  .op-pill.active { background:var(--accent-bg); border-color:var(--accent); color:var(--accent2); }
  .orow { display:flex; align-items:center; gap:10px; padding:9px 0; border-top:1px solid var(--border); font-size:13.5px; }
  .orow .nm { color:var(--white); font-weight:600; }
  .orow .meta { color:var(--text3); font-size:12px; margin-top:1px; }
  .orow .push { margin-left:auto; }
  .pill { padding:3px 11px; border-radius:999px; font-size:12px; font-weight:700; }
  .pill.green{ background:var(--green-bg); color:var(--green);}
  .pill.red{ background:var(--red-bg); color:var(--red);}
  .pill.orange{ background:var(--orange-bg); color:var(--orange);}

  .grid2 { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:14px; }

  /* shift rings */
  .shifts { display:grid; grid-template-columns:1fr 1fr 1fr; gap:14px; }
  .ring { display:flex; flex-direction:column; align-items:center; gap:10px; }
  .ring-c { position:relative; width:84px; height:84px; }
  .ring-c svg { position:absolute; inset:0; }
  .ring-v { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-weight:800; color:var(--white); font-size:18px; }
  .ring .nm { font-size:12.5px; color:var(--text2); font-weight:600; display:flex; align-items:center; gap:5px; }
  .ring .nm svg { width:14px; height:14px; }

  /* ---------- BULK TABLE ---------- */
  .btbl { width:100%; border-collapse:collapse; font-size:13px; }
  .btbl th { text-align:left; padding:9px 11px; color:var(--text2); font-weight:700; font-size:11px; text-transform:uppercase; letter-spacing:.4px; border-bottom:1px solid var(--border2); background:var(--bg); white-space:nowrap; }
  .btbl td { padding:11px 11px; border-bottom:1px solid var(--border); color:var(--text); white-space:nowrap; }
  .btbl tr:last-child td { border-bottom:0; }
  .ckbox { width:15px; height:15px; border:1.5px solid var(--border2); border-radius:4px; display:inline-block; vertical-align:middle; }
  .cell-in { background:var(--bg); border:1px solid var(--border2); border-radius:7px; padding:6px 11px; color:var(--text3); font-size:12.5px; display:inline-block; min-width:90px; }
  .thumb { width:28px; height:28px; border-radius:6px; background:linear-gradient(135deg,#3a3d63,#2a2c47); border:1px solid var(--border2); display:inline-flex; align-items:center; justify-content:center; color:var(--text2); position:relative; }
  .thumb svg { width:14px; height:14px; }
  .thumb .pen { position:absolute; right:-5px; bottom:-5px; width:16px; height:16px; border-radius:5px; background:var(--accent); color:var(--accent-fg); display:flex; align-items:center; justify-content:center; box-shadow:0 2px 5px rgba(0,0,0,.4); }
  .thumb .pen svg { width:9px; height:9px; }
  .st-sent{ color:var(--green); font-weight:700; display:inline-flex; align-items:center; gap:4px; }
  .st-sent svg { width:14px; height:14px; }
  .st-pend{ color:var(--text3); }
  .info-i { width:16px; height:16px; color:var(--text3); opacity:.6; }
  .toolbar { display:flex; gap:9px; align-items:center; margin-bottom:14px; flex-wrap:wrap; }
  .tbtn { display:inline-flex; align-items:center; gap:6px; background:var(--bg3); border:1px solid var(--border2); border-radius:8px; padding:7px 13px; font-size:12.5px; color:var(--text); font-weight:600; }
  .tbtn svg { width:14px; height:14px; }
  .tbtn.on { color:var(--accent2); border-color:var(--accent); background:var(--accent-bg); }
  .tbtn.prim { background:linear-gradient(135deg,var(--accent),var(--accent3)); color:#fff; border-color:transparent; }
  .bstats { display:flex; gap:16px; font-size:12.5px; color:var(--text2); }
  .bstats b { color:var(--white); }
  .progress { height:6px; background:var(--bg); border-radius:99px; margin-bottom:16px; overflow:hidden; }
  .progress i { display:block; height:100%; width:62%; background:linear-gradient(90deg,var(--accent),var(--accent2)); border-radius:99px; }
  .tip { display:flex; align-items:center; gap:8px; font-size:12px; color:var(--text3); margin-top:14px; }
  .tip svg { width:15px; height:15px; color:var(--accent2); flex-shrink:0; }

  /* ---------- IMAGE EDITOR ---------- */
  .ie-toolbar { display:flex; align-items:center; gap:9px; flex-wrap:wrap; padding:12px 14px; background:var(--bg); border-bottom:1px solid var(--border); }
  .ie-btn { display:inline-flex; align-items:center; gap:6px; background:var(--bg3); border:1px solid var(--border2); border-radius:8px; padding:7px 12px; font-size:12.5px; color:var(--text); font-weight:600; }
  .ie-btn svg { width:14px; height:14px; }
  .ie-btn.active { background:var(--accent-bg); border-color:var(--accent); color:var(--accent2); }
  .ie-colors { display:flex; gap:6px; align-items:center; padding:0 4px; }
  .ie-colors .c { width:19px; height:19px; border-radius:50%; border:2px solid transparent; cursor:pointer; }
  .ie-colors .c.active { border-color:var(--white); }
  .ie-size { display:flex; align-items:center; gap:8px; font-size:12px; color:var(--text2); }
  .ie-range { width:70px; height:4px; background:var(--border2); border-radius:99px; position:relative; }
  .ie-range i { position:absolute; left:34%; top:50%; transform:translate(-50%,-50%); width:13px; height:13px; border-radius:50%; background:var(--accent2); }
  .ie-zoom { display:flex; align-items:center; gap:5px; font-size:12px; color:var(--text2); }
  .ie-stage { background:repeating-conic-gradient(#15162a 0% 25%, #191a30 0% 50%) 50%/24px 24px; padding:26px; display:flex; align-items:center; justify-content:center; min-height:300px; }
  .ie-doc { width:100%; max-width:520px; background:#f4f6fb; border-radius:10px; padding:20px; position:relative; box-shadow:0 14px 38px rgba(0,0,0,.45); }
  .ie-doc .docrow { height:11px; border-radius:3px; background:#d7dde8; margin-bottom:11px; }
  .ie-doc .docrow.s { width:60%; } .ie-doc .docrow.m { width:85%; } .ie-doc .docrow.hot { background:#f6c9c9; }
  .ie-anno { position:absolute; pointer-events:none; }

  /* ---------- DONUTS (SVG) ---------- */
  .analytics-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; max-width:1060px; margin:0 auto; }
  .donut-card { background:var(--bg3); border:1px solid var(--border); border-radius:var(--radius-sm); padding:24px 18px; text-align:center; }
  .donut2 { position:relative; width:140px; height:140px; margin:0 auto 16px; }
  .donut2 svg { width:140px; height:140px; transform:rotate(-90deg); }
  .donut2 .inner { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; }
  .donut2 .inner .big { font-size:25px; font-weight:800; color:var(--white); line-height:1; }
  .donut2 .inner .small { font-size:10.5px; color:var(--text3); margin-top:3px; text-transform:uppercase; letter-spacing:.4px; }
  .donut2 .inner .rate { font-size:14px; font-weight:800; margin-top:4px; }
  .donut-card h4 { font-size:14px; color:var(--white); font-weight:700; }
  .donut-card .sub { font-size:12px; color:var(--text2); margin-top:3px; }
  .legend { display:flex; justify-content:center; gap:16px; margin-top:13px; font-size:11.5px; color:var(--text2); }
  .legend i { width:9px; height:9px; border-radius:3px; display:inline-block; margin-right:5px; vertical-align:middle; }

  /* mistakes bar */
  .mbar { display:flex; align-items:center; gap:12px; margin:9px 0; font-size:13px; }
  .mbar .nm { width:160px; color:var(--text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .mbar .track { flex:1; height:20px; background:var(--bg); border-radius:6px; overflow:hidden; display:flex; }
  .mbar .track i { display:block; height:100%; }
  .mbar .ct { width:28px; text-align:right; color:var(--text2); font-weight:700; }

  /* leaderboard */
  .lbtbl { width:100%; border-collapse:collapse; font-size:13.5px; }
  .lbtbl th { text-align:right; padding:10px 12px; color:var(--text3); font-weight:700; font-size:11px; text-transform:uppercase; letter-spacing:.4px; border-bottom:1px solid var(--border2); }
  .lbtbl th:nth-child(1),.lbtbl th:nth-child(2){ text-align:left; }
  .lbtbl td { padding:12px; border-bottom:1px solid var(--border); text-align:right; }
  .lbtbl tr:last-child td { border-bottom:0; }
  .lb-rank { width:28px; height:28px; border-radius:8px; display:inline-flex; align-items:center; justify-content:center; font-weight:800; font-size:13px; background:var(--bg4); color:var(--text2); }
  .lb-rank.gold{ background:linear-gradient(135deg,#f5c451,#d99b1c); color:#3a2806; }
  .lb-rank.silver{ background:linear-gradient(135deg,#cdd2db,#9aa0ac); color:#2a2d33; }
  .lb-rank.bronze{ background:linear-gradient(135deg,#cd8a52,#a5642f); color:#2e1a09; }
  .lbtbl td.nm { text-align:left; color:var(--white); font-weight:600; }
  .lbtbl td.sh { text-align:left; color:var(--text3); font-size:12px; }
  .lb-rate { font-weight:800; font-size:14.5px; }

  /* trend svg */
  .trend-svg { width:100%; height:auto; display:block; }
  .imp { display:inline-flex; align-items:center; gap:5px; color:var(--green); font-weight:700; }
  .imp svg { width:14px; height:14px; }

  /* dispute lifecycle */
  .flow { display:grid; grid-template-columns:repeat(4,1fr); gap:0; }
  .flow-step { position:relative; padding:0 12px; text-align:center; }
  .flow-step .ball { width:50px; height:50px; border-radius:14px; margin:0 auto 13px; display:flex; align-items:center; justify-content:center; border:1.5px solid var(--border2); background:var(--bg3); position:relative; z-index:2; }
  .flow-step .ball svg { width:23px; height:23px; }
  .flow-step:not(:last-child)::after { content:''; position:absolute; top:25px; left:62%; right:-38%; height:2px; background:var(--border2); z-index:1; }
  .flow-step h5 { font-size:14px; color:var(--white); font-weight:700; }
  .flow-step p { font-size:12.5px; color:var(--text2); margin-top:5px; }
  .flow-step.s1 .ball{ border-color:var(--orange); color:var(--orange);}
  .flow-step.s2 .ball{ border-color:var(--blue); color:var(--blue);}
  .flow-step.s3 .ball{ border-color:var(--green); color:var(--green);}
  .flow-step.s4 .ball{ border-color:var(--purple); color:var(--purple);}

  /* DOT form */
  .form-field { margin-bottom:14px; }
  .form-field label { display:block; font-size:11px; color:var(--text2); font-weight:700; margin-bottom:6px; text-transform:uppercase; letter-spacing:.4px; }
  .form-in { width:100%; background:var(--bg); border:1px solid var(--border2); border-radius:9px; padding:10px 13px; color:var(--white); font-size:13.5px; }
  .form-in.ph { color:var(--text3); display:flex; align-items:center; gap:8px; }
  .gbadges { display:flex; flex-wrap:wrap; gap:8px; }
  .gb { padding:6px 13px; border-radius:8px; font-size:13px; font-weight:700; display:inline-flex; align-items:center; gap:7px; border:1px solid transparent; }
  .gb .x { opacity:.55; font-weight:700; }
  .gb.driver { background:var(--blue-bg); color:var(--blue); border-color:rgba(96,165,250,.3); }
  .gb.operator { background:var(--orange-bg); color:var(--orange); border-color:rgba(251,146,60,.3); }
  .gb.dataq { background:rgba(232,121,249,.14); color:var(--magenta); border-color:rgba(232,121,249,.3); }
  .gb.other { background:var(--purple-bg); color:var(--purple); border-color:rgba(167,139,250,.3); }
  .gb.add { background:var(--bg); color:var(--text3); border:1px dashed var(--border2); }

  /* DOT analysis top lists */
  .toplist .tl-row { display:flex; align-items:center; gap:10px; padding:9px 0; border-top:1px solid var(--border); font-size:13.5px; }
  .toplist .tl-row:first-child { border-top:0; }
  .toplist .tl-row .nm { color:var(--white); font-weight:600; }
  .toplist .tl-row .ct { margin-left:auto; font-weight:800; }

  /* ---------- TELEGRAM PHONE ---------- */
  .phone { width:340px; max-width:100%; margin:0 auto; background:#0e1621; border:9px solid #060a10; border-radius:38px; box-shadow:var(--shadow-lg); overflow:hidden; }
  .phone-top { background:var(--tg); padding:13px 16px 12px; display:flex; align-items:center; gap:11px; }
  .phone-top .bava { width:38px; height:38px; border-radius:50%; background:#fff; display:flex; align-items:center; justify-content:center; }
  .phone-top .bava svg{ width:21px; height:21px; color:var(--tg); }
  .phone-top .bn { color:#fff; font-weight:700; font-size:14.5px; line-height:1.2; }
  .phone-top .bs { color:rgba(255,255,255,.8); font-size:11.5px; }
  .phone-chat { background:#0e1621; padding:16px 13px; min-height:430px; display:flex; flex-direction:column; gap:11px; background-image:radial-gradient(rgba(255,255,255,0.025) 1px, transparent 1px); background-size:18px 18px; }
  .bubble { background:var(--tg-bubble); border-radius:13px; border-top-left-radius:4px; padding:11px 13px; font-size:12.8px; color:#dfe7ee; max-width:92%; box-shadow:0 1px 2px rgba(0,0,0,.3); }
  .bubble .ttl { font-weight:800; color:#fff; font-size:13.2px; margin-bottom:6px; }
  .bubble .ln { display:flex; gap:6px; margin:2px 0; }
  .bubble .ln b { color:#9fb0bf; font-weight:600; min-width:74px; }
  .bubble .ln code { background:#0c1118; padding:1px 6px; border-radius:5px; color:#cdd6df; font-size:11.5px; }
  .bubble.attn { border-left:3px solid var(--orange); }
  .bubble.err { border-left:3px solid var(--red); }
  .tg-kb { display:flex; flex-direction:column; gap:6px; margin-top:9px; }
  .tg-btn { background:#2b3a4a; border-radius:9px; padding:9px; text-align:center; color:#8ec9eb; font-size:12.5px; font-weight:600; }
  .tg-btn.full { color:#fff; background:#356a3f; }
  .chip-time { font-size:10px; color:#5f7382; text-align:right; margin-top:4px; }
  .sys-note { align-self:center; background:rgba(255,255,255,0.06); color:#9fb0bf; font-size:11px; padding:4px 12px; border-radius:99px; }

  /* ---------- FEATURE CHIP GRID ---------- */
  .chips { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
  .chip { background:var(--bg2); border:1px solid var(--border); border-radius:var(--radius-sm); padding:22px 20px; transition:.18s; }
  .chip:hover { border-color:var(--border2); background:var(--bg3); transform:translateY(-3px); }
  .chip .ci { width:40px; height:40px; border-radius:10px; background:var(--accent-bg); color:var(--accent2); display:flex; align-items:center; justify-content:center; margin-bottom:14px; }
  .chip .ci svg { width:21px; height:21px; }
  .chip h4 { font-size:15.5px; color:var(--white); font-weight:700; margin-bottom:6px; }
  .chip p { font-size:13px; color:var(--text2); line-height:1.5; }

  /* ---------- ROLES MATRIX ---------- */
  .matrix { background:var(--bg2); border:1px solid var(--border); border-radius:var(--radius); overflow:hidden; max-width:1000px; margin:0 auto; }
  .mx-intro { display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; border-bottom:1px solid var(--border2); }
  .mx-intro > div { padding:20px; }
  .mx-intro .lead-cell { background:var(--bg); display:flex; align-items:center; }
  .mx-intro .lead-cell span { font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:1px; color:var(--text3); }
  .mx-role { text-align:center; border-left:1px solid var(--border); }
  .mx-role .ri { width:38px; height:38px; border-radius:10px; background:var(--bg3); color:var(--accent2); display:flex; align-items:center; justify-content:center; margin:0 auto 9px; }
  .mx-role .ri svg { width:19px; height:19px; }
  .mx-role h4 { font-size:16px; color:var(--white); font-weight:800; }
  .mx-role .rtag { font-size:11px; color:var(--text3); margin-top:3px; }
  .mx-row { display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; align-items:center; border-bottom:1px solid var(--border); }
  .mx-row:last-child { border-bottom:0; }
  .mx-row:nth-child(even) { background:rgba(255,255,255,0.012); }
  .mx-feat { padding:14px 20px; font-size:14px; color:var(--text); font-weight:500; }
  .mx-cell { padding:14px; text-align:center; border-left:1px solid var(--border); height:100%; display:flex; align-items:center; justify-content:center; }
  .mx-yes { width:24px; height:24px; border-radius:7px; background:var(--green-bg); color:var(--green); display:flex; align-items:center; justify-content:center; }
  .mx-yes svg { width:14px; height:14px; }
  .mx-no { width:18px; height:2px; border-radius:2px; background:var(--border2); }

  /* ---------- TECH / $0 ---------- */
  .tech-band { background:linear-gradient(140deg, var(--bg2), var(--bg)); border:1px solid var(--border); border-radius:24px; padding:46px 44px; display:grid; grid-template-columns:1.05fr 1fr; gap:48px; align-items:center; }
  .tech-band h2 { font-size:clamp(26px,3.4vw,36px); color:var(--white); font-weight:800; letter-spacing:-1px; line-height:1.14; }
  .tech-band p { color:var(--text2); font-size:16px; margin-top:16px; }
  .zero { font-size:clamp(54px,8vw,92px); font-weight:800; color:var(--accent2); letter-spacing:-3px; line-height:1; }
  .stack-list { display:flex; flex-direction:column; gap:10px; }
  .stack-item { display:grid; grid-template-columns:38px 1fr auto; align-items:center; gap:14px; background:var(--bg3); border:1px solid var(--border); border-radius:11px; padding:13px 16px; }
  .stack-item .si { width:38px; height:38px; border-radius:9px; background:var(--bg4); display:flex; align-items:center; justify-content:center; color:var(--accent2); }
  .stack-item .si svg{ width:18px; height:18px; }
  .stack-item .sm b { color:var(--white); font-size:14.5px; display:block; line-height:1.3; }
  .stack-item .sm small { color:var(--text3); font-size:12px; }
  .stack-item .cat { font-size:11px; font-weight:700; color:var(--accent2); background:var(--accent-bg); padding:4px 11px; border-radius:7px; white-space:nowrap; }

  /* ---------- WORKFLOW ---------- */
  .steps { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; counter-reset:step; }
  .step { background:var(--bg2); border:1px solid var(--border); border-radius:var(--radius); padding:26px 22px; }
  .step .n { counter-increment:step; }
  .step .n::before { content:counter(step); font-size:13px; font-weight:800; color:var(--accent-fg); background:var(--accent2); width:30px; height:30px; border-radius:9px; display:flex; align-items:center; justify-content:center; margin-bottom:16px; }
  .step h4 { font-size:16px; color:var(--white); font-weight:700; margin-bottom:8px; }
  .step p { font-size:13.5px; color:var(--text2); }

  /* ---------- CTA ---------- */
  .cta-band { background:linear-gradient(140deg, var(--accent3), #4d5a22); border-radius:26px; padding:58px 44px; text-align:center; position:relative; overflow:hidden; }
  .cta-band::before { content:''; position:absolute; inset:0; pointer-events:none; background:radial-gradient(circle at 80% -20%, rgba(255,255,255,.18), transparent 60%); }
  .cta-band h2 { font-size:clamp(28px,4.2vw,44px); color:#fff; font-weight:800; letter-spacing:-1px; position:relative; z-index:1; }
  .cta-band p { color:rgba(255,255,255,.92); font-size:18px; margin-top:16px; position:relative; z-index:1; max-width:560px; margin-left:auto; margin-right:auto; }
  .cta-band .hero-cta { margin-top:30px; position:relative; z-index:1; }
  .btn-outline { background:rgba(255,255,255,.14); color:#fff; border-color:rgba(255,255,255,.45); }
  .btn-outline:hover { background:rgba(255,255,255,.24); transform:translateY(-2px); }

  /* ---------- FOOTER ---------- */
  footer { border-top:1px solid var(--border); padding:46px 0 40px; margin-top:88px; }
  .foot { display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
  .foot .brand { font-size:16px; }
  .foot p { color:var(--text3); font-size:13.5px; }
  .foot .fl { margin-left:auto; display:flex; gap:20px; }
  .foot .fl a { color:var(--text2); font-size:14px; }
  .foot .fl a:hover{ color:var(--accent2); }

  .reveal { opacity:0; transform:translateY(26px); transition:opacity .7s cubic-bezier(.16,1,.3,1), transform .7s cubic-bezier(.16,1,.3,1); }
  .reveal.in { opacity:1; transform:none; }

  /* ---------- RESPONSIVE ---------- */
  @media (max-width: 920px) {
    .nav-links { display:none; }
    .statbar { grid-template-columns:1fr 1fr; }
    .sc-head { grid-template-columns:1fr; gap:20px; margin-bottom:24px; }
    .frow { grid-template-columns:1fr; gap:34px; }
    .showcase { margin-bottom:74px; }
    .steps { grid-template-columns:1fr 1fr; }
    .chips { grid-template-columns:1fr 1fr; }
    .tech-band { grid-template-columns:1fr; padding:34px 26px; }
    .analytics-grid { grid-template-columns:1fr; }
    .flow { grid-template-columns:1fr 1fr; gap:26px 10px; }
    .flow-step:not(:last-child)::after { display:none; }
    .mx-intro, .mx-row { grid-template-columns:1.2fr .9fr .9fr .9fr; }
    .mx-role h4 { font-size:13px; } .mx-role .rtag { display:none; }
    .mx-feat { font-size:12.5px; padding:12px; }
  }
  @media (max-width:560px){
    .chips, .steps { grid-template-columns:1fr; }
    .kpi-grid { grid-template-columns:1fr 1fr; }
    .grid2 { grid-template-columns:1fr; }
    .mock-body { padding:14px; }
    .btbl { font-size:12px; }
  }



  .cmp { max-width:980px; margin:0 auto; border:1px solid var(--border); border-radius:var(--radius); overflow:hidden; background:var(--bg2); }
  .cmp-head, .cmp-row { display:grid; grid-template-columns:1.7fr 1fr 1fr; }
  .cmp-cell { padding:14px 18px; border-bottom:1px solid var(--border); font-size:14px; }
  .cmp-row:last-child .cmp-cell { border-bottom:0; }
  .cmp-row:nth-child(odd) { background:rgba(255,255,255,0.012); }
  .cmp-feat { color:var(--text); font-weight:500; }
  .cmp-flag, .cmp-gas { text-align:center; border-left:1px solid var(--border); color:var(--text2); font-size:13.5px; }
  .cmp-flag { background:color-mix(in oklab, var(--accent) 7%, transparent); }
  .cmp-head .cmp-cell { border-bottom:1px solid var(--border2); text-align:center; }
  .cmp-head .cmp-flag b, .cmp-head .cmp-gas b { display:block; color:var(--white); font-size:15px; margin-top:9px; }
  .cmp-head small { color:var(--text3); font-size:11.5px; }
  .cmp-badge { display:inline-block; padding:3px 12px; border-radius:999px; font-size:11px; font-weight:800; letter-spacing:.5px; text-transform:uppercase; }
  .cmp-badge.flag { background:var(--accent-bg); color:var(--accent2); border:1px solid color-mix(in oklab, var(--accent) 32%, transparent); }
  .cmp-badge.gas { background:var(--bg4); color:var(--text2); border:1px solid var(--border2); }
  .cmp-yes { color:var(--green); font-weight:800; }
  .cmp-dash { color:var(--text3); }
  .cmp-flag b.win { color:var(--accent2); font-weight:700; }
  @media (max-width:680px){ .cmp-cell{ padding:11px 10px; font-size:12.5px; } .cmp-head small{ display:none; } }
