  :root{ --ink:#2b2320; --rose:#a5495a; --rose-deep:#7c2f3d; --sand:#f7f1ea; --card:#ffffff; --line:#e7ddd0; }
  body{ font-family:'Jost', sans-serif; color:var(--ink); background:var(--sand); line-height:1.7; }
  h1,h2,h3{ font-family:'Fraunces', serif; color:var(--ink); }
  a{ color:var(--rose-deep); text-decoration:none; } a:hover{ color:var(--rose); }
  .hero{ background:linear-gradient(180deg,#fff 0%,var(--sand) 100%); border-bottom:1px solid var(--line); padding:4.5rem 0 3rem; }
  .hero h1{ font-size:clamp(2rem,4vw,3rem); font-weight:600; max-width:820px; }
  .hero .lead{ max-width:640px; color:#5a4f48; }
  .kicker{ letter-spacing:.03em; font-size:.9rem; color:var(--rose-deep); font-weight:500; }
  .rank-num{ font-family:'Fraunces', serif; font-size:2.75rem; color:var(--line); line-height:1; font-weight:600; }
  .entry{ background:var(--card); border:1px solid var(--line); border-radius:6px; padding:2rem; margin-bottom:1.5rem; }
  .entry h2{ font-size:1.5rem; margin-bottom:.35rem; }
  .entry .tagline{ color:var(--rose-deep); font-weight:500; font-size:.95rem; margin-bottom:.9rem; }
  .entry p{ color:#4a413b; margin-bottom:.6rem; }
  .entry .meta{ font-size:.85rem; color:#8a7d73; border-top:1px solid var(--line); padding-top:.75rem; margin-top:1rem; }
  .featured{ border:1px solid var(--rose-deep); box-shadow:0 4px 22px rgba(124,47,61,.08); }
  .toc{ background:var(--card); border:1px solid var(--line); border-radius:6px; padding:1.5rem 1.75rem; }
  .toc a{ display:block; padding:.3rem 0; color:var(--ink); border-bottom:1px dashed var(--line); }
  .toc a:last-child{ border-bottom:none; } .toc a:hover{ color:var(--rose-deep); }
  .faq-q{ font-weight:600; color:var(--ink); }
  .cta-strip{ background:var(--ink); color:#f4ede4; border-radius:8px; padding:2.25rem; }
  .cta-strip a.btn{ background:var(--rose); border:none; color:#fff; padding:.65rem 1.5rem; }
  .cta-strip a.btn:hover{ background:var(--rose-deep); }
  footer{ border-top:1px solid var(--line); color:#8a7d73; font-size:.9rem; 