:root{
  --bg-top:#fffef9;
  --bg-bottom:#fff6dc;
  --text:#2a2a2a;
  --muted:#6b7280;
  --brand:#f59e0b;     /* amber */
  --ok:#10b981;        /* emerald */
  --people:#ffd54f;
  --planet:#81c784;
  --tech:#64b5f6;
  --kindness:#f48fb1;
  --card:#ffffff;
  --shadow:0 10px 24px rgba(0,0,0,.08);
  --radius:20px;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  color:var(--text);
  font-family:"Nunito Sans",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  background:linear-gradient(var(--bg-top),var(--bg-bottom));
  min-height:100vh;
  display:grid;
  grid-template-rows:auto 1fr auto;
}

/* Layout */
.wrap{width:min(1100px,92%);margin-inline:auto}

/* Header */
.site-header{
  padding:.75rem 0 0;
  border-bottom:1px solid #fde68a55;
  background:linear-gradient(to bottom,#fffdf5,transparent);
}
.header-inner{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem 0 1rem;
}
.brand{display:flex;align-items:center;gap:.9rem}
.logo{width:64px;height:64px;object-fit:cover;border-radius:16px;box-shadow:var(--shadow)}
.site-title{
  font-family:"Playfair Display",Georgia,serif;
  font-size:clamp(1.4rem,2.2vw,2rem);
  margin:0;color:#d97706;letter-spacing:.2px
}
.tagline{margin:.15rem 0 0;color:var(--muted)}
.top-links a{color:#a16207;text-decoration:none;margin-left:.9rem}
.top-links a:hover{text-decoration:underline}

/* Coming soon banner */
.coming-soon{
  background:#fff7e680;
  color:#9a6700;
  padding:.6rem 1rem;
  text-align:center;
  font-weight:600;
  border-top:1px dashed #facc15aa;
  border-bottom:1px dashed #facc15aa;
}

/* Highlight */
.highlight{padding:1.2rem 0 0}
.highlight-inner{
  background:linear-gradient(135deg,#fff6d6,#fff);
  border:1px solid #fde68a;
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:1.2rem 1rem;
}
.highlight-kicker{
  display:inline-block;background:#fff1b8;color:#8a5a00;
  padding:.2rem .5rem;border-radius:999px;font-size:.8rem;margin:0 0 .4rem
}
.highlight-head{
  font-family:"Playfair Display",serif;
  font-size:clamp(1.2rem,2.4vw,1.6rem);
  margin:.25rem 0 .4rem;color:#b45309
}
.highlight-text{color:#374151;margin:0 0 .6rem}
.btn{
  display:inline-block;background:#10a37f;color:#fff;
  padding:.5rem .8rem;border-radius:10px;text-decoration:none;
  box-shadow:0 4px 10px rgba(16,163,127,.25);
}
.btn:hover{background:#0d8668}

/* Grid of cards */
.grid{
  display:grid;gap:1rem;
  grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
  margin:1rem 0 2rem;
}
.card{
  background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);
  padding:1rem;position:relative;overflow:hidden;
  transform:translateY(8px);opacity:0;animation:rise .6s ease forwards;
}
.card:nth-child(1){animation-delay:.05s}
.card:nth-child(2){animation-delay:.15s}
.card:nth-child(3){animation-delay:.25s}
.card:nth-child(4){animation-delay:.35s}
@keyframes rise{to{transform:none;opacity:1}}

.cat-bar{position:absolute;top:0;left:0;right:0;height:6px}
.badge{
  display:inline-block;font-size:.75rem;background:#fff3c4;color:#8a5a00;
  padding:.18rem .5rem;border-radius:999px;margin:.25rem 0 .5rem
}
.card-title{
  font-family:"Playfair Display",serif;
  margin:.2rem 0 .4rem;font-size:1.1rem;color:#9a3412
}
.card-text{color:#374151;margin:0 0 .6rem}
.meta{color:#6b7280;font-size:.85rem;margin:.2rem 0 .6rem}
.card .btn{font-size:.9rem}

/* Category colors */
.cat-people .cat-bar{background:var(--people)}
.cat-planet .cat-bar{background:var(--planet)}
.cat-tech .cat-bar{background:var(--tech)}
.cat-kindness .cat-bar{background:var(--kindness)}

/* Footer */
.site-footer{
  border-top:1px solid #fde68a80;
  background:linear-gradient(to top,var(--bg-bottom),#fffefc);
  color:#6b7280
}
.site-footer .wrap{padding:1rem 0}
.site-footer a{color:#a16207}
.site-footer .quote{margin:.3rem 0 .2rem;color:#9a6700;font-weight:600}
.site-footer .tiny{font-size:.8rem}
