*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --bg: #0f0f14;
  --bg-2: #16161e;
  --bg-3: #1e1e28;
  --fg: #f4f4f6;
  --fg-2: #a0a0b0;
  --accent: #f97316;
  --accent-dim: rgba(249,115,22,0.15);
  --green: #10b981;
  --green-dim: rgba(16,185,129,0.12);
  --border: rgba(255,255,255,0.07);
  --font-head: 'Syne', sans-serif;
  --font-body: 'DM Sans', sans-serif;
}

html { font-size: 16px; }
body {
  background: var(--bg);
  color: var(--fg);
  font-family: var(--font-body);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

/* HEADER */
.site-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.5rem 3rem;
  border-bottom: 1px solid var(--border);
  position: sticky;
  top: 0;
  background: rgba(15,15,20,0.85);
  backdrop-filter: blur(12px);
  z-index: 100;
}
.logo { font-family: var(--font-head); font-weight: 800; font-size: 1.35rem; color: var(--fg); }
.nav-badge { font-size: 0.7rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; background: var(--accent-dim); color: var(--accent); padding: 0.3rem 0.8rem; border-radius: 99px; }

/* HERO */
.hero { padding: 5rem 3rem 4rem; }
.hero-inner { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; }
.eyebrow { font-size: 0.75rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--accent); margin-bottom: 1.2rem; }
.hero-text h1 { font-family: var(--font-head); font-size: clamp(2.6rem, 4vw, 3.8rem); font-weight: 800; line-height: 1.1; letter-spacing: -0.02em; color: var(--fg); margin-bottom: 1.2rem; }
.lede { color: var(--fg-2); font-size: 1.05rem; line-height: 1.65; margin-bottom: 2rem; max-width: 440px; }
.hero-tags { display: flex; flex-wrap: wrap; gap: 0.6rem; }
.hero-tags span { font-size: 0.78rem; font-weight: 500; color: var(--fg-2); background: var(--bg-3); border: 1px solid var(--border); padding: 0.4rem 0.85rem; border-radius: 99px; }

/* WIDGET */
.hero-widget { display: flex; justify-content: flex-end; }
.widget-card { background: var(--bg-2); border: 1px solid var(--border); border-radius: 16px; padding: 1.5rem; width: 340px; box-shadow: 0 24px 60px rgba(0,0,0,0.5); }
.widget-header { display: flex; align-items: center; gap: 0.5rem; font-size: 0.78rem; font-weight: 600; color: var(--fg-2); margin-bottom: 0.6rem; }
.live-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--green); box-shadow: 0 0 6px var(--green); animation: pulse 1.5s infinite; }
@keyframes pulse { 0%,100% { opacity:1; } 50% { opacity: 0.4; } }
.widget-time { margin-left: auto; color: var(--fg-2); font-size: 0.72rem; }
.widget-campaign { font-weight: 600; font-size: 0.9rem; color: var(--fg); margin-bottom: 1.1rem; }
.widget-metrics { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.6rem; margin-bottom: 1rem; }
.metric { background: var(--bg-3); border-radius: 8px; padding: 0.6rem 0.4rem; text-align: center; }
.metric-val { font-family: var(--font-head); font-size: 1.05rem; font-weight: 700; color: var(--fg); }
.metric-val.green { color: var(--green); }
.metric-lbl { font-size: 0.65rem; color: var(--fg-2); margin-top: 0.2rem; }
.widget-budget { margin-bottom: 0.9rem; }
.budget-bar { height: 4px; background: var(--bg-3); border-radius: 99px; margin-bottom: 0.4rem; overflow: hidden; }
.budget-fill { height: 100%; width: 49.6%; background: var(--accent); border-radius: 99px; }
.widget-budget span { font-size: 0.7rem; color: var(--fg-2); }
.widget-actions { display: flex; flex-direction: column; gap: 0.4rem; }
.action-chip { font-size: 0.72rem; padding: 0.35rem 0.7rem; border-radius: 99px; background: var(--bg-3); color: var(--fg-2); display: inline-block; width: fit-content; }
.action-chip.green { background: var(--green-dim); color: var(--green); }

/* PROOF */
.proof { background: var(--bg-2); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); padding: 2.5rem 3rem; }
.proof-inner { max-width: 1100px; margin: 0 auto; display: flex; align-items: center; gap: 0; }
.proof-item { flex: 1; text-align: center; padding: 0.5rem 2rem; }
.proof-num { font-family: var(--font-head); font-size: 2.4rem; font-weight: 800; color: var(--accent); line-height: 1; }
.proof-lbl { font-size: 0.8rem; color: var(--fg-2); margin-top: 0.4rem; }
.proof-divider { width: 1px; height: 48px; background: var(--border); flex-shrink: 0; }

