/* Legal pages (backend/legal.py): calm editorial reading layout. No inline styles on these pages (strict CSP). */
:root{
  --paper:#F7F5F1;--ink:#1A1916;--ink-2:#4a4740;--line:#dcd7cc;--card:#fffdf8;--accent:#FF6432;--accent-ink:#b8411a;
  --warn-bg:#fff1ea;--measure:70ch;
  --body:'DM Sans',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --label:'Space Grotesk','DM Sans',system-ui,sans-serif;
  --display:'Clash Display','Space Grotesk','DM Sans',system-ui,sans-serif;
  color-scheme:light dark;
}
@media (prefers-color-scheme:dark){
  :root{--paper:#141412;--ink:#ECE8E0;--ink-2:#b9b3a7;--line:#34312b;--card:#1d1c19;--accent-ink:#ff8a5f;--warn-bg:#2a1b13}
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body.legal{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.65 var(--body);font-feature-settings:'ss01'}
a{color:inherit;text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:1.5px;text-underline-offset:3px}
a:hover{color:var(--accent-ink)}
a:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}

.top{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:calc(var(--measure) + 32px);margin:0 auto;padding:20px 16px;border-bottom:1px solid var(--line)}
.wordmark{font:600 22px/1 var(--display);letter-spacing:-.01em;text-decoration:none}
.lang{font:500 13px/1 var(--label);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;border:1px solid var(--line);border-radius:999px;padding:8px 14px}
.lang:hover{border-color:var(--accent)}

main{padding:0 16px}
article{max-width:var(--measure);margin:0 auto;padding:40px 0 56px}
.label{font:500 12px/1.3 var(--label);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);margin:0 0 10px}
h1{font:600 clamp(34px,7vw,52px)/1.05 var(--display);letter-spacing:-.015em;margin:0 0 12px;hyphens:auto;overflow-wrap:break-word}
.updated{font:400 14px/1.4 var(--label);color:var(--ink-2);margin:0 0 28px}
h2{font:600 20px/1.3 var(--label);letter-spacing:-.005em;margin:44px 0 12px;scroll-margin-top:16px}
p,li{overflow-wrap:break-word}
p{margin:0 0 14px}
ul,ol{margin:0 0 16px;padding-left:1.3em}
li{margin:0 0 8px}
li::marker{color:var(--accent)}
strong{font-weight:600}
code{font:500 .88em/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--card);border:1px solid var(--line);border-radius:4px;padding:1px 5px;white-space:nowrap}

.toc{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px 20px 10px;margin:28px 0 8px}
.toc ol{list-style:none;padding:0;margin:0;columns:2 16rem;column-gap:24px}
.toc li{margin:0 0 8px;break-inside:avoid;font-size:15px}
.toc a{text-decoration:none}
.toc a:hover{text-decoration:underline}

.table-wrap{overflow-x:auto;margin:0 0 16px;-webkit-overflow-scrolling:touch}
table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.5;margin:0 0 16px}
.table-wrap table{margin:0;min-width:520px}
th,td{text-align:left;vertical-align:top;padding:10px 12px 10px 0;border-bottom:1px solid var(--line)}
th{font:500 12px/1.3 var(--label);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}

.model-form{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--ink);border-radius:8px;padding:20px 22px;margin:8px 0 16px}
.form-title{font:600 17px/1.3 var(--label);margin-bottom:6px}
ul.dash{list-style:none;padding:0}
ul.dash li::before{content:'— ';color:var(--ink-2)}

#withdrawal-app{margin:8px 0 16px}
#withdrawal-app:empty{display:none}
/* The online withdrawal function (withdrawal.js) */
.wd{border:1px solid var(--line);background:var(--card);border-radius:18px;padding:22px 20px}
.wd h3{margin:0 0 8px}.wd p{margin:0 0 14px}
.wd-form{display:grid;gap:14px}
.wd-form label{display:grid;gap:6px;font:500 13px/1.3 var(--label);letter-spacing:.04em}
.wd-form input,.wd-form textarea{font:inherit;font-size:16px;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:12px 14px;width:100%;box-sizing:border-box}
.wd-form input:focus,.wd-form textarea:focus{outline:2px solid var(--accent);outline-offset:1px}
.wd-button{justify-self:start;font:500 15px/1 var(--body);border:0;border-radius:999px;padding:14px 22px;background:var(--ink);color:var(--paper);cursor:pointer}
.wd-button.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}
.wd-button:disabled{opacity:.6;cursor:wait}
.wd-button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.wd-actions{display:flex;gap:10px;flex-wrap:wrap}
.wd-summary{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin:0 0 16px}
.wd-summary dt{color:var(--ink-2)}.wd-summary dd{margin:0}
.wd-note{border-left:3px solid var(--accent);padding-left:12px}
.wd-status{min-height:1.4em;font-size:14px;color:var(--ink-2);margin:4px 0 0}
.alt{color:var(--ink-2);font-size:15px}

.harmonised-notice{border:1px dashed var(--line);border-radius:8px;padding:20px;margin:8px 0 16px;color:var(--ink-2);font-size:15px}
.harmonised-notice img{display:block;max-width:100%;height:auto}

/* Missing company data: loud on purpose, so the owner sees it before launch. */
.missing{display:inline;color:var(--accent-ink);background:var(--warn-bg);outline:2px solid var(--accent);outline-offset:1px;border-radius:3px;padding:0 4px;font-weight:600}
.missing-box{border:2px solid var(--accent);background:var(--warn-bg);border-radius:10px;padding:16px 18px 6px;margin:0 0 24px}
.missing-box ul{margin:8px 0 10px}

.foot{border-top:1px solid var(--line);padding:32px 16px 48px;font-size:14px;line-height:1.55;color:var(--ink-2)}
.foot>*{max-width:var(--measure);margin-left:auto;margin-right:auto}
.legal-nav{list-style:none;padding:0;margin-bottom:24px;display:flex;flex-wrap:wrap;gap:8px 18px}
.legal-nav li{margin:0}
.legal-nav a{text-decoration:none;color:var(--ink)}
.legal-nav a[aria-current=page]{text-decoration:underline;text-decoration-color:var(--accent)}
.company{display:grid;grid-template-columns:max-content 1fr;gap:4px 16px;margin-bottom:20px}
.company dt{font:500 12px/1.55 var(--label);letter-spacing:.06em;text-transform:uppercase}
.company dd{margin:0;color:var(--ink);overflow-wrap:anywhere}
.sal a{display:inline-block;border:1px solid var(--line);border-radius:6px;padding:8px 12px;text-decoration:none;color:var(--ink)}
.sal .sal-badge{padding:0;border:0;border-radius:0;line-height:0}
.sal-badge img{display:block;width:250px;height:50px;object-fit:contain;border:0}
.binding{font-style:italic}

@media (max-width:560px){
  body.legal{font-size:16px}
  article{padding-top:28px}
  h2{margin-top:36px}
  .company{grid-template-columns:1fr;gap:0}
  .company dd{margin-bottom:8px}
}

@media print{
  :root{--paper:#fff;--ink:#000;--ink-2:#333;--line:#bbb;--card:#fff}
  body.legal{font-size:11pt;line-height:1.5}
  .top .lang,.toc,#withdrawal-app,.legal-nav{display:none}
  .top{border:0;padding:0 0 12pt}
  main,.foot{padding-left:0;padding-right:0}
  article{max-width:none;padding:0}
  a{text-decoration:none}
  h2{break-after:avoid}
  section,.model-form,table{break-inside:avoid}
  .missing,.missing-box{outline:2px solid #000;border-color:#000;background:none}
}
