/* Shared styles for The Parsonage Desk — listing page and posts */
:root{
  --paper:#F7F5EF;
  --ink:#23261F;
  --spruce:#2E4636;
  --spruce-deep:#1F3226;
  --tint:#E7EBE2;
  --gilt:#B8860B;
  --line:#C9CDBF;
  --max:1080px;
}
*{margin:0;padding:0;box-sizing:border-box}
body{
  background:var(--paper);
  color:var(--ink);
  font-family:'Source Serif 4', Georgia, serif;
  font-size:1.0625rem;
  line-height:1.65;
}
a{color:var(--spruce)}
a:focus-visible{outline:2px solid var(--gilt);outline-offset:3px}
img{max-width:100%;display:block}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}

.corner-label{
  font-family:'Karla',sans-serif;font-weight:700;font-size:.75rem;
  letter-spacing:.18em;text-transform:uppercase;color:var(--spruce);
  display:inline-block;padding:10px 0 0 14px;
  border-top:1px solid var(--gilt);border-left:1px solid var(--gilt);
  margin-bottom:1.25rem;
}

header{border-bottom:1px solid var(--line);background:var(--paper)}
.masthead{display:flex;align-items:baseline;justify-content:space-between;padding:22px 0;gap:20px;flex-wrap:wrap}
.wordmark{font-family:'Libre Caslon Display',serif;font-size:1.5rem;color:var(--ink);text-decoration:none;letter-spacing:.01em}
nav{display:flex;gap:26px;flex-wrap:wrap}
nav a{font-family:'Karla',sans-serif;font-weight:500;font-size:.9rem;letter-spacing:.06em;text-decoration:none;color:var(--ink)}
nav a:hover{color:var(--spruce);text-decoration:underline;text-underline-offset:4px}
nav a[aria-current]{color:var(--spruce);border-bottom:2px solid var(--gilt);padding-bottom:2px}

.buy{font-family:'Karla',sans-serif;font-weight:700;font-size:.85rem;letter-spacing:.05em;color:var(--spruce);text-underline-offset:4px}

/* ---- listing page ---- */
.intro{padding:64px 0 48px;border-bottom:1px solid var(--line)}
.intro h1{font-family:'Libre Caslon Display',serif;font-weight:400;font-size:clamp(2.1rem,4.6vw,3.2rem);line-height:1.12;margin:0 0 1.2rem}
.intro p{max-width:58ch;margin-bottom:1rem}

.posts{padding:48px 0 64px}
.post-list{list-style:none;max-width:760px}
.post-list li{border-bottom:1px solid var(--line);padding:30px 0}
.post-list li:first-child{padding-top:8px}
.post-list .date{
  font-family:'Karla',sans-serif;font-size:.72rem;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--gilt);display:block;margin-bottom:.4rem;
}
.post-list h2{font-family:'Libre Caslon Display',serif;font-weight:400;font-size:1.55rem;line-height:1.25;margin-bottom:.45rem}
.post-list h2 a{color:var(--ink);text-decoration:none}
.post-list h2 a:hover{color:var(--spruce);text-decoration:underline;text-underline-offset:5px}
.post-list p{font-size:.98rem;max-width:58ch;margin-bottom:.7rem}
.post-list .thumb{display:grid;grid-template-columns:1fr 200px;gap:28px;align-items:start}
.post-list .thumb img{border:1px solid var(--line);box-shadow:3px 3px 0 var(--line);aspect-ratio:4/3;object-fit:cover;width:100%}

/* ---- post page ---- */
.post{padding:48px 0 64px}
.post .wrap{max-width:760px}
.crumb{margin-bottom:2rem}
.crumb a{font-family:'Karla',sans-serif;font-size:.85rem;letter-spacing:.05em;text-decoration:none}
.crumb a:hover{text-decoration:underline;text-underline-offset:4px}
.post h1{font-family:'Libre Caslon Display',serif;font-weight:400;font-size:clamp(2rem,4.2vw,2.9rem);line-height:1.15;margin:0 0 .8rem}
.dek{font-size:1.15rem;font-style:italic;color:var(--spruce);margin-bottom:2.4rem;padding-bottom:1.6rem;border-bottom:1px solid var(--line)}
.body p{margin-bottom:1.25rem;font-size:1.1rem}
.body p:first-of-type::first-letter{
  font-family:'Libre Caslon Display',serif;font-size:3.4rem;line-height:.85;float:left;
  padding:6px 10px 0 0;color:var(--spruce);
}
.body figure{margin:2.2rem 0}
.body figure img{width:100%;border:1px solid var(--line);box-shadow:3px 3px 0 var(--line)}
.body figure:not(.left):not(.right) img{max-height:440px;object-fit:cover;object-position:center 40%}
.body figcaption{
  font-family:'Karla',sans-serif;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--spruce);margin-top:10px;text-align:center;
}
.body figure.left,.body figure.right{width:44%;margin-top:.4rem}
.body figure.left{float:left;margin-right:28px}
.body figure.right{float:right;margin-left:28px}
.post-foot{clear:both;margin-top:2.5rem;padding-top:1.4rem;border-top:1px solid var(--line)}
.post-foot p{margin-bottom:.6rem}

footer{background:var(--spruce-deep);color:var(--paper);padding:40px 0 36px}
.foot-grid{display:flex;justify-content:space-between;gap:32px;flex-wrap:wrap;align-items:baseline}
footer a{color:var(--paper);text-decoration:none;font-family:'Karla',sans-serif;font-size:.88rem;letter-spacing:.05em}
footer a:hover{text-decoration:underline;text-underline-offset:4px}
.colophon{margin-top:24px;font-family:'Karla',sans-serif;font-size:.75rem;letter-spacing:.06em;color:#A9BCA9}

@media (max-width:820px){
  .intro{padding:44px 0 36px}
  .post-list .thumb{grid-template-columns:1fr}
  .post-list .thumb img{max-width:320px}
}
@media (max-width:600px){
  .body figure.left,.body figure.right{float:none;width:100%;margin:1.8rem 0}
}

/* Parsonage Desk opener: text left, illustration right */
.intro-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,340px);gap:48px;align-items:center}
.intro-figure{margin:0}
.intro-figure img{width:100%;height:auto;border-radius:6px;box-shadow:0 6px 24px rgba(31,50,38,.18)}
@media (max-width:720px){
  .intro-grid{grid-template-columns:1fr;gap:28px}
  .intro-figure{max-width:320px}
}
