:root{
	--green:#28de06;
	--deep:#123b22;
	--ink:#132217;
	--lime:#baff65;
	--yellow:#fff000;
	--cream:#f7f8ef;
	--white:#fff;
	--muted:#647067;
	--line:#dce4d8;
	--shadow:0 24px 60px rgba(18,59,34,.13)
	}
*{box-sizing:border-box}
html{
	scroll-behavior:smooth;
	scroll-padding-top:90px
	}
	
body{
	margin:0;
	background:var(--cream);
	color:var(--ink);
	font:16px/1.65 'DM Sans',sans-serif
	}
	
img{
	max-width:100%;
	display:block
	}

a{
	color:inherit
	}

button,input,select,textarea{
	font:inherit
	}

h1,h2,h3,p{
	margin-top:0
	}

h1,h2,h3{
	font-family:Manrope,sans-serif;
	line-height:1.05;
	letter-spacing:-.045em
	}

h1{
	font-size:clamp(3.4rem,7.8vw,7.4rem);
	margin-bottom:28px
	}

h2{
	font-size:clamp(2.6rem,5.8vw,5.6rem);
	margin-bottom:28px
	}

h3{
	font-size:clamp(2rem,3vw,3.4rem);
	margin-bottom:14px
	}

em{
	font-style:normal;
	color:#24b80d
	}

.site-header{
	height:88px;
	padding:12px clamp(20px,5vw,74px);
	display:flex;
	align-items:center;
	justify-content:space-between;
	position:sticky;
	top:0;
	z-index:20;
	background:rgba(247,248,239,.91);
	backdrop-filter:blur(14px);
	border-bottom:1px solid rgba(18,59,34,.08)
	}
	
.brand img{
	width:174px;
	height:62px;
	object-fit:contain
	}
	
.site-header nav{
	display:flex;
	align-items:center;
	gap:28px
	}
	
.site-header nav a{
	text-decoration:none;
	font-weight:600;
	font-size:.92rem
	}
	
.nav-cta,.btn{
	background:var(--green);
	color:#071605!important;
	padding:14px 22px;
	border-radius:999px;
	text-decoration:none;
	font-weight:800;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	border:0;
	cursor:pointer;
	transition:.2s transform,.2s background
	}
	
.btn:hover,.nav-cta:hover{
	transform:translateY(-2px);
	background:var(--yellow)
	}
	
.menu{
	display:none;
	background:none;
	border:0;
	width:42px
	}
	
.menu span{
	display:block;
	height:2px;
	background:var(--ink);
	margin:8px 0
	}
	
.hero{
	min-height:calc(100vh - 88px);
	display:grid;
	grid-template-columns:1.04fr .96fr;
	overflow:hidden
	}
	
.hero-copy{
	padding:clamp(64px,8vw,120px) clamp(24px,6vw,100px);
	align-self:center
	}
	
.hero-copy>p{
	max-width:670px;
	font-size:1.18rem;
	color:var(--muted)
	}
	
.eyebrow{
	display:block;
	text-transform:uppercase;
	letter-spacing:.22em;
	font-weight:800;
	font-size:.76rem;
	color:#26960f;
	margin-bottom:22px
	}
	
.actions{
	display:flex;
	gap:24px;
	align-items:center;
	margin:38px 0
	}
	
.textlink{
	font-weight:700;
	text-decoration:none
	}
	
.facts{
	display:flex;
	gap:12px;
	flex-wrap:wrap
	}
	
.facts span{
	border:1px solid var(--line);
	border-radius:999px;
	padding:8px 13px;
	font-size:.82rem
	}
	
