.hero { background:var(--cream); padding:9rem 2.5rem 3rem; }
.hero-inner { max-width:1400px; margin:0 auto; }
.breadcrumb { font-family:var(--f-m); font-size:.65rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gray); margin-bottom:2.5rem; }
.breadcrumb a { color:var(--gray); text-decoration:none; }
.breadcrumb a:hover { color:var(--red); }
.breadcrumb .sep { margin:0 .5rem; opacity:.5; }
.breadcrumb .current { color:var(--ink); }
.hero-eyebrow { font-family:var(--f-m); font-size:.7rem; letter-spacing:.25em; text-transform:uppercase; color:var(--red); margin-bottom:1.75rem; display:flex; align-items:center; gap:.75rem; }
.hero-eyebrow::before { content:''; width:28px; height:1px; background:var(--red); flex-shrink:0; }
.hero-headline { font-family:var(--f-r); font-weight:900; font-size:clamp(3rem,8vw,8rem); line-height:1; letter-spacing:-.04em; color:var(--ink); margin-bottom:1.5rem; }
.hero-headline em { font-style:italic; color:var(--red); }
.hero-sub { font-family:var(--f-r); font-weight:400; font-size:clamp(1rem,1.5vw,1.25rem); line-height:1.7; color:var(--gray); max-width:680px; }

/* Category filter bar */
.filter-bar { background:var(--cream); padding:0 2.5rem 2.5rem; }
.filter-inner { max-width:1400px; margin:0 auto; display:flex; gap:.6rem; flex-wrap:wrap; border-top:1px solid rgba(0,0,0,.12); padding-top:2rem; }
.filter-chip { font-family:var(--f-r); font-weight:600; font-size:.72rem; letter-spacing:.06em; text-transform:uppercase; padding:.55rem 1.1rem; border:1px solid rgba(0,0,0,.2); border-radius:50px; color:var(--ink); transition:all .2s; cursor:pointer; }
.filter-chip:hover { border-color:var(--ink); }
.filter-chip.active { background:var(--ink); color:var(--cream); border-color:var(--ink); }

/* Posts grid */
.posts { background:var(--cream); padding:2rem 2.5rem 7rem; }
.posts-inner { max-width:1400px; margin:0 auto; }
.posts-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.post-card { background:var(--white); border:1px solid rgba(0,0,0,.08); text-decoration:none; color:var(--ink); display:flex; flex-direction:column; overflow:hidden; transition:transform .25s cubic-bezier(.16,1,.3,1),border-color .25s; }
.post-card:hover { transform:translateY(-4px); border-color:var(--teal); }
.post-card.featured { grid-column:span 3; display:grid; grid-template-columns:1fr 1fr; }
.post-thumb { aspect-ratio:16/10; position:relative; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.post-card.featured .post-thumb { aspect-ratio:auto; }
.post-thumb-0 { background:linear-gradient(135deg,var(--dark-teal),var(--ink)); }
.post-thumb-1 { background:linear-gradient(135deg,var(--red),var(--ink)); }
.post-thumb-2 { background:linear-gradient(135deg,var(--teal),var(--dark-teal)); }
.post-thumb-3 { background:linear-gradient(135deg,var(--gray),var(--ink)); }
.post-thumb-mark { font-family:var(--f-r); font-weight:900; font-size:2rem; color:rgba(242,236,224,.12); letter-spacing:-.03em; }
.post-badge { position:absolute; top:1rem; left:1rem; font-family:var(--f-m); font-size:.6rem; letter-spacing:.2em; text-transform:uppercase; background:var(--red); color:var(--cream); padding:.4rem .8rem; }
.post-body { padding:2rem; display:flex; flex-direction:column; flex:1; }
.post-card.featured .post-body { padding:3rem; justify-content:center; }
.post-meta { display:flex; gap:1rem; align-items:center; margin-bottom:1rem; }
.post-cat { font-family:var(--f-m); font-size:.6rem; letter-spacing:.15em; text-transform:uppercase; color:var(--red); }
.post-read { font-family:var(--f-m); font-size:.6rem; letter-spacing:.1em; text-transform:uppercase; color:var(--gray); }
.post-title { font-family:var(--f-r); font-weight:800; font-size:1.3rem; line-height:1.2; letter-spacing:-.02em; color:var(--ink); margin-bottom:.75rem; }
.post-card.featured .post-title { font-size:clamp(1.8rem,3vw,2.75rem); }
.post-excerpt { font-family:var(--f-r); font-weight:400; font-size:.9rem; line-height:1.65; color:var(--gray); margin-bottom:1.5rem; }
.post-card.featured .post-excerpt { font-size:1.05rem; }
.post-link { font-family:var(--f-m); font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; color:var(--ink); font-weight:700; margin-top:auto; }
.post-card:hover .post-link { color:var(--red); }

/* Load more */
.load-more-wrap { display:flex; justify-content:center; margin-top:3rem; }
.load-more { font-family:var(--f-r); font-weight:700; font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; background:transparent; color:var(--ink); border:2px solid var(--ink); padding:1rem 2.5rem; transition:all .2s; }
.load-more:hover { background:var(--ink); color:var(--cream); }

/* Newsletter */
.news { background:var(--ink); color:var(--cream); padding:8rem 2.5rem; }
.news-inner { max-width:1100px; margin:0 auto; }
.news-eyebrow { font-family:var(--f-m); font-size:.65rem; letter-spacing:.25em; text-transform:uppercase; color:var(--red); margin-bottom:1.5rem; display:flex; align-items:center; gap:.75rem; }
.news-eyebrow::before { content:''; width:28px; height:1px; background:var(--red); flex-shrink:0; }
.news-title { font-family:var(--f-r); font-weight:900; font-size:clamp(2rem,4.5vw,4rem); line-height:1.05; letter-spacing:-.03em; margin-bottom:1.25rem; }
.news-title em { font-style:italic; color:var(--teal); }
.news-body { font-family:var(--f-r); font-weight:400; font-size:1.05rem; line-height:1.7; color:rgba(242,236,224,.7); max-width:560px; margin-bottom:2.5rem; }
.news-form { display:flex; gap:.75rem; max-width:520px; flex-wrap:wrap; }
.news-input { flex:1; min-width:240px; font-family:var(--f-r); font-size:.95rem; padding:1rem 1.25rem; border:1px solid rgba(242,236,224,.25); background:rgba(242,236,224,.05); color:var(--cream); }
.news-input::placeholder { color:rgba(242,236,224,.4); }
.news-input:focus { outline:none; border-color:var(--teal); }
.news-btn { font-family:var(--f-r); font-weight:700; font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; background:var(--red); color:var(--cream); padding:1rem 2rem; transition:background .2s; }
.news-btn:hover { background:var(--teal); color:var(--ink); }
.news-fineprint { font-family:var(--f-m); font-size:.62rem; letter-spacing:.08em; color:rgba(242,236,224,.35); margin-top:1.25rem; }

footer { background:var(--ink); color:var(--cream); padding:2rem 2.5rem; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1rem; border-top:1px solid rgba(242,236,224,.08); }
.footer-logo { display:flex; align-items:center; gap:.55rem; text-decoration:none; }
.footer-logo img { width:22px; opacity:.55; }
.footer-logo-text { font-family:var(--f-r); font-weight:700; font-size:.8rem; color:rgba(242,236,224,.45); }
.footer-links { display:flex; gap:1.5rem; flex-wrap:wrap; }
.footer-link { font-family:var(--f-r); font-weight:500; font-size:.6rem; letter-spacing:.15em; text-transform:uppercase; color:rgba(242,236,224,.4); text-decoration:none; }
.footer-link:hover { color:var(--cream); }
.footer-copy { font-family:var(--f-m); font-size:.58rem; letter-spacing:.1em; color:rgba(242,236,224,.3); }

@media (max-width:1024px) {
  .posts-grid { grid-template-columns:1fr 1fr; }
  .post-card.featured { grid-column:span 2; }
}
@media (max-width:768px) {
  nav { padding:1rem 1.5rem; }
  .nav-right { display:none; }
  .hamburger { display:block; }
  .hero { padding:7rem 1.5rem 2.5rem; }
  .hero-headline { font-size:clamp(2.5rem,12vw,4rem); }
  .filter-bar { padding:0 1.5rem 2rem; }
  .posts { padding:1.5rem 1.5rem 5rem; }
  .posts-grid { grid-template-columns:1fr; }
  .post-card.featured { grid-column:span 1; grid-template-columns:1fr; }
  .post-card.featured .post-body { padding:2rem; }
  .news { padding:5rem 1.5rem; }
  footer { padding:1.5rem; flex-direction:column; align-items:flex-start; }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation-duration:.01ms !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }
}
body.menu-open { overflow:hidden; }

