.legal-document { max-width: 920px; margin: 0 auto; color: #12213a; }
.legal-document__header { margin-bottom: 1.5rem; }
.legal-document__header h1 { margin: .35rem 0 .65rem; font-size: clamp(1.7rem, 5vw, 2.45rem); line-height: 1.12; }
.legal-document__lead { max-width: 70ch; color: #5d6b7d; font-size: 1rem; }
.legal-document__version { color: #6b7788; font-size: .85rem; }
.legal-document h2 { margin: 1.65rem 0 .55rem; font-size: 1.1rem; line-height: 1.3; }
.legal-document p, .legal-document li { line-height: 1.7; }
.legal-document ul { padding-left: 1.25rem; }
.legal-contact, .legal-template { margin-top: 1.5rem; padding: 1rem; border: 1px solid #dce4ef; border-radius: 14px; background: #f7f9fc; }
.legal-contact p, .legal-template p { margin: .35rem 0; overflow-wrap: anywhere; }
.legal-table-wrap { overflow-x: auto; border: 1px solid #dce4ef; border-radius: 14px; }
.legal-table-wrap table { width: 100%; min-width: 620px; border-collapse: collapse; }
.legal-table-wrap th, .legal-table-wrap td { padding: .8rem; border-bottom: 1px solid #e4e9f1; text-align: left; vertical-align: top; }
.legal-register, .legal-acceptance { display: grid; gap: .8rem; margin: 1.25rem 0; padding: 1rem; border: 1px solid #dce4ef; border-radius: 14px; }
.legal-register legend { padding: 0 .35rem; font-weight: 800; }
.legal-check { display: grid; grid-template-columns: 1.35rem 1fr; gap: .65rem; align-items: start; cursor: pointer; line-height: 1.55; }
.legal-check input { width: 1.2rem; height: 1.2rem; margin-top: .15rem; accent-color: #0b69d1; }
.legal-check a { font-weight: 700; }
.legal-register__note { margin: 0; color: #667387; font-size: .86rem; }
@media (min-width: 760px) { .legal-contact, .legal-template { padding: 1.25rem 1.5rem; } }
