/* Legal notices share TSL's typography and palette; content stays readable without JS. */
.legal-page{--legal-rule:color-mix(in srgb,var(--line) 68%,transparent);max-width:1180px;padding:52px 42px 76px;margin:0 auto}
.legal-heading{max-width:880px;padding-bottom:38px}
.legal-home{display:inline-flex;align-items:center;gap:12px;min-height:44px;margin:0 0 26px;color:var(--muted);font-size:16px;letter-spacing:.015em}
.legal-home span{opacity:.55}
.legal-home:hover{color:var(--accent)}
.legal-kicker{margin:0 0 17px;font-size:12px;line-height:1.5;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-weight:600}
.legal-heading h1{font-family:var(--font);font-size:clamp(39px,5.2vw,68px);font-weight:600;line-height:1.04;letter-spacing:-.045em;max-width:860px;margin:0 0 22px}
.legal-lead{font-size:clamp(19px,2.15vw,24px);line-height:1.45;letter-spacing:-.02em;color:var(--muted);max-width:660px;margin:0 0 22px}
.legal-date{font-size:12px;color:var(--muted);margin:0 0 23px}
.legal-status{display:grid;grid-template-columns:128px 1fr;gap:18px;padding:19px 22px;border:1px solid var(--legal-rule);border-radius:13px;background:var(--panel);font-size:13px;line-height:1.55;max-width:800px}
.legal-status strong{font-weight:600;color:var(--ink)}
.legal-status p{color:var(--muted);margin:0}
.legal-layout{display:grid;grid-template-columns:218px minmax(0,740px);gap:66px;align-items:start}
.legal-contents{position:sticky;top:104px;padding-top:16px}
.legal-contents nav>p{font-size:11px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.08em;margin:0 0 13px}
.legal-contents a{display:flex;align-items:baseline;gap:10px;min-height:44px;padding:10px 0;font-size:16px;line-height:1.45;color:var(--muted)}
.legal-contents a span{font-variant-numeric:tabular-nums;font-size:12px;opacity:.75}
.legal-contents a:hover{color:var(--accent)}
.legal-section{scroll-margin-top:100px;padding:29px 0 34px;border-top:1px solid var(--legal-rule)}
.legal-section h2{font-family:var(--font);font-size:26px;letter-spacing:-.025em;line-height:1.22;margin:0 0 18px;font-weight:600}
.legal-reading p,.legal-reading li,.legal-reading dd{font-size:18px;line-height:1.75;letter-spacing:-.008em;color:var(--muted)}
.legal-reading p{margin:0 0 17px}
.legal-reading p:last-child{margin-bottom:0}
.legal-reading strong{font-weight:600;color:var(--ink)}
.legal-reading a{color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.legal-reading a:hover{text-decoration-thickness:2px}
.legal-reading ul{padding-left:20px;margin:0}
.legal-reading li{padding-left:5px;margin:0 0 12px}
.legal-reading li:last-child{margin-bottom:0}
.legal-inline-button{display:inline-flex;align-items:center;min-height:44px;padding:0;background:none!important;border:0;border-radius:0;font:inherit;color:var(--accent);text-decoration:underline;text-underline-offset:3px;vertical-align:baseline}
.legal-action{display:flex;align-items:center;gap:19px;flex-wrap:wrap;margin:25px 0 2px}
.legal-action button{min-height:48px;font-size:16px;background:var(--soft-blue);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 18%,transparent);padding:12px 19px;border-radius:999px;gap:24px}
.legal-action>span{font-size:12px;line-height:1.5;color:var(--muted);max-width:190px}
.legal-storage{margin:24px 0}
.legal-storage>div{padding:20px 22px;border:1px solid var(--legal-rule);border-bottom:0;background:var(--panel)}
.legal-storage>div:first-child{border-radius:13px 13px 0 0}
.legal-storage>div:last-child{border-bottom:1px solid var(--legal-rule);border-radius:0 0 13px 13px}
.legal-storage dt{font-size:16px;line-height:1.45;font-weight:600;color:var(--ink);margin:0 0 8px}
.legal-storage dt>span{display:block;font-size:11px;font-weight:400;color:var(--muted);margin-top:4px;letter-spacing:.02em}
.legal-storage dd{margin:0;font-size:17px;line-height:1.7}
.legal-reading code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.82em;overflow-wrap:anywhere;color:var(--ink)}
.legal-technical{border-top:1px solid var(--legal-rule);border-bottom:1px solid var(--legal-rule);padding:0 1px}
.legal-technical summary{min-height:48px;display:list-item;padding:13px 0;font-size:16px;line-height:1.6;color:var(--accent);cursor:pointer}
.legal-technical p{padding:0 0 18px;font-size:16px}
.legal-next{padding-top:28px;border-top:1px solid var(--legal-rule)}
.legal-next>p{font-size:12px;margin-bottom:11px}
.legal-next nav{display:flex;gap:8px 23px;flex-wrap:wrap}
.legal-next a{display:inline-flex;align-items:center;min-height:44px;font-size:16px;text-decoration:none}
.legal-next a[aria-current]{color:var(--muted)}
.legal-page :is(a,button,summary):focus-visible,.legal-footer-links :is(a,button):focus-visible{outline:2px solid var(--accent);outline-offset:5px;border-radius:3px}
.legal-footer-links{display:flex;align-items:center;gap:0 20px;flex-wrap:wrap;max-width:1472px;margin-inline:auto}
.legal-footer-links a,.legal-footer-links button{font:400 11px/1.4 var(--font);color:var(--muted);background:none;min-height:44px;padding:10px 0;border:0;border-radius:0;text-decoration:none;letter-spacing:0}
.legal-footer-links a:hover,.legal-footer-links button:hover{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.f13>.legal-footer-links{padding-top:9px}
.site-footer>.legal-footer-links{max-width:1180px;padding:10px 40px 0}
.legal-form-note{font:400 16px/1.55 var(--font);color:var(--muted);margin:12px 0}
.legal-form-note a{color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.legal-form-note a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
@media(max-width:850px){.legal-page{padding:32px 27px 58px}.legal-layout{grid-template-columns:174px minmax(0,1fr);gap:32px}.legal-status{grid-template-columns:1fr;gap:5px}.legal-heading{padding-bottom:30px}.legal-section h2{font-size:23px}.legal-reading p,.legal-reading li{font-size:17px}.legal-storage>div{padding:18px}.legal-action{gap:11px}}
@media(max-width:640px){.legal-page{padding:24px 21px 48px}.legal-home{margin-bottom:19px}.legal-heading h1{font-size:40px}.legal-heading{padding-bottom:25px}.legal-lead{font-size:19px}.legal-status{padding:17px 18px;font-size:12px}.legal-layout{display:block}.legal-contents{position:static;padding:0 0 23px}.legal-contents nav{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.legal-contents nav>p{grid-column:1/-1}.legal-contents a{font-size:16px;min-height:44px;padding:7px 0;gap:7px}.legal-contents a span{font-size:12px}.legal-section{padding:25px 0 28px;scroll-margin-top:86px}.legal-section h2{font-size:23px}.legal-reading p,.legal-reading li{font-size:17px;line-height:1.75}.legal-storage dd{font-size:17px}.legal-action{align-items:flex-start;flex-direction:column}.legal-action>span{max-width:none}.legal-next nav{gap:0 19px}.legal-next a{font-size:16px}.legal-footer-links{gap:0 17px}.legal-footer-links a,.legal-footer-links button{min-height:44px;font-size:11px}}
@media(prefers-reduced-motion:reduce){.legal-page{scroll-behavior:auto}}
@media(max-width:640px){.site-footer>.legal-footer-links{padding-inline:23px}}
/* Keep legal navigation subordinate to the main directory on every template. */
.legal-footer-links :is(a,button),.f13 .legal-footer-links :is(a,button){font:400 12px/1.4 var(--font,-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif);min-height:44px}
.legal-utility-footer{padding:20px 24px;border-top:1px solid var(--line,#d8d8dc)}
form p.legal-form-note{font-size:16px;line-height:1.55;margin:12px 0;color:var(--muted,#626268)}

/* V25: preserve compact footer labels while keeping legal reading comfortable. */
.legal-status{font-size:16px}
.legal-layout>*{min-width:0}
.legal-reading{min-width:0}
.legal-reading :is(p,li,dd,h2,a){overflow-wrap:anywhere}
.legal-contents a{align-items:baseline}
.legal-contents a span{flex:0 0 20px}
.legal-action>span{font-size:14px;max-width:28ch}
.legal-storage dt{font-size:18px}
.legal-storage dt>span{font-size:14px}
@media(max-width:640px){.legal-status{font-size:15px}.legal-contents nav{grid-template-columns:1fr}.legal-contents a{padding:9px 0}.legal-section h2{font-size:25px}.legal-action>span{max-width:none}}

.legal-date,.legal-status,.legal-action>span,.legal-storage dt>span,.legal-next>p{font-size:16px}
