:root {
  color-scheme: light dark;
  --color-background: hsl(155, 24%, 96%);
  --color-text: hsl(155, 27%, 19%);
  --color-link: hsl(155, 33%, 31%);
  --color-border: hsl(155, 9%, 80%);
  --font-body: sans-serif;
  --font-display: serif;
  --space-xs: 0.25rem;
  --space-sm: 0.5rem;
  --space-md: 1rem;
  --space-lg: 1.5rem;
  --space-xl: 2.5rem;
  --space-2xl: 3rem;
}

@media (prefers-color-scheme: dark) {
  :root {
    --color-background: hsl(155, 20%, 12%);
    --color-text: hsl(155, 19%, 89%);
    --color-link: hsl(155, 26%, 73%);
    --color-border: hsl(155, 14%, 31%);
  }
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  min-height: 100vh;
  min-height: 100svh;
  display: grid;
  grid-template-rows: 1fr auto;
  gap: var(--space-2xl);
  place-items: center;
  padding: var(--space-2xl) var(--space-lg);
  background: var(--color-background);
  color: var(--color-text);
  font-family: var(--font-body);
}

address {
  font-style: normal;
}

.content-card {
  width: 100%;
  max-width: 34rem;
  overflow-wrap: anywhere;
  border-top: 2px solid currentColor;
  padding-top: var(--space-xl);
}

.home-main {
  width: 100%;
  align-self: stretch;
  display: grid;
  place-items: center;
  text-align: center;
  font-size: x-large;
}

.domain-notice {
  margin: 0;
  font-size: inherit;
  font-weight: inherit;
  line-height: 1.7;
}

.page-title {
  margin: 0 0 var(--space-2xl);
  font-family: var(--font-display);
  font-size: clamp(2rem, 7vw, 3.5rem);
  font-weight: 400;
  letter-spacing: -0.05em;
  line-height: 1;
}

.content-card p {
  margin: 0 0 var(--space-lg);
  line-height: 1.7;
}

.page-updated {
  font-size: 0.875rem;
}

.content-section {
  margin-top: var(--space-2xl);
}

.content-section h2 {
  margin: 0 0 var(--space-md);
  font-size: 1.5rem;
}

.details-list {
  margin: 0;
}

.details-list__row {
  display: grid;
  grid-template-columns: 13rem minmax(0, 1fr);
  gap: var(--space-md);
  padding: var(--space-lg) 0;
  border-top: 1px solid var(--color-border);
  font-variant-numeric: tabular-nums;
}

.details-list__row dt {
  padding-top: 0.25rem;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  line-height: 1.6;
  text-transform: uppercase;
}

.details-list__row dd {
  margin: 0;
  font-size: 1rem;
  line-height: 1.7;
  overflow-wrap: anywhere;
}

.site-footer {
  font-size: 0.75rem;
  line-height: 1.5;
  text-align: center;
}

a {
  color: var(--color-link);
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

a:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 1px;
  border-radius: 1px;
}

.back-link::before {
  content: "⮌";
  display: inline-block;
  margin-inline-end: var(--space-sm);
}

.site-footer a,
.details-list__row dd a {
  color: var(--color-text);
}

.inline-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.inline-list li {
  display: inline-block;
}

.inline-list li + li::before {
  content: " · ";
  margin-inline: 0;
}

@media (max-width: 420px) {
  .details-list__row {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-sm);
  }
}
