:root {
  --wp--preset--spacing--20: .44rem;
  --wp--preset--spacing--30: .5rem;
  --wp--preset--spacing--40: 1rem;
  --wp--preset--spacing--50: clamp(1.5rem, 2.41vw, 2rem);
  --wp--preset--spacing--60: clamp(1.5rem, 3.61vw, 3rem);
  --wp--preset--spacing--70: clamp(2rem, 4.82vw, 4rem);
  --wp--preset--spacing--80: clamp(3rem, 7.23vw, 6rem);
}
* { box-sizing: border-box; }
body { margin: 0; color: #000; font-weight: 300; line-height: 1.6; }
a { color: inherit; text-underline-offset: .17em; }
a:hover { text-decoration-thickness: 2px; }
:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.skip { position: absolute; left: 24px; top: 0; padding: .5rem 1rem; background: white; transform: translateY(-110%); z-index: 1; }
.skip:focus { transform: none; }
.header { display: flex; align-items: end; justify-content: space-between; }
.header nav, .pagination { display: flex; flex-wrap: wrap; align-items: center; gap: 1.5rem; }
.header nav a { text-decoration: none; }
.header nav a:hover { text-decoration: underline; }
img, video { max-width: 100%; height: auto; }
figure { margin: 0; }
.content figure + figure { margin-top: 1.5rem; }
.content img { display: block; }
.content figcaption { font-size: .8em; margin-top: .5em; }
.content iframe { max-width: 100%; border: 0; }
.content pre { overflow: auto; }
.content table { max-width: 100%; border-collapse: collapse; }
.content td, .content th { padding: .35rem; border: 1px solid currentColor; }
.content blockquote { margin-inline: 0; padding-inline: 1rem; border-inline-start: 2px solid; }
.content > :first-child { margin-top: 0; }
.content > :last-child { margin-bottom: 0; }
.heading h1 { font-weight: 300; margin: 0; line-height: 1.35; }
.wp-block-columns, .wp-block-gallery { display: flex; gap: 1.5rem; flex-wrap: wrap; }
.wp-block-column, .wp-block-gallery figure { flex: 1 1 200px; min-width: 0; }
.wp-block-embed__wrapper { overflow-wrap: anywhere; }
.alignleft { float: left; margin-right: 1rem; }
.alignright { float: right; margin-left: 1rem; }
.aligncenter { margin-inline: auto; }
.pagination { margin-top: 2rem; }
.search-controls { display: flex; flex-wrap: wrap; gap: .5rem; }
input, button { font: inherit; }
.search-results li { margin-block: .75em; }
.footer ul { list-style: none; padding: 0; }
@font-face { font-family: Epilogue; src: url('/assets/epilogue.ttf') format('truetype'); font-weight: 100 900; font-display: swap; }
body { background: #f2f2f2; font-family: Epilogue, sans-serif;
  font-size: clamp(.918rem, .918rem + ((1vw - .2rem) * 1.087), 1.38rem); }
.header { padding: 1.8rem 1.5rem; }
main { min-height: 60vh; padding: 2rem 1.5rem 0; }
.heading h1 { font-size: clamp(1.75rem, 1.65rem + .4vw, 2rem); }
main.page .heading, main.page .content { max-width: 620px; margin-inline: auto; }
main.page .heading { margin-bottom: 2rem; }
main.detail { display: grid; grid-template-columns: minmax(0, 380px) minmax(0, 840px); justify-content: center; gap: 2rem; }
.detail .meta { font-size: .92rem; margin-top: 1.15rem; }
.detail .content img { width: 100%; }
.grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(15rem, 100%), 1fr)); gap: 2.4rem 1.5rem; padding: 0; margin: 0; list-style: none; }
.grid img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }
.heading + .listing { margin-top: 2rem; }
.footer { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 2rem; padding: 4rem 1.5rem; }
.footer::before { content: '···'; text-align: center; grid-column: 1/-1; letter-spacing: 1em; }
.footer ul { margin: 0; }
@media (max-width: 780px) {
  main.detail { display: block; }
  .detail .heading { margin-bottom: 1.55rem; }
  .header { padding-top: 1.95rem; padding-bottom: 1.95rem; }
}
@media (max-width: 780px) {
  .detail .meta { margin-top: 1rem; }
  .detail .heading { margin-bottom: 1.3rem; }
}
