
.legal-page{background:var(--paper);font-size:18px;line-height:1.65;overflow-wrap:anywhere}
.legal-header{max-width:1200px;margin:auto;padding:30px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}
.legal-back{font-size:17px;font-weight:600;color:var(--purple);text-decoration:none}
.legal-back:hover{text-decoration:underline;text-underline-offset:5px}
.legal-main{max-width:980px;margin:auto;padding:60px 32px 40px}
.legal-kicker{font-size:14px;font-weight:700;letter-spacing:.07em;color:var(--purple);margin:0 0 22px}
.legal-intro h1{font-size:clamp(44px,7vw,78px);line-height:1.04;letter-spacing:-.04em;margin:0 0 25px}
.legal-subtitle{max-width:720px;font-size:22px;line-height:1.5;color:#4a4a51;margin:0 0 36px}
.draft-notice{padding:28px 30px;border:1px solid #6c3bff35;background:#efebff;border-radius:20px;margin-bottom:40px}
.draft-label{font-size:13px;line-height:1.5;letter-spacing:.08em;font-weight:750;color:var(--purple)}
.legal-main h2{font-size:26px;line-height:1.3;letter-spacing:-.02em;margin:0 0 18px}
.draft-notice h2{margin:10px 0 14px}.draft-notice p{margin:0;font-size:18px}
.agreed-terms{margin:0 0 36px}.agreed-terms p{margin:20px 0}
.legal-table-wrap{max-width:100%;overflow-x:auto}
table{width:100%;border-collapse:collapse;text-align:left;font-size:17px;line-height:1.5}
caption{text-align:left;font-size:15px;color:var(--muted);padding-bottom:12px}
th,td{border:1px solid #d9d9d9;padding:16px;vertical-align:top}
thead{background:#eeeaf8}tbody th{font-weight:600;min-width:150px}tbody td:nth-child(2){white-space:nowrap;font-weight:700}
.legal-toc{display:flex;flex-wrap:wrap;gap:10px;margin:35px 0 44px;padding:25px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.legal-toc a{font-size:16px;line-height:1.5;padding:9px 14px;border:1px solid #d9d9e0;border-radius:40px;text-decoration:none}
.legal-toc a:hover{border-color:var(--purple);color:var(--purple)}
.offer-text h2{margin:42px 0 19px;scroll-margin-top:24px}.offer-text p{margin:0 0 20px}
.unfilled{background:#fff0bd;color:#5a4500;border-radius:4px;padding:0 3px}
.legal-contact{border-top:1px solid var(--line);margin-top:40px;padding-top:30px;display:grid;gap:16px}
.legal-contact h2{margin:0}.legal-contact>a:first-of-type{color:var(--purple)}
.legal-footer{max-width:1200px;min-height:0;display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin:auto;padding:30px 32px 45px;border-top:1px solid var(--line)}
.legal-footer p{font-size:15px;line-height:1.7}
a:focus-visible{outline:3px solid var(--purple);outline-offset:5px;border-radius:4px}
@media(max-width:600px){.legal-header{padding:22px 20px}.legal-main{padding:35px 20px 40px}.legal-kicker{font-size:12px}.legal-subtitle{font-size:19px}.draft-notice{padding:23px 20px}.draft-notice h2{font-size:23px}.legal-page,.draft-notice p{font-size:17px}.legal-main h2{font-size:23px}.legal-toc{gap:7px}.legal-toc a{font-size:14px;padding:8px 11px}th,td{padding:12px;font-size:15px}tbody th{min-width:115px}.legal-footer{display:grid;padding:26px 20px 35px;gap:14px}.legal-header .brand{gap:8px}.legal-header .brand-name{font-size:16px}.legal-back{font-size:15px}}
@media print{.legal-header,.legal-toc,.legal-back{display:none}.legal-main{padding:0;max-width:none}.legal-page{background:white;font-size:11pt}.legal-intro h1{font-size:28pt}.legal-main h2{font-size:16pt;break-after:avoid}p{orphans:3;widows:3}.draft-notice{break-inside:avoid}.legal-footer{padding:20px 0}a{color:inherit;text-decoration:none}}

.legal-summary,.legal-free-terms{padding:28px 30px;background:#efebff;border:1px solid #6c3bff30;border-radius:20px;margin:0 0 36px}.legal-summary ul{padding-left:24px}.legal-summary li{margin:10px 0}.offer-text a{color:var(--purple);text-underline-offset:4px}.legal-free-terms{margin-top:44px;scroll-margin-top:24px}.legal-free-terms h2{margin-top:0}.legal-footer nav{display:flex;flex-wrap:wrap;gap:12px 20px;font-size:15px}.legal-footer a{color:var(--purple)}.legal-footer{align-items:flex-start;flex-wrap:wrap}.legal-footer p{margin:0}.legal-contact a{overflow-wrap:anywhere}@media(max-width:600px){.legal-summary,.legal-free-terms{padding:22px 20px}.legal-intro h1{font-size:40px}.legal-footer nav{display:grid;gap:12px}}
@media(max-width:600px){.legal-footer{grid-template-columns:minmax(0,1fr)}.legal-footer nav{grid-template-columns:minmax(0,1fr);max-width:100%;min-width:0}.legal-footer>*{min-width:0;max-width:100%}}
