/* Document and information dialog: scoped to these two surfaces. */
.legal-page{font-family:Host,sans-serif;background:var(--paper);color:var(--ink)}
.legal-header{height:104px;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}
.legal-return{display:inline-flex;align-items:center;gap:12px;font-size:14px;min-height:44px}
.legal-return svg{width:19px;height:19px}
.legal-hero{padding:68px var(--gutter) 62px;background:var(--tint);display:flex;align-items:end;justify-content:space-between;gap:40px}
.legal-eyebrow{font-size:13px;color:var(--muted);margin:0 0 24px}
.legal-hero h1{font-size:clamp(42px,5vw,68px);font-weight:500;line-height:1.04;letter-spacing:-.06em}
.legal-intro{font-size:17px;line-height:1.65;margin-top:24px;max-width:48ch;color:var(--muted)}
.legal-meta{flex-shrink:0;display:grid;gap:8px;font-size:13px;border-left:1px solid var(--line);padding-left:24px;padding-block:5px}
.legal-meta time{color:var(--muted)}
.legal-layout{display:grid;grid-template-columns:minmax(180px,250px) minmax(0,740px);justify-content:space-between;gap:7vw;padding:64px var(--gutter) 90px;max-width:1400px;margin:auto}
.legal-index{align-self:start;position:sticky;top:28px;font-size:13px}
.legal-index summary{display:flex;justify-content:space-between;align-items:center;font-weight:500;padding-bottom:18px;border-bottom:1px solid var(--line);cursor:pointer;list-style:none}
.legal-index summary::-webkit-details-marker{display:none}
.legal-index details[open] summary span{transform:rotate(180deg)}
.legal-index nav{display:grid;padding-top:14px}
.legal-index nav a{display:grid;grid-template-columns:24px 1fr;gap:10px;align-items:baseline;padding:10px 0;color:var(--muted);line-height:1.5}
.legal-index nav a:hover{color:var(--accent)}
.legal-index nav a span{font-size:11px;opacity:.7;font-variant-numeric:tabular-nums}
.legal-copy{min-width:0}
.legal-draft{padding:22px 26px;border-left:2px solid var(--accent);background:var(--tint);margin-bottom:48px;border-radius:0 5px 5px 0}
.legal-draft-label{display:block;font-weight:500;font-size:14px;margin-bottom:9px}
.legal-draft p{max-width:none;font-size:13px;line-height:1.7;color:var(--muted)}
.legal-section{padding:0 0 34px;margin:0 0 34px;border-bottom:1px solid var(--line);scroll-margin-top:28px!important}
.legal-section:last-child{margin-bottom:0}
.legal-section h2{display:flex;gap:16px;align-items:baseline;font-size:clamp(24px,2.3vw,32px);font-weight:500;line-height:1.25;letter-spacing:-.035em;text-wrap:initial;margin-bottom:20px}
.legal-section h2>span{font-size:12px;letter-spacing:0;color:var(--muted);font-weight:400;flex-shrink:0;font-variant-numeric:tabular-nums}
.legal-section p{font-size:15px;line-height:1.85;max-width:70ch;color:var(--muted);overflow-wrap:anywhere;margin:0 0 16px}
.legal-section p:last-child{margin-bottom:0}
.legal-section strong{font-weight:500;color:var(--ink)}
.legal-section a{color:var(--accent);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.legal-footer{padding:28px var(--gutter);border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:24px;font-size:13px;color:var(--muted)}
.legal-footer a{color:var(--ink);display:flex;align-items:center;gap:20px;min-height:44px}
.info-dialog{margin:auto;width:calc(100% - 40px);max-width:720px;max-height:85dvh;border:1px solid var(--line);padding:0;border-radius:12px;overflow:auto;font-family:Host,sans-serif;box-shadow:0 28px 100px #182b3433;scrollbar-width:thin}
.info-dialog::backdrop{background:#172a365c;backdrop-filter:blur(6px)}
.info-heading{position:sticky;top:0;z-index:1;display:flex;justify-content:space-between;align-items:start;gap:24px;padding:34px 38px 30px;background:var(--tint)}
.info-dialog .info-overline{font-size:13px;color:var(--muted);margin:0 0 18px;line-height:1.3}
.info-dialog .info-heading h2{font-size:42px;line-height:1.04;letter-spacing:-.05em;font-weight:500;margin:0}
.info-dialog .dialog-close{position:sticky;top:16px;right:auto;flex-shrink:0;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;background:var(--paper);color:var(--ink)}
.info-dialog .dialog-close:hover{background:var(--ink);color:var(--paper)}
.info-dialog .dialog-close svg{width:18px;height:18px;stroke-width:1.5}
.info-content{padding:6px 38px 32px}
.info-section{display:grid;grid-template-columns:130px minmax(0,1fr);gap:6px 24px;padding:24px 0;border-bottom:1px solid var(--line)}
.info-dialog .info-section h3{font-size:14px;font-weight:500;line-height:1.5;letter-spacing:-.01em;grid-row:span 2;margin:0}
.info-dialog .info-section p{font-size:14px;line-height:1.75;color:var(--muted);margin:0;max-width:none;grid-column:2;overflow-wrap:anywhere}
.info-section a{text-decoration:underline;text-underline-offset:4px;color:var(--ink)}
.info-dialog .info-privacy{padding-top:24px}
.info-dialog .info-privacy p{font-size:13px;line-height:1.65;color:var(--muted);max-width:52ch;margin:0 0 16px}
.info-privacy>a{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:48px;padding:12px 16px;border:1px solid var(--line);border-radius:5px;font-size:14px;font-weight:500}
.info-privacy>a:hover{background:var(--tint)}
.info-privacy>a svg{width:18px;height:18px}
@media(max-width:760px){
 .legal-header{height:84px}.legal-header .brand-mark{font-size:47px}.legal-header .brand-name{font-size:11px}.legal-return{font-size:13px;gap:8px}
 .legal-hero{display:block;padding-block:42px}.legal-eyebrow{margin-bottom:18px}.legal-hero h1{font-size:clamp(38px,9vw,58px)}.legal-intro{font-size:15px;margin-top:20px}.legal-meta{margin-top:28px;border-left:0;border-top:1px solid var(--line);padding:18px 0 0;display:flex;flex-wrap:wrap;gap:12px 24px;font-size:12px}
 .legal-layout{display:block;padding-top:32px;padding-bottom:48px}.legal-index{position:static;margin-bottom:30px}.legal-index nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.legal-index nav a{font-size:12px;grid-template-columns:18px 1fr;gap:6px}
 .legal-draft{padding:20px;margin-bottom:34px}.legal-section{padding-bottom:28px;margin-bottom:28px}.legal-section h2{font-size:25px;gap:12px}.legal-section p{font-size:14px;line-height:1.8}.legal-footer{font-size:12px;gap:14px}
 .info-dialog{width:calc(100% - 24px);max-height:90dvh;border-radius:9px}.info-heading{padding:26px 24px;gap:14px}.info-dialog .info-heading h2{font-size:34px}.info-dialog .info-overline{margin-bottom:14px}.info-content{padding:0 24px 24px}
 .info-section{display:block;padding:20px 0}.info-dialog .info-section h3{margin-bottom:8px}.info-dialog .info-section p+p{margin-top:10px}.info-dialog .info-section p{font-size:13px}.info-dialog .dialog-close{width:40px;height:40px}
}
@media(prefers-reduced-motion:reduce){html:has(.legal-page){scroll-behavior:auto}}

.legal-print{display:inline-flex;align-items:center;justify-content:space-between;gap:16px;margin-top:12px;min-height:44px;border-top:1px solid var(--line);padding-top:10px;font-size:13px;text-align:left}
.legal-print[hidden]{display:none}.legal-print svg{width:19px;height:19px}.legal-print:hover{color:var(--accent)}
@media(max-width:760px){.legal-print{margin-top:0;padding-top:0;border:0;flex-basis:100%}}
@media print{
 @page{margin:18mm}
 .legal-page{background:#fff;color:#000;font-family:Arial,sans-serif}
 .legal-header,.legal-index,.legal-return,.legal-footer,.legal-print,.legal-page .skip{display:none!important}
 .legal-hero{display:block;background:transparent;padding:0 0 20px;border-bottom:1px solid #aaa}
 .legal-eyebrow{margin-bottom:12px;color:#000}.legal-hero h1{font-size:26pt;letter-spacing:-.03em}
 .legal-intro{font-size:11pt;color:#222;max-width:none;margin-top:12px}
 .legal-meta{border:0;padding:0;margin-top:14px;display:flex;gap:12px;font-size:10pt}.legal-meta time{color:#222}
 .legal-layout{display:block;padding:20px 0 0;max-width:none}.legal-draft{break-inside:avoid;background:transparent;border:1px solid #777;padding:12px;margin-bottom:24px}
 .legal-draft p,.legal-draft-label{color:#222;font-size:10pt}
 .legal-section{margin-bottom:18px;padding-bottom:18px}.legal-section h2{break-after:avoid;font-size:16pt;margin-bottom:10px}
 .legal-section p{font-size:10.5pt;line-height:1.5;max-width:none;color:#222;orphans:3;widows:3}.legal-section a{color:#000}
}
