.agreement-page { background-color: var(--c-bg); }
.agreement-main { width: min(100% - 32px, 920px); margin: 0 auto; padding: 52px 0 80px; }
.agreement-document { background: rgba(255,255,255,.82); border: 1px solid var(--c-border); border-radius: var(--radius-xl); box-shadow: var(--shadow-lg); padding: clamp(28px, 6vw, 68px); }
.agreement-header { padding-bottom: 34px; border-bottom: 1px solid var(--c-border); }
.agreement-header > p:first-child { color: var(--c-primary); font-family: var(--font-mono); font-size: 11px; font-weight: 700; letter-spacing: .16em; }
.agreement-header h1 { margin-top: 10px; font-family: var(--font-display); font-size: clamp(38px, 7vw, 58px); font-weight: 500; line-height: 1.12; }
.agreement-dates { display: flex; flex-wrap: wrap; gap: 8px 24px; margin-top: 16px; color: var(--c-text-hint); font-size: 12px; }
.agreement-intro { margin-top: 24px; color: var(--c-text-soft); font-size: 15px; line-height: 1.9; }
.agreement-toc { margin: 32px 0 8px; padding: 24px; border: 1px solid var(--c-border); border-radius: var(--radius-md); background: var(--c-primary-bg); }
.agreement-toc strong { display: block; margin-bottom: 14px; color: var(--c-primary-h); }
.agreement-toc ol { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 28px; padding-left: 20px; }
.agreement-toc a { color: var(--c-text-soft); font-size: 13px; }
.agreement-toc a:hover { color: var(--c-primary); }
.agreement-document section { padding: 34px 0 4px; scroll-margin-top: 82px; }
.agreement-document section h2 { display: flex; align-items: baseline; gap: 12px; margin-bottom: 14px; color: var(--c-text); font-size: 21px; }
.agreement-document section h2 span { color: var(--c-primary); font-family: var(--font-mono); font-size: 12px; }
.agreement-document section p, .agreement-document section li { color: var(--c-text-dim); font-size: 14px; line-height: 1.9; }
.agreement-document section p + p { margin-top: 8px; }
.agreement-document section ul { margin-top: 8px; padding-left: 22px; }
.agreement-actions { display: flex; justify-content: flex-end; gap: 12px; margin-top: 44px; padding-top: 26px; border-top: 1px solid var(--c-border); }
.agreement-actions a { padding: 10px 18px; border: 1px solid var(--c-border); border-radius: 100px; background: var(--c-white); color: var(--c-text-soft); font-weight: 700; }
.agreement-actions a.is-primary { border-color: var(--c-primary); background: var(--c-primary); color: #fff; }
@media (max-width: 620px) { .agreement-main { padding: 20px 0 48px; } .agreement-document { border-radius: var(--radius-lg); } .agreement-toc ol { grid-template-columns: 1fr; } .agreement-actions { justify-content: stretch; } .agreement-actions a { flex: 1; text-align: center; } }
