@font-face{font-family:Spectral;src:url('/assets/spectral-regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Spectral;src:url('/assets/spectral-semibold.ttf') format('truetype');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Spectral;src:url('/assets/spectral-400-latin.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Spectral;src:url('/assets/spectral-700-latin.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:Spectral;src:url('/assets/spectral-400-italic-latin.woff2') format('woff2');font-weight:400;font-style:italic;font-display:block}
@font-face{font-family:Spectral;src:url('/assets/spectral-700-italic-latin.woff2') format('woff2');font-weight:700;font-style:italic;font-display:swap}
/* Captured layout rules live in source-css/. Shared typography, desktop
   composition, essay presentation, and decorative motion are defined here. */
:root{--font-editorial:'Iowan Old Style','Palatino Linotype','Book Antiqua',Baskerville,'Times New Roman',serif;--font-interface:'Gill Sans','Gill Sans MT',ui-sans-serif,-apple-system,system-ui,'Helvetica Neue',Arial,sans-serif;--paper:#fff;--ink:#171714;--body:#34342e;--soft:#6f6d66;--muted:#6f6d66;--quiet:#6f6d66;--rule:#d5d5d1;--link-rule:#aaa9a1;--control-rule:#d5d5d1;--accent:#171714}
html,body{background-color:var(--paper)}
body{font-family:var(--font-interface);background-image:none;-webkit-font-smoothing:antialiased}
h1,h2,h3,.intro-copy,.page-heading h1,.article-header h1,.writing-list a,.archive-list a,.category-title,.testimonial blockquote,.newsletter-endorsement blockquote{font-family:var(--font-editorial)}
.site-nav,.section-label,.article-kicker,.comments h2,.article-meta,.page-meta,.writing-type,.writing-date,.archive-meta,.section-link,.site-footer,.essay-footer,.newsletter-endorsement figcaption,.testimonial figcaption,.archive-controls,.archive-status,.archive-pagination,.topic-browse,.form-note,.newsletter-status,.comment-status,.comment-form-foot p{font-family:var(--font-interface)}
.site-nav{font-size:13.12px;line-height:21px;letter-spacing:.08em;text-transform:uppercase}
.section-label,.article-kicker,.comments h2{font-weight:400}
.prose,.article-body{font-family:Spectral,Georgia,'Times New Roman',serif}
.now-page .section-copy{font-family:Spectral,Georgia,'Times New Roman',serif;font-size:19px;line-height:1.65}
.prose h2,.prose h3,.article-body h2,.article-body h3{font-family:var(--font-editorial);font-weight:400}
.homepage .intro-copy{font-family:var(--font-editorial)}
.homepage .intro-copy strong{font-weight:400}
.homepage .writing-list a{font-family:var(--font-editorial)}
.homepage .desktop-newsletter-panel,.homepage .homepage-newsletter .desktop-newsletter-panel{background:#fff;border-color:var(--rule);border-radius:0;box-shadow:none}
input,button,select,textarea,.quiet-newsletter input,.quiet-newsletter button{font-family:var(--font-interface)}
input,select,textarea,.homepage .desktop-newsletter-panel .quiet-newsletter input{background:#fff;border-color:var(--control-rule);border-radius:0;box-shadow:none}
.quiet-newsletter button,.homepage .quiet-newsletter button,.homepage .desktop-newsletter-panel .quiet-newsletter button,.contact-form button,.comment-form button{background:var(--ink);border-color:var(--ink);border-radius:0;box-shadow:none;color:#fff}
.homepage .desktop-newsletter-panel .quiet-newsletter input,.homepage .desktop-newsletter-panel .quiet-newsletter button{font-size:16px;line-height:23.4px;min-height:51.4px}
.homepage .desktop-newsletter-panel .quiet-newsletter button{min-width:128.98px}
.quiet-newsletter button:hover,.homepage .quiet-newsletter button:hover,.contact-form button:hover,.comment-form button:hover{background:#343430;border-color:#343430;color:#fff}
.testimonial,.essay-gate,.essay-gate-modal{background:#fff;border-color:var(--rule);border-radius:0;box-shadow:none}
.testimonial blockquote,.newsletter-endorsement blockquote{color:var(--ink)}
.story-list dt,.story-list dd,.contact-list,.progress-list,.category-link{color:var(--body)}
.now-sun{color:var(--muted)}
.archive-controls input,.archive-controls select{border-radius:0;background:#fff;border-color:var(--rule)}
::selection{background:#e5e5df;color:var(--ink)}
/* Match the original three-line introduction and its existing line spacing. */
@media(min-width:621px){.homepage .intro-copy{font-size:28.5px;line-height:43.82px}.site-nav .mobile-menu-links > a[href^="/contact?"]{margin-left:auto}}

/* Center the homepage. Interior pages use the compact navigation. */
body.homepage.minimal-home:not(.is-compact){--ink:#141414;--body:#242424;--muted:#606060;--rule:#d5d5d5}
.homepage.minimal-home:not(.is-compact) #home-content{display:flex;flex-direction:column;justify-content:center;min-height:100svh}
.homepage.minimal-home:not(.is-compact) #home-content > .utility-footer{display:none}
@media(min-width:621px){
  .homepage.minimal-home:not(.is-compact) .nav-actions > .book-nav-link{background:#141414;border-color:#141414}
  .homepage.minimal-home:not(.is-compact) .nav-actions > .book-nav-link:is(:hover,:focus-visible){background:#383838;border-color:#383838}
  .homepage.minimal-home .journal-page{padding-top:80px;padding-bottom:0}
  .homepage.minimal-home #home-content > .journal-page{width:min(100%,764px);padding:80px 32px 0}
  .homepage.minimal-home .page-stack{gap:36px}
  .homepage.minimal-home .home-intro-stack{display:flex;flex-direction:column;gap:36px}
  .homepage.minimal-home .intro-reveal{display:grid;grid-template-rows:1fr;opacity:1}
  .homepage.minimal-home .intro-reveal > .intro{min-height:0;overflow:hidden}
  .homepage.minimal-home.is-compact #home-content > .journal-page{padding-top:64px}
  .homepage.minimal-home.is-compact .home-intro-stack{gap:0}
  .homepage.minimal-home.is-compact .intro-reveal{grid-template-rows:0fr;opacity:0}
  .homepage.minimal-home .site-nav{margin:0}
  .homepage.minimal-home .panel-page{padding-top:52px;padding-bottom:88px}
  .homepage.minimal-home .panel-page .page-stack{gap:var(--space-section)}
  .homepage.minimal-home.essay-page .panel-page{width:min(100%,1100px);padding:52px 28px 120px}
  .homepage.minimal-home.essay-page .article-back{width:min(100%,700px);margin:0 auto 54px}
  .homepage.minimal-home:not(.is-compact) #home-content > .journal-page{padding-top:0}
  .homepage.minimal-home .home-panel[data-shell-view="/"]{display:none}
}
.about-heading{display:flex;flex-direction:column;align-items:flex-start;gap:24px;margin-bottom:32px}
.about-heading h1{margin:0}
.about-heading .about-portraits { align-self: stretch; margin-block: 0; }
.about-portraits figcaption { min-height: 1lh; }
/* A centered, unboxed invitation with one action and no site navigation. */
body.subscribe-minimal{display:flex;flex-direction:column;height:100svh;overflow:hidden;overscroll-behavior-y:none}
.subscribe-minimal .journal-page{width:min(100%,1000px);flex:none;padding:clamp(64px,10svh,100px) 32px 64px;text-align:center}
.subscribe-invitation h1{font-size:clamp(40px,4vw,48px);line-height:1.08;letter-spacing:-.035em;font-weight:400;margin:0 0 32px}
.subscribe-invitation h1 span{display:inline-block}
.subscribe-description{max-width:900px;margin:0 auto;font-family:Spectral,Georgia,serif;font-size:19px;line-height:1.5;color:var(--body);text-wrap:balance}
.subscribe-keep-together{white-space:nowrap}
.subscribe-capture{max-width:600px;margin:48px auto 0}
.subscribe-minimal .quiet-newsletter{max-width:100%;gap:16px;align-items:stretch}
.subscribe-minimal .quiet-newsletter input{min-width:0;min-height:52px;padding:12px 16px;border:1px solid var(--control-rule);font-size:16px;line-height:24px}
.subscribe-minimal .quiet-newsletter button{min-width:132px;min-height:52px;padding:12px 24px;font-size:16px;line-height:24px}
.subscribe-minimal .quiet-newsletter button:disabled{opacity:.65;cursor:wait}
.subscribe-reassurance{margin:12px 0 0;font-size:13px;line-height:1.5;color:var(--muted)}
.subscribe-minimal .newsletter-status{flex-basis:100%;margin:0;font-size:15px;line-height:1.5;color:var(--body)}
.subscribe-quotes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 80px;max-width:900px;margin:60px auto 0}
.subscribe-quotes figure{display:flex;flex-direction:column;margin:0}
.subscribe-quotes blockquote{flex:1;min-height:52px;max-width:380px;margin:0 auto;font-family:var(--font-editorial);font-size:19px;line-height:1.35;color:var(--body);text-wrap:balance}
.subscribe-quotes figcaption{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:0 7px;margin-top:10px;font-size:13px;line-height:1.4;color:var(--muted)}
.subscribe-minimal .landscape-footer{flex:1;min-height:0;max-height:calc(100vw / 3);margin:auto 0 0;overflow:hidden;mask-image:linear-gradient(to bottom,transparent,#000 48px)}
.subscribe-minimal .landscape-footer > img{width:100%;height:100%;margin:0;object-fit:cover;object-position:center;filter:saturate(.88) contrast(1.02)}
.home-panel{outline:none}
.landscape-footer:has(.valley-motion){position:relative}
.valley-motion{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.distant-bird {
  --bird-opacity: .84;
  opacity: 0;
  offset-path: path("M1950 148 C1790 158 1710 109 1530 117 C1355 125 1250 153 1100 140 C935 124 790 95 650 119");
  offset-anchor: 0 0;
  offset-rotate: 0deg;
  animation: distant-bird-flight 27s linear -6.4s infinite;
}
.distant-bird-trailing {
  --bird-opacity: .72;
  offset-path: path("M2070 176 C1890 159 1755 144 1595 160 C1410 180 1310 181 1160 156 C1030 132 930 151 790 142");
  animation-duration: 34s;
  animation-delay: -1.1s;
}
.distant-bird-wing {
  transform-origin: 0 0;
  animation: distant-bird-flap 3.05s ease-in-out -.38s infinite;
}
.distant-bird-trailing .distant-bird-wing { animation: distant-bird-single-flap 5.7s ease-in-out -2.2s infinite; }
.chimney-wisp{opacity:0;animation:chimney-drift 6.5s linear infinite;transform-origin:0 0}
.wisp-two{animation-delay:-2.2s}
.wisp-three{animation-delay:-4.3s}
.river-texture{opacity:0;animation:river-texture-drift 6s linear -1.5s infinite}
.river-texture-offset{animation-delay:-4.5s}
.river-ripples{opacity:0;animation:river-current 4.8s linear -1.2s infinite}
.river-ripples-slower{animation-duration:6.6s;animation-delay:-3.6s}
.river-boat-drift{animation:river-drift 22s linear -7s infinite}
.river-boat-bob{animation:river-bob 4.5s ease-in-out -1s infinite alternate}
@keyframes distant-bird-flight {
  0% { opacity: 0; offset-distance: 0%; }
  7%, 79% { opacity: var(--bird-opacity); }
  88%, 100% { opacity: 0; offset-distance: 100%; }
}
@keyframes distant-bird-flap {
  0%, 34%, 100% { transform: rotate(-8deg); }
  7%, 20% { transform: rotate(-49deg); }
  13%, 27% { transform: rotate(42deg); }
}
@keyframes distant-bird-single-flap {
  0%, 20%, 100% { transform: rotate(-8deg); }
  6% { transform: rotate(-44deg); }
  12% { transform: rotate(36deg); }
}
@keyframes chimney-drift{0%{opacity:0;transform:translate(0,4px) scale(.65)}18%{opacity:.64}55%{opacity:.45}100%{opacity:0;transform:translate(27px,-60px) scale(1.7)}}
@keyframes river-texture-drift {
  0% { opacity: 0; transform: translate(-17px, -3px); }
  25%, 65% { opacity: .8; }
  100% { opacity: 0; transform: translate(16px, 3px); }
}
@keyframes river-current {
  0% { opacity: 0; transform: translate(-34px, 0); }
  20%, 65% { opacity: .86; }
  100% { opacity: 0; transform: translate(39px, 1px); }
}
@keyframes river-drift{0%{transform:translate(-52px,2px);opacity:0}6%{opacity:1}94%{opacity:1}100%{transform:translate(58px,-4px);opacity:0}}
@keyframes river-bob{from{transform:translateY(-1px) rotate(-1deg)}to{transform:translateY(1px) rotate(1deg)}}
.valley-motion.leaves-still .town-leaves{display:none}
.town-leaves{filter:saturate(.88) contrast(1.02)}
@media(prefers-reduced-motion:reduce){.valley-motion *{animation:none!important}.chimney-wisp,.town-leaves,.river-surface{display:none}}

/* A quiet outline and small interface label distinguish signup from the bio. */
.homepage .newsletter-capture{margin:0;padding:28px 30px 30px;gap:16px;background:var(--paper);border:1px solid var(--rule);border-radius:0;box-shadow:none}
.homepage .newsletter-capture [hidden]{display:none!important}
.homepage .newsletter-capture .newsletter-heading{font-family:var(--font-interface);font-size:13px;line-height:1.4;font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);margin:0}
.homepage .homepage-newsletter.newsletter-capture .section-copy{max-width:610px;font-family:var(--font-interface);font-size:20px;line-height:1.5;color:var(--body);margin:0;text-wrap:pretty}
.homepage .newsletter-capture .newsletter-form{max-width:600px;width:100%;margin:4px 0 0;gap:18px;align-items:stretch}
.homepage .newsletter-capture .newsletter-form input{min-width:0;min-height:50px;padding:12px 0;border:0;border-bottom:1px solid #b9b9b0;border-radius:0;background:transparent;font-size:16px;line-height:24px;box-shadow:none}
.homepage .newsletter-capture .newsletter-form input::placeholder{color:var(--soft);opacity:1}
.homepage .newsletter-capture .newsletter-form button{min-width:136px;min-height:50px;padding:12px 24px;border-radius:0;font-size:16px;line-height:24px;white-space:nowrap}
.homepage .newsletter-capture .newsletter-note{font-size:12.5px;line-height:1.5;color:var(--soft);margin:-3px 0 0}
.newsletter-result{max-width:600px;outline:none;padding-top:3px}
.newsletter-success{font-family:var(--font-editorial);font-size:23px;line-height:1.3;color:var(--ink);margin:0 0 10px}
.newsletter-preview-note,.reader-preview-status{font-family:var(--font-interface);font-size:13px;line-height:1.5;color:var(--soft);margin:0}
.newsletter-result-actions{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-top:17px;font-family:var(--font-interface);font-size:15px}
.newsletter-result-actions a{text-decoration:none}
.newsletter-result-actions a:hover{text-decoration:underline}
.newsletter-result-actions button{padding:0;background:none;border:0;border-bottom:1px solid var(--link-rule);border-radius:0;font:inherit;font-size:12px;line-height:1.5;color:var(--soft);cursor:pointer}
.reader-preview-status{margin-top:0;text-align:center}

/* Mobile Home follows the approved signup and crisp-links composition. */
/* The homepage shares its introduction and navigation on every screen. */
.mobile-home{display:none}
@media(max-width:620px){
  .homepage.minimal-home .intro-reveal{display:none}
  .homepage.minimal-home:not(.is-compact) .intro-reveal{display:block}
  .homepage.minimal-home .panel-page{padding-top:28px;padding-bottom:64px}
  .home-panel[data-shell-view="/essays"] :is(.page-lede,.topic-browse,.archive-controls){display:none}
  .homepage.minimal-home .home-panel[data-shell-view="/"]{display:block}
  .homepage.minimal-home .mobile-home{display:block;width:100%;max-width:438px;margin:0 auto;padding:var(--mobile-home-section-gap,30px) var(--mobile-gutter,24px) 20px;text-align:center}
  .mobile-home-newsletter-description{margin:0 auto 12px;font:14px/1.4 var(--font-interface);color:var(--muted);text-wrap:balance}
  .mobile-home-email-row{display:flex;flex-direction:column;gap:14px;width:100%}
  .mobile-home-email-row input{flex:1;min-width:0;width:100%;min-height:44px;padding:6px 0;border:0;border-bottom:1px solid var(--rule);border-radius:0;background:var(--paper);color:var(--ink);font-size:16px;line-height:24px}
  .mobile-home-email-row input:focus{border-bottom-color:var(--ink)}
  .mobile-home-email-row input::placeholder{color:var(--muted);opacity:1}
  .mobile-home-email-row button{flex:none;align-self:stretch;width:100%;min-height:44px;padding:6px 12px;border:1px solid var(--ink);border-radius:0;background:var(--ink);color:var(--paper);font-size:15px;font-weight:400;line-height:24px;cursor:pointer}
  .mobile-home-email-row button:hover{background:#383838}
  .mobile-home-email-row button:disabled{opacity:.65;cursor:wait}
  .mobile-home .newsletter-status{font-size:14px;line-height:1.5;color:var(--body);margin:12px 0 0}
}

/* Essay headings share one presentation across desktop and mobile. */
  .essay-page .page-stack{display:block}
  .essay-page .article-back{display:flex;align-items:center;width:max-content;gap:8px;font-family:var(--font-interface);font-size:12.16px;line-height:1.55;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:var(--muted);margin:0 0 54px}
  .essay-page .article-back:hover{color:var(--ink)}
  .essay-page .article-header{display:block;text-align:center;max-width:820px;margin:0 auto 64px;padding:0;border:0}
  .essay-page .article-header h1,.essay-page .article-header h1[data-heading-length="long"]{font-family:var(--font-editorial);font-size:clamp(43.2px,6vw,76.8px);font-weight:400;line-height:1;letter-spacing:-.045em;margin:0 0 28px;text-wrap:balance}
  .essay-page .article-header .heading-ending{display:inline}
  .essay-page .article-subtitle{max-width:640px;margin:0 auto;font-family:var(--font-editorial);font-size:21.6px;font-style:italic;font-weight:400;line-height:1.55;color:var(--muted);text-wrap:pretty}
  .essay-page .article-rule{width:76px;height:1px;background:var(--ink);margin:36px auto 0}
@media(min-width:621px){
  .essay-page .journal-page{width:min(100%,1100px);padding:64px 28px 120px}
  .essay-page .site-nav{max-width:700px;margin:0 auto 72px}
  .essay-page .article-body{display:block;max-width:728px;margin:0 auto;font-family:Spectral,Georgia,'Times New Roman',serif;font-size:19px;font-weight:400;line-height:1.6;letter-spacing:normal;color:#363737}
  .essay-page .article-body p{margin:0 0 20px;text-wrap:wrap}
  .essay-page .article-body h1{font-family:var(--font-interface);font-size:32px;font-weight:700;line-height:36px;letter-spacing:normal;margin:32px 0 20px}
  .essay-page .article-body h2,.essay-page .article-body h3{font-family:var(--font-interface);font-size:26px;font-weight:700;line-height:1.16;letter-spacing:normal;margin:26px 0 16px}
  .essay-page .article-body strong,.essay-page .article-body b{font-weight:700}
  .essay-page .article-body blockquote{border-left:1px solid var(--ink);margin:26px 0;padding:2px 0 2px 24px;font-size:1.2em;line-height:1.5}
  .essay-page .article-body ul,.essay-page .article-body ol{margin:0 0 20px;padding-left:1.3em}
  .essay-page .article-body li,.essay-page .article-body li + li{margin:0 0 12px;padding-left:.4em}
  .essay-page .article-body figure{margin:3em -70px}
  .essay-page .article-body img{display:block;width:auto;max-width:100%;height:auto;margin:0 auto;background:none;border:0}
  .essay-page .article-body hr{border:0;border-top:1px solid var(--rule);margin:4em 0}
  .essay-page .article-body a{color:inherit;text-decoration:underline;text-underline-offset:3px}
  .essay-page .gate-reopen{display:block;margin:36px auto 0}
  .essay-page .article-details{max-width:728px;margin:64px auto 24px}
  .essay-page .article-details .section-label{margin-bottom:10px}
  .essay-page .article-details .article-meta{font-size:14px;line-height:1.5;margin:0}
  .essay-page .essay-footer{max-width:728px;margin:0 auto}
  .essay-page .reader-preview-status{max-width:728px;margin:32px auto}
}
