/* House style follows amista.com: Montserrat, plum/purple palette, pill buttons, dark plum cards, smoky hero. */
@font-face{font-family:'Montserrat';font-style:normal;font-weight:400 800;font-display:swap;src:url(../fonts/montserrat-400-800-latin.woff2) format('woff2');}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400 500;font-display:swap;src:url(../fonts/jetbrains-mono-400-500-latin.woff2) format('woff2');}

:root{
  --purple:#671e75;
  --purple-2:#854b91;
  --lilac:#c2a5c8;
  --lilac-soft:#f0e9f1;
  --plum:#380f3c;
  --plum-deep:#231434;
  --plum-night:#170a21;
  --magenta:#a50050;
  --pink-soft:#f6e6ee;
  --yellow:#f7ea48;
  --green:#00843d;
  --ink:#14081c;
  --gray:#5b5163;
  --gray-light:#8d8396;
  --border:#e4dfe8;
  --bg-soft:#f7f8fc;
  /* dark demo surfaces */
  --d-bg:#140920;
  --d-bar:#231333;
  --d-line:rgba(194,165,200,.26);
  --d-glass:rgba(255,255,255,.055);
  --d-glass-b:rgba(255,255,255,.13);
  --d-text:#efe7f3;
  --d-dim:#a996b5;
  --d-faint:#6e5a7c;
  /* routes: light / dark */
  --rule:#00843d; --rule-d:#4ade9a;
  --ai:#a50050;   --ai-d:#ff7ab8;
  --hum:#f7ea48;
  --mono:'JetBrains Mono',Consolas,ui-monospace,monospace;
  --pad-x:20px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{margin:0;background:#fff;color:var(--ink);font-family:'Montserrat',system-ui,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased;}
h1,h2,h3{margin:0;line-height:1.15;font-weight:800;letter-spacing:-.01em;}
p{margin:0;}
a{color:var(--purple);text-decoration:none;}
a:hover{color:var(--plum);}
button{font:inherit;color:inherit;}
.hl{color:var(--purple);}
.skip{position:absolute;left:-999px;top:0;}
.skip:focus{left:8px;top:8px;background:#fff;padding:8px 12px;z-index:100;}
:focus-visible{outline:2px solid var(--yellow);outline-offset:2px;}

/* pill buttons with chevron, as on amista.com */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:700;font-size:14.5px;padding:12px 22px;border-radius:999px;border:1.5px solid transparent;cursor:pointer;transition:background .2s,color .2s,border-color .2s,transform .2s,box-shadow .2s;white-space:nowrap;}
.btn::after{content:'';width:7px;height:7px;border-right:2px solid currentColor;border-top:2px solid currentColor;transform:rotate(45deg);margin-left:2px;transition:transform .2s;}
.btn:hover::after{transform:translateX(3px) rotate(45deg);}
.btn-plum{background:var(--plum);color:#fff;}
.btn-plum:hover{background:var(--purple);color:#fff;}
.btn-white{background:#fff;color:var(--plum);}
.btn-white:hover{color:var(--plum);box-shadow:0 8px 30px rgba(255,122,184,.35);transform:translateY(-1px);}
.btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.7);}
.btn-ghost:hover{color:#fff;border-color:#fff;background:rgba(255,255,255,.08);}
.btn-line{background:#fff;color:var(--plum);border-color:var(--plum);}
.btn-line:hover{color:#fff;background:var(--plum);}

/* ---------- hero: smoky plum, the demo lives here ---------- */
.hero{position:relative;overflow:hidden;background:var(--plum-night);color:#fff;isolation:isolate;}
.smoke{position:absolute;inset:-20%;z-index:-1;pointer-events:none;filter:blur(60px) saturate(1.15);}
.smoke i{position:absolute;border-radius:50%;opacity:.75;mix-blend-mode:screen;}
.smoke i:nth-child(1){width:60vmax;height:60vmax;left:-10%;top:-15%;background:radial-gradient(circle,#7a1f8c 0%,rgba(122,31,140,0) 65%);animation:drift1 26s ease-in-out infinite alternate;}
.smoke i:nth-child(2){width:55vmax;height:55vmax;right:-15%;top:-10%;background:radial-gradient(circle,#b0005a 0%,rgba(176,0,90,0) 62%);animation:drift2 32s ease-in-out infinite alternate;}
.smoke i:nth-child(3){width:50vmax;height:50vmax;left:25%;top:35%;background:radial-gradient(circle,#4b1a7a 0%,rgba(75,26,122,0) 65%);animation:drift3 29s ease-in-out infinite alternate;}
.smoke i:nth-child(4){width:38vmax;height:38vmax;right:10%;bottom:-10%;background:radial-gradient(circle,#d0367e 0%,rgba(208,54,126,0) 60%);opacity:.45;animation:drift1 35s ease-in-out infinite alternate-reverse;}
@keyframes drift1{to{transform:translate(12vmax,8vmax) scale(1.15)}}
@keyframes drift2{to{transform:translate(-14vmax,10vmax) scale(.9)}}
@keyframes drift3{to{transform:translate(-8vmax,-10vmax) scale(1.2)}}
.hero::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(23,10,33,.25) 0%,rgba(23,10,33,.55) 55%,rgba(23,10,33,.85) 100%);pointer-events:none;}
.topnav{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px var(--pad-x);}
.topnav .logos{display:flex;align-items:center;gap:10px;min-width:0;}
.topnav .logos img{display:block;width:auto;}
.topnav .logos .aivix{height:17px;}
.topnav .logos .amista{height:9px;}
.topnav .logos .aarini{height:31px;}
.sep{display:block;width:1px;height:20px;background:rgba(255,255,255,.3);flex-shrink:0;}
@media (max-width:479px){.nav-cta{display:none;}}
.topnav .btn{padding:9px 16px;font-size:13.5px;}
.hero-copy{position:relative;text-align:center;max-width:900px;margin:0 auto;padding:26px var(--pad-x) 22px;display:flex;flex-direction:column;align-items:center;gap:16px;}
.live-pill{display:inline-flex;align-items:center;gap:9px;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:7px 14px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(8px);}
.live-pill i{width:8px;height:8px;border-radius:50%;background:var(--rule-d);box-shadow:0 0 0 0 rgba(74,222,154,.7);animation:ping 1.8s ease-out infinite;}
@keyframes ping{70%{box-shadow:0 0 0 9px rgba(74,222,154,0)}100%{box-shadow:0 0 0 0 rgba(74,222,154,0)}}
.hero h1{font-size:clamp(28px,6.6vw,54px);max-width:1000px;}
.hero h1 em{font-style:normal;background:linear-gradient(90deg,#e9b6f2,#ff7ab8 55%,#ffb38a);-webkit-background-clip:text;background-clip:text;color:transparent;}
.tagline{font-size:clamp(17px,4vw,24px);font-weight:700;color:rgba(255,255,255,.95);margin-top:-6px;}
.lede{font-size:15.5px;color:rgba(255,255,255,.82);max-width:700px;font-weight:500;}
.hero-cta{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;}

/* demo stage (glass) */
.stage-wrap{position:relative;padding:6px var(--pad-x) 26px;}
.stage{max-width:1400px;margin:0 auto;border-radius:16px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.12);box-shadow:0 30px 80px rgba(0,0,0,.35);backdrop-filter:blur(10px);padding:12px;}
.stage-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:12px;}
.sim-chip{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;font-weight:600;color:rgba(255,255,255,.78);padding:5px 11px;border-radius:999px;border:1px dashed rgba(255,255,255,.3);}
.seg{display:inline-flex;gap:3px;padding:3px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);}
.seg button{font-size:12.5px;font-weight:600;border:0;background:transparent;color:rgba(255,255,255,.75);padding:6px 12px;border-radius:999px;cursor:pointer;white-space:nowrap;}
.seg button:hover{color:#fff;}
.seg button[aria-pressed="true"]{background:#fff;color:var(--plum);}
.stage-bar .grow{flex:1;}
.icon-btn{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:700;color:#fff;background:linear-gradient(90deg,var(--purple),var(--magenta));border:0;border-radius:999px;padding:7px 14px;cursor:pointer;box-shadow:0 6px 22px rgba(165,0,80,.35);}
.icon-btn:hover{filter:brightness(1.12);}
.icon-btn svg{flex-shrink:0;}
.legend{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:12px;color:rgba(255,255,255,.75);margin-top:12px;justify-content:center;}
.legend span{display:inline-flex;align-items:center;gap:8px;}
.booth-strip{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;padding:4px var(--pad-x) 28px;font-size:12px;color:rgba(255,255,255,.7);font-weight:600;}
.booth-strip .logos{display:flex;align-items:center;gap:12px;}
.booth-strip img{display:block;height:20px;width:auto;}
.booth-strip img.aarini{height:34px;}

/* ---------- route colours ---------- */
.dot{display:inline-block;flex-shrink:0;width:8px;height:8px;border-radius:50%;background:var(--gray-light);}
.r-rule .dot,.dot.r-rule{background:var(--rule-d);box-shadow:0 0 10px rgba(74,222,154,.6);}
.r-ai .dot,.dot.r-ai{background:var(--ai-d);box-shadow:0 0 10px rgba(255,122,184,.6);}
.r-human .dot,.dot.r-human{background:var(--hum);box-shadow:0 0 10px rgba(247,234,72,.55);}
.light .r-rule .dot,.light .dot.r-rule{background:var(--rule);box-shadow:none;}
.light .r-ai .dot,.light .dot.r-ai{background:var(--ai);box-shadow:none;}
.light .r-human .dot,.light .dot.r-human{background:var(--hum);box-shadow:inset 0 0 0 1.5px #8a7d14;}
.route-chip{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:10.5px;font-weight:500;letter-spacing:.06em;padding:2px 9px;border-radius:999px;white-space:nowrap;}
.route-chip.r-rule{color:var(--rule-d);background:rgba(74,222,154,.12);}
.route-chip.r-ai{color:var(--ai-d);background:rgba(255,122,184,.14);}
.route-chip.r-human{color:var(--hum);background:rgba(247,234,72,.12);}
.route-chip.pending{color:var(--d-dim);background:rgba(255,255,255,.07);}
.route-chip.pending .dot{animation:blink 1s ease-in-out infinite;box-shadow:none;}
@keyframes blink{50%{opacity:.2}}

/* flow cards (glass on dark) */
.flow-card{display:inline-flex;align-items:center;gap:7px;border-radius:8px;padding:6px 10px;min-width:0;max-width:100%;}
.flow-card.src{background:var(--d-glass);border:1px solid var(--d-glass-b);}
.flow-card.tgt{background:rgba(255,122,184,.07);border:1px solid rgba(255,139,196,.4);}
.flow-tag{flex-shrink:0;font-family:var(--mono);font-size:10px;padding:1px 7px;border-radius:999px;color:#e3c9ec;background:rgba(194,165,200,.18);}
.flow-card.tgt .flow-tag,.flow-tag.t-brz,.flow-tag.t-slv,.flow-tag.t-gld,.flow-tag.t-nb,.flow-tag.t-job{color:#ffc2df;background:rgba(255,122,184,.16);}
.flow-name{font-family:var(--mono);font-size:11.5px;color:var(--d-text);overflow-wrap:anywhere;line-height:1.35;}
.flow-col-label{font-family:var(--mono);font-size:12px;color:var(--d-dim);padding:0 0 6px 2px;}
.col-lbl{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--d-dim);margin-bottom:8px;}

/* side headers: SAP on the left, Databricks on the right */
.side-h{display:flex;align-items:center;gap:10px;margin-bottom:10px;min-width:0;min-height:50px;}
.side-h .ic{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff;}
.side-h .ic svg{width:18px;height:18px;}
.side-h b{display:block;font-size:15px;font-weight:800;color:#fff;line-height:1.1;}
.side-h small{display:block;font-size:11px;color:var(--d-dim);font-weight:600;line-height:1.3;}
.side-h.sap .ic{background:linear-gradient(135deg,#1b90ff,#0057d2);box-shadow:0 0 18px rgba(27,144,255,.45);}
.side-h.dbx .ic{background:linear-gradient(135deg,#ff6a3d,#ff3621);box-shadow:0 0 18px rgba(255,54,33,.45);}
.side-h.acc .ic{background:linear-gradient(135deg,var(--purple),var(--magenta));box-shadow:0 0 18px rgba(165,0,80,.45);}
.side-h.dbx{flex-direction:row-reverse;text-align:right;}
.side-h .lg{display:block;width:auto;height:38px;flex-shrink:0;}
.side-h.dbx .lg{height:28px;}
.side-h.sap b{font-size:24px;letter-spacing:.02em;}
.lane .side-h .lg{height:32px;}
.lane .side-h.dbx .lg{height:21px;}
.lane .side-h.sap b{font-size:20px;}
.lane{display:flex;align-items:center;gap:10px;}
.lane .side-h{margin:0;flex-shrink:0;min-height:0;}
.lane-arrow{flex:1;min-width:30px;height:4px;border-radius:2px;background:linear-gradient(90deg,#1b90ff,var(--magenta),#ff3621);position:relative;overflow:hidden;}
.lane-arrow::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.9),transparent);background-size:40px 100%;background-repeat:no-repeat;animation:shimmer 1.4s linear infinite;}

/* terminal */
.term{position:relative;display:flex;flex-direction:column;border:1px solid var(--d-line);border-radius:12px;overflow:hidden;background:var(--d-bg);box-shadow:0 20px 50px rgba(0,0,0,.4),0 0 50px rgba(165,0,80,.12);min-width:0;}
.term-bar{background:var(--d-bar);padding:9px 14px;display:flex;align-items:center;gap:9px;border-bottom:1px solid var(--d-line);min-width:0;}
.term-dots{display:flex;gap:5px;margin-right:2px;}
.term-dots span{width:9px;height:9px;border-radius:50%;background:#4a3558;}
.term-dots span.on{background:var(--ai-d);}
.term-bar svg{stroke:var(--ai-d);}
.term-title{font-family:var(--mono);font-size:11.5px;color:var(--d-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1;}
.term-title b{font-weight:500;color:var(--ai-d);}
.term-live{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:11px;color:var(--d-dim);flex-shrink:0;}
.term-live i{width:7px;height:7px;border-radius:50%;background:var(--rule-d);animation:blink 1.4s ease-in-out infinite;}
.code{margin:0;padding:12px 14px;font-family:var(--mono);font-size:11.5px;line-height:1.55;color:var(--d-text);overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;tab-size:4;-webkit-overflow-scrolling:touch;}
.code .ln{display:block;min-height:1.55em;padding-left:2ch;text-indent:-2ch;}
.code .ln.fl{background:rgba(247,234,72,.1);box-shadow:inset 3px 0 0 var(--hum);margin:0 -14px;padding:0 14px 0 calc(14px + 2ch);}
.code.typing .ln:last-child::after{content:'▍';color:var(--ai-d);animation:blink .8s steps(1) infinite;}
.code i{font-style:normal;}
.t-k{color:#ff8bc4;}
.t-s{color:#f3e37a;}
.t-c{color:#7e6a8c;}
.t-n{color:#9fd8ff;}
.t-d{color:#ff8bc4;}
.t-f{color:#d9c2e3;}
.t-v{color:#9fd8ff;}
.t-l{color:var(--d-dim);}
.t-a{color:#ff8bc4;}
.t-m{color:#5b4769;}
.code.src,.c-src .code{color:#bfb0c9;}
.code.src .t-k,.c-src .t-k{color:#e3c9ec;}

/* counters */
.ctrs{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.07);border-radius:10px;overflow:hidden;}
.ctr{background:var(--d-bg);padding:8px 9px;min-width:0;}
.ctr b{display:block;font-size:21px;font-weight:800;color:#fff;line-height:1.2;font-variant-numeric:tabular-nums;}
.ctr b.bump{animation:bump .45s ease;}
@keyframes bump{30%{transform:translateY(-3px) scale(1.12);text-shadow:0 0 18px currentColor}}
.ctr.r-rule b.bump{color:var(--rule-d);}
.ctr.r-ai b.bump{color:var(--ai-d);}
.ctr.r-human b.bump{color:var(--hum);}
.ctr span{display:flex;align-items:center;gap:5px;font-size:10.5px;color:var(--d-dim);line-height:1.3;font-weight:500;}
.ctr .dot{width:7px;height:7px;}

/* ================= product-style windows: SAP left, Databricks right ================= */
.win{display:flex;flex-direction:column;min-width:0;border-radius:10px;overflow:hidden;background:#fff;color:#1d2d3e;box-shadow:0 22px 60px rgba(0,0,0,.45);
  --rule-d:#0b8a52;--ai-d:#c81e72;--hum:#d18b00;}
.win-bar{display:flex;align-items:center;gap:10px;padding:8px 12px;min-width:0;font-size:12px;}
.win-bar .lg{display:block;width:auto;flex-shrink:0;}
.win-t{font-weight:700;white-space:nowrap;}
.win-c{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1;opacity:.85;}
.win-r{display:flex;align-items:center;gap:8px;flex-shrink:0;}
.win-body{padding:12px;flex:1;min-height:0;}
.win.sap{background:#f7f7f7;}
.win.sap .win-bar{background:#354a5f;color:#fff;}
.win.sap .win-bar .lg{height:22px;}
.win-tools{display:flex;gap:14px;padding:5px 12px;background:#fff;border-bottom:1px solid #d9d9d9;font-size:11px;color:#32363a;overflow:hidden;white-space:nowrap;}
.win-tools span{display:inline-flex;align-items:center;gap:5px;}
.win-tools i{width:11px;height:11px;border-radius:2px;background:#0a6ed1;opacity:.8;}
.win-tools span:nth-child(2) i{background:#107e3e;}
.win-tools span:nth-child(3) i{background:#e9730c;}
.win.dbx .win-bar{background:#fff;border-bottom:1px solid #e5e5e5;color:#5f6b76;}
.win.dbx .win-bar .lg{height:16px;}
.win .sl{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;color:#1b3139;border:1px solid #d6dade;border-radius:4px;padding:2px 7px;}
.win .sl i{width:7px;height:7px;border-radius:50%;background:#00a972;}
.win .run{font-size:11px;font-weight:700;color:#fff;background:#2272b4;border-radius:4px;padding:3px 9px;}
.win .flow-card.src{background:#fff;border:1px solid #d5dadd;box-shadow:0 1px 2px rgba(0,0,0,.06);}
.win .flow-card.tgt{background:#fff;border:1px solid #e3e3e3;}
.win .flow-name{color:#1d2d3e;}
.win.sap .flow-tag{color:#0a6ed1;background:#e8f2fc;}
.win.dbx .flow-tag,.win.dbx .flow-card.tgt .flow-tag{color:#c4320a;background:#ffeee8;}
.win .fr-arrow{color:#c4320a;}
.win .fr:hover .flow-card{border-color:#0a6ed1;}
.win .col-lbl,.win .b-col-l{color:#6a7d8f;}
/* code as in the editors: ABAP classic colours left, notebook colours right, line numbers */
.win .code{background:#fff;color:#1d2d3e;counter-reset:ln;}
.win .code .ln{position:relative;counter-increment:ln;padding-left:calc(3em + 2ch);}
.win .code .ln::before{content:counter(ln);position:absolute;left:0;width:2.3em;text-align:right;color:#a3aeb8;text-indent:0;}
.win .code .ln.fl{background:#fff3c4;box-shadow:inset 3px 0 0 #e9730c;margin:0 -14px;padding:0 14px 0 calc(14px + 3em + 2ch);}
.win .code .ln.fl::before{left:14px;}
.win .code.typing .ln:last-child::after{color:#0a6ed1;}
.win.sap .code{color:#1d2d3e;}
.win.sap .t-k{color:#0000ff;}
.win.sap .t-c{color:#808080;font-style:italic;}
.win.sap .t-s{color:#008000;}
.win.sap .t-n{color:#3399ff;}
.win.sap .t-f{color:#1d2d3e;}
.win.sap .t-l{color:#5b738b;font-weight:600;}
.win.sap .t-a{color:#0a6ed1;}
.win.sap .t-m{color:#b0bac4;}
.win.dbx .t-k{color:#0000ff;}
.win.dbx .t-s{color:#a31515;}
.win.dbx .t-c{color:#008000;}
.win.dbx .t-n{color:#098658;}
.win.dbx .t-d,.win.dbx .t-f{color:#795e26;}
.win.dbx .t-v{color:#001080;}
.win.dbx .t-l{color:#6b7280;font-weight:600;}
.win.dbx .t-a{color:#c4320a;}
.win.dbx .t-m{color:#b0b7bf;}
.nb-cell{margin:10px;border:1px solid #e0e0e0;border-radius:6px;display:flex;flex-direction:column;min-height:0;flex:1;overflow:hidden;background:#fff;}
.nb-h{display:flex;justify-content:space-between;align-items:center;padding:5px 10px;font-size:11px;color:#6b7280;background:#fafafa;border-bottom:1px solid #eee;}
.nb-lang{font-weight:700;color:#1b3139;}
.nb-res{font-family:var(--mono);font-size:11.5px;padding:6px 10px;border-top:1px solid #eee;color:#6b7280;min-height:30px;}
.nb-res.r-rule{color:#0b8a52;}
.nb-res.r-ai{color:#c81e72;}
.nb-res.r-human{color:#b45309;}
/* lineage nodes inside the windows */
.win .ln-node.bw{background:#fff;border:1px solid #d5dadd;opacity:.55;}
.win .ln-node.bw.active,.win .ln-node.bw.done{opacity:1;}
.win .ln-node.dbx{background:#fff;border:1px solid #e0e0e0;}
.win .ln-node.dbx.r-ai{border-color:#f2b3cf;}
.win .ln-node.dbx.hidden{background:transparent;border:1px dashed #cfd5db;opacity:.7;}
.win .ln-node.dbx.hold{background:#fff8e6;border:1px dashed #e9730c;}
.win .ln-node.dbx.hold .flow-name::after{color:#b45309;}
.win.sap .a-q .q.now .flow-card{box-shadow:0 0 0 2px #0a6ed1,0 4px 14px rgba(10,110,209,.25);}
.lane .side-h.dbx small{display:none;}

/* ================= A · console ================= */
.cA{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;}
.a-queue{display:none;}
.a-lane{display:block;}
.a-body{display:flex;flex-direction:column;gap:10px;padding:12px;min-width:0;}
.a-prog{position:relative;height:18px;background:rgba(255,255,255,.06);border-radius:999px;overflow:hidden;}
.a-prog i{position:absolute;inset:0 auto 0 0;width:0;background:linear-gradient(90deg,var(--purple),var(--magenta),#ff7ab8);transition:width .5s ease;}
.a-prog i::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);background-size:60px 100%;background-repeat:no-repeat;animation:shimmer 1.6s linear infinite;}
@keyframes shimmer{from{background-position:-60px 0}to{background-position:calc(100% + 60px) 0}}
.a-prog-l{position:absolute;right:10px;top:0;font-family:var(--mono);font-size:10.5px;line-height:18px;color:#fff;}
.a-cur{position:relative;}
.a-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 9px;min-height:44px;}
.a-head .a-name{font-family:var(--mono);font-size:13px;font-weight:500;color:#fff;overflow-wrap:anywhere;}
.a-head .a-desc{flex-basis:100%;font-size:12px;color:var(--d-dim);font-weight:500;}
.a-log{height:132px;overflow:hidden;font-family:var(--mono);font-size:11px;line-height:1.5;color:var(--d-text);border-top:1px solid rgba(255,255,255,.07);border-bottom:1px solid rgba(255,255,255,.07);padding:6px 0;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 28px);mask-image:linear-gradient(180deg,transparent 0,#000 28px);}
.lg{display:grid;grid-template-columns:auto auto 1fr;gap:0 8px;animation:lgin .3s ease;}
@keyframes lgin{from{opacity:0;transform:translateX(-6px)}to{opacity:1;transform:none}}
.lg-t{font-style:normal;color:var(--d-faint);}
.lg-k{font-style:normal;color:var(--d-dim);min-width:5ch;}
.lg-match .lg-k,.lg-gen .lg-k,.lg-rule .lg-k,.lg-done .lg-k{color:var(--rule-d);}
.lg-ai .lg-k,.lg-check .lg-k,.lg-queue .lg-k{color:var(--ai-d);}
.lg-check span{color:#f1d7e6;}
.lg-flag .lg-k,.lg-ask .lg-k,.lg-owner .lg-k{color:var(--hum);}
.lg-flag span,.lg-ask span{color:#fff;}
.lg-why span,.lg-opt span{color:#d9c8e2;}
.lg-next span{color:var(--d-dim);}
.a-code-l{font-family:var(--mono);font-size:10.5px;color:var(--d-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.a-code-l b{font-weight:500;color:var(--ai-d);}
.a-codewrap{position:relative;border-radius:8px;background:rgba(0,0,0,.28);overflow:hidden;}
.a-code{height:218px;padding:10px 12px;}
.a-code .ln.fl{margin:0 -12px;padding:0 12px 0 calc(12px + 2ch);}
.a-codewrap.scan::after{content:'';position:absolute;left:0;right:0;top:-40%;height:40%;background:linear-gradient(180deg,transparent,rgba(255,122,184,.16) 70%,rgba(255,122,184,.45) 98%,transparent);animation:scan 1.1s linear infinite;pointer-events:none;}
@keyframes scan{to{top:100%}}
.a-f{display:flex;flex-direction:column;gap:7px;}
.fr{display:grid;grid-template-columns:auto minmax(0,1fr) auto minmax(0,1fr);gap:4px 7px;align-items:center;text-align:left;border:0;background:transparent;padding:0;cursor:pointer;}
.fr-arrow{color:var(--ai-d);font-family:var(--mono);font-size:12px;}
.fr .flow-card{padding:5px 8px;}
.fr:nth-child(n+5){display:none;}
.fr:hover .flow-card{border-color:#fff;}
.fr.new .flow-card.tgt{animation:glow 1.4s ease;}
@keyframes glow{0%{box-shadow:0 0 0 0 rgba(255,122,184,.0)}25%{box-shadow:0 0 0 3px rgba(255,122,184,.45),0 0 26px rgba(255,122,184,.5)}100%{box-shadow:0 0 0 0 rgba(255,122,184,0)}}

/* ================= B · lineage ================= */
.cB{border-radius:12px;background:rgba(10,4,16,.35);border:1px solid rgba(255,255,255,.08);padding:14px 12px;}
.b-top{display:flex;flex-direction:column;gap:10px;margin-bottom:12px;}
.b-mod{font-family:var(--mono);font-size:12px;color:var(--d-dim);}
.b-mod b{color:#fff;font-weight:500;}
.b-stage{position:relative;display:flex;flex-direction:column;gap:14px;}
.b-mid{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--d-dim);font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;position:relative;z-index:1;}
.b-mid i{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--purple),var(--magenta));color:#fff;box-shadow:0 0 20px rgba(165,0,80,.5);transform:rotate(90deg);}
.b-mid i svg{width:16px;height:16px;}
.b-panel{position:static;}
.b-grid{display:grid;gap:6px;}
.b-bw .b-grid{grid-template-columns:repeat(4,minmax(0,1fr));min-height:236px;}
.b-dbx .b-grid{grid-template-columns:repeat(3,minmax(0,1fr));min-height:256px;}
.b-col{display:flex;flex-direction:column;gap:7px;min-width:0;}
.b-col-l{font-family:var(--mono);font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--d-faint);padding-left:2px;}
.ln-node{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left;border-radius:8px;padding:6px 7px;cursor:pointer;min-width:0;transition:border-color .3s,background .3s,opacity .4s,transform .4s,box-shadow .3s;}
.ln-node .flow-name{font-size:10px;}
.ln-node .flow-tag{font-size:9px;padding:0 6px;}
.ln-node.bw{background:#1d1028;border:1px solid var(--d-glass-b);opacity:.5;}
.ln-node.bw.active{opacity:1;transform:scale(1.04);}
.ln-node.bw.active.r-rule{box-shadow:0 0 0 2px var(--rule-d),0 0 24px rgba(74,222,154,.45);}
.ln-node.bw.active.r-ai{box-shadow:0 0 0 2px var(--ai-d),0 0 24px rgba(255,122,184,.5);}
.ln-node.bw.active.r-human{box-shadow:0 0 0 2px var(--hum),0 0 24px rgba(247,234,72,.4);}
.ln-node.bw.done{opacity:1;}
.ln-node.bw.done.r-rule{border-left:3px solid var(--rule-d);}
.ln-node.bw.done.r-ai{border-left:3px solid var(--ai-d);}
.ln-node.bw.done.r-human{border-left:3px solid var(--hum);}
.ln-node.dbx{background:#2a1031;border:1px solid rgba(255,139,196,.4);}
.ln-node.dbx.hidden{opacity:.25;border-style:dashed;border-color:rgba(255,255,255,.22);background:transparent;transform:scale(.96);}
.ln-node.dbx.hidden .flow-name,.ln-node.dbx.hidden .flow-tag{visibility:hidden;}
.ln-node.dbx.born{animation:born .9s cubic-bezier(.2,.9,.3,1.3);}
.ln-node.dbx.born.r-rule{box-shadow:0 0 0 2px var(--rule-d),0 0 30px rgba(74,222,154,.55);}
.ln-node.dbx.born.r-ai{box-shadow:0 0 0 2px var(--ai-d),0 0 30px rgba(255,122,184,.6);}
.ln-node.dbx.born.r-human{box-shadow:0 0 0 2px var(--hum),0 0 30px rgba(247,234,72,.45);}
@keyframes born{0%{transform:scale(.7);opacity:.2}60%{transform:scale(1.08);opacity:1}100%{transform:scale(1)}}
.ln-node.dbx.r-ai{border-color:rgba(255,122,184,.65);}
.ln-node.dbx.hold{border-style:dashed;border-color:var(--hum);background:#2b2414;}
.ln-node.dbx.hold .flow-name::after{content:' · on hold';color:var(--hum);}
.b-wires{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;overflow:visible;}
.b-wires path{fill:none;}
.b-wires.b-map{z-index:2;}
.w-bw{stroke:#c9d1d9;stroke-width:1.3;}
.w-bw.done{stroke:#8796a5;}
.w-bw.on{stroke-width:2.4;stroke-dasharray:6 5;animation:dash .7s linear infinite;}
.w-bw.on.r-rule{stroke:var(--rule-d);}
.w-bw.on.r-ai{stroke:var(--ai-d);}
.w-bw.on.r-human{stroke:var(--hum);}
@keyframes dash{to{stroke-dashoffset:-22}}
.w-dbx{stroke:#ff8a65;stroke-width:1.6;stroke-dasharray:3 6;animation:dash 1.4s linear infinite;}
.w-map{stroke-width:2.2;opacity:.95;}
.w-map.r-rule{stroke:var(--rule-d);filter:drop-shadow(0 0 4px rgba(74,222,154,.8));}
.w-map.r-ai{stroke:var(--ai-d);filter:drop-shadow(0 0 4px rgba(255,122,184,.8));}
.w-map.r-human{stroke:var(--hum);filter:drop-shadow(0 0 4px rgba(247,234,72,.7));}
.w-map.draw{stroke-dasharray:1;animation:drawin .7s ease both;}
@keyframes drawin{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.pk{filter:drop-shadow(0 0 5px currentColor);}
.pk.r-rule{fill:var(--rule-d);color:var(--rule-d);}
.pk.r-ai{fill:var(--ai-d);color:var(--ai-d);}
.pk.r-human{fill:var(--hum);color:var(--hum);}
.b-cap{margin-top:14px;min-height:84px;border-top:1px solid rgba(255,255,255,.08);padding-top:12px;}
.b-cap-row{display:flex;flex-wrap:wrap;align-items:center;gap:7px;}
.b-cap-row .fr-arrow{display:inline;}
.b-cap-why{font-size:13px;color:var(--d-dim);margin-top:8px;font-weight:500;}
.b-cap-why b{color:#fff;font-weight:500;font-family:var(--mono);font-size:12px;}
.b-hint{font-family:var(--mono);font-size:12px;color:var(--d-faint);}

/* ================= C · spotlight ================= */
.cC{display:flex;flex-direction:column;gap:12px;}
.c-top{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.c-dots{display:flex;gap:4px;flex-wrap:wrap;}
.c-dots i{width:10px;height:5px;border-radius:3px;background:rgba(255,255,255,.15);cursor:pointer;transition:background .3s,width .3s;}
.c-dots i.on{width:22px;}
@media (min-width:760px){.c-dots{gap:6px;}.c-dots i{width:18px;}.c-dots i.on{width:32px;}}
.c-dots i.r-rule.on{background:var(--rule-d);}
.c-dots i.r-ai.on{background:var(--ai-d);}
.c-dots i.r-human.on{background:var(--hum);}
.c-ctl{display:flex;gap:4px;}
.c-ctl button{width:36px;height:32px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.06);border-radius:999px;cursor:pointer;font-size:14px;line-height:1;color:#fff;}
.c-ctl button:hover{border-color:#fff;}
.c-head{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;min-height:52px;}
.c-head b{font-family:var(--mono);font-size:14px;font-weight:500;color:#fff;}
.c-desc{font-size:13px;color:var(--d-dim);font-weight:500;}
.c-mod{flex-basis:100%;font-family:var(--mono);font-size:11px;color:var(--d-faint);}
.c-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:0;}
.c-col{display:flex;flex-direction:column;min-width:0;min-height:0;}
.c-col > .term{flex:1;min-height:0;}
.c-dec .side-h{margin-bottom:2px;}
.c-src .code{height:168px;}
.c-out .code{height:232px;}
.beam{position:relative;height:26px;}
.beam::before{content:'';position:absolute;left:50%;top:0;bottom:0;width:2px;transform:translateX(-50%);background:rgba(255,255,255,.08);}
.beam.on::after{content:'';position:absolute;left:50%;top:0;bottom:0;width:4px;transform:translateX(-50%);border-radius:2px;background:linear-gradient(180deg,transparent,#ff7ab8,transparent);background-size:100% 14px;animation:beamv .5s linear infinite;box-shadow:0 0 12px #ff7ab8;}
@keyframes beamv{from{background-position:0 -14px}to{background-position:0 26px}}
@keyframes beamh{from{background-position:-14px 0}to{background-position:34px 0}}
.c-dec{display:flex;flex-direction:column;gap:10px;min-height:210px;padding:4px 2px;}
.c-step{display:grid;grid-template-columns:26px 1fr;gap:10px;align-items:start;animation:lgin .4s ease;}
.c-step .c-n{width:26px;height:26px;border-radius:50%;border:1.5px solid rgba(255,255,255,.25);font-family:var(--mono);font-size:11px;display:flex;align-items:center;justify-content:center;color:var(--d-dim);}
.c-step.r-rule .c-n{border-color:var(--rule-d);color:var(--rule-d);}
.c-step.r-ai .c-n{border-color:var(--ai-d);color:var(--ai-d);}
.c-step.r-human .c-n{border-color:var(--hum);color:var(--hum);}
.c-step b{display:block;font-size:14px;font-weight:700;line-height:1.35;color:#fff;}
.c-step div span{display:block;font-size:12.5px;color:var(--d-dim);line-height:1.45;overflow-wrap:anywhere;font-weight:500;}
.c-step em{font-style:normal;font-family:var(--mono);font-size:12px;}
.c-step em.ok{color:var(--rule-d);}
.c-verdict{border-radius:10px;}
.c-verdict:not(:empty){padding:12px 14px;animation:pop .5s cubic-bezier(.2,.9,.3,1.2);}
@keyframes pop{from{transform:scale(.94);opacity:0}to{transform:none;opacity:1}}
.c-verdict.r-rule{background:rgba(74,222,154,.09);border:1px solid rgba(74,222,154,.45);}
.c-verdict.r-ai{background:rgba(255,122,184,.09);border:1px solid rgba(255,122,184,.5);}
.c-verdict.r-human{background:rgba(247,234,72,.07);border:1px dashed rgba(247,234,72,.6);}
.v-h{display:flex;align-items:center;gap:8px;font-weight:800;font-size:14.5px;margin-bottom:4px;color:#fff;}
.c-verdict p{font-size:12.5px;color:#d9c8e2;font-weight:500;}
.checks{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:5px;}
.checks li{position:relative;padding-left:20px;font-size:12.5px;color:#f1e6f5;line-height:1.45;animation:lgin .35s ease;font-weight:500;}
.checks li::before{content:'✓';position:absolute;left:2px;top:0;color:var(--ai-d);font-weight:800;}

/* ---------- detail sheet ---------- */
.sheet{border:0;padding:0;margin:auto auto 0;width:100%;max-width:980px;max-height:88vh;border-radius:16px 16px 0 0;background:var(--plum-deep);color:#fff;box-shadow:0 -10px 40px rgba(0,0,0,.45);}
.sheet::backdrop{background:rgba(10,4,16,.6);backdrop-filter:blur(3px);}
.sh-in{padding:18px var(--pad-x) 22px;display:flex;flex-direction:column;gap:12px;}
.sh-head{display:flex;align-items:center;gap:10px;}
.sh-head b{font-family:var(--mono);font-size:14px;font-weight:500;flex:1;overflow-wrap:anywhere;}
.sh-x{border:1px solid rgba(255,255,255,.25);background:transparent;color:#fff;width:34px;height:34px;border-radius:50%;font-size:18px;line-height:1;cursor:pointer;flex-shrink:0;}
.sh-desc{font-size:13px;color:var(--d-dim);font-weight:500;}
.sh-route{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:700;}
.sh-why{font-size:13px;color:#d9c8e2;display:flex;flex-direction:column;gap:6px;font-weight:500;}
.sh-why b{color:#fff;}
.sh-why .opts{margin:0;padding-left:20px;}
.sh-why .owner{font-family:var(--mono);font-size:12px;}
.sh-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;}
.sh-grid .code{max-height:260px;}
.sh-sim{font-size:11.5px;color:var(--d-faint);}

/* ---------- expanded (full-screen) demo ---------- */
.xp{position:fixed;inset:0;z-index:200;background:var(--plum-night);color:#fff;display:flex;flex-direction:column;isolation:isolate;overflow:hidden;}
.xp-bar{display:flex;align-items:center;gap:10px 14px;flex-wrap:wrap;padding:10px var(--pad-x);border-bottom:1px solid rgba(255,255,255,.1);background:rgba(23,10,33,.55);backdrop-filter:blur(8px);}
.xp-bar .ttl{font-weight:800;font-size:15px;}
.xp-bar .ttl span{font-weight:600;color:rgba(255,255,255,.65);font-size:12px;margin-left:6px;}
.xp-bar .grow{flex:1;}
.xp-x{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.06);color:#fff;font-size:18px;cursor:pointer;}
.xp-main{flex:1;min-height:0;display:flex;flex-direction:column;}
.xp-body{flex:1;min-height:0;padding:14px var(--pad-x) 16px;overflow:auto;}
.xp-side{padding:8px var(--pad-x) 12px;border-top:1px solid rgba(255,255,255,.1);background:rgba(23,10,33,.55);}
.xp-side .qr-card{flex-direction:row;align-items:center;text-align:left;gap:12px;padding:8px 12px 8px 8px;border-radius:12px;color:var(--ink);text-decoration:none;max-width:460px;margin:0 auto;box-shadow:none;}
.xp-side .qr-card img{width:64px;flex-shrink:0;}
.xp-side .qr-card b{display:block;font-size:13px;}
.xp-side .qr-card .url{display:block;font-size:11px;}
.xp-side .booth-legend{display:none;}
@media (min-width:900px){
  .xp-main{display:grid;grid-template-columns:minmax(0,1fr) clamp(220px,17vw,340px);gap:1.6vw;padding-right:var(--pad-x);}
  .xp-side{display:flex;flex-direction:column;gap:1.6vh;padding:14px 0 16px;border:0;background:none;}
  .xp-side .qr-card{flex-direction:column;text-align:center;padding:1.4vw;margin:0;max-width:none;box-shadow:0 20px 60px rgba(0,0,0,.4),0 0 0 6px rgba(255,122,184,.25);}
  .xp-side .qr-card img{width:100%;}
  .xp-side .qr-card b{font-size:clamp(14px,1.05vw,22px);margin-bottom:.8vh;}
  .xp-side .qr-card .url{font-size:clamp(11px,.8vw,16px);}
  .xp-side .booth-legend{display:flex;}
}
.xp-body.booth{overflow:hidden;}
.xp-hint{display:none;font-size:12px;color:rgba(255,255,255,.65);text-align:center;padding:8px var(--pad-x) 0;}
@media (orientation:portrait) and (max-width:899px){.xp-hint{display:block;}}
body.xp-open{overflow:hidden;}
@media (max-width:640px){.xp-bar .ttl span{display:none;}.xp-bar{padding-top:8px;padding-bottom:8px;}}

/* ---------- light content sections ---------- */
.section{padding:52px var(--pad-x);}
.section.soft{background:var(--bg-soft);}
.section h2{font-size:clamp(25px,6vw,40px);}
.section-head{display:flex;flex-direction:column;gap:12px;max-width:780px;}
.section-head .intro{font-size:15.5px;color:var(--gray);font-weight:500;}
.eyebrow{font-size:12px;letter-spacing:.1em;font-weight:800;color:var(--purple);text-transform:uppercase;}
.cards{display:grid;grid-template-columns:1fr;gap:16px;margin-top:30px;}
.card{position:relative;background:var(--plum);color:#fff;border-radius:10px;padding:22px 22px 24px;display:flex;flex-direction:column;gap:12px;overflow:hidden;isolation:isolate;}
.card::after{content:'';position:absolute;right:-40px;bottom:-40px;width:140px;height:140px;border-radius:50%;opacity:.35;filter:blur(30px);z-index:-1;}
.card.r-rule::after{background:var(--rule-d);}
.card.r-ai::after{background:var(--ai-d);}
.card.r-human::after{background:var(--hum);}
.card .tag{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;padding:4px 11px;border:1px solid rgba(255,255,255,.55);border-radius:4px;}
.card h3{font-size:24px;line-height:1.2;}
.card p{font-size:14px;color:rgba(255,255,255,.85);font-weight:500;}
.steps{display:grid;grid-template-columns:1fr;gap:26px;margin-top:30px;}
.step{display:flex;flex-direction:column;gap:8px;}
.step-n{font-size:40px;font-weight:800;line-height:1;background:linear-gradient(90deg,var(--purple),var(--magenta));-webkit-background-clip:text;background-clip:text;color:transparent;}
.step h3{font-size:19px;}
.step p{font-size:14.5px;color:var(--gray);font-weight:500;}

/* ---------- contact band ---------- */
.cta-wrap{padding:0 var(--pad-x) 52px;}
.cta{position:relative;overflow:hidden;background:var(--plum-deep);border-radius:16px;padding:34px 20px;display:grid;grid-template-columns:1fr;gap:26px;scroll-margin-top:10px;isolation:isolate;}
.cta::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(115deg,transparent 0 58%,rgba(103,30,117,.55) 58% 68%,rgba(133,75,145,.55) 68% 78%,rgba(103,30,117,.8) 78% 88%,rgba(165,90,180,.55) 88%);}
.cta-copy h2{color:#fff;font-size:clamp(25px,6vw,38px);}
.cta-copy p{color:rgba(255,255,255,.85);font-size:15.5px;margin-top:12px;max-width:520px;font-weight:500;}
.cta-copy ul{margin:16px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px;}
.cta-copy li{color:#fff;font-size:14.5px;display:flex;gap:10px;align-items:flex-start;font-weight:600;}
.cta-copy li::before{content:'';flex-shrink:0;width:8px;height:8px;margin-top:8px;border-radius:50%;background:var(--ai-d);}
.form-card{background:#fff;border-radius:14px;padding:22px 18px;box-shadow:0 24px 50px rgba(0,0,0,.3);}
.form-card h3{font-size:20px;margin-bottom:14px;}
.field{display:flex;flex-direction:column;gap:5px;margin-bottom:12px;}
.field label{font-size:13px;font-weight:700;}
.field input{font:inherit;font-size:16px;padding:11px 14px;border:1.5px solid #d6cddc;border-radius:10px;background:#fff;color:var(--ink);width:100%;}
.field input:focus{outline:none;border-color:var(--purple);box-shadow:0 0 0 3px rgba(103,30,117,.15);}
.field input[aria-invalid="true"]{border-color:#c2410c;}
.check{display:grid;grid-template-columns:22px 1fr;gap:8px;align-items:start;margin:10px 0;font-size:13px;line-height:1.5;color:var(--ink);cursor:pointer;font-weight:500;}
.check input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--purple);}
.check.consent{background:var(--lilac-soft);border:1px solid #e1d2e3;border-radius:10px;padding:10px 10px 10px 8px;}
.check.consent[data-invalid="true"]{border-color:#c2410c;}
.hp{position:absolute;left:-5000px;width:1px;height:1px;overflow:hidden;}
.form-card .btn{width:100%;margin-top:6px;}
.form-err{display:none;font-size:13px;color:#b42318;margin-top:10px;font-weight:600;}
.form-err.on{display:block;}
.privacy{margin-top:14px;font-size:12.5px;color:var(--gray);font-weight:500;}
.privacy summary{cursor:pointer;font-weight:700;color:var(--ink);}
.privacy dl{margin:10px 0 0;display:grid;grid-template-columns:1fr;gap:8px;}
.privacy dt{font-weight:700;color:var(--ink);}
.privacy dd{margin:0;}
.done-card{display:none;}
.form-card.sent form{display:none;}
.form-card.sent .done-card{display:block;}
.done-card h3{display:flex;align-items:center;gap:10px;}
.done-card p{font-size:14.5px;color:var(--gray);margin-bottom:12px;font-weight:500;}

/* ---------- /onepager: form first, preview next to it ---------- */
.op-hero .op-copy{padding-bottom:64px;}
.op-hero h1{font-size:clamp(30px,8vw,56px);}
.op-main{padding:0 var(--pad-x) 48px;}
.op-grid{max-width:1040px;margin:-48px auto 0;display:grid;grid-template-columns:1fr;gap:28px;position:relative;z-index:1;}
.op-side{display:flex;flex-direction:column;gap:16px;align-items:flex-start;}
.op-preview{margin:0;align-self:center;width:min(78%,340px);border-radius:8px;overflow:hidden;box-shadow:0 24px 50px rgba(35,20,52,.25),0 0 0 1px var(--border);transform:rotate(-2deg);}
.op-preview img{display:block;width:100%;height:auto;}
.op-points{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
.op-points li{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;font-weight:600;color:var(--ink);}
.op-points .dot{margin-top:7px;}
@media (min-width:860px){
  .op-grid{grid-template-columns:minmax(0,440px) minmax(0,1fr);gap:56px;align-items:start;}
  .op-side{padding-top:84px;}
  .op-preview{align-self:flex-start;width:300px;}
}

/* ---------- footer ---------- */
footer{padding:26px var(--pad-x) 30px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:14px;font-size:12.5px;color:var(--gray);font-weight:500;}
footer .f-logos{display:flex;align-items:center;gap:14px;}
footer .f-logos img{height:20px;width:auto;display:block;}
footer .f-logos img.aarini{height:34px;}
footer .powered{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;}
footer .powered img{height:11px;width:auto;}
footer nav{display:flex;gap:16px;flex-wrap:wrap;}
footer a{color:var(--gray);}
footer a:hover{color:var(--purple);}

/* ---------- wider screens ---------- */
@media (min-width:640px){
  .fr .flow-card{padding:6px 10px;}
  .cards{grid-template-columns:repeat(3,1fr);}
  .steps{grid-template-columns:repeat(2,1fr);}
  .sh-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .privacy dl{grid-template-columns:max-content 1fr;gap:6px 14px;}
  .lede{font-size:17px;}
}
@media (min-width:760px){
  :root{--pad-x:40px;}
  .topnav{padding-top:22px;}
  .topnav .logos{gap:16px;}
  .topnav .logos{gap:20px;}
  .topnav .logos .aivix{height:27px;}
  .topnav .logos .amista{height:14px;}
  .topnav .logos .aarini{height:48px;}
  .sep{height:32px;}
  .hero-copy{padding-top:40px;padding-bottom:30px;gap:20px;}
  .stage{padding:16px;}
  .b-top{flex-direction:row;align-items:center;justify-content:space-between;}
  .b-top .ctrs{min-width:420px;}
  .ln-node .flow-name{font-size:11px;}
  .section{padding-top:80px;padding-bottom:80px;}
  .cta{padding:56px 48px;}
  .cta-wrap{padding-bottom:80px;}
  footer{flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap;}
}
@media (min-width:1000px){
  .cA{grid-template-columns:minmax(200px,.8fr) minmax(0,2fr) minmax(250px,1.1fr);align-items:start;}
  .a-queue{display:block;}
  .a-lane{display:none;}
  .a-q{display:flex;flex-direction:column;gap:7px;}
  .a-q .q{opacity:.5;transition:opacity .3s,transform .3s;}
  .a-q .q.now{opacity:1;transform:translateX(6px);}
  .a-q .q.now .flow-card{box-shadow:0 0 0 2px var(--ai-d),0 0 20px rgba(255,122,184,.4);}
  .a-feed .fr{grid-template-columns:auto minmax(0,1fr);}
  .a-feed .fr .src,.a-feed .fr-arrow{display:none;}
  .fr:nth-child(n+5){display:grid;}
  .fr:nth-child(n+11){display:none;}
  .a-log{height:150px;}
  .a-code{height:250px;}
  .b-stage{display:grid;grid-template-columns:minmax(0,1.25fr) 84px minmax(0,1fr);gap:0;}
  .b-mid{flex-direction:column;}
  .b-mid i{transform:none;}
  .b-bw .b-grid,.b-dbx .b-grid{min-height:300px;}
  .c-grid{grid-template-columns:minmax(0,1.05fr) 34px minmax(0,.8fr) 34px minmax(0,1.2fr);align-items:stretch;}
  .beam{height:auto;}
  .beam::before{left:0;right:0;top:50%;bottom:auto;width:auto;height:2px;transform:translateY(-50%);}
  .beam.on::after{left:0;right:0;top:50%;bottom:auto;width:auto;height:4px;transform:translateY(-50%);background:linear-gradient(90deg,transparent,#ff7ab8,transparent);background-size:14px 100%;animation:beamh .5s linear infinite;}
  .c-src .code,.c-out .code{height:330px;}
  .steps{grid-template-columns:repeat(4,1fr);gap:32px;}
  .cta{grid-template-columns:1fr minmax(360px,440px);align-items:center;gap:56px;}
  .form-card{padding:28px 26px;}
}
@media (min-width:1200px){
  :root{--pad-x:72px;}
}

/* ================= booth screen + expanded wide view ================= */
body.booth-page{background:var(--plum-night);color:#fff;height:100vh;overflow:hidden;cursor:none;}
.booth-wrap{position:relative;height:100vh;display:grid;grid-template-rows:auto 1fr;isolation:isolate;overflow:hidden;}
.booth-top{display:flex;align-items:center;justify-content:space-between;gap:2vw;padding:1.6vh 2vw;border-bottom:1px solid rgba(255,255,255,.1);background:rgba(23,10,33,.45);backdrop-filter:blur(8px);}
.booth-top h1{font-size:clamp(16px,1.4vw,30px);font-weight:800;flex:1;text-align:center;}
.booth-top h1 em{font-style:normal;background:linear-gradient(90deg,#e9b6f2,#ff7ab8 55%,#ffb38a);-webkit-background-clip:text;background-clip:text;color:transparent;}
.booth-top .logos{display:flex;align-items:center;gap:1.2vw;}
.booth-top .logos img{height:clamp(22px,1.8vw,40px);width:auto;display:block;}
.booth-top .logos img.aarini{height:clamp(38px,3.3vw,72px);}
.booth-top .logos img.amista{height:clamp(12px,1vw,21px);}
.booth-top .sep{height:clamp(20px,1.8vw,38px);}
.booth .side-h .ic{width:clamp(34px,2.4vw,50px);height:clamp(34px,2.4vw,50px);}
.booth .side-h .ic svg{width:55%;height:55%;}
.booth .side-h b{font-size:clamp(15px,1.2vw,24px);}
.booth .side-h small{font-size:clamp(11px,.72vw,15px);}
.booth .side-h{min-height:clamp(48px,3.9vw,84px);}
.booth .win-bar{padding:1vh .9vw;font-size:clamp(11px,.75vw,15px);gap:.7vw;}
.booth .win.sap .win-bar .lg{height:clamp(20px,1.6vw,32px);}
.booth .win.dbx .win-bar .lg{height:clamp(14px,1.1vw,22px);}
.booth .win-tools{font-size:clamp(10px,.65vw,13px);padding:.6vh .9vw;}
.booth .win .sl,.booth .win .run{font-size:clamp(10px,.65vw,13px);}
.booth .nb-h,.booth .nb-res{font-size:clamp(10px,.72vw,14px);}
.booth .win-body{padding:1.2vh .8vw;}
.booth .c-out .nb-cell{flex:1;}
.booth .a-queue.win,.booth .a-feed.win{min-height:0;}
.booth .side-h .lg{height:clamp(36px,2.9vw,62px);}
.booth .side-h.dbx .lg{height:clamp(46px,3.7vw,80px);}
.booth .side-h.sap b{font-size:clamp(24px,2vw,42px);}
.booth-top .live-pill{font-size:clamp(10px,.7vw,14px);}
.booth-main{display:grid;grid-template-columns:1fr clamp(220px,17vw,360px);gap:1.6vw;padding:1.8vh 2vw;min-height:0;}
.booth-demo{min-width:0;min-height:0;overflow:hidden;}
.booth-side{display:flex;flex-direction:column;gap:1.6vh;min-height:0;}
.qr-card{background:#fff;color:var(--ink);border-radius:16px;padding:1.4vw;display:flex;flex-direction:column;gap:1.2vh;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.4),0 0 0 6px rgba(255,122,184,.25);}
.qr-card img{width:100%;height:auto;display:block;}
.qr-card b{font-size:clamp(14px,1.05vw,22px);font-weight:800;line-height:1.25;}
.qr-card .url{font-family:var(--mono);font-size:clamp(10px,.68vw,15px);color:var(--purple);overflow-wrap:anywhere;}
.booth-legend{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:1.2vw;display:flex;flex-direction:column;gap:.9vh;font-size:clamp(11px,.78vw,15px);color:rgba(255,255,255,.8);font-weight:600;}
.booth-legend span{display:flex;align-items:center;gap:8px;}
.booth-legend .sim{font-size:clamp(10px,.66vw,13px);color:rgba(255,255,255,.55);border-top:1px solid rgba(255,255,255,.1);padding-top:.9vh;font-weight:500;}
.booth-legend .pw{display:flex;align-items:center;gap:8px;font-size:clamp(10px,.66vw,13px);color:rgba(255,255,255,.55);font-weight:500;}
.booth-legend .pw img{height:clamp(9px,.62vw,13px);width:auto;}

.booth{height:100%;}
.booth .code{font-size:clamp(11px,.78vw,16px);}
.booth .term-title{font-size:clamp(11px,.75vw,15px);}
.booth .flow-name{font-size:clamp(11px,.72vw,15px);}
.booth .flow-tag{font-size:clamp(10px,.6vw,13px);}
.booth .cA{height:100%;grid-template-columns:minmax(0,.75fr) minmax(0,2fr) minmax(0,1.05fr);align-items:stretch;}
.booth .a-queue{display:block;}
.booth .a-lane{display:none;}
.booth .a-q{display:flex;flex-direction:column;gap:.8vh;}
.booth .a-q .q{opacity:.5;transition:opacity .3s,transform .3s;}
.booth .a-q .q.now{opacity:1;transform:translateX(8px);}
.booth .a-q .q.now .flow-card{box-shadow:0 0 0 2px var(--ai-d),0 0 20px rgba(255,122,184,.4);}
.booth .a-term{min-height:0;}
.booth .a-body{flex:1;min-height:0;}
.booth .a-log{height:auto;flex:0 0 28%;font-size:clamp(11px,.72vw,15px);}
.booth .a-codewrap{flex:1;min-height:0;display:flex;}
.booth .a-code{height:auto;flex:1;}
.booth .a-head .a-name{font-size:clamp(13px,.95vw,20px);}
.booth .a-head .a-desc{font-size:clamp(11px,.75vw,15px);}
.booth .ctr b{font-size:clamp(20px,1.7vw,36px);}
.booth .ctr span{font-size:clamp(10px,.68vw,14px);}
.booth .a-feed .fr{grid-template-columns:auto minmax(0,1fr);}
.booth .a-feed .fr .src,.booth .a-feed .fr-arrow{display:none;}
.booth .fr:nth-child(n+5){display:grid;}
.booth .fr:nth-child(n+13){display:none;}
.booth .cB{height:100%;display:flex;flex-direction:column;padding:1.6vh 1.4vw;}
.booth .b-top .ctrs{min-width:40%;}
.booth .b-stage{flex:1;display:grid;grid-template-columns:minmax(0,1.25fr) 6vw minmax(0,1fr);gap:0;min-height:0;}
.booth .b-mid{flex-direction:column;font-size:clamp(10px,.65vw,13px);}
.booth .b-mid i{transform:none;width:clamp(30px,2.2vw,46px);height:clamp(30px,2.2vw,46px);}
.booth .b-grid{min-height:0 !important;gap:.8vw;}
.booth .b-col{gap:1.8vh;}
.booth .b-col-l{font-size:clamp(10px,.68vw,14px);margin-bottom:.4vh;}
.booth .ln-node{padding:1.3vh .7vw;gap:.6vh;}
.booth .ln-node .flow-name{font-size:clamp(11px,.8vw,17px);}
.booth .ln-node .flow-tag{font-size:clamp(10px,.66vw,14px);padding:1px 8px;}
.booth .b-mod{font-size:clamp(12px,.85vw,17px);}
.booth .b-cap{min-height:12vh;}
.booth .b-cap-why{font-size:clamp(12px,.85vw,17px);}
.booth .b-cap-row .flow-name{font-size:clamp(12px,.85vw,17px);}
.booth .flow-col-label{font-size:clamp(12px,.85vw,17px);}
.booth .cC{height:100%;}
.booth .c-head{min-height:0;}
.booth .c-head b{font-size:clamp(14px,1.05vw,22px);}
.booth .c-desc{font-size:clamp(12px,.85vw,17px);}
.booth .c-mod{font-size:clamp(11px,.7vw,14px);}
.booth .c-grid{flex:1;min-height:0;grid-template-columns:minmax(0,1fr) 3vw minmax(0,.78fr) 3vw minmax(0,1.2fr);align-items:stretch;}
.booth .beam{height:auto;}
.booth .beam::before{left:0;right:0;top:50%;bottom:auto;width:auto;height:2px;transform:translateY(-50%);}
.booth .beam.on::after{left:0;right:0;top:50%;bottom:auto;width:auto;height:4px;transform:translateY(-50%);background:linear-gradient(90deg,transparent,#ff7ab8,transparent);background-size:14px 100%;animation:beamh .5s linear infinite;}
.booth .c-src,.booth .c-out{min-height:0;}
.booth .c-src .code,.booth .c-out .code{height:auto;flex:1;font-size:clamp(13px,.92vw,19px);padding:1.6vh 1vw;}
.booth .c-step{grid-template-columns:max(26px,2vw) 1fr;gap:.8vw;}
.booth .c-step .c-n{width:max(26px,2vw);height:max(26px,2vw);font-size:clamp(11px,.75vw,15px);}
.booth .c-step b{font-size:clamp(13px,.95vw,19px);}
.booth .c-step div span,.booth .c-verdict p,.booth .checks li{font-size:clamp(12px,.8vw,16px);}
.booth .c-dec{gap:1.6vh;}
.booth .c-verdict:not(:empty){padding:1.6vh 1vw;}
.booth .v-h{font-size:clamp(14px,1vw,20px);}
.booth .c-dots i{width:1.6vw;height:6px;}
.booth .c-dots i.on{width:2.8vw;}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation:none !important;transition:none !important;}
}
