:root{
  --bg:#05060a;
  --bg-2:#080b13;
  --panel:#0b0f1a;
  --panel-2:#0e1322;
  --ink:#e6ecff;
  --ink-dim:#9aa4bf;
  --ink-mute:#5f6a86;
  --line:rgba(255,255,255,0.08);
  --line-2:rgba(255,255,255,0.14);
  --brand:#7aa2ff;
  --brand-2:#b389ff;
  --brand-3:#5eead4;
  --ok:#4ade80;
  --grad: linear-gradient(135deg,#7aa2ff 0%, #b389ff 50%, #5eead4 100%);
  --grad-soft: linear-gradient(135deg,rgba(122,162,255,.22),rgba(179,137,255,.16));
  --radius: 18px;
  --radius-lg: 26px;
  --shadow-lg: 0 30px 80px -30px rgba(0,0,0,.7), 0 2px 0 rgba(255,255,255,.03) inset;
  --shadow-soft: 0 20px 60px -30px rgba(122,162,255,.35);
  --font: "Inter", ui-sans-serif, system-ui, sans-serif;
  --serif: "Instrument Serif", ui-serif, Georgia, serif;
  --mono: "JetBrains Mono", ui-monospace, monospace;
  --glass: rgba(255,255,255,0.03);
  --glass-border: rgba(255,255,255,0.08);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
html{scroll-behavior:smooth}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
body{
  background:var(--bg); color:var(--ink);
  font-family:var(--font); font-size:16px; line-height:1.55;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  overflow-x:hidden;
  letter-spacing:-0.011em;
}
::selection{background:var(--brand);color:#050810}

#three-canvas{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;pointer-events:none;opacity:0.6}


.noise-overlay{
  position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:0.035;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-repeat:repeat;background-size:256px 256px;mix-blend-mode:overlay;
}

.container{max-width:1240px;margin:0 auto;padding:0 28px}
.kicker{font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-mute);font-weight:500;margin:0 0 14px}
.h2{font-family:var(--serif);font-weight:400;font-size:clamp(2.2rem,4.5vw,4.2rem);line-height:1.02;letter-spacing:-.02em;margin:0 0 16px}
.h2 em{font-style:italic;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.sub{color:var(--ink-dim);font-size:1.05rem;max-width:60ch}
.lead{color:var(--ink-dim);font-size:1.1rem;line-height:1.65}
.num-tabular{font-variant-numeric:tabular-nums}

.scroll-progress{position:fixed;top:0;left:0;height:2px;background:var(--grad);z-index:100;width:var(--sp,0%);box-shadow:0 0 20px rgba(122,162,255,.6)}

.cursor-dot,.cursor-ring,.cursor-follower{position:fixed;pointer-events:none;z-index:9999;left:0;top:0;transform:translate(-50%,-50%);opacity:0}
.cursor-dot{width:6px;height:6px;border-radius:999px;background:var(--brand);box-shadow:0 0 20px var(--brand)}
.cursor-ring{width:36px;height:36px;border:1px solid rgba(122,162,255,.5);border-radius:999px;transition:opacity .4s, width .4s, height .4s, border-color .4s, background .4s;backdrop-filter:blur(2px)}
.cursor-follower{width:12px;height:12px;border-radius:999px;background:rgba(122,162,255,.15);transition:opacity .4s}
.cursor-dot.on,.cursor-ring.on,.cursor-follower.on{opacity:1}
.cursor-ring.grow{width:70px;height:70px;background:rgba(122,162,255,.08);border-color:var(--brand);backdrop-filter:blur(6px)}
@media(hover:none){.cursor-dot,.cursor-ring,.cursor-follower{display:none}}

.btn{
  display:inline-flex;align-items:center;gap:.55rem;
  padding:.85rem 1.35rem;border-radius:999px;
  font-size:.92rem;font-weight:500;letter-spacing:-.005em;
  transition:transform .4s cubic-bezier(.16,1,.3,1), background .3s, box-shadow .3s, border-color .3s, color .3s;
  border:1px solid transparent;position:relative;overflow:hidden;cursor:pointer;
}
.btn--lg{padding:1.05rem 1.7rem;font-size:.98rem}
.btn--primary{
  background:var(--grad);color:#050810;
  box-shadow:0 10px 30px -10px rgba(122,162,255,.55), inset 0 0 0 1px rgba(255,255,255,.35);
}
.btn--primary:hover{transform:translateY(-2px);box-shadow:0 20px 40px -12px rgba(179,137,255,.6)}
.btn--ghost{
  border-color:var(--line-2);color:var(--ink);background:var(--glass);backdrop-filter:blur(10px);
}
.btn--ghost:hover{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.28);transform:translateY(-2px)}
.btn .arrow{display:inline-block;transition:transform .45s cubic-bezier(.16,1,.3,1)}
.btn:hover .arrow{transform:translateX(4px)}

.nav{position:fixed;top:0;left:0;right:0;z-index:80;transition:background .5s ease, backdrop-filter .5s ease, box-shadow .5s ease, border-color .5s ease;border-bottom:1px solid transparent}
.nav.scrolled{background:rgba(6,8,14,.75);backdrop-filter:saturate(160%) blur(24px);border-bottom-color:var(--line);box-shadow:0 20px 40px -30px rgba(0,0,0,.6)}
.nav__inner{display:flex;align-items:center;justify-content:space-between;gap:24px;height:78px;transition:height .5s ease}
.nav.scrolled .nav__inner{height:64px}
.brand{display:inline-flex;align-items:center;gap:10px;font-weight:600;letter-spacing:-.01em}
.brand__mark{display:inline-flex;transition:transform .5s cubic-bezier(.16,1,.3,1)}
.brand:hover .brand__mark{transform:rotate(-6deg) scale(1.05)}
.brand__word{font-size:1.05rem}
.nav__links{display:flex;gap:28px;color:var(--ink-dim);font-size:.92rem}
.nav__links a{position:relative;transition:color .3s}
.nav__links a:hover{color:var(--ink)}
.nav__links a::after{
  content:"";position:absolute;left:0;bottom:-6px;height:1px;width:100%;
  background:var(--grad);transform:scaleX(0);transform-origin:right;
  transition:transform .5s cubic-bezier(.77,0,.175,1)
}
.nav__links a:hover::after{transform:scaleX(1);transform-origin:left}
.nav__cta{display:flex;gap:10px;align-items:center}
.nav__burger{display:none;flex-direction:column;gap:5px;width:40px;height:40px;justify-content:center;align-items:center;border:1px solid var(--line-2);border-radius:12px}
.nav__burger span{width:18px;height:1.5px;background:var(--ink);transition:transform .3s, opacity .3s}
.nav__burger[aria-expanded="true"] span:nth-child(1){transform:translateY(3.5px) rotate(45deg)}
.nav__burger[aria-expanded="true"] span:nth-child(2){transform:translateY(-3px) rotate(-45deg)}
.nav__mobile{position:fixed;top:78px;left:0;right:0;background:rgba(6,8,14,.92);backdrop-filter:blur(24px);border-bottom:1px solid var(--line);padding:20px 28px 28px;display:none;flex-direction:column;gap:14px;z-index:79}
.nav__mobile a{color:var(--ink-dim);font-size:1.05rem}
.nav__mobile.open{display:flex;animation:fadein .3s ease}
@media (max-width:960px){
  .nav__links,.nav__cta{display:none}
  .nav__burger{display:flex}
}

.hero{position:relative;padding:150px 0 80px;overflow:hidden;min-height:100vh;display:flex;align-items:center}
.hero__shimmer{
  position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(1200px 600px at 20% -10%, rgba(122,162,255,.15), transparent 60%),
    radial-gradient(900px 500px at 90% 10%, rgba(179,137,255,.1), transparent 60%);
  animation:shimmer 12s ease-in-out infinite alternate;
}
@keyframes shimmer{0%{opacity:.6}100%{opacity:1}}
.hero__inner{position:relative;text-align:center;max-width:1080px;width:100%;margin:0 auto}
.pill{
  display:inline-flex;align-items:center;gap:8px;padding:8px 14px;
  border-radius:999px;border:1px solid var(--line-2);
  background:var(--glass);backdrop-filter:blur(10px);
  font-size:.8rem;color:var(--ink-dim);letter-spacing:.02em;
}
.pill .dot{
  width:6px;height:6px;border-radius:50%;background:var(--brand-3);
  box-shadow:0 0 10px var(--brand-3);animation:pulse 2s infinite;
}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
.hero__title{font-family:var(--serif);font-weight:400;font-size:clamp(3rem,8.5vw,7.5rem);line-height:.96;letter-spacing:-.03em;margin:22px auto 22px;max-width:16ch}
.hero__title em{font-style:italic;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero__title .line{display:block;overflow:hidden}
.hero__title .line>span{display:inline-block;transform:translateY(110%);transition:transform 1.1s cubic-bezier(.77,0,.175,1)}
.hero__sub{color:var(--ink-dim);font-size:clamp(1.02rem,1.35vw,1.2rem);max-width:60ch;margin:0 auto}
.hero__cta{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:36px}
.hero__meta{
  display:grid;grid-template-columns:repeat(4,1fr);gap:24px;
  margin:64px auto 0;max-width:820px;padding:22px 28px;
  border:1px solid var(--line);border-radius:20px;
  background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.01));
  backdrop-filter:blur(10px);
}
.hero__meta div{display:flex;flex-direction:column;align-items:center;gap:2px}
.hero__meta strong{font-size:1.5rem;font-family:var(--serif);letter-spacing:-.02em}
.hero__meta span{color:var(--ink-mute);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}
@media(max-width:640px){.hero__meta{grid-template-columns:repeat(2,1fr)}}

.dashboard{position:relative;margin:90px auto 0;max-width:1180px;perspective:2000px}
.dashboard__glow{position:absolute;inset:-40px;background:radial-gradient(ellipse at center,rgba(122,162,255,.35),transparent 60%);filter:blur(60px);z-index:-1}
.dashboard__window{
  border:1px solid var(--line-2);border-radius:22px;overflow:hidden;
  background:linear-gradient(180deg,#0b0f1a,#080b13);
  box-shadow:var(--shadow-lg);transform-style:preserve-3d;
  transition:transform .1s ease-out;
}
.win__bar{display:flex;align-items:center;gap:8px;padding:14px 18px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.02)}
.win__dot{width:11px;height:11px;border-radius:50%;display:inline-block}
.win__url{margin-left:auto;font-family:var(--mono);font-size:.78rem;color:var(--ink-mute);background:rgba(255,255,255,.04);padding:5px 12px;border-radius:8px;border:1px solid var(--line)}
.win__body{display:grid;grid-template-columns:220px 1fr;min-height:440px}
.win__side{border-right:1px solid var(--line);padding:18px 14px;background:rgba(255,255,255,.015);font-size:.86rem;color:var(--ink-dim)}
.side__logo{font-weight:600;color:var(--ink);margin-bottom:16px;letter-spacing:-.01em}
.side__group{font-size:.7rem;letter-spacing:.18em;color:var(--ink-mute);text-transform:uppercase;margin:14px 6px 6px}
.side__item{padding:8px 10px;border-radius:8px;transition:background .3s,color .3s;cursor:default}
.side__item:hover{background:rgba(255,255,255,.04);color:var(--ink)}
.side__item.active{background:linear-gradient(90deg,rgba(122,162,255,.15),rgba(179,137,255,.05));color:var(--ink);border:1px solid rgba(122,162,255,.25)}
.win__main{padding:22px}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}
.kpi{padding:14px;border-radius:14px;border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.005))}
.kpi span{font-size:.72rem;color:var(--ink-mute);letter-spacing:.06em;text-transform:uppercase}
.kpi strong{display:block;margin:6px 0 2px;font-size:1.1rem;font-family:var(--serif);letter-spacing:-.01em}
.kpi em{font-style:normal;font-size:.72rem;color:var(--ok)}
.chart{border:1px solid var(--line);border-radius:14px;padding:14px;background:linear-gradient(180deg,rgba(255,255,255,.02),transparent);margin-bottom:14px}
.chart__svg{width:100%;height:180px}
.chart__line{stroke-dasharray:1200;stroke-dashoffset:1200;animation:draw 2.4s ease .2s forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.chart__labels{display:flex;justify-content:space-between;color:var(--ink-mute);font-size:.72rem;padding:6px 4px 0}
.rows{display:flex;flex-direction:column;gap:8px}
.row{display:grid;grid-template-columns:80px 1fr auto auto;gap:12px;align-items:center;padding:10px 14px;border:1px solid var(--line);border-radius:12px;font-size:.85rem;background:rgba(255,255,255,.02)}
.row .tag{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brand);background:rgba(122,162,255,.1);padding:4px 8px;border-radius:6px;text-align:center}
.row .tag.alt{color:var(--brand-2);background:rgba(179,137,255,.1)}
.row .mono{font-family:var(--mono);color:var(--ink-dim);font-size:.78rem}
.row .ok{color:var(--ok);font-size:.78rem}
.phone{position:absolute;right:-30px;bottom:-40px;width:200px;height:400px;border-radius:38px;padding:8px;background:linear-gradient(180deg,#12172a,#080a12);border:1px solid var(--line-2);box-shadow:var(--shadow-lg);transform:rotate(6deg)}
.phone__notch{width:60px;height:14px;border-radius:0 0 14px 14px;background:#000;margin:0 auto}
.phone__screen{padding:22px 18px;font-size:.78rem;color:var(--ink-dim);display:flex;flex-direction:column;gap:12px}
.phone__row{display:flex;justify-content:space-between;align-items:center;color:var(--ink)}
.phone__row strong{font-family:var(--serif);font-size:1.05rem}
.phone__bar{height:6px;border-radius:999px;background:rgba(255,255,255,.06);overflow:hidden}
.phone__bar i{display:block;height:100%;width:var(--w,50%);background:var(--grad);border-radius:999px}
.phone__cta{margin-top:14px;padding:10px;border-radius:12px;background:rgba(74,222,128,.1);color:var(--ok);text-align:center;font-weight:500;border:1px solid rgba(74,222,128,.2)}
@media (max-width:900px){
  .win__body{grid-template-columns:1fr}
  .win__side{display:none}
  .kpis{grid-template-columns:repeat(2,1fr)}
  .phone{display:none}
}

.logos{padding:80px 0 30px;position:relative}
.logos .kicker{text-align:center;margin-bottom:22px}
.marquee{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);margin-bottom:12px}
.marquee--reverse .marquee__track{animation-direction:reverse}
.marquee__track{display:flex;gap:60px;white-space:nowrap;animation:marquee 40s linear infinite;font-family:var(--serif);font-size:1.8rem;color:var(--ink-dim);opacity:.7;padding:10px 0}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

.section{padding:120px 0;position:relative}
.section__head{max-width:820px;margin:0 auto 60px;text-align:center}
.grid-2{display:grid;grid-template-columns:1fr 1.2fr;gap:60px}
@media(max-width:860px){.grid-2{grid-template-columns:1fr;gap:32px}}

.value-card{
  display:grid;grid-template-columns:120px 1fr;gap:16px;padding:18px;
  border:1px solid var(--line);border-radius:16px;
  background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.005));
  transition:border-color .3s,background .3s,transform .3s;
}
.value-card:hover{border-color:var(--line-2);background:rgba(255,255,255,.035);transform:translateX(4px)}
.value-card strong{font-family:var(--serif);font-size:1.1rem}
.value-card span{color:var(--ink-dim);font-size:.95rem}
.values{display:grid;grid-template-columns:1fr;gap:16px;margin-top:28px}

