:root {
  --space-bg: #f7f7f5;
  --space-text: #141414;
  --space-muted: #6b6b6b;
  --space-max: 72rem;
  --space-gutter: clamp(1.25rem, 4vw, 3rem);
  --space-font: "Inter", ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI",
    sans-serif;
}

body {
  font-family: var(--space-font);
  color: var(--space-text);
  background-color: var(--space-bg);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.page-root {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  width: 100%;
}

.stub-page {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  align-items: center;
  justify-content: center;
  width: 100%;
}

.stub-page__shell {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  max-width: var(--space-max);
  padding-top: clamp(2rem, 6vw, 4rem);
  padding-bottom: clamp(2rem, 6vw, 4rem);
  padding-left: var(--space-gutter);
  padding-right: var(--space-gutter);
}

.stub-page__hero {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}

.stub-page__title-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  padding-bottom: 2rem;
}

.stub-page__title {
  font-size: clamp(2.5rem, 8vw, 4.5rem);
  font-weight: 600;
  line-height: 1.05;
  letter-spacing: -0.03em;
  text-align: center;
}

.stub-page__link-wrap {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  width: 100%;
}

.stub-page__link {
  display: flex;
  flex-direction: row;
  align-items: center;
  text-decoration: none;
  color: var(--space-text);
  transition: color 0.2s ease;
}

.stub-page__link:hover {
  color: var(--space-muted);
}

.stub-page__link-inner {
  display: flex;
  flex-direction: row;
  align-items: center;
}

.stub-page__link-text-wrap {
  display: flex;
  flex-direction: column;
}

.stub-page__link-text {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: -0.01em;
}

.stub-page__link-icon-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-left: 0.25rem;
}

.stub-page__link-icon {
  display: block;
  width: 1.25rem;
  height: 1.25rem;
}
