/* =====================================================================
   pruem.org — Schwarz. Weiß. Rot.
   Schriften lokal (keine externen Server): Anton, Instrument Serif, Space Mono
   ===================================================================== */
@font-face{font-family:"Anton";src:url(../fonts/anton-latin-400-normal.woff2) format("woff2");font-display:swap;}
@font-face{font-family:"Instrument Serif";src:url(../fonts/instrument-serif-latin-400-normal.woff2) format("woff2");font-display:swap;}
@font-face{font-family:"Instrument Serif";font-style:italic;src:url(../fonts/instrument-serif-latin-400-italic.woff2) format("woff2");font-display:swap;}
@font-face{font-family:"Space Mono";src:url(../fonts/space-mono-latin-400-normal.woff2) format("woff2");font-display:swap;}
@font-face{font-family:"Space Mono";font-weight:700;src:url(../fonts/space-mono-latin-700-normal.woff2) format("woff2");font-display:swap;}

:root{
  --bk:#070707;
  --bk2:#121212;
  --wh:#f3efe6;
  --grey:#8a857b;
  --line:#2a2a2a;
  --red:#ff1e10;
  --red-d:#c41208;
  --disp:"Anton","Impact","Haettenschweiler","Arial Narrow Bold",sans-serif;
  --serif:"Instrument Serif","Didot","Bodoni 72",Georgia,serif;
  --mono:"Space Mono",ui-monospace,Menlo,monospace;
  --gut:clamp(16px,3.2vw,44px);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{margin:0;background:var(--bk);color:var(--wh);font-family:var(--serif);font-size:19px;line-height:1.45;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;}
body::after{ /* Filmkorn */
  content:"";position:fixed;inset:-50%;pointer-events:none;z-index:900;opacity:.07;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:grain 1.2s steps(6) infinite;}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-3%)}60%{transform:translate(-2%,-1%)}80%{transform:translate(3%,3%)}100%{transform:translate(0,0)}}
::selection{background:var(--red);color:var(--bk);}
a{color:inherit;text-decoration:none;}
a:focus-visible,button:focus-visible{outline:3px solid var(--red);outline-offset:3px;}
img{max-width:100%;display:block;}
.mono{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;}
.red{color:var(--red);}
.it{font-family:var(--serif);font-style:italic;text-transform:none;letter-spacing:0;}
.outline{color:transparent;-webkit-text-stroke:1.5px var(--wh);}
.outline.r{-webkit-text-stroke-color:var(--red);}
.skip{position:absolute;left:-999px;top:0;background:var(--red);color:var(--bk);padding:8px 14px;z-index:1000;}
.skip:focus{left:8px;}

/* ---------- Kopfzeile ---------- */
.top{position:fixed;top:0;left:0;right:0;z-index:500;display:flex;justify-content:space-between;align-items:center;
  padding:16px var(--gut) 26px;color:var(--wh);background:linear-gradient(rgba(7,7,7,.92) 40%,rgba(7,7,7,0));}
.top .logo{font-family:var(--disp);font-size:22px;letter-spacing:.02em;line-height:1;}
.top .logo b{color:var(--red);font-weight:400;}
.top nav{display:flex;align-items:center;gap:clamp(12px,2.4vw,34px);}
.top nav a{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;position:relative;padding:4px 0;}
.top nav a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;background:currentColor;transition:right .25s;}
.top nav a:hover::after,.top nav a[aria-current]::after{right:0;}

/* ---------- Hero Startseite ---------- */
.hero{min-height:100vh;min-height:100svh;padding:90px var(--gut) 28px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;}
.hero .l1{position:relative;z-index:2;font-family:var(--disp);font-size:clamp(40px,10.5vw,190px);line-height:.86;text-transform:uppercase;margin:0;}
.hero .l2{font-family:var(--disp);font-size:clamp(110px,36vw,640px);line-height:.74;color:var(--red);margin:0 0 0 -.04em;text-transform:uppercase;letter-spacing:-.01em;}
.hero .l2 .dot{color:var(--wh);}
.hero .claim{position:absolute;top:clamp(90px,16vh,190px);right:var(--gut);max-width:min(560px,80vw);text-align:right;
  font-size:clamp(26px,3.6vw,54px);line-height:1.02;font-style:italic;}
.hero .claim em{color:var(--red);}
.hero .meta{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px 30px;border-top:1px solid var(--wh);padding-top:12px;margin-top:18px;}
.hero .scroll{animation:bob 1.6s ease-in-out infinite;display:inline-block;}
@keyframes bob{50%{transform:translateY(5px)}}

