*{
margin:0;
padding:0;
box-sizing:border-box;
}

html{
scroll-behavior:smooth;
}

body{

font-family:'Poppins',sans-serif;

background:#f5f7fa;

color:#222;

line-height:1.7;

}

/* ---------------- HEADER ---------------- */

header{

position:fixed;

top:0;

left:0;

width:100%;

/* Animationen */

.hidden{

opacity:0;

transform:translateY(60px);

transition:all .8s ease;

}

.show{

opacity:1;

transform:translateY(0);

}

#topButton{

position:fixed;

bottom:30px;

right:30px;

width:55px;

height:55px;

border:none;

border-radius:50%;

background:#123E84;

color:white;

font-size:24px;

cursor:pointer;

opacity:0;

pointer-events:none;

transition:.3s;

box-shadow:0 10px 25px rgba(0,0,0,.3);

}

#topButton.visible{

opacity:1;

pointer-events:auto;

}

#topButton:hover{

transform:translateY(-4px);

}

nav a.active{

color:#4EA0FF;

}

.loaded{

animation:fadeIn .7s ease;

}

@keyframes fadeIn{

from{

opacity:0;

}

to{

opacity:1;

}

}

padding:20px 8%;

display:flex;

justify-content:space-between;

align-items:center;

background:rgba(8,20,40,.92);

backdrop-filter:blur(10px);

z-index:999;

box-shadow:0 4px 20px rgba(0,0,0,.15);

}

.logo img{

height:70px;

}

nav a{

color:white;

text-decoration:none;

margin-left:35px;

font-weight:600;

transition:.3s;

}

nav a:hover{

color:#2F73FF;

}

/* ---------------- HERO ---------------- */

.hero{

height:100vh;

background:

linear-gradient(rgba(0,25,55,.72),

rgba(0,25,55,.72)),

url("hero.jpg");

background-size:cover;

background-position:center;

display:flex;

justify-content:center;

align-items:center;

text-align:center;

color:white;

}

.overlay{

max-width:900px;

padding:20px;

}

.hero h1{

font-size:72px;

font

/* Kontaktformular */

.kontaktformular{

background:#123E84;

color:white;

}

form{

display:flex;

flex-direction:column;

gap:20px;

max-width:800px;

margin:auto;

}

input,textarea{

padding:18px;

border:none;

border-radius:12px;

font-size:17px;

font-family:Poppins,sans-serif;

}

textarea{

resize:vertical;

min-height:180px;

}

form button{

align-self:flex-start;

cursor:pointer;

}

/* Timeline */

.timeline{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

gap:30px;

margin-top:60px;

}

.step{

background:white;

padding:35px;

border-radius:18px;

box-shadow:0 10px 30px rgba(0,0,0,.08);

text-align:center;

}

.step span{

display:inline-flex;

justify-content:center;

align-items:center;

width:65px;

height:65px;

border-radius:50%;

background:#123E84;

color:white;

font-size:24px;

font-weight:bold;

margin-bottom:20px;

}

.facts{

background:#f2f6fb;

}

.facts .container{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(250px,1fr));

gap:30px;

text-align:center;

}

.fact{

padding:40px;

background:white;

border-radius:18px;

box-shadow:0 10px 25px rgba(0,0,0,.08);

}

.fact h2{

color:#123E84;

font-size:42px;

margin-bottom:10px;

}

.cta{

background:linear-gradient(135deg,#123E84,#0A224A);

color:white;

text-align:center;

padding:90px 0;

}

.cta h2{

color:white;

margin-bottom:20px;

font-size:42px;

}

.cta p{

font-size:20px;

margin-bottom:35px;

}