/* TaleToReel marketing homepage — page styles only.
   All color/type/space tokens come from ui-lib theme.css (light theme).
   Fonts point at the app's existing woff2 files; no new assets. */

@font-face { font-family:'Inter'; src:url('../../app/static/fonts/Inter-400.woff2') format('woff2'); font-weight:400; font-display:swap; }
@font-face { font-family:'Inter'; src:url('../../app/static/fonts/Inter-600.woff2') format('woff2'); font-weight:600; font-display:swap; }
@font-face { font-family:'Spectral'; src:url('../../app/static/fonts/Spectral-400.woff2') format('woff2'); font-weight:400; font-display:swap; }
@font-face { font-family:'Spectral'; src:url('../../app/static/fonts/Spectral-600.woff2') format('woff2'); font-weight:600; font-display:swap; }

body { background: var(--color-bg); }

/* ── Top bar ── */
.hp-topbar {
  max-width: 64rem;
  margin: 0 auto;
  padding: var(--space-5) var(--space-6);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
}
.hp-topbar .mark { display: inline-flex; }
.hp-logo { height: 2.25rem; width: auto; display: block; }
.hp-logo-sm { height: 1.5rem; width: auto; }

/* ── Hero ── */
.hp-hero {
  max-width: 64rem;
  margin: 0 auto;
  padding: var(--space-8) var(--space-6) var(--space-8);
  text-align: center;
}
.hp-hero h1 {
  font-family: 'Spectral', Georgia, serif;
  font-size: 3rem;
  font-weight: 600;
  line-height: 1.15;
  color: var(--color-text);
}
.hp-hero-sub {
  font-size: var(--text-lg);
  color: var(--color-text-muted);
  max-width: 38rem;
  margin: var(--space-5) auto var(--space-6);
}

/* ── Sections ── */
.hp-section {
  max-width: 64rem;
  margin: 0 auto;
  padding: var(--space-8) var(--space-6);
}
.hp-section h2 {
  font-family: 'Spectral', Georgia, serif;
  font-size: var(--text-3xl);
  font-weight: 600;
  color: var(--color-text);
  margin-bottom: var(--space-6);
  max-width: 34rem;
}

/* ── Card grids ── */
.hp-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-8);
}
.hp-cards .card { padding: var(--space-6); }
.hp-cards .card h3 {
  font-size: var(--text-lg);
  font-weight: 600;
  margin-bottom: var(--space-2);
}
.hp-cards .card p { color: var(--color-text-muted); }

.hp-founding {
  margin-top: var(--space-6);
  font-size: var(--text-lg);
  font-weight: 600;
  color: var(--color-text);
  max-width: 40rem;
}

/* ── Use cases ── */
.hp-usecases {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-6) var(--space-8);
}
.hp-usecases h3 {
  font-size: var(--text-lg);
  font-weight: 600;
  margin-bottom: var(--space-2);
  color: var(--color-primary);
}
.hp-usecases p { color: var(--color-text-muted); }

/* ── Steps ── */
.hp-steps {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-5);
  counter-reset: hp-step;
}
.hp-steps li {
  counter-increment: hp-step;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: var(--space-5);
}
.hp-steps li::before {
  content: counter(hp-step);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  border-radius: var(--radius-full);
  background: var(--color-primary);
  color: var(--color-text-inverse);
  font-size: var(--text-sm);
  font-weight: 600;
  margin-bottom: var(--space-3);
}
.hp-steps h3 { font-size: var(--text-base); font-weight: 600; margin-bottom: var(--space-2); }
.hp-steps p { font-size: var(--text-sm); color: var(--color-text-muted); }

/* ── Exclusion list ── */
.hp-exclude ul {
  list-style: none;
  max-width: 44rem;
}
.hp-exclude li {
  padding: var(--space-4) 0;
  border-bottom: 1px solid var(--color-divider);
  color: var(--color-text-muted);
}
.hp-exclude li:last-child { border-bottom: none; }

/* ── Final CTA ── */
.hp-finalcta {
  padding-top: var(--space-8);
  padding-bottom: var(--space-8);
}
.hp-finalcta h2 {
  font-family: 'Spectral', Georgia, serif;
  font-size: var(--text-3xl);
  font-weight: 600;
  margin-bottom: var(--space-6);
}

/* ── Footer ── */
.hp-footer {
  max-width: 64rem;
  margin: 0 auto;
  padding: var(--space-6);
  border-top: 1px solid var(--color-divider);
  display: flex;
  align-items: center;
  gap: var(--space-3);
  font-size: var(--text-sm);
  color: var(--color-text-muted);
}

/* ── Responsive (don't break, desktop-first) ── */
@media (max-width: 56rem) {
  .hp-cards { grid-template-columns: 1fr; }
  .hp-steps { grid-template-columns: repeat(2, 1fr); }
  .hp-usecases { grid-template-columns: 1fr; }
  .hp-hero h1 { font-size: var(--text-3xl); }
}