/* ---------- Laufband ---------- */
.band{border-top:2px solid var(--red);border-bottom:2px solid var(--red);overflow:hidden;white-space:nowrap;padding:14px 0;background:var(--bk);}
.band .track{display:inline-block;animation:run 70s linear infinite;}
.band:hover .track{animation-play-state:paused;}
.band a{font-family:var(--disp);font-size:clamp(28px,4vw,56px);text-transform:uppercase;line-height:1;margin-right:.55em;}
.band a:nth-child(3n+1){color:var(--red);}
.band a:nth-child(3n+2){color:transparent;-webkit-text-stroke:1.2px var(--wh);}
.band a:hover{color:var(--wh);-webkit-text-stroke:0;}
.band a::after{content:"✕";font-size:.4em;vertical-align:.55em;margin-left:.55em;color:var(--grey);-webkit-text-stroke:0;}
@keyframes run{to{transform:translateX(-50%)}}

/* ---------- Abschnitte ---------- */
.sec{padding:clamp(70px,12vw,170px) var(--gut) 40px;}
.sechead{display:flex;align-items:baseline;gap:18px;margin-bottom:clamp(24px,4vw,56px);flex-wrap:wrap;}
.sechead h2{font-family:var(--disp);font-weight:400;font-size:clamp(46px,9vw,150px);line-height:.85;margin:0;text-transform:uppercase;}
.sechead p{margin:0;max-width:420px;color:var(--grey);font-style:italic;font-size:clamp(18px,1.6vw,24px);}

/* Themenliste Startseite */
.themes{list-style:none;margin:0;padding:0;border-top:1px solid var(--line);}
.themes li{border-bottom:1px solid var(--line);}
.themes a{display:grid;grid-template-columns:70px 1fr auto;align-items:end;gap:14px 24px;padding:clamp(14px,2vw,26px) 10px;position:relative;overflow:hidden;
  transition:background .2s,color .2s;}
.themes a::before{content:"";position:absolute;inset:0;background:var(--red);transform:scaleY(0);transform-origin:bottom;transition:transform .35s cubic-bezier(.7,0,.2,1);z-index:-1;}
.themes a:hover::before,.themes a:focus-visible::before{transform:scaleY(1);}
.themes a:hover{color:var(--bk);}
.themes a:hover .n,.themes a:hover .c{color:var(--bk);}
.themes .n{font-family:var(--mono);color:var(--red);font-size:13px;align-self:start;padding-top:.7em;}
.themes .t{font-family:var(--disp);text-transform:uppercase;line-height:.84;transition:transform .35s cubic-bezier(.7,0,.2,1);}
.themes a:hover .t{transform:translateX(18px);}
.themes .t i{font-family:var(--serif);font-style:italic;text-transform:none;font-size:.62em;margin-left:.12em;}
.themes .c{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--grey);text-align:right;white-space:nowrap;}
.themes .sz-xxl .t{font-size:clamp(64px,15vw,260px);}
.themes .sz-xl .t{font-size:clamp(54px,11.5vw,200px);}
.themes .sz-l .t{font-size:clamp(46px,8.5vw,150px);}
.themes .sz-m .t{font-size:clamp(40px,6.5vw,112px);}
.themes li:nth-child(even) .t{text-align:right;}
.themes li:nth-child(3) .t,.themes li:nth-child(6) .t{color:var(--red);}
.themes a:hover .t{color:var(--bk);}

/* Index-Wolke */
.cloud{display:flex;flex-wrap:wrap;align-items:baseline;gap:.15em .5em;line-height:1.02;}
.cloud a{font-family:var(--disp);text-transform:uppercase;transition:color .15s,transform .15s;display:inline-block;}
.cloud a.w1{font-size:clamp(20px,2.2vw,32px);color:var(--grey);}
.cloud a.w2{font-size:clamp(28px,3.8vw,58px);}
.cloud a.w3{font-size:clamp(38px,5.8vw,92px);color:transparent;-webkit-text-stroke:1.4px var(--wh);}
.cloud a.w4{font-size:clamp(50px,8.4vw,140px);color:var(--red);}
.cloud a:nth-child(7n+3){font-family:var(--serif);font-style:italic;text-transform:none;}
.cloud a:hover{color:var(--red);-webkit-text-stroke:0;transform:rotate(-2deg) scale(1.04);}
.cloud a.w4:hover{color:var(--wh);}
.cloud .soon{opacity:.35;cursor:default;}
.cloud .soon:hover{transform:none;color:inherit;}

