/* Shared legal components inherit the website or app palette from site-system.css. */
.legal-intro{padding:48px 0 32px;max-width:900px}.legal-intro h1{font-size:clamp(2.5rem,5.2vw,4.2rem);margin:12px 0 22px}.legal-intro>p:not(.eyebrow){max-width:760px;font-size:1.075rem;line-height:1.8}.legal-date{font-size:.875rem!important;margin-top:24px}.legal-breadcrumb{display:flex;flex-wrap:wrap;gap:10px;padding-top:24px;font-size:.875rem;color:var(--text-soft)}.legal-breadcrumb a{text-decoration:underline;text-underline-offset:4px}.legal-scope{padding:16px 20px;border:1px solid var(--border);border-radius:14px;background:var(--card-muted);color:var(--text-soft);font-size:.875rem;line-height:1.8;margin:0 0 32px}.legal-scope a,.legal-document a,.legal-contact-card a,.legal-form-notice a{color:var(--accent-dark);text-decoration:underline;text-underline-offset:3px}.invoice-legal-scope{margin:20px 0 26px}.legal-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:36px;align-items:start;margin-bottom:60px}.legal-toc{position:sticky;top:24px;display:flex;flex-direction:column;gap:6px;border-top:2px solid var(--border);padding:18px 0;max-height:calc(100vh - 48px);overflow:auto}.legal-toc strong{margin-bottom:12px}.legal-toc a{font-size:.875rem;line-height:1.5;padding:7px 3px;color:var(--text-soft)}.legal-toc a:hover{text-decoration:underline}.legal-document{padding:clamp(24px,4vw,44px);background:var(--card);border:1px solid var(--border);border-radius:20px;min-width:0;overflow-wrap:anywhere}.legal-document section{padding-top:28px;margin-top:28px;border-top:1px solid var(--border);scroll-margin-top:24px}.legal-document section:first-child{margin-top:0;padding-top:0;border:0}.legal-document h2{font-size:1.7rem;margin:0 0 18px}.legal-document p,.legal-document li{line-height:1.8}.legal-document li{margin-bottom:10px}.legal-back{display:inline-block;margin-top:28px;font-size:.875rem}.legal-directory{padding:20px 0 46px;scroll-margin-top:24px}.legal-directory>h2{font-size:2.1rem;margin:0 0 14px}.legal-directory>p{max-width:800px;margin-bottom:26px}.legal-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.legal-card{display:flex;flex-direction:column;align-items:flex-start;padding:28px;background:var(--card);border:1px solid var(--border);border-radius:20px;color:var(--text);text-decoration:none!important}.legal-card:hover{border-color:var(--accent);color:var(--text)}.legal-card h3{font:400 1.6rem/1.2 Georgia,serif;letter-spacing:-.025em;margin:0 0 16px}.legal-card p{font-size:.9375rem;line-height:1.75;margin:0 0 22px}.legal-card>span{margin-top:auto;font-size:.875rem;font-weight:700;color:var(--accent-dark)}.legal-product-icon{width:56px;height:56px;object-fit:contain;border-radius:12px;margin-bottom:20px}.legal-contact-card{padding:30px;background:var(--card-muted);border:1px solid var(--border);border-radius:20px;margin-bottom:55px;scroll-margin-top:24px}.legal-contact-card h2{font-size:1.8rem;margin-top:0}.legal-form-notice{font-size:.875rem;line-height:1.7;padding:14px 16px;background:var(--card-muted);border:1px solid var(--border);border-radius:12px;margin-top:16px}.legal-redirect{padding:40px 0;max-width:900px}.legal-redirect h1{font-size:2.5rem}.legal-redirect a{text-decoration:underline}
@media(max-width:860px){.legal-layout{grid-template-columns:1fr;gap:20px}.legal-toc{position:static;max-height:none;display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.legal-toc strong{grid-column:1/-1}}
@media(max-width:640px){.legal-intro{padding:32px 0 26px}.legal-intro h1{font-size:2.5rem}.legal-intro>p:not(.eyebrow){font-size:1rem}.legal-toc{grid-template-columns:1fr}.legal-card-grid{grid-template-columns:1fr}.legal-document{padding:24px 20px}.legal-document h2{font-size:1.5rem}.legal-card{padding:24px}.legal-layout{margin-bottom:40px}.legal-scope{padding:14px 16px;margin-bottom:24px}.legal-contact-card{padding:24px}}
@media print{.legal-toc,.legal-breadcrumb,.legal-back{display:none!important}.legal-layout{display:block}.legal-document{padding:0;border:0}.legal-intro{padding-top:0}.legal-document h2{break-after:avoid}.legal-scope{background:white}.legal-card-grid{grid-template-columns:1fr 1fr}}