.hero-products{
	min-height:670px;
	background:linear-gradient(135deg,var(--deep),#1a6b31);
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:60px
	}
	
.bottle{
	width:28%;
	max-width:220px;
	aspect-ratio:2/3.2;
	object-fit:cover;
	border-radius:120px 120px 22px 22px;
	box-shadow:var(--shadow);
	position:relative;
	z-index:2
	}
	
.bottle-one{
	transform:rotate(-7deg) translateY(28px)
	}
	
.bottle-two{
	z-index:3;
	transform:scale(1.12)
	}
	
.bottle-three{
	transform:rotate(7deg) translateY(28px)
	}
	
.sun{
	position:absolute;
	color:var(--yellow);
	font-size:9rem;
	top:5%;
	right:8%;
	line-height:1;
	opacity:.9
	}
	
.section-pad{
	padding:clamp(80px,10vw,150px) clamp(22px,6vw,100px)
	}
	
.section-head{
	max-width:930px;
	margin-bottom:70px
	}
	
.product-grid{
	display:grid;
	gap:24px
	}
	
.product-card{
	display:grid;
	grid-template-columns:1fr 1fr;
	min-height:560px;
	background:#fff;
	border-radius:28px;
	overflow:hidden
	}
	
.product-card.reverse .photo{
	order:2
	}
	
.photo{
	overflow:hidden;
	min-height:500px;
	background:#dce8d5
	}
	
.photo img{
	width:100%;
	height:100%;
	object-fit:cover;
	transition:transform .6s
	}
	
.product-card:hover .photo img{
	transform:scale(1.03)
	}
	
.card-copy{
	padding:clamp(36px,6vw,90px);
	align-self:center
	}
	
.number{
	font-size:.8rem;
	font-weight:800;
	color:#28ac12
	}
	
.dose{
	font-weight:700;
	color:#268412
	}
	
.card-copy>p:not(.dose){
	color:var(--muted);
	max-width:540px
	}
	
.price{
	display:flex;
	align-items:baseline;
	gap:12px;
	margin:26px 0
	}
	
.price strong{
	font:800 2rem Manrope,sans-serif
	}
	
.price span{
	color:var(--muted)
	}
	
.card-copy>a{
	font-weight:800;
	text-decoration:none;
	border-bottom:2px solid var(--yellow)
	}
	
.statement{
	padding:clamp(90px,12vw,180px) clamp(24px,12vw,190px);
	background:var(--deep);
	color:white
	}
	
.statement>p{
	font-size:1.25rem;
	max-width:810px;
	color:#cddacf
	}
	
.statement em{
	color:var(--yellow)
	}
	
.notice{
	margin-top:55px;
	max-width:960px;
	border:1px solid rgba(255,255,255,.2);
	border-radius:20px;
	padding:25px 28px
	}
	
.notice p{
	margin:8px 0 0;
	font-size:.92rem;
	color:#cddacf
	}
	
.order-section{
	display:grid;
	grid-template-columns:.78fr 1.22fr;
	gap:clamp(50px,8vw,130px);
	background:#fff
	}
	
.order-intro{
	position:sticky;
	top:125px;align-self:start
	}
	
.order-intro p{
	color:var(--muted);
	font-size:1.08rem
	}
	
.order-section form{
	max-width:820px
	}
	
fieldset{
	border:0;
	padding:0;
	margin:0 0 35px
	}
	
legend,label{
	font-weight:700;
	display:block;
	margin-bottom:18px
	}
	
.purpose{
	display:flex;
	flex-wrap:wrap;
	gap:12px
	}
	
.purpose legend{
	width:100%;
	margin-bottom:8px
	}
	
.purpose label{
	margin:0
	}
	
.purpose input{
	position:absolute;
	opacity:0
	}
	
.purpose span{
	display:block;
	padding:12px 18px;
	border:1px solid var(--line);
	border-radius:999px;
	cursor:pointer
	}
	
.purpose input:checked+span{
	background:var(--deep);
	color:#fff;
	border-color:var(--deep)
	}
	
input,select,textarea{
	width:100%;
	border:1px solid var(--line);
	border-radius:12px;
	background:#fafcf8;
	padding:14px 15px;
	margin-top:7px;
	color:var(--ink)
	}
	
input:focus,select:focus,textarea:focus{
	outline:3px solid rgba(40,222,6,.25);
	border-color:var(--green)
	}
	
textarea{
	resize:vertical
	}
	
.two{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:18px
	}
	
.order-fields{
	background:var(--cream);
	border-radius:20px;
	padding:clamp(22px,4vw,38px);
	margin-bottom:30px
	}
	
.order-fields h3{
	font-size:1.45rem
	}
	
.product-lines label{
	display:flex;
	align-items:center;
	justify-content:space-between;
	border-bottom:1px solid var(--line);
	padding:12px 0;
	margin:0
	}
	
.product-lines span{
	display:flex;
	flex-direction:column
	}
	
.product-lines small{
	font-weight:400;
	color:var(--muted)
	}
	
.product-lines input{
	width:80px;
	margin:0;
	text-align:center
	}
	
.total{
	display:flex;
	justify-content:space-between;
	align-items:center;
	margin:18px 0 10px;
	padding-top:14px;
	border-top:2px solid var(--deep)
	}
	
.total strong{
	font-size:1.55rem
	}
	
.check{
	display:grid;
	grid-template-columns:22px 1fr;
	gap:11px;
	font-weight:400;
	font-size:.9rem
	}
	
.check input{
	width:19px;
	height:19px;
	margin:2px 0 0
	}
	
.check a{
	font-weight:700
	}
	
.stripe-option{
	margin-top:18px
	}
	
.optional{
	font-size:.76rem;
	color:var(--muted);
	font-weight:400
	}
	
.submit{
	width:100%;
	font-size:1rem;
	margin-top:8px
	}
	
.submit-inquiry,.is-inquiry .submit-order{
	display:none
	}
	
.is-inquiry .submit-inquiry{
	display:inline
	}
	
.form-note{
	text-align:center;
	color:var(--muted);
	font-size:.82rem;
	margin-top:12px
	}
	
.form-error{
	background:#fff1ef;
	color:#a22b21;
	padding:12px 15px;
	border-radius:10px;
	font-weight:700
	}
	
.trap{
	position:absolute;
	left:-9999px
	}
	
.contact-strip{
	display:flex;
	justify-content:space-between;
	align-items:center;
	gap:30px;
	background:var(--yellow);
	padding:70px clamp(24px,7vw,110px)
	}
	
.contact-strip h2{
	font-size:clamp(2.2rem,4vw,4.4rem);
	margin:0
	}
	
.contact-strip .eyebrow{
	color:#546000
	}
	
.dark{
	background:var(--deep);
	color:white!important;
	white-space:nowrap
	}
	
.legal-sections{
	padding-top:70px;
	padding-bottom:70px
	}
	
.legal-sections details{
	border-top:1px solid var(--line);
	padding:18px 0
	}
	
.legal-sections summary{
	font-weight:800;
	cursor:pointer
	}
	
.legal-sections details div{
	max-width:900px;
	color:var(--muted);
	padding-top:15px
	}
	
footer{
	text-align:center;
	background:#0c2616;
	color:#d6e2d8;
	padding:70px 22px
	}
	
footer img{
	width:230px;
	max-height:100px;
	object-fit:contain;
	margin:0 auto 20px;
	filter:drop-shadow(0 0 1px white)
	}
	
footer .legal{
	font-size:.82rem;
	color:#99aa9e
	}
	
footer a{
	color:inherit
	}
	
@media(max-width:900px){
	.site-header nav{
		position:fixed;
		inset:88px 0 auto;
		background:var(--cream);
		padding:30px;
		display:none;
		flex-direction:column;
		align-items:flex-start;
		border-bottom:1px solid var(--line)
		}
		
    .site-header nav.open{
    	display:flex
    	}
	
    .menu{
    	display:block
    	}
	
    .hero{
	    grid-template-columns:1fr
		}
		
    .hero-products{
		min-height:500px
		}
		
	.product-card{
		grid-template-columns:1fr
		}
		
	.product-card.reverse .photo{
		order:0
		}
		
	.photo{
		min-height:420px
		}
		
	.order-section{
		grid-template-columns:1fr
		}
		
	.order-intro{
		position:static
		}
		
	.contact-strip{
		flex-direction:column;
		align-items:flex-start}
		}
		
@media(max-width:580px){
	
	.site-header{
		height:76px
		}
		
	.brand img{
		width:145px;
		height:52px
		}
		
	.site-header nav{
		inset:76px 0 auto
		}
		
	.hero{
		min-height:auto
		}
		
	.hero-copy{
		padding-top:70px
		}
		
	.hero-products{
		min-height:420px;padding:28px 14px
		}
		
	.bottle{
		width:31%
		}
		
	.sun{
		font-size:5rem
		}
		
	.facts{
		gap:6px
		}
		
	.product-card{
		min-height:0
		}
		
	.photo{
		min-height:390px
		}
		
	.two{
		grid-template-columns:1fr;
		gap:0
		}
		
	.purpose{
		display:grid;
		grid-template-columns:1fr 1fr
		}
		
	.purpose span{
		text-align:center;
		padding:10px 8px
		}
		
	.contact-strip .btn{
		width:100%}
		}
		
@media(prefers-reduced-motion:reduce){
	
	html{
		scroll-behavior:auto
		}
		
    *{
		transition:none!important}
		}

/* Verhindert seitliches Scrollen durch breite Grid-/Flex-Inhalte. */
html,body{
	width:100%;
	max-width:100%;
	overflow-x:hidden
	}
	
.site-header,main,footer,.hero,.products,.product-grid,.product-card,.statement,.order-section,.contact-strip,.legal-sections{
	max-width:100%
	}
	
.hero>*,.product-card>*,.order-section>*,.contact-strip>*{
	min-width:0
	}
	
.hero-copy,.card-copy,.order-intro,.order-section form{
	overflow-wrap:anywhere
	}
	
.site-header nav{
	max-width:100%
	}
	
@media(max-width:900px){
	
	.site-header nav{
		width:100%;
		overflow-x:hidden}
		}
		
body,h1,h2,h3,.price strong{
	font-family:Arial,Helvetica,sans-serif
	}

/* Kompaktere Abstände zwischen den Inhaltsblöcken. */
.hero{
	min-height:auto
	}

.hero-copy{
	padding-top:clamp(54px,6vw,82px);
	padding-bottom:clamp(54px,6vw,82px)
	}

.hero-products{
	min-height:560px
	}

.section-pad{
	padding-top:clamp(58px,7vw,96px);
	padding-bottom:clamp(58px,7vw,96px)
	}

.section-head{
	margin-bottom:42px
	}

.statement{
	padding-top:clamp(62px,8vw,105px);
	padding-bottom:clamp(62px,8vw,105px)
	}

.notice{
	margin-top:36px
	}

.order-section{
	gap:clamp(38px,6vw,88px)
	}

.contact-strip{
	padding-top:48px;
	padding-bottom:48px
	}

.legal-sections{
	padding-top:46px;
	padding-bottom:46px
	}

footer{
	padding-top:50px;
	padding-bottom:50px
	}

/* Funktioniert auch, wenn die großen Abschnittsüberschriften als H3 gesetzt sind. */
.hero-copy>h3,.section-head>h3,.statement>h3,.order-intro>h3{
	font-size:clamp(2rem,3.9vw,4rem);
	margin-bottom:22px
	}

.contact-strip h3{
	font-size:clamp(2rem,3.2vw,3.6rem);
	margin:0
	}

/* Robuster Schutz gegen horizontales Scrollen auf mobilen Browsern. */
html{
	overflow-x:hidden;
	overflow-x:clip
	}

body{
	position:relative;
	overflow-x:hidden;
	overflow-x:clip
	}

main{
	width:100%;
	overflow-x:hidden;
	overflow-x:clip
	}

.trap{
	position:fixed;
	top:0;
	left:0;
	width:1px;
	height:1px;
	margin:0;
	padding:0;
	overflow:hidden;
	clip-path:inset(50%);
	opacity:0;
	pointer-events:none
	}

.trap input{
	width:1px;
	height:1px;
	margin:0;
	padding:0
	}

.actions{
	flex-wrap:wrap
	}

.two,.purpose{
	min-width:0
	}

.two>* ,.purpose>* ,.product-lines label>*{
	min-width:0
	}

@media(max-width:900px){
	.hero-products{
		min-height:440px
		}

	.order-section{
		gap:34px
		}
	}

@media(max-width:580px){
	.hero-copy{
		padding:46px 20px
		}

	.hero-products{
		min-height:350px;
		overflow:hidden
		}

	.section-pad{
		padding:50px 20px
		}

	.section-head{
		margin-bottom:30px
		}

	.statement{
		padding:52px 20px
		}

	.notice{
		margin-top:28px;
		padding:20px
		}

	.contact-strip{
		padding:40px 20px
		}

	.purpose{
		grid-template-columns:minmax(0,1fr) minmax(0,1fr)
		}

	.purpose span{
		white-space:normal;
		overflow-wrap:anywhere
		}

	.dark{
		white-space:normal
		}

	.product-lines label{
		gap:12px
		}
	}
