@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@600;700&family=Lora:ital,wght@0,400;0,500;1,400&display=swap');

:root{
  --paper:#faf6ec;
  --paper-deep:#f2ead9;
  --ink:#2e2a22;
  --ink-dim:#5b5346;
  --wine:#7a2e2e;
  --wine-soft:#9a4444;
  --gold:#a67c3d;
  --card-border:#e4d9bf;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  font-family:'Lora','Georgia',serif;
  font-size:18px;
  background:var(--paper);
  color:var(--ink);
  min-height:100vh;
}
.wrap{max-width:720px; margin:0 auto; padding:32px 18px 80px;}
a{color:var(--wine);}
.back-link{display:inline-block; margin-bottom:20px; color:var(--ink-dim); text-decoration:none; font-size:15px;}
.back-link:hover{color:var(--wine);}

.post-meta{font-size:13px; letter-spacing:1.5px; text-transform:uppercase; color:var(--gold); margin-bottom:8px;}
.post-byline{font-size:14px; color:var(--ink-dim); margin-bottom:22px;}
.post-byline a{color:var(--ink-dim);}

h1{
  font-family:'Playfair Display',serif;
  font-weight:700;
  font-size:clamp(26px,4.6vw,38px);
  margin:6px 0 20px;
  color:var(--wine);
  line-height:1.3;
}
.verse-quote{
  font-family:'Playfair Display',serif;
  font-style:italic;
  font-size:20px;
  color:var(--ink);
  border-left:3px solid var(--gold);
  padding:4px 0 4px 18px;
  margin:0 0 28px;
  line-height:1.5;
}
.verse-quote cite{display:block; font-style:normal; font-size:14px; color:var(--ink-dim); margin-top:8px;}

.post-body p{color:var(--ink-dim); line-height:1.75; font-size:17px; margin:0 0 18px;}
.post-body strong{color:var(--ink);}

.closing-line{
  font-family:'Playfair Display',serif;
  font-style:italic;
  font-size:18px;
  color:var(--wine);
  text-align:center;
  margin:34px 0 10px;
  padding-top:24px;
  border-top:1px solid var(--card-border);
}

.disclaimer{font-size:12px; color:var(--ink-dim); opacity:.75; text-align:center; margin-top:30px; line-height:1.5;}

footer{text-align:center; color:var(--ink-dim); font-size:12px; margin-top:44px; line-height:1.6;}
footer .sig{color:var(--gold); font-size:18px; letter-spacing:2px; margin-bottom:6px;}
.footer-links{margin-top:10px; display:flex; gap:10px; justify-content:center; flex-wrap:wrap;}
.footer-links a{color:var(--ink-dim); text-decoration:none; border-bottom:1px solid transparent;}
.footer-links a:hover{color:var(--wine); border-bottom-color:var(--wine);}
.footer-links span{color:var(--card-border);}

@media (max-width:520px){
  .verse-quote{font-size:18px;}
}
