/* Supporting pages share the showcase header, palette, and controls. */
.legal-page { font-size:15px; line-height:1.8; }
/* These two pages keep their existing device-font-only behavior. */
.legal-page:not(.statement-page) {
  --body:"Segoe UI",Arial,sans-serif;
  --display:"Arial Narrow","Aptos Narrow","Helvetica Neue",Arial,sans-serif;
}
.legal-page .site-header .brand { margin-right:auto; }
.legal-page .site-header .top-links { margin-left:0; }
.legal-hero,.policy-nav,.legal-layout,.legal-footer {
  width:calc(100% - 64px); max-width:1116px; margin-left:auto; margin-right:auto;
}
.legal-hero { padding:52px 0 29px; }
.legal-hero .eyebrow { margin:0 0 15px; color:#96b8e3; font-size:10px; letter-spacing:1.4px; text-transform:uppercase; }
.legal-hero h1 { font:700 clamp(42px,5.5vw,68px)/1.06 var(--display); color:var(--ink); letter-spacing:-1.3px; margin:0 0 16px; max-width:880px; }
.legal-hero>p:not(.eyebrow):not(.updated) { max-width:660px; margin:0; color:#b7c4d8; font-size:15px; line-height:1.8; }
.legal-hero .updated { display:flex; flex-wrap:wrap; gap:6px; margin:19px 0 0; font-size:11px; color:#9baac0; }
.legal-hero .updated time { color:#d5dfed; }
.policy-nav { display:flex; align-items:stretch; gap:30px; border-bottom:1px solid var(--line); }
.policy-nav a { position:relative; display:flex; align-items:center; min-height:49px; padding:10px 0 13px; font-size:12px; font-weight:600; color:#99a9c0; }
.policy-nav a:hover { color:var(--ink); }
.policy-nav a[aria-current="page"] { color:#ffb181; }
.policy-nav a[aria-current="page"]::after { content:""; position:absolute; bottom:-1px; left:0; right:0; height:2px; background:var(--orange); }
.legal-layout { display:grid; grid-template-columns:238px minmax(0,1fr); align-items:start; gap:42px; padding:34px 0 64px; }
.legal-layout:focus { outline:none; }
.legal-layout .contents { position:sticky; top:102px; max-height:calc(100dvh - 130px); overflow:auto; scrollbar-width:thin; background:#181f2a; border:1px solid #303d50; border-radius:8px; padding:22px 19px 17px; }
.contents h2 { color:#e1e8f3; font:700 10px/1.5 var(--body); text-transform:uppercase; letter-spacing:1.3px; margin:0 0 16px; }
.contents ul { list-style:none; margin:0; padding:0; }
.contents li+li { margin-top:4px; }
.contents a { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:7px 0 7px 11px; border-left:2px solid #344156; font-size:12px; line-height:1.65; color:#aebed4; overflow-wrap:anywhere; }
.contents a:hover { color:#ffb181; border-left-color:var(--orange); }
.contents .icon { width:14px; height:14px; }
.legal-copy { min-width:0; color:#b7c4d8; overflow-wrap:anywhere; }
.legal-copy section { scroll-margin-top:12px; }
.legal-copy section+section { margin-top:29px; padding-top:29px; border-top:1px solid var(--line); }
.legal-copy h2 { font:600 29px/1.2 var(--display); letter-spacing:-.35px; margin:0 0 17px; color:#f0f4fa; }
.legal-copy h3 { font:600 16px/1.5 var(--body); color:#e5ecf6; margin:25px 0 9px; }
.legal-copy p { margin:0 0 17px; }
.legal-copy p:last-child { margin-bottom:0; }
.legal-copy strong { color:#e2ebf8; font-weight:600; }
.legal-copy a { color:#94c4ff; text-decoration:underline; text-underline-offset:3px; text-decoration-color:#94c4ff66; }
.legal-copy a:hover { color:#ffb181; text-decoration-color:currentColor; }
.legal-copy ul { padding-left:21px; margin:0 0 19px; }
.legal-copy li { padding-left:4px; margin-bottom:10px; }
.legal-copy li::marker { color:var(--orange); }
.legal-copy code { padding:2px 5px; border:1px solid #334157; border-radius:4px; background:#1c2634; font-size:.85em; color:#d0e0f8; box-decoration-break:clone; -webkit-box-decoration-break:clone; }
.legal-copy section:target h2 { color:#ffb181; }
.statement-page .legal-hero h1 { font-weight:600; max-width:860px; }
.statement-copy { padding:29px 31px; border:1px solid #384456; border-left:3px solid var(--orange); border-radius:8px; background:#181f2a; font-size:16px; line-height:1.9; }
.statement-copy p:first-child { color:#e0e7f2; }
.legal-footer { border-top:1px solid #333d4c; padding:28px 0 29px; color:#8f9fb6; font-size:11px; line-height:1.8; }
.legal-footer .footer-logo { color:#f0f4fa; font:700 25px/1 var(--display); text-transform:uppercase; letter-spacing:.2px; margin-bottom:17px; }
.legal-footer .footer-logo span { color:var(--orange); }
.legal-footer p { margin:10px 0 0; }
.legal-footer a { color:#b8c9e0; text-underline-offset:3px; }
.legal-footer a:hover { color:#ffb181; text-decoration:underline; }
.legal-footer .legal-links { display:flex; flex-wrap:wrap; gap:20px; margin:15px 0; }
.legal-footer .legal-links a { color:#d5e4f7; padding:3px 0; }
.legal-footer p:last-child a { text-decoration:underline; }
@media(max-width:960px) {
  .legal-layout { grid-template-columns:205px minmax(0,1fr); gap:28px; }
  .legal-layout .contents { padding:19px 15px; }
  .legal-copy h2 { font-size:26px; }
}
@media(max-width:760px) {
  .legal-page .site-header .brand { margin-right:0; }
  .legal-page .site-header .top-links { display:flex; order:3; flex-basis:100%; gap:22px; margin:2px 0 0; font-size:11px; }
  .legal-page .site-header .top-links a { padding:3px 0; }
  .legal-hero,.policy-nav,.legal-layout,.legal-footer { width:calc(100% - 40px); }
  .legal-hero { padding-top:36px; padding-bottom:24px; }
  .legal-hero h1 { font-size:44px; letter-spacing:-.9px; }
  .legal-hero>p:not(.eyebrow):not(.updated) { font-size:14px; }
  .policy-nav { gap:22px; }
  .policy-nav a { font-size:11px; min-height:45px; }
  .legal-layout { grid-template-columns:minmax(0,1fr); gap:28px; padding:26px 0 42px; }
  .legal-layout .contents { position:static; max-height:none; padding:20px; }
  .contents h2 { margin-bottom:12px; }
  .contents ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px 20px; }
  .contents li+li { margin:0; }
  .contents a { font-size:11px; }
  .legal-copy { font-size:14px; }
  .legal-copy section { scroll-margin-top:8px; }
  .legal-copy section+section { margin-top:24px; padding-top:24px; }
  .legal-copy h2 { font-size:27px; }
  .legal-copy h3 { font-size:15px; }
  .statement-layout .contents { order:2; }
  .statement-copy { padding:23px; font-size:15px; }
}
@media(max-width:420px) {
  .legal-hero,.policy-nav,.legal-layout,.legal-footer { width:calc(100% - 32px); }
  .legal-hero h1 { font-size:39px; }
  .policy-nav { gap:18px; }
  .policy-nav a { font-size:10px; }
  .contents ul { grid-template-columns:minmax(0,1fr); gap:2px; }
  .statement-copy { padding:20px; }
}
@media print {
  :root { color-scheme:light; }
  body.legal-page { background:#fff; color:#111; font:11pt/1.5 Arial,sans-serif; }
  .legal-page .site-header,.skip-link,.policy-nav,.contents,.legal-footer { display:none!important; }
  .legal-hero,.legal-layout { width:100%; max-width:none; padding:0; margin:0; }
  .legal-hero { padding-bottom:20px; }
  .legal-hero h1 { font:700 27pt/1.15 Arial,sans-serif; color:#111; letter-spacing:normal; }
  .legal-hero p,.legal-hero .eyebrow,.legal-hero .updated time { color:#333!important; }
  .legal-layout { display:block; }
  .legal-copy,.legal-copy strong,.legal-copy h2,.legal-copy h3,.statement-copy p:first-child { color:#111; }
  .legal-copy h2 { font:700 18pt/1.2 Arial,sans-serif; }
  .legal-copy h2,.legal-copy h3 { break-after:avoid; }
  .legal-copy a { color:#222; text-decoration:underline; }
  .legal-copy code { background:none; color:#111; border-color:#ccc; }
  .statement-copy { padding:0; background:none; border:0; }
}
