/* NSolutions: dark graphite, violet → cyan signal, sharp and quiet */
:root{
  --bg:#06070b;--bg2:#0b0d14;--card:#0f121b;--card2:#141826;--line:#1e2333;--line2:#2a3046;
  --ink:#eef1f8;--ink2:#c3c9d8;--mute:#8a92a8;
  --v:#8b5cf6;--c:#22d3ee;--grad:linear-gradient(100deg,#8b5cf6 0%,#5b8cff 48%,#22d3ee 100%);
  --ok:#34d399;--r:16px;--max:1180px
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--ink);font:400 16px/1.6 Inter,system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit}
img,svg{display:block}
h1,h2,h3{font-family:"Space Grotesk",Inter,system-ui,sans-serif;font-weight:600;letter-spacing:-.02em;line-height:1.1}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
@media (max-width:600px){.wrap{padding:0 16px}}
.grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.kick{display:inline-flex;align-items:center;gap:8px;font:600 12px/1 "Space Grotesk",Inter,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--c)}
.kick::before{content:"";width:18px;height:1px;background:var(--grad)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;padding:0 22px;border-radius:12px;font:600 15px/1 Inter,sans-serif;text-decoration:none;border:1px solid var(--line2);color:var(--ink);background:transparent;transition:border-color .2s,background .2s,transform .2s;cursor:pointer}
.btn:hover{border-color:var(--c)}
.btn.pri{border:0;color:#fff;background:var(--grad);box-shadow:0 8px 30px -10px rgba(91,140,255,.65)}
.btn.pri:hover{transform:translateY(-1px)}
.btn svg{width:16px;height:16px}

/* header */
.top{position:sticky;top:0;z-index:50;background:rgba(6,7,11,.72);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid transparent;transition:border-color .2s}
.top.sc{border-color:var(--line)}
.top .wrap{display:flex;align-items:center;gap:28px;height:68px}
.logo{display:flex;align-items:center;gap:7px;text-decoration:none;font:600 19px/1 "Space Grotesk",sans-serif;letter-spacing:-.01em}
.logo svg{width:30px;height:30px}
.logo .wm{color:var(--ink);font-weight:500;letter-spacing:-.01em}
.nav{display:flex;gap:24px;margin-left:auto}
.nav a{color:var(--ink2);text-decoration:none;font-size:14.5px}.nav a:hover{color:var(--ink)}
.top .btn{height:40px;padding:0 16px;font-size:14px}
@media (max-width:820px){.nav{display:none}.top .btn{margin-left:auto}}

/* hero */
.hero{position:relative;padding:96px 0 84px;overflow:hidden}
.hero canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.55;pointer-events:none}
.hero::after{content:"";position:absolute;inset:auto 0 0 0;height:160px;background:linear-gradient(transparent,var(--bg));pointer-events:none}
.hero .wrap{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.hero h1{font-size:clamp(40px,6vw,68px);margin:18px 0 20px}
.hero p.lead{font-size:clamp(17px,1.6vw,19px);color:var(--ink2);max-width:540px}
.hero .cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}
.trust{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:30px;color:var(--mute);font-size:14px}
.trust span{display:inline-flex;align-items:center;gap:8px}.trust i{width:6px;height:6px;border-radius:50%;background:var(--grad)}
@media (max-width:960px){.hero{padding:64px 0 56px}.hero .wrap{grid-template-columns:1fr;gap:44px}}

