/* =================================================================
   Ruediger Schache – Autorentheme
   ================================================================= */

:root{
  --cream:#FAF8F4;
  --cream-2:#F5F2EC;
  --bar:#EFECE4;
  --navy:#16354C;
  --navy-dark:#0F2739;
  --ink:#1E2A33;
  --muted:#5E6A74;
  --line:rgba(30,42,51,.14);
  --line-soft:rgba(30,42,51,.08);

  --serif:"Cormorant Garamond","Iowan Old Style",Georgia,"Times New Roman",serif;
  --sans:"Jost","Avenir Next","Helvetica Neue",Arial,sans-serif;
  --script:"Parisienne","Snell Roundhand","Brush Script MT",cursive;

  --wrap:1360px;
  --gut:clamp(20px,5vw,64px);
}

*,*::before,*::after{box-sizing:border-box}

html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--cream);
  color:var(--ink);
  font-family:var(--serif);
  font-size:17px;
  line-height:1.65;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}

.rs-wrap{max-width:var(--wrap);margin:0 auto;padding-inline:var(--gut)}

.rs-eyebrow{
  font-family:var(--sans);
  font-size:11px;
  font-weight:400;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--muted);
  margin:0 0 18px;
}

h1,h2,h3{font-weight:400;margin:0;letter-spacing:.01em}

.rs-h2{
  font-size:clamp(28px,3.4vw,42px);
  line-height:1.22;
  letter-spacing:.005em;
  margin:0 0 22px;
}

.rs-arrow{width:1em;height:1em;display:inline-block;vertical-align:-.08em;margin-left:.55em;transition:transform .25s ease}
a:hover .rs-arrow{transform:translateX(4px)}

