/* =====================================================================
   HyperHive — premium dark (Linear/Stripe-grade). Mobile-first.
   ===================================================================== */
:root{
  --bg:        oklch(0.155 0.006 80);
  --bg-2:      oklch(0.185 0.007 80);
  --elev:      oklch(0.215 0.008 80);
  --text:      oklch(0.975 0.004 85);
  --muted:     oklch(0.74 0.012 82);
  --faint:     oklch(0.58 0.012 82);
  --amber:     oklch(0.83 0.15 78);
  --amber-2:   oklch(0.76 0.165 52);
  --amber-soft: oklch(0.83 0.15 78 / 0.14);
  --bd:        oklch(1 0 0 / 0.09);
  --bd-strong: oklch(1 0 0 / 0.16);
  --hi:        oklch(1 0 0 / 0.06);
  --r:   18px;
  --r-sm: 12px;
  --mx: 1180px;
  --gut: 20px;
  --font: 'Onest', system-ui, sans-serif;
  --mono: 'JetBrains Mono', monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  background:var(--bg);color:var(--text);
  font-family:var(--font);font-weight:400;line-height:1.55;font-size:16px;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;position:relative;
  letter-spacing:-0.011em;overflow-anchor:none;
}
/* grain */
body::after{
  content:"";position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.035;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
::selection{background:var(--amber);color:oklch(0.18 0.02 70)}
h1,h2,h3,h4{font-weight:600;line-height:1.06;letter-spacing:-0.03em;text-wrap:balance}
p{text-wrap:pretty}
.wrap{width:100%;max-width:var(--mx);margin:0 auto;padding:0 var(--gut)}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:12.5px;font-weight:500;color:var(--muted);letter-spacing:0.01em;
  padding:6px 12px 6px 10px;border:1px solid var(--bd);border-radius:999px;
  background:linear-gradient(180deg,var(--hi),transparent);
}
.eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--amber);
  box-shadow:0 0 8px 1px var(--amber);flex-shrink:0}
.grad{
  background:linear-gradient(105deg,var(--amber),var(--amber-2));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hexmark{width:26px;height:30px;flex-shrink:0;display:grid;place-items:center;
  background:linear-gradient(150deg,var(--amber),var(--amber-2));
  clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}
.hexmark::after{content:"";width:9px;height:10px;background:var(--bg);
  clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}

/* buttons */
.btn{
  font-family:var(--font);font-weight:500;font-size:15px;letter-spacing:-0.01em;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:0 20px;height:46px;border-radius:11px;cursor:pointer;border:1px solid transparent;
  transition:transform .18s ease, box-shadow .25s ease, background .2s, border-color .2s;white-space:nowrap;
}
.btn .ar{transition:transform .2s}
.btn:hover .ar{transform:translateX(3px)}
.btn-primary{
  background:linear-gradient(180deg,oklch(0.91 0.18 102),oklch(0.84 0.2 98));
  color:oklch(0.24 0.04 90);
  box-shadow:0 1px 0 oklch(1 0 0 /.45) inset, 0 6px 22px -6px oklch(0.88 0.19 100);
}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 1px 0 oklch(1 0 0 /.55) inset,0 12px 30px -6px oklch(0.88 0.19 100)}
.btn-ghost{background:var(--hi);color:var(--text);border-color:var(--bd)}
.btn-ghost:hover{border-color:var(--bd-strong);background:oklch(1 0 0 /.1)}
.btn svg{width:18px;height:18px;flex-shrink:0}
.progress{position:fixed;top:0;left:0;height:2px;width:0;z-index:100;background:linear-gradient(90deg,var(--amber),var(--amber-2));box-shadow:0 0 10px var(--amber);transition:width .1s linear}

