
    :root {
      --cream: #f5f0e8;
      --ink: #1a1208;
      --amber: #c8842a;
      --amber-light: #f0d4a8;
      --amber-dark: #8a5a18;
      --muted: #7a6e5f;
      --border: #ddd3c0;
    }

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

    body {
      background-color: var(--cream);
      color: var(--ink);
      font-family: 'DM Sans', sans-serif;
      font-weight: 300;
      line-height: 1.75;
    }

    /* ── HEADER ── */
    .site-header {
      background-color: var(--ink);
      padding: 1.1rem 0;
      position: sticky;
      top: 0;
      z-index: 100;
    }
    .brand {
      font-family: 'Playfair Display', serif;
      font-weight: 900;
      font-size: 1.5rem;
      color: var(--amber);
      letter-spacing: .04em;
      text-decoration: none;
    }
    .brand span { color: #fff; }

    /* ── HERO BANNER ── */
    .policy-hero {
      background-color: var(--ink);
      color: var(--cream);
      padding: 5rem 0 4rem;
      position: relative;
      overflow: hidden;
    }
    .policy-hero::before {
      content: '';
      position: absolute;
      inset: 0;
      background: repeating-linear-gradient(
        -45deg,
        transparent,
        transparent 24px,
        rgba(200,132,42,.06) 24px,
        rgba(200,132,42,.06) 25px
      );
    }
    .policy-hero .eyebrow {
      font-size: .75rem;
      font-weight: 500;
      letter-spacing: .2em;
      text-transform: uppercase;
      color: var(--amber);
      margin-bottom: .75rem;
    }
    .policy-hero h1 {
      font-family: 'Playfair Display', serif;
      font-weight: 900;
      font-size: clamp(2.5rem, 6vw, 4.5rem);
      line-height: 1.05;
      margin-bottom: 1.5rem;
    }
    .policy-hero h1 em {
      font-style: italic;
      color: var(--amber);
    }
    .policy-hero .lead-text {
      max-width: 520px;
      color: rgba(245,240,232,.7);
      font-size: 1.05rem;
    }

    /* ── NOTICE BOX ── */
    .notice-box {
      background: var(--amber-light);
      border-left: 4px solid var(--amber);
      border-radius: 4px;
      padding: 1.25rem 1.5rem;
      display: flex;
      gap: 1rem;
      align-items: flex-start;
      margin-bottom: 3rem;
    }
    .notice-icon {
      font-size: 1.4rem;
      line-height: 1;
      flex-shrink: 0;
      margin-top: .1rem;
    }
    .notice-box p { margin: 0; font-size: .92rem; color: var(--amber-dark); }
    .notice-label {
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: .08em;
      font-size: .75rem;
      color: var(--amber-dark);
      display: block;
      margin-bottom: .25rem;
    }

    /* ── SECTION CARDS ── */
    .policy-card {
      background: #fff;
      border: 1px solid var(--border);
      border-radius: 8px;
      padding: 2rem 2.25rem;
      margin-bottom: 1.5rem;
      position: relative;
      transition: box-shadow .25s;
    }
    .policy-card:hover { box-shadow: 0 8px 32px rgba(26,18,8,.08); }
    .policy-card .card-num {
      font-family: 'Playfair Display', serif;
      font-size: 3.5rem;
      font-weight: 900;
      color: var(--amber-light);
      position: absolute;
      top: .5rem;
      right: 1.25rem;
      line-height: 1;
      pointer-events: none;
    }
    .policy-card h2 {
      font-family: 'Playfair Display', serif;
      font-weight: 700;
      font-size: 1.3rem;
      color: var(--ink);
      margin-bottom: 1rem;
      padding-bottom: .75rem;
      border-bottom: 1px solid var(--border);
    }
    .policy-card p { color: #444; margin-bottom: .75rem; font-size: .95rem; }
    .policy-card p:last-child { margin-bottom: 0; }

    /* ── CHIP / TAG ── */
    .chip {
      display: inline-block;
      background: var(--amber-light);
      color: var(--amber-dark);
      font-size: .72rem;
      font-weight: 500;
      letter-spacing: .06em;
      text-transform: uppercase;
      padding: .25rem .65rem;
      border-radius: 100px;
      margin-right: .4rem;
      margin-bottom: .4rem;
    }
    .chip.red {
      background: #fde8e8;
      color: #9b2525;
    }

    /* ── FINAL SALE LIST ── */
    .final-list {
      list-style: none;
      padding: 0;
      margin: 1rem 0 0;
    }
    .final-list li {
      display: flex;
      align-items: flex-start;
      gap: .75rem;
      padding: .65rem 0;
      border-bottom: 1px dashed var(--border);
      font-size: .94rem;
      color: #444;
    }
    .final-list li:last-child { border-bottom: none; }
    .final-list li .bullet {
      width: 22px;
      height: 22px;
      border-radius: 50%;
      background: var(--amber);
      color: #fff;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: .7rem;
      font-weight: 700;
      flex-shrink: 0;
      margin-top: .15rem;
    }

    /* ── SIDEBAR SUMMARY ── */
    .quick-summary {
      background: var(--ink);
      color: var(--cream);
      border-radius: 8px;
      padding: 1.75rem;
      position: sticky;
      top: 90px;
    }
    .quick-summary h3 {
      font-family: 'Playfair Display', serif;
      font-size: 1.1rem;
      color: var(--amber);
      margin-bottom: 1.25rem;
    }
    .summary-item {
      display: flex;
      gap: .75rem;
      padding: .75rem 0;
      border-bottom: 1px solid rgba(245,240,232,.12);
      font-size: .88rem;
    }
    .summary-item:last-child { border-bottom: none; }
    .summary-item .icon { font-size: 1.1rem; flex-shrink: 0; }
    .summary-item strong {
      display: block;
      font-weight: 500;
      color: #fff;
      margin-bottom: .15rem;
    }
    .summary-item span { color: rgba(245,240,232,.6); font-size: .82rem; }

    /* ── FOOTER ── */
    .site-footer {
      background: var(--ink);
      color: rgba(245,240,232,.5);
      text-align: center;
      padding: 2rem 0;
      font-size: .82rem;
      margin-top: 4rem;
    }
    .site-footer a { color: var(--amber); text-decoration: none; }

    /* ── ANIMATIONS ── */
    @keyframes fadeUp {
      from { opacity: 0; transform: translateY(20px); }
      to   { opacity: 1; transform: translateY(0); }
    }
    .animate { animation: fadeUp .55s ease both; }
    .delay-1 { animation-delay: .1s; }
    .delay-2 { animation-delay: .2s; }
    .delay-3 { animation-delay: .3s; }
    .delay-4 { animation-delay: .4s; }