*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:#2a2230;background:#fbf8f5;line-height:1.5}
.wrap{max-width:1120px;margin:0 auto;padding:0 18px}a{color:#a0305a}
header{background:#fff;border-bottom:1px solid #eee;position:sticky;top:0;z-index:5}.bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:12px 18px}
.logo{font-weight:800;font-size:1.3rem;text-decoration:none;color:#7a1f45}.logo span{color:#1f6b4a;font-weight:600}nav a{margin-left:14px;text-decoration:none;color:#444;font-size:.95rem}
.hero{background:linear-gradient(135deg,#7a1f45,#1f6b4a);color:#fff;padding:48px 0 36px;text-align:center}.hero h1{font-size:clamp(2rem,5vw,3.2rem);margin:.2em 0}.kicker{letter-spacing:.15em;text-transform:uppercase;font-size:.85rem;opacity:.9}.sub{font-size:1.1rem;max-width:640px;margin:0 auto 14px}
.disc{background:#fff6d6;color:#4a3b00;border:1px solid #f0d97a;border-radius:10px;padding:10px 14px;max-width:720px;margin:12px auto;font-size:.95rem}
.quick{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:16px}.quick a{background:rgba(255,255,255,.15);color:#fff;text-decoration:none;padding:8px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.4)}
.cat{padding:30px 0}.cat h2{font-size:1.6rem;margin:0 0 14px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
.card{background:#fff;border-radius:14px;padding:18px;box-shadow:0 2px 10px rgba(0,0,0,.06);display:flex;flex-direction:column}.icon{font-size:2rem}.card h3{font-size:1.02rem;margin:6px 0}.why{flex:1;color:#555;font-size:.93rem}.rate{font-size:.82rem;color:#777;margin:4px 0 12px}
.tags{display:flex;gap:6px;flex-wrap:wrap}.tag{font-size:.72rem;background:#e8f3ee;color:#1f6b4a;padding:2px 8px;border-radius:999px;font-weight:600}
.btn{display:block;text-align:center;background:#ffb41f;color:#111;font-weight:700;text-decoration:none;padding:10px;border-radius:10px}.btn:hover{background:#f2a200}
.note{font-size:.85rem;color:#666;padding-bottom:20px}.page{padding:30px 18px;max-width:800px}footer{background:#2a2230;color:#ddd;padding:20px 0;font-size:.85rem}footer a{color:#ffd27a}footer .disc{margin:0 0 10px}
@media(max-width:600px){nav a{margin:0 10px 0 0}}

.card .thumb{width:100%;aspect-ratio:1;object-fit:contain;border-radius:10px;background:#f3eef0;margin-bottom:8px}
