/* Permanent legal documents, readable without script and ready for printing. */
.legal-footer-links{display:flex;flex-wrap:wrap;gap:6px 26px;padding:20px 0;border-top:1px solid var(--line);font-size:12px;line-height:1.6}
.legal-footer-links a{display:inline-flex;align-items:center;min-height:44px}
.legal-footer-links a:hover,.legal-footer-links a[aria-current]{color:#0000ff}
.form-hint a{color:#0000bb;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.legal-header-actions{display:flex;align-items:center;gap:26px;font-size:13px}
.legal-header-actions a{display:inline-flex;align-items:center;min-height:44px}
.legal-header-actions a:hover{color:#0000ff}
.legal-main{padding:72px var(--page-gutter) 96px}
.legal-heading{max-width:950px;margin-bottom:60px}
.legal-heading h1{font-size:clamp(38px,5vw,76px);line-height:1.08;letter-spacing:-.055em;text-wrap:balance}
.legal-heading>p:first-of-type{font-size:clamp(16px,1.5vw,21px);line-height:1.7;color:var(--muted);max-width:720px;margin-top:24px}
.legal-heading .legal-date{font-size:12px;color:var(--muted);margin-top:24px;line-height:1.8}
.legal-print{display:inline-flex;align-items:center;min-height:44px;font-size:12px;color:#0000bb;border-bottom:1px solid var(--line);margin-top:10px}
.legal-layout{display:grid;grid-template-columns:250px minmax(0,780px);gap:clamp(36px,6vw,110px);align-items:start;justify-content:space-between}
.legal-toc{position:sticky;top:124px;max-height:calc(100dvh - 150px);overflow:auto;padding:0 12px 10px 0}
.legal-toc h2{font-size:17px;line-height:1.5;letter-spacing:-.3px;margin-bottom:12px}
.legal-toc ol{margin:0;padding-left:19px;color:var(--muted)}
.legal-toc li{font-size:12px;line-height:1.5;padding:4px 0}
.legal-toc li a{display:block;padding:6px 0}
.legal-toc a:hover{color:#0000ff}
.legal-email{display:inline-flex;align-items:center;font-size:12px;min-height:44px;margin-top:18px;color:#0000bb}
.legal-article{min-width:0;font-size:16px;line-height:1.85;color:#40546f;overflow-wrap:anywhere}
.legal-article section{margin-bottom:44px;scroll-margin-top:116px}
.legal-article h2{font-size:25px;line-height:1.3;letter-spacing:-.8px;text-wrap:pretty;color:var(--ink);margin-bottom:18px}
.legal-article p+p{margin-top:18px}
.legal-article ul{padding-left:23px;margin:18px 0}
.legal-article li{padding-left:5px;margin-bottom:12px}
.legal-article strong{font-weight:600;color:var(--ink)}
.legal-article a,.legal-company a{color:#0000bb;text-decoration:underline;text-underline-offset:3px}
.legal-table-wrap{overflow-x:auto;margin:22px 0}
.legal-article table{border-collapse:collapse;width:100%;font-size:13px;line-height:1.7;table-layout:fixed}
.legal-article caption{text-align:left;font-size:14px;font-weight:500;color:var(--ink);margin-bottom:16px}
.legal-article th,.legal-article td{border:1px solid var(--line);padding:14px;text-align:left;vertical-align:top}
.legal-article thead{background:#edf5ff;color:var(--ink)}
.legal-article th{font-weight:500}
.legal-end{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding-top:20px;font-size:13px}
.legal-end a{display:inline-flex;align-items:center;min-height:44px}
.legal-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.legal-card{border:1px solid var(--line);border-radius:10px;padding:32px;transition:border-color .2s,background .2s}
.legal-card:hover{border-color:#7399ee;background:#f7faff}
.legal-card h2{display:flex;justify-content:space-between;gap:20px;font-size:26px;line-height:1.3;letter-spacing:-.8px;text-wrap:pretty}
.legal-card h2 span{color:#0000ff}
.legal-card p{font-size:14px;line-height:1.8;color:var(--muted);margin-top:18px}
.legal-company{margin-top:60px;border-top:1px solid var(--line);padding-top:36px;max-width:850px}
.legal-company h2{font-size:30px;letter-spacing:-1px}
.legal-company p{font-size:15px;line-height:1.85;margin-top:20px;color:var(--muted);overflow-wrap:anywhere}
@media(max-width:960px){.legal-layout{grid-template-columns:minmax(0,1fr);gap:38px}.legal-toc{position:static;max-height:none;padding:24px;background:#f5f9ff;border-radius:8px}.legal-toc ol{columns:2;column-gap:32px}.legal-toc li{break-inside:avoid}.legal-article{max-width:780px}.legal-main{padding-top:48px}.legal-heading{margin-bottom:38px}}
@media(max-width:600px){.legal-page .header{height:auto;min-height:80px;flex-wrap:wrap;gap:4px 20px;padding-block:14px}.legal-header-actions{width:100%;justify-content:space-between;font-size:12px;gap:16px}.legal-main{padding-top:38px;padding-bottom:64px}.legal-heading h1{font-size:38px}.legal-heading>p:first-of-type{font-size:16px;margin-top:20px}.legal-toc ol{columns:1}.legal-article{font-size:15px;line-height:1.85}.legal-article h2{font-size:23px}.legal-article section{scroll-margin-top:150px;margin-bottom:36px}.legal-cards{grid-template-columns:minmax(0,1fr)}.legal-card{padding:26px}.legal-card h2{font-size:24px}.legal-article th,.legal-article td{padding:9px;font-size:12px}.legal-footer-links{gap:0 20px;font-size:11px}}
@media print{.header,.skip,.legal-toc,.footer,.legal-print,.legal-end{display:none!important}.legal-main{padding:0}.legal-heading{margin-bottom:26px}.legal-heading h1{font-size:28pt}.legal-heading>p:first-of-type{font-size:12pt}.legal-layout{display:block}.legal-article{font-size:11pt;line-height:1.6;max-width:none;color:#000}.legal-article h2{font-size:15pt;break-after:avoid}.legal-article section{margin-bottom:22px}.legal-article a,.legal-company a{color:#000}.legal-table-wrap{overflow:visible}.legal-article tr{break-inside:avoid}body{background:#fff;color:#000}*{animation:none!important;transition:none!important}@page{margin:18mm}}
@media(max-width:360px){.legal-card{padding:22px 18px}.legal-card h2{font-size:22px;gap:12px;overflow-wrap:anywhere}.legal-heading h1{font-size:clamp(30px,10vw,36px)}}
.privacy-signal{padding:18px 20px;border:1px solid #c7daf8;background:#f3f8ff;border-radius:8px;color:#193e7b}
/* Compact document labels keep the desktop footer on one line. */
.legal-footer-links a{white-space:nowrap}
@media(min-width:1100px){.legal-footer-links{flex-wrap:nowrap;justify-content:space-between;gap:clamp(8px,1vw,20px);font-size:clamp(10px,.75vw,12px)}}
