@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Inter:wght@400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;700&display=swap');
:root{
      --display: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
      --body: "Inter", ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
      --bg:#070A12;
      --bg2:#05070d;
      --panel:rgba(255,255,255,.06);
      --panel2:rgba(255,255,255,.085);
      --text:rgba(255,255,255,.92);
      --muted:rgba(255,255,255,.62);
      --line:rgba(255,255,255,.12);
      --shadow: 0 18px 70px rgba(0,0,0,.55);
      --r:18px;
      --max:1180px;
      --ease:cubic-bezier(.2,.8,.2,1);
      --accent1:#7C3AED; /* violet */
      --accent2:#22D3EE; /* cyan */
      --accent3:#F97316; /* orange */
      --ok:#22c55e;
      --warn:#f59e0b;
      --bad:#ef4444;
    }
    *{box-sizing:border-box}
    html,body{height:100%}
    body{
      margin:0;
      font-family: var(--body);
      -webkit-font-smoothing:antialiased;
      text-rendering:optimizeLegibility;
      background:
        radial-gradient(1100px 680px at 50% -6%, rgba(124,58,237,.20), transparent 60%),
        radial-gradient(900px 560px at 92% 4%, rgba(34,211,238,.12), transparent 55%),
        linear-gradient(180deg, var(--bg), var(--bg2));
      background-attachment: fixed;
      color:var(--text);
      overflow-x:hidden;
    }
    a{color:inherit; text-decoration:none}
    .wrap{max-width:var(--max); margin:0 auto; padding:0 22px}

    /* subtle animated grain */
    .grain{
      pointer-events:none;
      position:fixed; inset:-45%;
      background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23n)' opacity='.20'/%3E%3C/svg%3E");
      mix-blend-mode:overlay;
      opacity:.08;
      animation:grain 10s steps(6) infinite;
      transform:translate3d(0,0,0);
    }
    @keyframes grain{
      0%{transform:translate3d(0,0,0)}
      20%{transform:translate3d(-5%, -8%,0)}
      40%{transform:translate3d(-10%, 7%,0)}
      60%{transform:translate3d(7%, 10%,0)}
      80%{transform:translate3d(12%, -4%,0)}
      100%{transform:translate3d(0,0,0)}
    }

    /* top nav */
    header{
      position:sticky; top:0; z-index:30;
      backdrop-filter: blur(14px);
      background: linear-gradient(to bottom, rgba(7,10,18,.85), rgba(7,10,18,.30));
      border-bottom:1px solid rgba(255,255,255,.06);
    }
    .nav{
      display:flex; align-items:center; justify-content:space-between;
      padding:14px 0;
      gap:14px;
    }
    .brand{
      display:flex; align-items:center; gap:10px;
      letter-spacing:.2px;
      font-weight:720;
    }
    .logo{
      width:30px;height:30px;border-radius:11px;
      background:
        radial-gradient(14px 14px at 28% 34%, rgba(34,211,238,.95), transparent 62%),
        radial-gradient(18px 18px at 72% 72%, rgba(124,58,237,.95), transparent 64%),
        rgba(255,255,255,.06);
      border:1px solid rgba(255,255,255,.10);
      box-shadow: 0 10px 24px rgba(0,0,0,.35);
    }
    .navlinks{display:flex; gap:6px; align-items:center; flex-wrap:wrap}
    .navlinks a{
      color:var(--muted);
      font-size:13px;
      padding:9px 10px;
      border-radius:12px;
      transition: background .25s var(--ease), color .25s var(--ease), transform .25s var(--ease);
    }
    .navlinks a:hover{background:rgba(255,255,255,.06); color:var(--text); transform:translateY(-1px)}
    .navright{display:flex; gap:10px; align-items:center}
    .btn{
      display:inline-flex; align-items:center; justify-content:center;
      gap:10px;
      font-weight:650;
      padding:10px 14px;
      border-radius:14px;
      border:1px solid rgba(255,255,255,.12);
      background: rgba(255,255,255,.06);
      color:var(--text);
      transition: transform .22s var(--ease), background .22s var(--ease), border-color .22s var(--ease);
      cursor:pointer;
      user-select:none;
    }
    .btn:hover{transform:translateY(-1px); background:rgba(255,255,255,.085); border-color:rgba(255,255,255,.18)}
    .btn.primary{
      border-color:transparent;
      background: linear-gradient(135deg, rgba(124,58,237,.98), rgba(34,211,238,.86));
      box-shadow: 0 16px 40px rgba(124,58,237,.18);
    }
    .btn.primary:hover{transform:translateY(-1px) scale(1.01)}
    .pill{
      display:inline-flex; align-items:center; gap:8px;
      padding:8px 12px;
      border-radius:999px;
      border:1px solid rgba(255,255,255,.12);
      background: rgba(255,255,255,.05);
      color:var(--muted);
      font-size:13px;
      width:max-content;
    }
    .dot{
      width:8px;height:8px;border-radius:99px;
      background:linear-gradient(135deg, var(--accent2), var(--accent1));
      box-shadow:0 0 0 3px rgba(34,211,238,.12);
    }

    /* hackuity-like "chapters" */
    .chapters{
      position:fixed;
      right:18px;
      top:92px;
      z-index:25;
      display:flex;
      flex-direction:column;
      gap:10px;
      align-items:flex-end;
    }
    .chapter{
      display:flex; align-items:center; gap:10px;
      padding:10px 12px;
      border-radius:999px;
      border:1px solid rgba(255,255,255,.12);
      background: rgba(0,0,0,.18);
      color:rgba(255,255,255,.74);
      font-size:12px;
      cursor:pointer;
      transition: transform .22s var(--ease), background .22s var(--ease), border-color .22s var(--ease);
      backdrop-filter: blur(10px);
      max-width: 220px;
      overflow:hidden;
      white-space:nowrap;
    }
    .chapter:hover{transform:translateX(-2px); background:rgba(255,255,255,.07); border-color:rgba(255,255,255,.18)}
    .chapter .k{
      width:24px;height:24px;border-radius:10px;
      display:flex; align-items:center; justify-content:center;
      font-weight:800;
      background: rgba(255,255,255,.06);
      border:1px solid rgba(255,255,255,.12);
      flex:0 0 auto;
    }
    .chapter.active{
      border-color: rgba(34,211,238,.35);
      background: rgba(34,211,238,.10);
      color: rgba(203,251,255,.95);
    }

    /* hero */
    .hero{padding:54px 0 24px}
    .hero-grid{
      display:grid;
      grid-template-columns: 1.18fr .92fr;
      gap:22px;
      align-items:stretch;
    }
    h1{
      margin:18px 0 14px;
      font-size: clamp(34px, 4.2vw, 58px);
      line-height:1.03;
      letter-spacing:-.035em;
    }
    .lead{
      color:var(--muted);
      font-size: 16px;
      line-height:1.7;
      max-width: 62ch;
    }
    .hero-ctas{
      display:flex; gap:12px; align-items:center; flex-wrap:wrap;
      margin-top:18px;
    }
    .mini{
      color:var(--muted);
      font-size:13px;
      margin-top:14px;
      display:flex;
      gap:16px;
      flex-wrap:wrap;
      align-items:center;
    }
    .mini span{display:inline-flex; gap:8px; align-items:center}
    .check{
      width:16px;height:16px; border-radius:6px;
      background:rgba(34,211,238,.14);
      border:1px solid rgba(34,211,238,.28);
      display:inline-flex; align-items:center; justify-content:center;
      color:rgba(34,211,238,.95);
      font-weight:900;
      font-size:12px;
    }

    /* cards */
    .card{
      border-radius:var(--r);
      background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.045));
      border: 1px solid rgba(255,255,255,.10);
      box-shadow: var(--shadow);
    }

    /* right "panel" */
    .panel{
      padding:16px;
      position:relative;
      overflow:hidden;
    }
    .panel:before{
      content:"";
      position:absolute; inset:-45%;
      background:
        radial-gradient(420px 220px at 30% 30%, rgba(34,211,238,.20), transparent 62%),
        radial-gradient(460px 260px at 70% 70%, rgba(124,58,237,.22), transparent 62%);
      filter: blur(12px);
      opacity:.95;
      transform: rotate(7deg);
    }
    .panel > *{position:relative}
    .panel-top{
      display:flex; align-items:center; justify-content:space-between;
      gap:10px;
      margin-bottom:10px;
    }
    .kbd{
      font-size:12px;
      color:rgba(255,255,255,.70);
      border:1px solid rgba(255,255,255,.12);
      background: rgba(0,0,0,.25);
      padding:6px 10px;
      border-radius:12px;
    }
    .close{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      width:34px;height:34px;
      border-radius:12px;
      border:1px solid rgba(255,255,255,.12);
      background: rgba(0,0,0,.20);
      cursor:pointer;
      transition: transform .18s var(--ease), background .18s var(--ease);
    }
    .close:hover{transform:translateY(-1px); background:rgba(255,255,255,.06)}
    .screen{
      margin-top:10px;
      border-radius:16px;
      border:1px solid rgba(255,255,255,.10);
      background: rgba(0,0,0,.28);
      overflow:hidden;
    }
    .screenbar{
      display:flex; gap:8px; align-items:center;
      padding:10px 12px;
      border-bottom:1px solid rgba(255,255,255,.08);
      background: rgba(255,255,255,.03);
    }
    .bubble{width:10px;height:10px;border-radius:99px; background:rgba(255,255,255,.14)}
    .screenbody{padding:14px}
    .grid3{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:10px;
    }
    .stat{
      padding:12px;
      border-radius:14px;
      background: rgba(255,255,255,.05);
      border:1px solid rgba(255,255,255,.10);
    }
    .stat b{display:block; font-size:18px; letter-spacing:-.02em}
    .stat small{color:var(--muted); font-size:12px}
    .log{
      margin-top:10px;
      font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono","Courier New", monospace;
      font-size:12px;
      line-height:1.6;
      color:rgba(255,255,255,.78);
      background: rgba(0,0,0,.25);
      border:1px solid rgba(255,255,255,.10);
      border-radius:14px;
      padding:12px;
      max-height: 176px;
      overflow:auto;
    }
    .tag{
      display:inline-flex; align-items:center;
      padding:3px 8px;
      border-radius:999px;
      font-size:11px;
      border:1px solid rgba(255,255,255,.14);
      background: rgba(255,255,255,.06);
      color:rgba(255,255,255,.78);
    }
    .tag.red{border-color: rgba(248,113,113,.35); background: rgba(248,113,113,.10); color: rgba(255,210,210,.92)}
    .tag.cyan{border-color: rgba(34,211,238,.35); background: rgba(34,211,238,.10); color: rgba(203,251,255,.95)}
    .tag.orange{border-color: rgba(249,115,22,.35); background: rgba(249,115,22,.10); color: rgba(255,234,213,.95)}

    section{padding:56px 0}
    .section-title{
      display:flex; align-items:flex-end; justify-content:space-between;
      gap:18px;
      margin-bottom:18px;
    }
    h2{
      margin:0;
      font-size: clamp(22px, 2.7vw, 36px);
      letter-spacing:-.02em;
    }
    .sub{
      margin:0;
      color:var(--muted);
      max-width: 66ch;
      line-height:1.7;
      font-size:15px;
    }

    /* hackuity-like stat row */
    .big-metric{
      display:flex;
      align-items:baseline;
      gap:12px;
      margin:18px 0 10px;
    }
    .big-metric .num{
      font-size: clamp(42px, 6vw, 78px);
      font-weight:860;
      letter-spacing:-.04em;
      line-height:1;
      background: linear-gradient(135deg, rgba(34,211,238,.98), rgba(124,58,237,.92));
      -webkit-background-clip:text;
      background-clip:text;
      color:transparent;
    }
    .big-metric .label{
      color:rgba(255,255,255,.80);
      font-weight:650;
      letter-spacing:-.01em;
      max-width: 32ch;
    }
    .meter{
      height:10px;
      border-radius:999px;
      background: rgba(255,255,255,.08);
      border:1px solid rgba(255,255,255,.10);
      overflow:hidden;
      position:relative;
    }
    .meter > i{
      display:block;
      height:100%;
      width:0%;
      background: linear-gradient(90deg, rgba(34,211,238,.95), rgba(124,58,237,.95));
      border-radius:999px;
      transition: width 1.1s var(--ease);
    }
    .meter-meta{
      display:flex;
      justify-content:space-between;
      margin-top:8px;
      color:var(--muted);
      font-size:12px;
    }

    /* feature tiles */
    .cols{
      display:grid;
      grid-template-columns: repeat(3, 1fr);
      gap:14px;
    }
    .tile{
      padding:18px;
      border-radius:var(--r);
      border:1px solid rgba(255,255,255,.10);
      background: rgba(255,255,255,.05);
      transition: transform .25s var(--ease), background .25s var(--ease), border-color .25s var(--ease);
      position:relative;
      overflow:hidden;
      min-height: 206px;
    }
    .tile:hover{transform: translateY(-2px); background: rgba(255,255,255,.07); border-color: rgba(255,255,255,.16)}
    .tile h3{margin:10px 0 8px; font-size:18px; letter-spacing:-.01em}
    .tile p{margin:0; color:var(--muted); line-height:1.65; font-size:14px}
    .icon{
      width:38px;height:38px;border-radius:14px;
      border:1px solid rgba(255,255,255,.12);
      background:
        radial-gradient(16px 16px at 30% 30%, rgba(34,211,238,.24), transparent 60%),
        radial-gradient(18px 18px at 70% 70%, rgba(124,58,237,.26), transparent 62%),
        rgba(255,255,255,.05);
      display:flex; align-items:center; justify-content:center;
      font-weight:900;
      letter-spacing:-.02em;
    }
    .list{
      margin-top:12px;
      display:grid;
      gap:8px;
      color:rgba(255,255,255,.80);
      font-size:13px;
    }
    .list div{display:flex; gap:10px; align-items:flex-start}
    .bullet{
      width:8px;height:8px;border-radius:99px;
      margin-top:6px;
      background: linear-gradient(135deg, var(--accent2), var(--accent1));
      flex:0 0 auto;
    }

    /* comparison grid (automation table vibe) */
    .matrix{
      margin-top:14px;
      border-radius:22px;
      border:1px solid rgba(255,255,255,.10);
      background: rgba(255,255,255,.04);
      overflow:hidden;
    }
    .matrix .row{
      display:grid;
      grid-template-columns: 1.35fr .55fr .55fr .55fr;
      gap:0;
      padding:14px 14px;
      border-top:1px solid rgba(255,255,255,.08);
      align-items:center;
    }
    .matrix .row:first-child{border-top:none; background: rgba(255,255,255,.03)}
    .matrix .h{font-size:12px; color:rgba(255,255,255,.74); letter-spacing:.08em; text-transform:uppercase}
    .matrix .name{font-weight:650}
    .chip{
      display:inline-flex; align-items:center; justify-content:center;
      padding:6px 10px;
      border-radius:999px;
      border:1px solid rgba(255,255,255,.12);
      background: rgba(0,0,0,.20);
      font-size:12px;
      color:rgba(255,255,255,.78);
      width:max-content;
      margin-left:auto;
    }
    .chip.ok{border-color: rgba(34,197,94,.30); background: rgba(34,197,94,.10); color: rgba(210,255,226,.95)}
    .chip.mid{border-color: rgba(245,158,11,.30); background: rgba(245,158,11,.10); color: rgba(255,238,207,.95)}
    .chip.no{border-color: rgba(239,68,68,.30); background: rgba(239,68,68,.10); color: rgba(255,212,212,.95)}
    .tiny{color:var(--muted); font-size:12px}

    /* architecture */
    .arch{
      display:grid;
      grid-template-columns: 1.05fr .95fr;
      gap:14px;
      align-items:stretch;
    }
    .arch .card{padding:18px}
    .arch-grid{
      display:grid;
      grid-template-columns: 1fr 1fr;
      gap:12px;
      margin-top:12px;
    }
    .mini-card{
      padding:14px;
      border-radius:16px;
      border:1px solid rgba(255,255,255,.10);
      background: rgba(255,255,255,.05);
    }
    .mini-card b{display:block; margin-bottom:6px}
    .mini-card small{color:var(--muted); line-height:1.6}

    /* use cases */
    .usecases{
      display:grid;
      grid-template-columns: 1fr 1fr 1fr;
      gap:14px;
    }
    .uc{
      padding:18px;
      border-radius:var(--r);
      border:1px solid rgba(255,255,255,.10);
      background: rgba(255,255,255,.05);
    }
    .uc h3{margin:8px 0 10px}
    .uc p{margin:0; color:var(--muted); line-height:1.65}
    .badge{
      display:inline-flex;
      gap:8px;
      align-items:center;
      font-size:12px;
      padding:6px 10px;
      border-radius:999px;
      border:1px solid rgba(255,255,255,.12);
      background: rgba(255,255,255,.05);
      color:rgba(255,255,255,.74);
    }

    /* CTA */
    .cta{
      padding:22px;
      border-radius:22px;
      border:1px solid rgba(255,255,255,.12);
      background:
        radial-gradient(600px 260px at 20% 40%, rgba(34,211,238,.18), transparent 60%),
        radial-gradient(600px 260px at 80% 60%, rgba(124,58,237,.20), transparent 60%),
        rgba(255,255,255,.05);
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:16px;
      box-shadow: var(--shadow);
    }
    .cta h3{margin:0 0 6px; font-size:20px}
    .cta p{margin:0; color:var(--muted); line-height:1.6}
    .form{
      display:flex;
      gap:10px;
      align-items:center;
      flex-wrap:wrap;
      justify-content:flex-end;
    }
    input{
      background: rgba(0,0,0,.28);
      border:1px solid rgba(255,255,255,.14);
      color:var(--text);
      padding:12px 12px;
      border-radius:14px;
      outline:none;
      min-width: 220px;
    }
    input:focus{border-color: rgba(34,211,238,.40)}
    footer{
      padding:36px 0 46px;
      color:var(--muted);
      border-top:1px solid rgba(255,255,255,.08);
      margin-top:40px;
    }
    .foot{
      display:flex; justify-content:space-between; gap:18px; flex-wrap:wrap;
      font-size:13px;
    }

    /* reveal animations */
    .reveal{
      opacity:0;
      transform: translateY(14px);
      transition: opacity .75s var(--ease), transform .75s var(--ease);
    }
    .reveal.on{opacity:1; transform: translateY(0)}

    /* modal */
    .modal{
      position:fixed; inset:0; z-index:40;
      display:none;
      align-items:center; justify-content:center;
      padding:20px;
      background: rgba(0,0,0,.55);
      backdrop-filter: blur(10px);
    }
    .modal.on{display:flex}
    .modalbox{
      width:min(980px, 96vw);
      border-radius:24px;
      border:1px solid rgba(255,255,255,.14);
      background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.045));
      box-shadow: var(--shadow);
      overflow:hidden;
    }
    .modalhead{
      display:flex; justify-content:space-between; align-items:center;
      padding:14px 16px;
      border-bottom:1px solid rgba(255,255,255,.08);
      background: rgba(255,255,255,.03);
    }
    .modalhead b{letter-spacing:-.01em}
    .modalbody{padding:16px}
    .kbd2{
      font-size:12px;
      color:rgba(255,255,255,.70);
      border:1px solid rgba(255,255,255,.12);
      background: rgba(0,0,0,.25);
      padding:6px 10px;
      border-radius:12px;
    }
    .code{
      margin-top:10px;
      font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono","Courier New", monospace;
      font-size:12px;
      line-height:1.6;
      color:rgba(255,255,255,.80);
      background: rgba(0,0,0,.28);
      border:1px solid rgba(255,255,255,.10);
      border-radius:16px;
      padding:14px;
      overflow:auto;
      max-height: 340px;
      white-space:pre;
    }

    /* responsive */
    @media (max-width: 980px){
      .hero-grid{grid-template-columns:1fr}
      .cols{grid-template-columns:1fr}
      .arch{grid-template-columns:1fr}
      .usecases{grid-template-columns:1fr}
      .grid3{grid-template-columns:1fr}
      .chapters{display:none}
      .navlinks{display:none}
      .cta{flex-direction:column; align-items:flex-start}
      .form{justify-content:flex-start; width:100%}
      input{flex:1}
      .matrix .row{grid-template-columns:1.2fr .8fr}
      .matrix .row .tiny{display:none}
      .matrix .row > div:nth-child(3),
      .matrix .row > div:nth-child(4){display:none}
    }


