/* ====== Reset & base ====== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{
  font-family:'Merriweather',Georgia,serif;
  font-size:17px;line-height:1.75;
  color:#1f2a33;background:#fbfaf7;
}
img{max-width:100%;display:block}
a{color:#2a6f5d;text-decoration:none;transition:color .2s}
a:hover{color:#1a4a3d}

/* ====== Header ====== */
.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(12px);
  border-bottom:1px solid #ece7dd;
}
.nav-wrap{
  max-width:1180px;margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 24px;
}
.brand{
  font-family:'Playfair Display',serif;
  font-size:1.55rem;font-weight:800;color:#1a4a3d;letter-spacing:-.5px;
  display:flex;align-items:center;gap:10px;
}
.brand-dot{width:14px;height:14px;border-radius:50%;background:#d98b5f}
.nav-links{display:flex;gap:28px;list-style:none;align-items:center}
.nav-links a{
  font-family:'Inter',sans-serif;font-size:.92rem;
  color:#2a2a2a;font-weight:500;
}
.nav-links a:hover{color:#d98b5f}
.nav-toggle{display:none;background:none;border:0;font-size:1.5rem;cursor:pointer}

@media(max-width:800px){
  .nav-links{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;background:#fff;padding:20px 24px;border-bottom:1px solid #ece7dd;gap:16px}
  .nav-links.open{display:flex}
  .nav-toggle{display:block}
}

/* ====== Hero ====== */
.hero{
  max-width:1180px;margin:48px auto 0;padding:0 24px;
  display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;
}
@media(max-width:900px){.hero{grid-template-columns:1fr;gap:32px;margin-top:32px}}
.hero h1{
  font-family:'Playfair Display',serif;
  font-size:clamp(2.2rem,5vw,3.6rem);line-height:1.08;
  color:#0f2a22;letter-spacing:-1px;margin-bottom:20px;
}
.hero h1 em{font-style:italic;color:#d98b5f}
.hero p{font-size:1.12rem;color:#4a5864;max-width:560px;margin-bottom:28px}
.hero-img{
  aspect-ratio:4/5;border-radius:24px;overflow:hidden;
  box-shadow:0 30px 60px -20px rgba(30,70,60,.35);
}
.hero-img img{width:100%;height:100%;object-fit:cover}
.btn-primary{
  display:inline-block;background:#1a4a3d;color:#fff;
  font-family:'Inter',sans-serif;font-weight:600;font-size:.95rem;
  padding:14px 30px;border-radius:999px;letter-spacing:.2px;
  transition:transform .2s,background .2s;
}
.btn-primary:hover{background:#d98b5f;color:#fff;transform:translateY(-2px)}

/* ====== Sections ====== */
.section{max-width:1180px;margin:0 auto;padding:72px 24px}
.section-head{margin-bottom:36px}
.eyebrow{
  font-family:'Inter',sans-serif;text-transform:uppercase;
  letter-spacing:2px;font-size:.78rem;color:#d98b5f;font-weight:700;
}
.section-head h2{
  font-family:'Playfair Display',serif;
  font-size:clamp(1.8rem,3.5vw,2.6rem);color:#0f2a22;margin-top:8px;letter-spacing:-.5px;
}
.filters{
  display:flex;gap:10px;flex-wrap:wrap;margin-bottom:32px;
}
.filter-btn{
  font-family:'Inter',sans-serif;font-size:.88rem;font-weight:500;
  padding:8px 18px;border-radius:999px;border:1px solid #d8d2c4;
  background:transparent;color:#4a5864;cursor:pointer;transition:all .2s;
}
.filter-btn.active,.filter-btn:hover{background:#1a4a3d;color:#fff;border-color:#1a4a3d}

/* ====== Article grid ====== */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}
@media(max-width:980px){.grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.grid{grid-template-columns:1fr}}
.card{
  background:#fff;border-radius:18px;overflow:hidden;
  box-shadow:0 4px 14px -4px rgba(20,40,35,.08);
  transition:transform .25s,box-shadow .25s;
  display:flex;flex-direction:column;
}
.card:hover{transform:translateY(-6px);box-shadow:0 20px 40px -16px rgba(20,40,35,.25)}
.card-img{aspect-ratio:16/10;overflow:hidden;background:#eee}
.card-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.card:hover .card-img img{transform:scale(1.06)}
.card-body{padding:22px 22px 26px;flex:1;display:flex;flex-direction:column}
.tag{
  font-family:'Inter',sans-serif;font-size:.72rem;letter-spacing:1.5px;
  text-transform:uppercase;font-weight:700;color:#d98b5f;
}
.card h3{
  font-family:'Playfair Display',serif;
  font-size:1.25rem;line-height:1.25;color:#0f2a22;margin:10px 0 12px;
}
.card-body p{font-size:.95rem;color:#5b6770;margin-bottom:18px;flex:1}
.card-meta{
  font-family:'Inter',sans-serif;font-size:.8rem;color:#8a8a8a;
  display:flex;gap:14px;align-items:center;
}

/* ====== Article page ====== */
.article-wrap{max-width:760px;margin:0 auto;padding:56px 24px 80px}
.crumbs{font-family:'Inter',sans-serif;font-size:.85rem;color:#8a8a8a;margin-bottom:20px}
.crumbs a{color:#8a8a8a}
.article-wrap h1{
  font-family:'Playfair Display',serif;
  font-size:clamp(2rem,4.2vw,3rem);line-height:1.12;
  color:#0f2a22;letter-spacing:-.5px;margin-bottom:18px;
}
.article-meta{
  font-family:'Inter',sans-serif;font-size:.9rem;color:#6a7680;
  display:flex;gap:16px;flex-wrap:wrap;margin-bottom:32px;
  padding-bottom:22px;border-bottom:1px solid #ece7dd;
}
.article-meta span{display:flex;align-items:center;gap:6px}
.article-hero{
  aspect-ratio:16/9;border-radius:20px;overflow:hidden;margin-bottom:36px;
  box-shadow:0 20px 40px -16px rgba(20,40,35,.25);
}
.article-hero img{width:100%;height:100%;object-fit:cover}
.article-content h2{
  font-family:'Playfair Display',serif;
  font-size:1.65rem;color:#1a4a3d;margin:40px 0 14px;letter-spacing:-.3px;
}
.article-content h3{
  font-family:'Playfair Display',serif;
  font-size:1.25rem;color:#0f2a22;margin:28px 0 10px;
}
.article-content p{margin-bottom:18px;color:#2f3a42}
.article-content ul,.article-content ol{margin:0 0 22px 22px;color:#2f3a42}
.article-content li{margin-bottom:8px}
.article-content blockquote{
  border-left:4px solid #d98b5f;padding:4px 20px;
  margin:24px 0;font-style:italic;color:#4a5864;background:#fff7f0;border-radius:0 8px 8px 0;
}
.callout{
  background:#eef6f2;border-radius:14px;padding:22px 24px;
  margin:28px 0;border:1px solid #d5e6dc;
}
.callout strong{color:#1a4a3d}

/* ====== Ads ====== */

/* ====== Newsletter ====== */
.newsletter{
  background:#0f2a22;color:#fbfaf7;border-radius:24px;
  padding:56px 40px;text-align:center;margin:56px 24px;
  max-width:1130px;margin-left:auto;margin-right:auto;
}
.newsletter h2{
  font-family:'Playfair Display',serif;font-size:2rem;margin-bottom:12px;
}
.newsletter p{color:#c9d3cf;max-width:520px;margin:0 auto 24px}
.newsletter form{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;max-width:520px;margin:0 auto}
.newsletter input{
  flex:1;min-width:220px;padding:13px 18px;border:0;border-radius:999px;
  font-family:'Inter',sans-serif;font-size:.95rem;
}
.newsletter button{
  background:#d98b5f;color:#fff;border:0;padding:13px 26px;border-radius:999px;
  font-family:'Inter',sans-serif;font-weight:600;cursor:pointer;transition:background .2s;
}
.newsletter button:hover{background:#c47848}

/* ====== Footer ====== */
.site-footer{
  background:#0f2a22;color:#c9d3cf;padding:56px 24px 32px;margin-top:40px;
}
.footer-inner{
  max-width:1180px;margin:0 auto;
  display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;
}
@media(max-width:820px){.footer-inner{grid-template-columns:1fr 1fr;gap:32px}}
@media(max-width:500px){.footer-inner{grid-template-columns:1fr}}
.footer-inner h4{
  font-family:'Inter',sans-serif;font-size:.78rem;letter-spacing:2px;
  text-transform:uppercase;color:#d98b5f;margin-bottom:14px;
}
.footer-inner a{color:#c9d3cf;display:block;padding:4px 0;font-size:.92rem}
.footer-inner a:hover{color:#fff}
.footer-bottom{
  max-width:1180px;margin:32px auto 0;padding-top:24px;
  border-top:1px solid #1f3a30;font-size:.82rem;color:#8a9a92;
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;
  font-family:'Inter',sans-serif;
}

/* ====== Related ====== */
.related{margin-top:60px;padding-top:40px;border-top:1px solid #ece7dd}
.related h3{
  font-family:'Playfair Display',serif;font-size:1.5rem;color:#0f2a22;margin-bottom:24px;
}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media(max-width:700px){.related-grid{grid-template-columns:1fr}}
.related-grid .card h3{font-size:1.05rem;margin:8px 0}

/* ====== Legal pages ====== */
.legal-wrap{max-width:820px;margin:0 auto;padding:56px 24px}
.legal-wrap h1{
  font-family:'Playfair Display',serif;font-size:2.4rem;color:#0f2a22;margin-bottom:24px;
}
.legal-wrap h2{
  font-family:'Playfair Display',serif;font-size:1.4rem;color:#1a4a3d;margin:28px 0 10px;
}
.legal-wrap p,.legal-wrap li{color:#2f3a42;margin-bottom:12px}
.legal-wrap ul{margin:0 0 18px 22px}
