/* Legal page uses the shared Numéryl design system. */
.legal-hero{padding-top:64px;padding-bottom:64px}
.legal-back{display:block;width:fit-content;color:var(--muted);font-size:.88rem;margin-bottom:38px}
.legal-hero .accent{color:var(--accent)}
.legal-hero h1{font-size:clamp(2.7rem,5vw,4.8rem);line-height:1.08;margin:18px 0 24px;max-width:18ch}
.legal-intro{font-size:1.13rem;line-height:1.75;color:var(--muted);max-width:55ch}
.legal-date{font-family:var(--font-mono);color:var(--muted);font-size:.74rem;margin:24px 0 36px}
.legal-highlights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.legal-highlights>a{padding:27px 28px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--ivory);transition:background .2s,border-color .2s}
.legal-highlights>a:hover{background:var(--paper);border-color:var(--accent)}
.legal-highlights span{font-family:var(--font-mono);color:var(--muted);font-size:.73rem}
.legal-highlights h2{font-size:1.45rem;margin:16px 0 10px}.legal-highlights p{font-size:.94rem;line-height:1.7;color:var(--muted)}
.legal-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:56px;padding-bottom:88px;align-items:start}
.legal-toc{position:sticky;top:112px;font-size:.83rem;color:var(--muted)}
.legal-toc summary{font-weight:600;color:var(--ink);font-size:.95rem;margin-bottom:18px;cursor:pointer}
.legal-toc ul{list-style:none;padding:0;display:grid;gap:0}.legal-toc li a{display:block;padding:8px 0;line-height:1.45}.legal-toc a:hover{color:var(--accent)}
.legal-toc-contact{display:block;margin-top:24px;padding-top:20px;border-top:1px solid var(--line);color:var(--accent)}
.legal-content{min-width:0;max-width:800px}
.legal-content section{padding:32px 0;border-top:1px solid var(--line);scroll-margin-top:110px}
.legal-content h2{display:flex;gap:18px;align-items:baseline;font-size:1.8rem;line-height:1.3;margin:0 0 18px}
.legal-content .num{font-family:var(--font-mono);font-size:.76rem;color:var(--accent);flex-shrink:0}
.legal-content h3{font-family:var(--font-body);font-size:1rem;font-weight:600;margin:24px 0 10px}
.legal-content p,.legal-content li{font-size:.98rem;line-height:1.85;color:var(--muted)}
.legal-content p+p{margin-top:14px}.legal-content strong{color:var(--ink);font-weight:600}
.legal-content ul{padding-left:22px;margin:14px 0}.legal-content li+li{margin-top:8px}
.legal-content a:not(.btn){color:var(--accent);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.legal-content .callout{padding:20px 24px;background:var(--ivory);border-left:3px solid var(--accent);border-radius:0 12px 12px 0;margin:20px 0;color:var(--muted);line-height:1.8}
.legal-content .table-wrap{overflow-x:auto;margin:18px 0;border:1px solid var(--line);border-radius:12px}
.legal-content table{width:100%;border-collapse:collapse;font-size:.9rem;text-align:left}
.legal-content th,.legal-content td{padding:16px;line-height:1.6;border-bottom:1px solid var(--line)}
.legal-content th{background:var(--ivory);font-weight:600}.legal-content td{color:var(--muted)}
.legal-end{margin-top:20px}.legal-page a:focus-visible,.legal-page summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px;border-radius:5px}
@media(max-width:1000px){.legal-layout{grid-template-columns:220px minmax(0,1fr);gap:32px}.legal-highlights>a{padding:22px}}
@media(max-width:700px){.legal-hero{padding-top:32px;padding-bottom:36px;text-align:center}.legal-back{margin-bottom:28px}.legal-hero h1{font-size:2.55rem;margin:20px auto}.legal-intro{font-size:1rem}.legal-date{font-size:.66rem;margin:20px 0 28px}.legal-highlights{grid-template-columns:1fr;gap:12px;text-align:left}.legal-highlights>a{padding:20px 22px}.legal-highlights h2{font-size:1.25rem;margin:10px 0 6px}.legal-highlights p{font-size:.9rem}.legal-layout{grid-template-columns:1fr;gap:28px;padding-bottom:52px}.legal-toc{position:static;padding:20px 22px;border:1px solid var(--line);border-radius:16px;background:var(--ivory)}.legal-toc summary{margin:0}.legal-toc details[open] summary{margin-bottom:14px}.legal-toc ul{grid-template-columns:1fr 1fr;gap:0 14px}.legal-toc li a{font-size:.75rem;padding:9px 0}.legal-toc-contact{margin-top:16px;padding-top:16px}.legal-content section{padding:26px 0;scroll-margin-top:96px}.legal-content h2{font-size:1.4rem;gap:12px}.legal-content p,.legal-content li{font-size:.94rem;line-height:1.8}.legal-content .callout{padding:16px}.legal-content th,.legal-content td{padding:12px;font-size:.82rem}.legal-end{width:100%;justify-content:center}}
@media(max-width:350px){.legal-hero h1{font-size:2.2rem}.legal-toc ul{grid-template-columns:1fr}.legal-content h2{font-size:1.25rem}}
