/* Legal content uses the site's shared navigation, typography and footer. */
.retro-legal-page { color:var(--retro-ink); background:#fff; }
.retro-legal-hero { padding:2rem 1.5rem 3.5rem; background:#f5f7fb; border-bottom:1px solid var(--retro-rule); }
.retro-legal-breadcrumb { display:flex; gap:.65rem; flex-wrap:wrap; color:var(--retro-muted); font-size:.85rem; margin-bottom:2rem; }
.retro-legal-breadcrumb a { text-decoration:underline; text-underline-offset:.2em; }
.retro-legal-hero h1 { color:var(--retro-navy); font-size:clamp(2.2rem,5vw,3.5rem); font-weight:750; letter-spacing:-.025em; line-height:1.12; margin:0 0 1.25rem; }
.retro-legal-hero>div>p:not(.retro-kicker) { max-width:67ch; font-size:1.1rem; line-height:1.7; margin:0 0 1.5rem; }
.retro-legal-related { color:var(--retro-navy); font-weight:650; text-decoration:underline; text-underline-offset:.22em; }
.retro-legal-layout { display:grid; grid-template-columns:240px minmax(0,1fr); gap:4rem; padding:3.5rem 0 5rem; }
.retro-legal-toc { align-self:start; position:sticky; top:12rem; }
.retro-legal-toc h2 { font-size:.85rem; font-weight:750; text-transform:uppercase; letter-spacing:.06em; color:var(--retro-navy); margin:0 0 1rem; }
.retro-legal-toc ol { list-style:none; padding:0; margin:0; border-top:1px solid var(--retro-rule); }
.retro-legal-toc li { border-bottom:1px solid var(--retro-rule); }
.retro-legal-toc a { display:block; padding:.55rem 0; line-height:1.45; color:var(--retro-muted); font-size:.88rem; }
.retro-legal-toc a:hover { color:var(--retro-navy); text-decoration:underline; }
.retro-legal-body { min-width:0; max-width:74ch; font-size:1rem; line-height:1.8; overflow-wrap:anywhere; }
.retro-legal-body>section { margin:0 0 2.4rem; padding-top:.25rem; scroll-margin-top:12rem; }
.retro-legal-body h2 { color:var(--retro-navy); font-size:1.5rem; font-weight:750; line-height:1.3; letter-spacing:-.01em; margin:0 0 1rem; }
.retro-legal-body h3 { color:var(--retro-navy); font-size:1.1rem; font-weight:700; line-height:1.4; margin:1.5rem 0 .65rem; }
.retro-legal-body p { margin:0 0 1rem; }
.retro-legal-body ul { list-style:disc; padding-left:1.4rem; margin:0 0 1.4rem; }
.retro-legal-body li { padding-left:.15rem; margin-bottom:.65rem; }
.retro-legal-body a { color:var(--retro-navy); text-decoration:underline; text-underline-offset:.2em; }
.retro-legal-effective-date { padding-bottom:1.5rem; border-bottom:1px solid var(--retro-rule); color:var(--retro-muted); }
.retro-legal-sms-callout { background:#f4f7ee; border-left:3px solid var(--retro-green); padding:1.2rem 1.5rem .4rem; margin:1.5rem 0; }
.retro-legal-sms-callout h3 { margin-top:0; }
.retro-legal-keyword { display:inline-block; color:var(--retro-navy); font-weight:750; margin-right:.4rem; }
.retro-legal-contact-card { border-top:1px solid var(--retro-rule); padding-top:1.25rem; }
.retro-legal-contact-card address { font-style:normal; }
.retro-legal-links { display:flex; flex-wrap:wrap; gap:.5rem 1.5rem; }
.retro-legal-links a { color:inherit; font-size:.875rem; font-weight:400; line-height:1.5; padding:.4rem 0; text-decoration:none; transition:color .2s; }
.retro-legal-links a:hover { color:var(--retro-green); }
.retro-legal-footer { color:inherit; }
.retro-legal-utility { border-top:1px solid var(--retro-rule); margin-top:2rem; padding-top:1rem; color:var(--retro-navy); }
.retro-legal-page a:focus-visible,.retro-legal-links a:focus-visible { outline:3px solid var(--retro-green); outline-offset:4px; }
@media(max-width:1200px) { .retro-legal-layout { margin:0 1.5rem; gap:2.5rem; } }
@media(max-width:800px) { .retro-legal-layout { grid-template-columns:1fr; gap:2.25rem; padding-top:2rem; } .retro-legal-toc { position:static; } .retro-legal-toc ol { columns:2; column-gap:1.5rem; } .retro-legal-toc li { break-inside:avoid; } .retro-legal-body>section { scroll-margin-top:6rem; } .retro-legal-hero { padding-bottom:2.25rem; } }
@media(max-width:440px) { .retro-legal-layout { margin:0 1rem; } .retro-legal-hero { padding-left:1rem; padding-right:1rem; } .retro-legal-toc ol { columns:1; } .retro-legal-toc a { padding:.55rem 0; } .retro-legal-sms-callout { padding:1rem 1rem .25rem; } }
@media print { .retro-legal-page { color:#000; } .retro-legal-toc,.retro-legal-breadcrumb,.retro-legal-related,body:has(.retro-legal-page)>header,body:has(.retro-legal-page)>footer { display:none; } .retro-legal-layout { display:block; margin:0; padding:1rem; } .retro-legal-body { max-width:none; } .retro-legal-hero { padding:1rem; background:#fff; } }
