/* Shared legal navigation and accessible consent controls. */
.legal-links{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center;padding:16px 0 26px;color:var(--muted,#60747e);font:13px/1.6 Onest,Arial,sans-serif}
.legal-links p{flex-basis:100%;margin:0}.legal-links a,.legal-links button{text-decoration:underline;text-underline-offset:3px}.legal-links button{padding:0;border:0;background:none;color:inherit;font:inherit;cursor:pointer}
.legal-links--cv{max-width:1200px;margin:auto;padding-inline:32px;color:#60747e}
.privacy-panel[hidden]{display:none!important}.privacy-panel{position:fixed;z-index:10000;left:20px;right:20px;bottom:20px;max-width:1040px;margin:auto;padding:22px 24px;border:1px solid var(--line,#c7d4da);border-radius:12px;background:var(--surface,#fff);color:var(--ink,#12313e);box-shadow:0 8px 40px #0003;display:grid;grid-template-columns:minmax(0,1fr) 215px;gap:24px;max-height:calc(100dvh - 40px);overflow:auto;font:14px/1.55 Onest,Arial,sans-serif}
.privacy-panel h2{font:600 18px/1.3 Onest,Arial,sans-serif;margin:0 0 8px;letter-spacing:normal}.privacy-panel p{margin:6px 0}.privacy-panel a{text-decoration:underline;text-underline-offset:3px;color:inherit}.privacy-panel__status{font-size:12px}.privacy-panel__status:empty{display:none}.privacy-panel__actions{display:flex;flex-direction:column;justify-content:center;gap:8px}.privacy-panel button{min-height:44px;border:1px solid var(--line-strong,#a2b6c0);border-radius:6px;background:var(--soft,#edf2f5);color:inherit;padding:9px 12px;font:600 13px/1.4 Onest,Arial,sans-serif;cursor:pointer}.privacy-panel button:hover{border-color:var(--accent,#315dba)}.privacy-panel button:disabled{opacity:.6;cursor:wait}.privacy-panel button:focus-visible,.legal-links button:focus-visible{outline:2px solid var(--accent,#315dba);outline-offset:3px}.privacy-panel__close[hidden]{display:none}.privacy-panel .privacy-panel__close{background:transparent;border-color:transparent;min-height:32px;font-weight:400}
.legal-page{min-width:0}.legal-main{max-width:900px;padding-block:48px 64px}.legal-main h1{font-size:clamp(30px,5vw,48px);letter-spacing:-.025em;line-height:1.12;margin:18px 0 22px}.legal-main h2{font-size:23px;line-height:1.3;margin:36px 0 14px}.legal-main h3{font-size:17px;margin:22px 0 10px}.legal-main p,.legal-main ul,.legal-main ol{margin:12px 0;max-width:78ch}.legal-main a{text-decoration:underline;text-underline-offset:3px}.legal-main li{margin:7px 0}.legal-main .legal-date{color:var(--muted);font-size:13px}.legal-main .legal-note{padding:18px 22px;background:var(--soft);border-radius:8px}.legal-main dl{margin:22px 0;display:grid;grid-template-columns:190px minmax(0,1fr);gap:0}.legal-main dt,.legal-main dd{padding:13px 0;border-bottom:1px solid var(--line);margin:0}.legal-main dt{color:var(--muted);padding-right:16px}.legal-main dd{overflow-wrap:anywhere}.legal-main code{overflow-wrap:anywhere;font-size:.9em}.legal-nav{flex-wrap:wrap;gap:12px;min-height:76px;height:auto;padding-block:14px}.legal-nav .brand{font-size:22px;font-weight:650;letter-spacing:-.04em}.legal-nav nav{gap:18px}.legal-main table{border-collapse:collapse;width:100%;margin:20px 0}.legal-main th,.legal-main td{border:1px solid var(--line);padding:12px;text-align:left;vertical-align:top;overflow-wrap:anywhere}.legal-main th{background:var(--soft)}.legal-scroll{overflow-x:auto}.legal-main [data-privacy-open]{padding:10px 16px;border:1px solid var(--line-strong);border-radius:5px;background:var(--soft);color:var(--ink);font:inherit;cursor:pointer}
@media(max-width:680px){.privacy-panel{left:10px;right:10px;bottom:10px;padding:16px;gap:12px;grid-template-columns:1fr;font-size:12px;max-height:calc(100dvh - 20px)}.privacy-panel__actions{display:grid;grid-template-columns:1fr 1fr}.privacy-panel__close{grid-column:1/-1}.privacy-panel h2{font-size:16px}.legal-main{padding-block:28px 40px}.legal-main h2{font-size:21px}.legal-main dl{grid-template-columns:1fr}.legal-main dt{padding-bottom:0;border-bottom:0;font-size:12px}.legal-main dd{padding-top:5px}.legal-nav nav{font-size:12px;gap:12px}.legal-links--cv{padding-inline:24px}.legal-main ul,.legal-main ol{padding-left:22px}}
@media print{.privacy-panel,.theme-switch,.legal-links button{display:none!important}.legal-page{background:white;color:black}.legal-main{max-width:none;padding:0}.legal-main a{color:black}.legal-main h2,.legal-main h3{break-after:avoid}}
