:root{
  color-scheme:light dark;
  --bg:#edf1f6;
  --paper:#fbfcfe;
  --header:#f7f9fc;
  --text:#172033;
  --muted:#566176;
  --line:#cfd7e4;
  --line-strong:#aeb9ca;
  --accent:#3157c8;
  --accent-hover:#24439f;
  --accent-strong:#3157c8;
  --accent-soft:#e8eeff;
  --warning:#f0f3fb;
  --shadow:28 43 74;
  --max:1180px;
  --reading:820px;
  --radius:12px;
  --font:Aptos,"Segoe UI Variable","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --display:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
  --mono:"Cascadia Mono","SFMono-Regular",Consolas,monospace;
}

@media(prefers-color-scheme:dark){
  :root{
    --bg:#1f1f22;
    --paper:#27272b;
    --header:#242428;
    --text:#f4efe6;
    --muted:#b9b3ab;
    --line:#3a3a40;
    --line-strong:#55555b;
    --accent:#829dff;
    --accent-hover:#a9baff;
    --accent-strong:#3d6af2;
    --accent-soft:#282e43;
    --warning:#2b2b30;
    --shadow:8 8 12;
  }
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:17px;line-height:1.7;text-rendering:optimizeLegibility}
a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:.2em}
a{transition:color .2s ease,text-decoration-color .2s ease}
a:hover{color:var(--accent-hover);text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.shell{width:min(var(--max),calc(100% - 44px));margin-inline:auto}
.skip-link{position:fixed;top:12px;left:12px;z-index:30;padding:.65rem .9rem;border-radius:var(--radius);background:var(--text);color:var(--paper);transform:translateY(-160%)}
.skip-link:focus{transform:none}

.site-header{position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--header) 94%,transparent);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}
.nav{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:2rem}
.brand{color:var(--text);font-size:1.08rem;font-weight:750;letter-spacing:-.025em;text-decoration:none;white-space:nowrap}
.brand:hover{color:var(--text);text-decoration:none}
.nav nav{align-self:stretch;display:flex;align-items:center;gap:1.8rem}
.nav nav a{height:100%;display:flex;align-items:center;border-bottom:3px solid transparent;color:var(--muted);font-size:.86rem;font-weight:650;text-decoration:none;white-space:nowrap;transition:color .2s ease,border-color .2s ease}
.nav nav a:hover{color:var(--text)}
.nav nav a[aria-current="page"]{border-bottom-color:var(--accent-strong);color:var(--text)}

.legal-hero{padding:clamp(4.5rem,8vw,7.2rem) 0 clamp(3.4rem,6vw,5.2rem);background:var(--header);border-bottom:1px solid var(--line)}
.legal-hero h1{max-width:900px;margin:0;font-family:var(--display);font-size:clamp(3.5rem,7vw,6.8rem);font-weight:600;line-height:.9;letter-spacing:-.055em;text-wrap:balance}
.legal-hero .summary{max-width:620px;margin:1.45rem 0 0;color:var(--muted);font-size:1.08rem;line-height:1.55;text-wrap:pretty}
.meta{display:flex;flex-wrap:wrap;gap:.55rem 1.4rem;margin-top:2rem;color:var(--muted);font-family:var(--mono);font-size:.72rem;font-variant-numeric:tabular-nums}
.meta span{padding-right:1.4rem;border-right:1px solid var(--line-strong)}.meta span:last-child{padding-right:0;border-right:0}