/* ── Single post (derived from the blog type scale — no separate design) ── */
.post-meta .post-date { color:var(--gray); }
.single-title { font-size:clamp(2.2rem,5vw,4.5rem); max-width:1100px; }
.single-hero-img { max-width:1100px; margin:0 auto 3rem; padding:0 2.5rem; }
.single-hero-img img { width:100%; height:auto; border:1px solid rgba(0,0,0,.08); }
.single-body { max-width:760px; margin:0 auto; padding:0 2.5rem 4rem; font-size:1.1rem; line-height:1.75; color:var(--ink); }
.single-body > * + * { margin-top:1.5rem; }
.single-body h2 { font-family:var(--f-r); font-weight:800; font-size:clamp(1.6rem,3vw,2.2rem); letter-spacing:-.02em; line-height:1.15; margin-top:3rem; }
.single-body h3 { font-family:var(--f-r); font-weight:700; font-size:clamp(1.3rem,2.2vw,1.6rem); letter-spacing:-.01em; margin-top:2.5rem; }
.single-body h4 { font-family:var(--f-r); font-weight:700; font-size:1.15rem; margin-top:2rem; }
.single-body a { color:var(--red); text-decoration:underline; text-underline-offset:2px; }
.single-body ul, .single-body ol { padding-left:1.5rem; }
.single-body li + li { margin-top:.5rem; }
.single-body img { margin:2rem auto; border:1px solid rgba(0,0,0,.08); }
.single-body blockquote { border-left:3px solid var(--red); padding-left:1.5rem; font-style:italic; color:var(--gray); font-size:1.25rem; }
.single-body strong { font-weight:700; }
.single-body code { font-family:var(--f-m); font-size:.9em; background:var(--bone); padding:.15em .4em; }
.single-foot { max-width:760px; margin:0 auto; padding:2rem 2.5rem 5rem; border-top:1px solid rgba(0,0,0,.1); }

/* ── Pagination ── */
.pagination { margin-top:3.5rem; }
.pagination .nav-links { display:flex; gap:.5rem; flex-wrap:wrap; justify-content:center; align-items:center; }
.pagination .page-numbers { font-family:var(--f-r); font-weight:600; font-size:.8rem; letter-spacing:.05em; padding:.6rem 1rem; border:1px solid rgba(0,0,0,.2); color:var(--ink); text-decoration:none; transition:all .2s; }
.pagination a.page-numbers:hover { border-color:var(--ink); }
.pagination .page-numbers.current { background:var(--ink); color:var(--cream); border-color:var(--ink); }
.pagination .page-numbers.dots { border:none; }