/* ambient animated background */
.bg-fx{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.bg-fx .blob{position:absolute;border-radius:50%;filter:blur(70px)}
.bg-fx .b1{width:520px;height:520px;left:-130px;top:-90px;background:radial-gradient(circle,oklch(0.83 0.15 78 /.16),transparent 70%);animation:blobA 19s ease-in-out infinite}
.bg-fx .b2{width:620px;height:620px;right:-180px;top:36%;background:radial-gradient(circle,oklch(0.76 0.165 52 /.13),transparent 70%);animation:blobB 24s ease-in-out infinite}
.bg-fx .b3{width:460px;height:460px;left:28%;bottom:-180px;background:radial-gradient(circle,oklch(0.83 0.15 78 /.10),transparent 70%);animation:blobA 22s ease-in-out infinite reverse}
.bg-fx .hex{position:absolute;background:oklch(0.83 0.15 78 /.09);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);animation-name:floaty;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate}
.bg-fx .tok{position:absolute;font-family:var(--mono);font-weight:500;font-size:15px;color:oklch(0.83 0.15 78 /.18);animation-name:floatyT;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate}
.bg-grid{position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.5;
  background-image:linear-gradient(var(--bd) 1px,transparent 1px),linear-gradient(90deg,var(--bd) 1px,transparent 1px);
  background-size:50px 50px;
  -webkit-mask-image:radial-gradient(125% 90% at 50% 0%,#000 30%,transparent 78%);
          mask-image:radial-gradient(125% 90% at 50% 0%,#000 30%,transparent 78%);
  animation:gridpan 14s linear infinite}
@keyframes gridpan{to{background-position:50px 50px}}
@keyframes blobA{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(60px,40px) scale(1.12)}}
@keyframes blobB{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-50px,-40px) scale(1.1)}}
@keyframes floaty{from{transform:translateY(22px) rotate(0deg)}to{transform:translateY(-78px) rotate(55deg)}}
@keyframes floatyT{from{transform:translateY(26px) rotate(-8deg)}to{transform:translateY(-72px) rotate(8deg)}}

/* social icons in footer + floating WhatsApp */
.fcol a.ic{display:flex;align-items:center;gap:9px}
.fcol a.ic svg{width:17px;height:17px;opacity:.85;flex-shrink:0}
.wa-float{
  position:fixed;right:18px;bottom:18px;z-index:95;
  width:56px;height:56px;border-radius:50%;display:grid;place-items:center;
  background:#25D366;color:#fff;
  box-shadow:0 10px 26px -8px rgba(0,0,0,.6);
  transition:transform .2s ease;animation:wapulse 2.8s ease-out infinite}
.wa-float:hover{transform:scale(1.07)}
.wa-float svg{width:30px;height:30px}
@keyframes wapulse{
  0%{box-shadow:0 10px 26px -8px rgba(0,0,0,.6),0 0 0 0 rgba(37,211,102,.5)}
  70%{box-shadow:0 10px 26px -8px rgba(0,0,0,.6),0 0 0 15px rgba(37,211,102,0)}
  100%{box-shadow:0 10px 26px -8px rgba(0,0,0,.6),0 0 0 0 rgba(37,211,102,0)}}

/* ---------- NAV ---------- */
.nav{position:sticky;top:0;z-index:90;border-bottom:1px solid transparent;transition:border-color .3s,background .3s}
.nav.scrolled{background:oklch(0.155 0.006 80 / 0.72);backdrop-filter:blur(16px) saturate(1.4);border-bottom:1px solid var(--bd)}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:60px}
.brand{display:flex;align-items:center;gap:10px;font-weight:600;font-size:18.5px;letter-spacing:-0.03em}
.brand .word{white-space:nowrap;background:linear-gradient(105deg,var(--amber),var(--amber-2));-webkit-background-clip:text;background-clip:text;color:transparent}
.logo-mark{width:26px;height:30px;flex-shrink:0;display:block}
.brand b{font-weight:600}
.nav-links{display:none}
.nav-right{display:flex;align-items:center;gap:12px}
.nav-cta{display:none}
.burger{display:grid;place-items:center;width:42px;height:42px;margin-right:-8px;background:none;border:none;cursor:pointer;color:var(--text)}
.burger svg{width:22px;height:22px}

.mmenu{position:fixed;inset:60px 0 0;z-index:80;background:oklch(0.155 0.006 80 /.97);backdrop-filter:blur(18px);
  display:flex;flex-direction:column;padding:18px var(--gut) 28px;gap:2px;
  opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .25s,transform .25s,visibility .25s}
