:root{
	--accent:#b68b45;
	--accent-soft:#f5ebd7;
	--bg:#f5faf9;
	--bg-soft:#edf7f5;
	--surface:rgba(255,255,255,0.9);
	--surbg:linear-gradient(180deg,rgba(255,255,255,.96),rgba(255,255,255,.86));
	--white:#ffffff;
	--text:#18323a;
	--muted:#59727a;
	--primary:#0f766e;
	--primary-dark:#0b5f59;
	--primary-soft:#d9f1ed;
	--line:#d7e5e3;
	--shadow:10px 20px 50px rgba(15,118,110,0.2);
	--img-shadow:8px 8px 15px rgba(15,118,110,0.3);
	--radius-xl:30px;
	--radius-lg:22px;
	--radius-md:16px;
	--max:1180px;
	--warm:linear-gradient(180deg,#fff,#fbf7ef);
	--white08:rgba(255,255,255,.88);
	--green:linear-gradient(180deg,#fff,#f4faf8);
	--greenbg:radial-gradient(circle at 0 0, rgba(255,255,255,.10), transparent 30%),linear-gradient(135deg,#0c5b57 0%,#12776f 58%,#b6873d 170%);
}

*{box-sizing:border-box;}

html{scroll-behavior:smooth;}

body{
	margin:0;
	font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
	color:var(--text);
	line-height:1.6;
	background:radial-gradient(circle at 0 0,rgba(15,118,110,.08),transparent 24%),radial-gradient(circle at 100% 0,rgba(18,148,139,.06),transparent 18%),var(--bg);
}

img{max-width:100%;}

a{color:#38736d;font-weight:600;text-decoration:none;}

.container{
	width:min(var(--max),calc(100% - 2rem));
	margin:0 auto;
}

.section{padding:72px 0;}

.box-shadow{box-shadow:var(--shadow);}

.surface{
	border:1px solid rgba(255,255,255,.85);
	box-shadow:var(--shadow);
}

.surbg{background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(255,255,255,.86));}
.warm{background:var(--warm);}
.white08{background:rgba(255,255,255,.88);}
.green{background:var(--green);}
.eyebrow{
	display:inline-flex;
	align-items:center;
	gap:10px;
	padding:8px 14px;
	border-radius:999px;
	background:rgba(14,111,105,.08);
	color:var(--primary-dark);
	font-size:.88rem;
	font-weight:800;
	letter-spacing:.02em;
	margin-bottom:18px
}

.eyebrow::before{
	content:"";
	width:9px;
	height:9px;
	border-radius:50%;
	background:var(--accent);
	box-shadow:0 0 0 5px rgba(182,139,69,.14)
}

.b-black{
	color:#26353C;
	font-size:1.25rem;
}

h1,h2,h3,h4{
	line-height:1.08;
	letter-spacing:-0.03em;
}

h1{margin:0 0 2rem;}

h2,h3,h4{margin:0 0 18px;}

h1{font-size:clamp(1.5rem,4vw,1.8rem);}

h2{font-size:clamp(1.3rem,4vw,1.5rem);}

h3{font-size:1.17rem;}

h4{font-size:1.06rem;margin-bottom:6px;}

p{margin:0 0 16px;color:var(--muted);}

.lead{font-size:1.12rem;}

.btn-row{
	display:flex;
	flex-wrap:wrap;
	gap:14px;
	margin-top:28px;
}

.btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:10px;
	padding:15px 24px;
	border-radius:999px;
	font-weight:800;
	transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
	border:1px solid transparent;
}

.btn:hover{transform:translateY(-2px);}

.btn-primary{background:var(--primary);color:#fff;}

.btn-primary:hover{background:var(--primary-dark);}

.btn-secondary{
	background:rgba(255,255,255,.94);
	border-color:var(--line);
}

header.site-header{
	position:sticky;
	top:0;
	z-index:50;
	backdrop-filter:blur(16px);
	background:rgba(245,250,249,.83);
	border-bottom:1px solid rgba(215,229,227,.9);
}

.nav{
	min-height:72px;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:20px;
	position:relative;
}

.nav-links{
display:flex;
align-items:center;
gap:24px;
color:var(--muted);
font-weight:700;
}

.nav img, .nav-actions img{
width:auto;
height:31px;
}

.nav a{color:inherit;}

.nav-links a:hover{color:var(--primary-dark);}

.nav-actions{display:flex;align-items:center;gap:12px;}

.nav-actions{
	display:flex;
	flex-wrap:wrap;
	gap:12px;
	font-weight:400;
}

.menu-toggle{
	display:none;
	background:#fff;
	border:1px solid var(--line);
	border-radius:14px;
	padding:10px 12px;
	cursor:pointer;
	font-weight:800;
}

.hero{padding:0 0 42px;}

.hero h1{padding-top:42px;}

.hero-grid{
	display:grid;
	grid-template-columns:1.05fr .95fr;
	gap:34px;
	align-items:center;
}

.hero-copy{padding-right:12px;}

.badges{
	display:flex;
	flex-wrap:wrap;
	gap:12px;
	margin-top:24px;
	font-weight:700;
}

.badges span{
	border-radius:999px;
	padding:9px 14px;
}

.hero-badges span{
	background:#11766E;
	color:var(--white);
	border:0;
}

.card-badges span{
	background:rgba(235,244,243,.86);
	color:var(--muted);
	border:1px solid var(--line);
}

.mini-stats,.mini-infos{
	display:grid;
	gap:14px;
	margin-top:30px;
}

.mini-stats{grid-template-columns:repeat(3,minmax(0,1fr));}

.mini-infos{grid-template-columns:repeat(4,minmax(0,1fr));}

.mini-infos.mini-info span{}

.mini-stat,.mini-info{
	border:1px solid var(--line);
	border-radius:18px;
	padding:18px;
	box-shadow:var(--shadow);
	text-align:center;
}

.mini-stat strong,.mini-info strong{
	display:block;
	font-size:1.45rem;
	color:var(--primary-dark);
}

.hero-card{
	border-radius:var(--radius-xl);
	overflow:hidden;
	position:relative;
}

.hero-visual{
	min-height:640px;
	background:
	linear-gradient(180deg,rgba(15,118,110,0.06),rgba(15,118,110,0)),
	url('Physiotherapie_Reha_Werner_1.jpg') center/cover no-repeat;
	position:relative;
}
.floating-box, .floating-note{
	position:absolute;
	background:rgba(255,255,255,.93);
	border:1px solid rgba(255,255,255,.95);
	border-radius:22px;
	box-shadow:var(--shadow);
	backdrop-filter:blur(10px);
}

.floating-note{
	left:24px;
	top:24px;
	padding:20px;
	width:min(230px,calc(100% - 48px));
}

.floating-box{
	right:24px;
	bottom:24px;
	width:min(230px,calc(100% - 48px));
	padding:20px;
}

.floating-box strong,.floating-note strong{
	display:block;
	margin-bottom:6px;
}

.section-heading{max-width:760px;}

.grid-2{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:24px;
}

.grid-3{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:24px;
}

.card{
	border-radius:var(--radius-lg);
	padding:28px;
}

.offer-card{
	position:relative;
	overflow:hidden;
	height:100%;
}

.offer-card::after{
	content:"";
	position:absolute;
	right:-30px;
	bottom:-30px;
	width:120px;
	height:120px;
	border-radius:50%;
	background:radial-gradient(circle,rgba(15,118,110,.14),transparent 68%);
}
	
.offer-icon{
	width:58px;
	height:58px;
	border-radius:18px;
	display:grid;
	place-items:center;
	background:var(--primary-soft);
	color:var(--primary-dark);
	font-weight:900;
	margin-bottom:18px;
}

.offer-list{
	display:grid;
	gap:14px;
	margin-top:18px;
}

.offer-item{
	padding:14px 0 0;
	border-top:1px solid var(--line);
}

.offer-item p{margin-bottom:0;}

.feature-panel{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:28px;
	align-items:center;
	padding:34px;
	border-radius:var(--radius-xl);
	background:linear-gradient(135deg,rgba(255,255,255,.95),rgba(233,247,244,.95));
	border:1px solid rgba(255,255,255,.88);
	box-shadow:var(--shadow);
}

.feature-image{
	min-height:420px;
	border-radius:24px;
	background:url('Physiotherapie_Reha_Werner_2.jpg') center/cover no-repeat;
}

.steps{display:grid;gap:16px;margin-top:24px;}

.step{
	display:grid;
	grid-template-columns:auto 1fr;
	gap:16px;
	align-items:start;
	padding:16px 18px;
	background:rgba(255,255,255,.82);
	border:1px solid var(--line);
	border-radius:18px;
}

.step-number{
	width:42px;
	height:42px;
	border-radius:14px;
	display:grid;
	place-items:center;
	font-weight:900;
	color:#fff;
	background:var(--primary);
}

.check-list,.contact-list,.faq-list{
	display:grid;
	gap:14px;
}
.check-item,.contact-item,.faq-item{
	border:1px solid var(--line);
	border-radius:18px;
	padding:18px;
}

.contact-item{background:var(--green);}

.check-item{background:var(--warm);}


.faq-item{
	background:var(--greenbg);
	color:#fff;
	box-shadow:var(--shadow);
}

.faq-item p{color:rgba(255,255,255,.8);}

.check-item strong,.contact-item strong{
	display:block;
	margin-bottom:6px;
}

.team-card{background:var(--surbg);}

.team-card img{
	width:100%;
	height:260px;
	object-fit:cover;
	border-radius:18px;
	margin-bottom:18px;
	background:var(--surbg);
}

.team-role{
	color:var(--primary-dark);
	font-weight:800;
	margin-bottom:8px;
}

.quote-card{
	background:var(--white);
	border:1px solid var(--line);
	border-radius:24px;
	padding:28px;
	box-shadow:var(--shadow);
	height:100%;
}

.contact-wrap{
	display:grid;
	grid-template-columns:.96fr 1.04fr;
	gap:24px;
}

form{
	display:grid;
	gap:14px;
}

.field-grid{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:14px;
}

label{
	display:grid;
	gap:8px;
	font-weight:800;
	color:var(--text);
}

input,textarea,select{
	width:100%;
	padding:14px 16px;
	border-radius:14px;
	border:1px solid #cfe1df;
	background:rgba(255,255,255,.98);
	color:var(--text);
	font:inherit;
}

input:focus,textarea:focus,select:focus{
	outline:2px solid rgba(15,118,110,.22);
	border-color:var(--primary);
}

textarea{
	min-height:150px;
	resize:vertical;
}

.small{
	font-size:.93rem;
	color:var(--muted);
}

.notice{
	display:flex;
	gap:12px;
	align-items:flex-start;
	background:rgba(217,241,237,.7);
	border:1px solid var(--line);
	border-radius:18px;
	padding:18px;
	margin-top:20px;
	color:var(--text);
	font-weight:600;
}
.cta-band{
	background:radial-gradient(circle at 0 0, rgba(255,255,255,.10), transparent 30%),linear-gradient(135deg,#0c5b57 0%,#12776f 58%,#b6873d 170%);
	color:#fff;
	border-radius:32px;
	padding:42px;
	box-shadow:var(--shadow);
	display:grid;
	grid-template-columns:1.2fr .8fr;
	gap:24px;
	align-items:center;
}
.cta-band p{color:rgba(255,255,255,.88);}

.cta-band .btn-secondary{
	background:#fff;
	color:var(--primary-dark);
	border-color:transparent;
}

footer{
	padding:36px 0 54px;
	color:var(--muted);
}

.footer-grid{
	display:grid;
	grid-template-columns:1.1fr .9fr;
	gap:24px;
	align-items:center;
	border-top:1px solid var(--line);
	padding-top:28px;
}

.legal-links{
	display:flex;
	flex-wrap:wrap;gap:18px;
	justify-content:flex-end;
}

.reveal{
	opacity:0;
	transform:translateY(18px);
	transition:opacity .6s ease,transform .6s ease;
}

.reveal.visible{
	opacity:1;
	transform:translateY(0);
}

.text-center{	text-align:center !important;}

#standorte li{
	list-style:disc;
	margin-left:1rem;
}

#standorte hr{
	margin-top:0;
	margin-bottom:0.5rem;
}

#standorte .map{	
	z-index:1;
	position:relative;
	display:block;
	min-height:calc(40vh - 0px - 0px);
}

.flag img{
	width:100px;
	height:67px;
	box-shadow:var(--img-shadow);
}

.link-pill{
	display:inline-flex;
	align-items:center;
	padding:12px 14px;
	border-radius:999px;
	background:rgba(14,111,105,.08);
	color:var(--primary-dark);
	font-weight:700
}

.links-list{
	display:grid;
	gap:10px;margin:14px 0 0;
}

@media (max-width:1080px){
	.hero-grid,.feature-panel,.contact-wrap,.cta-band,.grid-3,.grid-2,.footer-grid{grid-template-columns:1fr;}
	.hero-visual{min-height:500px;}
	.feature-image{min-height:340px;}
	.legal-links{justify-content:flex-start;}
}
@media (max-width:980px){
	.nav-links,.nav-actions.btn{display:none;}
	.menu-toggle{display:inline-flex;}
	.nav.open .nav-links{
		display:flex;
		position:absolute;
		top:82px;
		left:1rem;
		right:1rem;
		padding:18px;
		flex-direction:column;
		align-items:flex-start;
		background:rgba(255,255,255,.97);
		border:1px solid var(--line);
		border-radius:22px;
		box-shadow:var(--shadow);
	}
	.mini-stats,.mini-infos,.field-grid{grid-template-columns:1fr;}
}

@media (max-width:640px){
	.section{padding:52px 0;}
	.hero h1{padding-top:32px;}
	.card,.feature-panel,.cta-band{padding:24px;}
	.hero-visual{min-height:380px;}
	.floating-note{
		left:20px;
		top:20px;
		padding:15px;
		width:80%;
		font-size:.8rem;
	}
	.floating-box{
		right:20px;
		bottom:20px;
		padding:15px;
		width:80%;
		font-size:.8rem;
	}
	.brand span small{display:none;}
	.nav img,.nav-actions img{
		width:auto;
		height:20px;
	}
}