﻿/* ========================================
   typography.css
   ======================================== */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap');

body {
  font-family: var(--font-sans);
  font-size: var(--text-base);
  color: var(--text-primary);
  background-color: var(--bg-base);
}

.font-display { font-family: var(--font-display); }
.font-mono    { font-family: var(--font-mono); }

h1, h2, h3 { font-family: var(--font-display); font-weight: 700; line-height: 1.15; }
h4, h5, h6 { font-family: var(--font-sans); font-weight: 600; }

.text-hero    { font-size: var(--text-hero);  font-family: var(--font-display); font-weight: 700; line-height: 1.05; letter-spacing: -0.02em; }
.text-4xl     { font-size: var(--text-4xl); }
.text-3xl     { font-size: var(--text-3xl); }
.text-2xl     { font-size: var(--text-2xl); }
.text-xl      { font-size: var(--text-xl); }
.text-lg      { font-size: var(--text-lg); }
.text-base    { font-size: var(--text-base); }
.text-sm      { font-size: var(--text-sm); }
.text-xs      { font-size: var(--text-xs); }

.text-primary   { color: var(--text-primary); }
.text-secondary { color: var(--text-secondary); }
.text-muted     { color: var(--text-muted); }
.text-accent    { color: var(--accent-primary); }

.section-label {
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--accent-primary);
  display: flex;
  align-items: center;
  gap: var(--space-2);
}

.section-label::before {
  content: '';
  display: inline-block;
  width: 32px;
  height: 1px;
  background: var(--accent-primary);
}

.section-title {
  font-family: var(--font-display);
  font-size: var(--text-4xl);
  font-weight: 700;
  color: var(--text-primary);
  line-height: 1.1;
  letter-spacing: -0.02em;
  margin-top: var(--space-3);
}

.gradient-text {
  background: linear-gradient(135deg, #4F6EF7 0%, #7C3AED 50%, #4F6EF7 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
