:root{
  --ink:#2a3f3f;
  --green:#467750;
  --sage:#89c07e;
  --mist:#e0e8e2;
  --sand:#f0cd6e;

  --bg:#fbfcfa;
  --text:#111;
  --muted:rgba(0,0,0,.62);
  --border:rgba(0,0,0,.10);

  --accent:var(--green);
  --radius:0.9rem;
  --shadow:0 12px 28px rgba(0,0,0,0.08);
}

/* Reset */
*{ box-sizing:border-box; margin:0; padding:0; }
img{ max-width:100%; display:block; }
a{ color:inherit; }

body{
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  background: radial-gradient(circle at top, var(--mist) 0, var(--bg) 55%, #fff 100%);
  color: var(--text);
  line-height:1.6;
}

.container{
  width: min(1150px, calc(100% - 2.5rem));
  margin: 0 auto;
}

/* Header */
.site-header{
  background: rgba(255,255,255,0.92);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--border);
}

.header-top{
  display:grid;
  grid-template-columns: 1fr auto 1fr;
  align-items:center;
  gap:1rem;
  padding:0.85rem 0;
}

.header-date{ color: var(--muted); font-size:0.9rem; }

.brand{
  display:flex;
  align-items:center;
  gap:0.6rem;
  text-decoration:none;
}

.brand-logo{
  width:40px;
  height:40px;
  border-radius:0.75rem;
  object-fit:cover;
  box-shadow: 0 6px 16px rgba(0,0,0,0.10);
}

.brand-name{
  font-weight:1000;
  font-size:1.65rem;
  letter-spacing:0.02em;
  color:var(--ink);
}

.header-search{
  justify-self:end;
  display:flex;
  gap:0.5rem;
  align-items:center;
}

.search-input{
  width: min(320px, 44vw);
  padding:0.55rem 0.75rem;
  border-radius:0.6rem;
  border:1px solid var(--border);
  background:#fff;
  font-size:0.95rem;
  outline:none;
}

.search-input:focus{
  border-color: rgba(70,119,80,0.55);
  box-shadow: 0 0 0 4px rgba(70,119,80,0.14);
}

.search-button{
  padding:0.55rem 0.8rem;
  border-radius:0.6rem;
  border:1px solid var(--border);
  background:#fff;
  cursor:pointer;
  font-weight:900;
}

.search-button:hover{ background: rgba(0,0,0,0.04); }

/* Nav */
.navbar{
  background: linear-gradient(90deg, rgba(137,192,126,0.35), rgba(240,205,110,0.35));
  border-top: 1px solid rgba(0,0,0,0.06);
}

.nav-inner{ display:flex; justify-content:center; padding:0.55rem 0; }

.nav-links{
  display:flex;
  flex-wrap:wrap;
  gap:1.2rem;
  align-items:center;
}

.nav-links a{
  text-decoration:none;
  font-weight:950;
  text-transform: uppercase;
  letter-spacing:0.06em;
  font-size:0.92rem;
  padding:0.35rem 0.45rem;
  border-radius:0.5rem;
  color:var(--ink);
}

.nav-links a:hover{ background: rgba(255,255,255,0.35); }

.nav-links a[aria-current="page"]{
  text-decoration: underline;
  text-underline-offset: 0.35rem;
}

/* Main */
.site-main{ padding: 1.6rem 0 2.6rem; }
.section{ margin-top: 2.2rem; }

.section-header h2{
  font-size:1.35rem;
  color:var(--ink);
  margin-bottom:0.25rem;
}

.section-header p{ color: var(--muted); font-size:0.98rem; }

.muted{ color:var(--muted); }

/* Home 3-col layout */
.hero-layout-3{
  display:grid;
  grid-template-columns: 2.1fr 1.5fr 1.2fr;
  gap:1.8rem;
  margin-top:1.2rem;
  align-items:flex-start;
}

