.etc-page { line-height: 1.65; }
.etc-page .navbar, .etc-page .site-footer { line-height: 1.5; }
.etc-container { width: min(100% - 48px, 876px); margin-inline: auto; }
.etc-intro { max-width: 760px; padding-top: 24px; }
.etc-intro h1 { margin: 0 0 8px; font-size: 30px; font-weight: 550; line-height: 1.2; letter-spacing: -0.6px; }
.etc-story { margin-top: 24px; font-size: 15px; }
.etc-page :is(a, summary):focus-visible { outline: 2px solid #7c800e; outline-offset: 5px; }
.skip-link { position: fixed; top: 12px; left: 16px; z-index: 1040; padding: 8px 16px; background: white; transform: translateY(-200%); }
.skip-link:focus { transform: translateY(0); }
.blog-post { max-width: 760px; margin-top: 40px; scroll-margin-top: 76px; }
.blog-post + .blog-post { margin-top: 56px; }
.post-heading { margin-bottom: 16px; }
.post-meta { margin-bottom: 6px; color: #767176; font-size: 13px; }
.post-heading h2 { margin: 0; font-size: 25px; font-weight: 500; line-height: 1.3; }
.post-body { font-size: 15px; }
.post-body > * + * { margin-top: 24px; }
.post-body figure { margin-bottom: 0; }
.post-body img { display: block; width: 100%; height: auto; }
.post-body figcaption { margin-top: 8px; color: #767176; font-size: 13px; }
.photo-placeholder { display: grid; place-items: center; aspect-ratio: 4 / 3; background: #f5f4f1; color: #767176; font-size: 14px; text-align: center; padding: 20px; }
.photo-wide { aspect-ratio: 2 / 1; }
.post-photo-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.post-photo-pair figure { margin: 0; }
@media (max-width: 600px) {
    .etc-container { width: calc(100% - 36px); }
    .blog-post { margin-top: 32px; }
    .photo-wide { aspect-ratio: 4 / 3; }
    .post-photo-pair { grid-template-columns: 1fr; gap: 24px; }
}
