/* Reading layout for public legal content, retaining the saved policy wording. */
.legal-page { padding-bottom: 62px; }
.legal-breadcrumb { display: flex; align-items: center; gap: 12px; padding-top: 25px; color: #717171; font-size: 14px; }
.legal-breadcrumb a { color: #222; text-decoration: underline; text-underline-offset: 3px; }
.legal-breadcrumb > span[aria-hidden] { color: #b0b0b0; }
.legal-header { display: flex; justify-content: space-between; align-items: center; gap: 30px; padding: 44px 0 39px; border-bottom: 1px solid #e5e5e5; }
.legal-eyebrow { display: block; margin-bottom: 15px; color: #717171; font-size: 12px; font-weight: 700; letter-spacing: 1.6px; }
.legal-header h1 { font-size: clamp(39px,4vw,55px); font-weight: 650; line-height: 1.12; letter-spacing: -1.8px; margin: 0 0 17px; }
.legal-header p { color: #717171; font-size: 18px; line-height: 1.75; margin: 0; }
.legal-print { display: inline-flex; justify-content: center; align-items: center; flex-shrink: 0; gap: 11px; min-height: 48px; padding: 11px 18px; border: 1px solid #ddd; border-radius: 9px; background: #fff; color: #222; font-size: 14px !important; font-weight: 600 !important; }
.legal-print:hover { background: #f7f7f7; border-color: #222; }
.legal-print[hidden], .legal-contents[hidden] { display: none; }
.legal-layout { display: grid; grid-template-columns: 242px minmax(0,1fr); align-items: start; gap: 72px; padding-top: 40px; }
.legal-sidebar { position: sticky; top: 117px; min-width: 0; }
.legal-sidebar h2 { margin: 0 0 15px; font-size: 14px; font-weight: 650; letter-spacing: 0; }
.legal-navigation { display: grid; gap: 6px; }
.legal-navigation > a { display: flex; align-items: center; gap: 12px; min-height: 48px; padding: 12px 13px; border-radius: 9px; color: #595959; font-size: 14px; }
.legal-navigation > a > i:first-child { width: 18px; font-size: 17px; text-align: center; }
.legal-navigation .legal-link-arrow { margin-inline-start: auto; font-size: 11px; }
.legal-navigation > a:hover { background: #f7f7f7; color: #222; }
.legal-navigation > a[aria-current="page"] { background: #fff0f3; color: #ad2846; font-weight: 600; }
.legal-contents { border-top: 1px solid #e5e5e5; margin-top: 23px; padding-top: 23px; }
.legal-contents ol { display: grid; gap: 5px; list-style: none; padding: 0; margin: 0; max-height: 50vh; overflow-y: auto; }
.legal-contents a { display: block; padding: 7px 4px; color: #717171; font-size: 14px; line-height: 1.6; text-underline-offset: 3px; overflow-wrap: anywhere; }
.legal-contents a:hover { color: #222; text-decoration: underline; }
.legal-contents .legal-subsection { padding-inline-start: 14px; }
.legal-reading-column { min-width: 0; }
.legal-document { border: 1px solid #e5e5e5; border-radius: 17px; padding: 30px 34px 34px; background: #fff; }
.legal-document-header { display: flex; align-items: center; gap: 14px; padding-bottom: 25px; margin-bottom: 25px; border-bottom: 1px solid #ededed; }
.legal-document-icon { display: grid; place-items: center; flex: 0 0 44px; width: 44px; height: 48px; border-radius: 12px; color: #b42b4a; background: #fff1f4; font-size: 21px; }
.legal-document-header h2 { margin: 0 0 5px; font-size: 22px; font-weight: 650; letter-spacing: -.4px; }
.legal-document-header p { color: #717171; font-size: 14px; margin: 0; }
.legal-policy-content { color: #484848; font-size: 17px; line-height: 1.85; overflow-wrap: anywhere; }
.legal-policy-content :is(p,li,div,span) { font-size: inherit !important; font-family: inherit !important; line-height: inherit !important; }
.legal-policy-content p { margin-bottom: 20px; }
.legal-policy-content > :last-child { margin-bottom: 0; }
.legal-policy-content :is(h1,h2,h3,h4,h5,h6) { font-family: inherit !important; color: #222; font-weight: 650; line-height: 1.4 !important; letter-spacing: -.4px; scroll-margin-top: 115px; margin-block: 31px 14px; }
.legal-policy-content :is(h1,h2) { font-size: 25px !important; }
.legal-policy-content h3 { font-size: 21px !important; }
.legal-policy-content :is(h4,h5,h6) { font-size: 18px !important; }
.legal-policy-content > :first-child { margin-top: 0; }
.legal-policy-content ul, .legal-policy-content ol { margin-block: 0 22px; padding-inline-start: 25px; }
.legal-policy-content li { margin-bottom: 10px; }
.legal-policy-content a { color: #222; text-decoration: underline; text-underline-offset: 3px; }
.legal-policy-content a:hover { color: #ad2846; }
.legal-policy-content img { max-width: 100%; height: auto; }
.legal-policy-content table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; margin-block: 22px; }
.legal-policy-content :is(td,th) { padding: 12px; border: 1px solid #ddd; text-align: start; }
.legal-policy-content blockquote { border-inline-start: 3px solid #ead9de; margin: 24px 0; padding-inline-start: 21px; }
.legal-help { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 22px; padding: 25px 28px; border-radius: 13px; background: #f7f7f7; }
.legal-help h2 { margin-bottom: 8px; font-size: 19px; font-weight: 650; letter-spacing: -.3px; }
.legal-help p { margin: 0; color: #717171; font-size: 15px; line-height: 1.7; }
.legal-help > a { display: inline-flex; align-items: center; gap: 13px; flex-shrink: 0; font-size: 14px; font-weight: 600; text-decoration: underline; text-underline-offset: 4px; }
.legal-help > a i { font-size: 12px; }
.legal-related { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 20px; padding-top: 24px; }
.legal-related a { display: inline-flex; align-items: center; gap: 10px; font-size: 14px; color: #717171; text-underline-offset: 4px; }
.legal-related a:hover { color: #222; text-decoration: underline; }
.legal-related i { font-size: 11px; }
@media (max-width: 1199.98px) {
    .legal-layout { gap: 42px; grid-template-columns: 225px minmax(0,1fr); }
    .legal-help { align-items: flex-start; flex-direction: column; gap: 17px; }
}
@media (max-width: 991.98px) {
    .legal-layout { gap: 28px; grid-template-columns: 200px minmax(0,1fr); }
    .legal-document { padding: 25px; }
    .legal-navigation > a { padding-inline: 10px; gap: 10px; }
}
@media (max-width: 767.98px) {
    .legal-page { padding-bottom: 35px; }
    .legal-breadcrumb { padding-top: 21px; font-size: 13px; }
    .legal-header { align-items: flex-start; flex-direction: column; gap: 23px; padding: 31px 0 27px; }
    .legal-eyebrow { font-size: 11px; margin-bottom: 13px; }
    .legal-header h1 { font-size: 39px; letter-spacing: -1.3px; margin-bottom: 15px; }
    .legal-header p { font-size: 17px; }
    .legal-print { min-height: 44px; font-size: 14px !important; }
    .legal-layout { grid-template-columns: 1fr; gap: 30px; padding-top: 27px; }
    .legal-sidebar { position: static; }
    .legal-navigation { grid-template-columns: 1fr; gap: 3px; }
    .legal-navigation h2 { margin-bottom: 6px; }
    .legal-navigation > a { padding: 12px; min-height: 47px; font-size: 15px; }
    .legal-contents ol { max-height: 220px; }
    .legal-document { border-radius: 14px; padding: 23px; }
    .legal-document-header { padding-bottom: 20px; margin-bottom: 20px; gap: 12px; }
    .legal-document-header h2 { font-size: 20px; }
    .legal-document-icon { flex-basis: 36px; width: 36px; height: 41px; border-radius: 10px; font-size: 19px; }
    .legal-policy-content { font-size: 16px; line-height: 1.85; }
    .legal-policy-content :is(h1,h2) { font-size: 23px !important; }
    .legal-policy-content h3 { font-size: 20px !important; }
    .legal-help { padding: 23px; margin-top: 20px; }
    .legal-related { flex-direction: column; align-items: flex-start; gap: 19px; }
}
@media print {
    @page { margin: 18mm; }
    body.enterprise-home { background: #fff !important; font-size: 11pt !important; }
    .enterprise-home .landing-nav, .enterprise-home .landing-footer, #myBtn, #loading, .home-skip-link, .modal, .legal-breadcrumb, .legal-eyebrow, .legal-print, .legal-sidebar, .legal-help, .legal-related { display: none !important; }
    .enterprise-home .container { width: 100% !important; max-width: none !important; }
    .legal-page { padding: 0; }
    .legal-header { padding: 0 0 20px; }
    .legal-header h1 { font-size: 26pt; }
    .legal-header p { font-size: 11pt; }
    .legal-layout { display: block; padding-top: 24px; }
    .legal-document { border: 0; padding: 0; }
    .legal-document-header { display: none; }
    .legal-policy-content { color: #000; font-size: 11pt; }
    .legal-policy-content :is(h1,h2,h3,h4,h5,h6) { break-after: avoid; }
    .legal-policy-content table { display: table; width: 100%; }
}
