/* ==========================================================================
   Zebra Foundation: legal pages (Privacy Policy)
   Loaded last. Re-points the navy tokens to forest greens so no blue remains,
   adds a standalone breadcrumb bar and a two-column hero with a summary card.
   ========================================================================== */

body.legal-page {
    /* navy -> forest green */
    --z-navy-900: #0A2214;
    --z-navy-800: #0E2C1A;
    --z-navy: #123A22;
    --z-navy-600: #1C5C36;
    /* cool slate inks -> neutral inks with a green cast */
    --z-ink: #14231A;
    --z-slate: #4E5F55;
    --z-slate-light: #7D8E83;
    --z-bg: #F4F8F5;
    --z-border: #E0E8E2;
    --secondary: var(--z-navy);
    --dark: var(--z-ink);
    --gray: var(--z-slate);
    --light: var(--z-bg);
    --light-gray: var(--z-border);
    --color-default: var(--z-slate);

    --z-shadow-xs: 0 1px 2px rgba(10, 34, 20, 0.05);
    --z-shadow-sm: 0 2px 8px rgba(10, 34, 20, 0.06), 0 1px 2px rgba(10, 34, 20, 0.04);
    --z-shadow-md: 0 14px 30px -10px rgba(10, 34, 20, 0.14), 0 2px 6px rgba(10, 34, 20, 0.05);
    --z-shadow-lg: 0 28px 56px -16px rgba(10, 34, 20, 0.22), 0 4px 12px rgba(10, 34, 20, 0.06);

    --zl-brand: #51BE78;
    --zl-brand-dark: #3FA865;
    --zl-deep: #1C5C36;
    --zl-mint: #EAF7EF;

    background: #fff;
    color: var(--z-slate);
}

body.legal-page ::selection { background: #CDEFD9; color: #0A2214; }

/* --------------------------------------------------------------------------
   1. Breadcrumb bar: its own strip under the fixed header
   -------------------------------------------------------------------------- */
.zf-crumbs {
    margin-top: 0;               /* the shared header sits in normal page flow */
    background: #fff;
    border-top: 1px solid var(--z-border);
    border-bottom: 1px solid var(--z-border);
    position: relative;
    z-index: 2;
}
.zf-crumbs__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-height: 58px;
}
.zf-crumbs__list {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px;
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--z-slate-light);
}
.zf-crumbs__list li { display: inline-flex; align-items: center; gap: 4px; }
.zf-crumbs__list li + li::before {
    content: "";
    width: 6px; height: 6px;
    margin: 0 10px 0 6px;
    border-top: 1.5px solid currentColor;
    border-right: 1.5px solid currentColor;
    transform: rotate(45deg);
    opacity: 0.55;
}
.zf-crumbs__list a {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 6px 10px; margin-left: -10px;
    border-radius: 999px;
    color: var(--z-slate);
    text-decoration: none;
    transition: color .18s ease, background .18s ease;
}
.zf-crumbs__list a i { font-size: 0.8rem; color: var(--zl-brand-dark); }
.zf-crumbs__list a:hover { color: var(--zl-deep); background: var(--zl-mint); }
.zf-crumbs__list [aria-current="page"] > span {
    color: var(--zl-deep);
    padding: 5px 12px;
    border-radius: 999px;
    background: var(--zl-mint);
    border: 1px solid rgba(81, 190, 120, 0.25);
}

