
  :root {
    --gold: #b89968;
    --gold-soft: #d4b886;
    --rule-dark: #2a2a2a;
    --ink-soft: #444444;
    --bg-warm: #f7f5f0;
  }
  .logo { font-family: 'Playfair Display', Georgia, serif; }
  .font-serif { font-family: 'Playfair Display', Georgia, serif; }
  .hero-h1 { font-size: clamp(52px, 7vw, 92px); line-height: 1.0; }
  .section-title-size { font-size: clamp(32px, 4vw, 52px); }
  .pf-featured-grid {
    background-image:
      linear-gradient(rgba(184,153,104,0.06) 1px, transparent 1px),
      linear-gradient(90deg, rgba(184,153,104,0.06) 1px, transparent 1px);
    background-size: 32px 32px;
  }
  .gold { color: var(--gold); }
  .gold-soft { color: var(--gold-soft); }
  .border-gold { border-color: var(--gold); }
  .bg-warm { background-color: var(--bg-warm); }
  .text-ink-soft { color: var(--ink-soft); }
  .text-ink-muted { color: #7a7a7a; }
  .border-rule { border-color: #e5e2da; }
  .border-rule-dark { border-color: var(--rule-dark); }
  .bg-rule { background-color: #e5e2da; }
  a { text-decoration: none; color: inherit; }
  html { scroll-behavior: smooth; }
  body { -webkit-font-smoothing: antialiased; }

  /* Table styles shared across research pages */
  .research-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
  }
  .research-table th {
    text-align: left;
    padding: 12px 16px;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-weight: 500;
    color: #7a7a7a;
    border-bottom: 1px solid #e5e2da;
  }
  .research-table td {
    padding: 14px 16px;
    border-bottom: 1px solid #e5e2da;
    color: var(--ink-soft);
    vertical-align: top;
  }
  .research-table tr:last-child td { border-bottom: none; }
  .research-table tr:hover td { background: var(--bg-warm); }
  .research-table td:first-child { color: #111; font-weight: 500; }

  /* Faq accordion */
  .faq-item summary { cursor: pointer; list-style: none; }
  .faq-item summary::-webkit-details-marker { display: none; }
  .faq-item[open] .faq-icon { transform: rotate(45deg); }
  .faq-icon { transition: transform 0.3s; }

  /* Decision box */
  .decision-col h5 {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-weight: 500;
    margin-bottom: 16px;
  }
  .decision-col ul { list-style: none; padding: 0; }
  .decision-col ul li {
    font-size: 14px;
    line-height: 1.6;
    color: var(--ink-soft);
    padding: 8px 0;
    border-bottom: 1px solid #e5e2da;
    padding-left: 16px;
    position: relative;
  }
  .decision-col ul li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 17px;
    width: 6px;
    height: 1px;
    background: var(--gold);
  }
