:root{--ink:#263016;--forest:#34411c;--leaf:#9cad3d;--lime:#c8d84d;--gold:#e7d62a;--cream:#f6f4e8;--paper:#fffdf7;--soft:#eef1d8}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:#292c25;font:17px/1.65 system-ui,-apple-system,sans-serif}
h1,h2,h3{font-family:Georgia,serif;color:var(--ink);font-weight:500;line-height:1.08}
h1{font-size:clamp(3rem,6vw,6.5rem);margin:.2em 0}
h2{font-size:clamp(2.3rem,4vw,4.2rem);margin:.15em 0 .7em}
h3{font-size:1.45rem;margin:.7rem 0 .1rem}
p{max-width:68ch}
a{color:var(--forest)}
header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:10px 5vw;border-bottom:1px solid #dfe3c8;position:sticky;top:0;background:#fffdf7ee;backdrop-filter:blur(10px);z-index:5}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;text-transform:uppercase;letter-spacing:.08em;font-family:Georgia,serif}
.brand img{width:58px;height:58px;object-fit:cover;border-radius:50%}
nav{display:flex;gap:24px}
nav a{text-decoration:none;font-size:.9rem}
.hero{min-height:78vh;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:5vw;padding:7vw 6vw;background:linear-gradient(135deg,var(--cream),#eef2d1)}
.hero img{width:100%;height:68vh;object-fit:cover;border-radius:48% 48% 5px 5px}
.hero blockquote{font-family:Georgia,serif;font-size:1.3rem;max-width:36em;margin:2rem 0 0;border-left:4px solid var(--gold);padding-left:1.2rem}
.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;font-weight:700;color:#6f7d28}
.section{padding:8vw 6vw}
.works{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5vw 3vw}
.work button{border:0;padding:0;background:none;width:100%;position:relative;cursor:pointer}
.work img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}
.work p{margin:0;color:#69705f;font-size:.9rem}
.multi{position:absolute;right:12px;bottom:12px;background:var(--paper);padding:.2rem .55rem;border-radius:20px;font-size:.8rem}
.haptik{margin:2vw 6vw 6vw;background:var(--soft);display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:6vw;padding:5vw;border-radius:2px}
.haptik img{width:100%;max-height:680px;object-fit:cover}
.stories article{display:grid;grid-template-columns:minmax(220px,.7fr) 1.3fr;gap:5vw;align-items:center;padding:3.5vw 0;border-top:1px solid #dfe3c8}
.stories article:nth-of-type(even){grid-template-columns:1.3fr minmax(220px,.7fr)}
.stories article:nth-of-type(even) img{order:2}
.stories img{width:100%;aspect-ratio:4/5;object-fit:cover}
.slider-wrap{position:relative}
.slider{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 0 18px;scrollbar-width:none}
.slide{flex:0 0 min(32vw,360px);border:0;background:none;padding:0;text-align:left;scroll-snap-align:start;cursor:pointer}
.slide img{width:100%;aspect-ratio:4/5;object-fit:cover}
.slide span{display:block;font-family:Georgia,serif;font-size:1.1rem;padding:.5rem 0}
.slidebtn{position:absolute;z-index:2;top:43%;border:0;border-radius:50%;width:48px;height:48px;font-size:2rem;background:var(--gold);color:var(--forest);cursor:pointer}
.slidebtn.prev{left:-24px}
.slidebtn.next{right:-24px}
.portrait{display:grid;grid-template-columns:.75fr 1.25fr;gap:7vw;background:var(--cream);align-items:center}
.portrait img{width:100%;max-height:720px;object-fit:cover}
.funke{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;background:var(--paper)}
.funke img{width:100%;height:100%;min-height:720px;object-fit:cover}
.funke div{padding:8vw 7vw;align-self:center}
.lead{font-family:Georgia,serif;font-size:1.8rem;color:var(--forest)}
.button{display:inline-block;margin-top:1.2rem;background:var(--gold);color:var(--forest);padding:.9rem 1.25rem;text-decoration:none;font-weight:700;border-radius:2px}
.ausstellen{padding:9vw 14vw;background:var(--forest);color:#f7f5e8}
.ausstellen h2,.ausstellen .eyebrow{color:var(--lime)}
.ausstellen .button{background:var(--lime)}
footer{display:flex;align-items:center;gap:20px;padding:28px 6vw;background:#20290f;color:#eee}
footer img{width:54px;height:54px;object-fit:cover;border-radius:50%}
footer a{margin-left:auto;color:var(--gold)}
.lightbox{display:none;position:fixed;inset:0;background:#111e;z-index:20;align-items:center;justify-content:center}
.lightbox.open{display:flex}
.lightbox figure{margin:0;max-width:85vw;text-align:center}
.lightbox img{max-width:82vw;max-height:82vh;object-fit:contain}
.lightbox figcaption{color:white;padding:10px}
.close,.lbprev,.lbnext{position:absolute;border:0;background:none;color:white;font-size:3rem;cursor:pointer}
.close{right:25px;top:10px}
.lbprev{left:3vw}
.lbnext{right:3vw}
@media(max-width:760px){header nav{display:none}
.hero,.haptik,.portrait,.funke{grid-template-columns:1fr}
.hero{padding-top:12vw}
.hero img{height:55vh}
.works{grid-template-columns:1fr}
.stories article,.stories article:nth-of-type(even){grid-template-columns:1fr}
.stories article:nth-of-type(even) img{order:0}
.slide{flex-basis:78vw}
.slidebtn{display:none}
.funke img{min-height:0}
.ausstellen{padding:18vw 7vw}
footer{flex-wrap:wrap}
footer a{margin-left:0;width:100%}
}
.legal-links{display:flex;gap:18px;margin-left:auto}
.legal-links a{margin-left:0;color:var(--gold);white-space:nowrap}
.legal-page{width:min(860px,88vw);margin:0 auto;padding:7vw 0 9vw}
.legal-page>h1{font-size:clamp(3rem,6vw,5.5rem);margin-bottom:1em}
.legal-page section{padding:2rem 0;border-top:1px solid #dfe3c8}
.legal-page section h2{font-size:clamp(1.55rem,3vw,2.15rem);margin-bottom:.8rem}
.legal-page section p{max-width:76ch}
.legal-page code{font-size:.95em}
@media(max-width:760px){footer>a{margin-left:0}.legal-links{margin-left:0;width:100%;flex-wrap:wrap}.legal-links a{width:auto}.legal-page{padding-top:14vw}}
