:root {
    --clr_white: #ffffff;
    --clr_light: #fdf9f4;
    --clr_cream: #f5ede0;
    --clr_red: #e8a020;
    --clr_red2: #e03222;
    --clr_green: #3a6b35;
    --clr_green2: #4e8c46;
    --clr_gold: #d4860a;
    --clr_amber: #f0a500;
    --clr_dark: #1e1208;
    --clr_text: #3d2b14;
    --clr_muted: #8c7358;
    --clr_border: #e8d8c0;
    --ff_display: 'Playfair Display', serif;
    --ff_body: 'Nunito', sans-serif;
    --ff_script: 'Dancing Script', cursive;
    --ff_mono: 'JetBrains Mono', monospace;
    --radius_lg: 16px;
    --shadow_sm: 0 2px 12px rgba(122, 74, 30, .10);
    --shadow_md: 0 6px 28px rgba(122, 74, 30, .15);
    --transition: .3s ease;
}

/* ── BREADCRUMB ── */
.breadcrumb_bar {
    background: var(--clr_cream);
    padding: 14px 0;
    border-bottom: 1px solid var(--clr_border);
}

.privacy_breadcrumb {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: var(--clr_muted);
}

.privacy_breadcrumb a {
    color: var(--clr_red);
    font-weight: 700;
}

.privacy_breadcrumb i {
    font-size: 9px;
}

/* ── PAGE HERO — signature element: a "document ledger" header ── */
.legal_hero {
    position: relative;
    padding: 64px 0 56px;
    background: linear-gradient(135deg, #1a4d15 0%, #2d7a26 60%, #3a8a31 100%);
    overflow: hidden;
}

.legal_hero_pattern {
    position: absolute;
    inset: 0;
    background-image: radial-gradient(circle at 2px 2px, rgba(255, 255, 255, .06) 1px, transparent 0);
    background-size: 28px 28px;
}

.legal_hero_inner {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 32px;
    flex-wrap: wrap;
}

.legal_hero_left {
    max-width: 640px;
}

.legal_eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(255, 255, 255, .12);
    border: 1px solid rgba(255, 255, 255, .25);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .15em;
    text-transform: uppercase;
    padding: 6px 16px;
    border-radius: 50px;
    margin-bottom: 18px;
}

.legal_hero h1 {
    font-family: var(--ff_display);
    font-size: clamp(32px, 5vw, 54px);
    font-weight: 900;
    color: #fff;
    line-height: 1.1;
    margin-bottom: 14px;
}

.legal_hero h1 em {
    font-style: italic;
    color: var(--clr_amber);
}

.legal_hero p {
    color: rgba(255, 255, 255, .8);
    font-size: 15px;
    line-height: 1.85;
}

/* document meta plate — like a stamped ledger card */
.doc_plate {
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 14px;
    padding: 18px 22px;
    min-width: 260px;
    flex-shrink: 0;
}

.doc_plate_row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 7px 0;
    border-bottom: 1px solid rgba(255, 255, 255, .12);
}

.doc_plate_row:last-child {
    border-bottom: none;
}

.doc_plate_label {
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .6);
}

.doc_plate_value {
    font-family: var(--ff_mono);
    font-size: 12.5px;
    color: #fff;
    font-weight: 500;
}

/* ── LAYOUT: sticky TOC + content ── */
.legal_layout {
    padding: 60px 0 100px;
}

.legal_grid {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 56px;
    align-items: flex-start;
}

/* TOC sidebar */
.toc_wrap {
    position: sticky;
    top: 100px;
}

.toc_card {
    background: var(--clr_light);
    border: 1.5px solid var(--clr_border);
    border-radius: var(--radius_lg);
    padding: 22px 20px;
}

.toc_title {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--clr_muted);
    margin-bottom: 16px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.toc_title i {
    color: var(--clr_red);
}

.toc_list {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.toc_group_label {
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--clr_red);
    margin: 16px 0 6px;
}

.toc_group_label:first-child {
    margin-top: 0;
}

.toc_link {
    display: flex;
    align-items: baseline;
    gap: 10px;
    padding: 7px 8px;
    border-radius: 8px;
    font-size: 13px;
    color: var(--clr_text);
    transition: all var(--transition);
    border-left: 2px solid transparent;
}

