.legal-shell {
    display: flex;
    flex-wrap: wrap;
    gap: 3rem;
    max-width: 1200px;
    margin: 0 auto;
    font-family: system-ui, -apple-system, sans-serif;
    color: #333;
}

.legal-left { flex: 1 1 220px; max-width: 250px; position: sticky; top: 2rem; height: max-content; }
.legal-right { flex: 1 1 220px; max-width: 250px; position: sticky; top: 2rem; height: max-content; }
.legal-main { flex: 3 1 450px; }

/* Left Navigation Menu */
.legal-left-title { font-weight: bold; margin-bottom: 1.5rem; font-size: 1.1rem; color: #111; border-bottom: 2px solid #eaeaea; padding-bottom: 0.5rem; }
.legal-doc-nav { display: flex; flex-direction: column; gap: 0.25rem; }
.legal-doc-link {
    text-align: left; background: none; border: none; padding: 0.75rem 1rem;
    border-radius: 8px; cursor: pointer; color: #5f6368; font-size: 0.95rem;
    transition: all 0.2s ease;
}
.legal-doc-link:hover { background: #f1f3f4; color: #202124; }
.legal-doc-link.is-active { background: #e8f0fe; color: #1a73e8; font-weight: 600; }

/* Center Document Content */
.legal-kicker { text-transform: uppercase; font-size: 0.75rem; letter-spacing: 1px; color: #70757a; font-weight: 600; }
.legal-current-title { font-size: 2.2rem; margin-top: 0.5rem; margin-bottom: 2.5rem; color: #202124; }
.legal-document { display: none; }
.legal-document.is-active { display: block; animation: fadeIn 0.4s ease; }
@keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

.legal-document-inner h2 { margin-top: 2.5rem; padding-top: 2.5rem; border-top: 1px solid #f1f3f4; font-size: 1.5rem; }
.legal-document-inner p { line-height: 1.7; color: #4a4a4a; margin-bottom: 1rem; }

/* Right Table of Contents */
.legal-toc-title { font-weight: bold; margin-bottom: 1rem; font-size: 0.9rem; text-transform: uppercase; letter-spacing: 0.5px; color: #5f6368; }
.legal-toc { display: flex; flex-direction: column; gap: 0.5rem; border-left: 2px solid #f1f3f4; padding-left: 1rem; }
.legal-toc a { text-decoration: none; color: #5f6368; font-size: 0.9rem; transition: color 0.2s; line-height: 1.4; }
.legal-toc a:hover { color: #202124; }
.legal-toc a.is-active { color: #1a73e8; font-weight: 600; border-left: 2px solid #1a73e8; margin-left: -1rem; padding-left: 1rem; }

/* Mobile Formatting */
@media (max-width: 900px) {
    .legal-left, .legal-right { max-width: 100%; position: static; }
    .legal-shell { gap: 1.5rem; }
}