:root {
  color-scheme: light;
  --ink: rgba(0, 0, 0, 0.85);
  --caption: #666;
  --gutter: clamp(1.25rem, 2vw, 2.5rem);
}

* { box-sizing: border-box; }

html {
  background: #fff;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  background: #fff;
  color: var(--ink);
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: clamp(15px, 1.03vw, 17px);
  font-weight: 400;
  line-height: 1.18;
  text-rendering: optimizeLegibility;
}

a {
  color: inherit;
  text-decoration-thickness: 0.055em;
  text-underline-offset: 0.11em;
}

a:hover { opacity: 0.62; }

a:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}

.page-shell {
  width: 100%;
  padding: clamp(2rem, 3.5vw, 4rem);
}

h1 {
  margin: 0 0 2.25rem;
  font-size: clamp(3rem, 3.45vw, 4.25rem);
  font-weight: 400;
  letter-spacing: -0.035em;
  line-height: 1.06;
}

h2 {
  margin: 0;
  font-size: clamp(2rem, 2.35vw, 3rem);
  font-weight: 400;
  letter-spacing: -0.034em;
  line-height: 1.12;
}

p, ul, figure, blockquote { margin: 0; }

.archive-intro {
  max-width: 60rem;
  margin-bottom: clamp(3rem, 4.5vw, 5rem);
  font-size: 1.26em;
  line-height: 1.4;
}

.quote-grid,
.bottom-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--gutter);
  align-items: start;
}

.top-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--gutter);
  align-items: start;
}

.gallery-pair {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  align-items: start;
}

.gallery-single { grid-template-columns: 1fr; }

figure img {
  display: block;
  width: 100%;
  height: auto;
  background: #f4f4f4;
}

figure > a { display: block; }

figcaption,
.source {
  display: block;
  margin-top: 0.7rem;
  color: var(--caption);
  font-size: clamp(14px, 0.92vw, 15px);
  line-height: 1.45;
}

.quote-grid { margin-top: clamp(3.75rem, 5.8vw, 7rem); }
.quote-card .source { margin-top: 1.15rem; }
.bottom-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: clamp(4rem, 6vw, 7.25rem);
}

blockquote {
  font-size: clamp(13px, 1.04vw, 17px);
  line-height: 1.13;
}

.bottom-grid figure { max-width: 100%; }

@media (max-width: 900px) {
  .page-shell { padding: 1.5rem; }
  h1 { margin-bottom: 2.5rem; }
  .archive-intro { font-size: 1.1rem; }
  .top-grid,
  .quote-grid,
  .bottom-grid {
    grid-template-columns: 1fr;
    gap: 3.5rem;
  }
  .gallery-pair { gap: 0.8rem; }
  .quote-grid,
  .bottom-grid { margin-top: 4.75rem; }
  h2 { max-width: 21ch; }
  blockquote { font-size: 1rem; }
}

@media (max-width: 480px) {
  .gallery-pair {
    grid-template-columns: 1fr;
    gap: 2.75rem;
  }
}

@media print {
  .page-shell { padding: 1.5cm; }
  a { text-decoration: none; }
}

/* Readability and accessibility fixes; preserve the existing layout. */
.entry-title {
  font-size: 1.15rem;
  line-height: 1.4;
  letter-spacing: normal;
  margin-bottom: .65rem;
  max-width: none;
}
.post-description, .post-media { font-size: 1rem; line-height: 1.6; }
.post-description { margin-top: 1rem; }
.post-media { margin-top: .75rem; }
.post-page-link { display: block; margin-top: .8rem; font-size: .875rem; line-height: 1.5; }
.public-social-links { margin: 1rem 0; line-height: 1.8; }
.statement-quote {
  font-size: clamp(2rem, 2.35vw, 3rem);
  font-weight: 400;
  letter-spacing: -.034em;
  line-height: 1.12;
}
.page-shell, .top-grid > *, .gallery-pair > *, .quote-grid > *, .bottom-grid > * { min-width: 0; }
h1, .entry-title, .source, figcaption { overflow-wrap: break-word; }
a:hover { opacity: 1; text-decoration-thickness: .1em; }
@media (max-width: 900px) { .statement-quote { max-width: 21ch; } }
@media (max-width: 480px) { h1 { font-size: clamp(2.15rem, 9vw, 3rem); } }
