:root {
  --ink:#0A0A0A; --bg:#FAF8F3; --bg-warm:#F2EDE3; --surface:#FFFFFF;
  --text:#1A1A1A; --text-soft:#4A4A4A; --text-mute:#7A7A7A;
  --line:#E5E0D5; --hot:#E63E11; --hot-deep:#B82D08; --gold:#C9A227; --green:#1F6F47;
  --r-sm:6px; --r-md:12px; --r-lg:20px; --r-xl:28px; --r-2xl:36px; --r-full:999px;
  --shadow-sm:0 1px 2px rgba(10,10,10,0.04);
  --shadow-md:0 4px 16px rgba(10,10,10,0.06);
  --shadow-lg:0 24px 48px -16px rgba(10,10,10,0.18);
  --shadow-xl:0 40px 80px -20px rgba(10,10,10,0.25);
  --ease:cubic-bezier(0.22, 1, 0.36, 1);
}

body { font-family:'Inter',sans-serif; background:var(--bg); color:var(--text); line-height:1.6; -webkit-font-smoothing:antialiased; overflow-x:hidden; }
.wrap { max-width:1280px; margin:0 auto; padding:0 28px; }

h1,h2,h3,h4 { font-family:'Bricolage Grotesque',sans-serif; font-weight:700; letter-spacing:-0.025em; line-height:1.05; color:var(--ink); }
h1 { font-size:clamp(40px,6vw,72px); letter-spacing:-0.035em; font-weight:800; }
h2 { font-size:clamp(26px,3.6vw,38px); }
h3 { font-size:clamp(18px,2.2vw,24px); letter-spacing:-0.015em; line-height:1.2; }

em.script { font-family:'Instrument Serif',serif; font-style:italic; color:var(--hot); font-weight:400; }

.eyebrow {
  font-size:11px; font-weight:600; letter-spacing:0.16em;
  text-transform:uppercase; color:var(--hot);
  display:inline-flex; align-items:center; gap:10px;
}
.eyebrow::before { content:''; width:24px; height:1px; background:var(--hot); }

/* (Header / NAV / disclosure styles live in common.css) */

/* ===== PAGE HERO ===== */
.page-hero { padding:64px 0 48px; position:relative; overflow:hidden; }
.page-hero::before { content:''; position:absolute; top:-150px; right:-150px; width:500px; height:500px; background:radial-gradient(circle,rgba(230,62,17,0.06) 0%,transparent 60%); border-radius:50%; }
.page-hero-inner { position:relative; text-align:center; }
.page-hero .eyebrow { margin-bottom:20px; justify-content:center; }
.page-hero h1 { max-width:900px; margin:0 auto 24px; }
.page-hero h1 em { font-style:italic; color:var(--hot); }
.page-hero p.lead { font-size:clamp(17px,1.5vw,20px); color:var(--text-soft); max-width:620px; margin:0 auto; line-height:1.6; }

/* ===== CATEGORY FILTER ===== */
.cat-filter { padding:32px 0 64px; }
.cat-bar { display:flex; gap:12px; flex-wrap:wrap; justify-content:center; }
.cat-pill {
  display:inline-flex; align-items:center; gap:8px;
  padding:12px 22px; border-radius:var(--r-full);
  background:var(--surface); border:1px solid var(--line);
  font-family:'Inter',sans-serif; font-size:14px; font-weight:500;
  color:var(--text-soft); text-decoration:none; cursor:pointer;
  transition:all 0.25s var(--ease);
}
.cat-pill:hover, .cat-pill.active {
  background:var(--ink); color:white; border-color:var(--ink); transform:translateY(-2px);
}
.cat-pill .cat-count {
  background:var(--bg-warm); color:var(--text-mute);
  padding:2px 8px; border-radius:var(--r-full);
  font-size:11px; font-weight:700;
  transition:all 0.25s var(--ease);
}
.cat-pill:hover .cat-count, .cat-pill.active .cat-count {
  background:rgba(255,255,255,0.15); color:white;
}

