/* === RESET & BASE === */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --bg: #0d1117;
  --bg2: #161b22;
  --bg3: #21262d;
  --fg: #f0ede8;
  --fg-muted: #8b949e;
  --accent: #f5a623;
  --accent-dim: rgba(245, 166, 35, 0.15);
  --radius: 8px;
  --font-display: 'Syne', sans-serif;
  --font-body: 'DM Sans', sans-serif;
}

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

/* === NAV === */
.nav { position: sticky; top: 0; z-index: 100; background: rgba(13,17,23,0.85); backdrop-filter: blur(12px); border-bottom: 1px solid rgba(240,237,232,0.06); }
.nav-inner { max-width: 1100px; margin: 0 auto; padding: 16px 32px; display: flex; align-items: center; justify-content: space-between; }
.nav-logo { font-family: var(--font-display); font-size: 1.2rem; font-weight: 800; color: var(--accent); letter-spacing: -0.02em; }
.nav-tagline { font-size: 0.8rem; color: var(--fg-muted); }

/* === HERO === */
.hero { padding: 80px 32px 100px; max-width: 1100px; margin: 0 auto; }
.hero-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
.hero-eyebrow { font-size: 0.75rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--accent); margin-bottom: 16px; }
.hero-headline { font-family: var(--font-display); font-size: clamp(2.2rem, 4vw, 3.2rem); font-weight: 800; line-height: 1.1; letter-spacing: -0.03em; color: var(--fg); margin-bottom: 20px; }
.hero-sub { font-size: 1.05rem; color: var(--fg-muted); line-height: 1.7; margin-bottom: 36px; max-width: 440px; }
.hero-price { display: flex; align-items: baseline; gap: 8px; }
.price-big { font-family: var(--font-display); font-size: 2rem; font-weight: 800; color: var(--accent); }
.price-sub { font-size: 0.85rem; color: var(--fg-muted); }

