:root{
  --bg:#0B0D12;
  --bg2:#12151C;
  --text:#EDEDE7;
  --desc:#C7C9D4;
  --muted:#8B90A0;
  --accent:#F2A93B;
  --accent-ink:#1A1200;
  --accent2:#46E3B4;
  --border:#23262F;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:'Inter',system-ui,sans-serif;
  line-height:1.6;
}
h1,h2,h3,.brand{font-family:'Space Grotesk',system-ui,sans-serif;}
.mono{font-family:'JetBrains Mono',ui-monospace,monospace;}
a{color:var(--accent);}
.wrap{max-width:920px;margin:0 auto;padding:0 24px;}

/* ---- header / nav ---- */
header{
  position:sticky;top:0;z-index:20;
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 0;border-bottom:1px solid var(--border);
  background:rgba(11,13,18,.85);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
}
header .wrap{display:flex;align-items:center;justify-content:space-between;width:100%;}
.brand{
  display:flex;align-items:center;gap:10px;min-height:44px;
  font-weight:700;font-size:17px;color:var(--text);text-decoration:none;
}
.brand .mark{
  width:26px;height:26px;border-radius:6px;background:var(--accent);
  color:var(--accent-ink);display:flex;align-items:center;justify-content:center;
  font-size:14px;font-weight:700;font-family:'JetBrains Mono',monospace;
}
nav{display:flex;align-items:center;}
nav a{
  font-family:'JetBrains Mono',monospace;font-size:13px;color:var(--muted);text-decoration:none;
  display:inline-flex;align-items:center;min-height:44px;padding:0 12px;border-radius:6px;
  transition:color .15s ease, background .15s ease;
}
nav a:hover{color:var(--accent);background:var(--bg2);}
nav a.active{color:var(--accent);background:var(--bg2);}

/* ---- hero ---- */
.hero{padding:64px 0 40px;}
.prompt{font-family:'JetBrains Mono',monospace;font-size:13px;color:var(--accent2);margin-bottom:18px;word-break:break-word;}
.prompt::before{content:"> ";color:var(--accent);}
.hero h1{font-size:44px;line-height:1.08;margin:0 0 16px;letter-spacing:-.01em;}
.hero h1 span{color:var(--accent);}
.hero .tag{font-size:17px;color:var(--muted);max-width:600px;margin:0 0 22px;}
.bio{max-width:640px;font-size:15.5px;color:var(--desc);margin-bottom:28px;}

.page-hero{padding:52px 0 8px;}
.page-hero h1{font-size:32px;line-height:1.15;margin:0 0 10px;}
.page-hero .section-note{margin:0;}

/* ---- stat strip ---- */
.stats{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:30px;}
.stat{border:1px solid var(--border);background:var(--bg2);border-radius:10px;padding:12px 16px;}
.stat .n{font-family:'JetBrains Mono',monospace;font-size:18px;color:var(--accent);font-weight:600;}
.stat .l{font-size:12.5px;color:var(--muted);margin-top:2px;}

/* ---- buttons ---- */
.links{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:8px;}
.btn{
  display:inline-flex;align-items:center;gap:8px;min-height:44px;
  padding:10px 18px;border-radius:8px;font-size:14px;font-weight:600;
  text-decoration:none;border:1px solid var(--border);color:var(--text);
  background:var(--bg2);transition:border-color .15s ease, transform .15s ease, box-shadow .15s ease;
}
.btn:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 6px 18px rgba(242,169,59,.12);}
.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);}
.btn.primary:hover{opacity:.92;}
.btn.accent{border-color:var(--accent2);}
.btn.accent::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent2);}

section{padding:44px 0;border-top:1px solid var(--border);}
.section-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;justify-content:space-between;margin-bottom:24px;}
section h2{font-size:21px;margin:0;}
.section-note{color:var(--muted);font-size:14px;}
.section-note.mono{font-family:'JetBrains Mono',monospace;font-size:12.5px;}