/* FEATURES */
.features { padding: 5rem 3rem; }
.features-inner { max-width: 1100px; margin: 0 auto; }
.section-label { font-size: 0.72rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--accent); margin-bottom: 1rem; }
.features-inner h2 { font-family: var(--font-head); font-size: clamp(1.8rem, 3vw, 2.6rem); font-weight: 800; line-height: 1.15; margin-bottom: 3.5rem; }
.feature-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5rem; }
.feature-card { background: var(--bg-2); border: 1px solid var(--border); border-radius: 14px; padding: 2rem; transition: border-color 0.2s; }
.feature-card:hover { border-color: rgba(249,115,22,0.3); }
.feature-icon { width: 44px; height: 44px; background: var(--accent-dim); border-radius: 10px; display: flex; align-items: center; justify-content: center; color: var(--accent); margin-bottom: 1.2rem; }
.feature-card h3 { font-family: var(--font-head); font-size: 1.1rem; font-weight: 700; color: var(--fg); margin-bottom: 0.6rem; }
.feature-card p { font-size: 0.88rem; color: var(--fg-2); line-height: 1.65; }

/* HOW */
.how { background: var(--bg-2); padding: 5rem 3rem; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.how-inner { max-width: 1100px; margin: 0 auto; }
.steps { display: flex; align-items: flex-start; gap: 0; margin-top: 3rem; }
.step { flex: 1; }
.step-num { font-family: var(--font-head); font-size: 2rem; font-weight: 800; color: var(--accent); opacity: 0.3; line-height: 1; margin-bottom: 0.8rem; }
.step-body h4 { font-family: var(--font-head); font-size: 1rem; font-weight: 700; color: var(--fg); margin-bottom: 0.5rem; }
.step-body p { font-size: 0.85rem; color: var(--fg-2); line-height: 1.6; }
.step-arrow { display: flex; align-items: flex-start; padding-top: 1.5rem; color: var(--fg-2); opacity: 0.4; flex-shrink: 0; }

/* MANIFESTO */
.manifesto { padding: 5rem 3rem; }
.manifesto-inner { max-width: 860px; margin: 0 auto; }
.manifesto-quote { border-left: 3px solid var(--accent); padding-left: 2rem; margin-bottom: 2.5rem; }
.manifesto-quote p { font-family: var(--font-head); font-size: clamp(1.2rem, 2vw, 1.6rem); font-weight: 700; color: var(--fg); line-height: 1.4; }
.manifesto-sub { font-size: 0.92rem; color: var(--fg-2); line-height: 1.7; margin-bottom: 1rem; }

/* CLOSING */
.closing { padding: 5rem 3rem 6rem; text-align: center; }
.closing-inner { max-width: 700px; margin: 0 auto; }
.closing h2 { font-family: var(--font-head); font-size: clamp(1.8rem, 3vw, 2.8rem); font-weight: 800; line-height: 1.15; margin-bottom: 1.2rem; }
.closing p { font-size: 1rem; color: var(--fg-2); }

/* FOOTER */
.site-footer { border-top: 1px solid var(--border); padding: 2.5rem 3rem; }
.footer-inner { max-width: 1100px; margin: 0 auto; }
.footer-logo { font-family: var(--font-head); font-weight: 800; font-size: 1.1rem; margin-bottom: 0.5rem; }
.footer-copy { font-size: 0.82rem; color: var(--fg-2); margin-bottom: 0.8rem; }
.footer-meta { font-size: 0.75rem; color: var(--fg-2); opacity: 0.5; }

/* RESPONSIVE */
@media (max-width: 900px) {
  .hero-inner { grid-template-columns: 1fr; }
  .hero-widget { justify-content: flex-start; }
  .widget-card { width: 100%; max-width: 380px; }
  .proof-inner { flex-wrap: wrap; gap: 1rem; }
  .proof-item { padding: 0.5rem 1rem; }
  .proof-divider { display: none; }
  .feature-grid { grid-template-columns: 1fr; }
  .steps { flex-direction: column; gap: 2rem; }
  .step-arrow { display: none; }
}
@media (max-width: 600px) {
  .site-header, .hero, .features, .how, .manifesto, .closing, .site-footer { padding-left: 1.5rem; padding-right: 1.5rem; }
  .proof { padding: 2rem 1.5rem; }
  .proof-num { font-size: 1.8rem; }
}