.legal{min-height:100vh;padding:var(--spacing-lg)0}.legal-header{text-align:center;padding:var(--spacing-xl)0 var(--spacing-lg);margin-bottom:var(--spacing-lg);position:relative}.legal-header:after{content:"";background:linear-gradient(to right,transparent,var(--color-red),transparent);width:100px;height:2px;margin:var(--spacing-md)auto 0;display:block}.legal-header h1{font-family:var(--font-jacques),serif;margin-bottom:var(--spacing-sm);color:var(--color-red);text-shadow:1px 1px 2px #0000001a;font-size:3rem;line-height:1.2}.legal-date{opacity:.6;font-size:.875rem;font-style:italic;line-height:1.6}.legal-summary{border:2px solid var(--color-red);padding:var(--spacing-lg);margin-bottom:var(--spacing-xl);background-color:#770e0e0d;position:relative;box-shadow:0 4px 12px #770e0e26}.legal-summary:before{content:"⚠";background:var(--color-paper);padding:0 var(--spacing-sm);color:var(--color-red);font-size:1.5rem;position:absolute;top:-15px;left:50%;transform:translate(-50%)}.legal-summary h2{font-family:var(--font-jacques),serif;color:var(--color-red);margin-bottom:var(--spacing-md);text-align:center;font-size:1.75rem}.legal-summary ul{margin:0;padding:0;list-style:none}.legal-summary li{margin-bottom:var(--spacing-sm);padding-left:var(--spacing-md);line-height:1.7;position:relative}.legal-summary li:before{content:"•";color:var(--color-red);font-size:1.2rem;font-weight:700;position:absolute;left:0}.legal-toc{padding:var(--spacing-lg);margin-bottom:var(--spacing-xl);background-color:#ffffff80;border:1px solid #1c1c1c4d;box-shadow:0 2px 8px #0000001a}.legal-toc h2{font-family:var(--font-jacques),serif;margin-bottom:var(--spacing-md);color:var(--color-ink);text-align:center;font-size:1.75rem}.legal-toc ul{gap:var(--spacing-sm);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin:0;padding:0;list-style:none;display:grid}.legal-toc li{padding:0}.legal-toc a{padding:var(--spacing-xs)var(--spacing-sm);color:var(--color-red);border-left:3px solid #0000;font-weight:500;text-decoration:none;transition:all .3s;display:block}.legal-toc a:hover{border-left-color:var(--color-red);background-color:#770e0e14;transform:translate(4px)}.legal-section{margin-bottom:var(--spacing-xl);padding:var(--spacing-lg);background-color:#fff6;border:1px solid #1c1c1c33;scroll-margin-top:100px;box-shadow:0 2px 8px #00000014}.legal-section h2{font-family:var(--font-jacques),serif;color:var(--color-red);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:2px solid #770e0e4d;font-size:2rem;position:relative}.legal-section h2:after{content:"";background-color:var(--color-red);width:60px;height:2px;position:absolute;bottom:-2px;left:0}.legal-section h3{margin-top:var(--spacing-lg);margin-bottom:var(--spacing-sm);color:var(--color-ink);border-left:4px solid var(--color-red);padding-left:var(--spacing-sm);font-size:1.5rem;font-weight:600}.legal-section h4{margin-top:var(--spacing-md);margin-bottom:var(--spacing-xs);color:var(--color-ink);font-size:1.25rem;font-style:italic;font-weight:600}.legal-section p{margin-bottom:var(--spacing-sm);text-align:justify;line-height:1.8}.legal-section ul{margin:var(--spacing-sm)0 var(--spacing-md);padding-left:0;list-style:none}.legal-section li{margin-bottom:var(--spacing-xs);padding-left:var(--spacing-md);line-height:1.7;position:relative}.legal-section li:before{content:"→";color:var(--color-red);font-weight:700;position:absolute;left:0}.legal-section strong{color:var(--color-red);font-weight:600}.legal-section a{color:var(--color-red);word-break:break-all;text-decoration:underline;transition:opacity .3s}.legal-section a:hover{opacity:.7}.legal-contact{border:2px solid var(--color-red);padding:var(--spacing-xl);text-align:center;margin-top:var(--spacing-xl);background:linear-gradient(135deg,#770e0e14 0%,#770e0e1f 100%);box-shadow:0 4px 16px #770e0e33}.legal-contact h2{font-family:var(--font-jacques),serif;margin-bottom:var(--spacing-md);color:var(--color-red);font-size:2rem}.legal-contact p{margin-bottom:var(--spacing-sm);font-size:1.125rem}.legal-contact ul{margin:var(--spacing-md)0 0;padding:0;list-style:none}.legal-contact li{padding:var(--spacing-xs)0;font-size:1.125rem;font-weight:500}html{scroll-behavior:smooth;scroll-padding-top:100px}@media (max-width:768px){.legal-header h1{font-size:2rem}.legal-summary,.legal-section{padding:var(--spacing-md)}.legal-section h2{font-size:1.5rem}.legal-section h3{font-size:1.25rem}.legal-section h4{font-size:1.125rem}.legal-toc ul{grid-template-columns:1fr}}