/* ===== Mega menu (multi-page) additions ===== */
.navlinks{position:relative}
.megaWrap{position:relative}
.megaBtn{
  display:inline-flex; align-items:center; gap:8px;
  color:var(--muted);
  font-size:13px;
  padding:9px 10px;
  border-radius:12px;
  border:1px solid transparent;
  background:transparent;
  transition: background .25s var(--ease), color .25s var(--ease), transform .25s var(--ease), border-color .25s var(--ease);
  cursor:pointer;
}
.megaBtn:hover{background:rgba(255,255,255,.06); color:var(--text); transform:translateY(-1px)}
.megaBtn svg{opacity:.85}
.mega{
  position:absolute;
  left:-220px;
  top:44px;
  width:min(980px, 94vw);
  border-radius:22px;
  border:1px solid rgba(255,255,255,.16);
  /* Solid dark panel so menu text is fully legible over page content */
  background:
    radial-gradient(700px 300px at 12% 0%, rgba(124,58,237,.16), transparent 60%),
    radial-gradient(700px 300px at 88% 0%, rgba(34,211,238,.14), transparent 60%),
    #0b0f1a;
  box-shadow: var(--shadow);
  backdrop-filter: blur(22px) saturate(140%);
  padding:14px;
  display:none;
}
.mega.on{display:block}
.megaGrid{
  display:grid;
  grid-template-columns: 1fr 1fr 1fr 1.05fr;
  gap:12px;
}
.megaCol{
  border-radius:18px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.18);
  padding:12px;
}
.megaTitle{
  font-size:12px;
  color:rgba(255,255,255,.74);
  letter-spacing:.10em;
  text-transform:uppercase;
  margin-bottom:10px;
}
.mega a{
  display:block;
  padding:10px 10px;
  border-radius:14px;
  border:1px solid transparent;
  color:rgba(255,255,255,.86);
  transition: background .22s var(--ease), border-color .22s var(--ease), transform .22s var(--ease);
}
.mega a:hover{background:rgba(255,255,255,.07); border-color:rgba(34,211,238,.22); transform:translateY(-1px)}
.mega a small{display:block; color:var(--muted); margin-top:3px; line-height:1.35}
.megaCard{
  border-radius:18px;
  border:1px solid rgba(34,211,238,.22);
  background:
    radial-gradient(600px 260px at 20% 40%, rgba(34,211,238,.20), transparent 60%),
    radial-gradient(600px 260px at 80% 60%, rgba(124,58,237,.22), transparent 60%),
    rgba(0,0,0,.16);
  padding:14px;
}
.megaCard h4{margin:6px 0 6px; font-size:16px; letter-spacing:-.01em}
.megaCard p{margin:0; color:var(--muted); line-height:1.6; font-size:13px}
.megaCard .form{justify-content:flex-start; margin-top:12px}
.megaPill{display:inline-flex; gap:8px; align-items:center; font-size:12px; color:rgba(255,255,255,.78)}
.megaPill .dot{width:7px;height:7px}
.pageHead{
  padding:46px 0 10px;
}
.breadcrumb{
  display:flex; gap:8px; align-items:center;
  color:rgba(255,255,255,.62);
  font-size:13px;
}
.breadcrumb a{color:rgba(255,255,255,.80)}
.breadcrumb a:hover{color:var(--text)}
.pageTitle{margin:16px 0 10px; font-size: clamp(30px, 3.4vw, 46px); letter-spacing:-.03em; line-height:1.05}
.pageSub{margin:0; color:var(--muted); line-height:1.7; max-width: 74ch}
.prose p{color:var(--muted); line-height:1.75}
.prose h3{margin:18px 0 10px; letter-spacing:-.01em}
.prose ul{margin:10px 0 0; padding-left:18px; color:rgba(255,255,255,.80); line-height:1.65}
.accordion{margin-top:14px}
.accItem{
  border-radius:18px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  overflow:hidden;
  margin-bottom:10px;
}
.accBtn{
  width:100%;
  display:flex; justify-content:space-between; align-items:center;
  gap:10px;
  padding:14px 14px;
  background: transparent;
  border:0;
  color:rgba(255,255,255,.90);
  cursor:pointer;
  font-weight:760;
  letter-spacing:-.01em;
}
.accBtn span{display:flex; align-items:center; gap:10px}
.accBody{display:none; padding:0 14px 14px}
.accItem.on .accBody{display:block}
.accChevron{opacity:.8; transition: transform .2s var(--ease)}
.accItem.on .accChevron{transform: rotate(180deg)}
.kgrid{display:grid; grid-template-columns: repeat(3, 1fr); gap:14px}
@media (max-width:980px){
  .mega{display:none!important}
  .kgrid{grid-template-columns:1fr}
}