.mmenu.open{opacity:1;visibility:visible;transform:none}
.mmenu a{font-size:24px;font-weight:500;letter-spacing:-0.02em;padding:15px 4px;border-bottom:1px solid var(--bd);color:var(--text)}
.mmenu .btn{margin-top:22px;height:52px;font-size:16px}

/* ---------- HERO ---------- */
.hero{position:relative;padding:64px 0 60px;text-align:center;overflow:hidden}
.hero-glow{position:absolute;left:50%;top:-160px;transform:translateX(-50%);width:min(1100px,140vw);height:620px;z-index:-1;
  background:
    radial-gradient(46% 50% at 50% 32%, oklch(0.83 0.15 78 /.22), transparent 70%),
    radial-gradient(38% 44% at 30% 12%, oklch(0.76 0.165 52 /.16), transparent 70%);
  filter:blur(20px);animation:drift 16s ease-in-out infinite alternate}
@keyframes drift{to{transform:translateX(-50%) translateY(26px) scale(1.06)}}
.hero-grid-bg{position:absolute;inset:0;z-index:-2;opacity:.5;
  -webkit-mask-image:radial-gradient(70% 55% at 50% 30%,#000,transparent 80%);
          mask-image:radial-gradient(70% 55% at 50% 30%,#000,transparent 80%);
  background-image:linear-gradient(var(--bd) 1px,transparent 1px),linear-gradient(90deg,var(--bd) 1px,transparent 1px);
  background-size:54px 54px}
.hero .eyebrow{margin-bottom:22px}
.hero h1{font-size:clamp(52px,13.5vw,88px);font-weight:600;letter-spacing:-0.04em;max-width:15ch;margin:0 auto}
.hero .lead{font-size:clamp(19px,4.5vw,23px);color:var(--muted);max-width:56ch;margin:24px auto 34px;line-height:1.5;text-wrap:balance}
.hero-actions{display:flex;flex-direction:column;gap:11px;align-items:stretch;max-width:300px;margin:0 auto}

/* product panel mock */
.panel-wrap{position:relative;margin:54px auto 0;max-width:920px;perspective:1600px}
.panel-wrap::before{content:"";position:absolute;inset:-1px -1px auto;height:60%;border-radius:var(--r);
  background:linear-gradient(180deg,oklch(1 0 0 /.12),transparent);z-index:0;pointer-events:none}
.panel{position:relative;z-index:1;border:1px solid var(--bd);border-radius:var(--r);overflow:hidden;
  background:linear-gradient(180deg,var(--bg-2),var(--bg));
  box-shadow:0 1px 0 var(--hi) inset, 0 40px 80px -30px oklch(0 0 0 /.7);text-align:left}
.panel-bar{display:flex;align-items:center;gap:10px;padding:13px 16px;border-bottom:1px solid var(--bd);background:oklch(1 0 0 /.02)}
.dots{display:flex;gap:6px}
.dots i{width:10px;height:10px;border-radius:50%;background:var(--bd-strong)}
.panel-bar .pt{font-family:var(--mono);font-size:11.5px;color:var(--faint);margin-left:6px}
.panel-body{display:grid;grid-template-columns:1fr;gap:0}
.panel-side{display:none}
.panel-main{padding:16px}
.panel-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.panel-h h4{font-size:15px;font-weight:600;letter-spacing:-0.02em}
.panel-h .tag{font-family:var(--mono);font-size:10.5px;color:var(--amber);border:1px solid var(--amber-soft);background:var(--amber-soft);padding:3px 8px;border-radius:999px}
.task{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:12px 0;border-top:1px solid var(--bd)}
.task .st{width:9px;height:9px;border-radius:50%;flex-shrink:0}
.task .st.run{background:var(--amber);box-shadow:0 0 9px 1px var(--amber);animation:blink 1.6s ease-in-out infinite}
.task .st.ok{background:oklch(0.78 0.13 150)}
.task .st.idle{background:var(--bd-strong)}
@keyframes blink{50%{opacity:.4}}
.task .tl{font-size:13.5px}
.task .tl .sub{display:block;color:var(--faint);font-size:11.5px;margin-top:2px}
.task .bar{width:64px;height:5px;border-radius:99px;background:oklch(1 0 0 /.08);overflow:hidden}
.task .bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--amber-2),var(--amber))}
.task .pct{font-family:var(--mono);font-size:11px;color:var(--faint);min-width:34px;text-align:right}

