:root{--paper: #fcfbf8;--ink: #201e1a;--muted: #6e6a61;--line: #e6e2da;--accent: #2c3e63;--measure: 40rem;--mosaic-max: 78rem;--font-display: "Fraunces", Georgia, serif;--font-body: "Newsreader", Georgia, serif}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:1.125rem;line-height:1.7;font-optical-sizing:auto;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.wrap{max-width:var(--mosaic-max);margin:0 auto;padding:3rem 1.5rem 6rem}.wrap:has(article){max-width:var(--measure)}h1,h2,h3{font-family:var(--font-display);font-weight:400;line-height:1.2;letter-spacing:-.01em}a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:3px;text-decoration-thickness:1px;transition:color .15s ease,text-decoration-color .15s ease}a:hover{color:var(--accent);text-decoration-color:var(--accent)}a:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.site-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:2.5rem}.site-name{font-family:var(--font-display);font-size:1.5rem;font-weight:500;letter-spacing:-.02em;text-decoration:none}.site-nav{display:flex;gap:1.25rem;font-size:.95rem}.mosaic{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:15rem;grid-auto-flow:dense;gap:.6rem}.card{position:relative;overflow:hidden;border-radius:3px;text-decoration:none;color:#fff;display:block;background:var(--line)}.card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}.card:hover img{transform:scale(1.04)}.card.large{grid-column:span 2;grid-row:span 2}.card.wide{grid-column:span 2}.card.tall{grid-row:span 2}.card-scrim{position:absolute;inset:0;background:linear-gradient(to top,#0009,#00000026 35%,#0000 60%);pointer-events:none}.card-caption{position:absolute;left:1rem;right:1rem;bottom:.9rem;color:#fff}.card-caption span{display:block;font-family:var(--font-display);font-size:1.05rem;line-height:1.25;text-shadow:0 1px 3px rgba(0,0,0,.4)}.card-default{transition:opacity .3s ease}.card-hover{position:absolute;left:0;right:0;bottom:0;opacity:0;font-style:italic;font-size:1rem!important;transition:opacity .3s ease}.card:hover .card-default{opacity:0}.card:hover .card-hover{opacity:1}.card.large .card-caption span{font-size:1.35rem}@media(max-width:60rem){.mosaic{grid-template-columns:repeat(3,1fr);grid-auto-rows:13rem}}@media(max-width:40rem){.mosaic{grid-template-columns:repeat(2,1fr);grid-auto-rows:11rem}.card.large{grid-column:span 2;grid-row:span 2}.card.wide{grid-column:span 2}.card.tall{grid-row:span 1}}.section{margin-top:3rem}.section-label{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding-bottom:.5rem;border-bottom:1px solid var(--line);margin-bottom:1rem}.entry-list{list-style:none;margin:0;padding:0}.entry{display:flex;align-items:baseline;justify-content:space-between;gap:1.5rem;padding:.4rem 0}.entry a{text-decoration-color:transparent}.entry a:hover{text-decoration-color:var(--accent)}.entry-date{flex:none;font-size:.85rem;color:var(--muted);font-variant-numeric:tabular-nums}.article-cover{width:100%;height:auto;max-height:28rem;object-fit:cover;border-radius:3px;margin-bottom:1.8rem}.article-head{margin-bottom:2.5rem}.article-title{font-size:2.4rem;margin:0 0 .4rem}.article-meta{color:var(--muted);font-size:.9rem;letter-spacing:.02em}.article-tagline{font-family:var(--font-display);font-size:1.3rem;font-style:italic;color:var(--ink);margin:.8rem 0 0}.prose :is(h2,h3){margin-top:2.4rem;margin-bottom:.6rem}.prose p{margin:0 0 1.3rem}.prose img{max-width:100%;height:auto;border-radius:2px}.prose blockquote{margin:1.5rem 0;padding-left:1.2rem;border-left:2px solid var(--line);color:var(--muted);font-style:italic}.back{display:inline-block;margin-top:3rem;font-size:.95rem}@media(max-width:40rem){.entry{flex-direction:column;gap:.1rem}}@media(prefers-reduced-motion:reduce){*{transition:none!important}.card:hover img{transform:none}}
