.legal{--legal-toc:232px;--legal-measure:68ch;padding-block:clamp(36px,5vw,64px) clamp(52px,7vw,92px)}.legal-head{max-inline-size:var(--legal-measure);margin-block-end:var(--sp-8)}.legal-head h1{font-size:var(--fs-page);line-height:var(--lh-tight);font-weight:var(--fw-bold);letter-spacing:-.02em;color:var(--text-primary)}.legal-lede{font-size:var(--fs-body-lg);line-height:var(--lh-relaxed);color:var(--text-secondary);margin-block-start:var(--sp-4)}.legal-meta{align-items:center;gap:var(--sp-2) var(--sp-4);border-block-start:1px solid var(--border-subtle);font-size:var(--fs-meta);color:var(--text-muted);flex-wrap:wrap;margin-block-start:var(--sp-5);padding-block-start:var(--sp-4);display:flex}.legal-meta>span{align-items:baseline;gap:var(--sp-2);display:inline-flex}.legal-meta b{font-weight:var(--fw-semibold);letter-spacing:.09em;text-transform:uppercase;color:var(--text-muted)}.legal-meta time,.legal-meta .legal-num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-secondary)}.legal-body{gap:var(--sp-8);align-items:start;display:grid}@media (width>=900px){.legal-body{grid-template-columns:var(--legal-toc) minmax(0, 1fr);gap:clamp(var(--sp-7), 5vw, 72px)}}.legal-toc{font-size:var(--fs-secondary)}@media (width>=900px){.legal-toc{max-block-size:calc(100dvh - var(--header-h) - var(--sp-6));overscroll-behavior:contain;position:sticky;inset-block-start:calc(var(--header-h) + var(--sp-3));overflow-y:auto}}.legal-toc h2{font-size:var(--fs-meta);font-weight:var(--fw-bold);letter-spacing:.09em;text-transform:uppercase;color:var(--color-secondary-ink);margin-block-end:var(--sp-3)}.legal-toc ol{counter-reset:legal-toc;gap:2px;margin:0;padding:0;list-style:none;display:grid}.legal-toc a{gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-sm);color:var(--text-secondary);line-height:var(--lh-snug);transition:background var(--t-fast) var(--ease), color var(--t-fast) var(--ease);text-decoration:none;display:flex}.legal-toc li{counter-increment:legal-toc}.legal-toc a:before{content:counter(legal-toc);inline-size:1.4em;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--fs-meta);color:var(--text-muted);flex:none}.legal-toc a:hover{background:var(--surface-hover);color:var(--color-primary-ink)}.legal-prose{min-inline-size:0;max-inline-size:var(--legal-measure);font-size:var(--fs-body-lg);line-height:var(--lh-relaxed);color:var(--text-secondary)}.legal-prose section+section{border-block-start:1px solid var(--border-subtle);margin-block-start:var(--sp-8);padding-block-start:var(--sp-7)}.legal-prose h2{font-size:var(--fs-section);line-height:var(--lh-tight);font-weight:var(--fw-bold);letter-spacing:-.012em;color:var(--text-primary);margin-block-end:var(--sp-4);scroll-margin-block-start:calc(var(--header-h) + var(--sp-4))}.legal-prose h3{font-size:var(--fs-card-title);line-height:var(--lh-snug);font-weight:var(--fw-semibold);color:var(--text-primary);margin-block:var(--sp-6) var(--sp-3)}.legal-prose p{margin-block-end:var(--sp-4)}.legal-prose p:last-child{margin-block-end:0}.legal-prose ul,.legal-prose ol{margin-block-end:var(--sp-4);padding-inline-start:var(--sp-6)}.legal-prose li{margin-block-end:var(--sp-2)}.legal-prose li::marker{color:var(--text-muted)}.legal-prose strong{font-weight:var(--fw-semibold);color:var(--text-primary)}.legal-prose a{color:var(--color-primary-ink);text-underline-offset:2px;transition:color var(--t-fast) var(--ease);text-decoration:underline 1px}.legal-prose a:hover{color:var(--color-primary)}.legal-prose .legal-fixed{direction:ltr;unicode-bidi:isolate}.legal-todo{padding:var(--sp-4) var(--sp-5);border-radius:var(--radius-lg);background:var(--status-warning-soft);color:var(--status-warning-ink);border-inline-start:3px solid var(--status-warning);font-size:var(--fs-body);margin-block-end:var(--sp-4)}.legal-todo>b{font-size:var(--fs-meta);font-weight:var(--fw-bold);letter-spacing:.09em;text-transform:uppercase;margin-block-end:var(--sp-2);display:block}.legal-todo p{color:inherit;margin-block-end:0}.legal-todo p+p{margin-block-start:var(--sp-2)}.legal-notice{padding:var(--sp-5) var(--sp-6);border-radius:var(--radius-lg);background:var(--status-warning-soft);color:var(--status-warning-ink);border:1px solid var(--status-warning);font-size:var(--fs-body);margin-block-end:var(--sp-7)}.legal-notice b{font-weight:var(--fw-bold)}.legal-notice p{color:inherit;margin-block-end:0}.legal-notice p+p{margin-block-start:var(--sp-3)}.legal-table-wrap{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-primary);margin-block-end:var(--sp-4);overflow-x:auto}.legal-table{border-collapse:collapse;inline-size:100%;font-size:var(--fs-secondary);min-inline-size:30rem}.legal-table th,.legal-table td{text-align:start;padding:var(--sp-3) var(--sp-4);vertical-align:top;line-height:var(--lh-snug)}.legal-table thead th{background:var(--surface-secondary);font-size:var(--fs-table-head);font-weight:var(--fw-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.legal-table tbody tr+tr th,.legal-table tbody tr+tr td{border-block-start:1px solid var(--border-subtle)}.legal-table tbody th{font-weight:var(--fw-semibold);color:var(--text-primary);inline-size:34%}.legal-table td{color:var(--text-secondary)}.legal-table .legal-num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-primary)}.legal-contact{padding:var(--sp-5) var(--sp-6);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-primary);box-shadow:var(--shadow-xs);margin-block-start:var(--sp-5)}.legal-contact p:last-child{margin-block-end:0}@media (prefers-reduced-motion:no-preference){.legal-head{animation:legal-rise .6s var(--ease-expo) both}}@keyframes legal-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media print{.legal-head{opacity:1!important;animation:none!important;transform:none!important}.legal-toc{display:none}.legal{padding-block:0}.legal-body{display:block}.legal-prose{max-inline-size:none}.legal-prose section{break-inside:auto}.legal-prose h2,.legal-prose h3{break-after:avoid}.legal-todo,.legal-notice{border:1px solid var(--status-warning)!important;background:0 0!important}}