:root { --ink:#262626; --muted:#6b6b6b; --navy:#15215e; --navy-dark:#0e1742; --band:#f4f4f4; --tile:#f2f2f2; --line:#e3e3e3; --white:#ffffff; --serif:Georgia,"Times New Roman",serif; --shadow:0 10px 24px rgba(0,0,0,.14); }
*,*::before,*::after { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; }
body { margin:0; background:var(--white); color:var(--ink); font-family:var(--serif); font-size:18px; line-height:1.55; }
img { display:block; max-width:100%; height:auto; }
a { color:var(--navy); text-underline-offset:.18em; }
h1,h2,h3 { font-weight:400; line-height:1.15; margin:0 0 .5em; color:var(--ink); }
h1 { font-size:clamp(2rem,4.2vw,2.75rem); }
h2 { font-size:clamp(1.5rem,2.6vw,1.9rem); }
h3 { font-size:1.3rem; }
p { margin:0 0 1em; }
.shell { width:min(1180px,calc(100% - 40px)); margin-inline:auto; }
.skip-link { position:absolute; left:-9999px; } .skip-link:focus { left:16px; top:16px; background:var(--white); padding:8px 12px; z-index:50; }
a:focus-visible,button:focus-visible,summary:focus-visible { outline:3px solid var(--navy); outline-offset:3px; }
.preview-bar { background:#fff3cd; color:#5c4400; text-align:center; font-size:.85rem; padding:6px 12px; }

/* Header and footer */
.site-header { background:var(--white); border-bottom:1px solid var(--line); position:sticky; top:0; z-index:20; }
.header-inner { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:84px; }
.brand img { width:200px; color:var(--navy); }
.nav-links { display:flex; gap:32px; }
.site-nav { display:flex; align-items:center; gap:24px; }
.header-search { position:relative; }
.header-search summary { display:flex; align-items:center; justify-content:center; width:44px; height:44px; list-style:none; cursor:pointer; color:var(--navy); border-radius:4px; }
.header-search summary::-webkit-details-marker { display:none; }
.header-search summary:hover,.header-search[open] summary { background:#edf0f7; }
.header-search-panel { position:absolute; top:calc(100% + 15px); right:0; width:min(440px,calc(100vw - 40px)); padding:22px; border:1px solid var(--line); background:var(--white); box-shadow:var(--shadow); }
.header-search-panel label { display:block; margin-bottom:12px; font-size:1.15rem; }
.header-search-row { display:flex; gap:8px; }
.header-search-row input { flex:1; min-width:0; width:100%; padding:10px 12px; border:1px solid #aaa; border-radius:0; font:inherit; }
.header-search-row input:focus-visible { outline:3px solid var(--navy); outline-offset:2px; }
.header-search-row .button { padding:10px 16px; font-size:1rem; }
.header-search-panel .fine { margin:12px 0 0; }
.nav-links a { color:var(--ink); text-decoration:none; font-size:1.05rem; }
.nav-links a:hover { color:var(--navy); text-decoration:underline; }
.nav-toggle { display:none; background:none; border:0; font:inherit; font-size:1.1rem; color:var(--ink); cursor:pointer; padding:8px 0; }
.site-footer { border-top:1px solid var(--line); margin-top:72px; padding:40px 0 56px; color:var(--muted); font-size:.95rem; }
.footer-inner { display:flex; flex-wrap:wrap; justify-content:space-between; gap:24px; }
.footer-inner img { width:170px; margin-bottom:10px; }
.footer-links { display:flex; flex-wrap:wrap; gap:8px 24px; align-items:flex-start; }
.footer-links a { color:var(--ink); }

/* Building blocks */
.band { background:var(--band); }
.section { padding-top:64px; }
.section.tight { padding-top:40px; }
.section-head { display:flex; align-items:baseline; justify-content:space-between; gap:16px; margin-bottom:28px; }
.section-head h2 { margin:0; }
.kicker { color:var(--muted); font-size:1rem; margin-bottom:.4em; }
.lead { font-size:1.2rem; max-width:680px; }
.byline { color:var(--ink); margin-bottom:.3em; }
.meta { color:var(--muted); margin-bottom:.6em; }
.meta a { color:var(--muted); }
.pitch { margin:.6em 0 1em; }
.fine { color:var(--muted); font-size:.85rem; margin-top:.8em; }
.arrow-link { text-decoration:underline; text-underline-offset:.2em; text-decoration-thickness:1px; font-size:1.1rem; white-space:nowrap; }
.arrow-link:hover { text-decoration:underline; }
.arrow-link.underline { text-decoration:underline; text-decoration-thickness:2px; }
.arrow-link.strong { font-weight:700; }
.back-link { text-decoration:none; font-size:1rem; }
.button { display:inline-block; background:var(--navy); color:var(--white); text-decoration:none; padding:16px 28px; font-size:1.15rem; border-radius:0; }
.button:hover { background:var(--navy-dark); }

/* Home intro */
.intro { padding:64px 0; }
.intro-inner { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:48px; align-items:center; }
.intro h1 { font-size:clamp(2.2rem,4.6vw,3.1rem); }
.intro-covers { display:flex; justify-content:center; align-items:flex-end; gap:18px; }
.intro-covers a { flex:1; min-width:0; max-width:170px; transition:transform .18s ease,filter .18s ease; }
.intro-covers a:hover,.intro-covers a:focus-visible { transform:translateY(-6px); filter:brightness(1.03); z-index:2; }
.intro-covers img { width:100%; height:auto; box-shadow:var(--shadow); transition:box-shadow .18s ease; }
.intro-covers a:hover img,.intro-covers a:focus-visible img { box-shadow:0 16px 30px rgba(0,0,0,.2); }

/* Book grid and cards */
.book-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:40px 32px; }
.book-grid.dense { grid-template-columns:repeat(6,minmax(0,1fr)); gap:32px 20px; }
.book-grid.dense h3 { font-size:1.05rem; }
.book-grid.dense .arrow-link { display:none; }
.cover-tile { display:block; background:var(--tile); padding:14% 16%; }
.cover-tile img { width:100%; aspect-ratio:2/3; object-fit:cover; box-shadow:0 6px 14px rgba(0,0,0,.18); }
.book-card-copy { padding-top:18px; }
.book-card h3 { margin-bottom:.3em; }
.book-card h3 a { color:var(--navy); text-decoration:none; }
.book-card h3 a:hover { text-decoration:underline; }

/* Rows (genre list, series list) */
.row-list { list-style:none; margin:0; padding:0; border-top:1px solid var(--line); }
.row-list li { border-bottom:1px solid var(--line); }
.row-link { display:flex; align-items:center; gap:24px; padding:22px 4px; color:var(--ink); text-decoration:none; }
.row-link:hover .row-title { color:var(--navy); text-decoration:underline; }
.row-title { flex:1; font-size:1.35rem; }
.row-title small { display:block; font-size:.95rem; color:var(--muted); margin-top:4px; }
.thumbs { display:flex; gap:6px; }
.thumbs img { width:44px; aspect-ratio:2/3; object-fit:cover; box-shadow:0 2px 6px rgba(0,0,0,.2); }
.row-arrow { font-size:1.6rem; color:var(--navy); }

/* Series cards */
.series-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:56px 40px; }
.series-card { border-bottom:1px solid var(--line); padding-bottom:32px; }
.series-card h3 { font-size:1.5rem; }
.series-card h3 a { color:var(--ink); text-decoration:none; }
.series-card h3 a:hover { color:var(--navy); text-decoration:underline; }
.fan-link { display:block; margin-bottom:22px; }
.cover-fan { position:relative; display:block; height:260px; }
.cover-fan img { position:absolute; bottom:0; left:50%; width:150px; aspect-ratio:2/3; object-fit:cover; box-shadow:var(--shadow); }
.fan-1 img { transform:translateX(-50%); }
.fan-2 img:nth-child(1) { transform:translateX(-80%) rotate(-5deg); z-index:2; } .fan-2 img:nth-child(2) { transform:translateX(-20%) rotate(4deg); z-index:1; }
.fan-3 img:nth-child(1) { transform:translateX(-50%); z-index:3; } .fan-3 img:nth-child(2) { transform:translateX(-105%) rotate(-7deg); z-index:1; } .fan-3 img:nth-child(3) { transform:translateX(5%) rotate(7deg); z-index:1; }

/* All-series directory */
.series-directory-intro { max-width:1180px; }
.series-directory-intro > .lead { max-width:720px; }
.series-directory-nav { margin-top:34px; padding:24px 0 4px; border-top:1px solid #d9d9d9; }
.series-directory-nav .kicker { margin-bottom:12px; }
.genre-chips { display:flex; flex-wrap:wrap; gap:10px; }
.genre-chips a { display:inline-flex; align-items:center; min-height:44px; padding:9px 15px; border:1px solid #c9c9c9; background:var(--white); color:var(--ink); text-decoration:none; font-size:.95rem; line-height:1.25; }
.genre-chips a:hover { border-color:var(--navy); color:var(--navy); text-decoration:underline; }
.genre-directory-section { padding:64px 0 70px; scroll-margin-top:104px; border-top:1px solid var(--line); }
.genre-directory-section:nth-of-type(odd) { background:#fafafa; }
.genre-directory-head { display:flex; align-items:end; justify-content:space-between; gap:32px; margin-bottom:34px; }
.genre-directory-head h2 { margin-bottom:.28em; font-size:clamp(1.85rem,3vw,2.45rem); }
.genre-directory-head p:not(.kicker) { max-width:720px; margin-bottom:0; color:var(--muted); }
.genre-directory-head > .arrow-link { flex:none; margin-bottom:7px; }
.series-directory .series-grid { gap:28px 24px; }
.series-directory .series-card { display:flex; flex-direction:column; min-width:0; padding:24px 24px 26px; border:1px solid var(--line); background:var(--white); box-shadow:0 3px 12px rgba(0,0,0,.05); }
.series-directory .series-card .fan-link { margin:-24px -24px 24px; padding:24px 16px 0; overflow:hidden; background:var(--tile); }
.series-directory .series-card .cover-fan { height:220px; }
.series-directory .series-card .cover-fan img { width:128px; }
.series-directory .series-card h3 { margin-bottom:.2em; }
.series-directory .series-card .pitch { color:var(--muted); }
.series-directory .series-card .arrow-link { margin-top:auto; padding-top:4px; }
.back-to-top { margin:34px 0 0; text-align:right; font-size:.9rem; }
.back-to-top a { color:var(--muted); }

/* Page heads */
.page-head { padding-top:56px; }
.page-band { padding:40px 0 44px; }
.page-band h1 { margin-top:.4em; margin-bottom:.2em; }
.series-band { padding:44px 0 56px; text-align:center; }
.series-head .lead { margin-inline:auto; }
.series-head p:first-child { text-align:left; }
.series-start { margin:20px 0 4px; }
.collage { display:flex; justify-content:center; align-items:flex-end; gap:clamp(8px,2vw,20px); margin-top:32px; }
.collage a { flex:0 1 150px; min-width:0; }
.collage img { width:100%; height:auto; box-shadow:var(--shadow); }

/* Book page */
.book-top { padding-top:32px; }
.book-hero { display:grid; grid-template-columns:minmax(200px,320px) minmax(0,1fr); gap:48px; align-items:start; margin-top:12px; }
.book-cover img { width:100%; box-shadow:var(--shadow); }
.book-summary h1 { margin-bottom:.25em; }
.book-summary .meta { font-size:1.05rem; }
.hook { font-weight:700; font-size:1.2rem; margin:1.2em 0; max-width:640px; }
.release { font-size:1.05rem; color:var(--navy); }
.buy { margin-top:.6em; min-width:260px; text-align:center; }
.narrow-copy { max-width:780px; margin-left:max(20px,calc((100% - 1180px)/2)); }
.prose p { font-size:1.1rem; }
.more summary { cursor:pointer; color:var(--navy); font-weight:700; font-size:1.1rem; list-style:none; margin:.4em 0 1em; }
.more summary::-webkit-details-marker { display:none; }
.more summary::after { content:" ⌄"; }
.more[open] summary { display:none; }
.series-strip { background:var(--band); padding:28px 32px 32px; }
.series-strip h2 { font-size:1.5rem; margin-bottom:.3em; }
.strip-covers { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin:16px 0 22px; }
.strip-covers a { width:72px; }
.strip-covers img { aspect-ratio:2/3; object-fit:cover; box-shadow:0 3px 8px rgba(0,0,0,.2); }
.strip-covers a[aria-current="page"] { outline:3px solid var(--navy); outline-offset:3px; }
.more-count { color:var(--muted); margin-left:6px; }

/* All-books navigation */
.book-directory-intro > .lead { margin-bottom:28px; }
.book-search { max-width:720px; padding:22px 24px; border:1px solid #d7d7d7; background:var(--white); }
.book-search label { display:block; margin-bottom:8px; font-weight:700; }
.book-search-row { display:flex; gap:10px; }
.book-search input { width:100%; min-height:48px; padding:10px 13px; border:1px solid #aaa; border-radius:0; background:var(--white); color:var(--ink); font:inherit; }
.book-search input:focus { border-color:var(--navy); outline:3px solid rgba(21,33,94,.18); outline-offset:1px; }
.book-search-clear { flex:none; min-height:48px; padding:8px 14px; border:1px solid var(--navy); background:var(--white); color:var(--navy); font:inherit; cursor:pointer; }
.book-search-clear:hover { background:#f0f2fa; }
.book-search .fine { margin:8px 0 0; }
.book-directory-nav { margin-top:24px; }
.book-directory-nav .kicker { margin-bottom:10px; }
.book-directory-section { scroll-margin-top:104px; }
.book-empty { padding-top:56px; }

/* Privacy page (content/datenschutz.html) */
.privacy-copy { padding-block:48px 24px; max-width:780px; font-size:1rem; line-height:1.7; }
.privacy-copy h2 { margin:40px 0 14px; font-size:1.4rem; }
.privacy-copy h2:first-child { margin-top:0; }

@media (max-width:1000px) {
  .book-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .book-grid.dense { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .series-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px) {
  body { font-size:17px; }
  .header-inner { min-height:68px; }
  .brand img { width:160px; }
  .nav-toggle { display:block; }
  .site-nav { gap:12px; }
  .header-search-panel { position:fixed; top:68px; left:20px; right:20px; width:auto; padding:18px; }
  .nav-links { display:none; position:absolute; left:0; right:0; top:100%; background:var(--white); border-bottom:1px solid var(--line); flex-direction:column; gap:0; padding:8px 20px 16px; }
  .nav-links.open { display:flex; }
  .nav-links a { padding:12px 0; border-bottom:1px solid var(--line); }
  .intro { padding:40px 0; }
  .intro-inner,.book-hero { grid-template-columns:1fr; gap:32px; }
  .book-cover { max-width:240px; }
  .book-grid,.series-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 18px; }
  .book-grid.dense { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px 12px; }
  .book-grid.dense h3 { font-size:.95rem; } .book-grid.dense .meta,.book-grid.dense .byline { font-size:.85rem; }
  .series-grid { grid-template-columns:1fr; }
  .cover-fan { height:220px; } .cover-fan img { width:128px; }
  .series-directory-nav { margin-top:26px; padding-top:20px; }
  .genre-chips { gap:8px; }
  .genre-chips a { flex:1 1 calc(50% - 8px); justify-content:center; padding-inline:10px; text-align:center; font-size:.88rem; }
  .genre-directory-section { padding:50px 0 54px; scroll-margin-top:84px; }
  .genre-directory-head { display:block; margin-bottom:26px; }
  .genre-directory-head > .arrow-link { display:inline-block; margin-top:8px; }
  .series-directory .series-grid { gap:22px; }
  .series-directory .series-card { padding:20px; }
  .series-directory .series-card .fan-link { margin:-20px -20px 22px; }
  .series-directory .series-card .cover-fan { height:210px; }
  .back-to-top { margin-top:26px; }
  .thumbs img { width:34px; } .thumbs img:nth-child(3) { display:none; }
  .row-link { gap:14px; } .row-title { font-size:1.15rem; }
  .collage a { width:28%; }
  .section { padding-top:48px; }
  .series-strip { padding:22px 18px 24px; }
  .strip-covers a { width:56px; }
  .buy { display:block; min-width:0; }
  .book-search { padding:18px; }
  .book-search-row { display:block; }
  .book-search-clear { width:100%; margin-top:10px; }
}

@media (prefers-reduced-motion:reduce) {
  .intro-covers a,.intro-covers img { transition:none; }
  .intro-covers a:hover,.intro-covers a:focus-visible { transform:none; }
}

/* Book teaser */
.book-summary .hook { font-size: 1.12rem; line-height: 1.55; margin: 1rem 0 1.4rem; max-width: 34rem; }

/* Newsletter */
.book-card.featured h3 { font-size: 1.1rem; line-height: 1.35; }
.book-card.featured .byline { font-size: .88rem; margin-bottom: .65rem; }
.book-badges { display: flex; flex-wrap: wrap; gap: .35rem; }
.book-badge { font-family: Arial, sans-serif; font-size: .7rem; line-height: 1.4; padding: .25rem .5rem; border-radius: .25rem; background: #edf0f7; color: #15215e; }
.book-badge.upcoming { background: #f3e9d7; color: #624416; }
.book-badge.volume { background: #f1f1f1; color: #555; }
.series-meta { margin:.55rem 0 .6rem; align-items:baseline; }
.series-meta .series-badge { background:#edf0f7; border:1px solid #dce1ef; color:var(--navy); text-decoration:none; overflow-wrap:anywhere; }
.series-meta .series-badge:hover { background:#dfe5f3; text-decoration:underline; }
.book-summary .series-meta .book-badge { font-size:.85rem; padding:.35rem .65rem; }
.featured-date { font-size: .82rem; color: #555; margin: .5rem 0 0; }
.newsletter { background: #f4f4f4; padding: 3rem 0; margin-top: 3rem; text-align: center; }
.newsletter h2 { margin: 0 0 .5rem; }
.newsletter p { margin: 0 auto 1rem; max-width: 34rem; }
.newsletter [class^="klaviyo-form-"] { min-height: 1px; }
.newsletter-home { margin-top:0; padding:2rem 0; background:var(--white); border-bottom:1px solid var(--line); }
.newsletter-home .shell { max-width:760px; }
.newsletter-home h2 { font-size:1.6rem; }
.newsletter-home [data-newsletter-intro] > p { font-size:1rem; }
.consent-placeholder .fine { margin-bottom: .9rem; }

/* Footer extras */
.link-button { background: none; border: 0; padding: 0; font: inherit; color: inherit; text-decoration: underline; cursor: pointer; }
.site-footer .affiliate { flex-basis: 100%; margin-top: 1rem; opacity: .8; }

/* Consent banner */
.consent { position: fixed; left: 0; right: 0; bottom: 0; z-index: 50; background: #fff; border-top: 2px solid #15215e; box-shadow: 0 -6px 24px rgba(0,0,0,.12); }
.consent[hidden] { display: none; }
.consent-inner { max-width: 60rem; margin: 0 auto; padding: 1.1rem 16px; }
.consent-title { font-weight: 700; margin: 0 0 .4rem; }
.consent p { margin: 0 0 .8rem; font-size: .95rem; line-height: 1.5; }
.consent-actions { display: flex; flex-wrap: wrap; gap: .6rem; }
.consent-actions .button { flex: 1 1 12rem; text-align: center; }
button.button { border:0; cursor:pointer; font-family:inherit; }


/* Catalog refinement: linked volume badges and calmer book pages */
.volume-link { text-decoration:none; }
.volume-link:hover { background:#e4e4e4; text-decoration:underline; }
.book-card:not(.featured) .book-card-copy > .book-badges:first-child { margin-bottom:12px; }
.series-start-link { display:inline-flex; align-items:center; gap:12px; padding:6px 14px 6px 6px; border:1px solid #d7dcea; border-radius:7px; background:var(--white); font-family:Arial,sans-serif; font-size:.9rem; text-decoration:none; min-height:44px; }
.series-start-link .book-badge { padding:7px 10px; background:#edf0f7; color:var(--navy); }
.series-start-link:hover { border-color:var(--navy); background:#f8f9fc; }
.series-start-link:hover > span:last-child { text-decoration:underline; }
.book-hero { gap:clamp(32px,5vw,64px); padding-top:12px; }
.book-summary { max-width:680px; }
.book-summary h1 { font-size:clamp(1.9rem,3.1vw,2.5rem); line-height:1.16; color:var(--navy); letter-spacing:-.02em; margin:0 0 16px; text-wrap:balance; }
.book-summary .byline { font-family:Arial,sans-serif; font-size:1rem; color:#575b65; line-height:1.5; margin-bottom:18px; }
.book-summary .series-meta { margin:0 0 24px; gap:8px; }
.book-summary .series-meta .book-badge { font-size:.78rem; padding:6px 10px; }
.book-summary .hook { font-family:Arial,sans-serif; font-size:1.02rem; font-weight:600; line-height:1.7; color:#343943; margin:0 0 26px; max-width:58ch; }
.book-summary .release { font-family:Arial,sans-serif; font-size:.9rem; line-height:1.5; margin:0 0 18px; }
.book-summary .buy { min-width:0; display:inline-flex; align-items:center; justify-content:center; padding:12px 20px; min-height:48px; border-radius:6px; font-family:Arial,sans-serif; font-size:.95rem; font-weight:600; line-height:1.4; margin:0; }
.book-summary .retailer-note { font-family:Arial,sans-serif; font-size:.78rem; line-height:1.5; margin:10px 0 0; }
.book-cover-link { display:block; border-radius:2px; }
.book-cover-link:hover img { box-shadow:0 14px 28px rgba(0,0,0,.2); }
@media (max-width:760px) {
  .book-hero { padding-top:4px; gap:28px; }
  .book-cover { max-width:200px; margin-inline:auto; }
  .book-summary h1 { font-size:1.9rem; }
  .book-summary .hook { font-size:1rem; line-height:1.65; }
  .book-summary .buy { width:100%; }
}

.newsletter-genres { margin-top:0; padding:1.5rem 0; border-block:1px solid var(--line); }
.newsletter-genres h2 { font-size:1.5rem; }
.newsletter-genres [data-newsletter-intro] > p { font-size:1rem; }
