:root { color-scheme: light; --ink:#18221f; --muted:#53645c; --line:#d5ddd5; --paper:#f4f7f1; --accent:#0f705a; }
* { box-sizing:border-box; }
html { font-family:-apple-system,BlinkMacSystemFont,"Noto Sans TC","PingFang TC",sans-serif; }
body { margin:0; color:var(--ink); background:var(--paper); line-height:1.7; }
a { color:var(--accent); text-underline-offset:3px; }
.page { max-width:1050px; margin:auto; padding:0 32px; }
.topbar { display:flex; justify-content:space-between; align-items:center; min-height:88px; border-bottom:1px solid var(--line); }
.topbar a { text-decoration:none; }
.brand { font-weight:750; letter-spacing:.02em; color:var(--ink); }
.hero { padding:110px 0 75px; }
.eyebrow { display:inline-block; color:var(--accent); font-weight:700; font-size:.8rem; letter-spacing:.1em; text-transform:uppercase; }
h1 { font-size:clamp(2.8rem,7vw,5.6rem); line-height:1.08; letter-spacing:-.055em; margin:22px 0 28px; }
.lead { max-width:770px; font-size:1.25rem; color:var(--muted); line-height:1.8; }
.grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.card { padding:30px; min-height:250px; background:#fff; border:1px solid var(--line); border-radius:18px; }
.number { color:var(--accent); font-weight:800; font-size:.78rem; letter-spacing:.12em; }
h2 { font-size:1.25rem; letter-spacing:-.02em; margin:24px 0 10px; }
.card p { margin:0; color:var(--muted); }
.notice { border-top:1px solid var(--line); margin-top:78px; padding:34px 0 72px; }
.notice h2 { margin-top:0; }
.notice p { max-width:740px; color:var(--muted); }
.policy { max-width:790px; padding:86px 0 70px; }
.policy h1 { font-size:clamp(2.8rem,6vw,4.8rem); }
.policy h2 { margin:52px 0 12px; font-size:1.42rem; }
.policy p { color:var(--muted); margin:0; }
code { font-size:.9em; overflow-wrap:anywhere; color:#144d3d; }
footer { border-top:1px solid var(--line); padding:28px 0 50px; color:var(--muted); font-size:.85rem; }
@media (max-width:700px) { .page { padding:0 22px; } .hero { padding:72px 0 46px; } .grid { grid-template-columns:1fr; } .card { min-height:0; } .policy { padding-top:60px; } }