/* ===== Premium v3 add-ons ===== */
.badgeRow{display:flex; gap:8px; flex-wrap:wrap; margin-top:10px}
.hrSoft{height:1px; background:rgba(255,255,255,.08); margin:18px 0}
.splitRail{display:grid; grid-template-columns: .85fr 1.15fr; gap:14px; align-items:start}
.rail{border-radius:24px; border:1px solid rgba(255,255,255,.12); background: rgba(0,0,0,.16); padding:16px}
.cardGrid{display:grid; grid-template-columns:repeat(2,1fr); gap:12px}
.card{border-radius:22px; border:1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.05); padding:16px}
.card:hover{border-color: rgba(34,211,238,.24)}
.accordion{display:grid; gap:10px}
.accItem{border-radius:22px; border:1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.05); overflow:hidden}
.accHead{display:flex; justify-content:space-between; align-items:center; gap:12px; padding:14px 14px; cursor:pointer; font-weight:950}
.accBody{padding:0 14px 14px; display:none; color:var(--muted); line-height:1.75}
.accBody ul{margin:10px 0 0 18px; padding:0}
.accBody li{margin:6px 0}
.accItem.on .accBody{display:block}
.accItem.on .accHead{background: rgba(34,211,238,.06)}
.tabs{display:flex; gap:10px; flex-wrap:wrap; margin: 6px 0 16px}
.tab{padding:10px 12px; border-radius:999px; border:1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.04); font-weight:900; cursor:pointer}
.tab.on{border-color: rgba(34,211,238,.34); background: rgba(34,211,238,.10)}
.tabPanels .panel{display:none}
.tabPanels .panel.on{display:block}
.searchRow{display:flex; gap:10px; flex-wrap:wrap; align-items:center}
.search{flex:1; min-width:240px; padding:14px; border-radius:16px; border:1px solid rgba(255,255,255,.14); background: rgba(0,0,0,.20); color:var(--text)}
.pillMini{display:inline-flex; padding:6px 10px; border-radius:999px; border:1px solid rgba(255,255,255,.12); background: rgba(0,0,0,.18); font-family: var(--mono); font-size:11px; color: rgba(234,240,255,.72)}
.matrix{display:grid; grid-template-columns: 1.2fr 1fr 1fr; gap:12px}
.matrix .card{min-height: 150px}
.iconDot{width:10px;height:10px;border-radius:50%; background: rgba(34,211,238,.9); box-shadow:0 0 18px rgba(34,211,238,.28); display:inline-block}
@media (max-width:980px){
  .splitRail{grid-template-columns:1fr}
  .cardGrid{grid-template-columns:1fr}
  .matrix{grid-template-columns:1fr}
}

