/* ============ DYE MEDIA — blog ============
   Uses the site's existing tokens, so light/dark theming comes free. */
.blog-hero{position:relative;padding:calc(var(--nav-height) + 5rem) 0 3.5rem;overflow:hidden}
.blog-hero__radial{position:absolute;width:900px;height:900px;border-radius:50%;
  left:-220px;top:-460px;pointer-events:none;
  background:radial-gradient(circle,var(--accent) 0%,transparent 62%);opacity:.16;filter:blur(12px)}
.blog-wrap{max-width:var(--content-width);margin:0 auto;padding:0 var(--gutter);position:relative;z-index:2}

.blog-title{font-family:var(--font-display);font-size:clamp(3.2rem,9vw,7rem);line-height:.9;
  text-transform:uppercase;margin:1.25rem 0 0;color:var(--ink-strong)}
.blog-title .accent{color:var(--accent)}
.blog-lede{margin-top:1.5rem;max-width:60ch;font-size:1.15rem;line-height:1.65;
  font-weight:300;color:var(--gray-200)}

/* ---- filters ---- */
.blog-filters{display:flex;flex-wrap:wrap;gap:.6rem;margin:2.5rem 0 0}
.blog-filter{font-family:var(--font-accent);font-size:.8rem;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;padding:.6rem 1.1rem;border:var(--border-dim);background:transparent;
  color:var(--gray-200);cursor:pointer;transition:all var(--t-fast)}
.blog-filter:hover{border-color:var(--accent);color:var(--ink-strong)}
.blog-filter[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:#fff}

/* ---- grid ---- */
.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));
  gap:2.25rem;padding:3.5rem 0 6rem}
.post-card{display:flex;flex-direction:column;text-decoration:none;color:inherit;
  border:var(--border-dim);background:var(--surface-2);transition:all var(--t-base)}
.post-card:hover{border-color:var(--accent);transform:translateY(-4px);box-shadow:var(--shadow-card)}
.post-card__img{aspect-ratio:1200/630;width:100%;object-fit:cover;display:block;background:var(--surface-3)}
.post-card__body{padding:1.5rem 1.6rem 1.75rem;display:flex;flex-direction:column;gap:.75rem;flex:1}
.post-card__eyebrow{font-family:var(--font-accent);font-size:.72rem;font-weight:700;
  letter-spacing:.20em;text-transform:uppercase;color:var(--accent)}
.post-card__title{font-family:var(--font-display);font-size:1.6rem;line-height:1.06;
  text-transform:uppercase;color:var(--ink-strong)}
.post-card__dek{font-size:.94rem;line-height:1.6;font-weight:300;color:var(--gray-300)}
.post-card__meta{margin-top:auto;padding-top:.9rem;font-family:var(--font-accent);font-size:.72rem;
  font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gray-500)}

/* ---- article ---- */
.article{padding:0 0 5rem}
.article__cover{width:100%;max-width:var(--content-width);margin:0 auto;display:block;
  aspect-ratio:1200/630;object-fit:cover}
.article__body{max-width:70ch;margin:3.5rem auto 0;padding:0 var(--gutter)}
.article__body p,.article__body li{font-size:1.08rem;line-height:1.75;font-weight:300;
  color:var(--gray-100);margin-bottom:1.35rem}
.article__body h2{font-family:var(--font-display);font-size:2.1rem;line-height:1.05;
  text-transform:uppercase;margin:3rem 0 1.1rem;color:var(--ink-strong)}
.article__body h3{font-family:var(--font-accent);font-size:1.15rem;font-weight:700;letter-spacing:.02em;
  margin:2rem 0 .7rem;color:var(--ink-strong)}
.article__body strong{color:var(--ink-strong);font-weight:500}
.article__body ul,.article__body ol{padding-left:1.4rem;margin-bottom:1.35rem}
.article__body li{margin-bottom:.6rem}
.article__body a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.answer-box{border-left:3px solid var(--accent);background:var(--surface-2);
  padding:1.5rem 1.75rem;margin:0 0 2.5rem}
.answer-box p{margin:0;font-size:1.14rem;line-height:1.65;color:var(--ink-strong);font-weight:400}
.article__cta{max-width:70ch;margin:3.5rem auto 0;padding:2rem var(--gutter);
  border-top:var(--border-dim);display:flex;flex-wrap:wrap;gap:1rem;align-items:center;
  justify-content:space-between}
.article__cta p{margin:0;font-family:var(--font-accent);font-size:1.15rem;font-weight:600;
  color:var(--ink-strong)}
.byline{display:flex;align-items:center;gap:.9rem;margin:2rem 0 0;
  font-family:var(--font-accent);font-size:.8rem;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--gray-400)}
.byline span{color:var(--accent)}
@media(max-width:640px){.blog-grid{grid-template-columns:1fr;gap:1.75rem}}