/* ---- work rows (numbered list) ---- */
.row{display:flex;gap:22px;padding:28px 0;border-top:1px solid var(--border);}
.row:first-of-type{border-top:none;padding-top:0;}
.idx{font-family:'JetBrains Mono',monospace;font-size:14px;color:var(--accent);min-width:30px;padding-top:3px;flex-shrink:0;}
.row-body h3{margin:0 0 4px;font-size:18px;}
.row-body .tagline{color:var(--accent2);font-size:13px;font-family:'JetBrains Mono',monospace;margin:0 0 10px;}
.row-body p{margin:0;font-size:14.5px;color:var(--desc);}
.row-body .result{margin-top:10px;font-size:13px;color:var(--muted);}

.future{
  background:var(--bg2);border:1px dashed var(--border);border-radius:10px;
  padding:22px;font-size:14.5px;color:var(--muted);
}
.future strong{color:var(--text);}

/* ---- about facts ---- */
.facts{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:26px 0 6px;}
@media(max-width:640px){.facts{grid-template-columns:1fr;}}
.facts .fact{background:var(--bg2);border:1px solid var(--border);border-radius:10px;padding:16px 18px;}
.facts .fact .k{font-family:'JetBrains Mono',monospace;font-size:12px;font-weight:600;color:var(--accent);letter-spacing:.01em;margin-bottom:6px;}
.facts .fact .v{font-size:14.5px;color:var(--desc);}

/* ---- contact ---- */
.contact{
  background:var(--bg2);border:1px solid var(--border);border-radius:12px;padding:32px;
  text-align:center;
}
.contact h1, .contact h2{color:var(--text);}
.contact p{color:var(--muted);max-width:520px;margin:8px auto 20px;font-size:15px;}
.contact .btn.accent{background:var(--accent2);color:var(--accent-ink);border-color:var(--accent2);}
.contact .btn.accent::before{display:none;}

.contact-form{
  max-width:420px;margin:0 auto;text-align:left;display:flex;flex-direction:column;gap:10px;
}
.contact-form input,
.contact-form textarea{
  width:100%;min-height:44px;padding:13px;border-radius:8px;border:1px solid var(--border);
  background:var(--bg);color:var(--text);font-family:'Inter',system-ui,sans-serif;
  font-size:14.5px;resize:vertical;
}
.contact-form input::placeholder,
.contact-form textarea::placeholder{color:#5C6070;}
.contact-form input:focus,
.contact-form textarea:focus{outline:2px solid var(--accent2);outline-offset:1px;}
.contact-form button{
  align-self:flex-start;cursor:pointer;font-family:inherit;
}
.contact-form button:disabled{opacity:.6;cursor:default;}
.contact-status{min-height:18px;font-size:13.5px;margin:2px 0 0;}
.contact-status.ok{color:var(--accent2);font-weight:600;}
.contact-status.err{color:#FF9B87;font-weight:600;}
.contact-fallback{font-size:13.5px;color:var(--muted) !important;margin-top:18px !important;}
.contact-fallback a{color:var(--text) !important;text-decoration:underline;}

/* ---- cross-page CTA banner ---- */
.cta-banner{
  border-top:1px solid var(--border);padding:40px 0;text-align:center;
}
.cta-banner h2{font-size:20px;margin:0 0 8px;}
.cta-banner p{color:var(--muted);font-size:14.5px;margin:0 0 18px;}

footer{
  padding:28px 0 44px;color:var(--muted);font-size:13px;
  display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;
}

/* ---- motion: scroll reveal ---- */
.js .reveal{opacity:0;transform:translateY(16px);transition:opacity .55s ease, transform .55s ease;}
.js .reveal.in-view{opacity:1;transform:translateY(0);}
.reveal-1{transition-delay:.05s;}
.reveal-2{transition-delay:.12s;}
.reveal-3{transition-delay:.19s;}
.reveal-4{transition-delay:.26s;}

@media (prefers-reduced-motion: reduce){
  .js .reveal{opacity:1;transform:none;transition:none;}
  html{scroll-behavior:auto;}
  .btn:hover{transform:none;}
}