/* product mock: an order and the kitchen slip it becomes */
.mock{position:relative;min-height:440px}
.pane{position:absolute;background:linear-gradient(180deg,var(--card2),var(--card));border:1px solid var(--line2);border-radius:18px;box-shadow:0 30px 80px -30px rgba(0,0,0,.8),0 0 0 1px rgba(139,92,246,.06)}
.pane.a{left:0;top:10px;width:76%;padding:18px}
.pane.b{right:0;bottom:0;width:58%;padding:0;overflow:hidden;background:#fffdf7;color:#141210;border:0}
.pane h4{font:600 12px/1 "Space Grotesk",sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);display:flex;justify-content:space-between;margin-bottom:14px}
.pane h4 em{font-style:normal;color:var(--ok)}
.ord{display:grid;gap:10px}
.ord .row{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,.03);border:1px solid var(--line)}
.ord .row b{font-weight:600}.ord .row small{display:block;color:var(--mute);font-size:12.5px;margin-top:2px}
.ord .row .st{font-size:12px;font-weight:600;padding:4px 9px;border-radius:999px;background:rgba(34,211,238,.12);color:var(--c)}
.ord .row .st.n{background:rgba(139,92,246,.16);color:#c4b5fd}
.ord .tot{display:flex;justify-content:space-between;padding:4px 4px 0;color:var(--ink2);font-size:14px}
.slip::before{content:"";display:block;height:6px;background:#e3a43a}
.slip{padding-bottom:14px;-webkit-mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) 50%/14px 100%;mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) 50%/14px 100%}
.slip .h{display:flex;justify-content:space-between;align-items:baseline;padding:10px 14px 4px}
.slip .h b{font:700 24px/1 "Space Grotesk",sans-serif}.slip .h span{font-weight:700;font-size:13px}
.slip .ty{padding:0 14px 8px;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#666}
.slip .it{margin:0 14px;padding:8px 0;border-top:2px dashed #c9c2b4;font-size:14px;line-height:1.4}
.slip .it b{text-transform:uppercase}.slip .it small{display:block;color:#555}.slip .it .no{color:#c5221f;font-weight:700}
@media (max-width:960px){.mock{min-height:400px}}
@media (max-width:620px){.mock{min-height:0}.pane{position:relative}.pane.a{width:100%;top:0}.pane.b{width:78%;margin:-36px 0 0 auto;right:auto;bottom:auto}}

/* sections */
section.s{padding:96px 0;border-top:1px solid var(--line)}
@media (max-width:700px){section.s{padding:68px 0}}
.sh{max-width:680px;margin-bottom:48px}
.sh h2{font-size:clamp(30px,4vw,44px);margin:14px 0 14px}
.sh p{color:var(--ink2);font-size:17px}

.feats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media (max-width:960px){.feats{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.feats{grid-template-columns:1fr}}
.f{position:relative;padding:24px;border-radius:var(--r);background:var(--card);border:1px solid var(--line);transition:border-color .25s,transform .25s}
.f:hover{border-color:var(--line2);transform:translateY(-2px)}
.f .ic{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(139,92,246,.18),rgba(34,211,238,.12));border:1px solid rgba(139,92,246,.25);margin-bottom:16px}
.f .ic svg{width:21px;height:21px;color:#c4d4ff}
.f h3{font-size:19px;margin-bottom:8px}
.f p{color:var(--ink2);font-size:15px}

.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;counter-reset:st}
@media (max-width:860px){.steps{grid-template-columns:1fr}}
.step{padding:26px;border-radius:var(--r);border:1px solid var(--line);background:linear-gradient(180deg,var(--bg2),var(--bg))}
.step::before{counter-increment:st;content:"0" counter(st);display:block;font:600 14px/1 "Space Grotesk",sans-serif;letter-spacing:.1em;margin-bottom:18px;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.step h3{font-size:20px;margin-bottom:8px}.step p{color:var(--ink2);font-size:15px}

/* price */
.price{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:stretch}
@media (max-width:860px){.price{grid-template-columns:1fr}}
.plan{position:relative;padding:32px;border-radius:20px;background:var(--card);border:1px solid var(--line2);overflow:hidden}
.plan::before{content:"";position:absolute;inset:0;border-radius:20px;padding:1px;background:var(--grad);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.7;pointer-events:none}
.plan .amt{display:flex;align-items:baseline;gap:8px;margin:14px 0 4px}
.plan .amt b{font:600 56px/1 "Space Grotesk",sans-serif;letter-spacing:-.03em}
.plan .amt span{color:var(--mute)}
.plan .setup{color:var(--ink2);font-size:15px}
.plan ul{list-style:none;margin:24px 0 28px;display:grid;gap:10px}
.plan li{display:flex;gap:10px;color:var(--ink2);font-size:15px}
.plan li svg{flex:none;width:18px;height:18px;color:var(--ok);margin-top:3px}
.plan .fine{margin-top:16px;color:var(--mute);font-size:13px}
.side{padding:32px;border-radius:20px;border:1px solid var(--line);background:var(--bg2);display:grid;gap:22px;align-content:start}
.side h3{font-size:20px;margin-bottom:6px}.side p{color:var(--ink2);font-size:15px}

/* faq */
.faq{display:grid;gap:10px;max-width:860px}
.faq details{border:1px solid var(--line);border-radius:14px;background:var(--card);padding:0 20px}
.faq summary{cursor:pointer;list-style:none;padding:18px 0;font-weight:600;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--c);font-weight:400;font-size:22px;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq details p{padding:0 0 18px;color:var(--ink2);font-size:15px}

/* contact */
.contact{display:grid;grid-template-columns:1.2fr 1fr;gap:16px}
@media (max-width:860px){.contact{grid-template-columns:1fr}}
.cbox{padding:32px;border-radius:20px;border:1px solid var(--line2);background:radial-gradient(120% 140% at 0% 0%,rgba(139,92,246,.16),transparent 55%),radial-gradient(120% 140% at 100% 100%,rgba(34,211,238,.12),transparent 55%),var(--card)}
.cbox h2{font-size:clamp(28px,3.4vw,38px);margin:12px 0 12px}.cbox p{color:var(--ink2)}
.cbox .cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.clist{padding:32px;border-radius:20px;border:1px solid var(--line);background:var(--bg2);display:grid;gap:16px;align-content:start}
.clist div small{display:block;color:var(--mute);font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:2px}
.clist a{text-decoration:none}.clist a:hover{color:var(--c)}

/* footer */
.foot{border-top:1px solid var(--line);padding:40px 0 48px;color:var(--mute);font-size:14px}
.foot .wrap{display:flex;flex-wrap:wrap;gap:20px 40px;justify-content:space-between}
.foot nav{display:flex;flex-wrap:wrap;gap:8px 22px}
.foot nav a{color:var(--ink2);text-decoration:none}.foot nav a:hover{color:var(--ink)}
.foot .legal{flex-basis:100%;font-size:13px;line-height:1.7}

/* legal pages */
.doc{padding:64px 0 96px}
.doc .wrap{max-width:820px}
.doc h1{font-size:clamp(32px,4.4vw,46px);margin:14px 0 10px}
.doc .meta{color:var(--mute);font-size:14px;margin-bottom:36px}
.doc .toc{border:1px solid var(--line);border-radius:14px;background:var(--card);padding:18px 22px;margin-bottom:40px;columns:2;gap:28px;font-size:14.5px}
.doc .toc a{display:block;color:var(--ink2);text-decoration:none;padding:3px 0;break-inside:avoid}.doc .toc a:hover{color:var(--c)}
@media (max-width:600px){.doc .toc{columns:1}}
.doc h2{font-size:21px;margin:40px 0 12px;scroll-margin-top:90px;display:flex;gap:12px;align-items:baseline}
.doc h2 span{font-size:13px;color:var(--c);font-weight:600;letter-spacing:.08em}
.doc p,.doc li{color:var(--ink2);font-size:15.5px}
.doc p+p{margin-top:10px}
.doc ul,.doc ol{padding-left:22px;display:grid;gap:6px;margin:10px 0}
.doc .box{border:1px solid var(--line2);border-radius:14px;background:var(--bg2);padding:18px 20px;margin:16px 0}
.doc .box p{color:var(--ink)}
.doc table{width:100%;border-collapse:collapse;margin:12px 0;font-size:14.5px}
.doc th,.doc td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);color:var(--ink2);vertical-align:top}
.doc th{color:var(--ink);font-weight:600}

/* reveal */
.rv{opacity:0;transform:translateY(14px);transition:opacity .7s ease,transform .7s ease}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}.f,.btn{transition:none}}
:focus-visible{outline:2px solid var(--c);outline-offset:3px;border-radius:6px}

