/* Privacy pages only. System fonts and local assets: no third-party requests. */
:root { color-scheme: light; --ink:#23343d; --muted:#526570; --blue:#176a91; --line:#dce4e7; --paper:#fafbf9; --accent:#60aed2; --header:#fff; --status:#f2f5f4; --callout:#eef6f9; --table:#eef3f5; --title:#20343e; font-family: "Segoe UI", system-ui, -apple-system, sans-serif; color:var(--ink); background:var(--paper); }
:root[data-product="tactacgo"], :root[data-product="bleuwi"] { --ink:#183b50; --muted:#456579; --blue:#075985; --line:#b8ddf2; --paper:#f0f9ff; --accent:#38bdf8; --header:#e0f2fe; --status:#eaf7ff; --callout:#e0f2fe; --table:#e0f2fe; --title:#123f5a; }
:root[data-product="tactacgo"] .site-header, :root[data-product="bleuwi"] .site-header { border-top:4px solid var(--accent); }
* { box-sizing:border-box; }
body { margin:0; line-height:1.7; font-size:16px; }
a { color:var(--blue); text-decoration-thickness:1px; text-underline-offset:3px; }
a:hover { color:#104a65; }
a:focus-visible { outline:3px solid var(--accent); outline-offset:4px; border-radius:2px; }
.skip-link { position:absolute; left:1rem; top:-5rem; z-index:3; background:white; padding:.5rem 1rem; }
.skip-link:focus { top:1rem; }
.site-header { background:var(--header); border-bottom:1px solid var(--line); }
.nav { max-width:1280px; margin:auto; padding:1.1rem 2rem; display:flex; align-items:center; gap:1.1rem; }
.brand { font-size:1.2rem; font-weight:750; letter-spacing:-.04em; text-decoration:none; color:var(--ink); white-space:nowrap; }
.brand-dot { display:inline-block; width:7px; height:7px; border-radius:50%; background:var(--accent); margin-left:3px; }
.nav-divider { color:#c1cdd2; }
.nav-context { color:var(--muted); font-size:.8rem; }
.language-links { margin-left:auto; display:flex; gap:1rem; font-size:.83rem; }
.language-links a { text-decoration:none; }
.language-links [aria-current] { color:var(--ink); font-weight:700; text-decoration:underline; text-decoration-color:var(--accent); text-decoration-thickness:2px; }
.review-status { border-bottom:1px solid var(--line); text-align:center; color:var(--muted); background:var(--status); padding:.4rem 1rem; font-size:.75rem; letter-spacing:.03em; }
.policy-layout { max-width:1200px; margin:auto; padding:4rem 2rem 5rem; display:grid; grid-template-columns:220px minmax(0,760px); gap:4rem; justify-content:center; align-items:start; }
.policy-index { position:sticky; top:1.5rem; font-size:.78rem; max-height:calc(100vh - 3rem); overflow:auto; padding-right:.5rem; }
.index-title { margin:0 0 1rem; font-size:.65rem; text-transform:uppercase; font-weight:750; letter-spacing:.13em; color:var(--muted); }
.policy-index nav>a { display:block; color:var(--muted); text-decoration:none; line-height:1.4; padding:.37rem 0 .37rem .85rem; border-left:1px solid var(--line); }
.policy-index nav>a:hover { border-left:2px solid var(--blue); color:var(--blue); }
.related { display:block; margin-top:1.5rem; border-top:1px solid var(--line); padding-top:1rem; text-decoration:none; }
.related>span { color:var(--muted); font-size:.7rem; }
.related strong { display:block; font-size:1rem; font-weight:650; }
.policy { min-width:0; }
.eyebrow { text-transform:uppercase; letter-spacing:.13em; font-size:.69rem; color:var(--blue); font-weight:700; margin:0 0 1rem; }
.eyebrow span { padding:0 .7rem; color:#a3b8c3; }
h1 { margin:0 0 .6rem; font-family:Georgia,"Times New Roman",serif; font-size:clamp(2.1rem,3.7vw,3rem); font-weight:400; line-height:1.16; letter-spacing:-.035em; color:var(--title); text-wrap:balance; }
h1+p { font-size:.76rem; color:var(--muted); margin-bottom:2rem; }
h1+p strong { font-weight:400; }
blockquote { margin:2rem 0 3rem; border-left:3px solid #77bddb; border-radius:0 9px 9px 0; background:var(--callout); padding:1.5rem 1.7rem; }
blockquote p { margin:.7rem 0; }
blockquote p:first-child { margin-top:0; font-size:1.17rem; }
blockquote p:last-child { margin-bottom:0; }
h2 { font-size:1.32rem; line-height:1.35; font-weight:650; letter-spacing:-.025em; border-top:1px solid var(--line); padding-top:1.7rem; margin:2.5rem 0 1rem; scroll-margin-top:1.5rem; text-wrap:balance; }
p { margin:.85rem 0; }
ul { padding-left:1.25rem; }
li { padding-left:.2rem; margin:.5rem 0; }
strong { font-weight:650; }
code { font-family:inherit; font-size:.92em; overflow-wrap:anywhere; }
table { border-collapse:collapse; width:100%; font-size:.87rem; line-height:1.55; margin:1.3rem 0; table-layout:fixed; }
th { text-align:left; background:var(--table); font-weight:650; }
th,td { padding:.8rem; border-bottom:1px solid var(--line); vertical-align:top; overflow-wrap:anywhere; }
th:first-child { width:47%; }
.policy-end { border-top:1px solid var(--line); margin-top:3rem; padding-top:1.5rem; display:flex; justify-content:space-between; flex-wrap:wrap; gap:1rem; font-size:.8rem; }
.site-footer { max-width:1200px; margin:auto; padding:1.7rem 2rem; border-top:1px solid var(--line); color:var(--muted); font-size:.78rem; display:flex; justify-content:space-between; gap:1rem; }
@media(max-width:900px) { .policy-layout { grid-template-columns:minmax(0,760px); padding-top:2.5rem; gap:2rem; } .policy-index { position:static; order:2; max-height:none; border-top:1px solid var(--line); padding-top:1.5rem; } .policy-index nav { columns:2; column-gap:1.5rem; } .policy-index .index-title { column-span:all; } .policy-index nav>a { break-inside:avoid; } .related { max-width:20rem; } }
@media(max-width:560px) { body { font-size:15px; } .nav { padding:1rem 1.2rem; gap:.5rem; } .nav-context,.nav-divider { display:none; } .language-links { gap:.8rem; } .policy-layout { padding:2.1rem 1.2rem 3rem; } blockquote { padding:1.1rem 1.2rem; margin:1.6rem 0 2rem; } h2 { font-size:1.22rem; } .site-footer { padding:1.5rem 1.2rem; flex-direction:column; } th,td { padding:.6rem; } .policy-index nav { columns:1; } }
@media print { .site-header,.review-status,.policy-index,.policy-end,.site-footer { display:none; } .policy-layout { display:block; padding:0; max-width:none; } body { font-size:10pt; color:#000; background:#fff; } h1 { font-size:25pt; } h2 { break-after:avoid; font-size:14pt; } blockquote { background:#fff; } a { color:#000; } }
