/* Home page */

.hero {
  padding-block: var(--s8) var(--s7);
}

.eyebrow {
  margin: 0 0 var(--s4);
  color: var(--accent);
  font: 600 0.8125rem/1.4 var(--font-mono);
  letter-spacing: 0.04em;
}

.hero h1 {
  max-width: 22ch;
  margin: 0 0 var(--s5);
  font: 600 clamp(2rem, 4.5vw, 3.25rem) / 1.12 var(--font-serif);
  letter-spacing: -0.01em;
}

.lede {
  max-width: 58ch;
  margin: 0 0 var(--s6);
  color: var(--muted);
  font-size: 1.125rem;
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s3);
  margin: 0;
}

.section {
  padding-block: var(--s7);
  border-top: 1px solid var(--border);
}

.section h2 {
  margin: 0 0 var(--s5);
  color: var(--muted);
  font: 600 0.8125rem/1.4 var(--font-mono);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* Services: numbered editorial rows */

.services {
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: service;
}

.services li {
  display: grid;
  grid-template-columns: 2.5rem 1fr;
  gap: var(--s1) var(--s4);
  padding-block: var(--s4);
  border-bottom: 1px solid var(--border);
  counter-increment: service;
}

.services li:first-child {
  border-top: 1px solid var(--border);
}

.services li::before {
  content: counter(service, decimal-leading-zero);
  grid-row: span 2;
  color: var(--accent);
  font: 0.875rem/2 var(--font-mono);
}

.services h3 {
  margin: 0;
  font: 600 1.25rem/1.4 var(--font-serif);
}

.services p {
  max-width: 60ch;
  margin: 0;
  color: var(--muted);
}

@media (min-width: 48rem) {
  .services li {
    grid-template-columns: 2.5rem 18rem 1fr;
    align-items: baseline;
  }

  .services li::before {
    grid-row: auto;
  }
}

/* Principles */

.principles {
  display: grid;
  gap: var(--s5);
  margin: 0;
  padding: 0;
  list-style: none;
}

.principles li {
  color: var(--muted);
}

.principles strong {
  display: block;
  margin-bottom: var(--s2);
  color: var(--text);
  font: 600 1.125rem/1.4 var(--font-serif);
}

@media (min-width: 48rem) {
  .principles {
    grid-template-columns: repeat(3, 1fr);
    gap: var(--s6);
  }
}

/* Team */

.team {
  display: grid;
  gap: var(--s3);
  margin: 0;
  padding: 0;
  list-style: none;
}

.person {
  display: grid;
  gap: var(--s1);
  height: 100%;
  padding: var(--s4);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface);
  color: var(--text);
  text-decoration: none;
}

a.person:hover {
  border-color: var(--accent);
}

a.person:hover .person-cta {
  text-decoration: underline;
}

.person-name {
  font-weight: 600;
}

.person-role,
.person-note {
  color: var(--muted);
  font-size: 0.9375rem;
}

.person-cta {
  color: var(--accent);
  font-size: 0.9375rem;
  font-weight: 600;
}

@media (min-width: 48rem) {
  .team {
    grid-template-columns: repeat(3, 1fr);
  }
}
