/* ── PAGE HERO: PAPER ── */
.page-hero { background: var(--paper); border-bottom: var(--b); padding: clamp(3.5rem,9vw,7rem) clamp(1rem,5vw,3rem); }
.page-hero-title { font-size: clamp(40px,6vw,72px); color: var(--ink); }
.page-hero-sub { font-size: 16px; color: var(--green); margin-top: 16px; max-width: 520px; }

/* ── FEATURED ── */
.s-featured { background: var(--green); border-bottom: var(--b); }
.featured-card { display: grid; grid-template-columns: 1fr 1fr; gap: 0; border: var(--b); }
.featured-img { border-right: var(--b); background: var(--paper); min-height: 320px; display: flex; align-items: center; justify-content: center; }
.featured-img svg { width: 55%; height: auto; }
.featured-info { padding: 48px 40px; background: var(--paper); display: flex; flex-direction: column; justify-content: center; }
.featured-cat { font-weight: 600; font-size: 10px; letter-spacing: .15em; text-transform: uppercase; color: var(--red); margin-bottom: 16px; }
.featured-title { font-size: clamp(22px,3vw,32px); color: var(--ink); margin-bottom: 16px; line-height: 1.25; }
.featured-excerpt { font-size: 14px; color: var(--green); line-height: 1.7; margin-bottom: 28px; }
.featured-meta { font-size: 12px; color: rgba(34,28,20,.4); font-weight: 500; letter-spacing: .05em; margin-bottom: 28px; }

/* ── BLOG GRID ── */
.s-blog { background: var(--paper); border-bottom: var(--b); }
.s-blog .label { color: var(--green); }
.blog-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(300px,1fr)); gap: 24px; margin-top: 40px; }
.blog-card { border: var(--b); background: var(--paper); transition: border-color 150ms; cursor: pointer; }
.blog-card:hover { border-color: var(--red); }
.blog-thumb { border-bottom: var(--b); aspect-ratio: 16/9; display: flex; align-items: center; justify-content: center; }
.blog-thumb svg { width: 40%; height: auto; }
.blog-body { padding: 24px; }
.blog-cat { font-weight: 600; font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: var(--red); margin-bottom: 10px; }
.blog-title { font-family: 'Paytone One', sans-serif; font-size: 17px; color: var(--ink); margin-bottom: 10px; line-height: 1.3; }
.blog-excerpt { font-size: 13px; color: var(--green); line-height: 1.65; margin-bottom: 16px; }
.blog-meta { font-size: 11px; color: rgba(34,28,20,.38); font-weight: 500; }

/* ── PLACEHOLDER CARD ── */
.blog-card.placeholder { opacity: .45; pointer-events: none; }
.placeholder-label { font-weight: 600; font-size: 11px; letter-spacing: .12em; color: rgba(34,28,20,.35); padding: 8px 12px; background: rgba(34,28,20,.06); border: 1.5px dashed rgba(34,28,20,.2); display: inline-block; margin-bottom: 10px; }

/* ── NEWSLETTER ── */
.s-newsletter { background: var(--ink); border-bottom: var(--b); text-align: center; }
.s-newsletter .sec-title { color: var(--paper); }
.s-newsletter .label { color: rgba(242,232,213,.45); }
.newsletter-sub { font-size: 15px; color: rgba(242,232,213,.65); max-width: 420px; margin: 0 auto 36px; }
.newsletter-form { display: flex; gap: 0; max-width: 480px; margin: 0 auto; border: var(--b); border-color: rgba(242,232,213,.4); }
.newsletter-input { flex: 1; background: transparent; border: none; padding: 14px 20px; font-family: 'Be Vietnam Pro', sans-serif; font-size: 14px; color: var(--paper); outline: none; }
.newsletter-input::placeholder { color: rgba(242,232,213,.35); }
.newsletter-btn { background: var(--red); color: var(--paper); border: none; border-left: 2px solid rgba(242,232,213,.4); padding: 14px 24px; font-family: 'Be Vietnam Pro', sans-serif; font-weight: 600; font-size: 13px; text-transform: uppercase; letter-spacing: .06em; cursor: pointer; transition: background 150ms; white-space: nowrap; }
.newsletter-btn:hover { background: var(--yellow); color: var(--ink); }

@media (max-width: 768px) {
  .featured-card { grid-template-columns: 1fr; }
  .featured-img { border-right: none; border-bottom: var(--b); }
  .newsletter-form { flex-direction: column; }
  .newsletter-input { border-bottom: 1px solid rgba(242,232,213,.2); }
  .newsletter-btn { border-left: none; border-top: 1px solid rgba(242,232,213,.2); }
}
