:root { color-scheme: light; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: #e9edf2; color: #252a3a; }
.legal-header { position: sticky; top: 0; z-index: 10; display: flex; min-height: 62px; align-items: center; justify-content: space-between; margin: 0 2.25vw; padding: 0 2.75vw; background: #e9edf2e8; backdrop-filter: blur(14px); }
.brand { display: inline-flex; align-items: center; }.brand img { display: block; width: 11.875rem; height: 3.125rem; object-fit: contain; object-position: left center; }
.header-link { display: inline-flex; align-items: center; gap: .45rem; height: 2rem; padding: 0 .82rem; border-radius: 999px; background: #262a3f1a; color: #151826; font-size: .78rem; font-weight: 600; text-decoration: none; }.header-link:hover { background: #262a3f; color: #fff; }.header-link svg { width: .9rem; }
.legal-surface { min-height: calc(100vh - 5.5rem); margin: 0 2.25vw 2.25vw; overflow: hidden; border-radius: .625rem; background: #fff; box-shadow: 0 8px 20px rgb(15 23 42 / .025); }
.legal-hero { padding: clamp(3rem, 7vw, 6rem) 6vw clamp(2.5rem, 5vw, 4.25rem); background: radial-gradient(circle at 95% 0%, #e5ebff 0%, transparent 38%), #fff; }.legal-hero-inner { max-width: 70rem; margin: 0 auto; }.eyebrow { margin: 0 0 1rem; color: #245bff; font-size: .75rem; font-weight: 750; letter-spacing: .11em; text-transform: uppercase; }.legal-hero h1 { max-width: 48rem; margin: 0; color: #252a3a; font-size: clamp(2.8rem, 7vw, 5.5rem); line-height: .95; letter-spacing: -.065em; }.legal-hero p { max-width: 39rem; margin: 1.4rem 0 0; color: #667085; font-size: clamp(.98rem, 2vw, 1.1rem); line-height: 1.65; }.updated { display: inline-flex; margin-top: 1.6rem; padding: .45rem .7rem; border-radius: 999px; background: #f0f3ff; color: #4762bb; font-size: .76rem; font-weight: 600; }
.legal-layout { display: grid; grid-template-columns: 13rem minmax(0, 45rem); gap: clamp(2.5rem, 7vw, 7rem); max-width: 70rem; margin: 0 auto; padding: clamp(2.5rem, 6vw, 5rem) 6vw 5rem; }.legal-nav { position: sticky; top: 5.5rem; align-self: start; display: grid; gap: .25rem; padding: .5rem; border: 1px solid #e7eaf0; border-radius: .9rem; background: #fbfcfe; }.legal-nav a { padding: .55rem .6rem; border-radius: .55rem; color: #667085; font-size: .78rem; font-weight: 600; line-height: 1.3; text-decoration: none; }.legal-nav a:hover, .legal-nav a.active { background: #eef2ff; color: #245bff; }
.legal-content { min-width: 0; }.legal-section { padding: 0 0 2.35rem; border-bottom: 1px solid #edf0f4; }.legal-section + .legal-section { padding-top: 2.35rem; }.legal-section:last-child { border-bottom: 0; }.legal-content h2 { margin: 0 0 .85rem; color: #252a3a; font-size: clamp(1.4rem, 3vw, 2rem); letter-spacing: -.045em; }.legal-content h3 { margin: 1.6rem 0 .6rem; font-size: 1rem; letter-spacing: -.02em; }.legal-content p, .legal-content li { color: #5e687b; font-size: .94rem; line-height: 1.7; }.legal-content p { margin: 0 0 1rem; }.legal-content ul { margin: .4rem 0 1rem; padding-left: 1.2rem; }.legal-content li + li { margin-top: .35rem; }.callout { margin: 1.35rem 0 0; padding: 1rem 1.1rem; border-left: 3px solid #245bff; border-radius: .2rem .75rem .75rem .2rem; background: #f5f7ff; color: #4c5f96; font-size: .86rem; line-height: 1.55; }
.legal-footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; max-width: 70rem; margin: 0 auto; padding: 1.5rem 6vw 2.5rem; border-top: 1px solid #edf0f4; color: #7b8494; font-size: .76rem; }.legal-footer nav { display: flex; flex-wrap: wrap; gap: .9rem; }.legal-footer a { color: #5e687b; text-decoration: none; }.legal-footer a:hover { color: #245bff; }
@media (max-width: 700px) { .legal-header { margin-inline: .75rem; padding-inline: .5rem; }.brand img { width: 9.5rem; }.legal-surface { margin: 0 .75rem .75rem; }.legal-hero { padding-inline: 1.4rem; }.legal-layout { grid-template-columns: 1fr; gap: 1.6rem; padding: 2.25rem 1.4rem 3rem; }.legal-nav { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); }.legal-footer { padding: 1.4rem; }.legal-footer nav { gap: .7rem; } }
@media (max-width: 700px) {
  .legal-header {
    position: sticky;
    top: 0;
    z-index: 30;
    width: 100%;
    min-height: 64px;
    margin: 0;
    padding: 0 1rem;
    background: #e9edf2;
    border-bottom: 1px solid #dfe4ec;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
  .legal-header .brand, .legal-header .header-link { flex-shrink: 0; }
  .legal-header .brand img { width: clamp(7.5rem, 35vw, 9.25rem); height: 2.75rem; }
}