.legal-layout{display:grid;grid-template-columns:240px minmax(0,var(--reading));gap:clamp(3rem,7vw,7rem);padding-block:5rem 9rem;align-items:start}
.toc-wrap{min-width:0}.desktop-toc{position:sticky;top:105px;padding-top:.15rem}
.desktop-toc strong,.mobile-toc summary{display:block;margin-bottom:1rem;color:var(--text);font-size:.75rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}
.desktop-toc ol,.mobile-toc ol{margin:0;padding:0;list-style:none}.desktop-toc ol{counter-reset:toc}
.desktop-toc li+li,.mobile-toc li+li{margin-top:.08rem}
.desktop-toc li{counter-increment:toc}
.desktop-toc a{display:grid;grid-template-columns:2rem 1fr;gap:.3rem;padding:.24rem 0;color:var(--muted);font-size:.78rem;line-height:1.45;text-decoration:none}
.desktop-toc a::before{content:counter(toc,decimal-leading-zero);color:color-mix(in srgb,var(--accent) 75%,var(--muted));font-family:var(--mono);font-size:.62rem;line-height:1.8}
.mobile-toc a{display:block;padding:.16rem 0;color:var(--muted);font-size:.78rem;line-height:1.45;text-decoration:none}
.desktop-toc a:hover,.mobile-toc a:hover{color:var(--text);text-decoration:underline}
.mobile-toc{display:none}

.legal{min-width:0;padding:clamp(1.6rem,4vw,4rem);border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);box-shadow:0 1px 2px rgb(var(--shadow) / .06),0 10px 30px rgb(var(--shadow) / .07)}
.legal .scope{margin:0 0 3.8rem;padding:1.25rem 1.4rem;border:1px solid color-mix(in srgb,var(--accent) 18%,var(--line));border-radius:10px;background:color-mix(in srgb,var(--accent-soft) 72%,var(--paper))}
.legal .scope p{margin:.35rem 0 0;color:var(--muted)}
.app-list{display:grid;gap:.55rem;margin:1rem 0!important;padding:0!important;list-style:none}
.app-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem 1.5rem;padding:.85rem 1rem;border:1px solid var(--line);border-radius:8px;background:var(--paper)}
.app-identity{display:flex;align-items:baseline;gap:.75rem;min-width:0}
.app-identity strong{font-size:1rem}
.app-identity span{color:var(--muted);font-family:var(--mono);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase}
.app-list code{min-width:0;color:var(--muted);font-family:var(--mono);font-size:.72rem;overflow-wrap:anywhere}
.legal section{scroll-margin-top:120px;margin:0 0 4.5rem}
.legal section+section{padding-top:4.5rem;border-top:1px solid var(--line)}
.legal section:last-child{margin-bottom:0}
.legal h2{margin:0 0 1.25rem;color:var(--text);font-size:clamp(1.65rem,3vw,2.35rem);font-weight:720;line-height:1.1;letter-spacing:-.04em;text-wrap:balance}
.legal h3{margin:2rem 0 .45rem;color:var(--text);font-size:1rem;font-weight:700}
.legal p,.legal li{color:var(--muted);line-height:1.76;text-wrap:pretty}
.legal p{max-width:65ch;margin:.8rem 0}
.legal strong{color:var(--text)}
.legal ul{max-width:66ch;padding-left:1.25rem}
.legal li+li{margin-top:.38rem}
.contact-block{padding:1.3rem 1.4rem;border:1px solid color-mix(in srgb,var(--accent) 18%,var(--line));border-radius:10px;background:color-mix(in srgb,var(--accent-soft) 72%,var(--paper))}
.contact-block p{margin:.25rem 0}
.request-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1rem}
.request-callout .request-button{display:inline-flex;padding:.7rem 1rem;border:1px solid var(--accent);border-radius:8px;background:var(--accent);color:var(--paper);font-size:.88rem;font-weight:750;text-decoration:none}
.request-callout .request-button:hover{background:var(--accent-hover);color:var(--paper);text-decoration:none}
.request-callout .request-button.secondary{background:transparent;color:var(--accent)}
.request-callout .request-button.secondary:hover{background:var(--accent-soft);color:var(--accent-hover)}
.steps{max-width:65ch;margin:1.2rem 0;padding-left:1.5rem!important}
.steps li{padding-left:.35rem}.steps li+li{margin-top:.7rem}
.data-grid{display:grid;grid-template-columns:1fr 1fr;gap:.85rem;margin:1.5rem 0}
.data-grid article,.retention-list article{padding:1.15rem 1.2rem;border:1px solid var(--line);border-radius:9px;background:var(--header)}
.data-grid h3,.retention-list h3{margin:0 0 .35rem}.data-grid p,.retention-list p{margin:.35rem 0;font-size:.94rem}
.retention-list{display:grid;gap:.85rem;margin:1.5rem 0}

