:root{--bg:#0b1220;--ink:#111827;--muted:#6b7280;--card:#ffffff;--line:#e5e7eb;--accent:#f59e0b}
*{box-sizing:border-box}
body{margin:0;background:#f8fafc;color:var(--ink);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif}
.topbar{background:#111827;color:#e5e7eb}
.topbar a{color:#fbbf24}
.hero-wrap{background:linear-gradient(125deg,#111827 0%,#1f2937 55%,#0b1220 100%);color:#fff;position:relative;overflow:hidden}
.hero-wrap:after{content:"";position:absolute;right:-120px;top:-80px;width:320px;height:320px;background:rgba(245,158,11,.18);border-radius:50%}
.hero-chip{display:inline-block;background:rgba(245,158,11,.16);border:1px solid rgba(245,158,11,.45);padding:.35rem .75rem;border-radius:999px;font-size:.85rem}
.hero-title{font-size:clamp(2rem,4vw,3.1rem);line-height:1.08;font-weight:800;max-width:12ch;margin:0}
.hero-sub{margin-top:1rem;color:#d1d5db;max-width:52ch}
.hero-panel{background:rgba(255,255,255,.08);backdrop-filter: blur(2px);border:1px solid rgba(255,255,255,.22);padding:1.15rem;border-radius:14px}
.hero-panel h2{font-size:1.2rem;margin:0 0 .75rem}
.hero-panel ul{margin:0;padding-left:1.1rem;color:#e5e7eb}
.catalog-section{background:#fff}
.section-head h2{font-size:1.9rem;margin:0}
.book-card{height:100%;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:1rem;box-shadow:0 10px 24px rgba(2,6,23,.06)}
.book-card .book-no{font-weight:800;font-size:.8rem;opacity:.6;margin-bottom:.35rem}
.book-card h3{font-size:1.2rem;min-height:2.6rem}
.book-card p{color:var(--muted);min-height:4.6rem}
.book-card .price{font-weight:800;font-size:1.25rem;margin:0 0 .8rem}
.b1{border-top:4px solid #1d4ed8}.b2{border-top:4px solid #9333ea}.b3{border-top:4px solid #059669}
.newsletter-section{background:linear-gradient(180deg,#f1f5f9 0%,#e2e8f0 100%)}
.newsletter-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:1rem;align-items:center;background:#fff;border:1px solid #dbe3ef;border-radius:16px;padding:1.2rem}
.newsletter-form{display:flex;gap:.5rem}
.newsletter-form input{flex:1;min-height:46px;padding:0 .8rem;border:1px solid #cbd5e1;border-radius:10px}
.newsletter-form button{min-height:46px;padding:0 1rem;border:0;border-radius:10px;background:#111827;color:#fff;font-weight:700}
.contact-section{background:#fff}
.contact-form{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:1rem}
footer{border-top:1px solid #e5e7eb;background:#fff;color:#64748b}
@media (max-width:900px){.newsletter-grid{grid-template-columns:1fr}.newsletter-form{flex-direction:column}}