.zf-crumbs__actions { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
.zf-crumbs__actions a,
.zf-crumbs__print {
    display: inline-flex; align-items: center; gap: 8px;
    height: 36px; padding: 0 14px;
    border-radius: 999px;
    border: 1px solid var(--z-border);
    background: #fff;
    color: var(--z-slate);
    font: inherit; font-size: 0.82rem; font-weight: 600;
    text-decoration: none; cursor: pointer;
    transition: color .18s ease, border-color .18s ease, background .18s ease;
}
.zf-crumbs__actions i { font-size: 0.78rem; color: var(--zl-brand-dark); }
.zf-crumbs__actions a:hover,
.zf-crumbs__print:hover { color: var(--zl-deep); border-color: #BFE6CD; background: var(--zl-mint); }

/* --------------------------------------------------------------------------
   2. Hero: deep forest green, two columns (title + "at a glance" card)
   -------------------------------------------------------------------------- */
body.legal-page .legal-hero.zf-lhero {
    padding: clamp(48px, 7vw, 88px) 0 clamp(56px, 7vw, 96px);
    /* photo behind, under a forest-green tint: darkest on the left (text), lighter on the right */
    background:
        radial-gradient(70% 90% at 100% 0%, rgba(81, 190, 120, 0.22) 0%, rgba(81, 190, 120, 0) 60%),
        linear-gradient(90deg, rgba(8, 28, 16, 0.96) 0%, rgba(8, 28, 16, 0.88) 38%, rgba(10, 34, 20, 0.62) 68%, rgba(10, 34, 20, 0.5) 100%),
        linear-gradient(180deg, rgba(10, 34, 20, 0.25) 0%, rgba(10, 34, 20, 0.55) 100%),
        var(--zl-hero-photo, url('assets/images/review/impact/hero-privacy.jpg')) center 40% / cover no-repeat,
        #0A2214;
}
body.legal-page .legal-hero.zf-lhero > .container { position: relative; z-index: 1; }
body.legal-page .legal-hero.zf-lhero::before {
    /* fine grid, fading out towards the bottom */
    /* very soft grid that fades out quickly from the top-left corner */
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.022) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.022) 1px, transparent 1px);
    background-size: 56px 56px;
    -webkit-mask-image: radial-gradient(ellipse 60% 55% at 15% 0%, #000 0%, rgba(0, 0, 0, 0.4) 45%, transparent 85%);
            mask-image: radial-gradient(ellipse 60% 55% at 15% 0%, #000 0%, rgba(0, 0, 0, 0.4) 45%, transparent 85%);
}
body.legal-page .legal-hero.zf-lhero::after { display: none; }

.zf-lhero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(320px, 0.9fr);
    gap: clamp(32px, 5vw, 72px);
    align-items: center;
}

body.legal-page .zf-lhero .legal-hero-content { max-width: 640px; }

.zf-lhero__eyebrow {
    display: inline-flex; align-items: center; gap: 9px;
    padding: 7px 14px 7px 10px;
    border-radius: 999px;
    background: rgba(81, 190, 120, 0.14);
    border: 1px solid rgba(143, 224, 171, 0.3);
    color: #C6F0D3;
    font-size: 0.8rem; font-weight: 700; letter-spacing: 0.02em;
    margin-bottom: 22px;
}
.zf-lhero__eyebrow i {
    display: inline-flex; align-items: center; justify-content: center;
    width: 22px; height: 22px; border-radius: 50%;
    background: var(--zl-brand); color: #0A2214; font-size: 0.66rem;
}

body.legal-page .zf-lhero h1 {
    font-size: clamp(2.4rem, 5.2vw, 3.9rem);
    line-height: 1.02;
    letter-spacing: -0.035em;
    font-weight: 800;
    margin: 0 0 18px;
    color: #fff;
}
body.legal-page .zf-lhero .legal-hero-sub {
    font-size: clamp(1.02rem, 1.3vw, 1.15rem);
    line-height: 1.65;
    color: rgba(232, 245, 236, 0.78);
    max-width: 54ch;
    margin-bottom: 28px;
}

