*{box-sizing:border-box}
:root{--bg:#f4efe6;--paper:#fffdf8;--ink:#2b2620;--muted:#6b6155;--accent:#3f5d4a;--accent2:#4f7259;--line:#d9cfbe;--gold:#a9863f}
html{scroll-behavior:smooth}
[id]{scroll-margin-top:84px}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Georgia","Iowan Old Style",serif;line-height:1.7;-webkit-font-smoothing:antialiased}
a{color:var(--accent);text-decoration:none}
.wrap{max-width:1080px;margin:0 auto;padding:0 24px}
header.site{border-bottom:1px solid var(--line);background:rgba(255,253,248,.85);backdrop-filter:blur(6px);position:sticky;top:0;z-index:10}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{font-size:1.05rem;letter-spacing:.28em;text-transform:uppercase;color:var(--ink);font-family:"Helvetica Neue",Arial,sans-serif;font-weight:600}
.brand small{display:block;letter-spacing:.12em;font-size:.55rem;color:var(--accent);font-weight:600;margin-top:2px}
nav.top a{margin-left:22px;font-family:"Helvetica Neue",Arial,sans-serif;font-size:.82rem;letter-spacing:.05em;color:var(--muted)}
nav.top a:hover{color:var(--accent)}
nav.top a.lang{border:1px solid var(--line);border-radius:999px;padding:5px 14px;color:var(--accent)}
.hero{text-align:center;padding:70px 0 40px}
.hero .eyebrow{text-transform:uppercase;letter-spacing:.3em;font-size:.72rem;color:var(--accent);font-family:"Helvetica Neue",Arial,sans-serif;margin:0 0 14px}
.hero h1{font-size:3rem;margin:0 0 10px;letter-spacing:.01em}
.hero p.tag{color:var(--muted);font-style:italic;font-size:1.15rem;margin:0 auto;max-width:640px}
.hr{width:66px;height:2px;background:var(--accent);border:0;margin:28px auto}
.section-title{text-align:center;font-family:"Helvetica Neue",Arial,sans-serif;text-transform:uppercase;letter-spacing:.22em;font-size:.8rem;color:var(--accent);margin:10px 0 30px}
.grid{display:grid;grid-template-columns:repeat(5,1fr);gap:34px 22px;padding:0 0 70px}
@media(max-width:1000px){.grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){.grid{grid-template-columns:repeat(2,1fr);gap:26px 16px}}
.card{display:flex;flex-direction:column}
.band{font-family:"Helvetica Neue",Arial,sans-serif;font-size:.63rem;letter-spacing:.13em;text-transform:uppercase;color:var(--gold);font-weight:700;margin:15px 0 4px}
.detail .band{margin:0 0 8px}
.card a.cov{display:block;position:relative;border-radius:5px;overflow:hidden;box-shadow:0 12px 30px rgba(0,0,0,.16);transition:transform .25s ease,box-shadow .25s ease;background:#ece4d5}
.card a.cov:hover{transform:translateY(-6px);box-shadow:0 20px 44px rgba(0,0,0,.24)}
.card a.cov img{display:block;width:100%;aspect-ratio:1/1.55;object-fit:cover}
.badge18{position:absolute;top:10px;right:10px;background:rgba(43,38,32,.82);color:#fff;font-family:"Helvetica Neue",Arial,sans-serif;font-size:.62rem;letter-spacing:.08em;padding:3px 8px;border-radius:999px}
.card h3{font-size:1.12rem;margin:0 0 5px;line-height:1.25}
.card .genre{font-family:"Helvetica Neue",Arial,sans-serif;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);margin:0 0 6px}
.card .ctag{color:var(--muted);font-style:italic;font-size:.95rem;margin:0 0 12px;flex:1}
.card .more{font-family:"Helvetica Neue",Arial,sans-serif;font-size:.78rem;letter-spacing:.06em;color:var(--accent)}
/* detail */
.detail{display:grid;grid-template-columns:340px 1fr;gap:52px;padding:52px 0 40px;align-items:start}
.detail .coverbox{position:sticky;top:88px}
.detail .coverbox img{width:100%;border-radius:6px;box-shadow:0 20px 50px rgba(0,0,0,.22)}
.detail .genre{font-family:"Helvetica Neue",Arial,sans-serif;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin:0 0 10px}
.detail h1{font-size:2.3rem;margin:0 0 12px;line-height:1.15}
.detail .tag{font-style:italic;color:var(--muted);font-size:1.2rem;margin:0 0 22px}
.detail .blurb p{margin:0 0 16px}
.buybox{margin:30px 0 8px;padding:22px 24px;background:#f0ece1;border-left:3px solid var(--accent);border-radius:5px}
.buybox h4{margin:0 0 14px;font-family:"Helvetica Neue",Arial,sans-serif;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
.btns{display:flex;flex-wrap:wrap;gap:12px}
.btn{display:inline-flex;align-items:center;gap:8px;font-family:"Helvetica Neue",Arial,sans-serif;font-size:.9rem;letter-spacing:.02em;padding:12px 20px;border-radius:6px;border:1px solid var(--accent);color:var(--accent);background:transparent;cursor:pointer;transition:.18s}
.btn:hover{background:var(--accent);color:#fff}
.btn.primary{background:var(--accent);color:#fff}
.btn.primary:hover{background:var(--accent2)}
.btn.disabled{border-color:var(--line);color:#b3a892;pointer-events:none;background:transparent}
.adultnote{font-family:"Helvetica Neue",Arial,sans-serif;font-size:.74rem;color:var(--muted);margin:16px 0 0}
.back{display:inline-block;margin:6px 0 0;font-family:"Helvetica Neue",Arial,sans-serif;font-size:.8rem;letter-spacing:.05em;color:var(--muted)}
footer.site{border-top:1px solid var(--line);padding:34px 0;margin-top:20px;color:var(--muted);font-family:"Helvetica Neue",Arial,sans-serif;font-size:.78rem}
footer.site .wrap{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:center}
footer.site a{color:var(--muted)}footer.site a:hover{color:var(--accent)}
.aff{font-size:.72rem;opacity:.85;max-width:520px}
/* coming soon */
.card.soon .cov{position:relative;display:block;border-radius:5px;overflow:hidden;box-shadow:0 12px 30px rgba(0,0,0,.14)}
.card.soon .cov img{display:block;width:100%;aspect-ratio:1/1.55;object-fit:cover;filter:grayscale(.35) opacity(.82)}
.badge-soon{position:absolute;top:10px;left:10px;background:var(--gold);color:#fff;font-family:"Helvetica Neue",Arial,sans-serif;font-size:.6rem;letter-spacing:.09em;text-transform:uppercase;padding:4px 10px;border-radius:999px}
.card .soonlabel{font-family:"Helvetica Neue",Arial,sans-serif;font-size:.8rem;letter-spacing:.04em;color:var(--gold);font-style:italic;margin:0}
/* leseprobe */
.lp{max-width:680px;margin:0 auto;padding:44px 0 30px}
.lp .eyebrow{text-transform:uppercase;letter-spacing:.28em;font-size:.7rem;color:var(--accent);font-family:"Helvetica Neue",Arial,sans-serif;margin:0 0 10px}
.lp .band{color:var(--gold)}
.lp h1{font-size:2.1rem;margin:0 0 26px;line-height:1.15}
.lp .chap{font-size:1.08rem;line-height:1.9}
.lp .chap h3{font-family:"Helvetica Neue",Arial,sans-serif;font-size:.82rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin:34px 0 16px}
.lp .chap p{margin:0 0 18px}
.lp .fade{position:relative;height:120px;margin-top:-120px;background:linear-gradient(to bottom,rgba(255,253,248,0),var(--paper))}
.lp .cta{text-align:center;margin:30px 0 10px;padding:28px;background:#f0ece1;border-radius:6px}
.lp .cta p{margin:0 0 16px;color:var(--muted);font-style:italic}
/* about + legal */
.about{max-width:680px;margin:0 auto;padding:50px 0 40px}
.about .eyebrow{text-transform:uppercase;letter-spacing:.28em;font-size:.72rem;color:var(--accent);font-family:"Helvetica Neue",Arial,sans-serif;margin:0 0 10px}
.about h1{font-size:2.6rem;margin:0 0 6px}
.about .tag{color:var(--muted);font-style:italic;margin:0 0 8px;font-size:1.05rem}
.rule{width:64px;height:2px;background:var(--accent);border:0;margin:20px 0 24px}
.about .bio p{margin:0 0 16px}
.loves{margin:30px 0 6px;padding:22px 26px;background:#f0ece1;border-left:3px solid var(--accent);border-radius:4px}
.loves h2{margin:0 0 12px;font-size:.78rem;text-transform:uppercase;letter-spacing:.18em;color:var(--accent);font-family:"Helvetica Neue",Arial,sans-serif}
.loves ul{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:10px}
.loves li{background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:6px 16px;font-size:.95rem}
.seriesnote{max-width:760px;margin:0 auto 44px;text-align:center;padding:30px 36px;background:#f0ece1;border:1px solid var(--line);border-radius:8px}
.seriesnote h2{font-family:"Georgia","Iowan Old Style",serif;font-size:1.4rem;color:var(--accent);margin:0 0 12px}
.seriesnote p{margin:0;color:var(--ink);font-size:1.04rem;line-height:1.85}
.seriepage{max-width:720px;margin:0 auto;padding:52px 0 40px;text-align:center}
.seriepage .eyebrow{text-transform:uppercase;letter-spacing:.28em;font-size:.72rem;color:var(--accent);font-family:"Helvetica Neue",Arial,sans-serif;margin:0 0 12px}
.seriepage h1{font-size:2.2rem;margin:0 0 24px;line-height:1.2}
.seriepage p{font-size:1.08rem;line-height:1.9;color:var(--ink)}
.legal{max-width:720px;margin:0 auto;padding:44px 0 40px;font-size:1.02rem}
.legal h1{font-size:2rem;margin:0 0 24px}
.legal p{margin:0 0 16px}
@media(max-width:720px){.hero h1{font-size:2.1rem}.detail{grid-template-columns:1fr;gap:26px}.detail .coverbox{position:static;max-width:280px;margin:0 auto}.about{grid-template-columns:1fr;gap:24px}.about .photo{max-width:250px;margin:0 auto}}
