/* ============================================================
   Homepage
   ============================================================ */

.hero{ padding:76px 0 0; position:relative; overflow:hidden; }
.hero::before{
  content:''; position:absolute; top:-220px; left:50%; transform:translateX(-50%);
  width:900px; height:500px; background:var(--ember-grad-soft); filter:blur(100px);
  opacity:.35; pointer-events:none;
}
.hero-inner{ position:relative; text-align:center; max-width:760px; margin:0 auto; }
.hero-eyebrow{
  display:inline-flex; align-items:center; gap:8px; font-family:var(--font-mono); font-size:12px;
  color:var(--ink-dim); border:1px solid var(--border); border-radius:var(--radius-sm); padding:6px 14px; margin-bottom:26px;
}
.hero-eyebrow .dot{ width:6px; height:6px; border-radius:50%; background:var(--ember-amber); }
.hero h1{
  font-family:var(--font-display); font-weight:700; letter-spacing:-.02em;
  font-size:54px; line-height:1.1; margin:0 0 20px; color:var(--ink);
}
.hero h1 .grad{ color:var(--ember-flame); }
.hero p.sub{ font-size:17px; color:var(--ink-dim); line-height:1.6; max-width:560px; margin:0 auto 34px; }
.hero-ctas{ display:flex; align-items:center; justify-content:center; gap:12px; margin-bottom:22px; flex-wrap:wrap; }
.hero-facts{ display:flex; align-items:center; justify-content:center; gap:18px; flex-wrap:wrap; font-size:12.5px; color:var(--ink-faint); font-family:var(--font-mono); margin-bottom:64px; }
.hero-facts span{ display:inline-flex; align-items:center; gap:6px; }
.hero-facts svg{ width:13px; height:13px; }

