:root{
	--bg:#f9f6ef;
	--sage:#8fae8a;
	--green:#556b4d;
	--gold:#c89a4b;
	--text:#3b3b3b;
	--white:#fff;
	--soft:#eee8dc;
	--shadow:0 10px 26px rgba(59,59,59,.08);
	--radius:22px
}
 *	{
	box-sizing:border-box
}
html {
	scroll-behavior:smooth;
	scroll-padding-top:92px
}
body {
	margin:0;
	font-family:Arial,
	Helvetica,
	sans-serif;
	color:var(--text);
	background:var(--bg);
	font-size:18px;
	line-height:1.7
}
a {
	color:inherit
}
img {
	max-width:100%;
	display:block
}
.skip-link{
	position:absolute;
	top:-44px;
	left:16px;
	background:var(--green);
	color:#fff;
	padding:10px 14px;
	z-index:1000;
	border-radius:8px
}
.skip-link:focus{
	top:16px
}
.site-header{
	position:sticky;
	top:0;
	z-index:100;
	background:rgba(249,246,239,.98);
	border-bottom:1px solid rgba(85,107,77,.16)
}
.nav-wrap{
	max-width:1180px;
	margin:0 auto;
	padding:15px 24px;
	display:flex;
	justify-content:space-between;
	align-items:center;
	gap:20px
}
.logo{
	text-decoration:none;
	display:flex;
	flex-direction:column;
	line-height:1.15
}
.logo strong{
	color:var(--green);
	font-size:30px
}
.logo span{
	font-size:15px
}
.logo-image{
    flex:1;
    text-align:center;
}
.logo-image img{
    width:100%;
    max-width:260px;
    border-radius:20px;
    display:block;
    margin:auto;
}
.main-nav{
	display:flex;
	align-items:center;
	gap:7px
}
.main-nav a{
	text-decoration:none;
	font-size:17px;
	padding:10px 12px;
	border-radius:999px
}
.main-nav a:hover,.main-nav a:focus{
	background:var(--soft);
	outline:none
}
.main-nav .nav-button{
	background:var(--green);
	color:#fff;
	padding-inline:18px
}
.menu-toggle{
	display:none;
	border:2px solid var(--green);
	background:transparent;
	color:var(--green);
	font-size:18px;
	border-radius:999px;
	padding:8px 14px
}
.hero{
	background:linear-gradient(120deg,rgba(85,107,77,.92),rgba(143,174,138,.84)),
	url('bilder/image_landschaft_1.png') center/cover;
	color:#fff
}
.hero-inner{
	max-width:1180px;
	margin:0 auto;
	padding:96px 24px;
	display:grid;
	grid-template-columns:1.15fr .85fr;
	gap:40px;
	align-items:center
}
.eyebrow{
	font-weight:700;
	color:#fff4df;
	margin:0 0 14px
}
.hero h1{
	font-size:clamp(38px,6vw,64px);
	line-height:1.08;
	margin:0
}
.hero p{
	font-size:22px;
	max-width:760px
}
.hero-card{
	background:rgba(249,246,239,.96);
	color:var(--text);
	border-radius:var(--radius);
	padding:30px;
	box-shadow:var(--shadow)
}
.hero-card h2{
	margin-top:0;
	color:var(--green);
	font-size:28px
}
.check-list{
	padding-left:22px
}
.button-row{
	display:flex;
	flex-wrap:wrap;
	gap:14px;
	margin-top:28px
}
.btn{
	display:inline-block;
	text-decoration:none;
	border-radius:999px;
	padding:14px 24px;
	font-weight:700;
	border:2px solid transparent;
	font-size:18px;
	cursor:pointer
}
.btn-primary{
	background:var(--gold);
	color:#231f18
}
.btn-secondary{
	background:transparent;
	border-color:rgba(255,255,255,.85);
	color:#fff
}
.btn-green{
	background:var(--green);
	color:#fff
}
.section{
	max-width:1180px;
	margin:0 auto;
	padding:66px 21px
}
.section-narrow{
	max-width:900px
}
.section h2,.page-hero h1{
	color:var(--green);
	font-size:clamp(32px,4vw,46px);
	line-height:1.2;
	margin:0 0 20px
}
.lead{
	font-size:21px;
	max-width:860px
}
.cards,.reason-grid{
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:22px;
	margin-top:34px
}
.card,.reason,.contact-card,.map-card{
	background:#fff;
	border-radius:var(--radius);
	padding:28px;
	box-shadow:var(--shadow);
	border:1px solid rgba(85,107,77,.08)
}
.warum-layout{
    display:flex;
    gap:50px;
    align-items:start;
    margin-top:40px;
}
.warum-bild {
      flex:1;
    display:flex;
    justify-content:center;
    align-items:flex-start;
}
.warum-bild img{
    display:block;
    width:100%;
    max-width:550px;
    border-radius:20px;
}
.reason-grid {
    flex: 1;
    grid-template-columns: repeat(2, 1fr);
}
.warum-layout .reason-grid {
    margin-top: 0;
}