.toc_link:hover {
    background: var(--clr_cream);
    color: var(--clr_red);
}

.toc_link.active {
    background: var(--clr_white);
    border-left-color: var(--clr_red);
    color: var(--clr_red);
    font-weight: 700;
    box-shadow: var(--shadow_sm);
}

.toc_num {
    font-family: var(--ff_mono);
    font-size: 11px;
    color: var(--clr_muted);
    flex-shrink: 0;
    min-width: 22px;
}

.toc_link.active .toc_num {
    color: var(--clr_red);
}

.toc_contact_card {
    margin-top: 18px;
    background: linear-gradient(135deg, var(--clr_green), var(--clr_green2));
    border-radius: var(--radius_lg);
    padding: 20px;
    color: #fff;
}

.toc_contact_card h4 {
    font-family: var(--ff_display);
    font-size: 15px;
    margin-bottom: 6px;
}

.toc_contact_card p {
    font-size: 12px;
    color: rgba(255, 255, 255, .85);
    line-height: 1.7;
    margin-bottom: 12px;
}

.toc_contact_btn {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: #fff;
    color: var(--clr_green);
    padding: 9px 16px;
    border-radius: 50px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
    transition: all var(--transition);
}

.toc_contact_btn:hover {
    background: var(--clr_amber);
    color: #fff;
}

/* main content */
.legal_content {
    min-width: 0;
}

.legal_section {
    margin-bottom: 56px;
    scroll-margin-top: 100px;
}

.legal_section:last-child {
    margin-bottom: 0;
}

.section_head {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 18px;
    padding-bottom: 14px;
    border-bottom: 2px solid var(--clr_cream);
}

.section_num {
    font-family: var(--ff_display);
    font-size: 28px;
    font-weight: 900;
    color: var(--clr_border);
    flex-shrink: 0;
    min-width: 48px;
}

.legal_section.active .section_num,
.section_head:hover .section_num {
    color: var(--clr_red);
}

.section_head h2 {
    font-family: var(--ff_display);
    font-size: clamp(20px, 2.6vw, 26px);
    font-weight: 700;
    color: var(--clr_dark);
}

.section_head h2 span {
    color: var(--clr_red);
}

.legal_section p {
    font-size: 14.5px;
    color: var(--clr_muted);
    line-height: 1.9;
    margin-bottom: 14px;
}

.legal_section p strong {
    color: var(--clr_dark);
    font-weight: 700;
}

.legal_section ul.bullet_list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 14px 0 18px;
}

.legal_section ul.bullet_list li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 14px;
    color: var(--clr_muted);
    line-height: 1.8;
}

.legal_section ul.bullet_list li i {
    color: var(--clr_red);
    font-size: 9px;
    margin-top: 7px;
    flex-shrink: 0;
}

/* highlight callout block */
.legal_callout {
    background: var(--clr_light);
    border-left: 3px solid var(--clr_red);
    border-radius: 10px;
    padding: 16px 20px;
    margin: 18px 0;
}

.legal_callout p {
    margin-bottom: 0;
    font-size: 13.5px;
}

.legal_callout p:first-child strong {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--clr_dark);
    font-size: 13px;
    letter-spacing: .04em;
    text-transform: uppercase;
    margin-bottom: 6px;
}

/* mini data table for cookie / data table */
.legal_table_wrap {
    overflow-x: auto;
    margin: 18px 0;
    border-radius: 12px;
    box-shadow: var(--shadow_sm);
}

table.legal_table {
    width: 100%;
    border-collapse: collapse;
    min-width: 480px;
}

table.legal_table thead tr {
    background: var(--clr_dark);
}

table.legal_table th {
    padding: 12px 18px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #fff;
    text-align: left;
}

table.legal_table td {
    padding: 12px 18px;
    font-size: 13px;
    color: var(--clr_text);
    border-bottom: 1px solid var(--clr_cream);
}

table.legal_table tbody tr:nth-child(even) td {
    background: var(--clr_light);
}

table.legal_table tbody tr:last-child td {
    border-bottom: none;
}

/* divider between Privacy and Terms mega-sections */
.doc_divider {
    display: flex;
    align-items: center;
    gap: 18px;
    margin: 64px 0 48px;
}