.rs-skip{position:absolute;left:-9999px}
.rs-skip:focus{left:12px;top:12px;z-index:200;background:#fff;padding:10px 16px;border:1px solid var(--line)}

/* ---------------------------------------------------------- Header */

.rs-header{
  background:var(--bar);
  border-bottom:1px solid var(--line-soft);
  position:sticky;top:0;z-index:60;
}
.rs-header__inner{
  max-width:var(--wrap);margin:0 auto;padding:14px var(--gut);
  display:flex;align-items:center;gap:28px;
}

.rs-logo{margin-right:auto;line-height:1.1}
.rs-logo__name{
  display:block;font-family:var(--serif);font-size:16px;
  letter-spacing:.22em;text-transform:uppercase;color:var(--ink);
}
.rs-logo__role{
  display:block;font-family:var(--sans);font-size:9px;
  letter-spacing:.34em;text-transform:uppercase;color:var(--muted);margin-top:3px;
}

.rs-nav{display:flex;align-items:center;gap:clamp(14px,1.9vw,30px)}
.rs-nav a{
  font-family:var(--serif);font-size:16px;color:var(--ink);
  padding:4px 0;border-bottom:1px solid transparent;transition:border-color .2s,color .2s;
}
.rs-nav a:hover{border-bottom-color:var(--ink)}

.rs-lang{display:flex;align-items:center;gap:7px;font-family:var(--sans);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.rs-lang svg{width:15px;height:15px;flex:none}
.rs-lang a{padding:2px 3px;transition:color .2s}
.rs-lang a[aria-current="true"]{color:var(--ink)}
.rs-lang a:not([aria-current]):hover{color:var(--ink)}
.rs-lang__sep{opacity:.45}

.rs-burger{display:none;background:none;border:0;padding:6px;cursor:pointer;color:var(--ink)}
.rs-burger svg{width:22px;height:22px}

/* ------------------------------------------------------------ Hero */

.rs-hero{
  position:relative;
  min-height:clamp(460px,56vw,640px);
  display:flex;align-items:center;
  background:#e9e2d6 center/cover no-repeat;
  isolation:isolate;
}
.rs-hero::after{
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(100deg,
    rgba(250,248,244,.95) 0%,
    rgba(250,248,244,.88) 18%,
    rgba(250,248,244,.55) 34%,
    rgba(250,248,244,.10) 48%,
    rgba(250,248,244,0) 60%);
}
.rs-hero__inner{
  position:relative;z-index:2;width:100%;
  max-width:var(--wrap);margin:0 auto;padding:clamp(40px,6vw,78px) var(--gut);
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:center;
}

.rs-hero__eyebrow{
  font-family:var(--sans);font-size:12px;letter-spacing:.26em;
  text-transform:uppercase;color:#4A5761;margin:0 0 18px;
}
.rs-hero__title{
  font-size:clamp(46px,7vw,88px);
  line-height:.98;letter-spacing:.055em;text-transform:uppercase;
  margin:0 0 16px;color:#16222B;
}
.rs-hero__sub{
  font-family:var(--sans);font-size:clamp(11px,1.1vw,14px);
  letter-spacing:.26em;text-transform:uppercase;color:#3E4B55;margin:0;
}
.rs-hero__rule{width:64px;height:1px;background:rgba(30,42,51,.4);margin:26px 0 24px}
.rs-hero__lead{
  font-size:clamp(16px,1.35vw,19px);line-height:1.6;color:#2B3740;
  max-width:34ch;margin:0 0 30px;
}
.rs-hero__ctas{display:flex;flex-wrap:wrap;gap:14px}

.rs-hero__aside{justify-self:end;align-self:end;text-align:center;max-width:260px;color:#fff;
  padding:34px 28px 28px;
  background:radial-gradient(108% 88% at 50% 54%,rgba(10,17,23,.52) 0%,rgba(10,17,23,.36) 44%,rgba(10,17,23,.10) 76%,rgba(10,17,23,0) 100%);}
.rs-hero__quote{
  font-size:clamp(15px,1.3vw,18px);line-height:1.55;font-style:italic;
  margin:0 0 18px;text-shadow:0 1px 14px rgba(0,0,0,.45);
}
.rs-hero__sig{
  display:block;width:clamp(185px,17vw,248px);height:auto;margin:0 auto;
  filter:drop-shadow(0 2px 12px rgba(0,0,0,.55));
}

/* --------------------------------------------------------- Buttons */

.rs-btn{
  display:inline-flex;align-items:center;gap:.5em;
  font-family:var(--sans);font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;
  padding:14px 24px;border:1px solid var(--navy);
  background:var(--navy);color:#fff;transition:background .22s,color .22s,border-color .22s;
}
.rs-btn:hover{background:var(--navy-dark);border-color:var(--navy-dark)}
.rs-btn--ghost{background:transparent;color:#1B2C38;border-color:rgba(27,44,56,.55)}
.rs-btn--ghost:hover{background:rgba(255,255,255,.6);color:#132029;border-color:#132029}
.rs-btn--light{background:#fff;color:var(--navy);border-color:#fff}
.rs-btn--light:hover{background:rgba(255,255,255,.86);border-color:transparent}

.rs-textlink{
  font-family:var(--sans);font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;
  border-bottom:1px solid var(--ink);padding-bottom:3px;display:inline-flex;align-items:center;
}
.rs-textlink:hover{opacity:.65}

/* ----------------------------------------------------------- Stats */

.rs-stats{background:var(--bar);border-block:1px solid var(--line-soft)}
.rs-stats__inner{
  max-width:var(--wrap);margin:0 auto;padding:22px var(--gut);
  display:grid;grid-template-columns:repeat(4,1fr);gap:24px;
}
.rs-stat{display:flex;align-items:center;gap:16px;justify-content:flex-start}
.rs-stat img{width:38px;height:38px;flex:none;opacity:.92}
.rs-stat__n{
  display:block;font-family:var(--sans);font-size:clamp(13px,1.15vw,15px);
  letter-spacing:.13em;text-transform:uppercase;color:var(--ink);font-weight:500;line-height:1.2;
}
.rs-stat__l{
  display:block;font-family:var(--sans);font-size:10px;letter-spacing:.17em;
  text-transform:uppercase;color:var(--muted);margin-top:4px;line-height:1.35;
}

/* ----------------------------------------------------------- About */

.rs-about{display:grid;grid-template-columns:53% 47%;background:var(--cream)}
.rs-about__media{position:relative;min-height:420px;background:#26323b center/cover no-repeat}
.rs-about__media::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(20,30,38,.55) 0%,rgba(20,30,38,.15) 55%,rgba(20,30,38,0) 100%);
}
.rs-about__caption{
  position:relative;z-index:2;
  padding:clamp(28px,4vw,56px);
  font-family:var(--sans);font-size:clamp(12px,1.05vw,14px);
  letter-spacing:.2em;text-transform:uppercase;line-height:2;color:#fff;
  max-width:21em;
}
.rs-about__body{padding:clamp(36px,5vw,72px) clamp(24px,4.5vw,70px);align-self:center}
.rs-about__body p{margin:0 0 18px;color:#33404A;max-width:46ch;font-size:16.5px;line-height:1.66}
.rs-about__body .rs-textlink{margin-top:8px}

/* ----------------------------------------------------------- Books */

.rs-books{background:var(--cream-2);padding:clamp(48px,6vw,84px) 0}
.rs-books__head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:clamp(30px,4vw,48px)}
.rs-books__head .rs-h2{max-width:19ch;margin:0}

.rs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(20px,2.6vw,38px)}
.rs-grid--all{grid-template-columns:repeat(4,1fr);row-gap:clamp(34px,4vw,54px)}

.rs-book{display:flex;flex-direction:column;align-items:center;text-align:center}
.rs-book__cover{
  width:100%;aspect-ratio:2/3;overflow:hidden;background:#e6e0d6;
  box-shadow:0 10px 26px rgba(24,34,43,.20);
  transition:transform .3s ease,box-shadow .3s ease;
}
.rs-book__cover img{
  width:100%;height:100%;object-fit:cover;object-position:center;display:block;
}
.rs-book:hover .rs-book__cover{transform:translateY(-5px);box-shadow:0 18px 34px rgba(24,34,43,.26)}
.rs-book__cat{
  font-family:var(--sans);font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--muted);margin:18px 0 8px;
}
.rs-book__title{font-size:18px;line-height:1.3;margin:0 0 7px;max-width:20ch}
.rs-book__desc{font-size:15px;line-height:1.45;color:var(--muted);margin:0;max-width:26ch}

/* Filter */
.rs-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 clamp(26px,3.4vw,42px)}
.rs-filter{
  font-family:var(--sans);font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  padding:10px 20px;border:1px solid var(--line);background:transparent;color:var(--muted);
  cursor:pointer;transition:all .2s;
}
.rs-filter:hover{color:var(--ink);border-color:var(--ink)}
.rs-filter[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:#fff}
.rs-book[hidden]{display:none}

.rs-allbooks{background:var(--cream);padding:clamp(48px,6vw,84px) 0}
.rs-allbooks__sub{color:var(--muted);margin:0 0 6px;max-width:48ch}

/* ------------------------------------------------------ Zitatbanner */

.rs-quote{
  position:relative;background:#1b2730 center/cover no-repeat;
  padding:clamp(64px,9vw,132px) var(--gut);text-align:center;color:#fff;
}
.rs-quote::after{content:"";position:absolute;inset:0;background:rgba(16,24,31,.34)}
.rs-quote__inner{position:relative;z-index:2}
.rs-quote__text{
  font-size:clamp(24px,3.2vw,40px);line-height:1.3;font-style:italic;
  margin:0 auto;max-width:20ch;text-shadow:0 2px 22px rgba(0,0,0,.4);
}
.rs-quote__rule{width:62px;height:1px;background:rgba(255,255,255,.75);margin:30px auto 0}

/* -------------------------------------------------------- Institut */

.rs-institute{background:var(--navy);color:#fff;padding:clamp(52px,6.5vw,96px) 0}
.rs-institute .rs-eyebrow{color:rgba(255,255,255,.62)}
.rs-institute__inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:center}
.rs-institute .rs-h2{margin:0;max-width:16ch}
.rs-institute p{color:rgba(255,255,255,.78);margin:0 0 26px;max-width:46ch}
.rs-institute .rs-textlink{border-bottom-color:rgba(255,255,255,.7);color:#fff}

/* -------------------------------------------------------- Textteile */

.rs-cols{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:clamp(28px,3.6vw,52px);
  padding:clamp(48px,6vw,84px) 0;
}
.rs-card{
  background:#fff;border:1px solid var(--line-soft);
  padding:clamp(26px,2.8vw,38px);display:flex;flex-direction:column;
}
.rs-card h3{font-size:24px;line-height:1.25;margin:0 0 14px}
.rs-card p{color:var(--muted);margin:0 0 24px;font-size:16px}
.rs-card .rs-textlink{margin-top:auto;align-self:flex-start}

.rs-contact{background:var(--bar);padding:clamp(52px,6.5vw,92px) 0;text-align:center}
.rs-contact .rs-h2{max-width:none}
.rs-contact p{color:var(--muted);max-width:46ch;margin:0 auto 30px}
.rs-contact__ctas{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}

/* --------------------------------------------------------- Footer */

.rs-footer{background:var(--navy);color:rgba(255,255,255,.82);padding:clamp(40px,4.5vw,64px) 0 28px}
.rs-footer__top{display:flex;flex-wrap:wrap;gap:30px;align-items:center;justify-content:space-between;padding-bottom:28px;border-bottom:1px solid rgba(255,255,255,.16)}
.rs-footer__logo .rs-logo__name{color:#fff}
.rs-footer__logo .rs-logo__role{color:rgba(255,255,255,.6)}
.rs-social{display:flex;gap:12px;align-items:center}
.rs-social a{
  width:36px;height:36px;display:grid;place-items:center;
  border:1px solid rgba(255,255,255,.28);color:#fff;transition:background .2s,border-color .2s;
}
.rs-social a:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.5)}
.rs-social svg{width:17px;height:17px}
.rs-footer__bottom{
  display:flex;flex-wrap:wrap;gap:8px 22px;justify-content:space-between;
  padding-top:22px;font-family:var(--sans);font-size:11.5px;letter-spacing:.1em;color:rgba(255,255,255,.6);
}
.rs-footer__bottom a:hover{color:#fff}
.rs-footer__links{display:flex;gap:22px;flex-wrap:wrap}

/* ------------------------------------------------------ Responsive */

@media (max-width:1100px){
  .rs-hero__aside{display:none}
  .rs-hero__inner{grid-template-columns:1fr}
  .rs-hero::after{background:linear-gradient(100deg,rgba(250,248,244,.95) 0%,rgba(250,248,244,.82) 34%,rgba(250,248,244,.3) 62%,rgba(250,248,244,.05) 85%)}
  .rs-grid,.rs-grid--all{grid-template-columns:repeat(3,1fr)}
}

@media (max-width:980px){
  .rs-nav{
    display:none;position:absolute;top:100%;left:0;right:0;
    background:var(--bar);border-bottom:1px solid var(--line);
    flex-direction:column;align-items:flex-start;gap:0;padding:8px var(--gut) 18px;
  }
  .rs-nav.is-open{display:flex}
  .rs-nav a{padding:11px 0;width:100%;font-size:18px;border-bottom:1px solid var(--line-soft)}
  .rs-burger{display:block;order:3}
  .rs-header__inner{position:relative;gap:16px}
  .rs-about{grid-template-columns:1fr}
  .rs-institute__inner{grid-template-columns:1fr;gap:24px}
  .rs-about__media{min-height:300px}
  .rs-cols{grid-template-columns:1fr}
  .rs-stats__inner{grid-template-columns:repeat(2,1fr);gap:18px}
}

@media (max-width:760px){
  body{font-size:16px}
  .rs-grid,.rs-grid--all{grid-template-columns:repeat(2,1fr);gap:22px}
  .rs-books__head{flex-direction:column;align-items:flex-start;gap:18px}
  .rs-book__title{font-size:16px}
  .rs-book__desc{font-size:14px}
  .rs-hero__ctas .rs-btn{flex:1 1 auto;justify-content:center}
  .rs-footer__top{flex-direction:column;align-items:flex-start}
}

@media (max-width:460px){
  .rs-stats__inner{grid-template-columns:1fr}
  .rs-stat{justify-content:flex-start}
}

@media (prefers-reduced-motion:reduce){
  *{transition:none!important;animation:none!important}
}

/* =================================================================
   Buchseite
   ================================================================= */

.rs-eyebrow--light{color:rgba(255,255,255,.66)}

.rs-btn--outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}
.rs-btn--outline:hover{background:rgba(255,255,255,.12);border-color:#fff}

/* --- Hero --- */
.rs-bhero{
  position:relative;background:#0B1219;color:#fff;overflow:hidden;
  padding:clamp(48px,7vw,104px) 0;isolation:isolate;
}
.rs-bhero--plain{
  background:
    radial-gradient(120% 90% at 78% 22%,rgba(36,60,82,.85) 0%,rgba(11,18,25,0) 62%),
    linear-gradient(170deg,#14222E 0%,#0B1219 68%,#080E14 100%);
}
.rs-bhero--plain::after{content:none}
.rs-bhero__bg{
  position:absolute;inset:-5%;z-index:0;
  background:center/cover no-repeat;
  filter:blur(9px) brightness(.42) saturate(.75);
  transform:scale(1.06);
}
.rs-bhero::after{
  content:"";position:absolute;inset:0;z-index:1;
  background:
    radial-gradient(90% 70% at 28% 45%,rgba(11,18,25,.25) 0%,rgba(11,18,25,.72) 70%),
    linear-gradient(180deg,rgba(11,18,25,.55) 0%,rgba(11,18,25,.62) 55%,rgba(11,18,25,.9) 100%);
}
.rs-bhero__inner{
  position:relative;z-index:2;
  display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);
  gap:clamp(32px,5vw,76px);align-items:center;
}
.rs-bhero__cover{max-width:430px;justify-self:center;width:100%}
.rs-bhero__cover img{
  width:100%;height:auto;
  filter:drop-shadow(0 26px 54px rgba(0,0,0,.62));
}
.rs-bhero__title{
  font-size:clamp(52px,8vw,104px);line-height:.95;letter-spacing:.04em;
  margin:0 0 10px;
}
.rs-bhero__sub{
  font-family:var(--serif);font-style:italic;
  font-size:clamp(20px,2.2vw,30px);line-height:1.2;margin:0 0 14px;color:rgba(255,255,255,.9);
}
.rs-bhero__tag{
  font-family:var(--sans);font-size:clamp(10px,1vw,12.5px);
  letter-spacing:.26em;text-transform:uppercase;color:rgba(255,255,255,.72);margin:0;
}
.rs-bhero__rule{width:64px;height:1px;background:rgba(255,255,255,.45);margin:26px 0 22px}
.rs-bhero__lead{font-size:clamp(16px,1.4vw,20px);line-height:1.6;color:rgba(255,255,255,.9);max-width:36ch;margin:0 0 30px}
.rs-bhero__ctas{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:24px}
.rs-bhero__meta{
  font-family:var(--sans);font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:rgba(255,255,255,.55);margin:0;
}

/* --- Zitat --- */
.rs-bquote{background:var(--cream);padding:clamp(52px,7vw,104px) 0;text-align:center}
.rs-bquote blockquote{margin:0}
.rs-bquote p{
  font-size:clamp(22px,3vw,38px);line-height:1.35;font-style:italic;
  max-width:28ch;margin:0 auto 22px;color:var(--ink);
}
.rs-bquote cite{
  font-family:var(--sans);font-style:normal;font-size:11px;
  letter-spacing:.26em;text-transform:uppercase;color:var(--muted);
}

/* --- Worum es geht --- */
.rs-babout{background:var(--cream-2);padding:clamp(48px,6vw,88px) 0}
.rs-babout__inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:clamp(28px,5vw,72px)}
.rs-babout__head .rs-h2{max-width:14ch}
.rs-babout__body p{margin:0 0 20px;color:#33404A;font-size:17px;line-height:1.68;max-width:58ch}
.rs-babout__body .rs-lead-p{font-size:clamp(19px,1.7vw,23px);line-height:1.5;color:var(--ink)}

/* --- Was Dich erwartet --- */
.rs-bexp{background:var(--cream);padding:clamp(48px,6vw,88px) 0}
.rs-bexp .rs-h2{max-width:20ch;margin-bottom:clamp(28px,3.6vw,46px)}
.rs-bexp__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(18px,2.4vw,34px)}
.rs-bexp__list li{border-top:1px solid var(--line);padding-top:18px}
.rs-bexp__n{
  display:block;font-family:var(--sans);font-size:11px;letter-spacing:.2em;
  color:var(--muted);margin-bottom:12px;
}
.rs-bexp__t{display:block;font-size:20px;line-height:1.25;margin-bottom:8px}
.rs-bexp__d{display:block;font-size:15px;line-height:1.5;color:var(--muted)}

/* --- Ausstattung + Bestellen --- */
.rs-bbuy{background:var(--bar);padding:clamp(48px,6vw,88px) 0}
.rs-bbuy__inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,72px)}
.rs-bdetails dl{margin:8px 0 0;border-top:1px solid var(--line)}
.rs-bdetails dl>div{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid var(--line-soft)}
.rs-bdetails dt{font-family:var(--sans);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.rs-bdetails dd{margin:0;font-size:16.5px;text-align:right}
.rs-border{background:#fff;border:1px solid var(--line-soft);padding:clamp(28px,3.4vw,46px);align-self:start}
.rs-border p{color:var(--muted);margin:0 0 26px;max-width:40ch}
.rs-border__label{
  font-family:var(--sans);font-size:10px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--muted);margin:32px 0 12px!important;
}
.rs-border__shops{display:flex;flex-wrap:wrap;gap:10px 26px}
.rs-border__shops a{
  font-family:var(--sans);font-size:12.5px;letter-spacing:.1em;
  border-bottom:1px solid var(--line);padding-bottom:3px;
}
.rs-border__shops a:hover{border-bottom-color:var(--ink)}

.rs-about--book .rs-about__media{background-position:60% center}

/* --- Responsive --- */
@media (max-width:1100px){
  .rs-bexp__list{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:980px){
  .rs-bhero__inner{grid-template-columns:1fr;gap:34px;text-align:center;justify-items:center}
  .rs-bhero__cover{max-width:380px}
  .rs-bhero__rule{margin-inline:auto}
  .rs-bhero__lead{margin-inline:auto}
  .rs-bhero__ctas{justify-content:center}
  .rs-babout__inner,.rs-bbuy__inner{grid-template-columns:1fr;gap:26px}
  .rs-bexp__list{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:560px){
  .rs-bexp__list{grid-template-columns:1fr}
  .rs-bdetails dl>div{flex-direction:column;gap:4px}
  .rs-bdetails dd{text-align:left}
}

/* =================================================================
   Buchreihen als Wisch-Slider auf schmalen Bildschirmen
   ================================================================= */

@media (max-width:900px){

  .rs-grid,
  .rs-grid--all{
    display:flex;
    grid-template-columns:none;
    gap:16px;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    scroll-padding-inline:var(--gut);
    overscroll-behavior-x:contain;      /* kein versehentliches Zurueck-Wischen */
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    /* randlos: die Reihe laeuft aus dem Textspiegel heraus */
    margin-inline:calc(var(--gut) * -1);
    padding:4px var(--gut) 10px;
  }
  .rs-grid::-webkit-scrollbar,
  .rs-grid--all::-webkit-scrollbar{display:none}

  .rs-grid .rs-book,
  .rs-grid--all .rs-book{
    flex:0 0 58%;
    max-width:230px;
    scroll-snap-align:center;
  }

  /* Gefilterte Buecher muessen auch im Flex-Kontext verschwinden */
  .rs-book[hidden]{display:none !important}

  .rs-book__cover{aspect-ratio:2/3}
  .rs-book__title{font-size:17px}
  .rs-book__desc{font-size:14px}
}

@media (max-width:480px){
  .rs-grid .rs-book,
  .rs-grid--all .rs-book{flex:0 0 66%}
}

/* ============================================ Blick ins Set / Buch */
.rs-bgal{ background:var(--cream-2); padding-block:clamp(56px,7vw,104px) }
.rs-bgal .rs-h2{ margin:0 0 clamp(26px,3vw,44px) }
.rs-bgal__grid{
  display:grid; gap:clamp(14px,1.6vw,22px);
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
}
.rs-bgal__item{
  display:block; margin:0; padding:0; border:0; cursor:zoom-in;
  background:#fff; overflow:hidden; aspect-ratio:4/3;
  box-shadow:0 8px 22px rgba(24,34,43,.14);
  transition:transform .3s ease, box-shadow .3s ease;
}
.rs-bgal__item img{
  width:100%; height:100%; object-fit:contain; display:block;
  background:#fff;
}
.rs-bgal__item:hover,.rs-bgal__item:focus-visible{
  transform:translateY(-4px); box-shadow:0 14px 32px rgba(24,34,43,.22);
}
.rs-bgal__item:focus-visible{ outline:2px solid var(--navy); outline-offset:3px }
.rs-bgal__hint{
  margin:18px 0 0; font-family:var(--sans); font-size:.74rem;
  letter-spacing:.14em; text-transform:uppercase; color:var(--muted);
}
@media (max-width:760px){
  .rs-bgal__grid{
    display:flex; grid-template-columns:none; gap:14px;
    overflow-x:auto; scroll-snap-type:x mandatory;
    scroll-padding-inline:var(--gut); overscroll-behavior-x:contain;
    scrollbar-width:none; margin-inline:calc(var(--gut) * -1);
    padding:4px var(--gut) 10px;
  }
  .rs-bgal__grid::-webkit-scrollbar{ display:none }
  .rs-bgal__item{ flex:0 0 78%; max-width:330px; scroll-snap-align:center }
}

/* ------------------------------------------------------- Lightbox */
.rs-lb{
  position:fixed; inset:0; z-index:999; display:none;
  background:rgba(8,14,20,.94); align-items:center; justify-content:center;
}
.rs-lb[open],.rs-lb.is-open{ display:flex }
.rs-lb__img{
  max-width:min(1100px,92vw); max-height:86vh; object-fit:contain;
  box-shadow:0 20px 60px rgba(0,0,0,.5);
}
.rs-lb__btn{
  position:absolute; background:none; border:0; cursor:pointer; color:#fff;
  font-family:var(--sans); line-height:1; padding:14px;
  opacity:.75; transition:opacity .2s ease;
}
.rs-lb__btn:hover,.rs-lb__btn:focus-visible{ opacity:1 }
.rs-lb__btn:focus-visible{ outline:2px solid #fff; outline-offset:2px }
.rs-lb__close{ top:10px; right:14px; font-size:2rem }
.rs-lb__prev,.rs-lb__next{ top:50%; transform:translateY(-50%); font-size:2.6rem }
.rs-lb__prev{ left:6px } .rs-lb__next{ right:6px }
.rs-lb__count{
  position:absolute; bottom:18px; left:50%; transform:translateX(-50%);
  color:#fff; opacity:.7; font-family:var(--sans);
  font-size:.74rem; letter-spacing:.16em;
}
@media (max-width:600px){
  .rs-lb__prev,.rs-lb__next{ font-size:2rem }
  .rs-lb__img{ max-width:94vw }
}

/* ============================================ Buchtrailer */
.rs-bvid{
  background:linear-gradient(170deg,#14222E 0%,#0B1219 70%,#080E14 100%);
  padding-block:clamp(56px,7vw,104px); color:#fff;
}
.rs-h2--light{ color:#fff }
.rs-bvid .rs-h2{ margin:0 0 clamp(26px,3vw,44px) }
.rs-bvid__frame{
  max-width:900px; aspect-ratio:16/9; background:#000; overflow:hidden;
  box-shadow:0 22px 60px rgba(0,0,0,.55);
}
.rs-bvid__frame video{ width:100%; height:100%; display:block; object-fit:contain }

/* ------------------------------------ Querverweis Buch <-> Kartenset */
.rs-bdetails__also{
  margin:26px 0 0; padding-top:20px;
  border-top:1px solid rgba(30,42,51,.14);
}
.rs-bdetails__also span{
  display:block; font-family:var(--sans); font-size:.72rem;
  letter-spacing:.16em; text-transform:uppercase; color:var(--muted);
  margin-bottom:8px;
}

/* ============================================ Unterseiten */
.rs-phero{
  position:relative; color:#fff;
  background:
    radial-gradient(120% 90% at 20% 0%, rgba(58,86,110,.55) 0%, rgba(20,34,46,0) 60%),
    linear-gradient(170deg,#16354C 0%,#0F2434 62%,#0B1A26 100%);
  padding-block:clamp(96px,12vw,168px) clamp(56px,7vw,96px);
}
.rs-phero__title{
  font-family:var(--serif); font-weight:300;
  font-size:clamp(2.4rem,5.4vw,4.2rem); line-height:1.06;
  letter-spacing:-.015em; margin:14px 0 0; max-width:20ch; color:#fff;
}
.rs-phero__rule{
  width:56px; height:1px; background:rgba(255,255,255,.42); margin:clamp(22px,3vw,34px) 0;
}
.rs-phero__lead{
  margin:0; max-width:56ch; color:rgba(255,255,255,.82);
  font-size:clamp(1rem,1.35vw,1.16rem); line-height:1.7;
}

.rs-ptext{ background:var(--cream); padding-block:clamp(56px,7vw,104px) }
.rs-ptext__block{
  display:grid; grid-template-columns:minmax(0,7fr) minmax(0,10fr);
  gap:clamp(24px,4vw,64px); align-items:start;
}
.rs-ptext__block + .rs-ptext__block{
  margin-top:clamp(44px,5vw,76px); padding-top:clamp(44px,5vw,76px);
  border-top:1px solid rgba(30,42,51,.12);
}
.rs-ptext__block .rs-h2{ margin:0 }
.rs-ptext__body p{ margin:0 0 1.1em }
.rs-ptext__body p:last-child{ margin-bottom:0 }
@media (max-width:820px){
  .rs-ptext__block{ grid-template-columns:1fr; gap:18px }
}

.rs-pcards{ padding-block:clamp(40px,5vw,72px) }

.rs-pworks{ background:var(--cream-2); padding-block:clamp(56px,7vw,104px) }
.rs-pworks .rs-h2{ margin:0 0 clamp(30px,4vw,52px) }
.rs-works + .rs-works{ margin-top:clamp(34px,4vw,54px) }
.rs-works__cat{
  margin:0 0 14px; font-family:var(--sans); font-weight:500;
  font-size:.74rem; letter-spacing:.18em; text-transform:uppercase; color:var(--muted);
}
.rs-works__list{ list-style:none; margin:0; padding:0 }
.rs-works__list li{
  display:flex; flex-wrap:wrap; align-items:baseline; gap:10px 16px;
  padding:11px 0; border-top:1px solid rgba(30,42,51,.12);
}
.rs-works__list li:last-child{ border-bottom:1px solid rgba(30,42,51,.12) }
.rs-works__list a{
  font-family:var(--serif); font-size:1.12rem; color:var(--ink);
  text-decoration:none; border-bottom:1px solid transparent; transition:border-color .2s ease;
}
.rs-works__list a:hover,.rs-works__list a:focus-visible{ border-bottom-color:var(--navy) }
.rs-works__year{
  margin-left:auto; font-family:var(--sans); font-size:.72rem;
  letter-spacing:.12em; text-transform:uppercase; color:var(--muted);
}
.rs-pworks .rs-btn{ margin-top:clamp(32px,4vw,52px) }
@media (max-width:600px){
  .rs-works__year{ margin-left:0; flex-basis:100% }
}

/* ============================================ Weitere Ausgabe */
.rs-bedition{ background:var(--cream-2); padding-block:clamp(52px,6.5vw,92px) }
.rs-bedition .rs-h2{ margin:0 0 clamp(26px,3vw,44px) }
.rs-bedition__item{
  display:grid; grid-template-columns:150px minmax(0,1fr);
  gap:clamp(22px,3vw,44px); align-items:start;
}
.rs-bedition__item + .rs-bedition__item{ margin-top:32px }
.rs-bedition__cover{
  aspect-ratio:2/3; overflow:hidden; background:#e6e0d6;
  box-shadow:0 10px 26px rgba(24,34,43,.20);
}
.rs-bedition__cover img{ width:100%; height:100%; object-fit:cover; display:block }
.rs-bedition__body h3{
  margin:0; font-family:var(--serif); font-weight:400;
  font-size:clamp(1.4rem,2.4vw,1.9rem); line-height:1.2; color:var(--ink);
}
.rs-bedition__sub{
  margin:6px 0 20px; font-family:var(--serif); font-style:italic;
  color:var(--muted); font-size:1.02rem;
}
.rs-bedition__body dl{ margin:0; display:grid; gap:0 }
.rs-bedition__body dl > div{
  display:flex; gap:16px; justify-content:space-between;
  padding:9px 0; border-top:1px solid rgba(30,42,51,.12);
  max-width:420px;
}
.rs-bedition__body dt{
  font-family:var(--sans); font-size:.7rem; letter-spacing:.15em;
  text-transform:uppercase; color:var(--muted); margin:0;
}
.rs-bedition__body dd{ margin:0; font-size:.94rem; text-align:right; color:var(--ink) }
@media (max-width:560px){
  .rs-bedition__item{ grid-template-columns:110px minmax(0,1fr); gap:18px }
}

.rs-works__alt{
  flex-basis:100%; font-family:var(--sans); font-size:.72rem;
  letter-spacing:.04em; color:var(--muted); font-style:normal;
}
.rs-bedition__buy{ display:inline-block; margin-top:20px }

.rs-ptext__list{ margin:0 0 1.1em; padding-left:1.25em }
.rs-ptext__list li{ margin:0 0 .5em; line-height:1.65 }
.rs-ptext__list li:last-child{ margin-bottom:0 }
