: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 14px/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(74px,11vw,150px)}
.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:11px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted)}
.home-hero h1{font-family:var(--display);font-weight:400;font-size:clamp(56px,8.5vw,116px);line-height:.96;letter-spacing:-.032em;max-width:1050px;margin:0}
.accent{color:var(--accent)}
.home-intro{font:400 clamp(20px,2.05vw,26px)/1.48 var(--body);max-width:840px;margin:clamp(34px,5vw,68px) 0 0}
.recent{margin-top:clamp(110px,16vw,220px);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:38px}
.recent-item{padding-bottom:clamp(90px,12vw,160px)}
.recent-item h2,.archive-item h2{font:400 clamp(44px,5.8vw,78px)/1 var(--display);letter-spacing:-.025em;margin:0 0 18px;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(74px,9vw,122px)}
.page-title-wrap{padding-bottom:clamp(70px,10vw,130px)}
.page-title{font:400 clamp(70px,9.8vw,132px)/.96 var(--display);letter-spacing:-.035em;margin:0}
.archive{border-top:1px solid var(--ink)}
.archive-item{padding:clamp(42px,6vw,76px) 0;border-bottom:1px solid var(--rule)}
.archive-item h2{font-size:clamp(43px,5.25vw,70px)}
.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(46px,5vw,68px)/1.03 var(--display);letter-spacing:-.025em;color:var(--accent);margin:0 0 50px!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(70px,8vw,112px)}
.article-cover{padding-bottom:clamp(72px,10vw,128px);border-bottom:1px solid var(--ink)}
.article-meta{font-size:11px;text-transform:uppercase;letter-spacing:.10em;color:var(--muted);margin-bottom:28px}
.article-title{font:400 clamp(56px,8.9vw,118px)/.96 var(--display);letter-spacing:-.036em;max-width:1080px;margin:0}
.article-author{font-size:11px;letter-spacing:.04em;color:var(--muted);margin:30px 0 0}
.article-body{padding-top:clamp(58px,7vw,86px);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 clamp(33px,3.8vw,39px)/1.10 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(34px,4.7vw,50px)/1.09 var(--display);letter-spacing:-.03em}
.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:clamp(48px,7vw,88px) 0 20px;overflow:hidden}
.footer-name{display:block;font:400 clamp(68px,10.5vw,145px)/.90 var(--display);letter-spacing:-.04em;text-decoration:none;white-space:nowrap}
.footer-name span{display:inline-block}
.footer-meta{font-size:11px;color:var(--muted);letter-spacing:.03em;margin-top:22px}
.display-enter{opacity:0;transform:translateY(14px);animation:enter .62s cubic-bezier(.22,.65,.25,1) .04s forwards}
.reveal{opacity:.22;transform:translateY(12px);transition:opacity .62s ease,transform .62s ease}
.reveal.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:64px}
  .home-hero h1{font-size:clamp(54px,15.5vw,70px);line-height:.96}
  .home-intro{font-size:20px;line-height:1.55}
  .page-main{padding-top:66px}
  .page-title{font-size:clamp(66px,19vw,84px)}
  .page-title-wrap{padding-bottom:74px}
  .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:clamp(44px,12.5vw,60px);line-height:1.04;margin-bottom:42px!important}
  .contact-email{margin-top:38px;font-size:clamp(24px,7vw,34px);overflow-wrap:anywhere}
  .article-main{padding-top:58px}
  .article-title{font-size:clamp(54px,14.6vw,69px)}
  .article-body{font-size:19px;line-height:1.62;padding-top:54px}
  .article-body h2{font-size:33px;margin-top:2em}
  .pull-quote{font-size:34px;line-height:1.1;margin:32px 0 34px;padding-left:34px}
  .footer-name{font-size:clamp(58px,17vw,72px);line-height:.92;white-space:normal}
  .footer-name span{display:block}
}
@media (max-width:390px){
  .primary-nav{font-size:10.5px;letter-spacing:.06em}
  .footer-name{font-size:60px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .display-enter,.reveal{animation:none!important;transition:none!important;opacity:1!important;transform:none!important}
}