.doc_divider_line {
    flex: 1;
    height: 1px;
    background: var(--clr_border);
}

.doc_divider_badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: var(--clr_dark);
    color: #fff;
    padding: 10px 22px;
    border-radius: 50px;
    font-family: var(--ff_display);
    font-size: 15px;
    font-weight: 700;
    white-space: nowrap;
}

.doc_divider_badge i {
    color: var(--clr_amber);
}

/* back to top mini */
.back_to_toc {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    font-weight: 700;
    color: var(--clr_red);
    letter-spacing: .05em;
    text-transform: uppercase;
    margin-top: 8px;
    transition: gap var(--transition);
}

.back_to_toc:hover {
    gap: 11px;
}

/* mobile TOC toggle */
.mobile_toc_toggle {
    display: none;
}

@media(max-width: 1024px) {
    .legal_grid {
        grid-template-columns: 1fr;
    }

    .toc_wrap {
        position: static;
        margin-bottom: 32px;
    }

    .footer_grid {
        grid-template-columns: 1fr 1fr;
    }

    .legal_hero_inner {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media(max-width: 768px) {
    .nav_links {
        display: none;
    }

    .footer_grid {
        grid-template-columns: 1fr;
    }

    .doc_plate {
        width: 100%;
    }

    .section_head {
        gap: 10px;
    }

    .section_num {
        font-size: 22px;
        min-width: 36px;
    }
}

/* ==========================================================
        2K / 4K / 5K / ULTRAWIDE DESKTOP RESPONSIVE
        ========================================================== */

@media screen and (min-width:1721px) {

    html {
        font-size: calc(16px + .18vw);
    }

    /* Container */

    .container,
    .nav_wrapper {
        max-width: 75vw;
        padding-left: 1.25vw;
        padding-right: 1.25vw;
    }

    /* ================= HEADER ================= */

    .nav_wrapper {
        padding: .8vw 1.25vw;
    }

    .nav_logo_img {
        height: 3vw;
    }

    .nav_links {
        gap: 1.4vw;
    }

    .nav_links a {
        font-size: .72vw;
        padding-bottom: .2vw;
    }

    .nav_icons {
        gap: .7vw;
    }

    .nav_icon_btn {
        width: 2vw;
        height: 2vw;
        font-size: .75vw;
    }

    /* ================= BREADCRUMB ================= */

    .breadcrumb_bar {
        padding: .8vw 0;
    }

    .privacy_breadcrumb {
        gap: .45vw;
        font-size: .68vw;
    }

    .privacy_breadcrumb i {
        font-size: .45vw;
    }

    /* ================= HERO ================= */

    .legal_hero {
        padding: 4vw 0 3.5vw;
    }

    .legal_hero_pattern {
        background-size: 1.6vw 1.6vw;
    }

    .legal_hero_inner {
        gap: 2vw;
    }

    .legal_hero_left {
        max-width: 38vw;
    }

    .legal_eyebrow {
        gap: .45vw;
        padding: .35vw .9vw;
        font-size: .55vw;
        margin-bottom: 1vw;
    }

    .legal_hero h1 {
        font-size: 3.3vw;
        margin-bottom: .8vw;
    }

    .legal_hero p {
        font-size: .8vw;
        line-height: 1.9;
    }

    /* ================= DOCUMENT PLATE ================= */

    .doc_plate {
        min-width: 17vw;
        padding: 1.2vw 1.4vw;
        border-radius: .8vw;
    }

    .doc_plate_row {
        gap: 1vw;
        padding: .45vw 0;
    }

    .doc_plate_label {
        font-size: .55vw;
    }

    .doc_plate_value {
        font-size: .68vw;
    }

    /* ================= MAIN LAYOUT ================= */

    .legal_layout {
        padding: 4vw 0 5vw;
    }

    .legal_grid {
        grid-template-columns: 18vw 1fr;
        gap: 3vw;
    }

    /* ================= TOC ================= */

    .toc_wrap {
        top: 5vw;
    }

    .toc_card {
        padding: 1.5vw;
        border-radius: 1vw;
    }

    .toc_title {
        font-size: .6vw;
        margin-bottom: 1vw;
        gap: .45vw;
    }

    .toc_group_label {
        font-size: .55vw;
        margin: 1vw 0 .45vw;
    }

    .toc_link {
        padding: .45vw .55vw;
        gap: .7vw;
        font-size: .7vw;
        border-radius: .5vw;
    }

    .toc_num {
        font-size: .58vw;
        min-width: 1.2vw;
    }

    .toc_contact_card {
        margin-top: 1vw;
        padding: 1.3vw;
        border-radius: 1vw;
    }

    .toc_contact_card h4 {
        font-size: 1vw;
    }

    .toc_contact_card p {
        font-size: .68vw;
        margin-bottom: .8vw;
    }

    .toc_contact_btn {
        padding: .55vw 1vw;
        font-size: .62vw;
        gap: .45vw;
    }

    /* ================= CONTENT ================= */

    .legal_section {
        margin-bottom: 3vw;
    }

    .section_head {
        gap: 1vw;
        margin-bottom: 1vw;
        padding-bottom: .8vw;
    }

    .section_num {
        font-size: 1.8vw;
        min-width: 3vw;
    }

    .section_head h2 {
        font-size: 1.7vw;
    }

    .legal_section p {
        font-size: .75vw;
        margin-bottom: .8vw;
        line-height: 1.9;
    }

    .legal_section ul.bullet_list {
        gap: .6vw;
        margin: .8vw 0 1vw;
    }

    .legal_section ul.bullet_list li {
        gap: .6vw;
        font-size: .72vw;
    }

    .legal_section ul.bullet_list li i {
        font-size: .45vw;
        margin-top: .45vw;
    }

    /* ================= CALLOUT ================= */

    .legal_callout {
        padding: 1.1vw 1.3vw;
        margin: 1vw 0;
        border-radius: .6vw;
    }

    .legal_callout p {
        font-size: .7vw;
    }

    .legal_callout p:first-child strong {
        font-size: .68vw;
        gap: .45vw;
        margin-bottom: .4vw;
    }

    /* ================= TABLE ================= */

    .legal_table_wrap {
        margin: 1vw 0;
        border-radius: .7vw;
    }

    .legal_table th {
        padding: .8vw 1.1vw;
        font-size: .55vw;
    }

    .legal_table td {
        padding: .8vw 1.1vw;
        font-size: .68vw;
    }

    /* ================= DIVIDER ================= */

    .doc_divider {
        gap: 1vw;
        margin: 4vw 0 3vw;
    }

    .doc_divider_badge {
        gap: .6vw;
        padding: .6vw 1.3vw;
        font-size: .9vw;
    }

    /* ================= BACK TO TOP ================= */

    .back_to_toc {
        font-size: .6vw;
        gap: .35vw;
        margin-top: .7vw;
    }

    /* ================= FOOTER ================= */

    .footer {
        padding: 4vw 0 1.5vw;
    }

    .footer_grid {
        gap: 2vw;
        margin-bottom: 2.5vw;
    }

    .footer_logo_name {
        font-size: 1.8vw;
    }

    .footer_brand p {
        font-size: .68vw;
    }

    .footer_heading {
        font-size: .9vw;
        margin-bottom: .9vw;
    }

    .footer_links {
        gap: .45vw;
    }

    .footer_links a {
        font-size: .68vw;
    }

    .footer_links a i {
        font-size: .45vw;
    }

    .footer_contact_item {
        gap: .7vw;
        margin-bottom: .7vw;
    }

    .footer_contact_icon {
        width: 2vw;
        height: 2vw;
        font-size: .75vw;
    }

    .footer_contact_item p {
        font-size: .68vw;
    }

    .footer_social {
        gap: .45vw;
    }

    .footer_social a {
        width: 2vw;
        height: 2vw;
        font-size: .75vw;
    }

    .footer_bottom {
        padding-top: 1.2vw;
    }

    .footer_bottom p {
        font-size: .62vw;
    }

    .footer_bottom_links {
        gap: 1vw;
    }

    .footer_bottom_links a {
        font-size: .6vw;
    }

    /* ================= SCROLL BUTTON ================= */

    .scroll_top_btn {
        width: 2.5vw;
        height: 2.5vw;
        right: 1.5vw;
        bottom: 1.5vw;
        font-size: .9vw;
    }

}