*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    :root {
      --forest:       #2D4A2D;
      --forest-mid:   #3E6B3E;
      --forest-light: #5A8F5A;
      --forest-pale:  #C5D9C0;
      --beige:        #F5F0E8;
      --beige-warm:   #EDE5D5;
      --beige-deep:   #D4C4A8;
      --accent:       #8B6914;
      --accent-light: #C9A84C;
      --cream:        #FAF7F2;
      --text-dark:    #1A2A1A;
      --text-mid:     #3D5C3D;
      --text-muted:   #7A8C7A;
      --white:        #FFFFFF;
      --error:        #C0392B;
      --error-bg:     #FDF0EE;
      --error-border: #E8A89E;
    }

    html { scroll-behavior: smooth; }

    body {
      font-family: 'DM Sans', sans-serif;
      font-weight: 300;
      background: var(--cream);
      color: var(--text-dark);
      overflow-x: hidden;
    }

    /* ── Page-scoped styles only.
       All global design tokens, nav, and footer
       base rules live in css/style.css.
       This block adds only the policy-page layout layer. ── */

    

    /* ─────────────────────────────────────────
       POLICY HERO — Section 5.8
       Short beige hero: H1 title + last updated date
    ───────────────────────────────────────── */
    .policy-hero {
      background: var(--beige, #F5F0E8);
      padding: 9rem 2rem 4.5rem;
      border-bottom: 1px solid var(--beige-deep, #D4C4A8);
    }
    .policy-hero-inner {
      max-width: 750px;
      margin: 0 auto;
    }
    .policy-hero-eyebrow {
      font-size: 0.72rem; font-weight: 500; letter-spacing: 0.14em;
      text-transform: uppercase; color: var(--forest-mid, #3E6B3E);
      display: flex; align-items: center; gap: 0.75rem;
      margin-bottom: 1.25rem;
    }
   
    .policy-hero h1 {
      font-family: 'Playfair Display', serif;
      font-size: clamp(2.2rem, 4vw, 3.2rem);
      font-weight: 600; line-height: 1.15;
      color: var(--text-dark, #1A2A1A);
      margin-bottom: 1rem;
    }
    .policy-hero-meta {
      font-size: 0.82rem; color: var(--text-muted, #7A8C7A);
      font-weight: 400; letter-spacing: 0.02em;
    }
    .policy-hero-meta span {
      display: inline-flex; align-items: center; gap: 0.5rem;
    }
    .policy-hero-meta span::before {
      content: ''; width: 4px; height: 4px; border-radius: 50%;
      background: var(--accent-light, #C9A84C); display: inline-block;
    }

    /* ─────────────────────────────────────────
       PROSE BODY — white background
    ───────────────────────────────────────── */
    .policy-body {
      background: var(--white, #FFFFFF);
      padding: 5rem 2rem 6rem;
    }

    /* ─────────────────────────────────────────
       .prose-container — 750px centred max-width
       Section 5.8 specification
    ───────────────────────────────────────── */
    .prose-container {
      max-width: 750px;
      margin: 0 auto;
    }

    /* Section H2 headings */
    .prose-container h2 {
      font-family: 'Playfair Display', serif;
      font-size: 1.45rem; font-weight: 400;
      color: var(--text-dark, #1A2A1A);
      line-height: 1.3;
      margin-top: 3rem;
      margin-bottom: 1rem;
      padding-bottom: 0.6rem;
      border-bottom: 1px solid var(--beige-deep, #D4C4A8);
    }
    .prose-container h2:first-of-type { margin-top: 0; }

    /* Sub-section H3 headings */
    .prose-container h3 {
      font-family: 'Playfair Display', serif;
      font-size: 1.1rem; font-weight: 400;
      color: var(--text-dark, #1A2A1A);
      line-height: 1.35;
      margin-top: 2rem;
      margin-bottom: 0.65rem;
    }

    /* Body paragraphs */
    .prose-container p {
      font-family: 'DM Sans', sans-serif;
      font-size: 1rem; font-weight: 300;
      line-height: 1.85;
      color: var(--text-mid, #3D5C3D);
      margin-bottom: 1.25rem;
    }
    .prose-container p:last-child { margin-bottom: 0; }

    /* Inline links */
    .prose-container a {
      color: var(--forest, #2D4A2D);
      font-weight: 400;
      text-decoration: underline;
      text-underline-offset: 2px;
    }
    .prose-container a:hover { color: var(--accent, #8B6914); }

    /* Bulleted lists */
    .prose-container ul {
      list-style: none;
      padding: 0; margin: 0 0 1.25rem 0;
    }
    .prose-container ul li {
      font-family: 'DM Sans', sans-serif;
      font-size: 1rem; font-weight: 300;
      line-height: 1.8;
      color: var(--text-mid, #3D5C3D);
      padding: 0.2rem 0 0.2rem 1.5rem;
      position: relative;
    }
    .prose-container ul li::before {
      content: '';
      position: absolute; left: 0; top: 0.75rem;
      width: 5px; height: 5px; border-radius: 50%;
      background: var(--accent-light, #C9A84C);
    }
    .prose-container ul li strong {
      font-weight: 500;
      color: var(--text-dark, #1A2A1A);
    }

    /* Core policy statement callout box
       Section 11.4 — styled to stand out prominently */
    .prose-callout {
      background: var(--beige, #F5F0E8);
      border-left: 4px solid var(--forest, #2D4A2D);
      border-radius: 0.75rem;
      padding: 1.35rem 1.5rem;
      margin: 2rem 0;
    }
    .prose-callout p {
      margin-bottom: 0;
      font-size: 0.95rem;
      color: var(--text-dark, #1A2A1A);
      font-weight: 300;
      line-height: 1.8;
    }
    .prose-callout p strong {
      font-weight: 500;
      color: var(--text-dark, #1A2A1A);
    }

    /* Accent notice box — used for important warnings */
    .prose-notice {
      background: #FEF9EC;
      border-left: 4px solid var(--accent-light, #C9A84C);
      border-radius: 0.75rem;
      padding: 1.25rem 1.5rem;
      margin: 2rem 0;
    }
    .prose-notice p {
      margin-bottom: 0;
      font-size: 0.9rem;
      color: var(--text-dark, #1A2A1A);
      font-weight: 300;
      line-height: 1.8;
    }
    .prose-notice p strong {
      font-weight: 500;
      color: var(--accent, #8B6914);
    }

    /* Last updated badge */
    .prose-last-updated {
      display: inline-block;
      font-size: 0.75rem; font-weight: 500;
      letter-spacing: 0.08em; text-transform: uppercase;
      color: var(--text-muted, #7A8C7A);
      background: var(--beige, #F5F0E8);
      padding: 0.35rem 0.9rem;
      border-radius: 2rem;
      margin-bottom: 2.5rem;
    }

    /* Contact detail block */
    .prose-contact-block {
      background: var(--beige, #F5F0E8);
      border-left: 4px solid var(--forest, #2D4A2D);
      border-radius: 0.75rem;
      padding: 1.35rem 1.5rem;
      margin: 2rem 0;
    }
    .prose-contact-block p {
      margin-bottom: 0;
      font-size: 0.92rem;
      line-height: 1.85;
      color: var(--text-dark, #1A2A1A);
      font-weight: 300;
    }

    /* ─────────────────────────────────────────
       RELATED LINKS STRIP — Section 5.8
       Beige background at bottom of policy page
    ───────────────────────────────────────── */
    .policy-related {
      background: var(--beige, #F5F0E8);
      padding: 4rem 2rem;
      border-top: 1px solid var(--beige-deep, #D4C4A8);
    }
    .policy-related-inner {
      max-width: 750px;
      margin: 0 auto;
    }
    .policy-related-label {
      font-size: 0.72rem; font-weight: 500; letter-spacing: 0.14em;
      text-transform: uppercase; color: var(--text-muted, #7A8C7A);
      margin-bottom: 1.25rem;
    }
    .policy-related-links {
      display: flex; flex-wrap: wrap; gap: 0.75rem;
    }
    .policy-related-link {
      display: inline-flex; align-items: center; gap: 0.4rem;
      font-family: 'DM Sans', sans-serif;
      font-size: 0.875rem; font-weight: 400;
      color: var(--forest, #2D4A2D);
      text-decoration: none;
      padding: 0.5rem 1.1rem;
      border-radius: 2rem;
      border: 1px solid var(--forest, #2D4A2D);
      transition: all 0.2s ease;
    }
    .policy-related-link:hover {
      background: var(--forest, #2D4A2D);
      color: var(--white, #FFFFFF);
    }

   
    /* ─────────────────────────────────────────
       RESPONSIVE
    ───────────────────────────────────────── */
    @media (max-width: 768px) {
      
      .policy-hero { padding: 7.5rem 1.5rem 3.5rem; }
      .policy-body { padding: 3.5rem 1.5rem 4.5rem; }
      .policy-related { padding: 3rem 1.5rem; }

      
     
      .policy-related-links { flex-direction: column; }
    }