:root{--fg:#fff;--bg:#000;--mute:#a8a8a8}
*{box-sizing:border-box}
html{background:var(--bg);color:var(--fg);font:18px/1.6 system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif}
body{margin:0;min-height:100vh;display:flex;flex-direction:column}
a{color:inherit}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:#fff;color:#000;padding:.5rem;z-index:9}
.head{display:flex;flex-wrap:wrap;gap:1rem 2rem;justify-content:space-between;align-items:flex-end;padding:1.5rem clamp(1rem,4vw,3rem);border-bottom:1px solid #333}
.brand{display:block;line-height:0}
.logo{width:150px;height:150px;display:block;margin:-.75rem 0}
nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem 1.8rem}
nav a{text-decoration:none;padding:.25rem 0;border-bottom:2px solid transparent}
nav a:hover,nav a[aria-current]{border-bottom-color:#fff}
a:focus-visible{outline:2px solid #fff;outline-offset:3px}
main{flex:1}
.text{max-width:42rem;padding:clamp(1.5rem,5vw,4rem) clamp(1rem,4vw,3rem);margin:0 auto 0 max(0px,calc((100vw - 80rem)/2))}
.text h1{font-size:clamp(2rem,5vw,3rem);margin:0 0 1rem}
.lead{font-size:1.25rem}
.steps{padding-left:1.4rem}.steps li{margin:.8rem 0}
.btn{display:inline-block;border:2px solid #fff;padding:.6rem 1.2rem;text-decoration:none;font-weight:600;overflow-wrap:anywhere}
.btn:hover{background:#fff;color:#000}
.foot{display:flex;flex-wrap:wrap;gap:.5rem 2rem;justify-content:space-between;padding:1.5rem clamp(1rem,4vw,3rem);border-top:1px solid #333;font-size:.85rem;color:var(--mute)}
@media(max-width:40rem){.logo{width:120px;height:120px}}
.text h2{font-size:1.2rem;margin:2rem 0 .5rem}
.todo{border:1px dashed #fff;padding:.6rem .8rem;font-size:.9rem}
.foot a{color:inherit}
.original{max-width:48rem}
.original p{margin:0 0 1.2rem}
.foto{float:right;margin:0 0 .8rem 1.2rem;filter:grayscale(1);opacity:.9;height:auto;max-width:42%}
.foto.quer{width:220px}.foto.hoch{width:165px}
.original p:has(.foto){margin:0}
.original::after{content:"";display:block;clear:both}
@media(max-width:40rem){.foto{float:none;display:inline-block;margin:0 .6rem .6rem 0;max-width:46%}}

/* Startseite */
.hero{display:flex;flex-direction:column;align-items:center;padding:clamp(.5rem,2vw,1.5rem) 0 clamp(2rem,5vw,3.5rem);overflow-x:clip}
.motiv{--w:min(100vw,1120px);width:var(--w);flex:none;margin-bottom:0}
.motiv img{display:block;width:100%;height:auto;
 -webkit-mask-image:linear-gradient(to right,transparent 0,rgba(0,0,0,.12) 6%,rgba(0,0,0,.45) 13%,rgba(0,0,0,.8) 21%,#000 30%,#000 70%,rgba(0,0,0,.8) 79%,rgba(0,0,0,.45) 87%,rgba(0,0,0,.12) 94%,transparent 100%),linear-gradient(to bottom,transparent 0,rgba(0,0,0,.12) 6%,rgba(0,0,0,.45) 13%,rgba(0,0,0,.8) 21%,#000 30%,#000 70%,rgba(0,0,0,.8) 79%,rgba(0,0,0,.45) 87%,rgba(0,0,0,.12) 94%,transparent 100%);
 -webkit-mask-composite:source-in;
 mask-image:linear-gradient(to right,transparent 0,rgba(0,0,0,.12) 6%,rgba(0,0,0,.45) 13%,rgba(0,0,0,.8) 21%,#000 30%,#000 70%,rgba(0,0,0,.8) 79%,rgba(0,0,0,.45) 87%,rgba(0,0,0,.12) 94%,transparent 100%),linear-gradient(to bottom,transparent 0,rgba(0,0,0,.12) 6%,rgba(0,0,0,.45) 13%,rgba(0,0,0,.8) 21%,#000 30%,#000 70%,rgba(0,0,0,.8) 79%,rgba(0,0,0,.45) 87%,rgba(0,0,0,.12) 94%,transparent 100%);
 mask-composite:intersect}
.hero h1{position:relative;margin:clamp(.5rem,2vw,1.5rem) 0 0;padding:0 1rem;max-width:34rem;text-align:center;font-weight:400;font-size:clamp(.95rem,1.4vw,1.1rem);line-height:1.8;letter-spacing:.04em}
@media(max-width:40rem){.motiv{--w:175vw;margin-bottom:0}}

/* Startseite: ohne vertikales Scrollen auf Laptop-Höhen (Smartphone: Scrollen erlaubt) */
@media(min-width:40.01rem){
 body.home{min-height:100dvh}
 body.home .head{padding-top:.75rem;padding-bottom:.75rem}
 body.home .foot{padding-top:.9rem;padding-bottom:.9rem}
 body.home .hero{justify-content:center;padding:0}
 body.home .motiv{--h:clamp(260px,calc((100dvh - 212px) * 1.08),2100px);width:min(112vw,calc(var(--h) * 1.337));margin:calc(var(--h) * -.04) 0;transform:translate(-50px,5px)}
 body.home .hero{overflow:clip;flex:1}
 body.home .hero h1{margin-top:.4rem}
}
@media(min-width:40.01rem){body.home .hero h1{max-width:none;white-space:nowrap}}
nav a.login{border:1px solid #fff;padding:.2rem 1rem;margin-left:.4rem}
nav a.login:hover{background:#fff;color:#000;border-color:#fff}
/* Inventar */
.inventar{max-width:none;margin:0;padding-bottom:1rem}
.inv-nav ul{list-style:none;margin:1rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.inv-nav a{display:inline-block;border:1px solid #555;padding:.25rem .8rem;text-decoration:none;font-size:.9rem}
.inv-nav a:hover{border-color:#fff}
.inventar-inhalt{max-width:80rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem) 3rem}
.inv-gruppe{padding-top:2rem;scroll-margin-top:1rem}
.inv-gruppe h2{font-size:1.4rem;margin:0 0 1rem;padding-bottom:.5rem;border-bottom:1px solid #333}
.inv-liste{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,20rem),1fr));gap:1rem}
.inv-karte{border:1px solid #333;padding:1rem 1.1rem}
.inv-karte h3{font-size:1.05rem;margin:0 0 .5rem}
.inv-karte p{margin:0 0 .7rem;font-size:.95rem;color:#ddd}
.inv-karte dl{margin:0;font-size:.85rem;color:var(--mute)}
.inv-karte dl div{display:flex;gap:.5rem}
.inv-karte dt{min-width:5.6rem}
.inv-karte dd{margin:0;color:#fff}
.nur-leser{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
