/* Shared document pages, without catalog scripts or tracking. */
.legal-page { overflow-x: visible; }
.legal-header-back { display:inline-flex; min-height:44px; align-items:center; margin-left:auto; gap:10px; font-size:.85rem; text-decoration:none; }
.legal-shell { width:var(--shell); margin:0 auto; padding:40px 0 80px; }
.legal-back { display:inline-flex; min-height:44px; align-items:center; margin-bottom:28px; color:var(--brand-blue); font-size:.9rem; text-underline-offset:4px; }
.legal-heading { padding-bottom:36px; border-bottom:1px solid var(--line); }
.legal-heading h1 { max-width:20ch; font-size:clamp(1.7rem,7.5vw,4.75rem); line-height:1.08; }
.legal-heading > p:last-child { max-width:60ch; margin-top:20px; font-size:1rem; }
.legal-layout { display:grid; gap:36px; padding-top:32px; }
.legal-navigation { display:grid; align-content:start; gap:8px; }
.legal-navigation a { display:flex; min-height:48px; align-items:center; padding:12px 16px; border:1px solid var(--line); border-radius:12px; color:var(--brand-blue); font-size:.88rem; line-height:1.4; text-decoration:none; }
.legal-navigation a[aria-current=page] { background:var(--brand-blue); color:var(--white); border-color:var(--brand-blue); }
.legal-navigation a:hover { border-color:var(--brand-blue); }
.legal-content { min-width:0; max-width:76ch; }
.legal-content section + section { margin-top:34px; padding-top:30px; border-top:1px solid var(--line); }
.legal-content h2 { margin-bottom:16px; font-size:clamp(1.4rem,3vw,1.8rem); line-height:1.2; letter-spacing:-.025em; }
.legal-content p, .legal-content li { font-size:1rem; line-height:1.75; color:var(--ink); overflow-wrap:anywhere; }
.legal-content p + p { margin-top:14px; }
.legal-content ul { padding-left:22px; margin:0 0 16px; }
.legal-content li + li { margin-top:8px; }
.legal-content a { color:var(--brand-blue); text-underline-offset:4px; }
.legal-contact { margin-top:44px; padding:24px; border-radius:14px; background:#e9e5da; }
.legal-contact p { font-size:.85rem; }
.legal-contact a { display:inline-flex; min-height:44px; align-items:center; gap:12px; font-weight:600; }
.legal-footer { display:flex; padding:28px max(16px,calc((100vw - 1240px)/2)); gap:16px 40px; flex-wrap:wrap; background:#242f78; color:white; font-size:.8rem; }
.legal-footer a { display:inline-flex; min-height:44px; align-items:center; text-decoration:none; }
@media(min-width:900px) { .legal-shell { padding-top:50px; } .legal-layout { grid-template-columns:270px minmax(0,1fr); gap:clamp(40px,6vw,90px); } .legal-navigation { position:sticky; top:24px; align-self:start; } }