/* Bilder-Teaser */
.teaser{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;}
.teaser a{position:relative;aspect-ratio:3/4;overflow:hidden;display:block;background:var(--bk2);}
.teaser img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.25) brightness(.72);transition:filter .5s,transform .8s;}
.teaser a:hover img{filter:grayscale(0) contrast(1.05) brightness(.9);transform:scale(1.05);}
.teaser span{position:absolute;left:12px;bottom:6px;font-family:var(--disp);font-size:clamp(34px,7vw,120px);line-height:.85;text-transform:uppercase;}
.teaser a:nth-child(2) span{color:var(--red);}
@media(max-width:640px){.teaser{grid-template-columns:1fr;} .teaser a{aspect-ratio:16/10;}}

/* ---------- Unterseiten-Kopf ---------- */
.phead{padding:clamp(110px,16vw,200px) var(--gut) clamp(30px,5vw,60px);position:relative;}
.phead .kick{display:flex;gap:16px;align-items:center;margin-bottom:18px;color:var(--grey);}
.phead .kick::before{content:"";width:40px;height:2px;background:var(--red);}
.phead h1{font-family:var(--disp);font-weight:400;text-transform:uppercase;margin:0;line-height:.82;font-size:clamp(66px,15vw,270px);letter-spacing:-.005em;}
.phead h1 span{display:block;}
.phead h1 span:nth-child(2){color:var(--red);padding-left:.5em;}
.phead h1 span:nth-child(3){-webkit-text-stroke:1.6px var(--wh);color:transparent;padding-left:1em;}
.phead .intro{max-width:620px;margin:clamp(22px,4vw,44px) 0 0 auto;font-size:clamp(22px,2.4vw,34px);line-height:1.15;font-style:italic;}
.phead .intro::first-letter{color:var(--red);}

/* Seitenliste auf Themenseite */
.sites{list-style:none;margin:0;padding:0 var(--gut);counter-reset:s;}
.sites li{border-top:1px solid var(--line);}
.sites li:last-child{border-bottom:1px solid var(--line);}
.sites a,.sites .nolink{display:grid;grid-template-columns:56px minmax(0,1.25fr) minmax(0,1fr) 40px;gap:10px 28px;align-items:center;padding:clamp(18px,2.6vw,34px) 8px;position:relative;isolation:isolate;}
.sites a::before{content:"";position:absolute;inset:0;background:var(--red);clip-path:inset(0 100% 0 0);transition:clip-path .4s cubic-bezier(.7,0,.2,1);z-index:-1;}
.sites a:hover::before,.sites a:focus-visible::before{clip-path:inset(0 0 0 0);}
.sites a:hover{color:var(--bk);}
.sites .n{font-family:var(--mono);font-size:13px;color:var(--red);}
.sites a:hover .n,.sites a:hover .d small{color:var(--bk);}
.sites .h{font-family:var(--disp);text-transform:uppercase;line-height:.9;font-size:clamp(34px,5.6vw,96px);overflow-wrap:anywhere;}
.sites li:nth-child(3n+2) .h{font-family:var(--serif);font-style:italic;text-transform:none;font-size:clamp(40px,6.2vw,108px);line-height:.9;}
.sites li:nth-child(4n+3) .h{color:transparent;-webkit-text-stroke:1.4px var(--wh);}
.sites a:hover .h{color:var(--bk);-webkit-text-stroke:0;}
.sites .d{font-size:clamp(17px,1.4vw,21px);line-height:1.3;}
.sites .d small{display:block;margin-top:8px;font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;color:var(--grey);}
.sites .ar{font-family:var(--disp);font-size:36px;justify-self:end;transition:transform .3s;}
.sites a:hover .ar{transform:rotate(45deg);}
.sites .nolink{opacity:.4;}
.sites .nolink .ar{font-family:var(--mono);font-size:11px;}
@media(max-width:760px){
  .sites a,.sites .nolink{grid-template-columns:34px 1fr 30px;}
  .sites .d{grid-column:2/4;grid-row:2;}
  .sites .ar{grid-column:3;grid-row:1;font-size:26px;}
}

/* Blättern */
.pager{display:grid;grid-template-columns:1fr 1fr;border-top:2px solid var(--red);margin-top:clamp(60px,9vw,120px);}
.pager a{padding:clamp(24px,4vw,50px) var(--gut);display:block;}
.pager a+a{text-align:right;border-left:1px solid var(--line);}
.pager .mono{color:var(--grey);display:block;margin-bottom:8px;}
.pager b{font-family:var(--disp);font-weight:400;font-size:clamp(28px,5vw,80px);text-transform:uppercase;line-height:.9;display:block;}
.pager a:hover b{color:var(--red);}

