:root{--ink:#2b2b3a;--accent:#ff6b6b;--accent2:#4ecdc4;--soft:#fff6f0;--card:#fff;--line:#ffe0d3}
*{box-sizing:border-box}
body{margin:0;font-family:'Segoe UI',system-ui,sans-serif;color:var(--ink);background:var(--soft);line-height:1.55}
header.site{background:linear-gradient(135deg,#ffd3b6,#ffaaa5);padding:18px 20px;text-align:center}
header.site .logo{font-size:1.6rem;font-weight:800;color:#fff;text-decoration:none;text-shadow:0 2px 4px rgba(0,0,0,.15)}
header.site .claim{margin:.2rem 0 0;color:#fff;font-weight:600}
main{max-width:1040px;margin:0 auto;padding:24px 18px 48px}
.hero{text-align:center;padding:18px 8px 30px}
.hero h1{font-size:1.9rem;margin:.2rem 0 .6rem}
.hero p{max-width:620px;margin:0 auto;color:#555}
.cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px}
.card{display:flex;flex-direction:column;align-items:center;gap:8px;background:var(--card);border:2px solid var(--line);border-radius:18px;padding:14px;text-decoration:none;color:var(--ink);font-weight:700;transition:transform .12s,box-shadow .12s}
.card:hover{transform:translateY(-3px);box-shadow:0 8px 20px rgba(255,107,107,.18)}
.card img{width:100%;max-width:150px;border-radius:12px}
.cat h1{font-size:1.6rem}
.lead{color:#555;max-width:680px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:18px;margin:22px 0}
.tile{margin:0;background:var(--card);border:2px solid var(--line);border-radius:16px;padding:12px;text-align:center}
.tile img{width:100%;max-width:220px;border-radius:10px}
.tile figcaption{font-weight:700;margin:.4rem 0 .6rem}
.btn{display:inline-block;background:var(--accent2);color:#fff;text-decoration:none;font-weight:700;padding:.5rem .9rem;border-radius:999px;font-size:.92rem}
.btn:hover{filter:brightness(1.05)}
.btn.primary{background:var(--accent)}
.book{background:#fff;border:2px dashed var(--accent);border-radius:16px;padding:16px 18px;margin:14px 0}
.back{margin-top:22px}
.back a,.cat a.back{color:var(--accent);font-weight:700;text-decoration:none}
.legal{max-width:740px}
.legal h1{font-size:1.7rem}
.legal h2{font-size:1.1rem;margin-top:1.3rem}
footer.site{text-align:center;padding:24px 16px;color:#777;font-size:.9rem;border-top:1px solid var(--line);margin-top:30px}
footer.site a{color:var(--accent);text-decoration:none}
