/* Simple pages (contact, legal, about, FAQ, careers, FINO, 404): a quiet hero, readable text and the
   legal contact block. */

.page-hero {
  padding-block: var(--space-2xl) var(--space-xl);
}

.page-hero__inner {
  display: grid;
  justify-items: start;
  gap: var(--space-m);
}

.page-hero__title {
  font-size: var(--step-5);
  font-weight: 350;
  letter-spacing: -0.02em;
}

.page-hero__lead {
  max-width: 30ch;
  font-size: var(--step-2);
  line-height: var(--leading-snug);
  color: var(--ink-2);
}

.page-hero__meta {
  font-family: var(--font-sans);
  font-size: var(--step--1);
  color: var(--ink-2);
}

.page-hero__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-m) var(--space-l);
  margin-top: var(--space-s);
}

/* Reading text: legal pages and other long copy. */

.prose {
  max-width: 68ch;
  padding-bottom: var(--space-section);
}

.prose h2 {
  margin-top: var(--space-xl);
  font-size: var(--step-2);
}

.prose h3 {
  margin-top: var(--space-l);
  font-size: var(--step-1);
}

.prose :is(p, ul, ol) {
  margin-top: var(--space-s);
}

.prose :is(ul, ol) {
  padding-left: 1.25em;
}

.prose li + li {
  margin-top: var(--space-2xs);
}

.prose a:hover {
  color: var(--link-hover);
}

/* The same contact block on every legal page. */

.legal-contact {
  margin-top: var(--space-xl);
  padding: var(--space-m);
  background: var(--paper-2);
  border: var(--border);
  border-radius: var(--radius);
}

.prose .legal-contact h2 {
  margin-top: 0;
}

.legal-contact address {
  font-style: normal;
}

.nowrap {
  white-space: nowrap;
}

/* Text sections on About, Careers and FINO: a heading on the left, text on the right. */

.split {
  display: grid;
  gap: var(--space-l) var(--space-xl);
}

.split h2 {
  font-size: var(--step-4);
}

.split__body > * + * {
  margin-top: var(--space-s);
}

.split__body p {
  max-width: 60ch;
  font-size: var(--step-1);
  line-height: var(--leading-snug);
}

.split__body a:not(.btn):hover {
  color: var(--link-hover);
}

/* Short list of points (values, FINO features). */

.points {
  display: grid;
  gap: var(--space-l);
}

.points li {
  padding-top: var(--space-s);
  border-top: var(--border);
}

.points h3 {
  font-size: var(--step-2);
}

.points p {
  margin-top: var(--space-xs);
  color: var(--ink-2);
}

@media (min-width: 600px) {
  .points {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .split {
    grid-template-columns: 1fr 2fr;
  }

  .points--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* About: the team (shown once site-config lists it). */

.team {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr));
  gap: var(--space-l) var(--space-m);
}

.team img {
  width: 100%;
  height: auto;
  margin-bottom: var(--space-s);
  border-radius: var(--radius);
}

.team h3 {
  font-size: var(--step-1);
}

.team p {
  font-family: var(--font-sans);
  font-size: var(--step--1);
  color: var(--ink-2);
}