/* ---------- Bilder ---------- */
.gcat{padding:clamp(50px,8vw,110px) var(--gut) 10px;}
.gcat header{display:flex;justify-content:space-between;align-items:flex-end;border-bottom:2px solid var(--wh);padding-bottom:10px;margin-bottom:6px;gap:20px;}
.gcat h2{font-family:var(--disp);font-weight:400;font-size:clamp(56px,12vw,210px);line-height:.8;margin:0;text-transform:uppercase;}
.gcat:nth-of-type(2) h2{color:var(--red);}
.gcat:nth-of-type(3) h2{color:transparent;-webkit-text-stroke:2px var(--wh);}
.albums{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:4px;}
.albums a{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--bk2);display:block;}
.albums a:nth-child(5n+1){grid-row:span 2;aspect-ratio:auto;}
.albums img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.3) brightness(.7);transition:filter .5s,transform .9s;}
.albums a:hover img{filter:grayscale(0) contrast(1.05) brightness(.85);transform:scale(1.06);}
.albums .lbl{z-index:2;position:absolute;left:12px;right:12px;bottom:10px;font-family:var(--disp);text-transform:uppercase;font-size:clamp(30px,3.4vw,54px);line-height:.88;}
.albums .tag{z-index:2;position:absolute;top:10px;left:12px;font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;background:var(--bk);padding:3px 7px;}
.albums .tag.neu{background:var(--red);color:var(--bk);}
.albums a.typo{background:var(--red);color:var(--bk);}
.albums a.typo:nth-child(even){background:var(--wh);}
.albums a.typo .lbl{font-size:clamp(40px,5vw,80px);}
.albums a.typo:hover{background:var(--bk);color:var(--red);outline:2px solid var(--red);outline-offset:-2px;}

/* Albumseite */
.gallery{columns:4 280px;column-gap:6px;padding:0 var(--gut);}
.gallery button{all:unset;display:block;margin:0 0 6px;cursor:zoom-in;break-inside:avoid;position:relative;overflow:hidden;background:var(--bk2);}
.gallery img{width:100%;height:auto;filter:grayscale(.15);transition:filter .4s,transform .6s;}
.gallery button:hover img{filter:grayscale(0);transform:scale(1.03);}
.gallery button:focus-visible{outline:3px solid var(--red);outline-offset:-3px;}
.lb{position:fixed;inset:0;background:rgba(7,7,7,.97);z-index:800;display:none;align-items:center;justify-content:center;}
.lb.open{display:flex;}
.lb img{max-width:92vw;max-height:84vh;object-fit:contain;}
.lb .x,.lb .p,.lb .nx{all:unset;position:absolute;cursor:pointer;font-family:var(--disp);color:var(--wh);font-size:42px;line-height:1;padding:14px;}
.lb .x{top:10px;right:16px;color:var(--red);}
.lb .p{left:10px;top:50%;transform:translateY(-50%);}
.lb .nx{right:10px;top:50%;transform:translateY(-50%);}
.lb .x:hover,.lb .p:hover,.lb .nx:hover{color:var(--red);}
.lb .cnt{position:absolute;bottom:16px;left:0;right:0;text-align:center;color:var(--grey);}
.note{padding:10px var(--gut) 0;color:var(--grey);font-style:italic;max-width:760px;}
.note a{color:var(--wh);border-bottom:1px solid var(--red);}
.note a:hover{color:var(--red);}

/* ---------- Text (Impressum) ---------- */
.txt{padding:0 var(--gut);max-width:880px;}
.txt h2{font-family:var(--disp);font-weight:400;text-transform:uppercase;font-size:clamp(30px,4vw,54px);line-height:.95;margin:56px 0 14px;color:var(--red);break-after:avoid;}
.txt p{margin:0 0 14px;}
.txt a{border-bottom:1px solid var(--red);}

/* ---------- Fuß ---------- */
.foot{margin-top:clamp(80px,12vw,180px);padding:clamp(20px,4vw,60px) var(--gut) 26px;overflow:hidden;border-top:1px solid var(--line);}
.foot .big{font-family:var(--disp);font-size:clamp(90px,30vw,520px);line-height:.78;text-transform:uppercase;color:transparent;-webkit-text-stroke:1.5px var(--red);
  margin:24px 0 18px -.03em;user-select:none;}