/* ---------- LOGO / TECH STRIP ---------- */
.strip{padding:18px 0 6px}
.strip p{text-align:center;font-size:12px;color:var(--faint);letter-spacing:0.04em;text-transform:uppercase;margin-bottom:20px}
.strip-row{display:flex;flex-wrap:wrap;gap:14px 26px;justify-content:center;align-items:center}
.strip-row span{font-size:15px;font-weight:500;color:var(--muted);opacity:.85}

/* ---------- SECTION ---------- */
.section{padding:68px 0;position:relative}
.shead{max-width:640px;margin:0 auto 40px;text-align:center}
.shead .kick{font-size:12.5px;font-weight:600;color:var(--amber);letter-spacing:0.04em;text-transform:uppercase;margin-bottom:14px;display:block}
.shead h2{font-size:clamp(28px,5.6vw,44px);font-weight:600}
.shead p{color:var(--muted);font-size:16.5px;margin-top:15px;line-height:1.5}

/* ---------- BENTO SERVICES ---------- */
.bento{display:grid;grid-template-columns:1fr;gap:14px}
.card{
  position:relative;border:1px solid var(--bd);border-radius:var(--r);padding:24px;
  background:linear-gradient(180deg,oklch(1 0 0 /.035),oklch(1 0 0 /.012));
  box-shadow:0 1px 0 var(--hi) inset;overflow:hidden;
  transition:border-color .3s, transform .3s, box-shadow .3s;
}
.card>*{position:relative;z-index:1}
.card::before{content:"";position:absolute;inset:0;z-index:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .35s;
  background:radial-gradient(240px circle at var(--mx,50%) var(--my,50%),oklch(0.83 0.15 78 /.14),transparent 55%)}
.card:hover{border-color:var(--bd-strong);transform:translateY(-3px);box-shadow:0 1px 0 var(--hi) inset,0 18px 40px -24px oklch(0 0 0 /.8)}
.card:hover::before{opacity:1}
.card .ico{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;margin-bottom:16px;
  background:linear-gradient(160deg,var(--amber-soft),transparent);border:1px solid var(--bd)}
.card .ico svg{width:21px;height:21px;color:var(--amber)}
.card h3{font-size:19px;font-weight:600;margin-bottom:8px;letter-spacing:-0.02em}
.card p{color:var(--muted);font-size:14.5px;line-height:1.5}
.card.feat{padding:26px}
.card.feat h3{font-size:22px}
.card.feat .fbadge{font-family:var(--mono);font-size:10.5px;color:var(--amber);text-transform:uppercase;letter-spacing:.08em;margin-bottom:14px;display:inline-block}
.mini{display:flex;gap:8px;margin-top:20px;flex-wrap:wrap}
.mini span{font-family:var(--mono);font-size:11.5px;color:var(--muted);padding:6px 10px;border:1px solid var(--bd);border-radius:8px;background:oklch(1 0 0 /.02)}

/* ---------- PROCESS ---------- */
.proc{display:grid;grid-template-columns:1fr;gap:14px;counter-reset:s}
.pcard{position:relative;overflow:hidden;border:1px solid var(--bd);border-radius:var(--r-sm);padding:22px;background:linear-gradient(180deg,oklch(1 0 0 /.025),transparent);transition:border-color .3s,transform .3s}
.pcard:hover{border-color:var(--bd-strong);transform:translateY(-3px)}
.pcard>*{position:relative;z-index:1}
.pcard::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:0;transition:opacity .35s;
  background:radial-gradient(220px circle at var(--mx,50%) var(--my,50%),oklch(0.83 0.15 78 /.12),transparent 55%)}