.services{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:960px){.services{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.services{grid-template-columns:1fr}}
.card{
  position:relative;padding:26px;border:1px solid var(--line);
  border-radius:var(--radius);
  background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.005));
  transition:transform .5s cubic-bezier(.16,1,.3,1), border-color .3s, background .3s;
  overflow:hidden;
}
.card::before{
  content:"";position:absolute;inset:-1px;border-radius:var(--radius);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:0;transition:opacity .4s;
}
.card:hover{transform:translateY(-4px);border-color:transparent}
.card:hover::before{opacity:1}
.card__ic{
  width:44px;height:44px;border-radius:12px;display:grid;place-items:center;
  background:var(--grad-soft);border:1px solid var(--line-2);margin-bottom:14px;
  color:var(--brand);font-size:1.2rem;
}
.card h3{margin:6px 0 8px;font-size:1.08rem;font-weight:600;letter-spacing:-.01em}
.card p{margin:0;color:var(--ink-dim);font-size:.92rem;line-height:1.55}

.features{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media(max-width:980px){.features{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.features{grid-template-columns:1fr}}
.feat{
  padding:22px;border:1px solid var(--line);border-radius:16px;
  background:rgba(255,255,255,.02);
  transition:transform .5s cubic-bezier(.16,1,.3,1), border-color .3s, box-shadow .3s;
}
.feat:hover{transform:translateY(-3px);border-color:var(--line-2);box-shadow:0 10px 30px -20px rgba(122,162,255,.3)}
.feat strong{display:block;font-family:var(--serif);font-size:1.15rem;letter-spacing:-.01em;margin-bottom:6px}
.feat span{color:var(--ink-dim);font-size:.9rem}

.timeline{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(7,1fr);gap:14px;position:relative}
.timeline::before{content:"";position:absolute;left:0;right:0;top:36px;height:1px;background:linear-gradient(90deg,transparent,var(--line-2),transparent)}
.tl-item{
  padding:14px;border:1px solid var(--line);border-radius:14px;
  background:rgba(255,255,255,.02);position:relative;
  transition:transform .4s, border-color .3s, box-shadow .3s;
}
.tl-item:hover{transform:translateY(-4px);border-color:var(--line-2);box-shadow:0 10px 30px -20px rgba(122,162,255,.25)}
.tl__i{
  display:inline-flex;align-items:center;justify-content:center;
  width:34px;height:34px;border-radius:10px;background:var(--grad);
  color:#050810;font-weight:700;font-size:.82rem;margin-bottom:10px;
}
.tl-item h3{margin:0 0 4px;font-size:.98rem;font-weight:600}
.tl-item p{margin:0;color:var(--ink-dim);font-size:.82rem;line-height:1.45}
@media(max-width:960px){.timeline{grid-template-columns:repeat(2,1fr)}.timeline::before{display:none}}

.stack{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;max-width:900px;margin:0 auto 50px}
.stack span{
  padding:10px 16px;border:1px solid var(--line);border-radius:999px;
  background:rgba(255,255,255,.03);color:var(--ink-dim);font-size:.86rem;
  transition:border-color .3s, color .3s, background .3s, transform .3s, box-shadow .3s;
}
.stack span:hover{color:var(--ink);border-color:var(--brand);background:rgba(122,162,255,.06);transform:translateY(-2px);box-shadow:0 8px 20px -16px rgba(122,162,255,.4)}

.terminal{max-width:820px;margin:0 auto;border:1px solid var(--line-2);border-radius:16px;overflow:hidden;background:#06080f;box-shadow:var(--shadow-lg)}
.terminal__bar{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.02)}
.terminal__bar span{width:10px;height:10px;border-radius:50%;background:#333}
.terminal__bar em{margin-left:auto;color:var(--ink-mute);font-family:var(--mono);font-size:.78rem;font-style:normal}
.terminal pre{margin:0;padding:20px 22px;font-family:var(--mono);font-size:.86rem;color:var(--ink);line-height:1.7;white-space:pre-wrap}
.terminal .cursor-blink{animation:blink 1s step-end infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:0}}
.c-dim{color:var(--ink-mute)}.c-cyan{color:var(--brand-3)}.c-ok{color:var(--ok)}

.works{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:220px;gap:16px}
.work{
  position:relative;border:1px solid var(--line);border-radius:20px;overflow:hidden;
  background:#0a0e18;
  transition:transform .5s cubic-bezier(.16,1,.3,1), border-color .3s;
  display:flex;flex-direction:column;cursor:pointer;
}
.work:hover{transform:translateY(-6px);border-color:var(--line-2)}
.work--tall{grid-row:span 2}
.work--wide{grid-column:span 2}
.work__frame{flex:1;position:relative;overflow:hidden;background:linear-gradient(135deg,#0f1526,#080b13)}
.work__frame::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 30% 20%,rgba(122,162,255,.25),transparent 60%)}
.work__ui{position:absolute;inset:20px;border-radius:10px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.01));transition:transform .8s cubic-bezier(.16,1,.3,1)}
.work:hover .work__ui{transform:scale(1.04)}
.work--f1 .work__ui{background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.01)),radial-gradient(circle at 20% 30%,rgba(179,137,255,.35),transparent 40%),radial-gradient(circle at 80% 70%,rgba(94,234,212,.25),transparent 40%)}
.work--f2 .work__ui{background:linear-gradient(135deg,rgba(122,162,255,.35),rgba(179,137,255,.15)),linear-gradient(0deg,#0a0e18,#0a0e18)}
.work--f3 .work__ui{background:radial-gradient(circle at 50% 50%,rgba(94,234,212,.35),transparent 55%),#0a0e18}
.work--f4 .work__ui{background:linear-gradient(90deg,rgba(122,162,255,.2),rgba(179,137,255,.15)),repeating-linear-gradient(90deg,transparent 0 40px,rgba(255,255,255,.04) 40px 41px)}
.work header{padding:18px 20px 20px}
.work header .kicker{margin:0 0 6px}
.work header h3{margin:0 0 4px;font-family:var(--serif);font-size:1.25rem;letter-spacing:-.01em}
.work header p{margin:0;color:var(--ink-dim);font-size:.85rem}
@media(max-width:900px){.works{grid-template-columns:1fr;grid-auto-rows:260px}.work--tall,.work--wide{grid-row:auto;grid-column:auto}}

.stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.02),transparent)}
.stats__grid{display:grid;grid-template-columns:repeat(5,1fr);gap:24px;text-align:center}
.stats__grid strong{font-family:var(--serif);font-size:clamp(2.2rem,4vw,3.2rem);letter-spacing:-.02em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.stats__grid em{font-style:normal;color:var(--brand);font-family:var(--serif)}
.stats__grid span{display:block;color:var(--ink-mute);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;margin-top:6px}
.stat-item{transition:transform .3s}
.stat-item:hover{transform:scale(1.05)}
@media(max-width:820px){.stats__grid{grid-template-columns:repeat(2,1fr)}}

.testis-wrapper{position:relative}
.testis{display:flex;gap:20px;overflow:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none}
.testis::-webkit-scrollbar{display:none}
.testi{
  min-width:min(560px,100%);padding:36px;
  border:1px solid var(--line);border-radius:20px;
  background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.005));
  scroll-snap-align:center;transition:transform .5s, border-color .3s;
  position:relative;
}
.testi:hover{border-color:var(--line-2)}
.testi__quote{
  position:absolute;top:20px;right:28px;font-size:4rem;line-height:1;
  font-family:var(--serif);color:var(--line-2);pointer-events:none;
}
.testi p{font-family:var(--serif);font-size:1.35rem;line-height:1.35;margin:0 0 20px;letter-spacing:-.01em}
.testi footer{display:flex;flex-direction:column;color:var(--ink-dim)}
.testi footer strong{color:var(--ink)}
.testis__nav{display:flex;gap:10px;justify-content:center;margin-top:22px}
.testis__nav button{width:44px;height:44px;border-radius:999px;border:1px solid var(--line-2);color:var(--ink);transition:background .3s, border-color .3s, transform .3s;display:grid;place-items:center}
.testis__nav button:hover{background:rgba(255,255,255,.06);transform:translateY(-2px)}