.foot .row{display:flex;justify-content:space-between;gap:12px 30px;flex-wrap:wrap;color:var(--grey);}
.foot a:hover{color:var(--red);}

/* ---------- Cursor-Punkt (nur Maus) ---------- */
.cur{position:fixed;left:0;top:0;width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:50%;background:var(--red);pointer-events:none;z-index:950;
  mix-blend-mode:difference;transition:width .2s,height .2s,margin .2s;display:none;}
.cur.big{width:70px;height:70px;margin:-35px 0 0 -35px;}
@media(hover:hover) and (pointer:fine){.cur{display:block;}}

/* Einblenden */
.rv{opacity:0;transform:translateY(40px);transition:opacity .9s,transform .9s cubic-bezier(.2,.7,.2,1);}
.rv.in{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;}
  .rv{opacity:1;transform:none;}
  .cur{display:none!important;}
}
@media print{body::after,.cur,.top,.band{display:none;} body{background:#fff;color:#000;}}

/* ---------- Feinschliff mobil ---------- */
.cloud a,.cloud span{max-width:100%;overflow-wrap:anywhere;}
@media(max-width:640px){
  .themes a{grid-template-columns:34px 1fr;}
  .themes .c{grid-column:2;text-align:left;}
  .themes li:nth-child(even) .t{text-align:left;}
  .cloud a.w4{font-size:clamp(30px,9.4vw,60px);}
  .cloud a.w3{font-size:clamp(24px,7.4vw,46px);}
  .hero{min-height:86svh;}
  .hero .claim{font-size:34px;}
  .hero .l1{font-size:15vw;}
  .top nav{gap:12px;} .top nav a{font-size:11px;letter-spacing:.08em;}
  .top .logo{font-size:19px;}
}

/* ---------- Themen-Untermenü (Kopfzeile) ---------- */
.dd{position:relative;}
.dd>a{display:inline-block;}
.ddm{position:absolute;top:100%;right:-18px;min-width:300px;padding:14px 0 10px;background:var(--bk);border:1px solid var(--line);border-top:3px solid var(--red);
  opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s,transform .2s,visibility .2s;margin-top:10px;}
.dd:hover .ddm,.dd:focus-within .ddm{opacity:1;visibility:visible;transform:none;}
.ddm::before{content:"";position:absolute;left:0;right:0;top:-16px;height:16px;}
.top nav .ddm a{display:flex;gap:14px;padding:9px 20px;font-family:var(--disp);font-size:22px;letter-spacing:.01em;text-transform:uppercase;}
.top nav .ddm a span{font-family:var(--mono);font-size:11px;color:var(--red);padding-top:.5em;}
.top nav .ddm a::after{display:none;}
.top nav .ddm a:hover{background:var(--red);color:var(--bk);}
.top nav .ddm a:hover span{color:var(--bk);}
@media(hover:none),(max-width:640px){.ddm{display:none;}}

/* ---------- Themenleiste auf Themenseiten ---------- */
.tnav{display:flex;gap:8px;flex-wrap:wrap;padding:0 var(--gut) clamp(30px,4vw,50px);}
.tnav a{font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--line);padding:8px 12px;transition:background .15s,border-color .15s,color .15s;}
.tnav a:hover{border-color:var(--wh);}
.tnav a[aria-current]{background:var(--red);border-color:var(--red);color:var(--bk);}

/* ---------- Themen-Übersicht ---------- */
.tblocks{padding:0 var(--gut);}
.tblock{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:20px 48px;border-top:1px solid var(--line);padding:clamp(28px,4vw,56px) 0;align-items:start;}
.tblock:last-child{border-bottom:1px solid var(--line);}
.tblock .tt{display:flex;gap:18px;}
.tblock .tt .n{color:var(--red);padding-top:.8em;}
.tblock .h{font-family:var(--disp);text-transform:uppercase;font-size:clamp(48px,7.5vw,128px);line-height:.84;transition:color .2s,transform .3s;}
.tblock .h span{display:block;}
.tblock:nth-child(odd) .h span:last-child{color:var(--red);}
.tblock:nth-child(even) .h span:last-child{color:transparent;-webkit-text-stroke:1.4px var(--wh);}
.tblock .tt:hover .h{transform:translateX(12px);}
.tblock .tt:hover .h span{color:var(--red);-webkit-text-stroke:0;}
.tblock .tb p{margin:0 0 18px;font-style:italic;font-size:clamp(20px,1.8vw,26px);line-height:1.2;}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:20px;}
.chip{font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;border:1px solid var(--grey);padding:6px 10px;border-radius:999px;transition:background .15s,color .15s,border-color .15s;}
a.chip:hover{background:var(--wh);color:var(--bk);border-color:var(--wh);}
.chip.soon{opacity:.4;border-style:dashed;}
.more{display:inline-block;border-bottom:2px solid var(--red);padding-bottom:4px;}
.more:hover{color:var(--red);}
@media(max-width:760px){.tblock{grid-template-columns:1fr;}}

