* { box-sizing: border-box; margin: 0; padding: 0; }

/* Always reserve scrollbar space so the nav doesn't shift between pages */
html { overflow-y: scroll; scrollbar-gutter: stable; }

/* One column width for every page: as wide as a vertical photo that fits on screen (2:3), up to 1000px. */
:root { --col: min(1000px, max(320px, calc(90vh * 2 / 3))); }

body {
  background: #fff;
  color: #111;
  font: 17px/1.6 Spectral, Georgia, serif;
  padding: 32px 16px 64px;
}

nav {
  max-width: var(--col);
  margin: 0 auto 48px;
  display: flex;
  gap: 24px;
}
nav a { color: #999; text-decoration: none; }
nav a.active, nav a:hover { color: #111; }

.photos {
  max-width: var(--col);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 64px;
}
/* Every photo fills the column, so all share the same width. */
.photos img {
  display: block;
  width: 100%;
  height: auto;
}
.photos figure { width: 100%; }
.photos figcaption {
  margin-top: 10px;
  font-size: 15px;
  font-style: italic;
  color: #999;
}


.text {
  max-width: var(--col);
  margin: 0 auto;
}
.text p { max-width: 1000px; }
.text p + p { margin-top: 1em; }