.faq{display:flex;flex-direction:column;gap:10px}
.faq details{border:1px solid var(--line);border-radius:14px;padding:0;background:rgba(255,255,255,.02);overflow:hidden;transition:border-color .3s, background .3s}
.faq details[open]{border-color:var(--line-2);background:rgba(255,255,255,.035)}
.faq summary{list-style:none;cursor:pointer;padding:18px 20px;display:flex;justify-content:space-between;align-items:center;gap:16px;font-weight:500;font-size:1rem}
.faq summary::-webkit-details-marker{display:none}
.faq .plus{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;border:1px solid var(--line-2);color:var(--ink-dim);transition:transform .4s ease, color .3s, background .3s}
.faq details[open] .plus{transform:rotate(45deg);color:var(--brand);background:rgba(122,162,255,.1)}
.faq p{margin:0;padding:0 20px 20px;color:var(--ink-dim);line-height:1.6}

.cta{padding:80px 0 120px}
.cta__box{position:relative;padding:80px 40px;border:1px solid var(--line-2);border-radius:32px;text-align:center;background:linear-gradient(180deg,rgba(122,162,255,.06),rgba(179,137,255,.03));overflow:hidden}
.cta__glow{position:absolute;inset:-40px;background:radial-gradient(ellipse at center,rgba(122,162,255,.28),transparent 60%);filter:blur(60px);z-index:0;pointer-events:none}
.cta__box>*{position:relative;z-index:1}
.cta__actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:28px}
.cta .sub{margin:0 auto}

