/* Shared image sizing and captions. */
figure { margin: 1.5rem 0; }
figure img { height: auto; }
figure.portrait img { width: 320px; border-radius: 12px; }
figcaption { font-size: .875rem; color: inherit; margin-top: .5rem; }

/* A personal welcome, with quiet links woven into the text. */
main { padding-top: 2.5rem; }
.site-brand { display: inline-flex; align-items: center; gap: .6rem; color: #3d6055; }
.site-brand img { flex-shrink: 0; }
.site-brand span { font-family: Georgia, serif; font-size: 1.5rem; white-space: nowrap; }
.home-intro { max-width: 38rem; padding-block: 1rem 2rem; }
.home-intro > h1 {
  font-family: Georgia, serif;
  font-size: clamp(2.25rem, 6vw, 3.25rem);
  font-weight: 400;
  letter-spacing: -.025em;
  line-height: 1.15;
  margin-bottom: 2rem;
}
.home-intro > p { font-size: 1.125rem; line-height: 1.9; margin-block: 1.25rem; }
.home-intro a { color: #3d6055; font-weight: 500; text-decoration-color: #c58e73; text-underline-offset: .22em; }
.home-intro a:hover { text-decoration-color: currentColor; }
.dark .site-brand, .dark .home-intro a { color: #b4cbbf; }
a:focus-visible, button:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
