:root { color-scheme:light; --legal-ink:#182d27; --legal-copy:#4d635a; --legal-bg:#f5f8f7; --legal-card:#fff; --legal-line:#dbe5e0; --legal-accent:#16675b; font:400 16px/1.7 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
:root[data-theme="dark"] { color-scheme:dark; --legal-ink:#e8f1ec; --legal-copy:#b1c6ba; --legal-bg:#0d1813; --legal-card:#14251c; --legal-line:#30453a; --legal-accent:#88d5b7; }
* { box-sizing:border-box; } body { margin:0; background:var(--legal-bg); color:var(--legal-ink); } a { color:var(--legal-accent); text-underline-offset:3px; } button,input,select,textarea { font:inherit; }
.legal-wrap { width:min(940px,calc(100% - 40px)); margin:auto; } .legal-header { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:28px 0; }
.legal-header .brand-lockup { width:225px; } .legal-header nav { display:flex; align-items:center; gap:18px; font-size:14px; flex-wrap:wrap; } .legal-header button { border:1px solid var(--legal-line); border-radius:8px; background:var(--legal-card); color:inherit; padding:8px 12px; cursor:pointer; }
.legal-main { background:var(--legal-card); border:1px solid var(--legal-line); border-radius:20px; padding:clamp(24px,5vw,50px); margin:12px auto 36px; overflow-wrap:anywhere; }
.legal-main h1 { font-size:clamp(30px,5vw,44px); line-height:1.15; font-weight:600; letter-spacing:-.035em; margin:8px 0 14px; }
.legal-main h2 { font-size:22px; font-weight:600; margin:34px 0 10px; line-height:1.3; } .legal-main p,.legal-main li { color:var(--legal-copy); }
.legal-meta { font-size:13px; color:var(--legal-copy); } .legal-intro { font-size:18px; } .legal-table { overflow-x:auto; margin:20px 0; } table { border-collapse:collapse; width:100%; min-width:540px; font-size:14px; } td,th { padding:14px; border:1px solid var(--legal-line); text-align:left; vertical-align:top; } th { font-weight:600; }
.legal-footer { padding:0 0 36px; display:flex; flex-wrap:wrap; justify-content:space-between; gap:14px; font-size:13px; color:var(--legal-copy); } .legal-footer nav { display:flex; gap:18px; flex-wrap:wrap; } .legal-footer button,.legal-link-button { font:inherit; color:var(--legal-accent); cursor:pointer; border:0; padding:0; background:transparent; text-decoration:underline; text-underline-offset:3px; }
.demo-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin:24px 0; } .demo-grid label { display:flex; flex-direction:column; font-weight:500; gap:6px; } .demo-grid .demo-full { grid-column:1/-1; } .demo-grid input,.demo-grid select,.demo-grid textarea { width:100%; border:1px solid var(--legal-line); border-radius:9px; padding:11px 13px; background:var(--legal-bg); color:var(--legal-ink); font-weight:400; } .demo-grid textarea { resize:vertical; min-height:110px; }
.demo-consent { display:flex; gap:12px; align-items:flex-start; color:var(--legal-copy); font-size:14px; } .demo-consent input { width:20px; height:20px; flex-shrink:0; accent-color:var(--legal-accent); margin-top:3px; }
.demo-send { min-height:48px; border:1px solid var(--legal-accent); border-radius:9px; background:var(--legal-accent); color:var(--legal-card); padding:11px 22px; cursor:pointer; font-weight:600; margin-top:24px; } .demo-send:disabled { opacity:.6; cursor:wait; } .demo-status { min-height:28px; font-size:14px; } .demo-status[data-error="true"] { color:#b5473c; }
.demo-trap { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
:focus-visible { outline:3px solid #25858b; outline-offset:3px; }
@media(max-width:600px) { .legal-header { align-items:flex-start; flex-direction:column; gap:16px; } .legal-wrap { width:calc(100% - 28px); } .legal-header .brand-lockup { width:205px; } .demo-grid { grid-template-columns:1fr; } .legal-footer { flex-direction:column; } }
.legal-skip { position:absolute; top:-80px; left:16px; z-index:100; padding:10px 16px; background:var(--legal-card); border:1px solid var(--legal-line); border-radius:8px; }
.legal-skip:focus { top:12px; }
.legal-eyebrow { color:var(--legal-accent); font-size:12px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.legal-version-note { padding:14px 16px; background:var(--legal-bg); border-radius:10px; font-size:13px; line-height:1.65; }
.legal-toc { border-block:1px solid var(--legal-line); padding:14px 0; margin:24px 0; }
.legal-toc summary { cursor:pointer; font-size:14px; font-weight:500; }
.legal-toc ol { padding-left:22px; font-size:14px; }
.legal-main section { scroll-margin-top:24px; }
.legal-document-end { margin-top:40px; border-top:1px solid var(--legal-line); padding-top:12px; font-size:12px; }
.legal-cards { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.legal-card { display:block; border:1px solid var(--legal-line); border-radius:12px; padding:20px; text-decoration:none; background:var(--legal-bg); }
.legal-card:hover { border-color:var(--legal-accent); }
.legal-card h2 { margin:0 0 9px; font-size:18px; color:var(--legal-ink); }
.legal-card p { font-size:14px; margin:0 0 16px; }
.legal-card span { font-size:13px; font-weight:500; }
.legal-request-links { display:flex; flex-wrap:wrap; gap:10px; }
.legal-request-links a { border:1px solid var(--legal-line); border-radius:8px; padding:8px 12px; font-size:13px; }
.legal-footer { max-width:940px; }
.legal-footer nav { gap:8px 16px; }
@media(max-width:600px) { .legal-cards { grid-template-columns:1fr; } .legal-main h2 { font-size:20px; } .legal-request-links { flex-direction:column; align-items:flex-start; } }
@media print { .legal-header nav,.legal-footer,.legal-skip,.legal-toc,.bts-cookie-banner,.legal-request-links { display:none!important; } :root { --legal-ink:#111; --legal-copy:#222; --legal-bg:#fff; --legal-card:#fff; } .legal-wrap { width:100%; } .legal-main { border:0; padding:0; } a { color:inherit; } h2 { break-after:avoid; } tr { break-inside:avoid; } }
