:root{
  --sage-deep:#8FAD7C; --sage-mid:#B7BF83; --sage-light:#D6DBB0;
  --cream:#F1EBDF; --cream-pale:#EDEECF; --cream-warm:#E6D7C4;
  --espresso:#54341A; --slate:#55534E; --gold:#C9A227; --gold-light:#E8C766;
  --ink:#3A392F; --max:1120px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0; background:var(--cream); color:var(--ink);
  font-family:'Manrope', sans-serif; font-weight:400; line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,.serif{
  font-family:'Fraunces', serif; font-weight:500; color:var(--espresso);
  letter-spacing:-0.01em; margin:0;
}
a{color:inherit;}
img{max-width:100%; display:block;}
.wrap{max-width:760px; margin:0 auto; padding:0 24px;}
a:focus-visible, button:focus-visible{outline:2.5px solid var(--gold); outline-offset:3px; border-radius:4px;}

/* ---------- HEADER ---------- */
.site-header{
  position:sticky; top:0; z-index:50;
  background:rgba(241,235,223,0.9); backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(85,83,78,0.12);
}
.nav{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 28px; max-width:var(--max); margin:0 auto;
}
.brand{display:flex; align-items:center; gap:12px; text-decoration:none; min-width:0;}
.brand img{height:38px; width:auto; flex-shrink:0;}
.brand-text{font-family:'Fraunces', serif; font-size:1.2rem; font-weight:500; color:var(--espresso);}
.brand-text span{display:block; font-family:'Manrope',sans-serif; font-weight:600; font-size:0.52rem; letter-spacing:0.22em; color:var(--sage-deep); text-transform:uppercase; margin-top:1px;}
.back-link{
  font-size:0.82rem; font-weight:700; text-decoration:none; color:var(--espresso);
  display:inline-flex; align-items:center; gap:7px;
}
.back-link:hover{color:var(--sage-deep);}

/* ---------- ARTICLE HERO ---------- */
.article-hero{
  background:linear-gradient(155deg, var(--espresso), #3d260f);
  color:var(--cream); padding:74px 0 64px; text-align:center;
}
.article-hero .wrap{max-width:820px;}
.cat-pill{
  display:inline-block; font-size:0.72rem; font-weight:700; letter-spacing:0.08em;
  text-transform:uppercase; color:var(--gold-light);
  border:1px solid rgba(232,199,102,0.5); border-radius:999px; padding:6px 16px;
}
.article-hero h1{
  color:var(--cream); font-size:clamp(2rem, 4.4vw, 3.2rem); line-height:1.1;
  margin-top:22px;
}
.article-meta{
  margin-top:20px; font-size:0.84rem; color:#cabfae; display:flex; gap:14px;
  justify-content:center; flex-wrap:wrap;
}
.article-meta span{display:inline-flex; align-items:center; gap:6px;}

/* ---------- ARTICLE BODY ---------- */
.article-body{padding:64px 0 30px;}
.article-body p{font-size:1.06rem; color:var(--slate); margin:0 0 22px;}
.article-body h2{
  font-size:clamp(1.5rem, 3vw, 2rem); margin:42px 0 16px; color:var(--espresso);
}
.article-body h3{font-size:1.2rem; margin:30px 0 12px; color:var(--espresso);}
.article-body ul{color:var(--slate); padding-left:22px; margin:0 0 22px;}
.article-body li{margin-bottom:10px; font-size:1.02rem;}
.article-body strong{color:var(--espresso);}
.lead{
  font-size:1.18rem !important; color:var(--espresso) !important;
  line-height:1.6; font-weight:500;
}
.pullquote{
  margin:38px 0; padding:22px 28px; border-left:4px solid var(--gold);
  background:var(--cream-pale); border-radius:0 14px 14px 0;
  font-family:'Fraunces', serif; font-style:italic; font-size:1.3rem;
  color:var(--espresso); line-height:1.45;
}
.divider{
  width:64px; height:3px; background:var(--gold); border-radius:3px; margin:40px auto;
}

/* ---------- CTA ---------- */
.article-cta{
  background:var(--cream-pale); border-radius:22px; padding:40px; text-align:center;
  margin:48px 0 20px;
}
.article-cta h3{font-size:1.5rem;}
.article-cta p{color:var(--slate); margin:10px 0 22px;}
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  background:var(--espresso); color:var(--cream) !important;
  padding:13px 26px; border-radius:999px; font-size:0.84rem; font-weight:700;
  letter-spacing:0.02em; text-decoration:none; white-space:nowrap; flex-shrink:0;
  border:1px solid var(--espresso); transition:background .25s ease, transform .2s ease;
}
.btn:hover{background:var(--sage-deep); border-color:var(--sage-deep); transform:translateY(-1px);}

/* ---------- FOOTER ---------- */
.site-footer{background:var(--espresso); color:#cabfae; padding:40px 0; margin-top:50px;}
.site-footer .wrap{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px;}
.site-footer .brand-text{color:var(--cream);}
.site-footer .brand-text span{color:var(--sage-light);}
.site-footer a{color:#cabfae; text-decoration:none; font-size:0.86rem;}
.site-footer a:hover{color:var(--gold-light);}

@media (max-width:720px){
  .article-hero{padding:54px 0 46px;}
  .article-body{padding:46px 0 20px;}
  .article-cta{padding:30px 22px;}
  .site-footer .wrap{flex-direction:column; text-align:center;}
}
