.te-legal { max-width: 880px; margin: 1rem auto; padding: clamp(1.25rem, 4vw, 3rem); color: var(--te-navy); line-height: 1.8; overflow-wrap: anywhere; }
.te-legal h1 { font-size: clamp(2rem, 5vw, 2.8rem); line-height: 1.15; margin-bottom: 1.25rem; }
.te-legal h2 { font-size: 1.3rem; line-height: 1.4; margin-top: 2.25rem; margin-bottom: .75rem; scroll-margin-top: 1rem; }
.te-legal p, .te-legal li { color: #354f64; }
.te-legal li + li { margin-top: .6rem; }
.te-legal a { color: #185e91; text-decoration: underline; text-underline-offset: 3px; }
.te-legal a:focus-visible { outline: 3px solid #185e91; outline-offset: 3px; }
.te-legal .eyebrow { font-size: .75rem; font-weight: 700; letter-spacing: .12em; color: #426b8a; margin-bottom: .75rem; }
.te-legal .updated { font-size: .9rem; color: #526a7d; margin-top: 1.25rem; }
.te-legal .info-callout { background: #eef5fa; border-left: 3px solid #6baddd; padding: 1rem 1.25rem; margin: 1.5rem 0; }
.te-legal .info-callout p { margin: 0; }
.te-legal .info-toc { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; padding-bottom: 1.5rem; border-bottom: 1px solid #dce5ec; font-size: .9rem; }
.te-legal address { margin-top: 1rem; }
@media print { .te-navbar, .te-footer { display: none; } .te-legal { max-width: none; border: 0; box-shadow: none; margin: 0; padding: 0; } .te-legal h2 { break-after: avoid; } }