:root{
	--bg:#0d0b09;
	--paper:#f4ead6;
	--ink:#23170f;
	--gold:#c59a5b;
	--bronze:#7a4f2a;
	--muted:#7c6b5d
	}

*{box-sizing:border-box
	}

html{
	scroll-behavior:smooth
	}

body{
	margin:0;
	font-family:Georgia,'Times New Roman',serif;
	background:var(--bg);
	color:var(--paper);
	line-height:1.65
	}

a{
	color:inherit
	}

.nav{
	position:sticky;
	top:0;z-index:5;
	display:flex;
	justify-content:space-between;
	align-items:center;
	padding:14px 6vw;
	background:rgba(13,11,9,.82);
	backdrop-filter:blur(10px);
	border-bottom:1px solid rgba(197,154,91,.25)
	}

.brand{
	display:flex;
	align-items:center;
	gap:12px;
	text-decoration:none;
	font-weight:700;
	letter-spacing:.06em
	}

.brand img{
	width:48px;
	height:48px;
	object-fit:contain
	}

.navlinks{
	display:flex;
	gap:22px
	}

.navlinks a{
	text-decoration:none;
	color:#ead9b8
	}

.navlinks a:hover{
	color:var(--gold)
	}

.hero{
	min-height:100vh;
	background:radial-gradient(circle at 70% 20%,rgba(197,154,91,.22),transparent 35%),linear-gradient(135deg,#080706,#1d130c 55%,#050403)
	}

.hero-content{
	display:grid;
	grid-template-columns:minmax(260px,420px) 1fr;
	gap:48px;
	align-items:center;
	max-width:1180px;
	margin:auto;
	padding:80px 6vw
	}

.hero-logo{
	width:100%;
	filter:drop-shadow(0 18px 35px rgba(0,0,0,.6))
	}

.eyebrow{
	text-transform:uppercase;
	letter-spacing:.2em;
	color:var(--gold);
	font-size:.85rem;
	font-weight:700}h1,h2,h3{line-height:1.08;
	margin:.2em 0 .55em
	}

h1{
	font-size:clamp(2.4rem,6vw,5.6rem)
	}

h2{
	font-size:clamp(2rem,4vw,3.4rem)
	}

h3{
	font-size:1.35rem
	}

.lead{
	font-size:1.25rem;
	max-width:680px;color:#ead9b8
	}

.button,button{
	display:inline-block;
	margin-top:18px;
	padding:14px 22px;
	border-radius:999px;
	border:1px solid var(--gold);
	background:linear-gradient(135deg,var(--gold),#8a5b2f);
	color:#140d08;
	text-decoration:none;
	font-weight:700;
	cursor:pointer
	}

.section{
	padding:90px 6vw;
	max-width:1180px;
	margin:auto
	}

.two-col{
	display:grid;
	grid-template-columns:1.25fr .75fr;
	gap:44px;
	align-items:start
	}

.card{
	background:#f1e3c8;
	color:var(--ink);
	padding:30px;
	border-radius:22px;
	border:1px solid #d2ae72;
	box-shadow:0 20px 50px rgba(0,0,0,.28)
	}

.card.accent{
	background:linear-gradient(150deg,#f4ead6,#d9b77a)
	}

ul{
	padding-left:1.2rem
	}

.dark{
	max-width:none;
	background:#120d09;
	border-block:1px solid rgba(197,154,91,.25)
	}

.dark>p,.dark>h2,.dark>.section-intro,.gallery{
	max-width:1180px;
	margin-left:auto;
	margin-right:auto
	}

.section-intro{
	max-width:760px;
	color:#d9c8a8
	}

.gallery{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:20px;
	margin-top:34px
	}

.gallery figure{
	margin:0;
	background:#21160e;
	border:1px solid rgba(197,154,91,.35);
	border-radius:18px;
	overflow:hidden
	}

.gallery img {
        height: 280px;
	width: auto;
	object-fit: contain;
	display: block;
	margin-left: auto;
	margin-right: auto;
	object-position: center;
	transition: transform .3s ease;
}

.gallery-button{
    text-align:center;
    margin-top:40px;
}

.placeholder{
	aspect-ratio:4/3;
	display:grid;
	place-items:center;
	text-align:center;
	font-size:1.4rem;
	letter-spacing:.07em;
	color:#2a1b10;
	background:linear-gradient(135deg,#d9c39a,#8a5b2f);
	font-weight:700
	}

.gallery figcaption{
	padding:14px 16px;
	color:#ead9b8
	}

.contact{
	text-align:center
	}

.form{
	display:grid;
	gap:16px;
	max-width:720px;
	margin:32px auto 0;
	text-align:left
	}

.form label{
	display:grid;
	gap:6px;
	color:#ead9b8
	}

.form input,.form textarea{
	width:100%;
	padding:14px 16px;
	border-radius:14px;
	border:1px solid rgba(197,154,91,.55);
	background:#f8efdf;
	color:var(--ink);
	font:inherit
	}

.form button{
	justify-self:start
	}

.hint{
	color:#cbb894;
	font-size:.95rem
	}

code{
	background:#21160e;
	color:#f1e3c8;
	padding:.1em .35em;
	border-radius:6px}footer{display:flex;gap:14px;align-items:center;justify-content:center;
	padding:34px 6vw;
	border-top:1px solid rgba(197,154,91,.25);
	color:#d9c8a8}footer img{width:42px;
	height:42px;
	object-fit:contain
	}

@media (max-width:800px){

.nav{
	align-items:flex-start
	}

.navlinks{
	display:none
	}

.hero-content,.two-col{
	grid-template-columns:1fr
	}

.hero-content{
	padding-top:36px
	}

.gallery{
	grid-template-columns:1fr
	}

footer{
	flex-direction:column;
	text-align:center}
}

/* Erweiterte Galerie */
.subhero{
	padding:70px 6vw 45px;
	background:radial-gradient(circle at 75% 10%,rgba(197,154,91,.20),transparent 34%),linear-gradient(135deg,#080706,#1d130c 60%,#050403);
	border-bottom:1px solid rgba(197,154,91,.25)
	}
.subhero-inner{
	max-width:1180px;
	margin:auto
	}
.subhero p{
	max-width:760px;
	color:#ead9b8
	}
.gallery-controls{
	display:flex;
	flex-wrap:wrap;
	gap:12px;
	margin:28px 0 36px
	}
.filter-btn{
	margin:0;
	padding:10px 17px;
	border-radius:999px;
	border:1px solid rgba(197,154,91,.55);
	background:#21160e;
	color:#ead9b8;
	font:inherit;
	cursor:pointer
	}
.filter-btn.active,.filter-btn:hover{
	background:linear-gradient(135deg,var(--gold),#8a5b2f);
	color:#140d08
	}
.full-gallery{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:22px
	}
.full-gallery figure{
	margin:0;
	background:#21160e;
	border:1px solid rgba(197,154,91,.35);
	border-radius:18px;
	overflow:hidden;
	cursor:pointer;
	transition:transform .25s ease,border-color .25s ease
	}
.full-gallery figure:hover{
	transform:translateY(-4px);
	border-color:var(--gold)
	}
	.full-gallery img{
	height:280px;
	width:auto;
	max-width:100%;
	object-fit:contain;
	display:block;
	margin-left:auto;
	margin-right:auto;
	transition:transform .3s ease
	}
.full-gallery figure:hover img{
	transform:scale(1.03)
	}
.full-gallery figcaption{
	padding:14px 16px;
	color:#ead9b8
	}
.full-gallery figcaption strong{
	display:block;
	color:#f4ead6
	}
.full-gallery figcaption span{
	display:block;
	color:#cbb894;
	font-size:.95rem
	}
.gallery-note{
	margin-top:34px;
	color:#cbb894
	}
.lightbox{
	position:fixed;
	inset:0;background:rgba(0,0,0,.88);
	display:none;
	align-items:center;
	justify-content:center;
	z-index:20;padding:28px
	}
.lightbox.open{
	display:flex
	}
.lightbox-content{
	max-width:min(1100px,95vw);
	max-height:90vh;
	text-align:center
	}
.lightbox img{
	max-width:100%;
	max-height:78vh;
	object-fit:contain;
	border-radius:14px;
	box-shadow:0 25px 70px rgba(0,0,0,.6)
	}
.lightbox-caption{
	margin-top:12px;
	color:#f4ead6
	}
.lightbox-close{
	position:absolute;
	top:18px;
	right:24px;
	background:none;
	border:1px solid rgba(244,234,214,.55);
	color:#f4ead6;
	border-radius:999px;
	width:44px;height:44px;
	font-size:1.5rem;
	cursor:pointer
	}
.back-link{
	display:inline-block;
	margin-top:22px;
	color:#ead9b8;
	text-decoration:none
	}
.back-link:hover{
	color:var(--gold)
	}
@media (max-width:900px){
.full-gallery{
	grid-template-columns:repeat(2,1fr)
	}
}
@media (max-width:600px)
	{
.full-gallery{
	grid-template-columns:1fr
	}
.full-gallery img{height:240px}
}