/* ===== FEATURED POST ===== */
.featured { padding:0 0 80px; }
.featured-card {
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--r-2xl);
  overflow:hidden;
  display:grid;
  grid-template-columns:1.2fr 1fr;
  transition:all 0.4s var(--ease);
  text-decoration:none;
  color:inherit;
}
.featured-card:hover { box-shadow:var(--shadow-xl); border-color:var(--ink); transform:translateY(-4px); }
.featured-img {
  aspect-ratio:auto;
  background:var(--bg-warm);
  position:relative;
  overflow:hidden;
}
.featured-img img {
  width:100%; height:100%; object-fit:cover;
  transition:transform 0.6s var(--ease);
}
.featured-card:hover .featured-img img { transform:scale(1.04); }
.featured-tag-tl {
  position:absolute; top:20px; left:20px;
  background:var(--hot); color:white;
  padding:8px 14px; border-radius:var(--r-full);
  font-size:11px; font-weight:700;
  letter-spacing:0.08em; text-transform:uppercase;
  z-index:2;
}
.featured-body { padding:48px 56px; display:flex; flex-direction:column; justify-content:center; }
.featured-meta {
  display:flex; gap:14px; margin-bottom:18px;
  font-size:13px; color:var(--text-mute); align-items:center; flex-wrap:wrap;
}
.featured-cat {
  font-size:11px; font-weight:700; letter-spacing:0.08em;
  text-transform:uppercase; color:var(--hot);
}
.featured-meta .sep { color:var(--line); }
.featured-meta strong { color:var(--ink-soft); font-weight:600; }
.featured-card h2 { margin-bottom:18px; font-size:clamp(26px,3.2vw,36px); }
.featured-card h2 em { color:var(--hot); font-style:italic; }
.featured-excerpt {
  font-size:16px; color:var(--text-soft); line-height:1.65;
  margin-bottom:28px;
}
.featured-byline {
  display:flex; align-items:center; gap:12px;
  padding-top:24px; border-top:1px solid var(--line);
}
.byline-avatar {
  width:36px; height:36px; border-radius:50%;
  background:var(--ink); color:white;
  display:flex; align-items:center; justify-content:center;
  font-family:'Bricolage Grotesque',sans-serif;
  font-weight:700; font-size:13px;
}
.byline-info { flex:1; }
.byline-name { font-size:13px; font-weight:600; color:var(--ink); }
.byline-role { font-size:12px; color:var(--text-mute); }
.read-arrow {
  width:40px; height:40px;
  border-radius:50%; background:var(--bg-warm);
  display:flex; align-items:center; justify-content:center;
  color:var(--ink);
  transition:all 0.25s var(--ease);
}
.featured-card:hover .read-arrow {
  background:var(--hot); color:white; transform:translateX(4px);
}

/* ===== POST GRID ===== */
.posts-section { padding:0 0 100px; }
.section-head {
  display:flex; justify-content:space-between; align-items:flex-end;
  gap:32px; margin-bottom:48px; flex-wrap:wrap;
}
.section-head h2 { margin-bottom:8px; }
.section-head .sub { font-size:15px; color:var(--text-soft); }
.sort-pill {
  display:inline-flex; align-items:center; gap:8px;
  padding:10px 18px; border:1px solid var(--line); border-radius:var(--r-full);
  background:var(--surface); font-size:13px; font-weight:500; color:var(--text-soft);
  cursor:pointer;
}

