/* Scoped additions: preserve the existing compact legal-page layout. */
.terms-page .legal-hero > span { gap: .25em; flex-wrap: wrap; }
.terms-page .legal-index {
    max-height: calc(100dvh - 104px);
    overflow-y: auto;
    overscroll-behavior: contain;
}
.terms-page .legal-index a { font-weight: 500; }
.terms-page .legal-document section { scroll-margin-top: 92px; min-width: 0; }
.terms-page .legal-document a {
    color: #4338a0;
    text-underline-offset: 3px;
    overflow-wrap: anywhere;
}
.terms-page .terms-identity {
    display: grid;
    gap: 10px;
    margin: 15px 0;
    padding: 14px;
    border: 1px solid #e4e8f1;
    border-radius: 12px;
    background: #f8fafc;
    font-size: .79rem;
    line-height: 1.58;
}
.terms-page .terms-identity dt { color: #64748b; font-size: .72rem; }
.terms-page .terms-identity dd { margin: 2px 0 0; overflow-wrap: anywhere; }
.terms-page .terms-note {
    margin: 15px 0;
    padding: 12px 15px;
    border-left: 3px solid #818cf8;
    border-radius: 0 10px 10px 0;
    background: #f3f4ff;
}
.terms-page .terms-note p { margin: 0; }
.terms-page .terms-note-refunds { border-left-color: #3c8c7b; background: #f0f8f5; }
.terms-page .terms-sources li + li { margin-top: 8px; }
.terms-page a:focus-visible { outline: 2px solid #6355cc; outline-offset: 3px; }
@media (max-width: 900px) {
    .terms-page .legal-index {
        position: static;
        max-height: none;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 440px) {
    .terms-page .legal-index { grid-template-columns: 1fr; }
}
