:root{
  --emerald-deep:#06331F;--emerald:#0B5E40;--emerald-600:#12885B;
  --sage:#D8E6D6;--sage-bg:#E8F0E3;--ivory:#FAF6EC;--sand:#E7DAC2;
  --gold:#BC9C68;--ink:#1A2A22;--muted:#54655C;--line:rgba(11,94,64,.16);
  --shadow:0 24px 60px -28px rgba(6,40,28,.5);
  --serif:'Cormorant Garamond',Georgia,serif;--sans:'Jost',-apple-system,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--sans);color:var(--ink);background:var(--ivory);line-height:1.7;font-weight:300;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.15;color:var(--emerald)}
a{color:var(--emerald-600);text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:760px;margin:0 auto;padding:0 24px}
.wrap-wide{max-width:1120px;margin:0 auto;padding:0 24px}

/* header */
header{position:sticky;top:0;z-index:60;background:rgba(251,250,245,.9);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:72px}
.brand{display:flex;align-items:center;gap:11px}
.brand .logo{width:40px;height:40px}
.brand .name{font-family:var(--serif);font-weight:600;font-size:1.25rem;letter-spacing:.14em;color:var(--emerald);line-height:1}
.brand .sub{font-size:.54rem;letter-spacing:.32em;text-transform:uppercase;color:var(--muted);margin-top:3px}
.nav a.back{font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--emerald)}
.btn{display:inline-flex;align-items:center;gap:.5em;font-weight:500;letter-spacing:.04em;font-size:.85rem;padding:14px 28px;border-radius:100px;text-transform:uppercase;background:var(--emerald);color:var(--ivory);transition:.28s}
.btn:hover{background:var(--emerald-deep);transform:translateY(-2px);box-shadow:var(--shadow)}

/* article */
.hero-a{background:linear-gradient(160deg,var(--emerald-deep),var(--emerald));color:var(--ivory);padding:70px 0 60px}
.hero-a .cat{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--sand)}
.hero-a h1{color:#fff;font-size:clamp(2rem,5vw,3.2rem);margin:16px 0 14px}
.hero-a p{color:rgba(251,250,245,.82);font-size:1.1rem;max-width:600px}
.hero-a .meta{margin-top:22px;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:rgba(251,250,245,.6)}
article{padding:56px 0 30px}
article p{margin-bottom:20px;font-size:1.06rem;color:#2c3a33}
article h2{font-size:1.7rem;margin:40px 0 14px}
article h3{font-size:1.3rem;margin:28px 0 10px}
article ul{margin:0 0 20px 22px}
article li{margin-bottom:10px;font-size:1.05rem}
article strong{font-weight:600;color:var(--emerald)}
.callout{background:var(--sage-bg);border-left:3px solid var(--gold);border-radius:0 14px 14px 0;padding:22px 26px;margin:30px 0}
.callout p{margin:0;font-size:1rem;color:var(--muted)}
.cta-box{background:linear-gradient(150deg,var(--emerald),var(--emerald-deep));color:#fff;border-radius:20px;padding:38px 34px;text-align:center;margin:44px 0 10px}
.cta-box h3{color:#fff;font-size:1.8rem;margin-bottom:10px}
.cta-box p{color:rgba(255,255,255,.82);margin-bottom:22px}
.disclaimer{font-size:.86rem;color:var(--muted);font-style:italic;border-top:1px solid var(--line);padding-top:20px;margin-top:30px}

/* listing */
.jhead{background:linear-gradient(160deg,var(--emerald-deep),var(--emerald));color:#fff;padding:66px 0 56px;text-align:center}
.jhead .cat{font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--sand)}
.jhead h1{color:#fff;font-size:clamp(2.2rem,5vw,3.4rem);margin:14px 0 10px}
.jhead p{color:rgba(251,250,245,.82);max-width:520px;margin:0 auto}
.jlist{padding:60px 0}
.jgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.jcard{display:flex;flex-direction:column;border-radius:18px;overflow:hidden;background:var(--sage-bg);border:1px solid var(--line);transition:.3s}
.jcard:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.jtop{aspect-ratio:16/10;display:flex;align-items:flex-end;padding:18px;color:#fff}
.jtop.j1{background:linear-gradient(150deg,#1C6A4E,#0C3327)}
.jtop.j2{background:linear-gradient(150deg,#6E5A44,#3a2f22)}
.jtop.j3{background:linear-gradient(150deg,#2E7D5B,#134E3A)}
.jtop span{font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;background:rgba(255,255,255,.16);padding:5px 11px;border-radius:100px}
.jbody{padding:22px 24px 26px;display:flex;flex-direction:column;flex:1}
.jbody h2{font-size:1.35rem;margin-bottom:10px}
.jbody p{font-size:.92rem;color:var(--muted);margin-bottom:16px;flex:1}
.jbody .read{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--emerald-600);font-weight:500}

/* footer */
footer{background:#08251C;color:rgba(251,250,245,.7);padding:44px 0;text-align:center;margin-top:40px}
footer a{color:var(--sand)}
footer .fl{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;margin-bottom:16px;font-size:.85rem}
footer small{font-size:.78rem;color:rgba(251,250,245,.5)}

@media(max-width:820px){.jgrid{grid-template-columns:1fr}}
