/* Legal pages use the approved typography, palette and site shell. */
.legal-main{padding-top:48px;padding-bottom:72px;max-width:1200px}
.legal-hero{margin-bottom:36px;max-width:850px}
.legal-back{display:inline-block;color:var(--purple);font-size:13px;font-weight:650;margin-bottom:20px}
.legal-hero h1{font-size:44px;line-height:1.12;letter-spacing:-.045em;margin-bottom:16px;overflow-wrap:anywhere}
.legal-hero>p{font-size:16px;line-height:1.7}
.legal-hero .legal-date{font-size:13px;margin-top:14px}
.legal-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:32px;align-items:start}
.legal-sidebar{position:sticky;top:100px;font-size:13px}
.legal-sidebar nav{display:flex;flex-direction:column;gap:4px}
.legal-sidebar nav a{display:block;padding:10px 13px;border-radius:10px;line-height:1.5}
.legal-sidebar nav a:hover,.legal-sidebar nav a[aria-current=page]{background:var(--lavender);color:var(--purple)}
.legal-toc{border-top:1px solid var(--line);padding-top:18px;margin-top:20px}
.legal-toc summary,.legal-archive summary{cursor:pointer;font-weight:650;line-height:1.6}
.legal-toc nav{max-height:40vh;overflow:auto;margin-top:10px}
.legal-document{min-width:0;border:1px solid var(--line);border-radius:22px;background:var(--paper);padding:36px 40px}
.legal-document p,.legal-document li,.legal-document address{font-size:15px;line-height:1.85;color:var(--ink);overflow-wrap:anywhere}
.legal-document p+p{margin-top:16px}
.legal-document h2{font-size:23px;line-height:1.3;letter-spacing:-.025em;margin:34px 0 15px;scroll-margin-top:110px}
.legal-document h3{font-size:18px;line-height:1.4;margin:24px 0 12px}
.legal-document h2:first-child{margin-top:0}
.legal-document ul,.legal-document ol{margin:18px 0 22px;padding-left:22px}
.legal-document li+li{margin-top:10px}
.legal-document a:not(.btn):not(.legal-card){color:var(--purple);text-decoration:underline;text-underline-offset:3px}
.legal-document strong{font-weight:660}
.legal-document address{font-style:normal}
.legal-notice{padding:20px 22px;background:var(--lavender);border:1px solid var(--line);border-radius:14px;margin-bottom:28px}
.legal-notice>strong{display:block;font-size:14px;margin-bottom:8px}
.legal-notice p{font-size:14px;line-height:1.8}
.legal-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.legal-card{border:1px solid var(--line);border-radius:14px;padding:22px;display:flex;flex-direction:column;align-items:flex-start;transition:border-color .18s,background .18s}
.legal-card:hover{border-color:var(--purple);background:var(--lavender)}
.legal-document .legal-card h2{font-size:18px;margin:0 0 12px;line-height:1.3}
.legal-card p{font-size:13px;color:var(--muted);line-height:1.7;flex:1}
.legal-card>span{font-size:13px;color:var(--purple);font-weight:600;display:flex;align-items:center;gap:8px;margin-top:20px}
.legal-card .icon{width:16px;height:16px}
.legal-archive{border:1px solid var(--line);border-radius:12px;padding:18px;margin-top:20px}
.legal-contact{text-align:left;margin-bottom:30px}
.legal-contact-icon{display:inline-flex;padding:14px;background:var(--lavender);color:var(--purple);border-radius:14px;margin-bottom:20px}
.legal-document .legal-contact h2{margin-top:0}
.legal-contact .btn{margin-top:24px;white-space:normal;overflow-wrap:anywhere}
@media(max-width:900px){.legal-layout{grid-template-columns:1fr;gap:24px}.legal-sidebar{position:static}.legal-sidebar>nav{display:grid;grid-template-columns:1fr 1fr}.legal-toc nav{max-height:240px}.legal-card-grid{grid-template-columns:1fr 1fr}.legal-hero h1{font-size:38px}}
@media(max-width:600px){.legal-main{padding-top:30px;padding-bottom:44px;width:calc(100% - 36px)}.legal-hero{margin-bottom:26px}.legal-hero h1{font-size:32px}.legal-hero>p{font-size:14px}.legal-document{padding:24px 20px;border-radius:16px}.legal-document p,.legal-document li,.legal-document address{font-size:14px;line-height:1.8}.legal-document h2{font-size:21px}.legal-sidebar nav a{padding:9px;font-size:12px}.legal-card-grid{grid-template-columns:1fr}.legal-notice{padding:16px}.legal-card{padding:19px}}
@media print{.site-header,.site-footer,.preview-strip,.review-bar,.legal-sidebar,.legal-back{display:none!important}.legal-main{width:100%;max-width:none;padding:0}.legal-layout{display:block}.legal-document{border:0;padding:0}.legal-hero h1{font-size:28px}.legal-document p,.legal-document li{font-size:11px}.legal-document h2{font-size:16px;break-after:avoid}.legal-card{break-inside:avoid}}