/* Progressive enhancement: content is visible by default; the reveal
   animation only applies when JS is active (html.js, set by nav.js). */
.reveal{opacity:1; transform:none}
html.js .reveal{opacity:0; transform:translateY(14px)}
html.js .reveal.on{opacity:1; transform:none}
@media (prefers-reduced-motion: reduce){
  html.js .reveal{opacity:1; transform:none; transition:none}
}

/* violet tag variant (used by AVI pillar) */
.tag.violet{border-color: rgba(124,58,237,.40); background: rgba(124,58,237,.12); color: rgba(226,214,255,.95)}

/* KPI cards (agent-stats.html) */
.kpis{display:grid; grid-template-columns: repeat(3,1fr); gap:14px}
.kpi{
  border-radius:22px; border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.05); padding:20px;
}
.kpi b{
  display:block; font-size: clamp(34px, 5vw, 56px); font-weight:860; line-height:1;
  letter-spacing:-.03em; margin-bottom:10px;
  background: linear-gradient(135deg, rgba(34,211,238,.98), rgba(124,58,237,.92));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.kpi small{display:block; color:rgba(255,255,255,.80); line-height:1.6}
@media (max-width:980px){ .kpis{grid-template-columns:1fr} }

/* Integration logo wall (integrations.html) */
.logoWall{display:grid; gap:10px}
.logoChip{
  display:flex; align-items:center; gap:10px;
  padding:12px 14px; border-radius:16px;
  border:1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.04);
  font-weight:700; font-size:14px;
}
@media (max-width:980px){ .logoWall{grid-template-columns:1fr 1fr !important} }
@media (max-width:560px){ .logoWall{grid-template-columns:1fr !important} }

/* =====================================================================
   ENHANCED FOOTER
   ===================================================================== */
footer{ margin-top:64px; border-top:1px solid rgba(255,255,255,.10);
  background: linear-gradient(180deg, rgba(255,255,255,.02), rgba(0,0,0,.28)); }
.footTop{ display:grid; grid-template-columns: 1.15fr 2fr; gap:40px; padding:54px 0 30px; }
.footBrand .brand{ font-weight:800; font-size:18px; }
.footTag{ color:var(--muted); line-height:1.7; margin:14px 0 18px; max-width:46ch; font-size:14px; }
.footCtas{ display:flex; gap:10px; flex-wrap:wrap; margin-bottom:18px; }
.footBadges{ display:flex; gap:8px; flex-wrap:wrap; }
.footBadge{ font-size:11px; font-family:var(--mono,ui-monospace,monospace); color:rgba(255,255,255,.72);
  border:1px solid rgba(255,255,255,.14); background:rgba(255,255,255,.04);
  padding:5px 9px; border-radius:999px; }
.footCols{ display:grid; grid-template-columns: repeat(4,1fr); gap:22px; }
.footColTitle{ font-size:12px; letter-spacing:.10em; text-transform:uppercase; color:rgba(255,255,255,.72); margin-bottom:12px; }
.footCol a{ display:block; color:var(--muted); padding:5px 0; font-size:14px; transition:color .2s var(--ease); }
.footCol a:hover{ color:var(--text); }
.footBar{ display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap;
  padding:18px 0 30px; border-top:1px solid rgba(255,255,255,.08); color:var(--muted); font-size:13px; }
.footLegal{ display:flex; gap:16px; flex-wrap:wrap; }
.footLegal a{ color:var(--muted); } .footLegal a:hover{ color:var(--text); }
@media (max-width:900px){ .footTop{ grid-template-columns:1fr; gap:28px } .footCols{ grid-template-columns:1fr 1fr } }

/* =====================================================================
   SYNTHETIC PLATFORM UI (mock product screenshots, pure CSS)
   ===================================================================== */
