/* Reset & Basics */
*, *::before, *::after {
	box-sizing: border-box;
  }
  body {
	margin: 0;
	font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
	background: #f5f7fa;
	color: #333;
	line-height: 1.6;
  }
  img {
	max-width: 100%;
	display: block;
	border-radius: 8px;
	object-fit: cover;
  }
  h1, h2, h3 {
	margin-top: 0;
	font-weight: 600;
	color: #222;
  }
  p {
	margin: 0 0 1rem 0;
	color: #555;
  }
  button {
	cursor: pointer;
	font-weight: 600;
	border: none;
	padding: 0.6rem 1.2rem;
	border-radius: 6px;
	background-color: rgb(160, 121, 152);
	color: white;
	transition: background-color 0.3s ease;
  }
  button:hover {
	background-color: rgb(130, 100, 125);
  }
  
  /* Container */
  .wrapper {
	max-width: 1140px;
	margin: 0 auto;
	padding: 1.5rem;
  }

  .featured-image {
	width: 100%;
	max-height: 400px;
	object-fit: cover;
	border-radius: 8px;
	margin-bottom: 1.5rem;
  }
  
  
  /* Navigation */
  nav {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 1.5rem 2rem;             /* Mehr Weißraum */
	background: linear-gradient(135deg, #f0f0f0, #dcdcdc);  /* sanfter Farbverlauf */
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);            /* leichter Schatten */
	border-radius: 12px;            /* abgerundete Ecken */
	position: sticky;
	top: 10px;                     /* leicht versetzt vom oberen Rand */
	z-index: 100;
	margin: 0 1rem;                /* Abstand zu Seiten */
	backdrop-filter: blur(8px);    /* moderner Glass-Effekt */
	border: none;                  /* kein Rand mehr */
  }
  .companyName {
	font-size: 1.5rem;
	font-weight: 700;
	color: rgb(160, 121, 152);
	user-select: none;
  }
  .companyName .grey {
	color: #888;
	font-weight: 400;
  }
  nav ul {
	list-style: none;
	display: flex;
	gap: 1.5rem;
	margin: 0;
	padding: 0;
  }
  nav ul li a {
	text-decoration: none;
	color: #555;
	font-weight: 600;
	text-transform: uppercase;
	padding: 0.3rem 0.6rem;
	border-radius: 4px;
	transition: background-color 0.3s, color 0.3s;
  }
  nav ul li a:hover,
  nav ul li a.active {
	background-color: rgb(160, 121, 152);
	color: white;
  }
  
  /* Title Section */
  h1 {
	margin-top: 2rem;
	margin-bottom: 1rem;
	font-size: 2.8rem;
	text-align: center;
	color: #222;
  }
  .titlepic {
	display: block;
	margin: 0 auto 3rem auto;
	max-width: 80vw;
	max-height: 350px;
	border-radius: 12px;
	box-shadow: 0 6px 15px rgba(0,0,0,0.1);
	object-fit: cover;
  }
  
  /* Portfolio 3-Spalten Grid */
  .portfolio-container {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 2rem;
	margin-bottom: 4rem;
  }
  .portfolio-item {
	background: white;
	padding: 1.5rem;
	border-radius: 10px;
	box-shadow: 0 6px 18px rgba(0,0,0,0.08);
	display: flex;
	flex-direction: column;
	transition: transform 0.3s ease;
  }
  .portfolio-item:hover {
	transform: translateY(-6px);
	box-shadow: 0 12px 28px rgba(0,0,0,0.12);
  }
  .portfolio-image {
	width: 100%;
	height: 180px;
	border-radius: 8px;
	margin-bottom: 1rem;
	object-fit: cover;
	flex-shrink: 0;
  }
  .portfolio-item h2 {
	margin-bottom: 0.6rem;
	font-size: 1.4rem;
	color: rgb(160, 121, 152);
	flex-shrink: 0;
  }
  .portfolio-item p {
	flex-grow: 1;
	color: #666;
	font-size: 0.95rem;
	margin-bottom: 1.3rem;
  }
  .blackButton {
	align-self: flex-start;
	background-color: #222;
	color: #fff;
	padding: 0.5rem 1.2rem;
	border-radius: 6px;
	border: none;
	font-weight: 600;
	text-transform: uppercase;
	transition: background-color 0.3s ease;
  }
  .blackButton:hover {
	background-color: #444;
  }
  
  /* Footer */
  footer {
	background-color: #222;
	color: white;
	padding: 1.5rem 1rem;
	text-align: center;
	font-size: 0.9rem;
	user-select: none;
	border-top: 3px solid rgb(160, 121, 152);
  }
  
  footer nav {
	margin-bottom: 1rem;
  }
  
  .mein-menue {
	list-style: none;
	display: inline-flex;
	gap: 1.5rem;
	padding: 0;
	margin: 0;
	justify-content: center;
	flex-wrap: wrap;
  }
  
  .mein-menue li {
	display: inline;
  }
  
  .mein-menue a {
	color: rgb(0, 0, 0);
	text-decoration: none;
	font-weight: 600;
	padding: 0.25rem 0.5rem;
	border-radius: 4px;
	transition: background-color 0.3s ease;
  }
  
  .mein-menue a:hover,
  .mein-menue a:focus {
	background-color: rgb(160, 121, 152);
	outline: none;
  }
  
  .footer-copy {
	margin: 0;
	font-style: italic;
	color: #bbb;
  }
  /* Responsive Adjustments */
  @media (max-width: 768px) {
	nav ul {
	  gap: 1rem;
	}
	h1 {
	  font-size: 2rem;
	}
	.titlepic {
	  max-height: 220px;
	}
  }
  
  @media (max-width: 480px) {
	.portfolio-item {
	  padding: 1rem;
	}
	.blackButton {
	  padding: 0.4rem 1rem;
	  font-size: 0.9rem;
	}
  }.contact-section {
	max-width: 700px;
	margin: 80px auto;
	padding: 60px;
	background-color: #fefefe;
	border-radius: 20px;
	box-shadow: 0 12px 24px rgba(0, 0, 0, 0.08);
	font-family: 'Inter', sans-serif;
	color: #333;
  }
  
  .contact-section h2 {
	font-size: 2.4rem;
	margin-bottom: 10px;
	color: #3c3c3c;
	text-align: center;
  }
  
  .contact-section p {
	font-size: 1.1rem;
	margin-bottom: 30px;
	text-align: center;
	color: #75897d;
  }
  
  .contact-form {
	display: flex;
	flex-direction: column;
	gap: 20px;
  }
  
  .contact-form label {
	font-weight: 600;
	margin-bottom: 5px;
	color: #3c3c3c;
  }
  
  .contact-form input,
  .contact-form textarea {
	padding: 14px;
	font-size: 1rem;
	border: 1px solid #ccc;
	border-radius: 8px;
	background-color: #fff;
	color: #333;
	transition: border 0.3s ease;
  }
  
  .contact-form input:focus,
  .contact-form textarea:focus {
	border-color: rgb(160, 121, 152);
	outline: none;
  }
  
  .contact-form button {
	background-color: rgb(160, 121, 152);
	color: #fff;
	font-size: 1rem;
	font-weight: 600;
	padding: 14px 28px;
	border: none;
	border-radius: 8px;
	cursor: pointer;
	transition: background-color 0.3s ease;
  }
  
  .contact-form button:hover {
	background-color: #a0709a;
  }