/* ---- terminal window (signature element) ---- */
.term-wrap{ max-width:840px; margin:0 auto; padding:0 20px 90px; }
.term-window{
  background:#08090b; border:1px solid var(--border); border-radius:var(--radius-lg);
  box-shadow:0 30px 70px -30px rgba(0,0,0,.65);
  overflow:hidden; text-align:left;
}
.term-chrome{
  display:flex; align-items:center; gap:8px; padding:12px 16px;
  border-bottom:1px solid var(--border-soft); background:#0d0f12;
}
.term-dot{ width:10px; height:10px; border-radius:50%; }
.term-chrome .title{ margin-left:8px; font-family:var(--font-mono); font-size:11.5px; color:var(--ink-faint); }
.term-body{
  font-family:var(--font-mono); font-size:12.8px; line-height:1.95; padding:20px 22px;
  height:340px; overflow-y:auto; white-space:pre-wrap; word-break:break-word;
}
.term-line{ min-height:1.95em; }
.t-white{ color:#f2f4f7; font-weight:600; } .t-dim{ color:#5b6472; }
.t-red{ color:#ff2b1f; } .t-flame{ color:#ff5f00; } .t-amber{ color:#ff8700; }
.t-green{ color:#3fb950; } .t-blue{ color:#58a6ff; } .t-purple{ color:#bc8cff; } .t-gold{ color:#e3b341; }
.t-cursor{ color:#ff8700; animation:blink 1s step-end infinite; }
@keyframes blink{ 50%{ opacity:0; } }

/* ---- capability strip ---- */
.cap-strip{ border-top:1px solid var(--border-soft); border-bottom:1px solid var(--border-soft); padding:26px 0; }
.cap-strip .container{ display:flex; align-items:center; justify-content:center; gap:0; flex-wrap:wrap; }
.cap-group{ display:flex; align-items:center; gap:10px; padding:0 26px; }
.cap-group + .cap-group{ border-left:1px solid var(--border-soft); }
.cap-item{ font-family:var(--font-mono); font-size:13px; color:var(--ink-dim); }
.cap-sep{ color:var(--ink-faint); }
.cap-note{ text-align:center; padding-top:16px; }
.cap-note a{ font-size:12.5px; color:var(--ink-faint); }
.cap-note a:hover{ color:var(--tag-blue); }

/* ---- section scaffolding ---- */
.section{ padding:100px 0; }
.section-head{ max-width:560px; margin:0 0 44px; }
.section-eyebrow{ font-family:var(--font-mono); font-size:11.5px; font-weight:600; letter-spacing:.06em; color:var(--ember-flame); margin:0 0 10px; }
.section-head h2{ font-family:var(--font-display); font-weight:700; font-size:28px; margin:0 0 14px; letter-spacing:-.015em; }
.section-head p{ color:var(--ink-dim); font-size:15px; line-height:1.65; margin:0; }

/* ---- feature grid ---- */
.feat-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--border-soft); border:1px solid var(--border-soft); border-radius:var(--radius-lg); overflow:hidden; }
.feat-card{ background:var(--bg); padding:28px 26px; transition:background .15s ease; }
.feat-card:hover{ background:var(--surface); }
.feat-icon{ width:34px; height:34px; border-radius:var(--radius-sm); display:flex; align-items:center; justify-content:center; margin-bottom:18px; background:var(--surface-2); border:1px solid var(--border-soft); }
.feat-icon svg{ width:17px; height:17px; }
.feat-card h3{ font-size:15px; margin:0 0 8px; color:var(--ink); }
.feat-card p{ font-size:13.3px; color:var(--ink-dim); line-height:1.6; margin:0 0 14px; }
.feat-card a{ font-size:12.5px; color:var(--tag-blue); }
@media (max-width:900px){ .feat-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:600px){ .feat-grid{ grid-template-columns:1fr; } }

/* ---- open source section ---- */
.oss-section{ background:var(--surface); border-top:1px solid var(--border-soft); border-bottom:1px solid var(--border-soft); padding:90px 0; }
.oss-grid{ display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
.oss-points{ list-style:none; margin:26px 0 0; padding:0; }
.oss-points li{ display:flex; gap:12px; font-size:14px; color:var(--ink-dim); padding:9px 0; border-top:1px solid var(--border-soft); }
.oss-points li:first-child{ border-top:none; }
.oss-points svg{ flex:none; width:16px; height:16px; margin-top:2px; color:var(--ember-amber); }
.oss-cta{ display:flex; gap:12px; margin-top:28px; flex-wrap:wrap; }
.contrib-avatars{ display:flex; flex-wrap:wrap; gap:8px; }
.contrib-avatar{
  width:44px; height:44px; border-radius:50%; background:var(--surface-2); border:1px solid var(--border);
  display:flex; align-items:center; justify-content:center; font-family:var(--font-mono); font-size:12px; color:var(--ink-faint);
}
@media (max-width:860px){ .oss-grid{ grid-template-columns:1fr; gap:36px; } }

/* ---- CLI flags preview ---- */
.flag-table{ border:1px solid var(--border); border-radius:var(--radius-lg); overflow:hidden; }
.flag-row{ display:grid; grid-template-columns:110px 1fr; gap:16px; padding:13px 20px; border-top:1px solid var(--border-soft); align-items:baseline; }
.flag-row:first-child{ border-top:none; }
.flag-row code{ font-family:var(--font-mono); font-size:13px; color:var(--ember-amber); }
.flag-row span{ font-size:13.5px; color:var(--ink-dim); }

.final-cta{ text-align:center; padding:100px 0 120px; }
.final-cta h2{ font-family:var(--font-display); font-weight:700; font-size:28px; margin:0 0 16px; letter-spacing:-.015em; }
.final-cta p{ color:var(--ink-dim); font-size:15px; margin:0 0 30px; }

@media (max-width:640px){
  .hero h1{ font-size:38px; }
  .hero p.sub{ font-size:15px; }
  .term-body{ height:280px; font-size:11.5px; }
  .cap-group{ padding:8px 16px; }
  .section{ padding:64px 0; }
}