.provider-groups{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin:1.5rem 0 1.8rem}
.provider-groups>div{padding:1.35rem;border:1px solid var(--line);border-radius:10px;background:var(--header);box-shadow:0 1px 2px rgb(var(--shadow) / .04)}
.provider-groups h3{margin:0 0 .9rem}
.link-list{margin:0;padding:0!important;list-style:none}
.link-list li{display:grid;gap:.18rem;padding:.75rem 0}
.link-list li:first-child{padding-top:0}.link-list li:last-child{padding-bottom:0}
.link-list li+li{border-top:1px solid var(--line)}
.link-list a{font-weight:700;line-height:1.35}
.link-list span{color:var(--muted);font-size:.82rem;line-height:1.45}

.site-footer{padding:2.8rem 0;border-top:1px solid var(--line);background:var(--header)}
.footer-grid{display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:end}
.footer-links{display:flex;flex-wrap:wrap;gap:1.15rem}.footer-links a{font-size:.8rem}

@media(max-width:860px){
  .legal-layout{grid-template-columns:1fr;gap:1.25rem;padding-top:2rem}
  .desktop-toc{display:none}.mobile-toc{display:block;padding:1rem 1.1rem;border:1px solid var(--line);border-radius:10px;background:var(--paper);box-shadow:0 1px 2px rgb(var(--shadow) / .04)}
  .mobile-toc summary{cursor:pointer;margin:0;list-style-position:inside}.mobile-toc[open] summary{margin-bottom:.8rem}
  .mobile-toc ol{columns:2;column-gap:2rem}.mobile-toc a{padding:.22rem 0}
  .provider-groups{grid-template-columns:1fr}
  .data-grid{grid-template-columns:1fr}
}

@media(max-width:620px){
  body{font-size:16px}.shell{width:calc(100% - 28px)}
  .site-header{position:relative}.nav{min-height:auto;display:grid;grid-template-columns:1fr;gap:.7rem;padding-block:.85rem}.nav nav{height:36px;gap:1.25rem}.nav nav a{height:36px;font-size:.8rem}
  .legal-hero{padding:3.6rem 0 3rem}.legal-hero h1{font-size:3.5rem}.legal-hero .summary{font-size:1rem}
  .meta{display:grid;gap:.35rem}.meta span{padding:0;border:0}
  .legal-layout{padding-bottom:5rem}.mobile-toc ol{columns:1}.legal{padding:1.25rem;border-radius:10px;box-shadow:0 1px 2px rgb(var(--shadow) / .05)}.legal .scope{margin-bottom:3rem;padding:1rem 1.1rem}.legal section{scroll-margin-top:1rem;margin-bottom:3.5rem}.legal section+section{padding-top:3.5rem}.legal h2{font-size:1.75rem}
  .app-list li{grid-template-columns:1fr;gap:.35rem;padding:.8rem}.app-identity{justify-content:space-between}.app-list code{font-size:.68rem}
  .footer-grid{grid-template-columns:1fr;align-items:start}.footer-links{display:grid;gap:.55rem}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

@media print{
  :root{color-scheme:light;--bg:#fff;--paper:#fff;--header:#fff;--text:#111;--muted:#333;--line:#bbb;--accent:#111;--accent-strong:#111;--accent-soft:#f5f5f5}
  .site-header,.toc-wrap,.site-footer,.skip-link{display:none}.legal-hero{padding:0 0 1.5rem}.legal-layout{display:block;padding:2rem 0}.shell{width:auto}.legal{padding:0;border:0;box-shadow:none}.legal section{break-inside:avoid-page;margin-bottom:2rem}a{color:inherit;text-decoration:none}
}