/* Left feature */
.hero-main-article{ display:flex; flex-direction:column; gap:0.9rem; }
.hero-main-image-wrap{ border-radius:0.85rem; overflow:hidden; box-shadow: var(--shadow); }
.hero-main-image{ width:100%; aspect-ratio:16/9; object-fit:cover; }

.hero-main-kicker{
  font-size:0.75rem;
  text-transform:uppercase;
  letter-spacing:0.14em;
  color:var(--green);
  margin-top:0.25rem;
}

.hero-main-title{
  font-size: clamp(1.9rem, 3vw, 2.45rem);
  line-height:1.15;
}

.hero-main-title a{ text-decoration:none; }
.hero-main-title a:hover{ text-decoration:underline; }

.hero-main-dek{ color:var(--muted); }
.hero-main-byline{ color:var(--muted); }

/* Center col */
.hero-center-column{ display:flex; flex-direction:column; gap:1.1rem; }
.center-lead-card{ display:flex; flex-direction:column; gap:0.6rem; }
.center-lead-image-wrap{ border-radius:0.75rem; overflow:hidden; }
.center-lead-image{ width:100%; aspect-ratio:16/9; object-fit:cover; }

.center-kicker{
  font-size:0.72rem;
  text-transform:uppercase;
  letter-spacing:0.14em;
  color:var(--green);
}

.center-title{ font-size:1.05rem; font-weight:1000; }
.center-title a{ text-decoration:none; }
.center-title a:hover{ text-decoration:underline; }

.center-meta{ font-size:0.85rem; color:var(--muted); }

.center-card{ border-top:1px solid rgba(0,0,0,0.08); padding-top:0.7rem; }
.center-card-title{ font-size:0.98rem; font-weight:1000; margin-bottom:0.1rem; }
.center-card-title a{ text-decoration:none; }
.center-card-title a:hover{ text-decoration:underline; }
.center-card-meta{ font-size:0.82rem; color:var(--muted); }

/* Right col */
.hero-right-column{ display:flex; flex-direction:column; gap:0.8rem; }
.right-card{ border-top:1px solid rgba(0,0,0,0.08); padding-top:0.6rem; font-size:0.86rem; }
.right-card:first-child{ border-top:none; }
.right-kicker{
  font-size:0.7rem;
  text-transform:uppercase;
  letter-spacing:0.14em;
  color:var(--green);
}
.right-title{ font-weight:1000; margin:0.15rem 0; }
.right-title a{ text-decoration:none; }
.right-title a:hover{ text-decoration:underline; }
.right-meta{ font-size:0.8rem; color:var(--muted); }

.right-card-sponsored{
  background: rgba(240,205,110,0.22);
  border-radius:0.9rem;
  padding:0.85rem 0.9rem;
  border:1px solid rgba(0,0,0,0.06);
}
.sponsored-label{
  font-size:0.7rem;
  text-transform:uppercase;
  letter-spacing:0.16em;
  color:#b23b25;
  font-weight:1000;
  margin-bottom:0.25rem;
}

/* Cards */
.article-card{
  background:#fff;
  border-radius: var(--radius);
  padding:1rem 1.1rem;
  border:1px solid var(--border);
  box-shadow: 0 8px 20px rgba(0,0,0,0.04);
}

.article-card h3{
  font-size:1.05rem;
  margin-bottom:0.25rem;
  line-height:1.25;
}

.article-card h3 a{ text-decoration:none; }
.article-card h3 a:hover{ text-decoration:underline; }

.article-meta{ font-size:0.85rem; color:var(--muted); margin-top:0.35rem; }

/* Issue pages */
.issue-header{ margin-bottom:1.2rem; }
.issue-header-title{ font-size:1.7rem; margin-bottom:0.15rem; color:var(--ink); }
.issue-header-meta{ font-size:0.95rem; color:var(--muted); }

.article-list-layout{ display:flex; flex-direction:column; gap:2rem; }

.article-section-title{
  font-size:1.05rem;
  text-transform:uppercase;
  letter-spacing:0.12em;
  margin-bottom:0.55rem;
  color:var(--ink);
}