.footer{border-top:1px solid var(--line);padding:70px 0 30px;background:linear-gradient(180deg,transparent,rgba(255,255,255,.02))}
.footer__grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:40px;margin-bottom:50px}
.footer h4{margin:0 0 14px;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-mute);font-weight:500}
.footer a{display:block;color:var(--ink-dim);font-size:.92rem;padding:4px 0;transition:color .3s}
.footer a:hover{color:var(--ink)}
.footer__desc{color:var(--ink-dim);font-size:.92rem;max-width:34ch;margin-top:14px}
.footer__base{display:flex;justify-content:space-between;gap:20px;padding-top:24px;border-top:1px solid var(--line);color:var(--ink-mute);font-size:.82rem;flex-wrap:wrap}
@media(max-width:820px){.footer__grid{grid-template-columns:1fr 1fr;gap:30px}}
.footer__dev-logo{height:16px;width:auto;vertical-align:middle;margin-left:4px}

.reveal{opacity:0;transform:translateY(28px);filter:blur(8px);transition:opacity 1.1s cubic-bezier(.16,1,.3,1), transform 1.1s cubic-bezier(.16,1,.3,1), filter 1.1s cubic-bezier(.16,1,.3,1);will-change:opacity,transform,filter}
.reveal.in{opacity:1;transform:none;filter:blur(0)}

