:root {
  --paper:#F4F0E8;
  --ink:#171511;
  --muted:#6C665D;
  --rule:rgba(23,21,17,.20);
  --accent:#8D3127;
  --wide:min(1180px,calc(100vw - 32px));
  --reading:min(660px,calc(100vw - 32px));
  --display:"DM Serif Display",Georgia,"Times New Roman",serif;
  --body:"Source Serif 4",Charter,Georgia,serif;
  --ui:"DM Sans",Arial,Helvetica,sans-serif;
}
*{box-sizing:border-box}
html{background:var(--paper);color:var(--ink);scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);min-height:100vh;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration-color:var(--accent);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{text-decoration-thickness:2px}
a:focus-visible{outline:2px solid var(--accent);outline-offset:5px;border-radius:1px}
.wide{width:var(--wide);margin-inline:auto}
.reading{width:var(--reading);margin-inline:auto}
.skip-link{position:fixed;left:16px;top:12px;z-index:1000;transform:translateY(-160%);background:var(--ink);color:var(--paper);font:600 12px/1 var(--ui);padding:10px 12px;text-decoration:none}
.skip-link:focus{transform:translateY(0)}
.site-header{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--rule)}
.wordmark{font:500 18px/1 var(--ui);letter-spacing:-.01em;text-decoration:none;white-space:nowrap}
.primary-nav{display:flex;align-items:center;gap:clamp(18px,3vw,34px);font:500 11px/1 var(--ui);text-transform:uppercase;letter-spacing:.08em}
.primary-nav a{text-decoration:none;padding:8px 0;border-bottom:1px solid transparent}
.primary-nav a:hover,.primary-nav a[aria-current="page"]{border-bottom-color:var(--accent)}
.home-main{padding-top:clamp(48px,6vw,80px)}
.home-hero{max-width:1120px}
.eyebrow,.section-label,.article-meta,.article-author,.archive-item time,.recent-item time,.footer-meta,.disclaimer{font-family:var(--ui)}
.eyebrow{margin:0 0 18px;font-size:15px;font-weight:500;letter-spacing:.02em;color:var(--ink)}
.home-hero h1{font-family:var(--display);font-weight:400;font-size:clamp(34px,4vw,52px);line-height:1.14;letter-spacing:-.015em;max-width:760px;margin:0}
.accent{color:var(--accent)}
.home-intro{font:400 20px/1.62 var(--body);max-width:660px;margin:28px 0 0}
.recent{margin-top:clamp(56px,7vw,88px);padding-top:16px;border-top:1px solid var(--ink)}
.section-label{font-size:11px;text-transform:uppercase;letter-spacing:.10em;color:var(--muted);margin-bottom:26px}
.recent-item{padding:20px 0 32px}.recent-item + .recent-item{border-top:1px solid var(--rule);padding-top:32px}.recent{padding-bottom:32px}
.recent-item h2,.archive-item h2{font:400 clamp(26px,2.5vw,32px)/1.2 var(--display);letter-spacing:-.01em;margin:0 0 14px;max-width:900px}
.article-link,.recent-item h2 a,.archive-item h2 a{text-decoration-line:underline;text-decoration-color:var(--accent);text-decoration-thickness:1px;text-underline-offset:7px;text-decoration-skip-ink:auto}
.article-link:hover,.article-link:focus,.recent-item h2 a:hover,.recent-item h2 a:focus,.archive-item h2 a:hover,.archive-item h2 a:focus{text-decoration-thickness:2px}
.recent-item time,.archive-item time{font-size:11px;letter-spacing:.04em;color:var(--muted)}
.page-main{padding-top:clamp(48px,6vw,72px)}
.page-title-wrap{padding-bottom:40px}
.page-title{font:400 clamp(32px,3.2vw,40px)/1.15 var(--display);letter-spacing:-.015em;margin:0}
.archive{border-top:1px solid var(--ink)}
.archive-item{padding:36px 0;border-bottom:1px solid var(--rule)}
.archive-item h2{font-size:clamp(26px,2.5vw,32px)}
.about-layout{display:grid;grid-template-columns:minmax(250px,380px) minmax(0,660px);gap:clamp(54px,8vw,110px);align-items:start;border-top:1px solid var(--ink);padding-top:clamp(48px,6vw,72px);padding-bottom:clamp(60px,8vw,100px)}
.about-layout:has(.about-photo[hidden]){grid-template-columns:minmax(0,760px)}
.about-photo{margin:0}
.about-photo img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}
.about-copy{font:400 20px/1.62 var(--body)}
.about-copy p{margin:0 0 1.35em}
.about-opening{font:400 clamp(26px,2.5vw,32px)/1.2 var(--display);letter-spacing:-.025em;color:var(--accent);margin:0 0 28px!important}
.disclaimer{font-size:11px;line-height:1.5;color:var(--muted);letter-spacing:.02em;margin-top:46px!important}
.contact-main{min-height:58vh}
.contact-block{padding-bottom:clamp(120px,18vw,220px)}
.contact-email{display:inline-block;margin-top:42px;font:400 clamp(24px,3.4vw,44px)/1.15 var(--body);text-decoration-color:var(--accent)}
.article-main{padding-top:clamp(48px,6vw,72px)}
.article-cover{padding-bottom:36px;border-bottom:1px solid var(--ink)}
.article-meta{font-size:11px;text-transform:uppercase;letter-spacing:.10em;color:var(--muted);margin-bottom:20px}
.article-title{font:400 clamp(30px,3.2vw,40px)/1.15 var(--display);letter-spacing:-.015em;max-width:900px;margin:0}
.article-author{font-size:11px;letter-spacing:.04em;color:var(--muted);margin:22px 0 0}
.article-body{padding-top:40px;padding-bottom:clamp(82px,10vw,126px);font:400 20px/1.62 var(--body)}
.article-body p{margin:0 0 1.42em}
.article-body h2{font:400 26px/1.25 var(--display);letter-spacing:-.015em;margin:2.15em 0 .72em}
.article-body strong{font-weight:600}
.article-body em{font-style:italic}
.article-body a{color:inherit;text-decoration-color:var(--accent);text-decoration-thickness:1px;text-underline-offset:3px}
.pull-quote{position:relative;margin:36px 0 34px;padding:0 0 0 clamp(30px,4vw,48px);font:400 clamp(30px,2.6vw,34px)/1.25 var(--display);letter-spacing:-.015em}
.pull-quote p{margin:0}
.quote-mark{position:absolute;left:0;top:-.12em;color:var(--accent);font:400 1.6em/1 var(--display)}
.site-footer{border-top:1px solid var(--ink);padding:32px 0 24px}
.footer-name{display:block;font:400 32px/1.2 var(--display);letter-spacing:-.015em;text-decoration:none}
.footer-name span{display:inline-block}
.footer-meta{font-size:11px;color:var(--muted);letter-spacing:.03em;margin-top:12px}
.display-enter{opacity:0;transform:translateY(14px);animation:enter .62s cubic-bezier(.22,.65,.25,1) .04s forwards}
.reveal{opacity:1;transform:none}
.reveal.reveal-ready{opacity:.22;transform:translateY(18px);transition:opacity .7s ease,transform .7s cubic-bezier(.22,.65,.25,1)}
.reveal.reveal-ready.is-visible{opacity:1;transform:translateY(0)}
@keyframes enter{to{opacity:1;transform:translateY(0)}}
@media (max-width:760px){
  .site-header{min-height:96px;align-items:flex-start;padding:20px 0 18px;flex-direction:column;gap:14px}
  .primary-nav{width:100%;justify-content:space-between;gap:12px;flex-wrap:wrap}
  .home-main{padding-top:44px}
  .home-hero h1{font-size:34px;line-height:1.14}
  .home-intro{font-size:20px;line-height:1.55}
  .page-main{padding-top:44px}
  .page-title{font-size:32px}
  .page-title-wrap{padding-bottom:32px}
  .about-layout{grid-template-columns:1fr;gap:46px;padding-top:46px}
  .about-photo{max-width:420px}
  .about-copy{font-size:19px;line-height:1.62}
  .about-opening{font-size:26px;line-height:1.2;margin-bottom:28px!important}
  .contact-email{margin-top:38px;font-size:clamp(24px,7vw,34px);overflow-wrap:anywhere}
  .article-main{padding-top:40px}
  .article-title{font-size:30px}
  .article-body{font-size:19px;line-height:1.62;padding-top:32px}
  .article-body h2{font-size:24px;margin-top:2em}
  .pull-quote{font-size:28px;line-height:1.25;margin:32px 0 34px;padding-left:34px}
  .footer-name{font-size:28px}
  .footer-name span{display:inline-block}
}
@media (max-width:390px){
  .primary-nav{font-size:10.5px;letter-spacing:.06em}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .display-enter,.reveal,.reveal.reveal-ready{animation:none!important;transition:none!important;opacity:1!important;transform:none!important}
}

.article-deck{font:400 20px/1.6 var(--body);max-width:660px;margin:20px 0 0}
.article-body:has(+ .article-share){padding-bottom:32px}
.article-share{font:400 13px/1.6 var(--ui);color:var(--muted);padding-top:18px;border-top:1px solid var(--rule);margin-bottom:clamp(56px,7vw,88px)}
.share-email,.share-copy{color:var(--ink);text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:1px;text-underline-offset:3px}
.share-copy{font:inherit;border:0;background:none;padding:4px 0;cursor:pointer}
.share-copy:hover{text-decoration-thickness:2px}
.share-copy:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.share-status{display:block;font-size:12px}
.share-fallback{width:100%;margin-top:8px;padding:8px;font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--rule)}
@media(max-width:760px){.article-deck{font-size:19px}}

.listing-deck{font:400 18px/1.6 var(--body);max-width:660px;margin:18px 0 14px}
.article-cover .article-share{width:100%;border:0;padding:0;margin:18px 0 0}
.article-body > h2:first-child{margin-top:0}