/* ---------- Soziale Netzwerke ---------- */
.soc{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;}
.sbig{position:relative;display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto auto;gap:4px 18px;align-items:center;
  padding:clamp(22px,3vw,40px);border:1.5px solid var(--wh);overflow:hidden;isolation:isolate;transition:color .25s,border-color .25s;}
.sbig::before{content:"";position:absolute;inset:0;background:var(--red);transform:translateY(101%);transition:transform .4s cubic-bezier(.7,0,.2,1);z-index:-1;}
.sbig:hover::before,.sbig:focus-visible::before{transform:none;}
.sbig:hover{color:var(--bk);border-color:var(--red);}
.sbig .ic{grid-row:1/3;width:clamp(46px,5vw,72px);height:clamp(46px,5vw,72px);display:grid;place-items:center;border-radius:50%;background:var(--wh);color:var(--bk);transition:transform .45s,background .25s,color .25s;}
.sbig .ic svg{width:56%;height:56%;}
.sbig:hover .ic{background:var(--bk);color:var(--red);transform:rotate(-12deg) scale(1.06);}
.sbig .nm{font-family:var(--disp);text-transform:uppercase;font-size:clamp(30px,3.6vw,58px);line-height:.9;}
.sbig .hd{grid-column:2;color:var(--grey);font-size:11px;}
.sbig:hover .hd{color:var(--bk);}
.sbig .ar{grid-row:1/3;grid-column:3;font-family:var(--disp);font-size:34px;transition:transform .3s;}
.sbig:hover .ar{transform:rotate(45deg);}
.sbig:nth-child(2) .nm{font-family:var(--serif);font-style:italic;text-transform:none;font-size:clamp(34px,4vw,64px);}
.sbig:nth-child(3){border-color:var(--red);}
.sbig:nth-child(3) .ic{background:var(--red);color:var(--bk);}
.sbig:nth-child(3):hover .ic{background:var(--bk);color:var(--wh);}
@media(max-width:900px){.soc{grid-template-columns:1fr;}}
.soc-s{display:flex;gap:10px;margin:0 0 18px;}
.sb{width:44px;height:44px;border:1.5px solid var(--wh);border-radius:50%;display:grid;place-items:center;transition:background .2s,color .2s,border-color .2s,transform .3s;}
.sb svg{width:20px;height:20px;}
.sb:hover{background:var(--red);border-color:var(--red);color:var(--bk);transform:rotate(-10deg);}

/* =====================================================================
   HAMBURGER + Vollbild-Menü
   ===================================================================== */
.top .tr{display:flex;align-items:center;gap:clamp(14px,2.4vw,34px);}
.burger{all:unset;cursor:pointer;display:flex;align-items:center;gap:10px;padding:6px 0 6px 6px;color:var(--wh);position:relative;z-index:720;}
.burger .bl{position:relative;width:46px;height:46px;border-radius:50%;background:var(--red);display:block;transition:transform .5s cubic-bezier(.7,0,.2,1),background .3s;}
.burger .bl i{position:absolute;left:12px;right:12px;height:2.5px;background:var(--bk);border-radius:2px;transition:transform .45s cubic-bezier(.7,0,.2,1),opacity .2s,width .3s,left .3s;}
.burger .bl i:nth-child(1){top:15px;}
.burger .bl i:nth-child(2){top:22px;right:18px;}
.burger .bl i:nth-child(3){top:29px;}
.burger:hover .bl{transform:rotate(-90deg) scale(1.06);}
.burger:hover .bl i:nth-child(2){right:12px;}
.burger .bt{font-size:11px;}
.burger:focus-visible .bl{outline:3px solid var(--wh);outline-offset:3px;}
body.mopen .burger .bl{background:var(--wh);transform:rotate(180deg);}
body.mopen .burger .bl i:nth-child(1){transform:translateY(7px) rotate(45deg);}
body.mopen .burger .bl i:nth-child(2){opacity:0;}
body.mopen .burger .bl i:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
body.mopen .burger .bt{visibility:hidden;}
body.mopen{overflow:hidden;}
body.mopen .cur{display:none!important;}

