/* Legal pages only. Shared styles are in base.css. */
html{scroll-padding-top:90px}
body{font-size:17px;line-height:1.65}
a{text-underline-offset:3px}
/* layout */
.legal{max-width:1100px;margin:0 auto;padding:130px clamp(20px,4vw,48px) 60px;display:grid;grid-template-columns:240px 1fr;gap:20px 60px}
.legal-head{grid-column:1/-1;max-width:760px}
.legal-head h1{font-family:'Cinzel Decorative',serif;font-weight:400;text-transform:lowercase;font-size:clamp(30px,4vw,48px);line-height:1.1;margin:0 0 10px}
.updated{color:var(--ink-faint);font-size:14px;margin:0 0 14px}
.intro{font-size:clamp(18px,1.6vw,21px);font-style:italic;color:var(--ink);margin:0 0 10px}
.toc{position:sticky;top:96px;align-self:start;font-size:15px;border-left:1px solid var(--rose);padding-left:18px}
.toc b{display:block;font-weight:600;margin-bottom:8px}
.toc ol{margin:0;padding-left:18px;color:var(--ink-soft)}
.toc li{margin:4px 0}
.toc a{text-decoration:none}.toc a:hover{text-decoration:underline}
.legal-body{max-width:760px;min-width:0}
.legal-body section{padding:6px 0 18px;border-bottom:1px solid var(--line);margin-bottom:22px}
.legal-body h2{font-family:'Cinzel Decorative',serif;font-weight:400;text-transform:lowercase;font-size:clamp(21px,2vw,26px);line-height:1.2;margin:14px 0 12px}
.legal-body p,.legal-body li{color:var(--ink-soft)}
.legal-body b{color:var(--ink);font-weight:600}
.legal-body ul,.legal-body ol{padding-left:22px}
.legal-body li{margin:6px 0}
.biz{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px 20px;margin:12px 0}
.biz p{margin:0;color:var(--ink)}
table{width:100%;border-collapse:collapse;font-size:15px;margin:10px 0 14px;background:var(--card);border-radius:14px;overflow:hidden;border:1px solid var(--line)}
th,td{text-align:left;vertical-align:top;padding:11px 13px;border-bottom:1px solid var(--line)}
th{font-weight:600;background:rgba(255,224,244,.5)}
tr:last-child td{border-bottom:0}
code{font-size:.9em;background:rgba(0,0,0,.05);padding:1px 5px;border-radius:5px}
.model-form{background:var(--card);border:1px dashed var(--rose-deep);border-radius:16px;padding:18px 20px}
.model-form p{margin:0 0 10px}
.todo{background:#fff3b0;color:#000;border-radius:4px;padding:0 4px;font-style:normal}
@media (max-width:860px){.legal{grid-template-columns:1fr;padding-top:110px}.toc{position:static;margin-bottom:6px}
  table,thead,tbody,tr,th,td{display:block}thead{display:none}tr{border-bottom:1px solid var(--line);padding:6px 0}td{border:0;padding:6px 13px}td:first-child{font-weight:600;color:var(--ink)}}

/* footer */
.legal-foot{text-align:center;padding:40px 20px 60px;border-top:1px solid var(--line);font-size:14px;color:var(--ink-soft)}
.legal-foot img{width:120px;margin:0 auto 14px}
.legal-foot a{text-decoration:none}.legal-foot a:hover{text-decoration:underline}
.foot-links{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px;margin-top:12px}
@media print{.nav,.toc,.legal-foot .foot-links{display:none}.legal{display:block;padding-top:20px}.reveal{opacity:1;transform:none}}
