    /* ── KEYFRAMES ── */
    @keyframes fadeUp {
        from {
            opacity: 0;
            transform: translateY(20px)
        }

        to {
            opacity: 1;
            transform: translateY(0)
        }
    }

    @keyframes pulse {

        0%,
        100% {
            opacity: 1;
            transform: scale(1)
        }

        50% {
            opacity: .5;
            transform: scale(1.7)
        }
    }

    @keyframes popIn {
        0% {
            opacity: 0;
            transform: scale(.92)
        }

        100% {
            opacity: 1;
            transform: scale(1)
        }
    }

    section {
        padding: 2rem;
    }

    /* ══════════════════════════════════════
     HERO — Compact dark strip
  ══════════════════════════════════════ */
    .policy-hero {
        background: var(--green-mid);
        padding: 7rem 8% 2rem 5rem;
        position: relative;
        overflow: hidden;
    }

    .policy-hero-inner {
        position: relative;
        z-index: 1;
        max-width: 760px;
    }

    .policy-breadcrumb {
        display: flex;
        align-items: center;
        gap: .5rem;
        font-size: clamp(0.875rem, 2.8vw, 1rem);
        color: rgba(255, 255, 255, .45);
        margin-bottom: 2rem;
        animation: fadeUp .5s ease both;
    }

    .policy-breadcrumb a {
        color: rgba(255, 255, 255, .45);
        text-decoration: none;
        transition: color .2s;
    }

    .policy-breadcrumb a:hover {
        color: var(--green-vivid);
    }

    .policy-breadcrumb span {
        color: rgba(255, 255, 255, .25);
    }

    .policy-hero h1 {
        font-size: clamp(2.4rem, 5vw, 4rem);
        font-weight: 700;
        line-height: 1.15;
        color: #fff;
        margin-bottom: 1.25rem;
        animation: fadeUp .6s .15s ease both;
        font-family: var(--font-display);
    }

    .policy-hero h1 em {
        font-style: italic;
        color: var(--green-vivid);
    }

    .qnav-pill {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        padding: .45rem 1rem;
        border-radius: 100px;
        background: #fff;
        border: 1px solid var(--border);
        font-size: .775rem;
        font-weight: 500;
        color: var(--ink-muted);
        text-decoration: none;
        white-space: nowrap;
        transition: all .2s var(--ease);
    }

    .qnav-pill:hover {
        background: var(--green-light);
        border-color: var(--green-mid);
        color: var(--green-deep);
    }

    .qnav-pill.active {
        background: var(--green-deep);
        border-color: var(--green-deep);
        color: #fff;
    }

    .qnav-num {
        font-size: .65rem;
        font-weight: 700;
        background: var(--green-light);
        color: var(--green-deep);
        width: 18px;
        height: 18px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: background .2s, color .2s;
    }

    .qnav-pill:hover .qnav-num {
        background: var(--green-mid);
        color: #fff;
    }

    .qnav-pill.active .qnav-num {
        background: var(--green-vivid);
        color: var(--ink);
    }

    /* ══════════════════════════════════════
     MAIN LAYOUT — Sidebar + Content
  ══════════════════════════════════════ */
    .policy-body {
        display: grid;
        grid-template-columns: 260px 1fr;
        gap: 0;
        /* max-width:1200px; */
        margin: 0 auto;
        padding: 0 8%;
        align-items: start;
    }

    /* ── Sidebar TOC ── */
    .policy-sidebar {
        position: sticky;
        top: 80px;
        padding: 3rem 2rem 3rem 0;
        align-self: start;
    }

    .policy-label {
        font-size: .68rem;
        font-weight: 700;
        letter-spacing: .12em;
        text-transform: uppercase;
        color: var(--green-mid);
        margin-bottom: 1.25rem;
    }

    .sidebar-list {
        list-style: none;
        display: flex;
        flex-direction: column;
        gap: 0;
        border-left: 2px solid var(--border);
    }

    .sidebar-list li a {
        display: flex;
        align-items: center;
        gap: .75rem;
        padding: .55rem .75rem .55rem 1rem;
        font-size: .825rem;
        color: var(--ink-faint);
        text-decoration: none;
        border-left: 2px solid transparent;
        margin-left: -2px;
        transition: color .2s, border-color .2s, background .2s;
        border-radius: 0 var(--r) var(--r) 0;
        line-height: 1.4;
    }

    .sidebar-list li a:hover {
        color: var(--green-deep);
        background: var(--green-light);
    }

    .sidebar-list li a.policy-active {
        color: var(--green-deep);
        border-left-color: var(--green-vivid);
        background: var(--green-light);
        font-weight: 600;
    }

    .policy-num {
        font-size: .65rem;
        font-weight: 700;
        color: var(--green-vivid);
        min-width: 20px;
        text-align: right;
        opacity: .6;
        transition: opacity .2s;
    }

    .sidebar-list li a:hover .policy-num,
    .sidebar-list li a.policy-active .policy-num {
        opacity: 1;
    }

    .policy-contact-box {
        margin-top: 1.25rem;
        padding: 1.25rem;
        background: var(--green-deep);
        border-radius: var(--r);
        color: rgba(255, 255, 255, .7);
        font-size: .8rem;
        line-height: 1.7;
    }

    .policy-contact-box strong {
        color: #fff;
        display: block;
        margin-bottom: .3rem;
        font-size: .825rem;
    }

    .policy-contact-box a {
        color: var(--green-vivid);
        text-decoration: none;
    }

    .policy-contact-box a:hover {
        text-decoration: underline;
    }

    /* ── Content area ── */
    .policy-content {
        padding: 3.5rem 0 5rem 3rem;
        border-left: 1px solid var(--border);
    }

    /* Section blocks */
    .policy-section {
        scroll-margin-top: 96px;
    }

    .policy-section:last-child {
        margin-bottom: 0;
    }

    .policy-section-header {
        display: flex;
        align-items: baseline;
        gap: 1rem;
        /* margin-bottom:1.5rem; */
        padding-bottom: 1rem;
        /* border-bottom:1px solid var(--border); */
    }

    .policy-section-num {
        font-size: clamp(1.3rem, 3vw, 1.75rem);
        font-weight: 800;
        color: var(--green-vivid);
        opacity: .3;
        line-height: 1;
        transition: opacity .2s;
        flex-shrink: 0;
    }

    .policy-section:hover .policy-section-num {
        opacity: .7;
    }

    .policy-section-header h2 {
        font-size: clamp(1.1rem, 3vw, 1.5rem);
        font-weight: 600;
        color: var(--ink);
        line-height: 1.3;
    }

    .policy-section-header h2 em {
        font-style: normal;
        color: var(--green-mid);
    }

    /* Body text */
    .policy-section p {
        font-size: clamp(0.8rem, 3vw, 1rem);
        line-height: 1.5;
        color: var(--ink-muted);
        margin-bottom: 1.1rem;
    }

    .policy-section p:last-child {
        margin-bottom: 0;
    }

    .policy-section strong {
        color: var(--ink);
        font-weight: 600;
    }

    .policy-section a{color:var(--green-mid);text-decoration:none;}
    .policy-section a:hover{text-decoration:underline;}

    /* Lists */
    .unordered-list {
        list-style: none;
        margin: 1.1rem 0;
        display: flex;
        flex-direction: column;
        gap: .65rem;
    }

    .unordered-list li {
        display: flex;
        align-items: flex-start;
        gap: .75rem;
        font-size: clamp(0.875rem, 2.8vw, 1rem);
        line-height: 1.5;
        color: var(--ink-muted);
    }

    .unordered-list li strong{color:var(--ink);}

    .unordered-list li::before {
        content: '';
        width: 6px;
        height: 6px;
        border-radius: 50%;
        background: var(--green-vivid);
        flex-shrink: 0;
        margin-top: .55rem;
    }

    .unordered-list.alpha {
        list-style: lower-alpha;
        padding-left: 1.25rem;
    }

    .unordered-list.alpha li::before {
        display: none;
    }

    .unordered-list.alpha li {
        display: list-item;
        padding-left: .25rem;
    }

    /* Key point callout */
    .policy-keypoint {
        display: flex;
        gap: 1rem;
        align-items: flex-start;
        background: var(--green-light);
        border: 1px solid rgba(28, 160, 105, .18);
        border-left: 3px solid var(--green-mid);
        border-radius: 0 var(--r) var(--r) 0;
        padding: 1.1rem 1.25rem;
        margin: 1.5rem 0;
    }

    .policy-keypoint-icon {
        font-size: clamp(0.875rem, 2.8vw, 1rem);
        flex-shrink: 0;
        margin-top: .1rem;
    }

    .policy-keypoint-body {
        font-size: 0.9rem;
        line-height: 1.75;
        color: var(--ink-muted);
    }

    .policy-keypoint-body strong {
        color: var(--green-deep);
        display: block;
        margin-bottom: .2rem;
        font-size: .875rem;
    }

    /* Callouts */
  .policy-callout{
    display:flex;gap:1rem;align-items:flex-start;
    background:var(--green-light);
    border:1px solid rgba(28,160,105,.18);
    border-left:3px solid var(--green-mid);
    border-radius:0 var(--r) var(--r) 0;
    padding:1.1rem 1.25rem;
    margin:1.5rem 0;
  }
  .policy-callout-icon{font-size:1rem;flex-shrink:0;margin-top:.1rem;}
  .policy-callout-body{font-size:.855rem;line-height:1.75;color:var(--ink-muted);}
  .policy-callout-body strong{color:var(--green-deep);display:block;margin-bottom:.2rem;font-size:.875rem;}
  .policy-callout-body a{color:var(--green-mid);text-decoration:none;}
  .policy-callout-body a:hover{text-decoration:underline;}

  .policy-highlight{
    display:flex;gap:1rem;align-items:flex-start;
    background:#fff8e7;
    border:1px solid rgba(200,140,0,.2);
    border-left:3px solid #d4a200;
    border-radius:0 var(--r) var(--r) 0;
    padding:1.1rem 1.25rem;
    margin:1.5rem 0;
  }
  .policy-highlight-icon{font-size:1rem;flex-shrink:0;margin-top:.1rem;}
  .policy-highlight-body{font-size:.855rem;line-height:1.75;color:#5c4200;}
  .policy-highlight-body strong{color:#3d2e00;display:block;margin-bottom:.2rem;}

  /* Data table */
  .policy-table-wrap{overflow-x:auto;margin:1.5rem 0;border-radius:var(--r);border:1px solid var(--border);}
  .policy-table{width:100%;border-collapse:collapse;font-size:1rem;table-layout: fixed;}
  .policy-table thead{background:var(--green-deep);}
  .policy-table thead th{
    padding:.9rem 1.1rem;text-align:left;
    font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
    color:rgba(255,255,255,.8);
  }
  .policy-table tbody tr{border-bottom:1px solid var(--border);}
  .policy-table tbody tr:last-child{border-bottom:none;}
  .policy-table tbody tr:hover{background:var(--green-pale);}
  .policy-table tbody td{padding:1rem 1.1rem;color:var(--ink-muted);line-height:1.6;vertical-align:top;}
  .policy-table tbody td:first-child{font-weight:600;color:var(--ink);}
  .policy-table .tag{
    display:inline-block;padding:2px 8px;border-radius:100px;
    font-size:.68rem;font-weight:700;
    background:var(--green-light);color:var(--green-deep);
  }

    /* Warning callout */
    .policy-warning {
        display: flex;
        gap: 1rem;
        align-items: flex-start;
        background: #fff8e7;
        border: 1px solid rgba(200, 140, 0, .2);
        border-left: 3px solid #d4a200;
        border-radius: 0 var(--r) var(--r) 0;
        padding: 1.1rem 1.25rem;
    }

    .policy-warning-icon {
        font-size: clamp(0.875rem, 2.8vw, 1rem);
        flex-shrink: 0;
        margin-top: .1rem;
    }

    .policy-warning-body {
        font-size: 0.9rem;
        line-height: 1.75;
        color: #5c4a00;
    }

    .policy-warning-body strong {
        color: #3d3000;
        display: block;
        margin-bottom: .2rem;
    }

    /* Sub-section heading */
    .policy-sub {
        font-size: 1.15rem;
        font-weight: 400;
        color: var(--ink);
        margin: 1.75rem 0 .75rem;
        display: flex;
        align-items: center;
        gap: .75rem;
        text-decoration: underline;
    }

    /* .policy-sub::after {
        content: '';
        flex: 1;
        height: 1px;
        background: var(--border);
    } */

    /* Divider between sections */
    .policy-sep {
        height: 1px;
        background: var(--border);
    }

    /* ══════════════════════════════════════
     ACCEPTANCE BANNER — bottom of content
  ══════════════════════════════════════ */
    .policy-accept-banner {
        background: var(--green-deep);
        border-radius: var(--r-lg);
        padding: 2.5rem;
        margin-top: 3rem;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 2rem;
        flex-wrap: wrap;
    }

    .policy-accept-text h3 {
        font-size: 1.2rem;
        font-weight: 400;
        color: #fff;
        margin-bottom: .4rem;
    }

    .policy-accept-text p {
        font-size: .85rem;
        color: rgba(255, 255, 255, .55);
        line-height: 1.65;
    }

    .policy-accept-btns {
        display: flex;
        gap: .75rem;
        flex-shrink: 0;
        flex-wrap: wrap;
    }

    .btn-accept {
        display: inline-flex;
        align-items: center;
        gap: 7px;
        background: var(--green-vivid);
        color: var(--ink);
        font-size: .85rem;
        font-weight: 700;
        padding: .65rem 1.5rem;
        border-radius: 100px;
        border: none;
        cursor: pointer;
        transition: all .25s var(--ease);
    }

    .btn-accept:hover {
        background: #b8ea5a;
        transform: translateY(-1px);
    }

    .btn-decline {
        display: inline-flex;
        align-items: center;
        gap: 7px;
        background: transparent;
        color: rgba(255, 255, 255, .6);
        border: 1px solid rgba(255, 255, 255, .18);
        font-size: .85rem;
        font-weight: 500;
        padding: .65rem 1.5rem;
        border-radius: 100px;
        cursor: pointer;
        transition: all .25s;
    }

    .btn-decline:hover {
        border-color: rgba(255, 255, 255, .4);
        color: #fff;
    }

    /* ══════════════════════════════════════
     BACK TO TOP
  ══════════════════════════════════════ */
    .back-top {
        position: fixed;
        bottom: 2rem;
        right: 2rem;
        width: 44px;
        height: 44px;
        border-radius: 50%;
        background: var(--green-deep);
        border: 1px solid rgba(255, 255, 255, .12);
        color: #fff;
        font-size: clamp(0.925rem, 2.8vw, 1.1rem);
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        z-index: 50;
        opacity: 0;
        pointer-events: none;
        transition: opacity .3s, transform .3s, box-shadow .3s;
        box-shadow: 0 4px 16px rgba(0, 0, 0, .2);
    }

    .back-top.visible {
        opacity: 1;
        pointer-events: auto;
    }

    .back-top:hover {
        transform: translateY(-3px);
        box-shadow: 0 8px 24px rgba(0, 0, 0, .25);
        background: var(--green-mid);
    }

    /* ══════════════════════════════════════
     RESPONSIVE
  ══════════════════════════════════════ */
    @media(max-width:1024px) {
        .policy-body {
            grid-template-columns: 220px 1fr;
            padding: 0 8%;
        }
    }

    @media(max-width:900px) {
        section { padding: 1rem 0};
        .policy-hero {
            padding: 6rem 0% 1rem 1rem;
        }

        .policy-quicknav {
            padding: 1.25rem 6%;
        }

        .policy-body {
            grid-template-columns: 1fr;
            padding: 0 8%;
        }

        .policy-sidebar {
            display: none;
        }

        .sidebar-list {
            flex-direction: row;
            flex-wrap: wrap;
            border-left: none;
            border-top: 2px solid var(--border);
            padding-top: .5rem;
            gap: .25rem;
        }

        .sidebar-list li a {
            border-left: none;
            border-bottom: 2px solid transparent;
            margin-left: 0;
            border-radius: var(--r);
            padding: .4rem .75rem;
            white-space: nowrap;
        }

        .sidebar-list li a.policy-active {
            border-left-color: transparent;
            border-bottom-color: var(--green-vivid);
        }

        .policy-content {
            padding: 2rem 0 1rem;
            border-left: none;
        }
    }

    @media(max-width:600px) {
        .policy-hero h1 {
            font-size: clamp(2rem, 8vw, 2.8rem);
        }

        .policy-hero-meta {
            gap: 1rem;
        }

        .policy-accept-banner {
            flex-direction: column;
            align-items: flex-start;
        }
    }