.menu{position:fixed;inset:0;z-index:700;background:var(--red);color:var(--bk);overflow-y:auto;overscroll-behavior:contain;
  clip-path:circle(0 at calc(100% - 44px) 40px);transition:clip-path .75s cubic-bezier(.7,0,.2,1);visibility:hidden;}
.menu[hidden]{display:block;}
body.mopen .menu{clip-path:circle(150% at calc(100% - 44px) 40px);visibility:visible;}
.menu.closing{visibility:visible;}
.mwrap{min-height:100%;display:flex;flex-direction:column;padding:22px var(--gut) 0;}
.mhead{min-height:46px;}
.mclose{all:unset;cursor:pointer;font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;border-bottom:2px solid var(--bk);display:none;}
.mgrid{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(0,1fr);gap:40px clamp(30px,5vw,90px);padding:clamp(20px,4vh,50px) 0 30px;flex:1;align-content:start;}
.mk{margin:0 0 12px;opacity:.65;}
.mthemes{list-style:none;margin:0;padding:0;}
.mthemes li,.mlinks li{opacity:0;transform:translateY(60%);transition:opacity .5s,transform .7s cubic-bezier(.2,.8,.2,1);transition-delay:0s;}
body.mopen .mthemes li,body.mopen .mlinks li{opacity:1;transform:none;transition-delay:calc(.25s + var(--i) * .05s);}
.mthemes a{display:grid;grid-template-columns:44px 1fr auto;align-items:baseline;gap:12px;border-top:2px solid var(--bk);padding:.12em 0 .05em;}
.mthemes li:last-child a{border-bottom:2px solid var(--bk);}
.mthemes .mn{font-family:var(--mono);font-size:12px;}
.mthemes .mt{font-family:var(--disp);text-transform:uppercase;font-size:clamp(34px,5.6vw,92px);line-height:1;transition:transform .35s cubic-bezier(.7,0,.2,1),color .2s;}
.mthemes li:nth-child(even) .mt{font-family:var(--serif);font-style:italic;text-transform:none;font-size:clamp(38px,6.2vw,100px);line-height:.95;}
.mthemes li:nth-child(3n) .mt{color:transparent;-webkit-text-stroke:1.6px var(--bk);}
.mthemes .mc{font-family:var(--mono);font-size:12px;}
.mthemes a:hover .mt,.mthemes a:focus-visible .mt{transform:translateX(16px);color:var(--wh);-webkit-text-stroke:0;}
.mlinks{list-style:none;margin:0 0 34px;padding:0;}
.mlinks a{font-family:var(--disp);text-transform:uppercase;font-size:clamp(28px,3vw,46px);line-height:1.08;display:inline-block;transition:color .2s,transform .3s;}
.mlinks a:hover,.mlinks a:focus-visible{color:var(--wh);transform:translateX(8px);}
.menu .soc-s .sb{border-color:var(--bk);color:var(--bk);}
.menu .soc-s .sb:hover{background:var(--bk);color:var(--red);}
.menu a:focus-visible,.menu button:focus-visible{outline:3px solid var(--bk);outline-offset:3px;}
.mfoot{font-family:var(--disp);text-transform:uppercase;font-size:clamp(90px,19vw,300px);line-height:.72;color:var(--bk);margin:10px 0 -.04em -.04em;overflow:hidden;padding-top:.24em;user-select:none;
  transform:translateY(40%);transition:transform .9s cubic-bezier(.2,.8,.2,1) .2s;}
.mfoot span{color:var(--wh);}
body.mopen .mfoot{transform:none;}
@media(max-width:900px){
  .top nav{display:none;}
  .mgrid{grid-template-columns:1fr;}
  .mhead{padding-right:0;}
  .mhead span{display:none;}
}
@media(max-width:640px){.burger .bt{display:none;} .mthemes a{grid-template-columns:30px 1fr auto;}}
@media(prefers-reduced-motion:reduce){.menu{clip-path:none!important;} .mthemes li,.mlinks li{opacity:1;transform:none;}}
body.mopen .top{z-index:760;background:none;}
body.mopen .top nav{opacity:0;pointer-events:none;}
body.mopen .top .logo{color:var(--bk);}
body.mopen .top .logo b{color:var(--wh);}
.top nav{transition:opacity .3s;}
.top .logo{transition:color .4s;}

