
:root{
  --cream:#FBF6EE;
  --ink:#2B241C;
  --terracotta:#B0552B;
  --olive:#5B6B45;
  --line:#E7DDC9;
  --card:#FFFDF8;
}
*{box-sizing:border-box}
body{
  margin:0; background:var(--cream); color:var(--ink);
  font-family:'Source Sans 3', -apple-system, sans-serif;
  line-height:1.7; font-size:17px;
}
h1,h2,h3{font-family:'Fraunces', Georgia, serif; font-weight:600; color:var(--ink); line-height:1.2;}
.wrap{max-width:720px; margin:0 auto; padding:0 24px;}
header.site{border-bottom:1px solid var(--line); padding:22px 0; background:var(--card);}
header.site .wrap{max-width:960px; display:flex; align-items:center; justify-content:space-between;}
.brand{font-family:'Fraunces', serif; font-weight:600; font-size:22px; color:var(--terracotta); text-decoration:none; letter-spacing:.2px;}
.brand span{color:var(--olive);}
nav a{color:var(--ink); text-decoration:none; font-size:15px; margin-left:22px;}
main{padding:48px 0 80px;}
.eyebrow{color:var(--olive); font-size:13px; text-transform:uppercase; letter-spacing:.12em; font-weight:600; margin-bottom:10px;}
h1.title{font-size:2.15rem; margin:0 0 22px;}
.meta{color:#7A6F5C; font-size:14px; margin-bottom:32px;}
article h2{font-size:1.5rem; margin-top:2.2em; border-top:1px solid var(--line); padding-top:1em;}
article p, article li{color:#3A3226;}
article blockquote{
  background:#FFF3E6; border-left:4px solid var(--terracotta);
  padding:18px 22px; border-radius:4px; margin:2em 0; font-size:16px;
}
article blockquote p{margin:0;}
article a{color:var(--terracotta); font-weight:600; text-decoration:underline;}
article table{border-collapse:collapse; width:100%; margin:1.5em 0; font-size:15px;}
article th,article td{border:1px solid var(--line); padding:9px 12px; text-align:left;}
article th{background:#F3EBD8;}
.cta-final{
  background:var(--olive); color:#fff; border-radius:10px; padding:28px 26px; margin:3em 0 1em;
}
.cta-final a{color:#fff;}
.btn{
  display:inline-block; background:var(--terracotta); color:#fff !important; text-decoration:none !important;
  padding:12px 22px; border-radius:6px; font-weight:600; margin-top:10px;
}
.index-list{list-style:none; padding:0; margin:0;}
.index-list li{border-bottom:1px solid var(--line); padding:26px 0;}
.index-list a.title-link{font-family:'Fraunces', serif; font-size:1.3rem; color:var(--ink); text-decoration:none;}
.index-list a.title-link:hover{color:var(--terracotta);}
.index-list .cat{color:var(--olive); font-size:12px; text-transform:uppercase; letter-spacing:.1em; font-weight:700;}
.index-list p{color:#6B6151; margin:8px 0 0; font-size:15px;}
.hero{padding:10px 0 20px;}
.hero p{color:#5A5142; font-size:18px; max-width:60ch;}
.hero-img{width:100%; aspect-ratio:3/2; object-fit:cover; object-position:center; border-radius:12px; display:block;}
.hero .hero-img{margin-bottom:24px;}
article .hero-img{margin:18px 0 8px;}
.index-row{display:flex; gap:18px; align-items:flex-start;}
.index-row .thumb{width:110px; aspect-ratio:1/1; object-fit:cover; border-radius:8px; flex-shrink:0;}
@media (max-width:600px){
  .index-row{gap:12px;}
  .index-row .thumb{width:76px;}
}
footer{border-top:1px solid var(--line); padding:30px 0; text-align:center; color:#8a8069; font-size:14px;}
footer a{color:var(--terracotta);}
@media (max-width:600px){h1.title{font-size:1.6rem;} body{font-size:16px;}}