.post-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
.post-card {
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--r-xl);
  overflow:hidden;
  display:flex; flex-direction:column;
  transition:all 0.4s var(--ease);
  text-decoration:none;
  color:inherit;
}
.post-card:hover { transform:translateY(-6px); box-shadow:var(--shadow-lg); border-color:var(--ink); }
.post-img {
  aspect-ratio:16/10;
  background:var(--bg-warm);
  position:relative;
  overflow:hidden;
}
.post-img img {
  width:100%; height:100%; object-fit:cover;
  transition:transform 0.6s var(--ease);
}
.post-card:hover .post-img img { transform:scale(1.05); }
.post-tag-tl {
  position:absolute; top:14px; left:14px;
  background:rgba(10,10,10,0.85); backdrop-filter:blur(10px);
  color:white; padding:5px 10px; border-radius:var(--r-full);
  font-size:10.5px; font-weight:700;
  letter-spacing:0.06em; text-transform:uppercase;
  z-index:2;
}
.post-tag-tl.hot { background:var(--hot); }
.post-tag-tl.gold { background:var(--gold); color:var(--ink); }
.post-body {
  padding:24px 26px 28px;
  display:flex; flex-direction:column;
  flex-grow:1;
}
.post-cat {
  font-size:10.5px; font-weight:700;
  letter-spacing:0.1em; text-transform:uppercase;
  color:var(--hot); margin-bottom:10px;
}
.post-card h3 {
  margin-bottom:10px;
  font-size:19px;
  line-height:1.25;
}
.post-excerpt {
  font-size:14px; color:var(--text-soft);
  line-height:1.6; margin-bottom:18px;
  flex-grow:1;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.post-meta {
  display:flex; gap:12px; align-items:center;
  padding-top:18px; border-top:1px solid var(--line);
  font-size:12.5px; color:var(--text-mute);
}
.post-meta .dot { width:3px; height:3px; background:var(--text-mute); border-radius:50%; }
.post-meta strong { color:var(--ink); font-weight:600; }

/* ===== PAGINATION ===== */
.pagination {
  display:flex; justify-content:center; gap:8px;
  margin-top:64px;
}
.page-link {
  width:44px; height:44px;
  border:1px solid var(--line); border-radius:var(--r-md);
  background:var(--surface); color:var(--text-soft);
  display:flex; align-items:center; justify-content:center;
  font-family:'Bricolage Grotesque',sans-serif;
  font-weight:600; font-size:14px;
  text-decoration:none;
  transition:all 0.2s var(--ease);
}
.page-link:hover { border-color:var(--ink); color:var(--ink); }
.page-link.active { background:var(--ink); border-color:var(--ink); color:white; }
.page-link.next, .page-link.prev { width:auto; padding:0 20px; gap:6px; }

/* ===== NEWSLETTER ===== */
.newsletter-section {
  padding:100px 0;
  background:var(--ink);
  color:white;
  position:relative;
  overflow:hidden;
}
.newsletter-section::before {
  content:''; position:absolute; inset:0;
  background:
    radial-gradient(circle at 20% 50%,rgba(230,62,17,0.15) 0%,transparent 50%),
    radial-gradient(circle at 80% 50%,rgba(201,162,39,0.1) 0%,transparent 50%);
}
.newsletter-inner {
  position:relative; z-index:2;
  text-align:center; max-width:600px; margin:0 auto;
}
.newsletter-inner .eyebrow { color:var(--gold); margin-bottom:20px; justify-content:center; }
.newsletter-inner .eyebrow::before { background:var(--gold); }
.newsletter-inner h2 { color:white; margin-bottom:18px; }
.newsletter-inner h2 em { color:var(--gold); font-style:italic; }
.newsletter-inner p {
  color:rgba(255,255,255,0.72);
  font-size:17px; line-height:1.6; margin-bottom:32px;
}
.newsletter-form {
  display:flex; gap:8px; max-width:480px;
  margin:0 auto; flex-wrap:wrap;
}
.newsletter-input {
  flex:1; min-width:200px;
  padding:16px 22px;
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.15);
  border-radius:var(--r-full);
  color:white; font-family:'Inter',sans-serif;
  font-size:14px; outline:none;
  transition:all 0.2s;
}
.newsletter-input::placeholder { color:rgba(255,255,255,0.4); }
.newsletter-input:focus { border-color:var(--gold); background:rgba(255,255,255,0.1); }
.newsletter-btn {
  background:var(--hot); color:white;
  border:none; padding:16px 28px;
  border-radius:var(--r-full);
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:14px; font-weight:700;
  cursor:pointer; transition:all 0.25s var(--ease);
}
.newsletter-btn:hover { background:var(--hot-deep); transform:translateY(-2px); }
.newsletter-note {
  margin-top:20px;
  font-size:12px;
  color:rgba(255,255,255,0.5);
}

/* (Footer styles live in common.css) */

/* ===== RESPONSIVE ===== */
@media (max-width:1024px) {
  .featured-card { grid-template-columns:1fr; }
  .featured-body { padding:36px 32px; }
  .post-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:640px) {
  .wrap { padding:0 20px; }
  .page-hero { padding:48px 0 32px; }
  .featured-body { padding:28px 24px; }
  .post-grid { grid-template-columns:1fr; }
  .cat-bar { justify-content:flex-start; overflow-x:auto; flex-wrap:nowrap; padding-bottom:8px; }
  .cat-pill { flex-shrink:0; }
  .newsletter-form { flex-direction:column; }
  .newsletter-input, .newsletter-btn { width:100%; }
  .pagination { flex-wrap:wrap; }
}