@font-face{font-family:Karla;font-weight:400;font-display:swap;src:url(fonts/karla-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:Karla;font-weight:500;font-display:swap;src:url(fonts/karla-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:Karla;font-weight:700;font-display:swap;src:url(fonts/karla-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-weight:500;font-display:swap;src:url(fonts/cormorant-garamond-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-weight:600;font-display:swap;src:url(fonts/cormorant-garamond-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-weight:500;font-style:italic;font-display:swap;src:url(fonts/cormorant-garamond-latin-500-italic.woff2) format("woff2")}

:root{
  --bg:#F6F1E8;--bg2:#EFE7D9;--ink:#1C2B24;--muted:#4F564F;--body:#3A413B;
  --line:#E2D9C8;--line2:#D9CEBB;--gold:#7E5626;--link:#23402F;
  --accent:#23402F;
  --serif:"Cormorant Garamond",Georgia,serif;--sans:Karla,Helvetica,Arial,sans-serif;
  --pad:80px;
}
html[data-season=herbst]{--accent:#7A2E1F}
html[data-season=winter]{--accent:#1E3B2C}
html[data-season=fruehling]{--accent:#A13B45}
html[data-season=sommer]{--accent:#1F5163}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--link)}a:hover{color:#11241A}
h1,h2,h3{margin:0;font-family:var(--serif);font-weight:500;line-height:1.1}
p{margin:0}
.wrap{padding-left:var(--pad);padding-right:var(--pad)}
.eyebrow{font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.btn{display:inline-block;text-decoration:none;background:var(--accent);color:var(--bg);font-weight:700;font-size:16px;padding:16px 28px;border-radius:999px;transition:filter .15s}
.btn:hover{color:var(--bg);filter:brightness(1.15)}
.pill{align-self:flex-start;font-size:13px;font-weight:700;padding:6px 12px;border-radius:999px}
.pill-accent{color:var(--bg);background:var(--accent)}
.pill-soft{color:#23402F;background:#DCE5DB}
.cover{border-radius:3px;box-shadow:0 14px 30px rgba(28,43,36,.18);width:100%;height:auto;background:var(--bg2)}

/* season switching */
.s{display:none!important}
html[data-season=herbst] .s-herbst,html[data-season=winter] .s-winter,
html[data-season=fruehling] .s-fruehling,html[data-season=sommer] .s-sommer{display:flex!important}

/* pumpkins (nur Herbst) */
.p-herbst,.p-winter{display:none;flex-shrink:0}
html[data-season=herbst] .p-herbst,html[data-season=winter] .p-winter{display:inline-block}
.deco .flame{transform-origin:32px 4px;animation:flicker 1.6s ease-in-out infinite alternate}
.deco .star{transform-origin:24px 6px;animation:twinkle 2.4s ease-in-out infinite}
@keyframes flicker{0%{transform:scale(1,1) rotate(-3deg)}50%{transform:scale(.92,1.08) rotate(2deg)}100%{transform:scale(1.04,.95) rotate(-1deg)}}
@keyframes twinkle{0%,100%{opacity:1}50%{opacity:.6}}
@media (prefers-reduced-motion:reduce){.deco .flame,.deco .star{animation:none}}
.bar-p{margin-right:2px}
.cta-row{display:flex;align-items:flex-end;gap:18px;margin-top:6px}
.cta-row .btn{margin-top:0}
.patch{display:flex;align-items:flex-end;gap:2px}
.patch .deco:nth-child(2){margin-left:-6px}
.hero-covers{position:relative}
.peek{position:absolute;right:-30px;bottom:-40px;display:flex;align-items:flex-end;gap:0;filter:drop-shadow(0 6px 8px rgba(28,43,36,.25))}
.peek .deco:last-child{margin-left:-10px}
.h-p{vertical-align:middle;margin-left:6px;position:relative;top:-4px}
.f-p{vertical-align:-2px;margin-left:4px}

/* announcement bar */
.bar{align-items:center;justify-content:center;gap:12px;min-height:48px;padding:10px 20px;background:var(--accent);color:var(--bg);text-decoration:none;font-size:15px;font-weight:500;text-align:center;flex-wrap:wrap}
.bar:hover{color:var(--bg)}
.bar strong{font-weight:700}

/* header */
.site-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:20px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.site-header .logo img{height:64px;width:auto;mix-blend-mode:multiply}
.site-header nav{display:flex;align-items:center;gap:40px;font-size:16px;font-weight:500}
.site-header nav a{text-decoration:none;color:var(--ink)}
.site-header nav a.btn{color:var(--bg);padding:12px 22px;font-weight:500}

/* season hero */
.hero{align-items:center;gap:64px;padding-top:72px;padding-bottom:88px}
.hero-text{width:420px;flex-shrink:0;display:flex;flex-direction:column;gap:18px}
.hero-text .eyebrow{font-size:14px;letter-spacing:.14em;color:var(--accent)}
.hero h1{font-size:64px;line-height:1.02;letter-spacing:-.01em}
.hero p{font-size:18px;line-height:1.55;color:var(--muted)}
.hero .btn{align-self:flex-start;margin-top:6px}
.hero-covers{display:flex;gap:24px;flex:0 1 auto;min-width:0;justify-content:flex-start}
.hero-covers figure{margin:0;flex:0 1 180px;min-width:0;display:flex;flex-direction:column;gap:10px}
.hero-covers figcaption{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}

/* books */
.books{background:var(--bg2);padding-top:96px;padding-bottom:96px;display:flex;flex-direction:column;gap:48px}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
.section-head h2,.authors h2,.contact h2{font-size:52px}
.section-head a{font-weight:700}
.series{display:flex;gap:56px;align-items:flex-start;padding-top:48px;border-top:1px solid var(--line2)}
.series-info{width:320px;flex-shrink:0;display:flex;flex-direction:column;gap:12px}
.series-info h3{font-weight:600;font-size:36px}
.series-info .by{font-size:16px;color:var(--muted)}
.series-info p{font-size:16px;line-height:1.6;color:var(--body)}
.book-row{display:flex;gap:32px;flex-wrap:wrap}
.book{width:180px;display:flex;flex-direction:column;gap:10px}
.book .t{font-size:15px;font-weight:700;line-height:1.3}
.book .links{display:flex;gap:14px;font-size:14px;font-weight:700}

/* authors */
.authors{padding-top:104px;padding-bottom:104px;display:flex;flex-direction:column;gap:48px}
.authors .lead{font-size:18px;color:var(--muted);margin-top:12px}
.author-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:28px}
.author{display:flex;flex-direction:column;gap:12px}
.author img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:3px}
.author h3{margin-top:6px;font-weight:600;font-size:28px}
.author .eyebrow{letter-spacing:.08em}
.author p{font-size:15px;line-height:1.55;color:var(--body)}
.author a{font-size:15px;font-weight:700}

/* newsletter band */
.news{display:flex;align-items:center;justify-content:space-between;gap:64px;padding:80px;margin:0 var(--pad);background:var(--accent);color:var(--bg);border-radius:6px}
.news h2{font-size:48px}
.news p{font-size:18px;line-height:1.55;color:#E9E4DA;margin-top:14px;max-width:640px}
.news a{flex-shrink:0;text-decoration:none;background:var(--bg);color:var(--ink);font-weight:700;font-size:16px;padding:18px 32px;border-radius:999px}

/* contact + footer */
.contact{display:flex;align-items:flex-end;justify-content:space-between;gap:48px;padding-top:104px;padding-bottom:80px;flex-wrap:wrap}
.contact p{font-size:18px;line-height:1.55;color:var(--muted);margin-top:14px}
.contact .mail{font-family:var(--serif);font-weight:500;font-size:36px;color:var(--accent);text-underline-offset:8px;text-decoration-thickness:1px}
.site-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:40px;padding-bottom:48px;border-top:1px solid var(--line);font-size:14px;color:var(--muted);flex-wrap:wrap}
.site-footer nav{display:flex;gap:28px}
.site-footer a{color:var(--muted)}

/* legal pages */
.legal{max-width:760px;padding-top:72px;padding-bottom:96px}
.legal h1{font-size:56px;margin-bottom:32px}
.legal h2{font-size:30px;margin:40px 0 12px}
.legal h3{font-family:var(--sans);font-size:17px;font-weight:700;margin:24px 0 8px}
.legal p,.legal li{font-size:16px;line-height:1.65;color:var(--body)}
.legal p+p{margin-top:12px}
.legal .ph{background:#F3E2B8;padding:1px 6px;border-radius:3px}
.legal .note{background:var(--bg2);border-left:3px solid var(--gold);padding:16px 20px;margin-bottom:32px;font-size:15px}

/* tablet */
@media (max-width:1100px){
  :root{--pad:40px}
  .hero{flex-direction:column;align-items:flex-start;gap:40px}
  .hero-text{width:auto;max-width:600px}
  .hero-covers{flex-wrap:wrap}
  .series{flex-direction:column;gap:28px}
  .series-info{width:auto;max-width:640px}
  .author-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .news{flex-direction:column;align-items:flex-start;gap:28px;padding:56px 40px}
}
/* phone */
@media (max-width:640px){
  :root{--pad:16px}
  .bar span{display:none}
  .site-header{padding-top:12px;padding-bottom:12px}
  .site-header .logo img{height:44px}
  .site-header nav{gap:16px;font-size:15px}
  .site-header nav a.nav-hide{display:none}
  .site-header nav a.btn{padding:10px 16px}
  .hero{padding-top:40px;padding-bottom:56px}
  .hero h1{font-size:44px}
  .hero-covers{gap:12px;flex-wrap:nowrap;width:100%}
  .hero-covers figure{width:auto;flex:1 1 0;min-width:0}
  .hero-covers figcaption{font-size:11px}
  .peek{display:none}
  .books,.authors{padding-top:64px;padding-bottom:64px}
  .section-head h2,.authors h2,.contact h2{font-size:40px}
  .series-info h3{font-size:30px}
  .book-row{gap:16px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
  .book{width:auto}
  .author-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
  .author h3{font-size:22px}
  .author .eyebrow{font-size:11px}
  .news{padding:40px 24px}
  .news h2{font-size:36px}
  .contact{padding-top:64px;padding-bottom:56px}
  .contact .mail{font-size:28px}
  .legal h1{font-size:40px}
}