.warum-bild {
    margin-top: 0;
}
.card h3,.reason h3,.map-card h3{
	color:var(--green);
	margin:0 0 12px;
	font-size:23px
}
.card-icon,.reason span{
	width:48px;
	height:48px;
	border-radius:50%;
	background:var(--soft);
	display:flex;
	align-items:center;
	justify-content:center;
	color:var(--green);
	font-weight:700;
	margin-bottom:18px
}
.soft-panel{
	background:#f3efe5;
	border-radius:28px
}
.split{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:34px;
	align-items:start
}
.info-box{
	background:#eef3ea;
	border-left:6px solid var(--sage);
	border-radius:18px;
	padding:26px
}
.values{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:20px;
	margin:28px 0
}
.value{
	background:#fff;
	border-radius:18px;
	padding:24px;
	border-top:5px solid var(--gold);
	box-shadow:var(--shadow)
}
.text-red {
    color: #c62828;
}
.about-image{
    flex:1;
    text-align:center;
}
.about-image img{
    width:100%;
    max-width:600px;
    border-radius:20px;
    display:block;
    margin:auto;
}
.quote-grid{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:22px
}
.quote-grid blockquote{
	margin:0;
	background:#fff;
	border-left:6px solid var(--gold);
	border-radius:18px;
	padding:26px;
	box-shadow:var(--shadow)
}
.quote-grid cite{
	display:block;
	margin-top:12px;
	font-style:normal;
	font-weight:700
}
.small-note,.form-note{
	font-size:15px
}
.faq-list details{
	background:#fff;
	border-radius:16px;
	margin-bottom:14px;
	padding:18px 22px;
	box-shadow:var(--shadow)
}
.faq-list summary{
	cursor:pointer;
	font-weight:700;
	color:var(--green);
	font-size:20px
}
.contact-wrapper{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:34px;
	align-items:start
}
.form-row{
	margin-bottom:18px
}
.contact-form label{
	font-weight:700;
	display:block;
	margin-bottom:6px
}
.contact-form input,.contact-form textarea{
	width:100%;
	padding:15px;
	border:1px solid #d6d0c4;
	border-radius:10px;
	background:#fff;
	font:inherit;
	color:var(--text)
}
.contact-form input:focus,.contact-form textarea:focus{
	outline:3px solid rgba(200,154,75,.35);
	border-color:var(--gold)
}
.map-consent{
	min-height:360px;
	border-radius:16px;
	border:1px solid rgba(85,107,77,.15);
	background:var(--soft);
	overflow:hidden
}
.map-consent iframe{
	display:block;
	width:100%;
	height:360px;
	border:0
}
.map-placeholder{
	min-height:360px;
	padding:28px;
	display:flex;
	flex-direction:column;
	align-items:flex-start;
	justify-content:center;
	text-align:left
}
.map-placeholder h4{
	font-size:24px;
	color:var(--green);
	margin:0 0 10px
}
.map-placeholder p{
	margin:0 0 18px
}
.map-placeholder a{
	margin-top:14px;
	color:var(--green);
	font-weight:700
}
.notice{
	background:#fff;
	border-radius:var(--radius);
	padding:28px;
	box-shadow:var(--shadow)
}
.page-hero{
	max-width:960px;
	margin:0 auto;
	padding:76px 24px 30px
}
.legal-content{
	background:#fff;
	border-radius:var(--radius);
	padding:38px;
	box-shadow:var(--shadow);
	line-height:1.7
}
.legal-block{
	margin-bottom:48px
}
.legal-block:last-child{
	margin-bottom:0
}
.legal-content h2{
	font-size:28px;
	margin-top:0;
	margin-bottom:12px;
	color:var(--green);
	line-height:1.3
}
.legal-content p{
	margin-top:0;
	margin-bottom:10px
}
.address-block{
	line-height:1.8
}
.site-footer{
	background:#3f5139;
	color:#fff;
	margin-top:40px
}
.footer-inner{
	max-width:1180px;
	margin:0 auto;
	padding:34px 24px;
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	gap:20px
}
.footer-links a{
	margin-left:16px;
	color:#fff
}
.cookie-banner{
	position:fixed;
	left:20px;
	right:20px;
	bottom:20px;
	max-width:760px;
	margin:auto;
	background:#fff;
	color:var(--text);
	border:1px solid rgba(85,107,77,.18);
	border-radius:18px;
	padding:18px;
	box-shadow:var(--shadow);
	display:none;
	gap:16px;
	align-items:center;
	z-index:200
}
.cookie-banner.is-visible{
	display:flex
}
.cookie-banner p{
	margin:0;
	flex:1
}
.cookie-banner button{
	background:var(--green);
	color:#fff;
	border:0;
	border-radius:999px;
	padding:12px 18px;
	font-weight:700;
	cursor:pointer
}
@media(max-width:980px){
	.hero-inner,
	.split,
	.contact-wrapper{
		grid-template-columns:1fr
	}
	.cards,
	.reason-grid,
	.values,
	.quote-grid{
		grid-template-columns:1fr 1fr
	}
	.warum-layout{
        flex-direction:column;
    }

    .reason-grid{
        grid-template-columns:1fr;
    }
}
@media(max-width:760px){
	body{
		font-size:17px
	}
	.legal-content{
		padding:24px
	}

	.legal-block{
		margin-bottom:30px
	}

	.legal-content h2{
		font-size:25px
	}
	.nav-wrap{
		padding:12px 18px
	}
	.logo strong{
		font-size:26px
	}
	.menu-toggle{
		display:inline-block
	}
	.main-nav{
		position:absolute;
		top:72px;
		left:16px;
		right:16px;
		background:var(--bg);
		border:1px solid rgba(85,107,77,.16);
		border-radius:18px;
		padding:12px;
		box-shadow:var(--shadow);
		flex-direction:column;
		align-items:stretch;
		display:none
	}
	.main-nav.is-open{
		display:flex
	}
	.main-nav a{
		border-radius:12px
	}
	.hero-inner{
		padding:66px 24px
	}
	.hero p{
		font-size:20px
	}
	.cards,
	.reason-grid,
	.values,
	.quote-grid{
		grid-template-columns:1fr
	}
	.warum-layout{
        flex-direction:column;
    }

    .reason-grid{
        grid-template-columns:1fr;
    }
	.cookie-banner{
		display:none;
		flex-direction:column;
		align-items:flex-start
	}
	.cookie-banner.is-visible{
		display:flex
	}
	.footer-inner{
		display:block
	}
	.footer-links a{
		display: inline - block;
		margin: 12px 16px 0 0
	}
}
@media(prefers-reduced-motion:reduce){
	html{
		scroll-behavior:auto
	}
	*,
	*::before,
	*::after{
		animation-duration:.01ms!important;
		animation-iteration-count:1!important;
		transition-duration:.01ms!important
	}
}
