.portal-main.legal-main { max-width: 1040px; padding: 48px 20px 24px; }
.legal-main > .eyebrow { color: #b9acff; font-size: 10px; font-weight: 600; line-height: 1.5; letter-spacing: 0; margin: 0 0 24px; }
.legal-main > .eyebrow::before { display: none; }
.legal-main > h1 { font-size: 30px; font-weight: 500; line-height: 1.5; letter-spacing: 0; margin: 0 0 24px; }
.legal-nav { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-bottom: 24px; }
.portal .legal-nav a { display: flex; align-items: center; justify-content: center; min-height: 52px; padding: 12px 16px; border-radius: 12px; color: white; background: #1c2340; font-size: 14px; font-weight: 600; line-height: 1.5; text-align: center; text-decoration: none; }
.portal .legal-nav a[aria-current=page] { background: #7560ea; }
.legal-nav a[aria-current=page]::before { content: '✓'; margin-right: 4px; }
.legal-nav a:focus-visible { outline: 2px solid #b9acff; outline-offset: 4px; }
.legal-article.panel { padding: 24px; margin: 0; border: 1px solid #2b3353; border-radius: 24px; }
.legal-article h2, .legal-article.panel h2 { margin: 24px 0; font-size: 22px; font-weight: 500; line-height: 1.5; }
.legal-article p, .legal-article li { margin: 0 0 24px; color: var(--text-muted); font-size: 16px; line-height: 1.5; overflow-wrap: anywhere; }
.legal-article p:last-child { margin-bottom: 0; }
.legal-article ul, .legal-article ol { padding-left: 0; list-style-type: disc; list-style-position: inside; }
.portal .legal-article a { color: #b9acff; }
.legal-footer { display: grid; gap: 8px; max-width: 1040px; margin: 0 auto; padding: 0 20px 48px; }
.portal .legal-footer a { color: #b9acff; font-size: 14px; line-height: 1.5; text-decoration: none; }
.portal .legal-footer a[href^=mailto], .legal-footer p { color: var(--text-muted); font-size: 12px; line-height: 1.5; }
@media (max-width: 600px) { .portal-main.legal-main { padding-top: 24px; } .legal-nav { grid-template-columns: 1fr; margin-bottom: 24px; } .legal-article p, .legal-article li { font-size: 14px; } .legal-footer { padding-bottom: 24px; } }
.legal-draft { border-left: 3px solid #e3b970; background: rgba(227,185,112,.08); padding: 16px 20px; border-radius: 0 10px 10px 0; margin: 24px 0; }
.legal-draft strong { color: #efd39e; }
.legal-draft p:last-child { margin: 8px 0 0; }
.legal-check { display: flex; gap: 12px; align-items: flex-start; font-size: 12px; color: var(--text-muted); line-height: 1.65; margin: 10px 0; padding: 13px 15px; border: 1px solid rgba(154,163,199,.17); background: rgba(8,12,25,.28); border-radius: 12px; cursor: pointer; transition: border-color .15s, background .15s; }
.legal-check:hover { border-color: rgba(144,129,255,.45); }
.legal-check:has(input:checked) { border-color: rgba(144,129,255,.35); background: rgba(124,108,255,.055); }
.legal-check input[type=checkbox] { appearance: none; -webkit-appearance: none; display: inline-grid; place-content: center; width: 20px !important; height: 20px; flex: 0 0 20px; padding: 0; margin: 1px 0 0; border: 1.5px solid #657094; background: #0d1223; border-radius: 6px; cursor: pointer; }
.legal-check input[type=checkbox]::after { content: ""; display: block; width: 5px; height: 10px; border: solid #fff; border-width: 0 2px 2px 0; transform: translateY(-1px) rotate(45deg) scale(0); }
.legal-check input[type=checkbox]:checked { background: #7560ea; border-color: #8b79ff; }
.legal-check input[type=checkbox]:checked::after { transform: translateY(-1px) rotate(45deg) scale(1); }
.legal-check input[type=checkbox]:focus-visible { outline: 2px solid #a897ff; outline-offset: 4px; }
.legal-check input[type=checkbox]:disabled { opacity: .5; cursor: not-allowed; }
.legal-check a, .legal-links a { color: var(--accent-2); }
.legal-check a { text-decoration-color: rgba(77,208,225,.4); text-underline-offset: 3px; }
.pricing__legal { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px 24px; margin: 26px 4px 0; color: var(--text-muted); font-size: 13px; }
.pricing__legal a, .pricing__legal a:visited { display: inline-flex; align-items: center; gap: 8px; color: #b4bdd9; text-decoration: none; border-bottom: 1px solid rgba(180,189,217,.25); padding-bottom: 2px; }
.pricing__legal a:hover { color: #fff; border-color: #a897ff; }
.pricing__legal svg { width: 15px; height: 15px; }
@media print { .header,.account-toolbar { display: none; } }
.legal-links { font-size: 12px; color: var(--text-muted); }
.portal-form .legal-check { display: flex; flex-direction: row; }
@media print { .portal-header,.portal-footer,.legal-nav,.skip-link { display: none; } .portal { background: white; color: black; } .panel { border: 0; padding: 0; } .legal-article p,.legal-article li { color: black; } .portal-main { padding: 0; } }
