.legal-header{background:var(--navy);border-bottom:1px solid #253a56}.legal-header .nav-wrap{height:80px}.legal-header .main-nav a[aria-current=page]{color:var(--cyan)}
.legal-hero{background:radial-gradient(ellipse at 72% 38%,#0c2c54 0%,#061427 60%);color:#fff;padding:64px 0 56px}.legal-hero h1{white-space:normal;overflow-wrap:break-word;margin:8px 0 12px;font-size:clamp(32px,5vw,48px);line-height:1.15;letter-spacing:-.02em}.legal-hero p{margin:0;color:#c3d3e6;max-width:720px}.legal-hero .kicker{color:var(--cyan);font-size:12px;font-weight:600;letter-spacing:.12em}
.legal-body{padding:56px 0 80px}.legal-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:56px;align-items:start}
.legal-toc{position:sticky;top:24px;font-size:13px;border-left:2px solid var(--line);padding-left:16px}.legal-toc strong{display:block;margin-bottom:8px;color:var(--navy)}.legal-toc ol{margin:0;padding-left:18px;color:var(--muted)}.legal-toc li{margin:4px 0}.legal-toc a:hover{color:var(--blue)}
.legal-content{max-width:760px;min-width:0}.legal-content h2{margin:40px 0 12px;font-size:22px;line-height:1.3;color:var(--navy);scroll-margin-top:24px}.legal-content h2:first-child{margin-top:0}.legal-content h3{margin:24px 0 8px;font-size:17px;color:var(--navy)}.legal-content p,.legal-content li{color:#2b3d55}.legal-content ul,.legal-content ol{padding-left:22px}.legal-content li{margin:6px 0}.legal-content a{color:var(--blue);text-decoration:underline;overflow-wrap:anywhere}
.legal-note{background:var(--ice);border:1px solid var(--line);border-radius:10px;padding:16px 20px;margin:0 0 32px;font-size:14px}.legal-note p{margin:0}.legal-note p+p{margin-top:8px}
.legal-en{margin-top:48px;padding-top:32px;border-top:1px solid var(--line)}
@media(max-width:860px){.legal-layout{grid-template-columns:1fr;gap:32px}.legal-toc{position:static}.legal-header .main-nav{display:flex;gap:18px}}
@media(max-width:780px){.legal-header .main-nav{display:flex;position:static;flex-direction:row;background:none;padding:0;border:0;gap:18px}.legal-header .main-nav a{padding:0;font-size:14px}}
@media(max-width:560px){.container{width:calc(100% - 32px)}.legal-header .nav-wrap{height:auto;padding:16px 0;flex-wrap:wrap;gap:12px}.legal-header .brand{width:150px}.legal-header .main-nav{margin-left:0;width:100%;flex-wrap:wrap}.legal-hero{padding:44px 0 40px}.legal-body{padding:40px 0 64px}}
