:root{--navy:#071b45;--blue:#075fcf;--teal:#08aeb4;--ice:#f4f9fc;--muted:#51627a;--line:#dce6ef;--white:#fff}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--navy);background:var(--white);font:400 1rem/1.7 "DM Sans",sans-serif}
h1,h2,h3{margin:0;color:var(--navy);font-family:Manrope,sans-serif;line-height:1.12}
a{color:var(--blue)}
a:focus-visible{outline:3px solid rgba(7,95,207,.2);outline-offset:3px}
header{position:sticky;top:0;z-index:5;height:88px;padding:0 max(32px,calc((100vw - 1320px)/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(255,255,255,.96);backdrop-filter:blur(14px)}
header img{display:block;width:190px;height:70px;object-fit:contain}
.back{font-size:.95rem;font-weight:700;text-decoration:none}
main{max-width:1260px;margin:auto;padding:60px 32px 110px;display:grid;grid-template-columns:210px minmax(0,860px);gap:64px}
aside{position:sticky;top:132px;height:max-content}
aside>p{margin:0 0 20px;font:800 1.05rem Manrope,sans-serif}
aside nav a{display:block;padding:9px 0;color:var(--muted);font-size:.95rem;text-decoration:none}
aside nav a:hover{color:var(--blue)}
.legal-hero{padding-bottom:38px;border-bottom:1px solid var(--line)}
.eyebrow{margin:0 0 14px;color:var(--teal);font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.legal-hero h1{margin:0 0 16px;font-size:clamp(2.65rem,3.7vw,3.6rem);letter-spacing:-.045em}
.legal-hero>p:not(.eyebrow):not(.last-updated){max-width:760px;margin:0;color:var(--muted);font-size:1rem}
.last-updated{margin:18px 0 0;color:var(--muted);font-size:.875rem;font-weight:600}
section{padding:54px 0 10px;scroll-margin-top:112px}
section h2{margin:0 0 22px;font-size:clamp(1.75rem,2.35vw,2.25rem);letter-spacing:-.03em}
section h3{margin:28px 0 8px;font-size:1.05rem}
section p,section li{color:var(--muted)}
section p{margin:0 0 17px}
section ul{margin:10px 0 20px;padding-left:22px}
section li{margin:5px 0;padding-left:3px}
section a{font-weight:700}
.notice{margin-top:30px;padding:24px;border:1px solid var(--line);border-radius:16px;background:var(--ice)}
.notice strong{display:block;margin-bottom:8px}
.notice p{margin-bottom:0}
footer{padding:30px 28px;background:var(--navy);color:#d7e1ef;text-align:center;font-size:.875rem}
@media(max-width:800px){
  header{height:72px;padding:0 20px}
  header img{width:145px;height:54px}
  .back{font-size:.85rem}
  main{grid-template-columns:1fr;gap:34px;padding:42px 20px 80px}
  aside{position:static;padding-bottom:24px;border-bottom:1px solid var(--line)}
  aside nav{display:flex;gap:8px;overflow:auto;padding-bottom:8px}
  aside nav a{white-space:nowrap;padding:8px 12px;border:1px solid var(--line);border-radius:99px;font-size:.85rem}
  .legal-hero{padding-bottom:38px}
  .legal-hero h1{font-size:clamp(2.35rem,10vw,3rem)}
  section{padding-top:46px}
  section h2{font-size:clamp(1.7rem,8vw,2.15rem)}
}
