/* Public legal pages share the site's palette and fonts, without app scripts. */
.legal-root{scroll-padding-top:0}
.legal-page{background:var(--bg);overflow-wrap:break-word}
.legal-page :focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.legal-header{border-bottom:1px solid var(--line);background:var(--bg)}
.legal-header-inner,.legal-main,.legal-footer{width:min(1180px,calc(100% - 80px));margin-inline:auto}
.legal-header-inner{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.legal-home{display:inline-flex;align-items:center;gap:10px;color:var(--ink-soft);font-size:12px;padding-block:12px}
.legal-home:hover{color:var(--accent-light)}
.legal-skip{position:fixed;left:20px;top:16px;z-index:100;padding:12px 18px;border-radius:8px;background:var(--accent);color:var(--bg);font-weight:700;transform:translateY(-180%)}
.legal-skip:focus{transform:translateY(0)}
.legal-intro{padding:76px 0 0;max-width:900px}
.legal-eyebrow{color:var(--accent);font-size:10px;letter-spacing:.18em;font-weight:700;margin-bottom:22px}
.legal-intro h1{font-size:clamp(36px,5.2vw,66px);line-height:1.12;letter-spacing:-.055em;text-wrap:balance}
.legal-summary{max-width:720px;font-size:16px;line-height:1.9;margin-top:24px}
.legal-updated{margin-top:22px;color:var(--ink-muted);font-size:11px}
.legal-updated strong{font-weight:400;color:var(--ink-soft);margin-left:8px}
.legal-documents{display:flex;flex-wrap:wrap;gap:8px;margin-top:32px;padding-bottom:34px}
.legal-documents a{border:1px solid var(--line);border-radius:8px;padding:11px 16px;font-size:12px;color:var(--ink-soft);transition:background .15s,color .15s,border-color .15s}
.legal-documents a:hover{color:var(--ink);border-color:var(--line-hot)}
.legal-documents a[aria-current="page"]{color:var(--accent-light);background:rgba(239,189,114,.08);border-color:rgba(239,189,114,.36)}
.legal-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:64px;border-top:1px solid var(--line);padding-top:40px;padding-bottom:76px;align-items:start}
.legal-contents{position:sticky;top:32px;max-height:calc(100vh - 64px);overflow:auto;padding:3px 8px 8px 0}
.legal-contents h2{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);margin:0 0 18px}
.legal-contents ol{list-style:none;counter-reset:legal-item;margin:0;padding:0;display:grid;gap:2px}
.legal-contents li{counter-increment:legal-item}
.legal-contents a{display:flex;gap:12px;align-items:baseline;padding:9px 0;font-size:12px;line-height:1.65;color:var(--ink-muted)}
.legal-contents a::before{content:counter(legal-item,decimal-leading-zero);font-size:10px;color:var(--accent);min-width:16px;font-variant-numeric:tabular-nums}
.legal-contents a:hover{color:var(--accent-light)}
.legal-article{min-width:0;max-width:780px}
.legal-section{scroll-margin-top:32px;padding:2px 0 32px;margin-bottom:32px;border-bottom:1px solid var(--line)}
.legal-section h2{display:flex;gap:15px;align-items:baseline;font-size:23px;line-height:1.4;letter-spacing:-.035em;margin-bottom:20px}
.legal-section-number{color:var(--accent);font-size:11px;font-weight:400;letter-spacing:.02em;flex:none;font-variant-numeric:tabular-nums}
.legal-section p{font-size:15px;line-height:1.95;color:var(--ink-soft)}
.legal-section p+p{margin-top:16px}
.legal-section-links{list-style:none;margin:20px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:12px 24px}
.legal-section-links a{font-size:12px;line-height:1.9;color:var(--accent-light);text-decoration:underline;text-decoration-color:rgba(239,189,114,.45);text-underline-offset:4px;overflow-wrap:anywhere}
.legal-section-links a:hover{text-decoration-color:var(--accent-light)}
.legal-back-top{display:inline-flex;align-items:center;gap:14px;padding:6px 0;font-size:12px;color:var(--accent-light)}
.legal-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 0 36px;border-top:1px solid var(--line)}
.legal-footer p,.legal-footer nav{font-size:10px;color:var(--ink-muted)}
.legal-footer nav{display:flex;flex-wrap:wrap;gap:16px 24px}
.legal-footer a:hover,.legal-footer a[aria-current="page"]{color:var(--accent-light)}
@media(max-width:900px){
    .legal-header-inner,.legal-main,.legal-footer{width:calc(100% - 48px)}
    .legal-layout{grid-template-columns:190px minmax(0,1fr);gap:32px}
    .legal-intro{padding-top:52px}
    .legal-section h2{font-size:21px}
}
@media(max-width:680px){
    .legal-header-inner,.legal-main,.legal-footer{width:calc(100% - 40px)}
    .legal-header-inner{min-height:76px;gap:16px}
    .legal-home{font-size:11px;gap:7px}
    .legal-intro{padding-top:38px}
    .legal-eyebrow{font-size:9px;letter-spacing:.12em;margin-bottom:18px}
    .legal-summary{font-size:14px;margin-top:20px;line-height:1.85}
    .legal-documents{margin-top:24px;padding-bottom:28px}
    .legal-layout{grid-template-columns:1fr;gap:32px;padding-top:28px;padding-bottom:44px}
    .legal-contents{position:static;max-height:none;overflow:visible;padding:0 0 24px;border-bottom:1px solid var(--line)}
    .legal-contents h2{margin-bottom:12px}
    .legal-contents ol{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}
    .legal-contents a{font-size:11px;gap:8px;padding-block:8px}
    .legal-section{padding-bottom:26px;margin-bottom:26px;scroll-margin-top:24px}
    .legal-section h2{font-size:21px;gap:12px;margin-bottom:16px}
    .legal-section p{font-size:14px;line-height:1.95}
    .legal-section-links{gap:10px 20px}
    .legal-footer{align-items:flex-start;flex-direction:column;gap:14px;padding:24px 0 30px}
    .legal-footer nav{gap:14px 20px}
}
@media(prefers-reduced-motion:reduce){.legal-page{scroll-behavior:auto}.legal-page *{transition:none;scroll-behavior:auto}}
@media print{
    html{color-scheme:light;scroll-padding-top:0}
    .legal-page{background:#fff!important;color:#111!important;min-width:0;font-size:11pt}
    .legal-page::before,.legal-skip,.legal-header,.legal-documents,.legal-contents,.legal-back-top,.legal-footer nav{display:none!important}
    .legal-main,.legal-footer{width:100%;max-width:none}
    .legal-intro{padding:0;max-width:none}
    .legal-intro h1{font-size:28pt;color:#111}
    .legal-eyebrow,.legal-summary,.legal-updated,.legal-updated strong,.legal-section p,.legal-section-number,.legal-section-links a,.legal-footer p{color:#333!important}
    .legal-summary{font-size:11pt;max-width:none}
    .legal-updated{margin-bottom:24px}
    .legal-layout{display:block;padding:24px 0 0;border-color:#ccc}
    .legal-article{max-width:none}
    .legal-section{margin-bottom:20px;padding-bottom:20px;border-color:#ccc}
    .legal-section h2{font-size:16pt;color:#111;break-after:avoid}
    .legal-section p{font-size:10pt;line-height:1.7;orphans:3;widows:3}
    .legal-section-links a{font-size:10pt}
    .legal-section-links a[href^="https:"]::after{content:" (" attr(href) ")";font-size:8pt}
    .legal-footer{border-color:#ccc;margin-top:20px;padding-top:16px}
}