.pcard:hover::before{opacity:1}
.pcard .pn{font-family:var(--mono);font-size:12px;color:var(--amber);display:block;margin-bottom:12px}
.pcard h3{font-size:18px;font-weight:600;margin-bottom:7px;letter-spacing:-0.02em}
.pcard p{color:var(--muted);font-size:14px;line-height:1.5}

/* ---------- CTA ---------- */
.cta-sec{padding:30px 0 80px}
.cta{position:relative;overflow:hidden;border-radius:26px;border:1px solid var(--bd);text-align:center;
  padding:54px 26px;background:linear-gradient(180deg,var(--bg-2),var(--bg))}
.cta::before{content:"";position:absolute;left:50%;top:-40%;transform:translateX(-50%);width:120%;height:120%;z-index:0;
  background:radial-gradient(40% 40% at 50% 30%,var(--amber-soft),transparent 70%)}
.cta-in{position:relative;z-index:1}
.cta h2{font-size:clamp(30px,7vw,52px);font-weight:600;max-width:18ch;margin:0 auto}
.cta p{color:var(--muted);font-size:17px;margin:16px auto 30px;max-width:46ch}
.cta-actions{display:flex;flex-direction:column;gap:11px;max-width:300px;margin:0 auto;align-items:stretch}

/* ---------- FOOTER ---------- */
footer{border-top:1px solid var(--bd);padding:44px 0 34px}
.foot-grid{display:grid;grid-template-columns:1fr;gap:30px;margin-bottom:36px}
.foot-brand p{color:var(--muted);font-size:14.5px;max-width:34ch;margin-top:15px;line-height:1.55}
.fcol h5{font-size:13px;font-weight:600;color:var(--text);margin-bottom:15px}
.fcol a{display:block;color:var(--muted);font-size:14.5px;margin-bottom:11px;transition:color .15s}
.fcol a:hover{color:var(--amber)}
.foot-bottom{display:flex;flex-direction:column;gap:10px;padding-top:24px;border-top:1px solid var(--bd)}
.foot-bottom span{color:var(--faint);font-size:13px}

/* chat demo */
.chat{max-width:760px;margin:0 auto;border:1px solid var(--bd);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;height:480px;
  background:linear-gradient(180deg,var(--bg-2),var(--bg));box-shadow:0 1px 0 var(--hi) inset,0 30px 70px -36px oklch(0 0 0 /.8)}
