.legal-wrap{max-width:1040px}
.legal-card{padding:40px 46px;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow)}
.legal-card section+section{margin-top:30px}
.legal-card h2{font-size:23px;color:var(--blue);margin:0 0 12px}
.legal-card p{margin:0 0 14px;overflow-wrap:anywhere}
.legal-card a{color:var(--blue);text-underline-offset:3px}
.legal-date{font-family:var(--font-head);font-size:13px;color:#596575;border-bottom:1px solid #e0e7f0;padding-bottom:22px;margin-bottom:28px!important}
.archive-tools{margin-bottom:28px}
.archive-tools label{display:block;font-family:var(--font-head);font-weight:600;margin-bottom:10px;color:var(--blue)}
.archive-tools input{display:block;width:100%;max-width:640px;border:1px solid #becde0;border-radius:12px;padding:14px 18px;font:inherit;background:#fff;color:var(--heading)}
.archive-tools input:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.archive-tools p{font-size:14px;margin-top:12px}
.archive-list{display:grid;gap:16px}
.archive-entry{display:grid;grid-template-columns:135px minmax(0,1fr);gap:24px;padding:24px 28px;background:white;border-radius:var(--radius);box-shadow:var(--shadow)}
.archive-entry time{font:500 13px/1.6 var(--font-head);color:#596575}
.archive-entry h2{font-size:20px;line-height:1.45;margin:0 0 10px}
.archive-entry a{color:var(--blue);text-decoration:none}
.archive-entry a:hover{text-decoration:underline;color:var(--red)}
.archive-entry p{font-size:14px;margin:0}
.archive-pagination{display:flex;align-items:center;justify-content:center;gap:22px;margin-top:36px}
.archive-pagination button:disabled{opacity:.45;cursor:default;transform:none}
.archive-notice{font-size:13px;color:#596575;margin-bottom:24px!important}
.archive-image{margin-bottom:28px}
.archive-image img{width:100%;height:auto;max-height:640px;object-fit:contain;border-radius:12px}
.archive-article .article-content img{display:block;max-width:100%;height:auto;margin:22px auto;border-radius:10px}
.archive-article .article-content table{display:block;max-width:100%;overflow-x:auto}
.archive-article .article-content a{overflow-wrap:anywhere}
.archive-back{margin-top:30px!important}
@media(max-width:720px){.legal-card{padding:28px 24px}.legal-card h2{font-size:21px}.archive-entry{grid-template-columns:1fr;gap:8px;padding:22px 24px}.archive-entry h2{font-size:18px}.archive-pagination{gap:12px}.archive-pagination .btn{padding:12px 16px}}