:root{ --mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.appShell{ border-radius:20px; overflow:hidden; border:1px solid rgba(255,255,255,.14);
  box-shadow: 0 30px 90px rgba(0,0,0,.6); background:#0a0d16; }
.appShell.glow{ box-shadow: 0 30px 90px rgba(0,0,0,.6), 0 0 0 1px rgba(34,211,238,.10), 0 0 60px rgba(34,211,238,.10); }
.appBar{ display:flex; align-items:center; gap:10px; padding:11px 14px;
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
  border-bottom:1px solid rgba(255,255,255,.08); }
.appBar .dots{ display:flex; gap:7px; }
.appBar .dots i{ width:11px; height:11px; border-radius:50%; display:block; background:rgba(255,255,255,.20); }
.appBar .dots i:nth-child(1){ background:#ff5f57 } .appBar .dots i:nth-child(2){ background:#febc2e } .appBar .dots i:nth-child(3){ background:#28c840 }
.appUrl{ margin-left:8px; font-family:var(--mono); font-size:12px; color:rgba(255,255,255,.62);
  background:rgba(0,0,0,.35); border:1px solid rgba(255,255,255,.08); padding:5px 12px; border-radius:8px; }
.appUrl b{ color:rgba(203,251,255,.95); font-weight:600; }
.appTag{ margin-left:auto; font-size:11px; color:rgba(255,255,255,.55); font-family:var(--mono); }

.appBody{ display:grid; grid-template-columns: 56px 1fr; min-height:420px; }
.appRail{ background:rgba(0,0,0,.30); border-right:1px solid rgba(255,255,255,.07);
  display:flex; flex-direction:column; align-items:center; gap:6px; padding:14px 0; }
.appRail .rlogo{ width:30px; height:30px; border-radius:9px; margin-bottom:8px;
  background: radial-gradient(12px 12px at 30% 32%, rgba(34,211,238,.95), transparent 60%),
              radial-gradient(14px 14px at 72% 70%, rgba(124,58,237,.95), transparent 60%), #0b0f1a;
  border:1px solid rgba(255,255,255,.16); }
.appRail .ri{ width:34px; height:34px; border-radius:10px; display:grid; place-items:center;
  color:rgba(255,255,255,.55); font-size:15px; cursor:default; }
.appRail .ri.on{ background:rgba(34,211,238,.14); color:#cbfbff; border:1px solid rgba(34,211,238,.30); }
.appMain{ padding:18px; }
.appHead{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px; flex-wrap:wrap; }
.appHead h4{ margin:0; font-size:17px; letter-spacing:-.01em; }
.appHead .muted{ color:var(--muted); font-size:12px; }

/* KPI strip */
.kpiStrip{ display:flex; flex-wrap:wrap; gap:18px; padding:10px 14px; border-radius:14px;
  border:1px solid rgba(255,255,255,.08); background:rgba(255,255,255,.03); margin-bottom:16px; }
.kpiStrip .kc{ display:flex; flex-direction:column; gap:1px; }
.kpiStrip .kc b{ font-size:15px; font-weight:750; letter-spacing:-.01em; }
.kpiStrip .kc small{ color:var(--muted); font-size:11px; }

/* dashboard card grid */
.dashGrid{ display:grid; grid-template-columns: repeat(12,1fr); gap:14px; }
.dCard{ border-radius:16px; border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.035); padding:16px; }
.dCard .ct{ display:flex; justify-content:space-between; align-items:center; margin-bottom:12px; }
.dCard .ct h5{ margin:0; font-size:13px; color:rgba(255,255,255,.86); letter-spacing:.01em; }
.dCard .ct .arr{ color:var(--muted); font-size:14px; }
.col4{ grid-column: span 4 } .col6{ grid-column: span 6 } .col8{ grid-column: span 8 } .col12{ grid-column: span 12 } .col3{ grid-column: span 3 }
@media (max-width:760px){ .col3,.col4,.col6,.col8{ grid-column: span 12 } }

/* donut (conic) */
.donut{ width:120px; height:120px; border-radius:50%; margin:6px auto; position:relative;
  background: conic-gradient(#22D3EE 0 62%, #7C3AED 62% 84%, #F97316 84% 95%, #ef4444 95% 100%); }
.donut:before{ content:""; position:absolute; inset:16px; border-radius:50%; background:#0a0d16; }
.donut .dc{ position:absolute; inset:0; display:grid; place-items:center; text-align:center; }
.donut .dc b{ font-size:24px; font-weight:800 } .donut .dc small{ display:block; color:var(--muted); font-size:10px }

/* mini bar chart */
.bars{ display:flex; align-items:flex-end; gap:5px; height:120px; padding-top:8px; }
.bars i{ flex:1; border-radius:4px 4px 0 0; background:linear-gradient(180deg, rgba(34,211,238,.9), rgba(34,211,238,.35)); display:block; min-width:4px; }
.bars i.hot{ background:linear-gradient(180deg, rgba(124,58,237,.95), rgba(124,58,237,.4)); }

/* big metric */
.bigStat{ font-size:40px; font-weight:850; letter-spacing:-.03em; line-height:1;
  background:linear-gradient(135deg, rgba(34,211,238,.98), rgba(124,58,237,.92)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.statRow{ display:flex; align-items:baseline; gap:10px; }
.statRow .sub{ color:var(--muted); font-size:12px; }

/* severity segmented bar */
.sevbar{ display:flex; height:10px; border-radius:999px; overflow:hidden; margin:10px 0; }
.sevbar i{ display:block; height:100% }
.sev-c{ background:#ef4444 } .sev-h{ background:#F97316 } .sev-m{ background:#f59e0b } .sev-l{ background:#22c55e }
.sevLegend{ display:flex; gap:14px; flex-wrap:wrap; font-size:12px; color:var(--muted) }
.sevLegend b{ color:var(--text) }
.sevDot{ display:inline-block; width:8px; height:8px; border-radius:2px; margin-right:5px; vertical-align:middle }

/* owner rows */
.ownerRow{ display:flex; align-items:center; gap:10px; margin:9px 0; font-size:13px; }
.ownerRow .av{ width:22px; height:22px; border-radius:50%; flex:none; display:grid; place-items:center; font-size:10px; font-weight:800;
  background:rgba(34,211,238,.16); color:#cbfbff; border:1px solid rgba(34,211,238,.3) }
.ownerRow .nm{ width:140px; color:rgba(255,255,255,.82); overflow:hidden; text-overflow:ellipsis; white-space:nowrap }
.ownerRow .track{ flex:1; height:7px; border-radius:999px; background:rgba(255,255,255,.08); overflow:hidden }
.ownerRow .track i{ display:block; height:100%; background:linear-gradient(90deg, rgba(34,211,238,.9), rgba(124,58,237,.8)) }
.ownerRow .pc{ width:38px; text-align:right; color:var(--muted); font-variant-numeric:tabular-nums }

/* session replay */
.replay{ display:grid; grid-template-columns: 200px 1fr; gap:0; }
.replay .rlist{ border-right:1px solid rgba(255,255,255,.08); padding-right:12px; }
.replay .rlist .ri2{ padding:9px 10px; border-radius:10px; font-size:12px; color:var(--muted); display:flex; gap:8px; align-items:center }
.replay .rlist .ri2.on{ background:rgba(34,211,238,.10); color:#cbfbff }
.replay .rlist .ri2 .dotw{ width:7px;height:7px;border-radius:50%;background:#F97316;flex:none }
.replay .conv{ padding-left:16px; display:flex; flex-direction:column; gap:10px; }
.msg{ max-width:78%; padding:10px 13px; border-radius:14px; font-size:13px; line-height:1.55 }
.msg.user{ align-self:flex-end; background:rgba(34,211,238,.12); border:1px solid rgba(34,211,238,.22) }
.msg.bot{ align-self:flex-start; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.10) }
.trace{ font-family:var(--mono); font-size:12px; border-left:2px solid rgba(255,255,255,.15); padding:6px 0 6px 12px; color:rgba(255,255,255,.72) }
.trace .lbl{ display:inline-block; font-size:10px; padding:1px 6px; border-radius:6px; margin-right:8px;
  background:rgba(255,255,255,.08); color:rgba(255,255,255,.7) }
.trace .lbl.reason{ background:rgba(124,58,237,.18); color:#d9c9ff }
.trace .lbl.tool{ background:rgba(34,211,238,.16); color:#cbfbff }
.trace .lbl.data{ background:rgba(245,158,11,.16); color:#ffe6b0 }
.blockBanner{ display:flex; gap:10px; align-items:center; padding:11px 13px; border-radius:12px;
  background:rgba(239,68,68,.12); border:1px solid rgba(239,68,68,.34); color:#ffd2d2; font-size:13px }
.blockBanner .x{ width:20px;height:20px;border-radius:50%;background:#ef4444;color:#fff;display:grid;place-items:center;font-size:12px;flex:none;font-weight:800 }
.policyFoot{ display:flex; gap:8px; align-items:center; font-size:11px; color:var(--muted); margin-top:6px; font-family:var(--mono) }
.policyFoot .ok{ color:#7ee2a8 }

/* agent network graph */
.graphCanvas{ position:relative; height:280px; border-radius:14px; overflow:hidden;
  background: radial-gradient(700px 320px at 60% 50%, rgba(34,211,238,.07), transparent 60%), rgba(0,0,0,.25);
  border:1px solid rgba(255,255,255,.08) }
.node{ position:absolute; width:26px; height:26px; border-radius:50%; transform:translate(-50%,-50%);
  display:grid; place-items:center; font-size:10px; font-weight:800; color:#06121a;
  box-shadow:0 0 0 4px rgba(34,211,238,.10) }
.node.cy{ background:#22D3EE } .node.vi{ background:#7C3AED; color:#fff } .node.or{ background:#F97316 }
.node.rd{ background:#ef4444; color:#fff; box-shadow:0 0 0 5px rgba(239,68,68,.18) }
.node.sm{ width:16px; height:16px; box-shadow:0 0 0 3px rgba(255,255,255,.05) }
.gedge{ position:absolute; height:1px; transform-origin:left center; background:linear-gradient(90deg, rgba(34,211,238,.5), rgba(124,58,237,.2)) }

/* policy builder */
.pbBlock{ border-radius:12px; border:1px solid rgba(255,255,255,.10); background:rgba(255,255,255,.03); padding:12px 14px; margin-bottom:10px }
.pbBlock .pbh{ font-size:12px; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); margin-bottom:10px }
.chips{ display:flex; gap:8px; flex-wrap:wrap }
.chipPill{ font-size:12px; padding:7px 11px; border-radius:10px; border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.04); color:rgba(255,255,255,.8) }
.chipPill.on{ border-color:rgba(34,211,238,.4); background:rgba(34,211,238,.12); color:#cbfbff }
.chipPill.danger.on{ border-color:rgba(239,68,68,.4); background:rgba(239,68,68,.12); color:#ffd2d2 }

/* generic feature grid + comparison table */
.featGrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px }
@media(max-width:900px){ .featGrid{ grid-template-columns:1fr } }
.featCard{ border-radius:18px; border:1px solid rgba(255,255,255,.10); background:rgba(255,255,255,.04); padding:20px }
.featCard .fi{ width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-weight:800;font-size:13px;margin-bottom:12px;
  background:rgba(34,211,238,.12); color:#cbfbff; border:1px solid rgba(34,211,238,.28) }
.featCard h3{ margin:0 0 8px; font-size:17px; letter-spacing:-.01em }
.featCard p{ margin:0; color:var(--muted); line-height:1.7; font-size:14px }
.featCard .unique{ display:inline-block; margin-top:12px; font-size:11px; font-family:var(--mono); color:#7ee2a8;
  border:1px solid rgba(126,226,168,.3); background:rgba(34,197,94,.10); padding:3px 8px; border-radius:999px }

.cmp{ width:100%; border-collapse:separate; border-spacing:0; font-size:14px; overflow:hidden; border-radius:16px; border:1px solid rgba(255,255,255,.12) }
.cmp th, .cmp td{ padding:13px 14px; text-align:left; border-bottom:1px solid rgba(255,255,255,.08) }
.cmp thead th{ background:rgba(255,255,255,.05); font-size:12px; letter-spacing:.04em; text-transform:uppercase; color:rgba(255,255,255,.78) }
.cmp tbody tr:hover{ background:rgba(255,255,255,.02) }
.cmp td.us{ background:rgba(34,211,238,.07) }
.cmp th.us{ background:rgba(34,211,238,.14); color:#cbfbff }
.cmp .yes{ color:#7ee2a8; font-weight:700 } .cmp .no{ color:#ff8a8a } .cmp .part{ color:#ffd07a }
.cmp tr td:first-child{ color:rgba(255,255,255,.86); font-weight:600 }
.cmpWrap{ overflow-x:auto }

/* =====================================================================
   v2 — FUTURISTIC TYPE, SPACING, DIVIDERS, ANIMATED WIDGETS
   ===================================================================== */
:root{ --mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace; }

/* Display font + bolder, tighter, more futuristic headings */
h1,h2,h3,h4,h5,.brand,.bigStat,.pageTitle,.cta h3,.dCard .ct h5,.featCard h3,.appHead h4{
  font-family:var(--display); font-weight:700; letter-spacing:-.035em;
}
h1,.pageTitle{ font-weight:700; letter-spacing:-.05em; }
h2{ font-weight:700; letter-spacing:-.04em; }
.bigStat{ font-family:var(--display); font-weight:700; letter-spacing:-.045em; }
/* eyebrow pills / KPI labels get a techy mono treatment */
.megaTitle,.footColTitle,.pbh,.dCard .ct h5{ font-family:var(--mono); font-weight:500; }
.kpiStrip .kc b{ font-family:var(--display); }
.pill,.footBadge,.appTag{ font-family:var(--mono); }

/* ---- generous spacing ---- */
section{ padding:104px 0 !important; }
.hero{ padding:72px 0 40px !important; }
.section-title,.sectionTitle{ margin-bottom:34px !important; }
.hero-grid{ gap:34px !important; }
.cols{ gap:20px !important; }
.dashGrid{ gap:18px !important; }
.featGrid{ gap:22px !important; }
.kpiStrip{ gap:26px !important; padding:16px 20px !important; margin-bottom:24px !important; }
.appMain{ padding:24px !important; }
.cta{ margin-top:8px; }
h1{ margin:22px 0 18px !important; }

/* ---- fancy section dividers (replace plain hairline .line) ---- */
.line{
  height:1px; border:0; margin:64px 0 !important; position:relative;
  background:linear-gradient(90deg, transparent, rgba(34,211,238,.45), rgba(124,58,237,.45), transparent);
  overflow:visible;
}
.line:before{
  content:""; position:absolute; left:50%; top:50%; width:9px; height:9px;
  transform:translate(-50%,-50%) rotate(45deg);
  background:linear-gradient(135deg,var(--accent2),var(--accent1));
  box-shadow:0 0 18px rgba(34,211,238,.7); border-radius:2px;
}
.hrSoft{ margin:24px 0 !important; }

/* ===================== ANIMATED PLATFORM WIDGETS ===================== */
@keyframes flowDash{ to{ background-position:24px 0; } }
@keyframes pulseRing{ 0%{ box-shadow:0 0 0 0 rgba(239,68,68,.45);} 70%{ box-shadow:0 0 0 14px rgba(239,68,68,0);} 100%{box-shadow:0 0 0 0 rgba(239,68,68,0);} }
@keyframes liveBlink{ 0%,100%{opacity:1} 50%{opacity:.25} }
@keyframes growBar{ from{ transform:scaleY(.15);} to{ transform:scaleY(1);} }
@keyframes scan{ 0%{ top:-10%; opacity:0 } 12%{opacity:.9} 88%{opacity:.9} 100%{ top:110%; opacity:0 } }
@keyframes typeIn{ from{ width:0 } to{ width:100% } }
@keyframes stageFill{ to{ width:100% } }
@keyframes nodeHop{ 0%,100%{ transform:translate(-50%,-50%) scale(1) } 50%{ transform:translate(-50%,-50%) scale(1.18) } }

/* live indicator */
.liveDot{ display:inline-flex; align-items:center; gap:7px; font-family:var(--mono); font-size:11px; color:#7ee2a8; }
.liveDot i{ width:8px;height:8px;border-radius:50%; background:#22c55e; animation:liveBlink 1.4s infinite; box-shadow:0 0 10px rgba(34,197,94,.8); }

/* animate the dashboard bars growing */
.appShell .bars i{ transform-origin:bottom; animation:growBar .9s var(--ease) both; }
.appShell .bars i:nth-child(2n){ animation-delay:.08s } .appShell .bars i:nth-child(3n){ animation-delay:.16s }
.appShell .bars i:nth-child(4n){ animation-delay:.24s } .appShell .bars i:nth-child(5n){ animation-delay:.3s }

/* animate graph edges flowing + node pulse */
.gedge{ background-image:repeating-linear-gradient(90deg, rgba(34,211,238,.85) 0 6px, transparent 6px 12px) !important;
  background-size:24px 1px; animation:flowDash 1.1s linear infinite; height:2px !important; }
.node.rd{ animation:pulseRing 1.8s infinite, nodeHop 2.4s ease-in-out infinite; }

/* scanning line overlay for "live" panels */
.scanWrap{ position:relative; overflow:hidden; }
.scanWrap:after{ content:""; position:absolute; left:0; right:0; height:14%;
  background:linear-gradient(180deg, transparent, rgba(34,211,238,.16), transparent);
  animation:scan 4.5s linear infinite; pointer-events:none; }

/* ---------- IDENTITY ATTACK PATH (kill-chain) ---------- */
.attackPath{ display:flex; align-items:stretch; gap:0; flex-wrap:wrap; }
.apStage{ flex:1; min-width:150px; position:relative; padding:16px 16px 16px 22px;
  border:1px solid rgba(255,255,255,.10); background:rgba(255,255,255,.03);
  border-right:0; }
.apStage:first-child{ border-radius:14px 0 0 14px } .apStage:last-child{ border-right:1px solid rgba(255,255,255,.10); border-radius:0 14px 14px 0 }
.apStage .apk{ font-family:var(--mono); font-size:10px; color:var(--muted); letter-spacing:.12em; }
.apStage .apt{ font-family:var(--display); font-weight:700; font-size:15px; margin:6px 0 4px; letter-spacing:-.02em }
.apStage .apd{ font-size:12px; color:var(--muted); line-height:1.5 }
.apStage:not(:last-child):after{ content:""; position:absolute; right:-9px; top:50%; transform:translateY(-50%) rotate(45deg);
  width:16px; height:16px; background:inherit; border-top:1px solid rgba(255,255,255,.10); border-right:1px solid rgba(255,255,255,.10); z-index:2 }
.apStage.det{ border-color:rgba(245,158,11,.4); background:rgba(245,158,11,.08) }
.apStage.block{ border-color:rgba(239,68,68,.45); background:rgba(239,68,68,.10) }
.apStage.safe{ border-color:rgba(34,197,94,.4); background:rgba(34,197,94,.08) }
.apStage .apbar{ position:absolute; left:0; bottom:0; height:3px; width:0; background:linear-gradient(90deg,var(--accent2),var(--accent1)); animation:stageFill .7s var(--ease) forwards; }
.apStage:nth-child(1) .apbar{ animation-delay:.1s } .apStage:nth-child(2) .apbar{ animation-delay:.7s; background:linear-gradient(90deg,#f59e0b,#F97316) }
.apStage:nth-child(3) .apbar{ animation-delay:1.3s; background:linear-gradient(90deg,#F97316,#ef4444) }
.apStage:nth-child(4) .apbar{ animation-delay:1.9s; background:#ef4444 } .apStage:nth-child(5) .apbar{ animation-delay:2.5s; background:#22c55e }
@media(max-width:760px){ .apStage{ min-width:100%; border-right:1px solid rgba(255,255,255,.10); border-radius:14px; margin-bottom:8px } .apStage:after{ display:none } }

/* ---------- PROMPT INJECTION LIVE TERMINAL ---------- */
.injBox{ font-family:var(--mono); font-size:12.5px; line-height:1.9; background:rgba(0,0,0,.4);
  border:1px solid rgba(255,255,255,.10); border-radius:14px; padding:16px 18px; }
.injBox .l{ display:block; white-space:nowrap; overflow:hidden; }
.injBox .l.type{ width:0; animation:typeIn 1.1s steps(40) forwards; }
.injBox .l:nth-child(1){ animation-delay:.2s } .injBox .l:nth-child(3){ animation-delay:1.4s }
.injBox .tg{ color:rgba(255,255,255,.45) } .injBox .inj{ color:#ffb4b4 }
.injBox .det{ color:#ffd07a } .injBox .blk{ color:#ff8a8a; font-weight:700 } .injBox .qn{ color:#7ee2a8 }
.injBox .cur:after{ content:"▋"; color:var(--accent2); animation:liveBlink 1s steps(1) infinite }

/* quarantine badge animation */
.qChip{ display:inline-flex; align-items:center; gap:8px; padding:6px 12px; border-radius:999px;
  font-family:var(--mono); font-size:11px; color:#ffd2d2; border:1px solid rgba(239,68,68,.45);
  background:rgba(239,68,68,.12); animation:pulseRing 2s infinite; }
.qChip i{ width:8px;height:8px;border-radius:50%; background:#ef4444 }

/* ===================== PRICING ===================== */
.priceGrid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; align-items:stretch; }
@media(max-width:1040px){ .priceGrid{ grid-template-columns:repeat(2,1fr) } }
@media(max-width:560px){ .priceGrid{ grid-template-columns:1fr } }
.priceCard{ position:relative; border-radius:20px; border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.025));
  padding:24px 22px; display:flex; flex-direction:column; }
.priceCard.feat{ border-color:rgba(34,211,238,.4);
  background:
    radial-gradient(420px 200px at 50% -10%, rgba(34,211,238,.16), transparent 60%),
    linear-gradient(180deg, rgba(124,58,237,.10), rgba(255,255,255,.025));
  box-shadow:0 24px 70px rgba(34,211,238,.10); }
.priceCard .ribbon{ position:absolute; top:-11px; left:22px; font-family:var(--mono); font-size:10px; letter-spacing:.12em;
  padding:5px 10px; border-radius:999px; color:#06121a; font-weight:700;
  background:linear-gradient(135deg,var(--accent2),var(--accent1)); }
.priceTier{ font-family:var(--display); font-weight:700; font-size:20px; letter-spacing:-.02em; }
.priceFor{ color:var(--muted); font-size:13px; line-height:1.6; margin:6px 0 16px; min-height:38px; }
.priceVal{ font-family:var(--display); font-weight:700; font-size:26px; letter-spacing:-.02em; margin-bottom:2px; }
.priceSub{ font-family:var(--mono); font-size:11px; color:var(--muted); margin-bottom:18px; }
.priceList{ list-style:none; margin:0 0 20px; padding:0; display:flex; flex-direction:column; gap:11px; flex:1; }
.priceList li{ display:flex; gap:10px; align-items:flex-start; font-size:13.5px; color:rgba(255,255,255,.84); line-height:1.5; }
.priceList li:before{ content:"✓"; color:#7ee2a8; font-weight:800; flex:none; margin-top:1px; }
.priceList li.off{ color:rgba(255,255,255,.4) } .priceList li.off:before{ content:"–"; color:rgba(255,255,255,.3) }
.priceCard .btn{ width:100% }

/* ===================== ENTITY-RELATIONSHIP GRAPH (SVG) ===================== */
@keyframes erDash{ to{ stroke-dashoffset:-28; } }
@keyframes erPulse{ 0%,100%{ opacity:.5; r:30 } 50%{ opacity:0; r:42 } }
.erGraph{ width:100%; height:auto; display:block; }
.erGraph .edge{ fill:none; stroke:rgba(255,255,255,.18); stroke-width:1.4; }
.erGraph .edge.data{ stroke:rgba(249,115,22,.55); }
.erGraph .edge.lateral{ stroke:rgba(124,58,237,.55); stroke-dasharray:5 5; }
.erGraph .edge.exfil{ stroke:rgba(239,68,68,.9); stroke-width:2.2; stroke-dasharray:7 6; animation:erDash 1s linear infinite; }
.erGraph .nodeShape{ stroke:rgba(255,255,255,.55); stroke-width:1.5; }
.erGraph .r-c{ fill:#ef4444 } .erGraph .r-h{ fill:#F97316 } .erGraph .r-m{ fill:#f59e0b } .erGraph .r-l{ fill:#22c55e }
.erGraph .r-id{ fill:#7C3AED } .erGraph .r-tool{ fill:#22D3EE }
.erGraph .glyph{ font-family:var(--display); font-weight:700; font-size:11px; fill:#06121a; text-anchor:middle; }
.erGraph .glyph.lt{ fill:#fff }
.erGraph .nm{ font-family:var(--mono); font-size:10px; fill:rgba(255,255,255,.92); text-anchor:middle; }
.erGraph .rk{ font-family:var(--mono); font-size:8px; text-anchor:middle; letter-spacing:.04em; }
.erGraph .rk-c{ fill:#ff9a9a } .erGraph .rk-h{ fill:#ffc187 } .erGraph .rk-m{ fill:#ffe08a } .erGraph .rk-l{ fill:#9be8b8 }
.erGraph .elabel{ font-family:var(--mono); font-size:8px; text-anchor:middle; }
.erGraph .pulse{ fill:#ef4444; animation:erPulse 2.2s ease-out infinite; }
.erLegend{ display:flex; gap:14px; flex-wrap:wrap; margin-top:12px; font-family:var(--mono); font-size:11px; color:var(--muted); }
.erLegend span{ display:inline-flex; align-items:center; gap:6px; }
.erLegend .sw{ width:10px; height:10px; border-radius:3px; display:inline-block; }
.erLegend .sw.rnd{ border-radius:50% }
.erLegend .sw.dia{ border-radius:2px; transform:rotate(45deg); width:9px; height:9px }

/* ===================== ADLC — Secure Agent Development Lifecycle ===================== */
.adlcWrap{ position:relative; }
.adlc{ display:grid; grid-template-columns:repeat(5,1fr); gap:14px; position:relative; }
/* connecting rail removed per design */
.adlcStage{ position:relative; z-index:1; border-radius:18px; border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02)); padding:18px 16px; }
.adlcStage .num{ width:44px; height:44px; border-radius:13px; display:grid; place-items:center; margin-bottom:14px;
  font-family:var(--display); font-weight:700; font-size:17px; color:#06121a;
  background:linear-gradient(135deg,var(--accent2),var(--accent1)); box-shadow:0 10px 26px rgba(34,211,238,.22); }
.adlcStage .st{ font-family:var(--display); font-weight:700; font-size:16px; letter-spacing:-.02em; margin-bottom:6px; }
.adlcStage .sd{ color:var(--muted); font-size:12.5px; line-height:1.55; margin-bottom:12px; min-height:54px; }
.adlcStage .map{ font-family:var(--mono); font-size:10px; letter-spacing:.06em; color:rgba(255,255,255,.66);
  border-top:1px solid rgba(255,255,255,.08); padding-top:10px; }
.adlcStage .map b{ color:#cbfbff; font-weight:500; }
.adlcLoop{ display:inline-flex; align-items:center; gap:8px; margin-top:18px; font-family:var(--mono); font-size:12px;
  color:var(--muted); border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.03); padding:8px 14px; border-radius:999px; }
.adlcLoop b{ color:#7ee2a8; font-weight:500 }
@media(max-width:1040px){ .adlc{ grid-template-columns:repeat(2,1fr) } .adlc:before{ display:none } }
@media(max-width:560px){ .adlc{ grid-template-columns:1fr } }

/* small "supporting layers" row under pillars */
.layerRow{ display:flex; gap:10px; flex-wrap:wrap; margin-top:18px; }
.layerChip{ display:inline-flex; align-items:center; gap:8px; padding:9px 14px; border-radius:999px;
  border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.04); font-size:13px; color:rgba(255,255,255,.84); }
.layerChip b{ font-family:var(--mono); font-size:11px; color:#cbfbff; font-weight:500 }

/* content-aligned accent glow (replaces random body blooms) */
.secGlow{ position:relative; }
.secGlow:before{ content:""; position:absolute; left:50%; top:-60px; width:820px; max-width:96%; height:360px;
  transform:translateX(-50%); z-index:-1; pointer-events:none; filter:blur(8px);
  background:radial-gradient(closest-side, rgba(34,211,238,.12), rgba(124,58,237,.08) 55%, transparent 72%); }

/* ===================== ADLC ↔ PILLARS colour mapping ===================== */
.adlcKey{ display:flex; gap:16px; flex-wrap:wrap; align-items:center; margin-bottom:20px;
  font-family:var(--mono); font-size:12px; color:var(--muted); }
.adlcKey .t{ color:var(--text); font-weight:500; letter-spacing:.02em; }
.adlcKey span{ display:inline-flex; align-items:center; gap:7px; }
.adlcKey i{ width:11px; height:11px; border-radius:3px; display:inline-block; }
.k-adr{ background:#22D3EE } .k-avi{ background:#7C3AED } .k-ati{ background:linear-gradient(135deg,#22D3EE,#7C3AED) }

.adlcStage{ position:relative; overflow:hidden; }
/* slick: no colour bar above cards; number badges use the logo cyan→violet only */
.adlcStage .num{ background:linear-gradient(135deg, var(--accent2), var(--accent1)); color:#06121a; }

/* stage tag on pillar tiles */
.stageTag{ display:inline-block; font-family:var(--mono); font-size:11px; letter-spacing:.04em;
  color:#cbfbff; border:1px solid rgba(34,211,238,.28); background:rgba(34,211,238,.08);
  padding:3px 9px; border-radius:999px; margin:10px 0 4px; }
.tile .stageTag.t-avi{ color:#e2d6ff; border-color:rgba(124,58,237,.32); background:rgba(124,58,237,.10) }
.tile .stageTag.t-ati{ color:#cbfbff; border-color:rgba(34,211,238,.28); background:rgba(34,211,238,.08) }
.layerLead{ font-family:var(--mono); font-size:12px; color:var(--muted); margin-right:4px; align-self:center }

/* ===================== HERO PANEL — expanded live posture ===================== */
.hpBanner{ display:flex; gap:10px; align-items:center; margin-top:12px; padding:10px 12px; border-radius:12px;
  font-size:12.5px; background:rgba(239,68,68,.10); border:1px solid rgba(239,68,68,.32); color:#ffd2d2; }
.hpBanner .x{ width:18px;height:18px;border-radius:50%;background:#ef4444;color:#fff;display:grid;place-items:center;font-size:11px;font-weight:800;flex:none; animation:pulseRing 2s infinite }
.hpBanner b{ color:#ffb4b4 }
.hpFoot{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:12px; }
.hpCell{ padding:11px 12px; border-radius:14px; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.10); }
.hpCell small{ display:block; color:var(--muted); font-size:11px; margin-bottom:6px; font-family:var(--mono) }
.hpCell b{ font-family:var(--display); font-size:18px; letter-spacing:-.02em }
.hpMeter{ height:7px; border-radius:999px; background:rgba(255,255,255,.10); overflow:hidden; margin:2px 0 7px }
.hpMeter > i{ display:block; height:100%; background:linear-gradient(90deg,#22c55e,#22D3EE) }
.hpDet{ margin-top:12px }
.hpLabel{ display:flex; justify-content:space-between; align-items:center; font-size:11px; color:var(--muted); margin-bottom:8px; font-family:var(--mono) }
.hpMix{ display:flex; gap:6px; flex-wrap:wrap; margin-top:9px; font-family:var(--mono); font-size:10.5px; }
.hpMix span{ padding:3px 8px; border-radius:999px; border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.04); color:rgba(255,255,255,.78) }
.hpMix span i{ display:inline-block; width:7px;height:7px;border-radius:2px; margin-right:5px; vertical-align:middle }

/* ADLC cards: pin the divider + pillar label to the bottom so all 5 align exactly */
.adlcStage{ display:flex; flex-direction:column; }
.adlcStage .sd{ min-height:0; margin-bottom:14px; }
.adlcStage .map{ margin-top:auto; }

/* fancier: breathing glow on the showcase dashboard shell */
@keyframes shellGlow{ 0%,100%{ box-shadow:0 30px 90px rgba(0,0,0,.6), 0 0 0 1px rgba(34,211,238,.10), 0 0 44px rgba(34,211,238,.08) }
  50%{ box-shadow:0 34px 100px rgba(0,0,0,.62), 0 0 0 1px rgba(124,58,237,.16), 0 0 78px rgba(34,211,238,.18) } }
.appShell.glow.live{ animation:shellGlow 5.5s ease-in-out infinite; }