/* payment methods strip */
.pays{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.pays span{font-size:12.5px;font-weight:600;padding:5px 10px;border-radius:8px;border:1px solid var(--line2);color:var(--ink2);background:rgba(255,255,255,.02)}
.pays span.opt{border-style:dashed;color:var(--mute)}

/* self-service */
.self{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
@media (max-width:900px){.self{grid-template-columns:1fr;gap:8px}}
.selfl{list-style:none;display:grid;gap:10px}
.selfl li{display:flex;gap:12px;padding:14px 16px;border-radius:14px;border:1px solid var(--line);background:var(--card);color:var(--ink2);font-size:15px}
.selfl li b{color:var(--ink);font-weight:600}
.selfl svg{flex:none;width:18px;height:18px;color:var(--c);margin-top:3px}

/* hero glow */
.hero::before{content:"";position:absolute;width:720px;height:720px;left:-220px;top:-260px;border-radius:50%;background:radial-gradient(closest-side,rgba(139,92,246,.22),transparent);filter:blur(10px);pointer-events:none;animation:drift 18s ease-in-out infinite alternate}
.hero .wrap::before{content:"";position:absolute;width:560px;height:560px;right:-200px;top:40px;border-radius:50%;background:radial-gradient(closest-side,rgba(34,211,238,.14),transparent);pointer-events:none;z-index:-1;animation:drift 22s ease-in-out infinite alternate-reverse}
@keyframes drift{to{transform:translate(80px,60px) scale(1.08)}}
/* pointer spotlight on cards */
.f,.step,.plan{background-image:radial-gradient(260px circle at var(--mx,-300px) var(--my,-300px),rgba(139,92,246,.10),transparent 70%)}
/* animated gradient line on the plan */
.plan::before{background:linear-gradient(100deg,#8b5cf6,#5b8cff,#22d3ee,#8b5cf6);background-size:300% 100%;animation:flow 8s linear infinite}
@keyframes flow{to{background-position:300% 0}}

/* ---------- demo ---------- */
.demo{background:radial-gradient(80% 60% at 50% 0%,rgba(91,140,255,.08),transparent 70%)}
.dm-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:22px}
.dm-tab{position:relative;overflow:hidden;text-align:left;padding:12px 14px 14px;border-radius:12px;border:1px solid var(--line);background:var(--card);color:var(--mute);font:600 14px/1.2 Inter,sans-serif;cursor:pointer;transition:color .2s,border-color .2s}
.dm-tab b{display:block;font:600 12px/1 "Space Grotesk",sans-serif;letter-spacing:.1em;margin-bottom:6px;color:var(--mute)}
.dm-tab.on{color:var(--ink);border-color:var(--line2)}.dm-tab.on b{color:var(--c)}.dm-tab.past{color:var(--ink2)}
.dm-tab i{position:absolute;left:0;bottom:0;height:2px;width:100%;background:var(--grad);transform:scaleX(0);transform-origin:left}
@media (max-width:700px){.dm-tabs{grid-template-columns:repeat(2,1fr)}}
.dm-stage{display:grid;grid-template-columns:230px 1fr 250px 230px;gap:16px;align-items:start}
@media (max-width:1180px){.dm-stage{grid-template-columns:repeat(2,minmax(0,1fr))}}
.dm-dev{position:relative;transition:opacity .5s,transform .5s,filter .5s;opacity:.42;filter:saturate(.6)}
.demo[data-step="1"] [data-p="1"],.demo[data-step="2"] [data-p="2"],.demo[data-step="3"] [data-p="3"],.demo[data-step="4"] [data-p="4"],.demo[data-step="2"] [data-p="4"]{opacity:1;filter:none}
.demo[data-step="1"] [data-p="1"],.demo[data-step="2"] [data-p="2"],.demo[data-step="3"] [data-p="3"],.demo[data-step="4"] [data-p="4"]{transform:translateY(-4px)}
@media (max-width:700px){.dm-stage{grid-template-columns:1fr}.demo .dm-stage>.dm-dev{display:none;opacity:1;filter:none;transform:none}.demo[data-step="1"] .dm-stage>[data-p="1"],.demo[data-step="3"] .dm-stage>[data-p="3"],.demo[data-step="4"] .dm-stage>[data-p="4"]{display:block}.demo[data-step="2"] .dm-stage>[data-p="2"]{display:grid}.dm-phone{max-width:300px;margin:0 auto}}
.dm-lbl{display:block;text-align:center;margin-top:10px;font-size:12.5px;color:var(--mute);letter-spacing:.04em}
/* phones */
.dm-phone{border-radius:30px;padding:10px;background:#0c0e15;border:1px solid var(--line2);box-shadow:0 30px 60px -30px rgba(0,0,0,.9)}
.dm-notch{width:70px;height:6px;border-radius:9px;background:#1b1f2c;margin:4px auto 8px}
.dm-scr{border-radius:22px;background:var(--bg2);min-height:380px;padding:14px;display:flex;flex-direction:column;gap:10px;overflow:hidden}
.dm-app b{display:block;font:600 16px/1.2 "Space Grotesk",sans-serif}.dm-app small{color:var(--mute);font-size:12px}
.dm-cart{list-style:none;display:grid;gap:8px}
.dm-cart li{display:flex;justify-content:space-between;gap:8px;padding:10px;border-radius:12px;background:rgba(255,255,255,.03);border:1px solid var(--line);font-size:13px;opacity:0;transform:translateX(-10px);transition:opacity .45s,transform .45s}
.dm-cart li.in{opacity:1;transform:none}.dm-cart li b{display:block;font-weight:600}.dm-cart li small{color:var(--mute);font-size:11.5px}.dm-cart em{font-style:normal;white-space:nowrap}
.dm-cart .dm-sum{background:none;border-style:dashed;color:var(--mute)}
.dm-chips{display:flex;gap:6px}.dm-chips span{font-size:11.5px;padding:5px 9px;border-radius:999px;border:1px solid var(--line2);color:var(--mute)}.dm-chips .on{color:#fff;background:var(--grad);border-color:transparent}
.dm-pay{margin-top:auto;height:44px;border-radius:12px;background:#000;border:1px solid #2b2b2b;color:#fff;display:grid;place-items:center;font-weight:600;font-size:14px;transition:transform .15s,background .3s}
.dm-pay.press{transform:scale(.96)}.dm-pay.ok{background:linear-gradient(90deg,#059669,#10b981);border-color:transparent}
.dm-methods{display:flex;flex-wrap:wrap;gap:4px;justify-content:center}.dm-methods span{font-size:10.5px;color:var(--mute);border:1px solid var(--line);border-radius:6px;padding:2px 6px}
/* admin */
.dm-admin{border-radius:18px;border:1px solid var(--line2);background:linear-gradient(180deg,var(--card2),var(--card));padding:14px;display:grid;gap:10px;min-height:250px;align-content:start}
.dm-bar{display:flex;align-items:center;gap:10px}.dm-bar b{font:600 15px/1 "Space Grotesk",sans-serif}.dm-open{font-size:12px;color:var(--ok);margin-left:auto}
.dm-bell{display:inline-block;transform-origin:50% 0}.dm-bell.ring{animation:ring .5s ease-in-out 4}
@keyframes ring{25%{transform:rotate(14deg)}75%{transform:rotate(-14deg)}}
.dm-ord{display:grid;grid-template-columns:1fr auto;gap:8px 10px;align-items:center;padding:12px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.03);font-size:13px}
.dm-ord b{display:block;font-weight:600}.dm-ord small{color:var(--mute);font-size:12px}
.dm-ord .st{font-size:11.5px;font-weight:600;padding:4px 9px;border-radius:999px;background:rgba(34,211,238,.12);color:var(--c);white-space:nowrap}.dm-ord .st.n{background:rgba(139,92,246,.18);color:#c4b5fd}
#dmNew{opacity:0;transform:translateY(-12px);transition:opacity .5s,transform .5s,border-color .5s,box-shadow .5s}
#dmNew.in{opacity:1;transform:none;border-color:rgba(139,92,246,.55);box-shadow:0 0 0 3px rgba(139,92,246,.12)}
#dmNew.ok{border-color:rgba(34,211,238,.4);box-shadow:none}
.dm-mins{grid-column:1/-1;display:flex;gap:6px}.dm-mins span{flex:1;text-align:center;padding:7px 0;border-radius:9px;background:rgba(52,211,153,.1);color:var(--ok);font-weight:600;font-size:12px;transition:transform .15s,background .3s}
#dmTime.press{transform:scale(.92);background:var(--ok);color:#06210f}
#dmNew.ok .dm-mins{display:none}
/* kitchen */
.dm-kds{border-radius:18px;padding:14px;background:#1e1b18;border:1px solid #2c2824;min-height:330px}
.dm-rdy{display:flex;gap:6px;align-items:center;margin-bottom:12px;font-size:11px;color:#7ee2a5}.dm-rdy b{margin-right:4px}
.dm-rdy span{padding:4px 8px;border-radius:8px;border:2px solid #3fbf73;background:#173d27;font-weight:800;font-size:12px}
#dmReady{opacity:0;transform:scale(.6);transition:opacity .4s,transform .4s}#dmReady.in{opacity:1;transform:none}
.dm-slip{background:#fffdf7;color:#141210;padding-bottom:12px;-webkit-mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) 50%/14px 100%;mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) 50%/14px 100%;opacity:0;transform:translateY(-16px);transition:opacity .5s,transform .5s}
.dm-slip::before{content:"";display:block;height:6px;background:#e3a43a}.dm-slip.in{opacity:1;transform:none}
.dm-slip.done{opacity:.35;transform:translateY(8px) scale(.97);transition-delay:.6s}
.dm-slip .h{display:flex;justify-content:space-between;align-items:baseline;padding:9px 12px 2px}.dm-slip .h b{font:700 20px/1 "Space Grotesk",sans-serif}.dm-slip .h span{font-size:12px;font-weight:700}
.dm-slip .ty{padding:0 12px 6px;font-size:10.5px;font-weight:600;text-transform:uppercase;color:#666}
.dm-slip .it{margin:0 12px;padding:7px 0;border-top:2px dashed #c9c2b4;font-size:12.5px;line-height:1.4}.dm-slip .it small{display:block;color:#555}.dm-slip .no{display:block;color:#c5221f;font-weight:700}
.dm-slip .ok{margin:6px 12px 0;padding:8px;border-radius:8px;background:#1e8e4a;color:#fff;text-align:center;font-weight:800;font-size:12.5px;opacity:0;transition:opacity .3s}
.dm-slip.done .ok{opacity:1;transition-delay:0s}
/* tracking */
.dm-steps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:4px;counter-reset:d}
.dm-steps li{font-size:9.5px;color:var(--mute);text-align:center;padding-top:10px;position:relative}
.dm-steps li::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;border-radius:4px;background:var(--line2);transition:background .5s}
.dm-trk[data-s="0"] .dm-steps li:nth-child(1)::before,.dm-trk[data-s="1"] .dm-steps li:nth-child(-n+2)::before,.dm-trk[data-s="2"] .dm-steps li:nth-child(-n+3)::before,.dm-trk[data-s="3"] .dm-steps li::before{background:var(--grad)}
.dm-map{position:relative;margin-top:auto;border-radius:14px;overflow:hidden;background:#0d1019;border:1px solid var(--line)}
.dm-map svg{width:100%;height:auto}
.dm-eta{position:absolute;left:8px;bottom:8px;font-size:11.5px;padding:4px 8px;border-radius:8px;background:rgba(6,7,11,.85);border:1px solid var(--line2);color:var(--ink2)}
.dm-trk[data-s="0"] .dm-map,.dm-trk[data-s="1"] .dm-map{opacity:.35}
.dm-note{margin-top:18px;color:var(--mute);font-size:13px;text-align:center}
.dm-note button{background:none;border:0;color:var(--c);font:inherit;cursor:pointer;margin-left:6px}

/* all features */
.all{margin-top:56px;padding:32px;border-radius:20px;border:1px solid var(--line);background:var(--bg2)}
.all h3{font-size:24px;margin-bottom:22px}
.allg{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
@media (max-width:1000px){.allg{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.allg{grid-template-columns:1fr}.all{padding:22px}}
.allg h4{font:600 13px/1 "Space Grotesk",sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--c);margin-bottom:12px}
.allg ul{list-style:none;display:grid;gap:9px}
.allg li{position:relative;padding-left:16px;color:var(--ink2);font-size:14.5px;line-height:1.45}
.allg li::before{content:"";position:absolute;left:0;top:.55em;width:6px;height:6px;border-radius:2px;background:var(--grad)}
@media (prefers-reduced-motion:reduce){.hero::before,.hero .wrap::before,.plan::before,.dm-bell.ring{animation:none}}

.contact.one{grid-template-columns:1fr}

/* ---------- home: the hub ---------- */
.orbit{position:relative;width:min(440px,100%);aspect-ratio:1;margin:0 auto;container-type:inline-size}
.orb-lines{position:absolute;inset:0;width:100%;height:100%}
.orb-lines .spokes path{stroke-dasharray:6 150;animation:pulse 3.2s linear infinite;opacity:.9}
.orb-lines .spokes path:nth-child(2){animation-delay:-.4s}.orb-lines .spokes path:nth-child(3){animation-delay:-.8s}.orb-lines .spokes path:nth-child(4){animation-delay:-1.2s}
.orb-lines .spokes path:nth-child(5){animation-delay:-1.6s}.orb-lines .spokes path:nth-child(6){animation-delay:-2s}.orb-lines .spokes path:nth-child(7){animation-delay:-2.4s}.orb-lines .spokes path:nth-child(8){animation-delay:-2.8s}
@keyframes pulse{from{stroke-dashoffset:156}to{stroke-dashoffset:0}}
.orbit .core{position:absolute;left:50%;top:50%;width:92px;height:92px;margin:-46px 0 0 -46px;border-radius:26px;display:grid;place-items:center;background:radial-gradient(circle at 30% 30%,#171b2b,#0a0c13);border:1px solid var(--line2);box-shadow:0 0 0 10px rgba(139,92,246,.05),0 0 60px rgba(91,140,255,.35)}
.orbit .core svg{width:56px;height:56px}
.orbit .nd{--r:37.5%;position:absolute;left:50%;top:50%;display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border-radius:999px;background:rgba(15,18,27,.92);border:1px solid var(--line2);font-size:12.5px;font-weight:600;color:var(--ink);white-space:nowrap;
  transform:translate(-50%,-50%) rotate(calc(var(--a) * 45deg - 90deg)) translate(37.5cqw) rotate(calc(90deg - var(--a) * 45deg));animation:bob 6s ease-in-out infinite;animation-delay:calc(var(--a) * -.7s)}
.orbit .nd svg{width:14px;height:14px;color:#c4d4ff}
@keyframes bob{50%{margin-top:-6px}}
@media (max-width:960px){.hub .wrap{grid-template-columns:1fr}.orbit{width:min(400px,100%)}}
@media (max-width:420px){.orbit .nd{font-size:11px;padding:5px 8px}.orbit .core{width:72px;height:72px;margin:-36px 0 0 -36px}.orbit .core svg{width:44px;height:44px}}
.feats.cap{grid-template-columns:repeat(4,1fr)}
@media (max-width:1100px){.feats.cap{grid-template-columns:repeat(3,1fr)}}
@media (max-width:860px){.feats.cap{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.feats.cap{grid-template-columns:1fr}}
.feats.cap .f h3{font-size:17.5px}.feats.cap .f p{font-size:14.5px}
/* cases */
.cases{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
@media (max-width:820px){.cases{grid-template-columns:1fr}}
.case{position:relative;display:flex;flex-direction:column;gap:12px;padding:30px;border-radius:20px;border:1px solid var(--line2);background:linear-gradient(180deg,var(--card2),var(--card));text-decoration:none;color:inherit;overflow:hidden;transition:border-color .25s,transform .25s}
.case::after{content:"";position:absolute;right:-80px;top:-80px;width:220px;height:220px;border-radius:50%;background:radial-gradient(closest-side,rgba(139,92,246,.18),transparent);pointer-events:none}
a.case:hover,.case:hover{border-color:rgba(139,92,246,.5);transform:translateY(-2px)}
.case .tag{align-self:flex-start;font:600 11.5px/1 "Space Grotesk",sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--c);padding:6px 10px;border-radius:999px;border:1px solid rgba(34,211,238,.3);background:rgba(34,211,238,.06)}
.case h3{font-size:23px}.case p{color:var(--ink2);font-size:15px;flex:1}
.case .more{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--ink);text-decoration:none}.case .more svg{width:16px;height:16px;transition:transform .2s}.case:hover .more svg{transform:translateX(3px)}
.case.alt{background:radial-gradient(120% 140% at 0% 0%,rgba(139,92,246,.16),transparent 55%),radial-gradient(120% 140% at 100% 100%,rgba(34,211,238,.12),transparent 55%),var(--card)}
/* why + flow */
.steps.why{grid-template-columns:repeat(3,1fr)}.steps.why .step::before{display:none}
@media (max-width:860px){.steps.why{grid-template-columns:1fr}}
.flow{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;position:relative}
.flow::before{content:"";position:absolute;left:4%;right:4%;top:22px;height:1px;background:linear-gradient(90deg,transparent,#5b8cff,transparent)}
.fl{position:relative;padding:0 6px}
.fl b{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:var(--bg);border:1px solid var(--line2);font:600 14px/1 "Space Grotesk",sans-serif;margin-bottom:16px;position:relative;box-shadow:0 0 24px rgba(91,140,255,.25)}
.fl h3{font-size:19px;margin-bottom:6px}.fl p{color:var(--ink2);font-size:15px}
@media (max-width:860px){.flow{grid-template-columns:1fr 1fr;gap:28px}.flow::before{display:none}}
@media (max-width:520px){.flow{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.orb-lines .spokes path,.orbit .nd{animation:none}}

/* platform strip */
.tech{margin-top:16px;display:grid;grid-template-columns:1fr 1.2fr;gap:28px;align-items:center;padding:30px;border-radius:20px;border:1px solid var(--line2);background:radial-gradient(90% 120% at 0% 0%,rgba(139,92,246,.14),transparent 60%),var(--bg2)}
.tech h3{font-size:24px;margin:12px 0 8px}.tech p{color:var(--ink2);font-size:15px}
.tech ul{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.tech li{padding:14px;border-radius:14px;border:1px solid var(--line);background:var(--card)}
.tech li b{display:block;font-size:14.5px}.tech li span{color:var(--mute);font-size:13px}
@media (max-width:900px){.tech{grid-template-columns:1fr}.tech ul{grid-template-columns:repeat(2,1fr)}}

.from{width:100%;border-collapse:collapse;margin-top:10px;font-size:14.5px}.from td{padding:9px 0;border-bottom:1px solid var(--line);color:var(--ink2)}.from td:last-child{text-align:right;white-space:nowrap;color:var(--ink)}.from tr:last-child td{border-bottom:0}
