:root{
    --ink:#2b2320;
    --rose:#a5495a;
    --rose-deep:#7c2f3d;
    --sand:#f7f1ea;
    --card:#ffffff;
    --gold:#a9812f;
    --line:#e7ddd0;
  }
  body{
    font-family:'Jost', sans-serif;
    color:var(--ink);
    background:var(--sand);
    line-height:1.7;
  }
  h1,h2,h3,.display-serif{
    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, #ffffff 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;
  }
