.read-progress{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--color-primary),var(--color-accent));z-index:200;transition:width .12s linear;box-shadow:0 0 10px rgba(14,165,233,0.4)}.legal-header{padding:56px 0 32px;background:var(--color-bg-alt);border-bottom:1px solid var(--color-border)}.legal-header .container-narrow{max-width:920px}.legal-header h1{margin:0 0 .4em;font-size:clamp(1.9rem,3.6vw,2.4rem)}.legal-header .legal-updated{display:inline-flex;align-items:center;gap:10px;padding:10px 18px;background:white;border:1px solid var(--color-border);border-radius:100px;font-size:.9rem;color:var(--color-text-muted);margin-top:14px;font-weight:500}.legal-header .legal-updated strong{color:var(--color-text)}.legal-header .legal-updated::before{content:"✓";width:20px;height:20px;background:var(--color-cta);color:white;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:800}.legal-wrap{display:grid;grid-template-columns:240px 1fr;gap:56px;max-width:1180px;margin:0 auto;padding:48px 20px 72px;align-items:start}.legal-toc{position:sticky;top:24px;max-height:calc(100vh - 48px);overflow-y:auto;padding:20px;background:var(--color-bg-alt);border-radius:var(--radius);border:1px solid var(--color-border)}.legal-toc h3{margin:0 0 14px;font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-light)}.legal-toc ol{list-style:none;padding:0;margin:0;counter-reset:toc}.legal-toc li{margin:0;padding:0;display:block;counter-increment:toc}.legal-toc a{display:block;padding:7px 0 7px 28px;position:relative;font-size:.88rem;line-height:1.4;color:var(--color-text-muted);border-bottom:1px solid transparent;transition:color .12s,background .12s}.legal-toc a::before{content:counter(toc);position:absolute;left:0;top:7px;width:22px;height:22px;background:white;border:1px solid var(--color-border);border-radius:50%;text-align:center;font-size:.72rem;font-weight:700;color:var(--color-text-light);line-height:20px;font-family:var(--font-heading);transition:all .12s}.legal-toc a:hover{color:var(--color-primary);text-decoration:none}.legal-toc a:hover::before,.legal-toc a.active::before{background:var(--color-primary);color:white;border-color:var(--color-primary)}.legal-toc a.active{color:var(--color-primary);font-weight:600}.legal-content{max-width:760px;counter-reset:section}.legal-content>p{font-size:1.02rem;line-height:1.78}.legal-content h2{position:relative;padding-top:20px;margin-top:2.4em;font-size:1.5rem;counter-increment:section;scroll-margin-top:20px}.legal-content h2::before{content:counter(section) ".";color:var(--color-primary);font-weight:800;margin-right:12px;display:inline-block;font-feature-settings:"tnum"}.legal-content h2:first-child{margin-top:0;padding-top:0}.legal-content h3{margin-top:1.6em;font-size:1.1rem;color:var(--color-text)}.legal-content p,.legal-content li{line-height:1.75;color:var(--color-text-muted)}.legal-content strong{color:var(--color-text)}.legal-content ul,.legal-content ol{margin:0 0 1.3em;padding-left:1.5em}.legal-content li{margin-bottom:.5em}.legal-content li strong{display:inline}.legal-content a{text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}.legal-content a:hover{text-decoration-thickness:2px}.legal-content hr{border:none;border-top:1px solid var(--color-border);margin:2.4em 0}.rights-table{width:100%;border-collapse:collapse;margin:1.5em 0;font-size:.92rem;background:white;border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden}.rights-table th,.rights-table td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--color-border-light);vertical-align:top}.rights-table th{background:var(--color-bg-alt);font-family:var(--font-heading);font-weight:700;color:var(--color-text);font-size:.82rem;text-transform:uppercase;letter-spacing:.04em}.rights-table tbody tr:last-child td{border-bottom:none}.sitemap-grid{display:grid;gap:32px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin:2em 0}.sitemap-category{background:white;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:28px;transition:border-color .15s,box-shadow .15s}.sitemap-category:hover{border-color:var(--color-primary-light);box-shadow:var(--shadow)}.sitemap-category h2{margin:0 0 6px;font-size:1.15rem;color:var(--color-primary);display:flex;align-items:center;gap:10px}.sitemap-category h2::before{content:"";display:inline-block;width:32px;height:32px;border-radius:8px;background:var(--color-primary-light)}.sitemap-category .cat-desc{font-size:.88rem;color:var(--color-text-light);margin-bottom:18px}.sitemap-list{list-style:none;padding:0;margin:0}.sitemap-list li{padding:10px 0;border-bottom:1px solid var(--color-border-light)}.sitemap-list li:last-child{border-bottom:none}.sitemap-list a{display:block;font-weight:600;color:var(--color-text);font-size:.98rem;margin-bottom:2px}.sitemap-list a:hover{color:var(--color-primary);text-decoration:none}.sitemap-list .sitemap-desc{display:block;font-size:.84rem;color:var(--color-text-light);line-height:1.45}@media(max-width:820px){.legal-wrap{grid-template-columns:1fr;gap:32px}.legal-toc{position:static;max-height:none}.legal-toc details{padding:0}.legal-toc summary{cursor:pointer;font-weight:600;color:var(--color-text);list-style:none}.legal-toc summary::-webkit-details-marker{display:none}.sitemap-grid{grid-template-columns:1fr;gap:20px}}@media print{.read-progress,.legal-toc,.site-header,.site-footer,.nav-cta{display:none!important}.legal-wrap{grid-template-columns:1fr;padding:0}.legal-content{max-width:100%}.legal-content h2{page-break-after:avoid}a{color:inherit;text-decoration:underline}a::after{content:"(" attr(href) ")";font-size:.8em;color:#666}}@media(max-width:1024px){.legal-toc a{padding-top:11px;padding-bottom:11px}.legal-toc a::before{top:11px}.sitemap-list li{padding:4px 0}.sitemap-list a{display:flex;align-items:center;min-height:44px;padding:0;margin:0}}@media(max-width:820px){.legal-header{padding:40px 0 24px}.legal-wrap{padding:32px 20px 56px}.legal-content h2{font-size:1.3rem}.rights-table{font-size:.88rem}.rights-table th,.rights-table td{padding:10px 12px}}.legal-toc .toc-title{margin:0 0 14px;font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-light);font-family:var(--font-heading)}