*{box-sizing:border-box}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;color:#1d1d1f;background:#fafaf8;line-height:1.6}
a{color:inherit;text-decoration:none}
.site-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid #e5e5e0;background:#fff}
.logo{font-weight:700;font-size:1.3rem;letter-spacing:-.02em}
nav a{margin-left:18px;font-size:.95rem;color:#555}
nav a:hover{color:#000}
main{max-width:1040px;margin:0 auto;padding:24px}
.hero{padding:56px 0 32px}
.hero h1{font-size:2.6rem;margin:0 0 8px;letter-spacing:-.03em}
.hero p{color:#666;margin:0;font-size:1.1rem}
.section-title{font-size:1.1rem;color:#888;text-transform:uppercase;letter-spacing:.08em;margin:24px 0 12px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}
.card{background:#fff;border:1px solid #e5e5e0;border-radius:12px;overflow:hidden}
.card img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block}
.card-body{padding:16px}
.card h2{margin:6px 0 8px;font-size:1.2rem}
.card p{margin:0 0 8px;color:#555;font-size:.95rem}
.tag{display:inline-block;font-size:.75rem;background:#eef3ff;color:#2a56c6;padding:2px 8px;border-radius:999px}
time{font-size:.8rem;color:#999}
.post{max-width:720px;margin:0 auto}
.post-cover{width:100%;border-radius:12px;margin:16px 0 24px}
.post h1{font-size:2.2rem;margin:8px 0;letter-spacing:-.03em}
.post-body{margin-top:24px;font-size:1.05rem}
footer{text-align:center;color:#999;font-size:.85rem;padding:40px 24px}
