
    :root {
      --bg: #faf7f5;
      --card-bg: #ffffff;
      --primary: #c7947d;
      --primary-dark: #a67356;
      --text-main: #222222;
      --text-muted: #666666;
      --border-soft: #e5ded7;
      --radius-lg: 18px;
      --shadow-soft: 0 12px 30px rgba(0, 0, 0, 0.04);
      --max-width: 900px;
      --transition-fast: 0.2s ease;
      --font-main: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    }

    * {
      box-sizing: border-box;
    }

    body {
      margin: 0;
      padding: 0;
      background: var(--bg);
      font-family: var(--font-main);
      color: var(--text-main);
      line-height: 1.7;
      -webkit-font-smoothing: antialiased;
    }

    .page-wrapper {
      min-height: 100vh;
      display: flex;
      justify-content: center;
      padding: 32px 16px 64px;
    }

    .article-container {
      background: var(--card-bg);
      border-radius: 24px;
      box-shadow: var(--shadow-soft);
      max-width: var(--max-width);
      width: 100%;
      padding: 24px 20px 32px;
    }

    @media (min-width: 768px) {
      .article-container {
        padding: 40px 48px 48px;
        border-radius: 28px;
      }
    }

    .badge {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 4px 12px;
      border-radius: 999px;
      background: #f3e7df;
      color: var(--primary-dark);
      font-size: 12px;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      font-weight: 600;
      margin-bottom: 10px;
    }

    .badge-dot {
      width: 6px;
      height: 6px;
      border-radius: 999px;
      background: var(--primary-dark);
    }

    h1 {
      font-size: 1.9rem;
      margin: 0 0 8px;
      letter-spacing: 0.02em;
    }

    @media (min-width: 768px) {
      h1 {
        font-size: 2.3rem;
      }
    }

    .article-meta {
      font-size: 0.85rem;
      color: var(--text-muted);
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin-bottom: 18px;
    }

    .meta-dot {
      width: 3px;
      height: 3px;
      border-radius: 999px;
      background: var(--border-soft);
      align-self: center;
    }

    .lede {
      font-size: 1rem;
      color: var(--text-muted);
      margin: 0 0 24px;
    }

    .hero-highlight {
      border-radius: var(--radius-lg);
      background: linear-gradient(135deg, #f8ede7, #ffffff);
      padding: 16px 16px 18px;
      border: 1px solid #f0e1d7;
      margin-bottom: 24px;
      display: flex;
      flex-direction: column;
      gap: 10px;
    }

    @media (min-width: 768px) {
      .hero-highlight {
        flex-direction: row;
        align-items: center;
        gap: 18px;
        padding: 18px 20px;
      }
    }

    .hero-tagline {
      font-weight: 600;
      font-size: 0.95rem;
    }

    .hero-text {
      font-size: 0.95rem;
      color: var(--text-muted);
    }

    h2 {
      font-size: 1.3rem;
      margin: 28px 0 8px;
    }

    h3 {
      font-size: 1.05rem;
      margin: 18px 0 6px;
    }

    p {
      margin: 0 0 12px;
      font-size: 0.98rem;
    }

    ul, ol {
      padding-left: 1.1rem;
      margin: 0 0 14px;
      font-size: 0.96rem;
    }

    li {
      margin-bottom: 6px;
    }

    strong {
      font-weight: 600;
    }

    .info-box,
    .warning-box,
    .note-box {
      border-radius: 16px;
      padding: 12px 14px;
      margin: 14px 0;
      font-size: 0.93rem;
    }

    .info-box {
      background: #f2f7ff;
      border: 1px solid #d5e2ff;
      color: #2f476c;
    }

    .warning-box {
      background: #fff8f1;
      border: 1px solid #f6d7ba;
      color: #7b4a20;
    }

    .note-box {
      background: #f6f5ff;
      border: 1px solid #dbd7ff;
      color: #3c366b;
    }

    .highlight-list {
      display: grid;
      grid-template-columns: 1fr;
      gap: 10px;
      margin-bottom: 16px;
    }

    @media (min-width: 700px) {
      .highlight-list {
        grid-template-columns: repeat(3, minmax(0, 1fr));
      }
    }

    .pill {
      font-size: 0.85rem;
      padding: 6px 10px;
      border-radius: 999px;
      border: 1px solid var(--border-soft);
      background: #fcfaf9;
      text-align: center;
      white-space: nowrap;
    }

    .subtle-divider {
      border: none;
      border-top: 1px dashed #e3dbd4;
      margin: 18px 0;
    }

    /* CTA section */
    .cta-section {
      margin: 32px 0 8px;
      padding: 18px 16px;
      border-radius: 20px;
      background: linear-gradient(120deg, #f3d7c3, #f6ece3);
      display: flex;
      flex-direction: column;
      gap: 10px;
    }

    @media (min-width: 768px) {
      .cta-section {
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        padding: 20px 22px;
      }
    }

    .cta-text-wrapper {
      max-width: 520px;
    }

    .cta-title {
      font-size: 1.1rem;
      margin: 0 0 4px;
    }

    .cta-sub {
      font-size: 0.92rem;
      margin: 0;
    }

    .cta-button-wrapper {
      display: flex;
      flex-direction: column;
      gap: 8px;
      margin-top: 8px;
    }

    @media (min-width: 768px) {
      .cta-button-wrapper {
        align-items: flex-end;
        margin-top: 0;
      }
    }

    .cta-button-primary {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      padding: 10px 18px;
      border-radius: 999px;
      border: none;
      background: #111111;
      color: #ffffff;
      font-size: 0.95rem;
      font-weight: 600;
      text-decoration: none;
      cursor: pointer;
      transition: transform var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);
      box-shadow: 0 10px 24px rgba(0,0,0,0.18);
      text-align: center;
      white-space: nowrap;
    }

    .cta-button-primary span {
      font-size: 1.1rem;
      transform: translateY(1px);
    }

    .cta-button-primary:hover {
      transform: translateY(-1px);
      background: #222222;
      box-shadow: 0 14px 30px rgba(0,0,0,0.22);
    }

    .cta-note {
      font-size: 0.8rem;
      color: #3f2c22;
      opacity: 0.9;
      text-align: right;
    }

    /* Mobile optimisations */
    @media (max-width: 480px) {
      .article-container {
        padding: 20px 16px 28px;
        border-radius: 18px;
      }

      h1 {
        font-size: 1.7rem;
      }
    }
  