.legal-container{padding:130px 24px 100px;max-width:var(--max-width);margin:0 auto;display:grid;grid-template-columns:18rem 1fr;grid-template-areas:"hero hero" "toc content";gap:48px;align-items:start}header.legal-hero{grid-area:hero}aside.legal-toc{grid-area:toc;align-self:start}.legal-content{grid-area:content}.legal-hero{grid-column:1 / -1;text-align:center;padding:64px 24px;background:var(--surface);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:var(--radius-lg);margin-bottom:24px;border:1px solid var(--border);position:relative;overflow:hidden}.legal-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 10% 10%,rgba(var(--primary-rgb),.08) 0%,transparent 40%),radial-gradient(circle at 90% 90%,rgba(var(--primary-rgb),.08) 0%,transparent 40%);pointer-events:none}.legal-hero h1{font-family:var(--font-heading);font-size:clamp(2rem,5vw,3.25rem);font-weight:800;color:var(--text-dark);margin-bottom:12px;letter-spacing:-.03em;line-height:1.2;overflow-wrap:break-word}.legal-hero .last-updated{font-size:1rem;color:var(--primary);font-weight:600}.legal-toc{position:sticky;top:calc(var(--nav-height, 80px) + var(--campaign-banner-height, 0px) + 24px);z-index:100;will-change:transform;transform:translateZ(0);background:var(--surface);padding:24px;border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow)}.legal-toc h3{font-size:1.1rem;font-weight:700;margin-bottom:12px;color:var(--text-dark);display:flex;align-items:center;gap:10px}.toc-progress-container{height:4px;background:rgba(var(--primary-rgb),.1);border-radius:2px;margin-bottom:20px;overflow:hidden}.toc-progress-fill{height:100%;width:100%;background:var(--primary);transform-origin:0% 50%;transform:scaleX(0);will-change:transform}.legal-toc ul{list-style:none;padding:0;margin:0}.legal-toc li{margin-bottom:4px;list-style:none}.legal-toc a{text-decoration:none;color:var(--text-muted);font-size:.9rem;font-weight:500;display:block;padding:8px 12px;border-radius:8px;border-left:3px solid transparent;transition:color .12s ease,background-color .12s ease,border-color .12s ease;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;will-change:color,background-color,border-color}.legal-toc a.active{color:var(--primary);background:var(--primary-light);font-weight:600;border-left:3px solid var(--primary)}.legal-toc a:hover{color:var(--primary);background:var(--primary-light)}.legal-content{background:var(--surface);padding:clamp(28px,4vw,56px);padding-bottom:min(65vh,650px);border-radius:var(--radius-lg);box-shadow:var(--shadow);border:1px solid var(--border)}.legal-section{margin-bottom:48px;scroll-margin-top:calc(var(--nav-height, 80px) + var(--campaign-banner-height, 0px) + 24px)!important}.legal-section:last-child{margin-bottom:0}.legal-content .section-header{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;text-align:left;gap:15px;margin-bottom:20px;margin-left:0;margin-right:0;max-width:none}.section-header i,.section-header svg{width:24px;height:24px;color:var(--primary);background:var(--primary-light);padding:10px;border-radius:12px;box-sizing:content-box;flex-shrink:0}.legal-content h2{font-size:1.5rem;font-weight:700;color:var(--text-dark);margin:0;letter-spacing:-.03em}.legal-content p,.legal-content li{font-size:1.05rem;line-height:1.7;color:var(--text-light);margin-bottom:1.2rem}.legal-content a{color:var(--primary);text-decoration:underline;text-underline-offset:3px;transition:color .2s ease}.legal-content a:hover{color:var(--primary-dark)}.legal-content ul{margin-bottom:1.5rem;padding-left:1.2rem}.legal-content li{margin-bottom:10px}.legal-content strong{color:var(--text-dark)}@media(max-width:1024px){.legal-container{grid-template-columns:1fr;grid-template-areas:"hero" "content";padding-top:100px;gap:24px}.legal-toc{display:none!important}}@media(max-width:768px){.legal-container{display:flex;flex-direction:column;align-items:center;padding:100px 16px 60px;gap:24px}.legal-content{padding:28px 20px;width:100%;border-radius:var(--radius)}.legal-hero{width:100%;padding:40px 16px;border-radius:var(--radius)}.legal-hero h1{font-size:1.85rem}}@media(max-width:480px){.legal-container{padding:92px 12px 60px}.legal-content{padding:24px 16px;border-radius:16px}.legal-hero{padding:32px 12px;border-radius:16px}.legal-hero h1{font-size:1.6rem}.section-header i,.section-header svg{width:18px;height:18px;padding:8px}.legal-content h2{font-size:1.25rem}.legal-content p,.legal-content li{font-size:.95rem}}
