html { scroll-behavior: smooth; }
body { margin: 0; background: var(--surface-page); }
* { box-sizing: border-box; }
#root { min-height: 100vh; }
@media (prefers-reduced-motion: no-preference) {
  #root { animation: solvra-enter var(--dur-slow, 320ms) var(--ease-out, cubic-bezier(0.16,1,0.3,1)) both; }
  @keyframes solvra-enter {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: none; }
  }
}
.container { max-width: var(--container-max); margin: 0 auto; padding-left: var(--space-8); padding-right: var(--space-8); }
.section { padding-top: var(--section-y); padding-bottom: var(--section-y); }
.eyebrow {
  font-family: var(--font-mono);
  font-size: var(--text-eyebrow);
  font-weight: var(--weight-medium);
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
  color: var(--text-accent);
  margin-bottom: var(--space-4);
}
.display {
  font-family: var(--font-display);
  font-weight: var(--weight-extrabold);
  letter-spacing: var(--tracking-tighter);
  line-height: var(--leading-tight);
  color: var(--text-primary);
  margin: 0;
}
.body-lg {
  font-family: var(--font-sans);
  font-size: var(--text-body-lg);
  line-height: var(--leading-relaxed);
  color: var(--text-secondary);
  margin: 0;
}
.body-copy {
  font-family: var(--font-sans);
  font-size: var(--text-body);
  line-height: var(--leading-relaxed);
  color: var(--text-secondary);
  margin: 0;
}
.grid-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-8); }
.grid-3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); }
.grid-4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-8); }
.founder-grid { display: grid; grid-template-columns: 0.9fr 0.8fr 1fr; gap: var(--space-8); align-items: start; }
.nav-links { display: flex; align-items: center; gap: var(--space-8); }
.text-link {
  color: var(--text-primary);
  font-family: var(--font-sans);
  font-weight: var(--weight-semibold);
  text-decoration: none;
  transition: color var(--dur-fast) var(--ease-standard), background var(--dur-fast) var(--ease-standard), transform var(--dur-fast) var(--ease-standard);
}
.text-link:hover { color: var(--text-accent); }
.page-hero { background: var(--surface-page); border-bottom: 1px solid var(--border-subtle); }
.metric-row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-8); }
.mobile-only { display: none; }
.nav-toggle:hover { background: var(--ink-100); }
.mobile-nav-panel {
  display: none;
}
@media (max-width: 920px) {
  .grid-2, .grid-3, .grid-4, .founder-grid, .metric-row { grid-template-columns: 1fr; }
  .section { padding-top: var(--space-16); padding-bottom: var(--space-16); }
  .nav-links { display: none; }
  .mobile-only { display: inline-flex; }
  .header-cta-desktop { display: none; }
  .container { padding-left: var(--space-5); padding-right: var(--space-5); }
  .mobile-nav-panel {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
    padding: var(--space-5);
    border-top: 1px solid var(--border-subtle);
    background: var(--surface-page);
  }
  .mobile-nav-panel a {
    font-family: var(--font-sans);
    font-size: var(--text-body);
    font-weight: 600;
    color: var(--text-primary);
    text-decoration: none;
    padding: var(--space-2) 0;
  }
}