.article-section-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:1rem;
}

.search-summary{
  margin-top:0.8rem;
  padding:0.85rem 1rem;
  border:1px solid rgba(0,0,0,0.08);
  border-radius:0.8rem;
  background: rgba(255,255,255,0.85);
}

/* Article page */
.article-page{ max-width:820px; margin:0 auto; }
.article-breadcrumb{ font-size:0.95rem; color:var(--muted); margin-bottom:0.8rem; }
.article-breadcrumb a{ color:var(--accent); text-decoration:none; font-weight:900; }
.article-breadcrumb a:hover{ text-decoration:underline; }

.article-title{ font-size:2.05rem; line-height:1.15; margin-bottom:0.3rem; color:var(--ink); }
.article-meta-full{ font-size:0.98rem; color:var(--muted); margin-bottom:1rem; }

.article-hero-image{
  width:100%;
  max-height:440px;
  object-fit:cover;
  border-radius:0.85rem;
  margin:0.3rem 0 1.2rem;
}

.article-body p{ margin-bottom:0.95rem; }
.article-body h2{ margin-top:1.3rem; margin-bottom:0.4rem; }

/* Archive */
.issue-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:1.4rem;
  margin-top:1.2rem;
}

.issue-card{ text-align:center; }

.issue-cover-wrap{
  border-radius:0.85rem;
  overflow:hidden;
  box-shadow: 0 10px 24px rgba(0,0,0,0.08);
  margin-bottom:0.5rem;
}
.issue-cover-wrap img{
  width:100%;
  aspect-ratio:3/4;
  object-fit:cover;
}

.issue-title-link{
  display:block;
  font-weight:1000;
  text-decoration:none;
  color:var(--ink);
}
.issue-title-link:hover{ text-decoration:underline; }
.issue-date{ font-size:0.9rem; color:var(--muted); }

/* Authors */
.author-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:1.7rem;
  margin-top:1rem;
}

.author-block{
  border:1px solid rgba(0,0,0,0.08);
  border-radius:0.9rem;
  background: rgba(255,255,255,0.9);
  padding:1rem 1.1rem;
}

.author-name{ font-size:1.25rem; font-weight:1000; margin-bottom:0.2rem; color:var(--ink); }
.author-count{ font-size:0.95rem; color:var(--muted); margin-bottom:0.8rem; }

/* Static pages card */
.static-card{
  margin-top:1rem;
  max-width:820px;
  background:#fff;
  border:1px solid var(--border);
  border-radius: var(--radius);
  padding:1.1rem 1.2rem;
  box-shadow: 0 8px 20px rgba(0,0,0,0.04);
}

/* Footer */
.site-footer{
  border-top:1px solid rgba(0,0,0,0.06);
  padding:1.6rem 0 2.3rem;
  background: rgba(255,255,255,0.90);
}

.footer-inner{ text-align:center; font-size:0.9rem; color:var(--muted); }
.footer-note{ margin-top:0.25rem; }

/* Responsive */
@media (max-width: 1000px){
  .hero-layout-3{
    grid-template-columns: 2fr 1.6fr;
    grid-template-areas:
      "hero-main hero-center"
      "hero-main hero-right";
  }
  #hero-main{ grid-area: hero-main; }
  #hero-center{ grid-area: hero-center; }
  #hero-right{ grid-area: hero-right; }
}

@media (max-width: 820px){
  .header-top{
    grid-template-columns:1fr;
    justify-items:center;
    text-align:center;
    gap:0.75rem;
  }
  .header-search{ justify-self:center; }
  .search-input{ width: min(420px, 92vw); }

  .hero-layout-3{
    grid-template-columns:1fr;
    grid-template-areas: "hero-main" "hero-center" "hero-right";
  }
}

@media (max-width: 800px){
  .article-section-grid{ grid-template-columns:1fr; }
}

@media (max-width: 980px){
  .issue-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 650px){
  .issue-grid{ grid-template-columns:1fr; }
}