:root{
      --bg:#FAFAF7;--bg-warm:#F5EFE5;--bg-card:#EDE8DF;--nav-bg:#F5EFE5;
      --ink:#1A1410;--muted:#6B5A4C;--light:#A09080;
      --accent:#B8704A;--gold:#B8704A;--acc-lt:#EDD8C4;
      --acc-soft:rgba(184,112,74,0.10);--acc-border:rgba(184,112,74,0.35);
      --sage:#7A9274;--sage-soft:rgba(122,146,116,0.14);
      --dark:#0F0E0C;--cream:#F5EFE8;
      --border:rgba(26,20,16,0.10);--brd-md:rgba(26,20,16,0.18);
      --col:1100px;
      --lucky:'LuckyTypewriter','Courier New',monospace;
      --serif:'Cormorant Garamond',Georgia,serif;
      --body:'Lora',Georgia,serif;
    }
    /* LuckyTypewriter — embedded directly, no separate file needed */
    @font-face {
      font-family: 'LuckyTypewriter';
      src: url('/fonts/luckytypewriter.woff2') format('woff2'), url('/fonts/luckytypewriter.ttf') format('truetype') format('truetype');
      font-weight: normal;
      font-style: normal;
      font-display: swap;
    }

    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    html  { scroll-behavior: smooth; }
    body  {
      background: var(--bg); color: var(--ink);
      font-family: var(--body);
      font-size: 17px; line-height: 1.75;
      -webkit-font-smoothing: antialiased;
    }

    /* ── HEADER ─────────────────────────────────────────────────── */
    .site-header {
      background: var(--bg);
      border-bottom: 1px solid var(--border);
      padding: 0 48px; height: 62px;
      display: flex; align-items: center; justify-content: space-between;
    }
    .site-name {
      font-family: var(--lucky);
      font-size: 1rem; letter-spacing: 0.04em;
      color: var(--ink); text-decoration: none;
    }
    .site-tagline { font-family: var(--lucky); font-size: 11px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--accent); opacity: 0.85; text-decoration: none; transition: opacity 0.18s; }
    .site-tagline:hover { opacity: 1; }

    /* ── BREADCRUMB ──────────────────────────────────────────────── */
    .breadcrumb {
      background: var(--nav-bg);
      border-bottom: 1px solid var(--border);
      padding: 13px 48px;
      display: flex; align-items: center; gap: 8px;
      font-size: 13px; color: var(--muted); letter-spacing: 0.03em;
    }
    .breadcrumb a { color: var(--muted); text-decoration: none; }
    .breadcrumb a:hover { color: var(--accent); }
    .bc-sep { opacity: 0.4; }
    .bc-current { color: var(--ink); }

    /* ── HERO ────────────────────────────────────────────────────── */
    .hero {
      background: var(--bg-warm);
      border-bottom: 1px solid var(--border);
      padding: 76px 48px 68px;
    }
    .hero-inner { max-width: 1060px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 56px; align-items: start; }
    .hero-main { min-width: 0; }
    .hero-aside { font-family: var(--body); }
    .aside-card { background: var(--bg); border: 1px solid var(--brd-md); padding: 22px 20px; text-align: center; }
    .aside-img { width: 118px; height: auto; margin: 0 auto 14px; display: block; box-shadow: 0 12px 26px rgba(26,20,16,0.22); }
    .aside-eyebrow { font-family: var(--lucky); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--accent); margin-bottom: 6px; }
    .aside-title { font-family: var(--serif); font-size: 21px; font-style: italic; color: var(--ink); line-height: 1.2; margin-bottom: 10px; }
    .aside-desc { font-size: 13px; line-height: 1.55; color: var(--muted); margin-bottom: 16px; }
    .aside-btn { display: inline-block; background: var(--accent); color: #fff; font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; padding: 11px 20px; }
    .aside-btn:hover { background: var(--ink); }
    .aside-also { font-size: 12px; color: var(--light); margin-top: 15px; line-height: 1.5; }
    .aside-also a { color: var(--accent); }
    @media (max-width: 900px) { .hero-inner { grid-template-columns: 1fr; gap: 34px; } .hero-aside { max-width: 340px; } }

    .eyebrow {
      font-family: var(--lucky);
      font-size: 12px; letter-spacing: 0.04em;
      color: var(--accent); margin-bottom: 14px;
    }
    /* TEMPLATE: Replace with topic name */
    .hero-topic {
      font-family: var(--serif);
      font-size: clamp(60px, 9vw, 100px);
      font-weight: 300; line-height: 0.95; letter-spacing: -0.02em;
      color: var(--ink); margin-bottom: 26px;
    }
    /* TEMPLATE: Replace with a single resonant line for this topic */
    .hero-tagline {
      font-family: var(--serif);
      font-size: 22px; font-style: italic; font-weight: 400;
      color: var(--muted); margin-bottom: 22px; line-height: 1.45;
    }
    /* TEMPLATE: Replace with 2-3 sentences specific to this topic */
    .hero-intro {
      font-size: 17px; line-height: 1.85; color: var(--muted);
      margin-bottom: 28px; max-width: 620px;
    }
    .badge-row { display: flex; gap: 8px; flex-wrap: wrap; }
    .badge {
      font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase;
      padding: 4px 10px; border-radius: 2px; font-weight: 500;
      font-family: var(--body);
      text-decoration: none; cursor: pointer;
      transition: background .18s, border-color .18s;
    }
    a.badge:hover { border-color: var(--accent); }
    html { scroll-behavior: smooth; }
    #books, #poetry, #quotes { scroll-margin-top: 24px; }
    #top-quotes { scroll-margin-top: 24px; }
    .section-icon-row { display: flex; align-items: center; gap: 12px; margin-bottom: 8px; }
    .section-icon {
      width: 42px; height: 42px; border-radius: 50%;
      background: var(--bg-card, #EDE8DF); border: 1px solid #d9cdb8;
      display: flex; align-items: center; justify-content: center; flex-shrink: 0;
    }
    .section-icon svg { width: 20px; height: 20px; }
    .quotes-jump { margin: 30px 0 0; text-align: center; }
    .quotes-jump a {
      display: inline-block; padding: 11px 26px;
      background: var(--accent); color: #FDFBF7;
      font-family: var(--body); font-size: 11px; font-weight: 500;
      letter-spacing: 0.12em; text-transform: uppercase;
      text-decoration: none; border-radius: 2px;
      transition: background 0.18s;
    }
    .quotes-jump a:hover { background: #A25F3C; color: #FDFBF7; }
    .badge-b { background: var(--sage-soft); color: var(--accent); border: 1px solid rgba(46,107,80,0.18); }
    .badge-p { background: var(--sage-soft); color: var(--accent); border: 1px solid rgba(122,146,116,0.20); }
    .badge-q { background: var(--acc-soft); color: var(--accent); border: 1px solid rgba(122,94,20,0.18); }

    /* ── OPENING QUOTE ───────────────────────────────────────────── */
    /* The Rx symbol is the signature design element — the Literary Pharmacy mark */
    .opening-quote {
      position: relative; overflow: hidden;
      padding: 80px 48px 72px;
      border-bottom: 1px solid var(--border);
      text-align: center;
    }
    .rx-mark {
      font-family: var(--serif);
      font-size: 220px; font-weight: 300; line-height: 1;
      color: var(--acc-lt); opacity: 0.14;
      position: absolute; top: 50%; left: 50%;
      transform: translate(-50%, -52%);
      user-select: none; pointer-events: none;
      white-space: nowrap;
    }
    .opening-quote-inner {
      position: relative; z-index: 1;
      max-width: 620px; margin: 0 auto;
    }
    /* TEMPLATE: Replace with the single most powerful opening quote for this topic */
    .opening-quote blockquote {
      font-family: var(--serif);
      font-size: clamp(22px, 3.2vw, 30px);
      font-style: italic; font-weight: 300;
      line-height: 1.55; color: var(--ink);
      margin-bottom: 22px;
    }
    .opening-quote cite {
      display: block; font-style: normal;
      font-size: 13px; letter-spacing: 0.07em;
      color: var(--muted);
    }
    .opening-quote cite strong {
      display: block; color: var(--ink); font-weight: 400;
      margin-bottom: 2px; font-size: 14px;
    }

    /* ── SHARED SECTION STYLES ───────────────────────────────────── */
    .p-section {
      padding: 72px 48px;
      border-bottom: 1px solid var(--border);
    }
    .p-section-inner { max-width: var(--col); margin: 0 auto; }

    .section-eyebrow {
      font-family: var(--lucky);
      font-size: 12px; letter-spacing: 0.05em; text-transform: uppercase;
      color: var(--accent); margin-bottom: 10px;
      display: flex; align-items: center; gap: 14px;
    }
    .section-eyebrow::after {
      content: ""; flex: 1; height: 1px; background: var(--brd-md);
    }
    .section-heading {
      font-family: var(--serif);
      font-size: 34px; font-weight: 300;
      color: var(--ink); margin-bottom: 10px; line-height: 1.15;
    }
    .section-intro {
      font-size: 16px; line-height: 1.85; color: var(--muted);
      margin-bottom: 52px;
    }

    /* ── BOOKS ───────────────────────────────────────────────────── */
    .book-list { display: flex; flex-direction: column; gap: 0; }

    .book-entry {
      display: grid; grid-template-columns: 44px 1fr;
      gap: 0 24px;
      padding: 36px 0;
      border-bottom: 1px solid var(--border);
    }
    .book-entry:first-child { padding-top: 0; }
    .book-entry:last-child  { border-bottom: none; padding-bottom: 0; }

    .book-num {
      font-family: var(--lucky);
      font-size: 11px; font-weight: 400;
      color: var(--acc-lt); padding-top: 7px;
      letter-spacing: 0.06em;
    }
    /* TEMPLATE: Title, author, year */
    .book-title {
      font-family: var(--serif);
      font-size: 23px; font-weight: 400;
      color: var(--ink); line-height: 1.2; margin-bottom: 5px;
    }
    .book-title a { color: inherit; text-decoration: none; border-bottom: 1px solid transparent; transition: border-color 0.18s, color 0.18s; }
    .book-title a:hover { color: var(--accent); border-bottom-color: var(--accent); }
    .book-author {
      font-size: 11.5px; letter-spacing: 0.09em; text-transform: uppercase;
      color: var(--light); margin-bottom: 16px;
    }
    /* TEMPLATE: 2-4 sentences on why this book for this topic */
    .book-note {
      font-size: 16px; line-height: 1.85; color: var(--muted);
    }
    /* TEMPLATE: Optional short pull quote from the book — keep under 20 words */
    .book-pull {
      margin-top: 16px;
      font-family: var(--serif);
      font-size: 18px; font-style: italic; font-weight: 400;
      color: var(--ink); line-height: 1.55;
      border-left: 2px solid var(--acc-lt);
      padding-left: 18px;
    }

    /* ── POETRY ──────────────────────────────────────────────────── */
    .poem-list { display: flex; flex-direction: column; gap: 0; }

    .poem-entry {
      padding: 40px 0;
      border-bottom: 1px solid var(--border);
    }
    .poem-entry:first-child { padding-top: 0; }
    .poem-entry:last-child  { border-bottom: none; padding-bottom: 0; }

    /* TEMPLATE: Poem title, poet, date */
    .poem-title {
      font-family: var(--serif);
      font-size: 22px; font-style: italic; font-weight: 400;
      color: var(--ink); margin-bottom: 5px;
    }
    .poem-credit {
      font-size: 11.5px; letter-spacing: 0.09em; text-transform: uppercase;
      color: var(--light); margin-bottom: 20px;
    }
    /* TEMPLATE: 3-6 lines of the poem — use public domain or verified short extracts */
    .poem-extract {
      font-family: var(--serif);
      font-size: 20px; font-style: italic; font-weight: 400;
      line-height: 1.8; color: var(--ink);
      padding: 20px 24px;
      border-left: 2px solid var(--brd-md);
      background: rgba(28,40,32,0.025);
      border-radius: 0 4px 4px 0;
      margin-bottom: 16px;
    }
    /* TEMPLATE: A sentence or two on why this poem for this topic */
    .poem-note {
      font-size: 15px; line-height: 1.8; color: var(--muted);
    }

    /* ── QUOTES ──────────────────────────────────────────────────── */
    .quotes-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 16px;
    }
    .quote-card {
      background: #fff;
      border: 1px solid var(--brd-md);
      border-radius: 4px;
      padding: 28px 26px 24px;
      display: flex; flex-direction: column;
    }
    /* Use is-wide for longer quotes that need full width */
    .quote-card.is-wide { grid-column: 1 / -1; }

    .q-mark {
      font-family: var(--serif);
      font-size: 52px; font-weight: 300;
      color: var(--acc-lt); line-height: 0.75;
      margin-bottom: 10px;
      user-select: none;
    }
    /* TEMPLATE: The quote itself */
    .q-text {
      font-family: var(--serif);
      font-size: 20px; font-style: italic; font-weight: 400;
      line-height: 1.58; color: var(--ink); flex: 1;
      margin-bottom: 16px;
    }
    /* TEMPLATE: Author name + source */
    .q-source {
      font-size: 11.5px; letter-spacing: 0.05em;
      color: var(--light); line-height: 1.5; border-top: 1px solid var(--border); padding-top: 14px;
    }
    .q-source strong {
      color: var(--muted); font-weight: 400;
      display: block; margin-bottom: 1px;
    }

    /* ── PRINT CTA (placeholder) ─────────────────────────────────── */
    .print-cta {
      background: var(--bg-warm);
      border-bottom: 1px solid var(--border);
      padding: 52px 48px; text-align: center;
    }
    .print-cta-inner { max-width: 540px; margin: 0 auto; }
    .print-cta p {
      font-family: var(--serif);
      font-size: 21px; font-style: italic; font-weight: 300;
      color: var(--muted); margin-bottom: 20px; line-height: 1.5;
    }
    .print-cta a {
      display: inline-block;
      border: 1px solid var(--gold); color: var(--accent);
      padding: 12px 28px;
      font-family: var(--body);
      font-size: 10.5px; letter-spacing: 0.16em; text-transform: uppercase;
      text-decoration: none; border-radius: 2px; transition: background 0.18s;
    }
    .print-cta a:hover { background: var(--acc-soft); }

    /* ── RELATED PRESCRIPTIONS ───────────────────────────────────── */
    .related {
      padding: 64px 48px;
      border-bottom: 1px solid var(--border);
    }
    .related-inner { max-width: var(--col); margin: 0 auto; }
    .related-eyebrow {
      font-family: var(--lucky);
      font-size: 12px; letter-spacing: 0.05em; text-transform: uppercase;
      color: var(--accent); margin-bottom: 24px;
      display: flex; align-items: center; gap: 14px;
    }
    .related-eyebrow::after { content: ""; flex: 1; height: 1px; background: var(--brd-md); }
    .related-grid {
      display: grid; grid-template-columns: repeat(auto-fit,minmax(150px,1fr)); gap: 12px;
    }
    /* TEMPLATE: Link each to /prescriptions/[slug] */
    .related-item {
      display: block; padding: 18px 20px;
      border: 1px solid var(--brd-md); border-radius: 4px;
      text-decoration: none; transition: all 0.15s;
    }
    .related-item:hover {
      background: #fff; border-color: var(--acc-border);
      transform: translateY(-1px);
    }
    .related-item-title {
      font-family: var(--serif);
      font-size: 20px; color: var(--ink); line-height: 1.2; margin-bottom: 4px;
    }
    .related-item:hover .related-item-title { color: var(--accent); }
    .related-item-meta {
      font-size: 10px; letter-spacing: 0.06em; text-transform: uppercase;
      color: var(--light);
    }

    /* ── FOOTER ──────────────────────────────────────────────────── */
    .page-footer {
      padding: 72px 48px;
      text-align: center; max-width: 580px; margin: 0 auto;
    }
    .page-footer h2 {
      font-family: var(--serif);
      font-size: 30px; font-weight: 300; font-style: italic;
      color: var(--ink); margin-bottom: 14px;
    }
    .page-footer p {
      font-size: 15px; line-height: 1.85; color: var(--muted); margin-bottom: 28px;
    }
    .btn-dark {
      display: inline-block;
      background: var(--dark); color: var(--cream);
      padding: 14px 36px;
      font-family: var(--lucky);
      font-size: 11.5px; letter-spacing: 0.06em; text-transform: uppercase;
      text-decoration: none; border-radius: 2px; transition: opacity 0.18s;
    }
    .btn-dark:hover { opacity: 0.84; }

    /* ── RESPONSIVE ──────────────────────────────────────────────── */
    @media (max-width: 780px) {
      .site-header   { padding: 0 24px; }
      .breadcrumb    { padding: 12px 24px; }
      .hero          { padding: 56px 24px 52px; }
      .opening-quote { padding: 60px 24px 56px; }
      .p-section     { padding: 56px 24px; }
      .related       { padding: 52px 24px; }
      .page-footer   { padding: 56px 24px; }
      .print-cta     { padding: 44px 24px; }
      .quotes-grid   { grid-template-columns: 1fr; }
      .quote-card.is-wide { grid-column: auto; }
      .related-grid  { grid-template-columns: 1fr; gap: 10px; }
      .rx-mark       { font-size: 140px; }
    }
    @media (max-width: 480px) {
      .site-tagline { display: none; }
      .book-entry   { grid-template-columns: 32px 1fr; gap: 0 16px; }
    }
  
    .shop-print-link {
      margin: 10px 0 0;
      font-size: 12px;
      letter-spacing: 0.04em;
      text-transform: uppercase;
    }
    .shop-print-link a {
      color: #B8704A;
      text-decoration: none;
      border-bottom: 1px solid rgba(184,112,74,0.35);
      padding-bottom: 1px;
    }
    .shop-print-link a:hover { border-bottom-color: #B8704A; }
    .book-disclosure {
      margin: 34px 0 0;
      padding-top: 18px;
      border-top: 1px solid var(--border);
      font-size: 12.5px; line-height: 1.7;
      color: var(--light);
    }
    .book-disclosure a { color: inherit; text-decoration: none; border-bottom: 1px solid var(--brd-md); }
    .book-disclosure a:hover { color: var(--accent); }
  
    .fg-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 18px;
      margin-bottom: 24px;
    }
    @media (max-width: 640px) {
      .fg-grid { grid-template-columns: 1fr; }
    }
    .fg-card {
      background: #FAFAF7;
      border: 1px solid #e8d5c4;
      padding: 22px 22px 20px;
    }
    .fg-card-title {
      font-family: 'Cormorant Garamond', serif;
      font-weight: 600;
      font-size: 19px;
      margin: 0 0 4px;
      color: #1A1410;
    }
    .fg-card-byline {
      font-size: 12px;
      letter-spacing: 0.03em;
      color: #8a8378;
      margin: 0 0 12px;
      text-transform: uppercase;
    }
    .fg-card-text {
      font-size: 14px;
      line-height: 1.7;
      color: #1A1410;
      margin: 0 0 16px;
    }
    .fg-link-filled {
      font-size: 11px;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      background: #B8704A;
      color: #FAFAF7;
      padding: 9px 18px;
      text-decoration: none;
      display: inline-block;
    }
    .fg-card--media { display: flex; gap: 15px; align-items: flex-start; }
    .fg-card--media .fg-card-img {
      width: 84px; height: 84px; flex-shrink: 0;
      object-fit: cover; border: 1px solid #e8d5c4; border-radius: 3px;
      background: #f0e7dc;
    }
    .fg-card--media .fg-card-body { display: flex; flex-direction: column; align-items: flex-start; }
    .fg-card--media .fg-card-body > p { width: 100%; }
    .fg-card--media { height: 100%; }
    .fg-card--media .fg-card-body { flex: 1 1 auto; }
    .fg-card--media .fg-card-body .fg-link-filled { margin-top: auto; }
    .fg-card--media .fg-card-body { align-self: stretch; }
    .fg-card--media .fg-card-img  { align-self: flex-start; }
    .fg-card--media .fg-card-body .fg-links { margin-top: auto; }
    .fg-grid[data-cols="2"]{grid-template-columns:repeat(2,1fr);}
    .fg-grid[data-cols="1"]{grid-template-columns:1fr;max-width:520px;}
    .fg-grid[data-cols="3"]{grid-template-columns:repeat(3,1fr);}
    .fg-grid[data-cols="3"] .fg-card{padding:16px 16px 15px;}
    .fg-grid[data-cols="3"] .fg-card-title{font-size:17px;}
    .fg-grid[data-cols="3"] .fg-card--media{gap:11px;}
    .fg-grid[data-cols="3"] .fg-card--media .fg-card-img{width:62px;height:62px;}
    .fg-grid[data-cols="4"]{grid-template-columns:repeat(4,1fr);}
    .fg-grid[data-cols="4"] .fg-card{padding:16px 16px 15px;}
    .fg-grid[data-cols="4"] .fg-card-title{font-size:17px;}
    .fg-grid[data-cols="4"] .fg-card--media{gap:11px;}
    .fg-grid[data-cols="4"] .fg-card--media .fg-card-img{width:62px;height:62px;}
    @media (max-width:900px){ .fg-grid[data-cols="3"]{grid-template-columns:repeat(2,1fr);} }
    @media (max-width:1100px){ .fg-grid[data-cols="4"]{grid-template-columns:repeat(2,1fr);} }
    .fg-grid[data-cols]{grid-auto-rows:1fr;}
    @media (max-width:640px){ .fg-grid[data-cols]{grid-template-columns:1fr;grid-auto-rows:auto;} }