/* ---------- Bücher-Nest-Icon (Kopfzeile) ---------- */
.nestbtn{display:flex;align-items:center;gap:10px;color:var(--wh);}
.nesticon{width:46px;height:46px;display:block;overflow:visible;transition:transform .6s cubic-bezier(.7,0,.2,1);}
.nesticon .nb-l,.nesticon .nb-r{fill:var(--red);transition:transform .5s cubic-bezier(.7,0,.2,1),fill .3s;transform-box:view-box;transform-origin:24px 24px;}
.nesticon .nb-ln{stroke:var(--bk);}
.nesticon .nb-sp{stroke:var(--wh);}
.nesticon .nb-nest{stroke:var(--wh);transition:stroke .3s;}
.nestbtn .mono{font-size:10px;line-height:1.25;letter-spacing:.12em;}
.nestbtn:hover .nesticon{transform:rotate(-8deg) scale(1.08);}
.nestbtn:hover .nb-l{transform:skewY(-6deg);}
.nestbtn:hover .nb-r{transform:skewY(6deg);}
.nestbtn:hover .nb-nest{stroke:var(--red);}
.nestbtn:focus-visible{outline:3px solid var(--red);outline-offset:4px;border-radius:50%;}
body.mopen .nestbtn{opacity:0;pointer-events:none;}
.nestbtn{transition:opacity .3s;}
@media(max-width:900px){.nestbtn .mono{display:none;} .nesticon{width:42px;height:42px;}}

/* Titel rechts im Hero */
.hero .claim .brand{display:block;font-family:var(--disp);font-style:normal;text-transform:none;color:var(--wh);
  font-size:clamp(48px,6.4vw,118px);line-height:.9;letter-spacing:-.005em;margin-bottom:.18em;white-space:nowrap;}
.hero .claim .brand b{color:var(--red);font-weight:400;}
@media(max-width:640px){.hero .claim .brand{font-size:54px;} .hero .claim{max-width:none;}}

/* ---------- Zurück-zur-Startseite-Button ---------- */
.top .tl{display:flex;align-items:center;gap:clamp(14px,2vw,26px);}
.homebtn{display:inline-flex;align-items:center;gap:10px;border:1.5px solid var(--wh);border-radius:999px;padding:5px 16px 5px 5px;color:var(--wh);
  transition:background .25s,color .25s,border-color .25s;}
.homebtn .hc{width:30px;height:30px;border-radius:50%;background:var(--red);color:var(--bk);display:grid;place-items:center;transition:transform .35s cubic-bezier(.7,0,.2,1),background .25s;}
.homebtn .hc svg{width:18px;height:18px;}
.homebtn .ht{font-size:11px;letter-spacing:.14em;}
.homebtn:hover,.homebtn:focus-visible{background:var(--wh);color:var(--bk);border-color:var(--wh);}
.homebtn:hover .hc{transform:translateX(-4px);background:var(--red);}
body.mopen .homebtn{opacity:0;pointer-events:none;}
@media(max-width:640px){.homebtn{padding:4px;border-width:0;} .homebtn .ht{display:none;} .homebtn .hc{width:36px;height:36px;} .top .tl{gap:10px;}}


@media(max-width:640px){.phead h1{font-size:clamp(48px,15.5vw,90px);} .phead h1 span:nth-child(2){padding-left:.3em;} .phead h1 span:nth-child(3){padding-left:.5em;}}
.phead h1 span{overflow-wrap:anywhere;}
.sites .d small{overflow-wrap:anywhere;}


.pager{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
.pager b{overflow-wrap:anywhere;hyphens:auto;}
@media(max-width:640px){.pager b{font-size:clamp(22px,7vw,36px);}}


/* ---------- Suche ---------- */
#suche{scroll-margin-top:60px;}
.search{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;border-bottom:3px solid var(--wh);padding-bottom:10px;margin-bottom:10px;}
.search label{color:var(--red);}
.search input{all:unset;font-family:var(--disp);font-size:clamp(34px,5.4vw,90px);text-transform:uppercase;line-height:1.05;color:var(--wh);min-width:0;}
.search input::placeholder{color:#3a3834;}
.search input::-webkit-search-cancel-button{filter:invert(1);}
.search:focus-within{border-color:var(--red);}
#qcnt{color:var(--grey);white-space:nowrap;}
.sites.qres{padding:0;}
.sites.qres .h{font-size:clamp(30px,4.2vw,70px);}
.qnest{margin:18px 0 0;}
.qnest a{border-bottom:2px solid var(--red);padding-bottom:3px;}
.qnest a:hover{color:var(--red);}
@media(max-width:640px){.search{grid-template-columns:1fr;gap:6px;}}