body.legal-page .zf-lhero .legal-chip {
    background: rgba(255, 255, 255, 0.07);
    border-color: rgba(255, 255, 255, 0.14);
    color: rgba(240, 249, 243, 0.9);
}
body.legal-page .zf-lhero .legal-chip i { color: #8FE0AB; }
body.legal-page .zf-lhero .legal-chip time { font-family: inherit; font-weight: 700; }

.zf-lhero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.zf-lhero__btn {
    display: inline-flex; align-items: center; gap: 10px;
    height: 50px; padding: 0 22px;
    border-radius: 14px;
    font-size: 0.95rem; font-weight: 700;
    color: #fff; text-decoration: none;
    border: 1px solid rgba(255, 255, 255, 0.28);
    background: rgba(255, 255, 255, 0.04);
    transition: transform .18s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease, color .2s ease;
}
.zf-lhero__btn:hover { color: #fff; background: rgba(255, 255, 255, 0.1); border-color: rgba(255, 255, 255, 0.5); }
.zf-lhero__btn--primary {
    background: var(--zl-brand);
    border-color: var(--zl-brand);
    color: #0A2214;
    box-shadow: 0 12px 28px -12px rgba(81, 190, 120, 0.8);
}
.zf-lhero__btn--primary:hover { background: #63CC88; border-color: #63CC88; color: #0A2214; transform: translateY(-1px); }
.zf-lhero__btn i { font-size: 0.82rem; }

/* ---- Hero copy block (editorial layout) ---- */
.zf-lcopy__kicker {
    display: inline-flex; align-items: center; gap: 12px;
    margin: 0 0 26px;
    font-size: 0.78rem; font-weight: 800; letter-spacing: 0.16em; text-transform: uppercase;
    color: #9FE3B8;
}
.zf-lcopy__kicker::after {
    content: ""; width: 56px; height: 1px;
    background: linear-gradient(90deg, rgba(159, 227, 184, 0.7), rgba(159, 227, 184, 0));
}
.zf-lcopy__seal {
    position: relative;
    width: 34px; height: 34px; border-radius: 11px;
    display: inline-flex; align-items: center; justify-content: center;
    background: linear-gradient(145deg, #51BE78, #2E8B50);
    color: #fff; font-size: 0.85rem;
    box-shadow: 0 8px 18px -8px rgba(81, 190, 120, 0.9), inset 0 1px 0 rgba(255, 255, 255, 0.3);
}
.zf-lcopy__seal::after {
    /* gentle pulse ring */
    content: ""; position: absolute; inset: -5px; border-radius: 14px;
    border: 1px solid rgba(143, 224, 171, 0.45);
    animation: zfSeal 2.8s ease-out infinite;
}
@keyframes zfSeal { from { opacity: 1; transform: scale(.9); } to { opacity: 0; transform: scale(1.25); } }

body.legal-page .zf-lhero h1.zf-lcopy__title {
    font-size: clamp(2.7rem, 6vw, 4.6rem);
    line-height: 0.98;
    letter-spacing: -0.045em;
    margin: 0 0 22px;
}
.zf-lcopy__title em {
    font-style: normal;
    background: linear-gradient(100deg, #B9F0CB 0%, #51BE78 55%, #8FE0AB 100%);
    -webkit-background-clip: text; background-clip: text;
    color: transparent;
}

body.legal-page .zf-lhero .zf-lcopy__lead {
    position: relative;
    padding-left: 20px;
    margin-bottom: 34px;
    max-width: 50ch;
    color: rgba(232, 245, 236, 0.8);
}
body.legal-page .zf-lhero .zf-lcopy__lead::before {
    content: ""; position: absolute; left: 0; top: 6px; bottom: 6px; width: 3px; border-radius: 3px;
    background: linear-gradient(180deg, #51BE78, rgba(81, 190, 120, 0.15));
}

/* Document details: three columns with hairline dividers */
.zf-lcopy__meta {
    display: grid; grid-template-columns: repeat(3, auto); justify-content: start;
    margin: 0; padding: 18px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    max-width: 560px;
}
.zf-lcopy__meta > div { padding: 0 28px; }
.zf-lcopy__meta > div:first-child { padding-left: 0; }
.zf-lcopy__meta > div + div { border-left: 1px solid rgba(255, 255, 255, 0.12); }
.zf-lcopy__meta dt {
    display: flex; align-items: center; gap: 7px;
    font-size: 0.72rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase;
    color: rgba(200, 230, 210, 0.6);
    margin-bottom: 6px;
}
.zf-lcopy__meta dt i { color: #8FE0AB; font-size: 0.72rem; }
.zf-lcopy__meta dd {
    margin: 0;
    font-size: 1.05rem; font-weight: 700; color: #fff; letter-spacing: -0.01em;
    font-variant-numeric: tabular-nums;
}

/* Actions: strong button + quiet text link */
.zf-lcopy__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 14px 28px; margin-top: 34px; }
.zf-lcopy__cta {
    display: inline-flex; align-items: center; gap: 14px;
    height: 54px; padding: 0 8px 0 24px;
    border-radius: 999px;
    background: #51BE78; color: #0A2214;
    font-size: 0.98rem; font-weight: 800; text-decoration: none;
    box-shadow: 0 16px 34px -14px rgba(81, 190, 120, 0.85), inset 0 1px 0 rgba(255, 255, 255, 0.35);
    transition: background .2s ease, transform .18s ease, box-shadow .2s ease;
}
.zf-lcopy__cta-ico {
    width: 40px; height: 40px; border-radius: 50%;
    display: inline-flex; align-items: center; justify-content: center;
    background: #0A2214; color: #8FE0AB; font-size: 0.85rem;
    transition: transform .25s cubic-bezier(.34, 1.4, .44, 1);
}
.zf-lcopy__cta:hover { background: #63CC88; color: #0A2214; transform: translateY(-1px); box-shadow: 0 20px 38px -14px rgba(81, 190, 120, 0.95), inset 0 1px 0 rgba(255, 255, 255, 0.35); }
.zf-lcopy__cta:hover .zf-lcopy__cta-ico { transform: translateY(2px); }
.zf-lcopy__cta:focus-visible, .zf-lcopy__link:focus-visible { outline: 2px solid #B9F0CB; outline-offset: 4px; }

.zf-lcopy__link {
    display: inline-flex; align-items: center; gap: 9px;
    padding: 6px 0;
    font-size: 0.95rem; font-weight: 700; color: #fff; text-decoration: none;
    background: linear-gradient(#8FE0AB, #8FE0AB) left bottom / 0 1.5px no-repeat;
    transition: background-size .3s ease, color .2s ease;
}
.zf-lcopy__link i { font-size: 0.8rem; color: #8FE0AB; transition: transform .2s ease; }
.zf-lcopy__link:hover { color: #fff; background-size: 100% 1.5px; }
.zf-lcopy__link:hover i { transform: translateX(3px); }

/* "Privacy at a glance" card */
.zf-glance {
    position: relative;
    background: #fff;
    border-radius: 24px;
    padding: 28px;
    box-shadow: 0 40px 80px -30px rgba(0, 0, 0, 0.55), 0 0 0 1px rgba(255, 255, 255, 0.06);
    color: var(--z-slate);
}
.zf-glance::before {
    /* soft green glow behind the card */
    content: ""; position: absolute; inset: -1px; z-index: -1;
    border-radius: 25px;
    background: linear-gradient(140deg, rgba(143, 224, 171, 0.6), rgba(81, 190, 120, 0) 55%);
    filter: blur(18px); opacity: .6;
}
.zf-glance__head { display: flex; align-items: center; gap: 14px; padding-bottom: 18px; border-bottom: 1px solid var(--z-border); }
.zf-glance__icon {
    width: 48px; height: 48px; flex-shrink: 0; border-radius: 14px;
    display: inline-flex; align-items: center; justify-content: center;
    background: linear-gradient(145deg, #1C5C36, #2E8B50);
    color: #fff; font-size: 1.1rem;
    box-shadow: 0 10px 20px -10px rgba(28, 92, 54, 0.7);
}
.zf-glance__head h2 {
    margin: 0; font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 1.15rem; font-weight: 800; letter-spacing: -0.01em; color: var(--z-ink);
}
.zf-glance__head p { margin: 2px 0 0; font-size: 0.85rem; color: var(--z-slate-light); }

.zf-glance__list { list-style: none; margin: 18px 0 0; padding: 0; display: grid; gap: 16px; }
.zf-glance__list li { display: flex; gap: 14px; align-items: flex-start; font-size: 0.92rem; line-height: 1.55; }
.zf-glance__list i {
    width: 34px; height: 34px; flex-shrink: 0; border-radius: 10px;
    display: inline-flex; align-items: center; justify-content: center;
    background: var(--zl-mint); color: var(--zl-deep); font-size: 0.85rem;
}
.zf-glance__list b { display: block; color: var(--z-ink); font-weight: 700; }

.zf-glance__link {
    display: inline-flex; align-items: center; gap: 8px;
    margin-top: 22px; padding-top: 18px; width: 100%;
    border-top: 1px solid var(--z-border);
    font-size: 0.9rem; font-weight: 700; color: var(--zl-deep); text-decoration: none;
}
.zf-glance__link i { font-size: 0.78rem; transition: transform .18s ease; }
.zf-glance__link:hover { color: var(--zl-brand-dark); }
.zf-glance__link:hover i { transform: translateX(3px); }

/* --------------------------------------------------------------------------
   3. Content: cards, table of contents, quote, table, CTA, all on green
   -------------------------------------------------------------------------- */
body.legal-page .legal-section { padding: clamp(48px, 6vw, 80px) 0 100px; background: linear-gradient(180deg, var(--z-bg) 0, #fff 420px); }

/* Once scrolled, only the main header bar stays fixed (the top bar scrolls away),
   so jump links (#cookies-tracking etc.) and the sticky contents list clear just that. */
body.legal-page .legal-card { scroll-margin-top: calc(var(--header-h) + 24px); }
body.legal-page .legal-toc {
    top: calc(var(--header-h) + 24px);
    max-height: calc(100vh - var(--header-h) - 48px);
    background: #fff;
    box-shadow: var(--z-shadow-sm);
}
body.legal-page .legal-toc-list a:hover { background: var(--zl-mint); color: var(--zl-deep); }
body.legal-page .legal-toc-list a.active { background: var(--zl-deep); color: #fff; }
body.legal-page .legal-toc-list a.active i { color: #8FE0AB; }
body.legal-page .legal-toc-search:focus-within { border-color: var(--zl-brand); box-shadow: 0 0 0 4px rgba(81, 190, 120, 0.15); }

body.legal-page .legal-icon-badge {
    background: linear-gradient(145deg, #1C5C36, #2E8B50);
    box-shadow: 0 10px 20px -12px rgba(28, 92, 54, 0.8);
}
body.legal-page .legal-card-head h2 { color: var(--z-ink); }
body.legal-page .legal-card:hover { border-color: rgba(81, 190, 120, 0.35); }
body.legal-page .legal-card a:hover { color: var(--zl-deep); }

body.legal-page .legal-quote { border-left-color: var(--zl-brand); background: var(--zl-mint); }
body.legal-page .legal-quote::before { color: var(--zl-brand-dark); }
body.legal-page .legal-table th { color: var(--zl-deep); background: var(--zl-mint); }

/* Contact Us: deep-green card, all text white */
body.legal-page .legal-card--cta {
    background:
        radial-gradient(80% 120% at 100% 0%, rgba(81, 190, 120, 0.3), transparent 60%),
        linear-gradient(150deg, #0A2214 0%, #123A22 60%, #1C5C36 100%);
    border: none;
    color: #fff;
}
body.legal-page .legal-card--cta:hover { border-color: transparent; }
body.legal-page .legal-card--cta .legal-card-head h2,
body.legal-page .legal-card--cta .legal-card-eyebrow,
body.legal-page .legal-card--cta p { color: #fff; }
body.legal-page .legal-card--cta .legal-card-eyebrow { opacity: 0.85; }
body.legal-page .legal-card--cta .legal-icon-badge {
    background: rgba(255, 255, 255, 0.14);
    border: 1px solid rgba(255, 255, 255, 0.22);
    color: #fff;
    box-shadow: none;
}

body.legal-page .legal-contact-item {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.18);
    transition: border-color .18s ease, background .18s ease;
}
body.legal-page .legal-contact-item:hover { background: rgba(255, 255, 255, 0.14); border-color: rgba(255, 255, 255, 0.32); }
body.legal-page .legal-contact-item i { background: rgba(255, 255, 255, 0.16); color: #fff; box-shadow: none; }
body.legal-page .legal-contact-item span,
body.legal-page .legal-contact-item a { color: #fff; border-bottom-color: rgba(255, 255, 255, 0.45); }
body.legal-page .legal-contact-item a:hover { color: #fff; border-bottom-color: #fff; }

/* Address + phone side by side, email on its own full-width row so it never splits mid-word */
body.legal-page .legal-contact-box { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-flow: dense; }
body.legal-page .legal-contact-item:has(a[href^="mailto:"]) { grid-column: 1 / -1; }
body.legal-page .legal-contact-item a[href^="mailto:"] { overflow-wrap: normal; word-break: keep-all; }
@media (max-width: 640px) {
    body.legal-page .legal-contact-box { grid-template-columns: 1fr; }
    body.legal-page .legal-contact-item a[href^="mailto:"] { overflow-wrap: anywhere; }
}

body.legal-page .legal-callout--legal { background: var(--zl-mint); border-color: rgba(81, 190, 120, 0.25); color: var(--zl-deep); }
body.legal-page .legal-callout--legal i,
body.legal-page .legal-callout--legal .legal-callout-title { color: var(--zl-deep); }

body.legal-page .legal-footer-strip-left i,
body.legal-page .legal-footer-strip-links a:hover { color: var(--zl-brand-dark); }

/* Scroll progress bar on top */
body.legal-page .scroll-progress,
body.legal-page #scrollProgress { background: linear-gradient(90deg, #1C5C36, #51BE78); }

/* --------------------------------------------------------------------------
   4. Responsive
   -------------------------------------------------------------------------- */
@media (max-width: 991.98px) {
    .zf-lhero__grid { grid-template-columns: 1fr; }
    /* one column: tint evenly, top to bottom */
    body.legal-page .legal-hero.zf-lhero {
        background:
            linear-gradient(180deg, rgba(8, 28, 16, 0.82) 0%, rgba(8, 28, 16, 0.9) 45%, rgba(8, 28, 16, 0.96) 100%),
            var(--zl-hero-photo, url('assets/images/review/impact/hero-privacy.jpg')) 30% 30% / cover no-repeat,
            #0A2214;
    }
    body.legal-page .zf-lhero .legal-hero-content { max-width: none; }
    .zf-glance { max-width: 560px; }
}

@media (max-width: 640px) {
    .zf-crumbs__inner { min-height: 50px; }
    .zf-crumbs__list { font-size: 0.8rem; }
    .zf-crumbs__list li:nth-child(2) { display: none; }              /* hide "Legal" on phones */
    .zf-crumbs__list li:nth-child(3)::before { margin-left: 2px; }
    .zf-crumbs__actions a span, .zf-crumbs__print span { display: none; }
    .zf-crumbs__actions a, .zf-crumbs__print { width: 36px; padding: 0; justify-content: center; }
    .zf-crumbs__print { display: none; }

    body.legal-page .zf-lhero h1.zf-lcopy__title { font-size: clamp(2.4rem, 12vw, 3rem); }
    .zf-lcopy__meta { grid-template-columns: repeat(3, 1fr); }
    .zf-lcopy__meta > div { padding: 0 12px; }
    .zf-lcopy__meta dt { font-size: 0.64rem; letter-spacing: 0.06em; }
    .zf-lcopy__meta dt i { display: none; }
    .zf-lcopy__meta dd { font-size: 0.95rem; }
    .zf-lcopy__actions { flex-direction: column; align-items: stretch; gap: 10px; }
    .zf-lcopy__cta { justify-content: space-between; }
    .zf-lcopy__link { justify-content: center; }
    .zf-lhero__actions { flex-direction: column; }
    .zf-lhero__btn { width: 100%; justify-content: center; }
    .zf-glance { padding: 22px; border-radius: 20px; }
}

/* Print: clean black-on-white document */
@media print {
    .zf-crumbs, .zf-lhero__actions, .zf-glance, .legal-toc, .legal-footer-strip,
    header, footer, .top-bar, .whatsapp-float, #scrollProgress { display: none !important; }
    body.legal-page .legal-hero.zf-lhero { background: none; padding: 0 0 16px; }
    body.legal-page .zf-lhero h1, body.legal-page .zf-lhero .legal-hero-sub { color: #000; }
    body.legal-page .legal-grid { grid-template-columns: 1fr; }
    body.legal-page .legal-card { break-inside: avoid; border: 0; padding: 12px 0; box-shadow: none; }
    body.legal-page .legal-card--cta { background: none; color: #000; }
    body.legal-page .legal-card--cta * { color: #000 !important; }
}

@media (prefers-reduced-motion: reduce) {
    .zf-lhero__btn, .zf-glance__link i { transition: none; }
    .zf-lcopy__seal::after { animation: none; }
}