.chat-bar{display:flex;align-items:center;gap:11px;padding:13px 16px;border-bottom:1px solid var(--bd);background:oklch(1 0 0 /.02);flex-shrink:0}
.chat-bar .ava{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;flex-shrink:0;background:linear-gradient(150deg,var(--amber),var(--amber-2));color:var(--bg);font-size:15px}
.chat-bar>div{display:flex;flex-direction:column;gap:1px;line-height:1.25}
.chat-bar b{font-size:14.5px;font-weight:600;letter-spacing:-0.01em;white-space:nowrap}
.chat-bar i{font-size:12px;color:oklch(0.78 0.13 150);font-style:normal;display:flex;align-items:center;gap:6px}
.chat-bar i::before{content:"";width:6px;height:6px;border-radius:50%;background:oklch(0.78 0.13 150);box-shadow:0 0 7px oklch(0.78 0.13 150)}
.chat-body{flex:1;min-height:0;padding:18px 16px;display:flex;flex-direction:column;justify-content:flex-end;gap:12px;overflow:hidden;overflow-anchor:none}
.row{display:flex;gap:9px;align-items:flex-end;width:100%}
.row.user{flex-direction:row-reverse}
.row .av{width:30px;height:30px;border-radius:50%;flex-shrink:0;overflow:hidden;display:grid;place-items:center}
.row .av svg{width:30px;height:30px}
.row.ai .av{background:linear-gradient(150deg,var(--amber),var(--amber-2))}
.row.user .av{background:var(--surface);border:1px solid var(--bd)}
.col{display:flex;flex-direction:column;gap:7px;max-width:82%;align-items:flex-start;min-width:0}
.row.user .col{align-items:flex-end}
.bubble{max-width:82%;padding:11px 14px;border-radius:15px;font-size:14.5px;line-height:1.45;opacity:0;animation:msgIn .45s cubic-bezier(.2,.8,.2,1) forwards}
.bubble.ai{align-self:flex-start;background:var(--surface);border:1px solid var(--bd);border-bottom-left-radius:5px;color:var(--text)}
.bubble.user{align-self:flex-end;background:linear-gradient(180deg,var(--amber),var(--amber-2));color:oklch(0.22 0.03 80);border-bottom-right-radius:5px;font-weight:500}
.bubble.typing{display:flex;gap:5px;padding:14px 15px}
.bubble.typing span{width:7px;height:7px;border-radius:50%;background:var(--faint);animation:typedot 1.2s infinite}
.bubble.typing span:nth-child(2){animation-delay:.18s}
.bubble.typing span:nth-child(3){animation-delay:.36s}
@keyframes msgIn{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
@keyframes typedot{0%,60%,100%{transform:translateY(0);opacity:.5}30%{transform:translateY(-4px);opacity:1}}

/* chat widgets generated by the agent */
.wcard{width:300px;max-width:100%;border:1px solid var(--bd);border-radius:14px;background:var(--bg-2);padding:14px 15px;opacity:0;animation:msgIn .45s cubic-bezier(.2,.8,.2,1) forwards;box-shadow:0 1px 0 var(--hi) inset}
.wcard .wtitle{font-size:11px;color:var(--faint);text-transform:uppercase;letter-spacing:.07em;margin-bottom:11px}
.wstats{display:flex;gap:18px;margin-bottom:13px}
.wstat{display:flex;flex-direction:column;gap:2px}
.wstat .v{font-size:18px;font-weight:600;letter-spacing:-0.02em}
.wstat .v.up{color:oklch(0.78 0.13 150)}
.wstat .l{font-size:10.5px;color:var(--muted)}
.wbars{display:flex;align-items:flex-end;gap:5px;height:46px}
.wbars i{flex:1;border-radius:3px 3px 0 0;background:linear-gradient(180deg,var(--amber),var(--amber-2));min-height:4px}
.wrow{display:flex;align-items:center;gap:10px;margin-bottom:9px;font-size:13px}
.wrow:last-child{margin-bottom:0}
.wrow>span{width:80px;color:var(--muted)}
.wrow b{font-weight:600;width:22px;text-align:right}
.wbar{flex:1;height:7px;border-radius:99px;background:oklch(1 0 0 /.08);overflow:hidden}
.wbar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--amber-2),var(--amber))}
.wfile{display:flex;align-items:center;gap:11px}
.wfile .fico{width:34px;height:40px;border-radius:6px;display:grid;place-items:center;font-size:9px;font-weight:700;letter-spacing:.04em;flex-shrink:0;background:oklch(0.62 0.17 25 /.18);color:oklch(0.74 0.16 32);border:1px solid oklch(0.62 0.17 25 /.32)}
.wfile .finfo{flex:1;min-width:0}
.wfile .finfo b{font-size:13px;font-weight:600;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wfile .finfo i{font-size:11px;color:var(--muted);font-style:normal}
.wchip{font-size:11px;color:oklch(0.78 0.13 150);background:oklch(0.78 0.13 150 /.14);border:1px solid oklch(0.78 0.13 150 /.32);padding:4px 9px;border-radius:99px;white-space:nowrap}

/* agentic map */
.amap{position:relative;max-width:940px;margin:0 auto;aspect-ratio:940/430}
.amap svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.amap .edge{fill:none;stroke:var(--bd);stroke-width:1.7;transition:stroke .4s}
.amap .edge.lit{stroke:var(--amber);stroke-dasharray:5 7;animation:dashflow .55s linear infinite}
.amap .edge.used{stroke:oklch(0.7 0.13 150 /.5)}
@keyframes dashflow{to{stroke-dashoffset:-24}}
.node{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:13px;background:var(--bg-2);border:1px solid var(--bd);white-space:nowrap;transition:border-color .4s,box-shadow .4s,background .4s;box-shadow:0 1px 0 var(--hi) inset;z-index:2}
.node .ni{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;background:var(--amber-soft);border:1px solid var(--bd);color:var(--amber);flex-shrink:0;transition:all .4s}
.node .ni svg{width:17px;height:17px}
.node .nl{display:flex;flex-direction:column;gap:1px;line-height:1.15}
.node .nl b{font-size:13.5px;font-weight:600;letter-spacing:-0.01em}
.node .nl span{font-size:10.5px;color:var(--faint)}
.node.lit{border-color:oklch(0.83 0.15 78 /.55);box-shadow:0 0 0 4px var(--amber-soft),0 12px 30px -16px var(--amber)}
.node.lit .ni{background:linear-gradient(150deg,var(--amber),var(--amber-2));color:var(--bg);border-color:transparent}
.node.done .ni{background:oklch(0.7 0.13 150 /.16);color:oklch(0.78 0.13 150);border-color:transparent}
.node.hub{z-index:3;padding:13px 17px}
.node.hub .ni{width:40px;height:40px;border-radius:11px;background:linear-gradient(150deg,var(--amber),var(--amber-2));color:var(--bg);border-color:transparent}
.node.hub .ni svg{width:23px;height:23px}
.node.hub .nl b{font-size:15.5px}
.node.hub.thinking{border-color:oklch(0.83 0.15 78 /.6);box-shadow:0 0 0 5px var(--amber-soft),0 0 30px -4px var(--amber)}
@media(max-width:780px){
  .amap{aspect-ratio:auto;display:flex;flex-direction:column;gap:9px}
  .amap svg{display:none}
  .node{position:static;transform:none;width:100%}
  .node.hub{order:-1}
}

/* reveal — content visible by default; entrance handled safely below */
.rv{opacity:1;transform:none}

/* =========== >= 680px =========== */
@media(min-width:680px){
  :root{--gut:32px}
  .hero-actions{flex-direction:row;justify-content:center;max-width:none}
  .cta-actions{flex-direction:row;justify-content:center;max-width:none}
  .bento{grid-template-columns:repeat(2,1fr)}
  .card.feat{grid-column:span 2}
  .proc{grid-template-columns:repeat(2,1fr)}
  .foot-grid{grid-template-columns:1.7fr 1fr 1fr 1fr}
  .foot-bottom{flex-direction:row;justify-content:space-between;align-items:center}
  .panel-body{grid-template-columns:200px 1fr}
  .panel-side{display:block;border-right:1px solid var(--bd);padding:16px 14px}
  .panel-side .si{display:flex;align-items:center;gap:9px;padding:8px 9px;border-radius:8px;font-size:12.5px;color:var(--muted);margin-bottom:3px}
  .panel-side .si.act{background:oklch(1 0 0 /.05);color:var(--text)}
  .panel-side .si b{width:7px;height:7px;border-radius:2px;background:var(--bd-strong)}
  .panel-side .si.act b{background:var(--amber)}
}
/* =========== >= 1000px =========== */
@media(min-width:1000px){
  .nav-in{height:68px}
  .nav-links{display:flex;gap:6px;align-items:center}
  .nav-links a{font-size:14.5px;color:var(--muted);padding:8px 14px;border-radius:8px;transition:color .15s,background .15s}
  .nav-links a:hover{color:var(--text);background:var(--hi)}
  .nav-links a.active{color:var(--amber)}
  .nav-cta{display:inline-flex;height:40px;padding:0 18px;font-size:14px}
  .burger{display:none}
  .mmenu{display:none}

  .hero{padding:84px 0 70px}
  .section{padding:92px 0}
  .cta-sec{padding:40px 0 100px}
  .bento{grid-template-columns:repeat(4,1fr);gap:16px}
  .card.feat{grid-column:span 2}
  .proc{grid-template-columns:repeat(4,1fr);gap:16px}
  .card{padding:28px}
  .card.feat{padding:32px}
}

@media (prefers-reduced-motion: reduce){
  .hero-glow,.task .st.run,.wa-float,.bg-fx *,.bg-grid,.bubble,.bubble.typing span,.wcard{animation:none}
  .bubble,.wcard{opacity:1}
  html{scroll-behavior:auto}
}
