:root{--paper:#f6f3ec;--ink:#232220;--ink-2:#5c5954;--ink-3:#8f8b83;--line:#d9d3c6;--seal:#a4392b;--moss:#4f6b4f;
--serif:"Songti SC","STSong","Noto Serif SC","Noto Serif CJK SC","Source Han Serif SC",Georgia,"Times New Roman",serif}
*{box-sizing:border-box}
html{background:var(--paper)}
body{margin:0;color:var(--ink);font-family:var(--serif);font-size:17px;line-height:1.85;-webkit-font-smoothing:antialiased}
.page{max-width:680px;margin:0 auto;padding:72px 22px 80px}
a{color:inherit}
.hero{text-align:center;margin-bottom:56px}
.enso{width:64px;height:64px;display:block;margin:0 auto}
.enso path{fill:none;stroke:var(--ink);stroke-width:5;stroke-linecap:round;opacity:.85}
h1{font-weight:500;letter-spacing:.06em;font-size:34px;margin:14px 0 8px}
.sub{color:var(--ink-2);margin:0;font-size:19px}
.sub2{color:var(--ink-3);font-size:14px;letter-spacing:.06em;margin:10px 0 0}
.cards{display:flex;flex-direction:column;gap:36px}
.card{padding:28px 0 26px;border-top:1px solid var(--line)}
.kicker{margin:0 0 6px;color:var(--ink-3);font-size:12px;letter-spacing:.3em}
.card h2{font-weight:500;font-size:26px;letter-spacing:.03em;margin:0 0 12px;line-height:1.5}
.card h2 a{text-decoration:none}
.card h2 a:hover{text-decoration:underline;text-underline-offset:6px;text-decoration-color:var(--line)}
.desc{margin:0 0 8px;color:var(--ink-2)}
.desc.en{color:var(--ink-3);font-size:14px;letter-spacing:.02em}
.links{margin:18px 0 0;display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.btn{display:inline-block;font-size:15px;letter-spacing:.12em;padding:7px 22px;color:var(--ink);border:1px solid var(--ink);border-radius:999px;text-decoration:none;transition:background .25s,color .25s}
.btn:hover{background:var(--ink);color:var(--paper)}
.dl{font-size:14px;color:var(--ink-2);text-decoration:underline;text-underline-offset:5px;text-decoration-color:var(--line)}
.dl:hover{color:var(--ink);text-decoration-color:var(--ink)}
.note{margin:8px 0 0;color:var(--ink-3);font-size:13px}
.foot{margin-top:72px;border-top:1px solid var(--line);padding-top:22px;color:var(--ink-3);font-size:13px;text-align:center;line-height:1.9}
.foot p{margin:0 0 6px}
.copy{letter-spacing:.05em;margin-top:10px}
@media (max-width:560px){.page{padding:48px 18px 60px}h1{font-size:28px}.card h2{font-size:22px}}