@keyframes fadein{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

.parallax-section{will-change:transform}

.code-reel{position:relative;height:500vh;z-index:1}
.code-reel__sticky{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;background:#05060a}
.code-reel__shimmer{
  position:absolute;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(ellipse at 50% 50%,rgba(122,162,255,.08),transparent 60%),
    radial-gradient(ellipse at 30% 20%,rgba(179,137,255,.06),transparent 50%);
  animation:reelShimmer 8s ease-in-out infinite alternate;
}
@keyframes reelShimmer{0%{opacity:.5;transform:scale(1)}100%{opacity:1;transform:scale(1.1)}}
.code-reel__terminal{
  position:relative;z-index:1;width:min(92%,960px);
  border:1px solid var(--line-2);border-radius:20px;
  background:linear-gradient(180deg,#080b17,#05070e);
  box-shadow:0 40px 120px -40px rgba(122,162,255,.25), inset 0 1px 0 rgba(255,255,255,.04);
  overflow:hidden;
}
.code-reel__bar{
  display:flex;align-items:center;gap:8px;padding:14px 20px;
  border-bottom:1px solid var(--line);
  background:rgba(255,255,255,.015);
}
.code-reel__bar span{width:10px;height:10px;border-radius:50%;background:#333}
.code-reel__bar span:nth-child(1){background:#ff5f57}
.code-reel__bar span:nth-child(2){background:#febc2e}
.code-reel__bar span:nth-child(3){background:#28c840}
.code-reel__path{margin-left:auto;font-family:var(--mono);font-size:.72rem;color:var(--ink-mute);font-style:normal}
.code-reel__block-label{
  font-family:var(--mono);font-size:.65rem;letter-spacing:.12em;
  color:var(--brand-3);background:rgba(94,234,212,.08);
  padding:3px 10px;border-radius:6px;margin-left:12px;
  border:1px solid rgba(94,234,212,.15);
}
.code-reel__body{
  position:relative;padding:28px 30px;min-height:380px;
  font-family:var(--mono);font-size:clamp(.8rem,1.1vw,.95rem);
  line-height:1.85;color:var(--ink);white-space:pre-wrap;word-break:break-all;
  display:flex;flex-direction:column;
}
.code-reel__body .cr-comment{color:var(--ink-mute);opacity:.6}
.code-reel__body .cr-cmd{color:var(--brand-3)}
.code-reel__body .cr-str{color:var(--brand-2)}
.code-reel__body .cr-num{color:var(--ok)}
.code-reel__body .cr-dim{color:var(--ink-mute)}
.code-reel__body .cr-ok{color:var(--ok)}
.code-reel__body .cr-path{color:var(--brand);text-decoration:underline;text-decoration-color:rgba(122,162,255,.3)}
.code-reel__cursor{
  display:inline-block;color:var(--brand-3);
  animation:cursorBlink .8s step-end infinite;
  margin-left:2px;
}
@keyframes cursorBlink{0%,100%{opacity:1}50%{opacity:0}}
.code-reel__scanline{
  position:absolute;inset:0;z-index:2;pointer-events:none;
  background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.08) 2px,rgba(0,0,0,.08) 4px);
}
.code-reel__progress{
  position:relative;z-index:1;width:min(92%,960px);height:3px;
  background:rgba(255,255,255,.06);border-radius:999px;
  margin-top:24px;overflow:hidden;
}
.code-reel__progress span{
  display:block;height:100%;width:0%;border-radius:999px;
  background:var(--grad);transition:width .1s linear;
  box-shadow:0 0 20px rgba(122,162,255,.5);
}
.code-reel__hint{
  position:relative;z-index:1;margin-top:16px;
  font-size:.75rem;color:var(--ink-mute);letter-spacing:.15em;
  text-transform:uppercase;animation:hintPulse 2.5s ease-in-out infinite;
}
@keyframes hintPulse{0%,100%{opacity:.3}50%{opacity:.8}}
@media(max-width:768px){
  .code-reel__body{padding:18px 16px;min-height:280px;font-size:.75rem}
  .code-reel__block-label{display:none}
}
@media(max-height:600px){
  .code-reel__body{min-height:200px}
}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .reveal{opacity:1;transform:none;filter:none}
  .marquee__track{animation:none}
}
