/* Global styles loaded by templates that extend base.html */

html, body {
  height: 100%;
}

body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

body > footer {
  margin-top: auto;
}

.hero {
  padding: 4rem 0;
}

.hero h1 {
  letter-spacing: -0.02em;
}

.muted-max {
  max-width: 58ch;
}

.section {
  padding: 4rem 0;
}

.section-tight {
  padding: 3rem 0;
}

.shadow-soft {
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.06);
}

.card-ill {
  width: 100%;
  height: 140px;
  object-fit: contain;
  padding: 0.75rem;
}

.microcopy {
  font-size: 0.95rem;
}

.soft-box {
  background: #fff;
  border: 1px solid #e9ecef;
  border-radius: 0.9rem;
  padding: 1.25rem;
}

.btn-outline-strong {
  border-width: 2px;
}

.hero-illustration {
  max-width: 520px;
}

.pricing-box {
  max-width: 46ch;
}
