/* Privacy Policy page: formal, calm legal layout. No glow, no product graphics. Prefix: lg-. */

.fti-privacy { background:#fbfaf6; color:var(--ink); }
.fti-privacy h1, .fti-privacy h2, .fti-privacy h3 { color:var(--ink); }
.lg-i { flex:none; width:40px; height:40px; display:grid; place-items:center; border-radius:6px; background:var(--mint); color:var(--em); }
.lg-i svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.fti-privacy a { color:#076650; }
.fti-privacy a:focus-visible, .fti-privacy button:focus-visible, .fti-privacy summary:focus-visible { outline:3px solid var(--em); outline-offset:3px; border-radius:4px; }

/* ---------- hero ---------- */
.lg-hero { background:#062832; color:#dcebe8; padding-block:clamp(28px,3.5vw,48px) clamp(28px,3.5vw,44px); }
.lg-hero-in { display:grid; grid-template-columns:1fr minmax(300px,440px); gap:clamp(24px,4vw,64px); align-items:end; }
.lg-hero .fp-crumbs a, .lg-hero .fp-crumbs span { color:#bdd0d1; }
.lg-hero .fp-eyebrow { margin-bottom:12px!important; }
.lg-hero h1 { margin:0 0 14px; color:#fff; font-size:clamp(2.5rem,4.6vw,3.75rem); line-height:1.05; letter-spacing:-.035em; }
.lg-lead { margin:0; color:#c9dadb; font-size:1.1875rem; line-height:1.55; max-width:52ch; }
.lg-facts { margin:0; display:grid; gap:0; background:#0a3340; border:1px solid #1d4254; border-radius:8px; }
.lg-facts > div { display:grid; grid-template-columns:110px 1fr; gap:12px; padding:12px 16px; border-bottom:1px solid #1d4254; }
.lg-facts > div:last-child { border-bottom:0; }
.lg-facts dt { color:#9fbfc4; font-size:.8125rem; font-weight:650; letter-spacing:.04em; }
.lg-facts dd { margin:0; color:#fff; font-size:.9375rem; overflow-wrap:anywhere; }
.lg-facts a { color:#7fe0bf; }

/* ---------- pending-review notice (amber is reserved for this) ---------- */
.lg-review { background:#fff4d6; border-block:1px solid #e0b64a; }
.lg-review-in { display:flex; flex-wrap:wrap; align-items:center; gap:8px 16px; padding-block:14px; }
.lg-review-tag { display:inline-flex; align-items:center; gap:8px; padding:4px 12px; background:#5c3d00; color:#fff; border-radius:4px; font-size:.75rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.lg-review-tag::before { content:'!'; display:inline-grid; place-items:center; width:16px; height:16px; border-radius:50%; background:#fff4d6; color:#5c3d00; font-size:.75rem; }
.lg-review p { margin:0; color:#4a3200; font-size:1.0625rem; font-weight:600; }

/* ---------- layout ---------- */
.lg-layout { display:grid; grid-template-columns:240px minmax(0,800px); gap:clamp(28px,5vw,72px); padding-block:clamp(28px,4vw,48px) clamp(40px,5vw,64px); align-items:start; justify-content:center; }
.lg-side { position:sticky; top:16px; align-self:start; }
.lg-toc-h { margin:0 0 10px; font-size:.75rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--mute); }
.lg-toc ol, .lg-toc-m ol { list-style:none; margin:0; padding:0; display:grid; gap:2px; }
.lg-toc a, .lg-toc-m a { display:block; padding:8px 12px; border-left:2px solid var(--line); color:var(--mute); font-size:.9375rem; font-weight:600; text-decoration:none; line-height:1.3; }
.lg-toc a:hover, .lg-toc-m a:hover { color:var(--ink); }
.lg-toc a.is-on, .lg-toc-m a.is-on { color:#076650; border-left-color:var(--em); background:var(--mint-l); }
.lg-toc-m { display:none; background:#fff; border:1px solid var(--line); border-radius:6px; }
.lg-toc-m summary { cursor:pointer; padding:14px 16px; font-weight:700; color:var(--ink); }
.lg-toc-m ol { padding:0 8px 10px; }

.lg-main { min-width:0; }
.lg-utility { display:flex; flex-wrap:wrap; align-items:center; gap:8px 10px; margin-bottom:24px; }
.lg-utility[hidden] { display:none; }
.lg-utility button { min-height:40px; padding:0 14px; background:#fff; border:1px solid var(--line); border-radius:6px; color:var(--ink); font:inherit; font-size:.9375rem; font-weight:600; cursor:pointer; }
.lg-utility button:hover { border-color:var(--em); }
.lg-copied { color:#076650; font-size:.9375rem; font-weight:600; }

.lg-sec { padding-block:clamp(24px,3vw,36px); border-top:1px solid var(--line); scroll-margin-top:16px; }
.lg-sec:first-of-type { border-top:0; padding-top:0; }
.lg-sec h2 { margin:0 0 16px; font-size:clamp(1.75rem,2.6vw,2.25rem); line-height:1.15; letter-spacing:-.02em; }
.lg-sec h3 { margin:0 0 6px; font-size:1.1875rem; line-height:1.3; }
.lg-sec p { margin:0 0 14px; color:var(--ink); font-size:1.125rem; line-height:1.7; max-width:72ch; }
.lg-p { color:var(--mute)!important; }

.lg-card { padding:20px 22px; background:#fff; border:1px solid var(--line); border-radius:6px; }
.lg-card p:last-child, .lg-notice p:last-child { margin-bottom:0; }
.lg-kv { margin:0; display:grid; gap:0; }
.lg-kv > div { display:grid; grid-template-columns:150px 1fr; gap:12px; padding:10px 0; border-bottom:1px solid var(--line); }
.lg-kv > div:last-child { border-bottom:0; }
.lg-kv dt { color:var(--mute); font-size:.9375rem; font-weight:650; }
.lg-kv dd { margin:0; font-size:1.0625rem; }
.lg-roles, .lg-two { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:14px; }
.lg-role { padding:18px 20px; background:#fff; border:1px solid var(--line); border-top:4px solid var(--em); border-radius:6px; }
.lg-role:nth-child(2) { border-top-color:#0b4d63; }
.lg-role p { font-size:1rem; margin:0; }
.lg-two .lg-card { margin:0; }
.lg-two .lg-card p { font-size:1.0625rem; }
.lg-card--info { margin:0; }

.lg-cats, .lg-rows, .lg-rights, .lg-links { list-style:none; margin:0; padding:0; display:grid; gap:12px; }
.lg-cats li { display:flex; gap:16px; align-items:flex-start; padding:16px 18px; background:#fff; border:1px solid var(--line); border-radius:6px; }
.lg-cats p, .lg-rows p, .lg-rights p { font-size:1.0625rem; margin:0; }
.lg-rows li { padding:16px 18px; background:#fff; border:1px solid var(--line); border-left:4px solid var(--em); border-radius:6px; }
.lg-rights { grid-template-columns:repeat(2,minmax(0,1fr)); }
.lg-rights li { padding:16px 18px; background:#fff; border:1px solid var(--line); border-radius:6px; }
.lg-rights .lg-how, .lg-card .lg-how { margin-top:10px; font-size:.9375rem; color:var(--mute); }
.lg-qual { padding:10px 14px; border-left:3px solid var(--em); background:var(--mint-l); border-radius:0 6px 6px 0; }
.lg-qual strong { color:var(--ink); }
.lg-process { margin-top:22px; padding:20px 22px; background:var(--mint-l); border:1px solid #cfe3da; border-radius:6px; }
.lg-process h3 { margin-bottom:12px; }
.lg-process ol { margin:0 0 14px; padding:0; list-style:none; counter-reset:lg; display:grid; gap:8px; }
.lg-process ol li { counter-increment:lg; position:relative; padding-left:38px; font-size:1.0625rem; line-height:1.45; }
.lg-process ol li::before { content:counter(lg); position:absolute; left:0; top:0; width:26px; height:26px; display:grid; place-items:center; border-radius:50%; background:#fff; border:2px solid var(--em); color:#076650; font-size:.8125rem; font-weight:700; }
.lg-process > p { margin:0; font-size:1rem; }

.lg-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid var(--line); border-radius:6px; }
.lg-table th, .lg-table td { padding:14px 16px; text-align:left; vertical-align:top; border-bottom:1px solid var(--line); font-size:1.0625rem; line-height:1.55; }
.lg-table thead th { background:var(--mint-l); color:var(--mute); font-size:.8125rem; letter-spacing:.06em; text-transform:uppercase; }
.lg-table tbody th { width:30%; font-weight:650; color:var(--ink); }
.lg-table tr:last-child > * { border-bottom:0; }
.lg-table tr { break-inside:avoid; }

.lg-notice { padding:20px 22px; background:#fff; border:1px solid var(--line); border-left:5px solid #0b4d63; border-radius:6px; }
.lg-links { grid-template-columns:repeat(2,minmax(0,1fr)); }
.lg-links a, .lg-links button { width:100%; height:100%; display:flex; align-items:flex-start; gap:14px; padding:16px 18px; background:#fff; border:1px solid var(--line); border-radius:6px; color:var(--ink); text-align:left; text-decoration:none; font:inherit; cursor:pointer; }
.lg-links a:hover, .lg-links button:hover { border-color:var(--em); }
.lg-lt { flex:1; display:grid; gap:2px; }
.lg-lt strong { font-size:1.0625rem; color:var(--ink); }
.lg-lt span { color:var(--mute); font-size:.9375rem; line-height:1.4; }
.lg-arrow { flex:none; color:var(--em); font-size:1.25rem; }
.lg-links li[hidden] { display:none; }

@media (max-width:900px) {
	.lg-hero-in { grid-template-columns:1fr; }
	.lg-layout { grid-template-columns:1fr; }
	.lg-side { position:static; }
	.lg-toc { display:none; }
	.lg-toc-m { display:block; }
	.lg-roles, .lg-two, .lg-rights, .lg-links { grid-template-columns:1fr; }
	.lg-kv > div { grid-template-columns:1fr; gap:2px; }
	.lg-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
	.lg-table, .lg-table tbody, .lg-table tr, .lg-table th, .lg-table td { display:block; width:100%; }
	.lg-table tr { padding:10px 0; background:#fff; border-bottom:1px solid var(--line); }
	.lg-table tbody th { width:100%; padding:6px 16px 2px; }
	.lg-table td { padding:2px 16px 10px; border-bottom:0; }
	.lg-table td::before { content:attr(data-label); display:block; margin-bottom:2px; color:var(--mute); font-size:.75rem; letter-spacing:.06em; text-transform:uppercase; }
}

@media print {
	.site-header, .site-footer, footer, .cookie-banner, .cookie-reopen, .announcement, .lg-side, .lg-utility, .lg-related, .lg-hero .fp-crumbs, header .menu-toggle, .skip-link { display:none!important; }
	body, .fti-privacy { background:#fff!important; color:#000!important; }
	.lg-hero { background:#fff!important; color:#000!important; padding:0 0 12px; border-bottom:2px solid #000; }
	.lg-hero h1, .lg-lead, .lg-facts dd, .lg-facts dt, .lg-facts a, .lg-hero .fp-eyebrow { color:#000!important; }
	.lg-facts { background:#fff; border:1px solid #000; }
	.lg-hero-in, .lg-layout { display:block; }
	.lg-review { background:#fff; border:1px solid #000; }
	.lg-review-tag { background:#fff; color:#000; border:1px solid #000; }
	.lg-review p { color:#000; }
	.lg-layout { padding:12px 0; }
	.lg-sec { break-inside:auto; }
	.lg-sec h2, .lg-sec h3 { break-after:avoid; }
	.lg-card, .lg-role, .lg-cats li, .lg-rows li, .lg-rights li, .lg-process, .lg-notice, .lg-table tr { break-inside:avoid; }
	.lg-sec p { font-size:11pt; max-width:none; }
	.lg-facts a::after, .lg-sec a::after { content:''; }
}

@media (prefers-reduced-motion:reduce) { .fti-privacy * { scroll-behavior:auto!important; transition:none!important; } }
.lg-hero .fp-eyebrow { color:#7fe0bf!important; }
.lg-hero .lg-lead { color:#c9dadb!important; }
.lg-hero .fp-crumbs a, .lg-hero .fp-crumbs span { color:#bdd0d1!important; }

/* ---------- Terms of Use draft additions ---------- */
.lg-review--draft { background:#ffe9a8; border-block:2px solid #b7791f; }
.lg-review--draft .lg-review-in { align-items:flex-start; padding-block:18px; }
.lg-review--draft .lg-review-tag { margin-top:2px; }
.lg-warn-h { margin:0 0 4px!important; color:#3d2800!important; font-size:1.25rem!important; font-weight:800!important; letter-spacing:.02em; }
.lg-review--draft p { color:#4a3200; font-size:1.0625rem; font-weight:600; margin:0 0 4px; }
.lg-review--draft .lg-warn-sub { font-weight:500; font-size:1rem; }
.lg-status h3 { margin:0 0 10px; }
.lg-pending { padding:18px 20px; background:#fff; border:1px dashed #b7791f; border-radius:6px; }
.lg-pending p { margin:10px 0 0; }
.lg-pending .lg-ph { color:var(--mute); font-size:1rem; font-style:italic; }
.lg-pend { display:inline-block; padding:2px 10px; background:#fff4d6; color:#5c3d00; border:1px solid #e0b64a; border-radius:4px; font-size:.8125rem; font-weight:700; }
.lg-slots, .lg-checklist ul { list-style:none; margin:16px 0 0; padding:0; display:grid; gap:0; }
.lg-slots li, .lg-checklist li { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:6px 12px; padding:10px 0; border-top:1px solid var(--line); font-size:1.0625rem; }
.lg-checklist { margin-top:22px; padding:20px 22px; background:#fff; border:1px solid var(--line); border-radius:6px; break-inside:avoid; }
.lg-checklist h3 { margin:0 0 4px; }
.lg-ck-note { margin:0!important; color:var(--mute); font-size:.9375rem!important; }
@media print { .lg-review--draft { background:#fff!important; border:3px solid #000!important; } .lg-warn-h, .lg-review--draft p { color:#000!important; } .lg-pend { background:#fff; color:#000; border-color:#000; } .lg-pending { border-color:#000; } }

.lg-pending .lg-body, .lg-card .lg-body { margin:14px 0 0; color:var(--ink); font-size:1.125rem; font-style:normal; line-height:1.7; }
.lg-pending .lg-body strong { color:var(--ink); }

/* ---------- Legal Information hub ---------- */
.lgh-body { padding-block:clamp(24px,3.5vw,44px) clamp(40px,5vw,64px); display:grid; gap:clamp(28px,3.5vw,44px); }
.lgh-notice { padding:clamp(20px,3vw,30px); background:#ffe9a8; border:2px solid #b7791f; border-radius:8px; }
.lgh-notice .lg-review-tag { margin-bottom:10px; }
.lgh-notice h2 { margin:0 0 8px; color:#3d2800; font-size:clamp(1.5rem,2.6vw,2rem); }
.lgh-notice p { margin:0; color:#3d2800; font-size:1.1875rem; line-height:1.6; max-width:70ch; font-weight:600; }
.lgh-docs h2, .lgh-contact h2 { margin:0 0 16px; font-size:clamp(1.6rem,2.6vw,2.125rem); line-height:1.15; color:var(--ink); }
.lgh-grid { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; align-items:stretch; }
.lgh-card { position:relative; display:flex; align-items:flex-start; gap:16px; padding:22px; background:#fff; border:1px solid var(--line); border-radius:6px; transition:border-color .18s; }
.lgh-card:hover, .lgh-card:focus-within { border-color:var(--em); }
.lgh-card-t { flex:1; min-width:0; }
.lgh-card h3 { margin:0 0 6px; font-size:1.3125rem; line-height:1.25; }
.lgh-link { color:var(--ink)!important; text-decoration:none; }
.lgh-link::after { content:''; position:absolute; inset:0; border-radius:6px; }
.lgh-link:focus-visible { outline:none; }
.lgh-card:focus-within { outline:3px solid var(--em); outline-offset:3px; }
.lgh-card p { margin:0 0 12px; color:var(--mute); font-size:1.0625rem; line-height:1.5; }
.lgh-card .lgh-status { margin:0; }
.lgh-st { display:inline-flex; align-items:center; gap:8px; padding:3px 12px; border-radius:4px; border:1px solid; font-size:.875rem; font-weight:700; }
.lgh-st::before { content:''; width:8px; height:8px; border-radius:50%; background:currentColor; }
.lgh-st.is-pending { background:#fff4d6; color:#5c3d00; border-color:#e0b64a; }
.lgh-st.is-ok { background:#e0f3ea; color:#06563f; border-color:#b9e0cf; }
.lgh-contact { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px 32px; padding:24px 26px; background:var(--mint-l); border:1px solid #cfe3da; border-radius:6px; }
.lgh-contact h2 { margin-bottom:6px; }
.lgh-contact p { margin:0; color:var(--mute); font-size:1.0625rem; }
.lgh-actions { display:flex; flex-wrap:wrap; gap:10px; }
.lgh-btn { display:inline-flex; align-items:center; min-height:44px; padding:0 18px; background:#fff; border:1px solid var(--em); border-radius:6px; color:#076650; font-weight:700; text-decoration:none; }
.lgh-btn:hover { background:var(--em); color:#fff; }
.lgh-btn:focus-visible { outline:3px solid var(--em); outline-offset:3px; }
@media (max-width:640px) { .lgh-grid { grid-template-columns:1fr; } }
@media (prefers-reduced-motion:reduce) { .lgh-card { transition:none; } }
@media print { .lgh-notice { background:#fff!important; border:3px solid #000!important; } .lgh-notice h2, .lgh-notice p { color:#000!important; } .lgh-contact { background:#fff; border-color:#000; } }

/* ---------- Cookie Policy ---------- */
.ck-top-action { display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px; margin:18px 0 0!important; }
.ck-btn { min-height:44px; padding:0 20px; background:#006b58; color:#fff; border:2px solid #006b58; border-radius:6px; font:inherit; font-weight:700; cursor:pointer; }
.ck-btn:hover { background:#005446; border-color:#005446; }
.ck-btn:focus-visible { outline:3px solid #7fe0bf; outline-offset:3px; }
.ck-btn[hidden] { display:none; }
.ck-top-note { color:#c9dadb; font-size:.9375rem; max-width:34ch; }
.lg-sec .ck-btn { color:#fff; }
.ck-cats { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.ck-cats li { padding:18px 20px; background:#fff; border:1px solid var(--line); border-top:4px solid var(--em); border-radius:6px; }
.ck-cats h3 { margin:0 0 6px; font-size:1.1875rem; }
.ck-cats p { margin:0 0 12px; color:var(--mute); font-size:1rem; line-height:1.5; }
.ck-cats dl { margin:0; display:grid; gap:0; border-top:1px solid var(--line); }
.ck-cats dl > div, .ck-about > div { display:grid; grid-template-columns:130px 1fr; gap:10px; padding:8px 0; border-bottom:1px solid var(--line); font-size:.9375rem; }
.ck-cats dt, .ck-about dt { color:var(--mute); font-weight:650; }
.ck-cats dd, .ck-about dd { margin:0; color:var(--ink); }
.ck-tbc { color:#5c3d00; font-size:.8125rem; font-weight:600; }
.ck-about { margin:0 0 18px; display:grid; border-top:1px solid var(--line); }
.ck-about > div { grid-template-columns:190px 1fr; font-size:1rem; }
.ck-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid var(--line); }
.ck-table th, .ck-table td { padding:12px 14px; text-align:left; vertical-align:top; border-bottom:1px solid var(--line); font-size:1rem; line-height:1.45; overflow-wrap:break-word; }
.ck-table thead th { background:var(--mint-l); color:var(--mute); font-size:.8125rem; letter-spacing:.06em; text-transform:uppercase; }
.ck-table tbody tr:nth-child(even) { background:#f6faf8; }
.ck-table tbody th { font-weight:400; }
.ck-table code { font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:.9375rem; color:#062832; background:#eef3f1; padding:2px 6px; border-radius:3px; overflow-wrap:anywhere; }
.ck-table tr { break-inside:avoid; }
.ck-v { display:inline-flex; align-items:center; gap:6px; padding:3px 10px; border:1px solid; border-radius:4px; font-size:.8125rem; font-weight:700; white-space:nowrap; }
.ck-v::before { content:''; width:8px; height:8px; border-radius:50%; background:currentColor; }
.ck-v.is-active { background:#e0f3ea; color:#06563f; border-color:#b9e0cf; }
.ck-v.is-cond { background:#e1eff6; color:#0b4d63; border-color:#bcd9e6; }
.ck-v.is-pending { background:#fff4d6; color:#5c3d00; border-color:#e0b64a; }
.ck-v.is-none { background:#eceff1; color:#37474f; border-color:#cfd8dc; }
.ck-empty { padding:14px 16px; background:#fff; border:1px dashed var(--line); border-radius:6px; color:var(--mute)!important; font-size:1rem!important; }
.ck-3p-status { font-weight:650; }
.ck-prefs { list-style:none; margin:0 0 14px; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.ck-prefs li { padding:14px 16px; background:#fff; border:1px solid var(--line); border-radius:6px; }
.ck-prefs h3 { margin:0 0 4px; font-size:1.0625rem; }
.ck-prefs p { margin:0; font-size:.9375rem; color:var(--mute); line-height:1.45; }
.ck-points { margin:0 0 14px; padding-left:1.2em; display:grid; gap:6px; font-size:1.0625rem; line-height:1.5; }
.ck-note { padding:10px 14px; border-left:3px solid #b7791f; background:#fff4d6; color:#4a3200!important; font-size:1rem!important; }
.ck-life { margin-top:26px; padding:18px 20px; background:var(--mint-l); border:1px solid #cfe3da; border-radius:6px; break-inside:avoid; }
.ck-life h3 { margin:0 0 4px; }
.ck-life-note { margin:0 0 14px!important; color:#5c3d00!important; font-size:.9375rem!important; font-weight:650; }
.ck-life ol { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; counter-reset:ck; }
.ck-life li { counter-increment:ck; position:relative; padding:10px 12px 10px 42px; background:#fff; border:1px solid var(--line); border-radius:6px; font-size:.9375rem; line-height:1.35; }
.ck-life li::before { content:counter(ck); position:absolute; left:10px; top:9px; width:24px; height:24px; display:grid; place-items:center; border-radius:50%; border:2px solid var(--em); color:#076650; font-size:.75rem; font-weight:700; }
.ck-links { margin-top:14px; }
.lg-links li[data-cookie-open-item][hidden] { display:none; }
@media (max-width:900px) {
	.ck-cats, .ck-prefs, .ck-life ol { grid-template-columns:1fr; }
	.ck-about > div { grid-template-columns:1fr; gap:2px; }
	.ck-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
	.ck-table, .ck-table tbody, .ck-table tr, .ck-table th, .ck-table td { display:block; width:100%; }
	.ck-table tr { padding:10px 0; border-bottom:1px solid var(--line); }
	.ck-table th, .ck-table td { border-bottom:0; padding:5px 14px; }
	.ck-table td::before, .ck-table th::before { content:attr(data-label); display:block; margin-bottom:2px; color:var(--mute); font-size:.75rem; font-weight:650; letter-spacing:.06em; text-transform:uppercase; }
}
@media print { .ck-btn, .ck-top-action { display:none!important; } .ck-v, .ck-note, .ck-cats li { border-color:#000!important; background:#fff!important; color:#000!important; } }
.ck-table th:nth-child(1) { width:24%; } .ck-table td:nth-child(2) { min-width:130px; }
@media (max-width:900px) { .ck-table th:nth-child(1), .ck-table td:nth-child(2) { width:100%; min-width:0; } }

/* ---------- Vulnerability Disclosure ---------- */
.vd-panel { display:grid; gap:12px; }
.vd-art { width:100%; max-width:320px; height:auto; }
.vd-intro { color:var(--mute)!important; font-size:1.1875rem!important; line-height:1.65!important; margin:0 0 8px!important; }
.vd-warn { margin:14px 0 0!important; padding:12px 16px; border-left:4px solid #b7791f; background:#fff4d6; color:#3d2800!important; font-size:1.0625rem!important; }
.vd-scope-note { margin:0 0 14px!important; padding:10px 14px; border-left:4px solid #b7791f; background:#fff4d6; color:#3d2800!important; font-size:1.0625rem!important; }
.vd-scope { padding:20px 22px; background:#fff; border:1px solid var(--line); border-left:5px solid var(--em); border-radius:6px; }
.vd-scope--out { border-left-color:#9a2838; }
.vd-scope h3 { margin:0 0 10px; }
.vd-scope ul { list-style:none; margin:0; padding:0; }
.vd-scope li { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:6px 14px; padding:11px 0; border-top:1px solid var(--line); font-size:1.0625rem; }
.vd-scope li:first-child { border-top:0; }
.vd-asset { flex:1 1 240px; min-width:0; }
.vd-st { display:inline-flex; align-items:center; gap:6px; padding:3px 10px; border:1px solid; border-radius:4px; font-size:.8125rem; font-weight:700; }
.vd-st::before { content:''; width:8px; height:8px; border-radius:50%; background:currentColor; flex:none; }
.vd-st.is-pending { background:#fff4d6; color:#5c3d00; border-color:#e0b64a; }
.vd-st.is-ok { background:#e0f3ea; color:#06563f; border-color:#b9e0cf; }
.vd-st.is-out { background:#fbeaec; color:#7a1f30; border-color:#e5c3ca; }
.vd-checks { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.vd-checks li { position:relative; padding:12px 14px 12px 40px; background:#fff; border:1px solid var(--line); border-radius:6px; font-size:1.0625rem; line-height:1.4; }
.vd-checks li::before { content:''; position:absolute; left:15px; top:16px; width:11px; height:6px; border-left:2px solid var(--em); border-bottom:2px solid var(--em); transform:rotate(-45deg); }
.vd-sub { margin:18px 0 8px!important; font-weight:700; color:var(--ink)!important; }
.vd-cond { margin:0; padding-left:1.2em; display:grid; gap:6px; font-size:1.0625rem; line-height:1.5; }
.vd-steps { list-style:none; margin:0; padding:0; counter-reset:vd; display:grid; gap:10px; }
.vd-steps li { counter-increment:vd; position:relative; padding:12px 16px 12px 56px; background:#fff; border:1px solid var(--line); border-radius:6px; display:grid; gap:4px; }
.vd-steps li::before { content:counter(vd); position:absolute; left:14px; top:12px; width:28px; height:28px; display:grid; place-items:center; border-radius:50%; border:2px solid var(--em); color:#076650; font-weight:700; font-size:.875rem; }
.vd-steps b { font-size:1.0625rem; color:var(--ink); }
.vd-steps span { color:var(--mute); font-size:1rem; line-height:1.5; }
.vd-two { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:14px; }
.vd-two:first-of-type { margin-top:0; }
.vd-safe { border-left:5px solid #b7791f; }
.vd-safe-pending strong { color:#3d2800; font-size:1.125rem; }
.vd-st-line { margin:12px 0 0!important; }
.vd-mail a { font-size:1.375rem; font-weight:700; overflow-wrap:anywhere; }
.vd-actions { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin:12px 0 0!important; }
.vd-btn { display:inline-flex; align-items:center; min-height:44px; padding:0 18px; background:#006b58; color:#fff!important; border:2px solid #006b58; border-radius:6px; font:inherit; font-weight:700; text-decoration:none; cursor:pointer; }
.vd-btn:hover { background:#005446; }
.vd-btn:focus-visible { outline:3px solid var(--em); outline-offset:3px; }
.vd-btn[hidden] { display:none; }
.vd-links { margin-top:14px; }
@media (max-width:900px) { .vd-checks, .vd-two { grid-template-columns:1fr; } }
@media print { .vd-btn { display:none!important; } .vd-st, .vd-warn, .vd-scope-note { border-color:#000!important; background:#fff!important; color:#000!important; } }
