@import url("cookie-consent.css");

@font-face { font-family:"Barlow"; src:url("assets/branding/fonts/Barlow-Regular.woff2") format("woff2"); font-weight:400; font-display:swap; }
@font-face { font-family:"Barlow"; src:url("assets/branding/fonts/Barlow-SemiBold.woff2") format("woff2"); font-weight:600; font-display:swap; }
@font-face { font-family:"Barlow Condensed"; src:url("assets/branding/fonts/BarlowCondensed-Bold.woff2") format("woff2"); font-weight:700; font-display:swap; }
@font-face { font-family:"JetBrains Mono"; src:url("assets/branding/fonts/JetBrainsMono-Regular.woff2") format("woff2"); font-weight:400; font-display:swap; }

:root { --page-bg:#f2f2f3; --page-surface:#fff; --page-text:#1d2d3d; --page-muted:#536273; --page-accent:#5980a6; --page-divider:rgba(29,45,61,.16); }
html[data-theme="dark"] { color-scheme:dark; --page-bg:#1d2d3d; --page-surface:#22364a; --page-text:#f2f2f3; --page-muted:#c5cdd6; --page-accent:#94bce3; --page-divider:rgba(242,242,243,.18); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; font-family:"Barlow",system-ui,sans-serif; background:var(--page-bg); color:var(--page-text); -webkit-font-smoothing:antialiased; }
a { color:var(--page-accent); }
h1,h2,h3,h4 { font-family:"Barlow Condensed",system-ui,sans-serif; text-transform:uppercase; letter-spacing:.01em; }
.legal-page { min-height:100vh; background:var(--page-bg); }
.legal-page::before { content:""; position:fixed; inset:0; z-index:-1; pointer-events:none; background-image:linear-gradient(rgba(89,128,166,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(89,128,166,.055) 1px,transparent 1px); background-size:72px 72px; mask-image:linear-gradient(#000,transparent 82%); }
.legal-header { position:sticky; top:0; z-index:20; border-bottom:1px solid var(--page-divider); background:color-mix(in srgb,var(--page-bg) 92%,transparent); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); }
.legal-nav { width:min(1240px,calc(100% - 48px)); min-height:72px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:16px; }
.legal-logo { display:block; flex:0 0 148px; width:148px; height:36px; background:url("assets/branding/logo.svg") center / contain no-repeat; transition:opacity .2s ease; }
.legal-logo img { display:none; }
.legal-page[data-theme="dark"] .legal-logo,
html[data-theme="dark"] .legal-logo { background-image:url("assets/branding/logo-reversed.svg"); }
.legal-logo:hover { opacity:.78; }
.back-link { display:inline-flex; align-items:center; min-height:40px; padding:0 12px; border:1px solid transparent; color:var(--page-muted); font:13px/1 "JetBrains Mono",ui-monospace,monospace; text-decoration:none; transition:color .2s ease,background-color .2s ease,border-color .2s ease; }
.back-link:hover { border-color:var(--page-divider); background:rgba(89,128,166,.08); color:var(--page-text); }
.subpage-theme-toggle { min-width:38px; min-height:36px; padding:0 10px; border:1px solid var(--page-divider); background:transparent; color:var(--page-text); cursor:pointer; font:16px/1 "JetBrains Mono",ui-monospace,monospace; }
.subpage-theme-toggle:hover { border-color:var(--page-accent); color:var(--page-accent); }
.subpage-language-switcher { display:inline-flex; align-items:center; gap:2px; margin-left:auto; padding:3px; border:1px solid var(--page-divider); }
.subpage-language-switcher__button { min-width:34px; min-height:28px; padding:0 7px; border:0; background:transparent; color:var(--page-muted); cursor:pointer; font:11px/1 "JetBrains Mono",ui-monospace,monospace; }
.subpage-language-switcher__button[aria-pressed="true"] { background:var(--page-accent); color:var(--page-bg); }
.legal-shell { width:min(980px,calc(100% - 48px)); margin:0 auto; padding:88px 0 112px; }
.legal-kicker { margin:0 0 12px; color:var(--page-accent); font:11px/1.3 "JetBrains Mono",ui-monospace,monospace; letter-spacing:.1em; text-transform:uppercase; }
h1 { max-width:780px; margin:.65rem 0 0; color:var(--page-text); font-size:clamp(48px,7vw,88px); line-height:.92; }
.legal-updated { margin:18px 0 0; color:var(--page-muted); font:12px/1.4 "JetBrains Mono",ui-monospace,monospace; }
.legal-content { display:grid; gap:0; margin-top:56px; }
.legal-section { padding:28px 0; border-top:1px solid var(--page-divider); }
.legal-section h2 { margin:0 0 10px; color:var(--page-text); font-size:clamp(25px,3vw,34px); line-height:1; }
.legal-section p,.legal-section li { max-width:760px; color:var(--page-muted); font-size:16px; line-height:1.65; }
.legal-section ul { max-width:760px; margin:10px 0 0; padding-left:22px; }
.legal-links { display:flex; flex-wrap:wrap; gap:8px; margin-top:40px; }
.legal-links a { display:inline-flex; align-items:center; min-height:38px; padding:0 12px; border:1px solid var(--page-divider); color:var(--page-muted); font:11px/1 "JetBrains Mono",ui-monospace,monospace; text-decoration:none; transition:color .2s ease,background-color .2s ease,border-color .2s ease; }
.legal-links a:hover,.legal-links a[aria-current="page"] { border-color:var(--page-accent); background:rgba(89,128,166,.1); color:var(--page-text); }
.legal-footer { border-top:1px solid var(--page-divider); padding:32px 24px; color:var(--page-muted); font:11px/1.4 "JetBrains Mono",ui-monospace,monospace; text-align:center; }
body,.legal-page,.legal-header,.legal-section,.legal-footer { transition:background-color .2s ease,color .2s ease,border-color .2s ease; }
@media(max-width:760px){ .legal-nav{width:calc(100% - 32px);min-height:64px;gap:8px}.legal-logo{flex-basis:132px;width:132px;height:32px}.back-link{max-width:48%;padding:0 8px;text-align:right}.subpage-language-switcher{margin-left:0}.legal-shell{width:calc(100% - 32px);padding:56px 0 80px}.legal-section{padding:24px 0}.legal-section p,.legal-section li{font-size:15px} }
@media(prefers-reduced-motion:reduce){.legal-logo,.back-link,.legal-links a{transition:none}}
