:root { color-scheme: light; }
.legal-body { min-height: 100vh; margin: 0; background: #f5f7fb; color: #101a34; }
.legal-topbar { position: sticky; top: 0; z-index: 20; }
.legal-nav { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .35rem; }
.legal-nav a { padding: .45rem .6rem; border-radius: 7px; color: #c7d0df; font-size: .78rem; font-weight: 800; text-decoration: none; }
.legal-nav a:hover,.legal-nav a[aria-current="page"] { background: rgba(255,255,255,.1); color: #ffca58; }
.legal-shell { width: min(1120px,calc(100% - 2rem)); margin: 0 auto; padding: clamp(2.5rem,6vw,5.5rem) 0 5rem; }
.legal-hero { display: grid; grid-template-columns: minmax(0,1fr) minmax(260px,.42fr); gap: clamp(1.5rem,6vw,5rem); align-items: end; padding-bottom: 2.2rem; border-bottom: 1px solid #d9e1eb; }
.legal-hero h1 { max-width: 780px; margin: .2rem 0 .75rem; font: 500 clamp(2.7rem,6vw,5.5rem)/.94 Georgia,serif; letter-spacing: -.05em; }
.legal-hero p { max-width: 720px; margin: 0; color: #5f6d82; font-size: 1rem; }
.legal-meta { padding: 1rem; border-left: 4px solid #16859b; border-radius: 0 12px 12px 0; background: #edf8fa; }
.legal-meta span,.legal-meta strong { display: block; }
.legal-meta span { color: #56727b; font-size: .74rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.legal-meta strong { margin-top: .25rem; font-size: .9rem; }
.legal-meta a { color: #0e6172; }
.legal-layout { display: grid; grid-template-columns: 230px minmax(0,1fr); gap: clamp(1.5rem,5vw,4.5rem); padding-top: 2rem; }
.legal-toc { position: sticky; top: 96px; align-self: start; display: grid; gap: .2rem; }
.legal-toc strong { margin-bottom: .5rem; font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
.legal-toc a { padding: .42rem .55rem; border-left: 2px solid #d8e0ea; color: #68758a; font-size: .8rem; font-weight: 750; text-decoration: none; }
.legal-toc a:hover { border-left-color: #16859b; color: #116f82; }
.legal-content { max-width: 760px; }
.legal-content section { scroll-margin-top: 100px; padding: .3rem 0 1.8rem; }
.legal-content section + section { padding-top: 1.8rem; border-top: 1px solid #e0e5ed; }
.legal-content h2 { margin: 0 0 .7rem; font: 500 clamp(1.45rem,3vw,2rem)/1.1 Georgia,serif; }
.legal-content h3 { margin: 1.25rem 0 .45rem; font-size: 1rem; }
.legal-content p,.legal-content li { color: #4f5d72; font-size: 1rem; line-height: 1.72; }
.legal-content ul,.legal-content ol { padding-left: 1.25rem; }
.legal-content li + li { margin-top: .45rem; }
.legal-content a { color: #0e7489; font-weight: 750; }
.policy-callout { margin: 1rem 0; padding: 1rem 1.1rem; border: 1px solid #cfe0e4; border-radius: 12px; background: #edf8fa; color: #4f5d72; line-height: 1.6; }
.policy-callout strong { display: block; margin-bottom: .25rem; color: #0e6172; }
.policy-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .8rem; margin: 1rem 0; }
.policy-card { padding: 1rem; border: 1px solid #dce2ea; border-radius: 12px; background: #fff; }
.policy-card span { display: block; color: #13788c; font-size: .72rem; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.policy-card strong { display: block; margin: .25rem 0; font: 500 1.25rem Georgia,serif; }
.policy-card p { margin: 0; font-size: .86rem; line-height: 1.55; }
.legal-footer { padding: 2rem max(1rem,calc((100% - 1120px)/2)); background: #101a34; color: #aeb9cb; }
.legal-footer-links { display: flex; flex-wrap: wrap; gap: .8rem 1rem; margin-top: .8rem; }
.legal-footer a { color: #dbe3ef; font-size: .78rem; font-weight: 750; }
.legal-footer p { margin: .8rem 0 0; font-size: .76rem; }
@media (max-width:820px) { .legal-topbar { position: static; } .legal-topbar .topbar-context { display:none; } .legal-hero,.legal-layout { grid-template-columns:1fr; } .legal-toc { position:static; grid-template-columns:repeat(3,minmax(0,1fr)); } .legal-toc strong { grid-column:1/-1; } }
@media (max-width:560px) { .legal-shell { width:min(100% - 1.2rem,1120px); padding-top:2rem; } .legal-nav { display:none; } .legal-toc,.policy-grid { grid-template-columns:1fr; } .legal-content p,.legal-content li { font-size:.96rem; } }