/* === SITE MOCKUP === */
.site-mockup { background: var(--bg2); border: 1px solid rgba(240,237,232,0.1); border-radius: 12px; overflow: hidden; box-shadow: 0 32px 80px rgba(0,0,0,0.5), 0 0 0 1px rgba(245,166,35,0.1); }
.mockup-topbar { background: var(--bg3); padding: 10px 14px; display: flex; align-items: center; gap: 8px; }
.mockup-dot { width: 10px; height: 10px; border-radius: 50%; }
.mockup-dot.red { background: #ff5f57; }
.mockup-dot.yellow { background: #febc2e; }
.mockup-dot.green { background: #28c840; }
.mockup-url { font-size: 0.7rem; color: var(--fg-muted); background: var(--bg); padding: 3px 10px; border-radius: 4px; margin-left: 8px; }
.mockup-content { padding: 16px; }
.mockup-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.mockup-logo { display: flex; align-items: center; gap: 8px; }
.logo-icon { width: 28px; height: 28px; background: var(--accent); border-radius: 6px; }
.logo-lines { display: flex; flex-direction: column; gap: 3px; }
.logo-line { height: 4px; background: var(--fg-muted); border-radius: 2px; }
.logo-line.long { width: 60px; }
.logo-line.short { width: 40px; }
.mockup-nav { display: flex; gap: 4px; }
.nav-pill { font-size: 0.65rem; padding: 4px 8px; border-radius: 4px; color: var(--fg-muted); }
.nav-pill.active { background: var(--accent-dim); color: var(--accent); }
.mockup-hero { margin-bottom: 14px; }
.hero-band { background: linear-gradient(135deg, #1a2332, #0d1520); border: 1px solid rgba(245,166,35,0.2); border-radius: 8px; padding: 14px 16px; display: flex; justify-content: space-between; align-items: center; }
.band-title { font-family: var(--font-display); font-size: 0.9rem; font-weight: 700; color: var(--fg); }
.band-sub { font-size: 0.7rem; color: var(--fg-muted); margin-top: 2px; }
.band-cta { background: var(--accent); color: var(--bg); font-size: 0.7rem; font-weight: 700; padding: 6px 12px; border-radius: 6px; white-space: nowrap; }
.mockup-features { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 14px; }
.feature-card { background: var(--bg3); border-radius: 8px; padding: 10px; display: flex; align-items: center; gap: 10px; }
.card-icon { width: 28px; height: 28px; border-radius: 6px; flex-shrink: 0; }
.card-icon.gbp { background: linear-gradient(135deg, #4285f4, #34a853); }
.card-icon.chat { background: linear-gradient(135deg, #9333ea, #c084fc); }
.card-icon.form { background: linear-gradient(135deg, #f59e0b, #fbbf24); }
.card-icon.seo { background: linear-gradient(135deg, #10b981, #34d399); }
.card-label { font-size: 0.7rem; font-weight: 600; color: var(--fg); }
.mockup-chatbot { background: var(--bg3); border-radius: 8px; padding: 10px; border: 1px solid rgba(147,51,234,0.3); }
.chat-header { display: flex; align-items: center; gap: 6px; font-size: 0.65rem; color: #c084fc; font-weight: 600; margin-bottom: 8px; }
.chat-dot { width: 8px; height: 8px; border-radius: 50%; background: #9333ea; }
.chat-msg { font-size: 0.65rem; padding: 6px 8px; border-radius: 6px; margin-bottom: 4px; line-height: 1.4; }
.chat-msg.user { background: rgba(147,51,234,0.2); color: #e9d5ff; align-self: flex-end; }
.chat-msg.bot { background: var(--bg2); color: var(--fg-muted); }

/* === PROBLEM === */
.problem { background: var(--bg2); padding: 80px 32px; }
.problem-inner { max-width: 1100px; margin: 0 auto; }
.section-label { font-size: 0.7rem; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: var(--accent); margin-bottom: 16px; }
.section-headline { font-family: var(--font-display); font-size: clamp(1.8rem, 3vw, 2.4rem); font-weight: 800; line-height: 1.2; letter-spacing: -0.02em; max-width: 600px; margin-bottom: 48px; }
.problem-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; margin-bottom: 40px; }
.problem-card { padding: 28px; background: var(--bg); border: 1px solid rgba(240,237,232,0.06); border-radius: 12px; }
.problem-icon { margin-bottom: 16px; }
.problem-card h3 { font-family: var(--font-display); font-size: 1.1rem; font-weight: 700; margin-bottom: 10px; }
.problem-card p { font-size: 0.9rem; color: var(--fg-muted); line-height: 1.6; }
.problem-footnote { font-size: 0.85rem; color: var(--fg-muted); font-style: italic; padding-top: 24px; border-top: 1px solid rgba(240,237,232,0.06); }

/* === SOLUTION === */
.solution { padding: 80px 32px; max-width: 1100px; margin: 0 auto; }
.solution-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.solution-card { padding: 28px; background: var(--bg2); border: 1px solid rgba(240,237,232,0.06); border-radius: 12px; }
.sol-icon { margin-bottom: 14px; }
.solution-card h3 { font-family: var(--font-display); font-size: 1rem; font-weight: 700; margin-bottom: 10px; }
.solution-card p { font-size: 0.85rem; color: var(--fg-muted); line-height: 1.6; }

/* === WHY STACKLOCAL === */
.whypace { background: var(--bg2); padding: 80px 32px; }
.whypace-inner { max-width: 1100px; margin: 0 auto; }
.whypace-badge { font-size: 0.75rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--fg-muted); margin-bottom: 40px; text-align: center; }
.whypace-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; margin-bottom: 48px; }
.whypace-item { text-align: center; }
.whypace-stat { font-family: var(--font-display); font-size: 3rem; font-weight: 800; color: var(--accent); letter-spacing: -0.03em; }
.whypace-label { font-size: 0.85rem; color: var(--fg-muted); margin: 6px 0 12px; font-weight: 600; }
.whypace-desc { font-size: 0.8rem; color: var(--fg-muted); line-height: 1.6; }
.whypace-analogy { background: var(--accent-dim); border: 1px solid rgba(245,166,35,0.2); border-radius: 12px; padding: 28px 32px; text-align: center; }
.whypace-analogy p { font-size: 1rem; color: var(--fg); line-height: 1.7; }
.whypace-analogy strong { color: var(--accent); }

/* === PRICING === */
.pricing { padding: 80px 32px; max-width: 1100px; margin: 0 auto; }
.pricing-card { background: var(--bg2); border: 1px solid rgba(245,166,35,0.2); border-radius: 16px; padding: 48px; max-width: 600px; margin: 0 auto; }
.pricing-header { margin-bottom: 28px; }
.pricing-name { font-family: var(--font-display); font-size: 1.6rem; font-weight: 800; }
.pricing-tag { font-size: 0.8rem; color: var(--accent); margin-top: 4px; }
.pricing-amount { display: flex; align-items: baseline; gap: 10px; margin-bottom: 32px; padding-bottom: 32px; border-bottom: 1px solid rgba(240,237,232,0.08); }
.pricing-setup { font-family: var(--font-display); font-size: 2.8rem; font-weight: 800; color: var(--fg); }
.pricing-setup-label { font-size: 0.9rem; color: var(--fg-muted); }
.pricing-divider { font-size: 1.2rem; color: var(--fg-muted); }
.pricing-monthly { font-family: var(--font-display); font-size: 2.8rem; font-weight: 800; color: var(--accent); }
.pricing-per { font-size: 1rem; }
.pricing-list { list-style: none; display: flex; flex-direction: column; gap: 14px; margin-bottom: 32px; }
.pricing-list li { display: flex; align-items: center; gap: 12px; font-size: 0.95rem; color: var(--fg); }
.pricing-math { background: var(--bg); border-radius: 10px; padding: 20px 24px; }
.math-line { font-family: var(--font-display); font-size: 1rem; color: var(--fg); margin-bottom: 8px; }
.math-line strong { color: var(--accent); }
.math-note { font-size: 0.8rem; color: var(--fg-muted); }

/* === CLOSING === */
.closing { padding: 80px 32px; max-width: 1100px; margin: 0 auto; }
.closing-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
.closing-headline { font-family: var(--font-display); font-size: clamp(1.4rem, 2.5vw, 1.9rem); font-weight: 800; line-height: 1.3; letter-spacing: -0.02em; margin-bottom: 20px; }
.closing-sub { font-size: 0.95rem; color: var(--fg-muted); line-height: 1.7; margin-bottom: 28px; }
.closing-cta { }
.cta-label { font-family: var(--font-display); font-size: 1rem; font-weight: 700; color: var(--fg-muted); }
.closing-visual { display: flex; flex-direction: column; gap: 28px; }
.closing-stat { padding: 24px 28px; background: var(--bg2); border: 1px solid rgba(240,237,232,0.06); border-radius: 12px; }
.stat-number { font-family: var(--font-display); font-size: 2.4rem; font-weight: 800; color: var(--accent); letter-spacing: -0.03em; }
.stat-desc { font-size: 0.8rem; color: var(--fg-muted); margin-top: 4px; line-height: 1.5; }

/* === FOOTER === */
.footer { border-top: 1px solid rgba(240,237,232,0.06); padding: 40px 32px; }
.footer-inner { max-width: 1100px; margin: 0 auto; display: flex; justify-content: space-between; align-items: center; }
.footer-logo { font-family: var(--font-display); font-size: 1.1rem; font-weight: 800; color: var(--accent); margin-bottom: 4px; }
.footer-tagline { font-size: 0.8rem; color: var(--fg-muted); }
.footer-meta { font-size: 0.8rem; color: var(--fg-muted); text-align: right; line-height: 1.6; }
.footer-copy { color: rgba(139,148,158,0.6); }

/* === RESPONSIVE === */
@media (max-width: 900px) {
  .hero-inner { grid-template-columns: 1fr; gap: 40px; }
  .closing-inner { grid-template-columns: 1fr; gap: 40px; }
  .problem-grid { grid-template-columns: 1fr; }
  .solution-grid { grid-template-columns: 1fr 1fr; }
  .whypace-grid { grid-template-columns: 1fr; gap: 24px; }
}

@media (max-width: 640px) {
  .hero { padding: 48px 20px 64px; }
  .solution-grid { grid-template-columns: 1fr; }
  .footer-inner { flex-direction: column; gap: 16px; text-align: center; }
  .footer-meta { text-align: center; }
  .pricing-card { padding: 28px 24px; }
  .pricing-setup, .pricing-monthly { font-size: 2.2rem; }
  .mockup-features { grid-template-columns: 1fr; }
  .nav-inner { padding: 14px 20px; }
}