:root {
    --cream: #FAF6EE;
    --cream-darker: #F2EBDB;
    --ink: #1A1A1A;
    --ink-soft: #3A3A3A;
    --muted: #6B6B6B;
    --hairline: #D9D2C2;
    --forest: #14532D;
    --forest-deep: #0C3A1F;
    --amber: #B45309;
    --amber-soft: #FCE9C7;
    --burnt: #C2410C;
    --burnt-deep: #9A3412;
    --wine: #7F1D1D;
    --sage: #DCE5D0;
    --sage-deep: #4D6643;
  }
  body {
    font-family: 'Lora', Georgia, serif;
    background: var(--cream);
    color: var(--ink);
    font-size: 19px;
    line-height: 1.7;
  }
  .display-font { font-family: 'Playfair Display', Georgia, serif; letter-spacing: -0.01em; }
  .ui-font { font-family: 'Inter', -apple-system, sans-serif; }
  .article-prose p { margin-bottom: 1.2rem; }
  .news-link {
    color: var(--forest);
    font-weight: 600;
    text-decoration: underline;
    text-decoration-thickness: 1.5px;
    text-underline-offset: 3px;
    text-decoration-color: var(--amber);
    transition: all 0.15s;
  }
  .news-link:hover { color: var(--amber); text-decoration-color: var(--forest); }

  /* Drop cap */
  .drop-cap::first-letter {
    font-family: 'Playfair Display', Georgia, serif;
    float: left;
    font-size: 5.2rem;
    line-height: 0.85;
    font-weight: 800;
    color: var(--forest);
    padding: 0.3rem 0.8rem 0 0;
    margin-bottom: -0.2rem;
  }

  /* Pull quote — magazine style */
  .pull-quote {
    font-family: 'Playfair Display', Georgia, serif;
    font-style: italic;
    font-size: 1.7rem;
    line-height: 1.35;
    color: var(--forest-deep);
    text-align: center;
    margin: 2.5rem auto;
    max-width: 90%;
    position: relative;
    padding: 1.5rem 0;
  }
  .pull-quote::before, .pull-quote::after {
    content: '';
    display: block;
    width: 60px;
    height: 2px;
    background: var(--amber);
    margin: 0 auto;
  }
  .pull-quote::before { margin-bottom: 1.2rem; }
  .pull-quote::after { margin-top: 1.2rem; }
  .pull-quote .mark {
    font-size: 4rem;
    color: var(--amber);
    line-height: 0;
    vertical-align: -0.6em;
    margin-right: 0.2rem;
    font-family: 'Playfair Display', Georgia, serif;
  }

  /* Section divider — ornament */
  .section-divider {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    margin: 3.5rem 0 2rem;
    color: var(--amber);
  }
  .section-divider::before, .section-divider::after {
    content: '';
    flex: 1;
    height: 1px;
    background: var(--hairline);
    max-width: 120px;
  }
  .section-divider .ornament {
    font-size: 18px;
    letter-spacing: 6px;
  }

  /* Section heading */
  .section-h2 {
    font-family: 'Playfair Display', Georgia, serif;
    font-weight: 800;
    font-size: 2rem;
    line-height: 1.2;
    color: var(--ink);
    margin: 0.5rem 0 1.2rem;
    letter-spacing: -0.02em;
  }
  .section-h2 .accent { color: var(--forest); font-style: italic; }

  /* Callouts */
  .callout-warning {
    background: var(--amber-soft);
    border-left: 4px solid var(--amber);
    padding: 18px 22px;
    margin: 1.8rem 0;
    border-radius: 0 6px 6px 0;
  }
  .callout-warning p { margin: 0; color: #5C2E07; }
  .callout-danger {
    background: #FBE9E9;
    border-left: 4px solid var(--wine);
    padding: 18px 22px;
    margin: 1.8rem 0;
    border-radius: 0 6px 6px 0;
  }
  .callout-danger p { margin: 0; color: var(--wine); }

  /* Doctor question line */
  .question-line {
    font-family: 'Playfair Display', Georgia, serif;
    font-style: italic;
    color: var(--amber);
    font-size: 1.15rem;
    margin: 2rem 0 0.8rem;
    font-weight: 500;
  }

  /* CTA Button */
  .cta-button {
    display: block;
    width: 100%;
    max-width: 540px;
    margin: 18px auto;
    padding: 22px 32px;
    background: var(--burnt);
    color: #fff;
    font-family: 'Inter', sans-serif;
    font-weight: 800;
    font-size: 1.35rem;
    text-align: center;
    border-radius: 4px;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    box-shadow: 0 6px 0 var(--burnt-deep), 0 8px 16px rgba(154, 52, 18, 0.25);
    transition: transform 0.12s, box-shadow 0.12s;
    border: none;
  }
  .cta-button:hover {
    transform: translateY(2px);
    box-shadow: 0 4px 0 var(--burnt-deep), 0 6px 14px rgba(154, 52, 18, 0.3);
    color: #fff;
  }
  .cta-button:active { transform: translateY(6px); box-shadow: 0 0 0 var(--burnt-deep); }

  /* CTA wrapper */
  .cta-frame {
    background: var(--cream);
    border: 1px solid var(--hairline);
    border-radius: 8px;
    padding: 32px 28px;
    margin: 2.5rem 0;
    text-align: center;
    position: relative;
  }
  .cta-frame::before {
    content: 'EXCLUSIVE READER OFFER';
    position: absolute;
    top: -10px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--forest);
    color: var(--cream);
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.15em;
    padding: 4px 18px;
    border-radius: 999px;
  }

  /* Arrow chain */
  .chain-node {
    background: #fff;
    border: 1px solid var(--hairline);
    border-radius: 6px;
    padding: 16px 18px;
    text-align: center;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04);
  }
  .chain-node.problem { background: #F5F5F5; border-color: #C8C2B2; }
  .chain-node.failed { background: #FBE9E9; border-color: #E2A4A4; color: var(--wine); }
  .chain-node.villain { background: #FFF7E0; border-color: var(--amber); color: #5C2E07; }
  .chain-node.solution { background: var(--sage); border-color: var(--sage-deep); color: var(--forest-deep); }
  .chain-node.result { background: #E8F0E4; border-color: var(--forest); color: var(--forest-deep); }
  .chain-arrow {
    text-align: center;
    color: var(--amber);
    font-size: 28px;
    line-height: 1;
    margin: 6px 0;
  }

  /* Symptom check list */
  .symptom-list li {
    border-bottom: 1px dashed var(--hairline);
    padding: 14px 0;
    display: flex;
    gap: 14px;
    align-items: flex-start;
  }
  .symptom-list li:last-child { border-bottom: none; }
  .symptom-list .check {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    border: 2px solid var(--amber);
    border-radius: 4px;
    color: var(--burnt);
    font-weight: 800;
    text-align: center;
    line-height: 20px;
    font-size: 16px;
    margin-top: 2px;
    font-family: 'Inter', sans-serif;
  }

  /* Timeline */
  .timeline-row {
    display: flex;
    gap: 18px;
    padding: 18px 0;
    border-bottom: 1px solid var(--hairline);
  }
  .timeline-row:last-child { border-bottom: none; }
  .timeline-stage {
    flex-shrink: 0;
    width: 100px;
    font-family: 'Playfair Display', serif;
    font-weight: 800;
    color: var(--forest);
    font-size: 1.1rem;
    line-height: 1.2;
  }
  .timeline-stage small { display: block; color: var(--amber); font-family: 'Inter'; font-weight: 600; font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; margin-top: 4px; }

  /* Testimonial card */
  .testimonial {
    background: #fff;
    border: 1px solid var(--hairline);
    border-radius: 8px;
    padding: 28px 26px;
    margin: 1.8rem 0;
    position: relative;
  }
  .testimonial-meta { display: flex; gap: 14px; align-items: center; margin-bottom: 14px; padding-bottom: 14px; border-bottom: 1px solid var(--hairline); }
  .testimonial-meta img { width: 60px; height: 60px; border-radius: 50%; object-fit: cover; border: 2px solid var(--sage); }
  .testimonial-name { font-family: 'Playfair Display'; font-weight: 700; font-size: 1.15rem; color: var(--forest-deep); margin: 0; }
  .testimonial-role { font-family: 'Inter'; color: var(--muted); font-size: 13px; margin: 0; }
  .testimonial-quote { font-style: italic; color: var(--ink-soft); }

  /* Comments */
  .comment {
    padding: 22px 0;
    border-bottom: 1px solid var(--hairline);
    display: flex;
    gap: 16px;
  }
  .comment-avatar { width: 48px; height: 48px; border-radius: 50%; flex-shrink: 0; border: 1px solid var(--hairline); }
  .comment-name { font-family: 'Inter'; font-weight: 700; color: var(--ink); margin: 0; font-size: 15px; }
  .comment-time { font-family: 'Inter'; color: var(--muted); font-size: 12px; margin: 2px 0 8px; }
  .comment-body { font-family: 'Lora'; font-size: 16px; line-height: 1.6; margin: 0; color: var(--ink-soft); }
  .comment-actions { font-family: 'Inter'; color: var(--muted); font-size: 12px; margin-top: 10px; }
  .comment-reply { background: var(--sage); border-radius: 6px; padding: 16px 18px; margin: 10px 0 0  30px; display: flex; gap: 14px; }
  .comment-reply .comment-avatar { width: 40px; height: 40px; }
  .verified-badge { background: var(--forest); color: var(--cream); font-family: 'Inter'; font-size: 10px; font-weight: 700; padding: 2px 8px; border-radius: 999px; margin-left: 6px; letter-spacing: 0.05em; }

  /* Filter tabs */
  .filter-tab { font-family: 'Inter'; font-size: 13px; font-weight: 600; padding: 8px 18px; border-radius: 999px; cursor: pointer; }
  .filter-tab.active { background: var(--forest); color: var(--cream); }
  .filter-tab.inactive { background: transparent; color: var(--muted); border: 1px solid var(--hairline); }

  /* Dossier — author intro card */
  .author-dossier {
    background: var(--sage);
    border-radius: 8px;
    padding: 24px;
    margin: 2rem 0;
    display: flex;
    gap: 22px;
    align-items: center;
  }
  .author-dossier img { width: 110px; height: 110px; border-radius: 50%; object-fit: cover; border: 3px solid #fff; flex-shrink: 0; }
  .author-dossier .label { font-family: 'Inter'; font-size: 11px; font-weight: 700; color: var(--forest-deep); letter-spacing: 0.15em; text-transform: uppercase; margin: 0 0 6px; }
  .author-dossier h3 { font-family: 'Playfair Display'; font-size: 1.5rem; font-weight: 800; color: var(--forest-deep); margin: 0 0 8px; line-height: 1.1; }
  .author-dossier p { font-family: 'Lora'; font-size: 15px; line-height: 1.5; color: var(--forest-deep); margin: 0; }

  /* Stat strip */
  .stat-strip {
    background: var(--ink);
    color: var(--cream);
    padding: 28px 24px;
    margin: 2.5rem -2rem;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    text-align: center;
    border-radius: 4px;
  }
  .stat-strip .num { font-family: 'Playfair Display'; font-size: 2.6rem; font-weight: 800; color: var(--amber-soft); line-height: 1; }
  .stat-strip .label { font-family: 'Inter'; font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; color: #C8C2B2; margin-top: 6px; }

  @media (max-width: 768px) {
    body { font-size: 17px; }
    .pull-quote { font-size: 1.3rem; }
    .section-h2 { font-size: 1.6rem; }
    .author-dossier { flex-direction: column; text-align: center; }
    .stat-strip { grid-template-columns: 1fr; gap: 18px; margin: 2rem -1rem; }
    .timeline-row { flex-direction: column; gap: 8px; }
    .timeline-stage { width: auto; }
  }