:root{
  --bg:#f4f7f5;
  --surface:rgba(255,255,255,.88);
  --surface-strong:#ffffff;
  --ink:#223129;
  --ink-soft:#5f6d66;
  --line:rgba(72,86,78,.12);
  --brand:#79c83f;
  --brand-2:#61af2d;
  --brand-soft:rgba(121,200,63,.14);
  --silver:#b7bfbb;
  --silver-deep:#8f9994;
  --shadow:0 18px 40px rgba(34,49,41,.08);
  --radius:18px;
  --container:min(1200px, calc(100% - 32px));
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  color:var(--ink);
  background:
    radial-gradient(circle at 12% 10%, rgba(121,200,63,.09), transparent 20%),
    radial-gradient(circle at 88% 6%, rgba(183,191,187,.18), transparent 18%),
    linear-gradient(180deg,#f7faf8 0%, #edf3f0 45%, #eef3f2 100%);
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{width:var(--container);margin:0 auto}
#bubbleCanvas{position:fixed;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;opacity:.9}
.site-shell{position:relative;overflow:hidden}

/* Dunkleres Silber für Header und Menü - passend zum Overlay */
.logo-strip {
  background: rgba(22,35,29,.75);
  background: linear-gradient(95deg, 
    rgba(22,35,29,.95) 0%, 
    rgba(32,49,42,.85) 40%,
    rgba(38,56,47,.8) 100%);
  border-bottom: 1px solid rgba(255,255,255,.15);
  backdrop-filter: none;
  padding:22px 0 10px;
}
.logo-wrap{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
.brandmark img{height:92px;width:auto;filter: brightness(1.1);}
.brandmark-wide img{height:64px}
.logo-strip .header-contact {
  display: flex;
  flex-direction: column;
  gap: 6px;
  align-items: flex-end;
}
.logo-strip .header-contact a {
  color: rgba(255,255,255,.9);
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 15px;
  white-space: nowrap;
}
.logo-strip .header-contact a i {
  font-style: normal;
  font-size: 16px;
  filter: brightness(1.2);
}
.header-contact{
    display:flex;
    align-items:center;
    gap:20px;
}

.header-contact .contact-data{
    display:flex;
    flex-direction:column;
}

.header-slogan img{
    height:55px;
    width:auto;
    filter: drop-shadow(0 3px 6px rgba(0,0,0,0.2));
}
.main-nav-wrap{
  position:sticky;
  top:0;
  z-index:40;
  background: rgba(28,44,37,.85);
  background: linear-gradient(95deg, 
    rgba(22,35,29,.95) 0%, 
    rgba(32,49,42,.9) 50%,
    rgba(38,56,47,.85) 100%);
  backdrop-filter: none;
  border-top: 1px solid rgba(255,255,255,.2);
  border-bottom: 1px solid rgba(255,255,255,.1);
}
.main-nav{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:62px}
.nav-links{display:flex;gap:24px;align-items:center;flex-wrap:wrap}
.nav-links a{
  color: rgba(255,255,255,.95);
  font-weight:600;
  font-size:15px;
  padding:8px 0;
  position:relative;
  text-shadow: 0 1px 2px rgba(0,0,0,.2);
}
.nav-links a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:2px;
  width:0;
  height:2px;
  background: linear-gradient(90deg, #9bde7a, #c0e8ac);
  transition:width .25s
}
.nav-links a:hover::after,.nav-links a.active::after{width:100%}
.nav-pills{display:flex;gap:12px;align-items:center}
.pill-link{
  padding:10px 16px;
  border-radius:999px;
  background: rgba(255,255,255,.2);
  border: 1px solid rgba(255,255,255,.25);
  color: white;
  backdrop-filter: blur(5px);
  font-weight:700;
}
.pill-link.primary{
  background:linear-gradient(135deg,var(--brand),var(--brand-2));
  color:#fff;
  border:none;
}

/* Willkommensbereich mit Reagenzglasbild */
.welcome-image-section {
  position: relative;
  width: 100%;
  height: 380px;
  border-radius: 30px;
  overflow: hidden;
  margin: 20px 0 30px;
  box-shadow: var(--shadow);
  border: 1px solid rgba(255,255,255,.25);
}
.welcome-image-section img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.welcome-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(95deg, 
    rgba(22,35,29,.75) 0%, 
    rgba(22,35,29,.45) 40%,
    rgba(22,35,29,.2) 100%);
  display: flex;
  align-items: center;
}
.welcome-text-container {
  width: var(--container);
  margin: 0 auto;
  color: white;
}
.welcome-headline {
  font-size: clamp(32px, 5vw, 58px);
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: -0.02em;
  margin: 0 0 12px;
  max-width: 800px;
  text-shadow: 0 2px 5px rgba(0,0,0,.3);
}
.welcome-headline .green {
  color: #b8eda0;
}
.welcome-subline {
  font-size: 20px;
  line-height: 1.6;
  color: rgba(255,255,255,.95);
  max-width: 700px;
  margin: 0;
  font-weight: 400;
  text-shadow: 0 1px 3px rgba(0,0,0,.3);
}
.welcome-subline strong {
  color: #d4f5c0;
  font-weight: 600;
}

/* Zentrierter Ticker - mit Container-Breite */
.stats-ticker-wrapper {
  display: flex;
  justify-content: center;
  margin: 20px 0 30px;
  width: 100%;
}
.stats-ticker {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 16px;
  width: var(--container);
  max-width: var(--container);
  margin: 0 auto;
}
.ticker-item {
  background: rgba(255,255,255,.9);
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 14px 8px;
  box-shadow: 0 8px 22px rgba(34,49,41,.1);
  backdrop-filter: blur(4px);
  position: relative;
  overflow: hidden;
  text-align: center;
}
.ticker-item::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: radial-gradient(circle at 30% 40%, rgba(121,200,63,.08), transparent 60%);
  pointer-events: none;
}
.ticker-value {
  font-size: clamp(24px, 3.2vw, 34px);
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--brand-2);
  line-height: 1;
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 4px;
  position: relative;
  z-index: 2;
}
.ticker-label {
  font-size: 13px;
  font-weight: 600;
  color: #344a3c;
  margin-top: 4px;
  letter-spacing: 0.02em;
  position: relative;
  z-index: 2;
}
.ticker-item small {
  display: block;
  font-size: 11px;
  color: #7c8b82;
  margin-top: 2px;
}

/* Willkommenstext-Bereich - mit grünem ASKANA® */
.welcome-text-section {
  background: linear-gradient(180deg, rgba(255,255,255,.8), rgba(255,255,255,.6));
  border: 1px solid var(--line);
  border-radius: 30px;
  padding: 48px 48px;
  margin: 30px 0 30px;
  box-shadow: var(--shadow);
  backdrop-filter: blur(10px);
}
.welcome-title {
  font-size: clamp(28px, 3.5vw, 38px);
  font-weight: 700;
  color: var(--ink);
  margin: 0 0 24px;
  letter-spacing: -0.01em;
}
.welcome-title .green-askana {
  color: var(--brand-2);
  font-weight: 800;
}
.welcome-text-section p {
  font-size: 17px;
  line-height: 1.8;
  color: var(--ink-soft);
  margin: 0 0 24px;
  max-width: 900px;
}
.welcome-text-section p:last-of-type {
  margin-bottom: 0;
}
.signature {
  font-weight: 600;
  color: var(--ink);
  margin-top: 32px;
  font-size: 18px;
  border-left: 4px solid var(--brand-2);
  padding-left: 20px;
}

/* Themenbezogener Container mit Bild und Punkten in einer Zeile */
.themed-container {
  background: linear-gradient(135deg, rgba(121,200,63,.05), rgba(183,191,187,.1));
  border: 1px solid rgba(121,200,63,.2);
  border-radius: 30px;
  padding: 40px 40px;
  margin: 30px 0 30px;
  box-shadow: var(--shadow);
  backdrop-filter: blur(5px);
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 40px;
  align-items: center;
}
.themed-content {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.themed-content h3 {
  font-size: 28px;
  font-weight: 700;
  color: var(--ink);
  margin: 0;
  letter-spacing: -0.01em;
}
.themed-content h3 span {
  color: var(--brand-2);
}
.themed-content p {
  font-size: 16px;
  line-height: 1.7;
  color: var(--ink-soft);
  margin: 0;
}
.themed-features-row {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  margin: 10px 0 5px;
  align-items: center;
}
.feature-pill {
  display: flex;
  align-items: center;
  gap: 8px;
  background: rgba(255,255,255,.6);
  border: 1px solid rgba(121,200,63,.3);
  border-radius: 40px;
  padding: 8px 18px;
  box-shadow: 0 4px 12px rgba(0,0,0,.03);
}
.feature-pill .feature-icon {
  width: 26px;
  height: 26px;
  background: rgba(121,200,63,.2);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  color: var(--brand-2);
  font-weight: bold;
}
.feature-pill .feature-text {
  font-weight: 600;
  color: var(--ink);
  font-size: 16px;
}
.themed-image {
  position: relative;
  height: 260px;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 15px 35px rgba(0,0,0,.15);
  border: 1px solid rgba(255,255,255,.3);
}
.themed-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.image-caption {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(0deg, rgba(22,35,29,.85), transparent);
  padding: 20px 20px 15px;
  color: white;
}
.image-caption strong {
  color: #b8eda0;
  display: block;
  font-size: 18px;
  margin-bottom: 4px;
}
.image-caption span {
  font-size: 14px;
  opacity: 0.9;
}

/* Leistungskatalog - Aufklappbar */
.leistungskatalog-section {
  margin: 40px 0 30px;
}
.leistungskatalog-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 24px;
}
.leistungskatalog-header h2 {
  font-size: 32px;
  font-weight: 700;
  color: var(--ink);
  margin: 0;
  letter-spacing: -0.02em;
}
.leistungskatalog-header h2 span {
  color: var(--brand-2);
}
.leistungskatalog-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}
.leistung-card {
  background: rgba(255,255,255,.85);
  border: 1px solid var(--line);
  border-radius: 24px;
  overflow: hidden;
  box-shadow: var(--shadow);
  backdrop-filter: blur(5px);
  transition: all 0.3s ease;
}
.leistung-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 40px rgba(34,49,41,.15);
}
.leistung-card-header {
  padding: 20px 24px;
  background: linear-gradient(135deg, rgba(121,200,63,.1), rgba(183,191,187,.05));
  border-bottom: 1px solid rgba(121,200,63,.2);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.leistung-card-header h3 {
  font-size: 22px;
  font-weight: 700;
  color: var(--ink);
  margin: 0;
  display: flex;
  align-items: center;
  gap: 12px;
}
.leistung-card-header h3 .card-icon {
  font-size: 28px;
}
.toggle-icon {
  font-size: 24px;
  color: var(--brand-2);
  transition: transform 0.3s ease;
}
.leistung-card.active .toggle-icon {
  transform: rotate(45deg);
}
.leistung-card-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s ease;
  background: rgba(255,255,255,.5);
}
.leistung-card.active .leistung-card-content {
  max-height: 600px;
}
.leistung-text {
  padding: 24px;
}
.leistung-text .subheadline {
  font-size: 14px;
  font-weight: 600;
  color: var(--brand-2);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 16px;
  display: block;
}
.leistung-text p {
  font-size: 16px;
  line-height: 1.7;
  color: var(--ink-soft);
  margin: 0 0 16px;
}
.leistung-text p:last-child {
  margin-bottom: 0;
}
.leistung-text ul {
  margin: 12px 0 16px;
  padding-left: 24px;
}
.leistung-text li {
  font-size: 15px;
  line-height: 1.6;
  color: var(--ink-soft);
  margin-bottom: 6px;
}
.card-button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: linear-gradient(135deg, var(--brand), var(--brand-2));
  color: white;
  padding: 10px 20px;
  border-radius: 40px;
  font-weight: 600;
  font-size: 15px;
  margin-top: 16px;
  border: none;
  cursor: pointer;
  transition: all 0.2s;
  text-decoration: none;
}
.card-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 20px rgba(97,175,45,.3);
}
.view-all-button {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: linear-gradient(135deg, var(--brand), var(--brand-2));
  color: white;
  padding: 14px 32px;
  border-radius: 50px;
  font-weight: 700;
  font-size: 18px;
  margin: 30px auto 0;
  border: none;
  cursor: pointer;
  transition: all 0.2s;
  text-decoration: none;
}
.view-all-button:hover {
  transform: translateY(-3px);
  box-shadow: 0 15px 30px rgba(97,175,45,.4);
}
.button-container {
  display: flex;
  justify-content: center;
  margin-top: 20px;
}

/* NEU: Preistabelle für Wartungsseite */
.price-table {
  width: 100%;
  border-collapse: collapse;
  margin: 24px 0;
  background: rgba(255,255,255,.7);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: var(--shadow);
}
.price-table th {
  background: linear-gradient(135deg, rgba(121,200,63,.2), rgba(183,191,187,.1));
  padding: 16px 12px;
  text-align: left;
  font-weight: 700;
  color: var(--ink);
  border-bottom: 2px solid var(--brand-2);
}
.price-table td {
  padding: 14px 12px;
  border-bottom: 1px solid var(--line);
  color: var(--ink-soft);
}
.price-table tr:last-child td {
  border-bottom: none;
}
.price-table .price {
  font-weight: 700;
  color: var(--brand-2);
  white-space: nowrap;
}
.price-table .tarif {
  font-weight: 700;
  color: var(--ink);
  background: rgba(121,200,63,.1);
  border-radius: 40px;
  padding: 4px 12px;
  display: inline-block;
}

/* NEU: Animierte Leistungsliste - wie Luftblasen */
.leistungen-container {
  position: relative;
  min-height: 450px;
  margin: 30px 0 20px;
  overflow: hidden;
  border-radius: 24px;
  background: linear-gradient(135deg, rgba(121,200,63,.02), rgba(183,191,187,.05));
  padding: 20px;
  border: 1px solid var(--line);
}
.floating-leistung {
  position: absolute;
  background: rgba(255,255,255,.9);
  backdrop-filter: blur(4px);
  border: 1px solid rgba(121,200,63,.3);
  border-radius: 40px;
  padding: 10px 18px;
  box-shadow: 0 8px 20px rgba(34,49,41,.08);
  font-size: 14px;
  font-weight: 500;
  color: var(--ink);
  display: flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
  animation: floatLeistung 18s infinite ease-in-out;
  z-index: 2;
  transition: all 0.3s ease;
}
.floating-leistung:hover {
  background: white;
  transform: scale(1.05) !important;
  box-shadow: 0 12px 28px rgba(97,175,45,.2);
  border-color: var(--brand-2);
  z-index: 10;
}
.floating-leistung::before {
  content: "✓";
  color: var(--brand-2);
  font-weight: 700;
  font-size: 14px;
  margin-right: 4px;
}
@keyframes floatLeistung {
  0% {
    transform: translate(0, 0) rotate(0deg);
  }
  20% {
    transform: translate(15px, -10px) rotate(1deg);
  }
  40% {
    transform: translate(-5px, -20px) rotate(-1deg);
  }
  60% {
    transform: translate(-20px, -5px) rotate(2deg);
  }
  80% {
    transform: translate(10px, 10px) rotate(-1deg);
  }
  100% {
    transform: translate(0, 0) rotate(0deg);
  }
}

/* Positionen für die schwebenden Leistungen */
.floating-leistung:nth-child(1) { top: 5%; left: 2%; animation-duration: 20s; animation-delay: -1s; }
.floating-leistung:nth-child(2) { top: 15%; right: 5%; animation-duration: 24s; animation-delay: -3s; }
.floating-leistung:nth-child(3) { bottom: 20%; left: 8%; animation-duration: 22s; animation-delay: -5s; }
.floating-leistung:nth-child(4) { top: 40%; right: 12%; animation-duration: 26s; animation-delay: -2s; }
.floating-leistung:nth-child(5) { bottom: 35%; left: 15%; animation-duration: 18s; animation-delay: -7s; }
.floating-leistung:nth-child(6) { top: 60%; right: 20%; animation-duration: 25s; animation-delay: -4s; }
.floating-leistung:nth-child(7) { bottom: 50%; left: 25%; animation-duration: 21s; animation-delay: -9s; }
.floating-leistung:nth-child(8) { top: 75%; right: 25%; animation-duration: 23s; animation-delay: -6s; }
.floating-leistung:nth-child(9) { bottom: 65%; left: 35%; animation-duration: 19s; animation-delay: -8s; }
.floating-leistung:nth-child(10) { top: 85%; right: 35%; animation-duration: 27s; animation-delay: -11s; }
.floating-leistung:nth-child(11) { bottom: 80%; left: 45%; animation-duration: 20s; animation-delay: -13s; }
.floating-leistung:nth-child(12) { top: 25%; right: 45%; animation-duration: 24s; animation-delay: -15s; }
.floating-leistung:nth-child(13) { bottom: 15%; left: 55%; animation-duration: 22s; animation-delay: -2s; }
.floating-leistung:nth-child(14) { top: 55%; right: 55%; animation-duration: 28s; animation-delay: -17s; }
.floating-leistung:nth-child(15) { bottom: 45%; left: 65%; animation-duration: 21s; animation-delay: -12s; }

/* NEU: Anfahrtspauschalen */
.travel-costs {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  margin: 20px 0;
}
.cost-item {
  display: flex;
  justify-content: space-between;
  padding: 12px 16px;
  background: rgba(255,255,255,.6);
  border-radius: 16px;
  border: 1px solid var(--line);
  transition: all 0.2s ease;
}
.cost-item:hover {
  background: rgba(255,255,255,.9);
  border-color: var(--brand-2);
  transform: translateY(-2px);
  box-shadow: var(--shadow);
}
.cost-item .region {
  font-weight: 600;
  color: var(--ink);
}
.cost-item .price {
  font-weight: 700;
  color: var(--brand-2);
}

/* NEU: Motto-Bild */
.motto-image {
  max-width: 200px;
  height: auto;
  opacity: 0.9;
  transition: transform 0.3s ease;
}
.motto-image:hover {
  transform: scale(1.05);
}

/* Cookie-Banner Styling */
.cookie-banner {
  position: fixed;
  left: 20px;
  right: 20px;
  bottom: 20px;
  z-index: 9999;
  display: none;
  animation: slideUp 0.4s ease;
}
@keyframes slideUp {
  from { transform: translateY(100%); opacity: 0; }
  to { transform: translateY(0); opacity: 1; }
}
.cookie-card {
  max-width: 1200px;
  margin: 0 auto;
  background: rgba(22,35,29,.98);
  backdrop-filter: blur(10px);
  color: #fff;
  border-radius: 24px;
  padding: 24px 28px;
  box-shadow: 0 24px 60px rgba(0,0,0,.5);
  border: 1px solid rgba(255,255,255,.15);
}
.cookie-card p {
  margin: 0 0 18px;
  line-height: 1.6;
  color: rgba(255,255,255,.9);
  font-size: 15px;
}
.cookie-card a {
  color: #b8eda0;
  text-decoration: underline;
}
.cookie-options {
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
  margin: 0 0 20px;
}
.cookie-option {
  display: flex;
  gap: 10px;
  align-items: center;
  font-size: 15px;
  color: rgba(255,255,255,.9);
  cursor: pointer;
}
.cookie-option input[type="checkbox"] {
  width: 18px;
  height: 18px;
  cursor: pointer;
  accent-color: var(--brand-2);
}
.cookie-option input[type="checkbox"]:disabled {
  opacity: 0.7;
  accent-color: #666;
}
.cookie-actions {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}
.cookie-actions .btn {
  padding: 12px 24px;
  font-size: 15px;
  border: none;
  cursor: pointer;
  transition: all 0.2s;
}
.cookie-actions .btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 25px rgba(0,0,0,.2);
}
.cookie-actions .btn-primary {
  background: linear-gradient(135deg, #79c83f, #61af2d);
  color: white;
}
.cookie-actions .btn-secondary {
  background: rgba(255,255,255,.15);
  color: white;
  border: 1px solid rgba(255,255,255,.2);
}

/* Originale Hero-Styles */
.hero{position:relative;padding:0 0 34px}
.hero-media{position:relative;min-height:520px;border-radius:0 0 34px 34px;overflow:hidden;box-shadow:var(--shadow)}
.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity .8s ease, transform 8s ease;transform:scale(1.04);background-size:cover;background-position:center}
.hero-slide.active{opacity:1;transform:scale(1)}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(100deg, rgba(22,35,29,.58) 0%, rgba(22,35,29,.28) 44%, rgba(22,35,29,.14) 100%)}
.hero-content{position:absolute;left:0;right:0;bottom:42px}
.hero-card{max-width:650px;padding:36px 38px;border-radius:28px;background:rgba(245,250,246,.16);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(14px);color:#fff;box-shadow:0 28px 60px rgba(15,20,16,.16)}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.9);margin-bottom:16px}
.eyebrow::before{content:"";width:32px;height:2px;background:linear-gradient(90deg,var(--brand),rgba(255,255,255,.65))}
h1{font-size:clamp(34px,5.5vw,64px);line-height:1.02;margin:0 0 14px;font-weight:800;letter-spacing:-.03em}
.hero-card p{font-size:18px;line-height:1.65;color:rgba(255,255,255,.93);margin:0 0 22px;max-width:58ch}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 20px;border-radius:999px;font-weight:700;transition:.22s ease;cursor:pointer}
.btn-primary{background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff;box-shadow:0 14px 30px rgba(97,175,45,.32)}
.btn-secondary{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.28)}
.btn:hover{transform:translateY(-1px)}

/* Originale Welcome-Styles */
.welcome{padding:54px 0 26px}
.welcome-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:34px;align-items:start}
.lead-card{background:linear-gradient(180deg, rgba(255,255,255,.7), rgba(255,255,255,.5));border:1px solid var(--line);border-radius:30px;padding:36px;box-shadow:var(--shadow);backdrop-filter:blur(10px)}
.lead-card h2,.section-head h2{font-size:clamp(28px,3vw,42px);line-height:1.08;margin:0 0 14px;font-weight:800;letter-spacing:-.02em}
.lead-card p,.section-head p,.text-page p,.feature p{font-size:17px;line-height:1.72;color:var(--ink-soft);margin:0}
.stats-band{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.stat-item{padding:24px 18px;border-radius:26px;background:linear-gradient(180deg, rgba(255,255,255,.84), rgba(255,255,255,.52));border:1px solid var(--line);box-shadow:var(--shadow);text-align:center;min-height:142px;display:flex;flex-direction:column;justify-content:center}
.stat-number{font-size:clamp(30px,4vw,46px);font-weight:800;letter-spacing:-.04em;color:var(--brand-2);display:block}
.stat-label{font-size:14px;font-weight:600;color:var(--ink-soft)}
.sections{padding:26px 0 70px}
.section-head{max-width:780px;margin:0 0 26px}
.feature-stack{display:grid;gap:20px}
.feature{display:grid;grid-template-columns:1.15fr .85fr;gap:0;border-radius:30px;overflow:hidden;background:linear-gradient(180deg, rgba(255,255,255,.82), rgba(255,255,255,.56));border:1px solid var(--line);box-shadow:var(--shadow)}
.feature:nth-child(even){grid-template-columns:.9fr 1.1fr}
.feature-copy{padding:34px 34px 32px}
.feature-copy h3{font-size:30px;line-height:1.14;margin:0 0 12px;font-weight:800;letter-spacing:-.02em}
.feature-copy .mini{display:inline-flex;gap:8px;align-items:center;font-size:12px;text-transform:uppercase;letter-spacing:.16em;color:var(--silver-deep);margin-bottom:12px}
.feature-image{min-height:290px;background-size:cover;background-position:center}
.feature-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}
.link-arrow{font-weight:700;color:var(--brand-2)}
.simple-slider{position:relative;border-radius:30px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow);background:rgba(255,255,255,.6)}
.simple-slide{position:absolute;inset:0;opacity:0;transition:opacity .7s ease;background-size:cover;background-position:center}
.simple-slide.active{opacity:1}
.simple-slider .viewport{position:relative;height:380px}
.simple-slider .caption{position:absolute;left:24px;bottom:24px;padding:16px 18px;border-radius:18px;background:rgba(255,255,255,.18);backdrop-filter:blur(10px);color:#fff;border:1px solid rgba(255,255,255,.24);max-width:440px}
.simple-slider .dots{position:absolute;right:22px;bottom:22px;display:flex;gap:8px}
.simple-slider .dot{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.45);border:none;padding:0}
.simple-slider .dot.active{background:#fff}

/* Originale Footer-Styles */
.footer{margin-top:50px;background:linear-gradient(180deg, rgba(52,63,57,.95), rgba(33,40,36,.97));color:#e8efe9}
.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:28px;padding:42px 0 30px}
.footer h4{margin:0 0 12px;font-size:18px}
.footer p,.footer li,.footer a{color:#dce7df;font-size:15px;line-height:1.7}
.footer ul{list-style:none;padding:0;margin:0}
.footer-bottom{display:flex;justify-content:space-between;gap:16px;padding:16px 0 28px;border-top:1px solid rgba(255,255,255,.1);font-size:14px;color:#c9d4cc}

/* Originale Page-Styles */
.page-hero{padding:42px 0 12px}
.page-hero-card{padding:28px 30px;border-radius:28px;background:linear-gradient(180deg, rgba(255,255,255,.82), rgba(255,255,255,.55));border:1px solid var(--line);box-shadow:var(--shadow)}
.page-hero-card h1{color:var(--ink);font-size:clamp(30px,5vw,50px)}
.page-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:22px;align-items:start;padding:18px 0 54px}
.media-panel,.content-panel,.form-panel{background:linear-gradient(180deg, rgba(255,255,255,.82), rgba(255,255,255,.56));border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow);overflow:hidden}
.content-panel,.form-panel{padding:30px}
.media-panel img{width:100%;height:100%;min-height:340px;object-fit:cover}
.bullets{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:12px}
.bullets li{padding-left:22px;position:relative;color:var(--ink-soft);line-height:1.6}
.bullets li::before{content:"";position:absolute;left:0;top:.6em;width:10px;height:10px;border-radius:50%;background:linear-gradient(135deg,var(--brand),var(--silver))}
.notice{margin-top:18px;padding:16px 18px;border-radius:18px;background:var(--brand-soft);border:1px solid rgba(121,200,63,.18);font-weight:600;color:#31402f}
form{display:grid;gap:16px}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
label{display:grid;gap:7px;font-weight:600;font-size:14px}
input,select,textarea{width:100%;border:1px solid rgba(34,49,41,.16);border-radius:14px;min-height:48px;padding:12px 14px;font:inherit;color:var(--ink);background:#fff}
textarea{min-height:130px;resize:vertical}
.form-check{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--ink-soft)}
.form-check input{width:18px;min-height:18px;margin-top:3px}
.form-actions{display:flex;justify-content:flex-start}
.small{font-size:13px;color:var(--ink-soft)}

/* Revision 6 start page refinements */
.hero-static{padding:22px 0 28px}
.hero-split{display:grid;grid-template-columns:1.02fr 1.18fr;gap:24px;align-items:stretch}
.hero-banner{display:flex;flex-direction:column;justify-content:center;padding:34px 38px 34px 0}
.hero-kicker{font-size:clamp(24px,3.8vw,42px);line-height:1.08;font-weight:800;letter-spacing:-.03em;color:#314238;margin-bottom:12px}
.hero-kicker-green{color:var(--brand-2)}
.hero-subline{font-size:18px;line-height:1.7;color:var(--ink-soft);max-width:36ch;margin:0 0 26px}
.hero-actions-dark .btn-secondary.dark{background:transparent;border:1px solid rgba(40,73,47,.18);color:#2b4432}
.hero-panorama{position:relative;min-height:370px;border-radius:26px;overflow:hidden;box-shadow:var(--shadow);background:linear-gradient(180deg, rgba(255,255,255,.85), rgba(255,255,255,.65));border:1px solid var(--line)}
.hero-panorama img{width:100%;height:100%;object-fit:cover;object-position:center;filter:contrast(1.05) saturate(.92)}
.sample-panorama::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg, rgba(255,255,255,.10) 0%, rgba(255,255,255,0) 32%, rgba(60,79,67,.04) 100%)}
.sample-liquid{position:absolute;right:58px;top:126px;width:126px;height:76px;border-radius:0 0 22px 22px / 0 0 18px 18px;overflow:hidden;opacity:.55;mix-blend-mode:multiply;background:linear-gradient(180deg, rgba(129,142,122,.20), rgba(106,120,96,.36));box-shadow:inset 0 8px 16px rgba(255,255,255,.18), inset 0 -8px 20px rgba(77,88,70,.22)}
.sample-liquid::before,.sample-liquid::after{content:"";position:absolute;left:-10%;width:120%;height:150%;background:radial-gradient(ellipse at center, rgba(255,255,255,.22) 0%, rgba(255,255,255,.06) 35%, rgba(86,94,77,.22) 100%);animation:sampleWave 7s ease-in-out infinite}
.sample-liquid::after{animation-duration:9s;animation-delay:-3s;opacity:.55}
.sample-gloss{position:absolute;right:108px;top:72px;width:24px;height:168px;border-radius:20px;background:linear-gradient(180deg, rgba(255,255,255,.22), rgba(255,255,255,.02));filter:blur(1px);opacity:.7}
@keyframes sampleWave{0%{transform:translateX(-8%) translateY(6%) rotate(0deg)}25%{transform:translateX(2%) translateY(0%) rotate(4deg)}50%{transform:translateX(8%) translateY(4%) rotate(-2deg)}75%{transform:translateX(-3%) translateY(-2%) rotate(3deg)}100%{transform:translateX(-8%) translateY(6%) rotate(0deg)}}
.welcome-flat{padding:24px 0 16px}
.welcome-copy-wide{max-width:none;margin-bottom:22px}
.welcome-copy-wide p{max-width:92ch;font-size:18px;line-height:1.8;color:var(--ink-soft)}
.stats-wide{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.stats-years .stat-item{min-height:132px;border-radius:22px;background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(247,250,248,.82))}
.stats-years .stat-item.emphasis{background:linear-gradient(135deg, rgba(121,200,63,.12), rgba(255,255,255,.92));border-color:rgba(121,200,63,.18)}
.stat-item small{font-size:12px;color:var(--ink-soft);font-weight:600}
.leistungen-band{padding:20px 0 68px}
.compact-head{margin-bottom:14px}
.wide-list{display:grid;gap:0;border-radius:24px;overflow:hidden;border:1px solid var(--line);background:rgba(255,255,255,.76);box-shadow:var(--shadow)}
.leistung-row{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;font-size:20px;font-weight:600;color:#2d4035;border-top:1px solid rgba(72,86,78,.08);transition:background .2s,color .2s}
.leistung-row:first-child{border-top:none}
.leistung-row:hover{background:rgba(121,200,63,.08);color:#234128}
.leistung-row strong{font-size:18px;color:var(--brand-2)}

/* Media Queries - kombiniert */
@media (max-width: 1100px){
  .welcome-grid,.page-grid,.feature,.feature:nth-child(even),.footer-top{grid-template-columns:1fr}
  .stats-band{grid-template-columns:repeat(2,1fr)}
  .feature-image{min-height:240px}
}
@media (max-width: 1000px) {
  .stats-ticker { 
    grid-template-columns: repeat(3, 1fr); 
  }
  .themed-container {
    grid-template-columns: 1fr;
    padding: 30px;
  }
  .themed-features-row {
    justify-content: center;
  }
  .leistungskatalog-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 980px){
  .hero-split{grid-template-columns:1fr}
  .hero-banner{padding:6px 0 0}
  .brandmark-wide img{height:54px}
  .header-contact.stacked{align-items:flex-start}
  .welcome-title{font-size:clamp(30px,8vw,44px)}
  .leistung-row{font-size:18px}
  .travel-costs {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 840px){
  .logo-wrap,.main-nav,.footer-bottom{flex-direction:column;align-items:flex-start}
  .header-contact,.nav-links,.nav-pills{justify-content:flex-start}
  .nav-links{gap:16px}
  .hero-media{min-height:540px}
  .hero-card{padding:28px}
  .grid-2,.stats-band{grid-template-columns:1fr}
  .brandmark img{height:78px}
  .brandmark-wide img{height:48px}
  .hero-panorama{min-height:280px}
  .sample-liquid{right:32px;top:94px;width:96px;height:58px}
  .sample-gloss{right:68px;top:54px;height:128px}
  .stats-wide{grid-template-columns:1fr}
  .leistung-row{padding:18px 18px}
  .stats-ticker { 
    grid-template-columns: repeat(2, 1fr); 
  }
  .welcome-image-section { height: 300px; }
  .welcome-headline { font-size: clamp(28px, 6vw, 42px); }
  .welcome-subline { font-size: 18px; }
  .welcome-text-section { padding: 32px 24px; }
  .themed-container { padding: 24px; }
  .themed-features-row {
    gap: 16px;
  }
  .feature-pill {
    padding: 6px 14px;
  }
  .cookie-card {
    padding: 20px;
  }
  .cookie-options {
    gap: 16px;
  }
  .leistungen-container {
    min-height: 600px;
  }
  .floating-leistung {
    font-size: 12px;
    padding: 6px 12px;
  }
}
@media (max-width: 600px) {
  .themed-features-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }
  .cookie-actions {
    flex-direction: column;
  }
  .cookie-actions .btn {
    width: 100%;
  }
  .leistungskatalog-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }
  .price-table {
    font-size: 14px;
  }
  .price-table th, .price-table td {
    padding: 10px 6px;
  }
  .leistungen-container {
    min-height: 700px;
  }
}
@media (max-width: 480px) {
  .stats-ticker { grid-template-columns: 1fr; }
  .welcome-image-section { height: 260px; }
  .welcome-text-section { padding: 24px 20px; }
  .themed-container { padding: 20px; }
  .cookie-banner {
    left: 10px;
    right: 10px;
    bottom: 10px;
  }
  .price-table {
    font-size: 12px;
  }
  .price-table th, .price-table td {
    padding: 8px 4px;
  }
  .cost-item {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
  }
}
/* ====================================
   Dichtheitsprüfungsseite - Styles
   ==================================== */

/* Slider-Styling für Dichtheitsprüfung */
.dichtheit-slider {
  position: relative;
  width: 100%;
  height: 450px;
  border-radius: 30px;
  overflow: hidden;
  margin: 20px 0 30px;
  box-shadow: var(--shadow);
  border: 1px solid var(--line);
}
.slider-container {
  position: relative;
  width: 100%;
  height: 100%;
}
.slider-slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 0.8s ease;
  background-size: cover;
  background-position: center;
}
.slider-slide.active {
  opacity: 1;
}
.slider-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(95deg, 
    rgba(22,35,29,.5) 0%, 
    rgba(22,35,29,.3) 40%,
    rgba(22,35,29,.1) 100%);
  pointer-events: none;
}
.slider-caption {
  position: absolute;
  bottom: 30px;
  left: 30px;
  padding: 20px 28px;
  background: rgba(255,255,255,.2);
  backdrop-filter: blur(10px);
  border-radius: 20px;
  color: white;
  border: 1px solid rgba(255,255,255,.3);
  max-width: 550px;
  box-shadow: 0 10px 30px rgba(0,0,0,.2);
}
.slider-caption h3 {
  margin: 0 0 8px 0;
  font-size: 26px;
  font-weight: 700;
  color: #b8eda0;
  text-shadow: 0 2px 4px rgba(0,0,0,.2);
}
.slider-caption p {
  margin: 0;
  font-size: 16px;
  line-height: 1.6;
  color: rgba(255,255,255,.95);
  text-shadow: 0 1px 2px rgba(0,0,0,.2);
}
.slider-dots {
  position: absolute;
  bottom: 30px;
  right: 30px;
  display: flex;
  gap: 12px;
  z-index: 10;
}
.slider-dot {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: rgba(255,255,255,.5);
  border: 2px solid transparent;
  cursor: pointer;
  padding: 0;
  transition: all 0.3s ease;
}
.slider-dot:hover {
  background: rgba(255,255,255,.8);
  transform: scale(1.1);
}
.slider-dot.active {
  background: var(--brand-2);
  transform: scale(1.2);
  box-shadow: 0 0 20px var(--brand-2);
  border-color: rgba(255,255,255,.3);
}

/* Infokasten für wichtige Punkte */
.info-box {
  background: linear-gradient(135deg, rgba(121,200,63,.1), rgba(255,255,255,.7));
  border: 1px solid rgba(121,200,63,.3);
  border-radius: 30px;
  padding: 36px;
  margin: 30px 0;
  box-shadow: var(--shadow);
  backdrop-filter: blur(5px);
}
.info-box h3 {
  font-size: 26px;
  color: var(--brand-2);
  margin: 0 0 24px 0;
  display: flex;
  align-items: center;
  gap: 12px;
}
.info-box h3::before {
  content: "✓";
  font-size: 32px;
  color: var(--brand-2);
  background: rgba(121,200,63,.2);
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.info-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
.info-item {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 8px;
  border-radius: 16px;
  transition: all 0.2s ease;
}
.info-item:hover {
  background: rgba(255,255,255,.4);
  transform: translateX(5px);
}
.info-item .bullet {
  width: 28px;
  height: 28px;
  background: var(--brand-2);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-weight: 700;
  font-size: 14px;
  flex-shrink: 0;
  box-shadow: 0 4px 10px rgba(97,175,45,.3);
}
.info-item p {
  margin: 0;
  color: var(--ink-soft);
  line-height: 1.6;
  font-size: 16px;
}

/* Material-Chips für Werkstoffe */
.material-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin: 25px 0 15px;
}
.material-chip {
  background: rgba(255,255,255,.8);
  border: 1px solid var(--line);
  border-radius: 50px;
  padding: 12px 24px;
  font-weight: 600;
  color: var(--ink);
  box-shadow: var(--shadow);
  transition: all 0.3s ease;
  font-size: 16px;
  backdrop-filter: blur(5px);
}
.material-chip:hover {
  background: var(--brand-2);
  color: white;
  transform: translateY(-3px);
  border-color: var(--brand-2);
  box-shadow: 0 12px 25px rgba(97,175,45,.3);
}

/* Zwei-Spalten-Layout für Dichtheitsprüfung */
.dichtheit-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
  margin: 30px 0;
}
.dichtheit-card {
  background: rgba(255,255,255,.7);
  border-radius: 30px;
  padding: 36px;
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
  backdrop-filter: blur(5px);
  transition: all 0.3s ease;
}
.dichtheit-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 40px rgba(34,49,41,.15);
  border-color: var(--brand-2);
}
.dichtheit-card h3 {
  font-size: 24px;
  color: var(--brand-2);
  margin: 0 0 20px 0;
  border-bottom: 2px solid rgba(121,200,63,.3);
  padding-bottom: 15px;
}
.dichtheit-card .price-tag {
  font-size: 32px;
  font-weight: 800;
  color: var(--brand-2);
  margin: 20px 0 10px;
}
.dichtheit-card .price-note {
  font-size: 14px;
  color: var(--ink-soft);
  font-style: italic;
}

/* Kurvenbild-Styling */
.curve-image {
  width: 100%;
  border-radius: 30px;
  overflow: hidden;
  margin: 30px 0;
  box-shadow: var(--shadow);
  border: 1px solid var(--line);
  background: linear-gradient(135deg, rgba(121,200,63,.05), rgba(255,255,255,.7));
  padding: 20px;
}
.curve-image img {
  width: 100%;
  height: auto;
  border-radius: 20px;
  display: block;
}
.curve-caption {
  text-align: center;
  margin-top: 15px;
  font-size: 15px;
  color: var(--ink-soft);
  font-style: italic;
}

/* Responsive Anpassungen */
@media (max-width: 1000px) {
  .dichtheit-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .info-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 840px) {
  .dichtheit-slider {
    height: 350px;
  }
  .slider-caption {
    left: 20px;
    right: 20px;
    bottom: 20px;
    padding: 15px 20px;
  }
  .slider-caption h3 {
    font-size: 22px;
  }
  .slider-dots {
    bottom: 20px;
    right: 20px;
  }
  .info-box {
    padding: 25px;
  }
  .info-box h3 {
    font-size: 22px;
  }
  .material-chips {
    gap: 10px;
  }
  .material-chip {
    padding: 8px 16px;
    font-size: 14px;
  }
}

@media (max-width: 480px) {
  .dichtheit-slider {
    height: 280px;
  }
  .slider-caption h3 {
    font-size: 20px;
  }
  .slider-caption p {
    font-size: 14px;
  }
  .slider-dot {
    width: 10px;
    height: 10px;
  }
}
/* ====================================
   AGB WARTUNG - Seite
   ==================================== */

.agb-container {
  max-width: 1000px;
  margin: 40px auto 60px;
  background: linear-gradient(180deg, rgba(255,255,255,.88), rgba(255,255,255,.7));
  border: 1px solid var(--line);
  border-radius: 30px;
  padding: 48px;
  box-shadow: var(--shadow);
  backdrop-filter: blur(10px);
}

.agb-container h1 {
  font-size: 42px;
  color: var(--brand-2);
  margin: 0 0 5px 0;
  letter-spacing: -0.02em;
  font-weight: 800;
}

.agb-container .subhead {
  font-size: 18px;
  color: var(--ink-soft);
  margin-bottom: 35px;
  padding-bottom: 20px;
  border-bottom: 2px solid var(--brand-2);
}

.agb-section {
  margin-bottom: 40px;
}

.agb-section h2 {
  font-size: 26px;
  color: var(--brand-2);
  margin: 0 0 20px 0;
  padding-left: 15px;
  border-left: 5px solid var(--brand-2);
  font-weight: 700;
}

.agb-section h3 {
  font-size: 18px;
  color: var(--ink);
  margin: 20px 0 10px 0;
  font-weight: 700;
}

.agb-section p {
  font-size: 15px;
  line-height: 1.7;
  color: var(--ink-soft);
  margin: 0 0 12px 0;
}

.agb-section p strong {
  color: var(--ink);
  font-weight: 700;
}

.agb-section ul, 
.agb-section ol {
  margin: 8px 0 16px 0;
  padding-left: 24px;
}

.agb-section li {
  font-size: 15px;
  line-height: 1.6;
  color: var(--ink-soft);
  margin-bottom: 6px;
}

.agb-section li strong {
  color: var(--ink);
}

.agb-highlight {
  background: rgba(121,200,63,.08);
  border: 1px solid rgba(121,200,63,.25);
  border-radius: 16px;
  padding: 20px;
  margin: 20px 0;
}

.widerruf-box {
  background: linear-gradient(135deg, rgba(121,200,63,.05), rgba(183,191,187,.08));
  border: 1px solid var(--brand-2);
  border-radius: 24px;
  padding: 30px;
  margin: 40px 0 20px;
  box-shadow: var(--shadow);
}

.widerruf-box h3 {
  color: var(--brand-2);
  font-size: 22px;
  margin-top: 0;
  margin-bottom: 15px;
  font-weight: 700;
}

.widerruf-box .widerruf-form {
  background: rgba(255,255,255,.7);
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 25px;
  margin-top: 20px;
}

.widerruf-form p {
  margin: 0 0 15px 0;
  font-size: 15px;
}

.widerruf-form .placeholder {
  background: #f0f3f1;
  border-bottom: 2px dashed #9aa8a0;
  min-width: 200px;
  display: inline-block;
  padding: 0 8px;
  color: #5f6d66;
  font-style: italic;
  font-family: 'Courier New', monospace;
}

.widerruf-form .placeholder-line {
  display: block;
  border-bottom: 2px dashed #9aa8a0;
  margin: 5px 0 15px 0;
  width: 100%;
  height: 20px;
}

.back-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 20px 0 0 0;
  padding: 10px 18px;
  background: rgba(255,255,255,.7);
  border: 1px solid var(--line);
  border-radius: 40px;
  color: var(--ink);
  font-weight: 600;
  transition: all 0.2s ease;
  text-decoration: none;
}

.back-link:hover {
  background: var(--brand-2);
  color: white;
  transform: translateX(-3px);
  border-color: var(--brand-2);
}

.agb-footer-note {
  margin-top: 30px;
  padding-top: 25px;
  border-top: 1px solid var(--line);
  font-size: 14px;
  color: var(--ink-soft);
  text-align: center;
}

.agb-footer-note a {
  color: var(--brand-2);
  text-decoration: underline;
}

.agb-footer-note a:hover {
  text-decoration: none;
}

@media (max-width: 768px) {
  .agb-container {
    padding: 24px;
    margin: 20px 15px;
  }
  .agb-container h1 {
    font-size: 32px;
  }
  .agb-section h2 {
    font-size: 22px;
  }
  .widerruf-box {
    padding: 20px;
  }
}
.agb-topbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin-bottom: 20px;
}

.agb-download-btn {
  margin-left: auto;
  white-space: nowrap;
}
@media print {

  header,
  .main-nav-wrap,
  .footer,
  .cookie-banner,
  .back-link,
  .agb-download-btn,
  #bubbleCanvas {
    display: none !important;
  }

  .agb-container {
    max-width: 100%;
  }

  body {
    background: white;
  }

}
.agb-header-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  max-width:1000px;
  margin:0 auto 20px auto;
}

.agb-download-btn{
  white-space: nowrap;
  background: linear-gradient(135deg, var(--brand), var(--brand-2));
  color: #fff;
  border: none;
  padding:14px 20px;
  font-weight:700;
  box-shadow: 0 10px 24px rgba(97,175,45,.28);
  gap: 8px;
  margin: 20px 0 0 0;
  cursor: pointer;
  transition: transform .15s ease, box-shadow .15s ease;
}
.agb-download-btn:hover {
  background: red;
  color: black;
  transform: translateX(-3px);
  border-color: var(--brand-2);
  box-shadow: 0 12px 28px rgba(97,175,45,.35);
}
.dichtheit-section {
      margin-bottom: 30px;
    }
    .dichtheit-section:last-child {
      margin-bottom: 0;
    }
    .content-panel, .info-box, .dichtheit-grid, .notice {
      margin-bottom: 0;
    }
    
    /* Stil für die aufklappbaren DIN-Beschreibungen */
    .leistung-item {
      margin-bottom: 15px;
      border-bottom: 1px solid var(--line);
      padding-bottom: 10px;
    }
    .leistung-item:last-child {
      border-bottom: none;
    }
    .leistung-header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      cursor: pointer;
      padding: 8px 0;
      transition: all 0.2s ease;
    }
    .leistung-header:hover {
      background: rgba(121,200,63,.05);
      border-radius: 10px;
      padding-left: 10px;
    }
    .leistung-titel {
      display: flex;
      align-items: center;
      gap: 12px;
    }
    .leistung-titel span {
      color: var(--brand-2);
      font-weight: 700;
      font-size: 18px;
    }
    .leistung-titel strong {
      font-size: 16px;
      color: var(--ink);
    }
    .toggle-plus {
      font-size: 24px;
      color: var(--brand-2);
      font-weight: 700;
      margin-right: 10px;
      transition: transform 0.3s ease;
    }
    .leistung-item.active .toggle-plus {
      transform: rotate(45deg);
    }
    .din-description {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.4s ease;
      font-size: 14px;
      color: var(--ink-soft);
      margin-left: 42px;
      margin-right: 10px;
      line-height: 1.5;
      font-style: italic;
      border-left: 2px solid var(--brand-soft);
      padding-left: 15px;
      background: rgba(255,255,255,.5);
      border-radius: 0 10px 10px 0;
    }
    .leistung-item.active .din-description {
      max-height: 100px;
      margin-bottom: 15px;
      padding-top: 8px;
      padding-bottom: 8px;
    }	
	.lab-hero {
      padding-top: 26px;
    }
    .lab-hero-card {
      display: grid;
      grid-template-columns: 1.15fr .85fr;
      gap: 28px;
      align-items: center;
      background: linear-gradient(145deg, rgba(255,255,255,.88), rgba(121,200,63,.1));
      border: 1px solid var(--line);
      border-radius: 30px;
      box-shadow: var(--shadow);
      padding: 38px;
      overflow: hidden;
      position: relative;
    }
    .lab-hero-card::after {
      content: "";
      position: absolute;
      right: -80px;
      top: -80px;
      width: 260px;
      height: 260px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(121,200,63,.18), transparent 68%);
      pointer-events: none;
    }
    .lab-mini {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 8px 14px;
      border-radius: 999px;
      background: rgba(121,200,63,.12);
      border: 1px solid rgba(121,200,63,.18);
      color: var(--brand-2);
      font-weight: 800;
      letter-spacing: .04em;
      text-transform: uppercase;
      font-size: 12px;
      margin-bottom: 16px;
    }
    .lab-hero h1 {
      font-size: clamp(34px, 5vw, 52px);
      line-height: 1.03;
      letter-spacing: -.03em;
      margin: 0 0 16px;
      color: var(--ink);
    }
    .lab-hero p.lead {
      font-size: 18px;
      line-height: 1.75;
      color: var(--ink-soft);
      margin: 0 0 22px;
      max-width: 780px;
    }
    .lab-badges {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      margin-top: 18px;
    }
    .lab-badge {
      padding: 10px 14px;
      border-radius: 999px;
      border: 1px solid var(--line);
      background: rgba(255,255,255,.7);
      font-size: 14px;
      font-weight: 700;
      color: #35503d;
      box-shadow: 0 8px 20px rgba(34,49,41,.06);
    }
    .lab-symbol {
      position: relative;
      min-height: 320px;
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .lab-orbit {
      width: min(340px, 100%);
      aspect-ratio: 1;
      border-radius: 50%;
      background:
        radial-gradient(circle at 30% 30%, rgba(255,255,255,.95), rgba(255,255,255,.55) 35%, rgba(121,200,63,.18) 70%, rgba(97,175,45,.1) 100%);
      border: 1px solid rgba(121,200,63,.25);
      box-shadow: 0 22px 40px rgba(34,49,41,.1), inset 0 0 0 16px rgba(255,255,255,.26);
      display: grid;
      place-items: center;
      position: relative;
      overflow: hidden;
    }
    .lab-orbit::before,
    .lab-orbit::after {
      content: "";
      position: absolute;
      border-radius: 50%;
      border: 1px solid rgba(97,175,45,.18);
    }
    .lab-orbit::before {
      inset: 28px;
    }
    .lab-orbit::after {
      inset: 58px;
    }
    .lab-icon {
      font-size: clamp(86px, 12vw, 124px);
      filter: drop-shadow(0 14px 20px rgba(34,49,41,.14));
      line-height: 1;
      z-index: 2;
    }
    .lab-floating-card {
      position: absolute;
      padding: 12px 14px;
      border-radius: 16px;
      background: rgba(255,255,255,.84);
      border: 1px solid var(--line);
      box-shadow: 0 14px 30px rgba(34,49,41,.1);
      font-size: 13px;
      font-weight: 700;
      color: #365241;
      backdrop-filter: blur(6px);
    }
    .lab-floating-card.one { top: 18px; right: 12px; }
    .lab-floating-card.two { bottom: 24px; left: 0; }
    .lab-floating-card.three { top: 50%; left: -8px; transform: translateY(-50%); }

    .lab-stats {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 18px;
      margin-top: 18px;
    }
    .lab-stat {
      background: rgba(255,255,255,.72);
      border: 1px solid var(--line);
      border-radius: 22px;
      padding: 22px 18px;
      box-shadow: 0 12px 28px rgba(34,49,41,.07);
    }
    .lab-stat strong {
      display: block;
      font-size: 28px;
      line-height: 1;
      color: var(--brand-2);
      margin-bottom: 8px;
      letter-spacing: -.02em;
    }
    .lab-stat span {
      color: var(--ink-soft);
      font-weight: 600;
      line-height: 1.5;
      font-size: 14px;
    }

    .lab-grid-2 {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 22px;
    }
    .service-stack {
      display: grid;
      gap: 16px;
    }
    .service-entry {
      background: rgba(255,255,255,.68);
      border: 1px solid var(--line);
      border-radius: 22px;
      padding: 18px 18px 18px 20px;
      box-shadow: 0 10px 24px rgba(34,49,41,.05);
      position: relative;
      overflow: hidden;
    }
    .service-entry::before {
      content: "";
      position: absolute;
      left: 0;
      top: 0;
      bottom: 0;
      width: 5px;
      background: linear-gradient(180deg, var(--brand), var(--brand-2));
    }
    .service-entry h3 {
      margin: 0 0 8px;
      font-size: 18px;
      color: var(--ink);
    }
    .service-entry p {
      margin: 0;
      color: var(--ink-soft);
      line-height: 1.65;
      font-size: 15px;
    }

    .lab-process {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 16px;
      margin-top: 20px;
    }
    .lab-step {
      background: linear-gradient(180deg, rgba(255,255,255,.82), rgba(255,255,255,.62));
      border: 1px solid var(--line);
      border-radius: 22px;
      padding: 22px 18px;
      box-shadow: 0 12px 28px rgba(34,49,41,.06);
    }
    .lab-step .step-no {
      width: 38px;
      height: 38px;
      border-radius: 50%;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      background: var(--brand-2);
      color: #fff;
      font-weight: 800;
      margin-bottom: 14px;
      box-shadow: 0 8px 16px rgba(97,175,45,.28);
    }
    .lab-step h3 {
      margin: 0 0 10px;
      font-size: 17px;
    }
    .lab-step p {
      margin: 0;
      color: var(--ink-soft);
      line-height: 1.6;
      font-size: 14px;
    }

    .parameter-box {
      background: linear-gradient(180deg, rgba(255,255,255,.86), rgba(255,255,255,.6));
      border: 1px solid var(--line);
      border-radius: 28px;
      padding: 30px;
      box-shadow: var(--shadow);
    }
    .parameter-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 12px;
      margin-top: 20px;
    }
    .parameter-item {
      background: rgba(121,200,63,.08);
      border: 1px solid rgba(121,200,63,.18);
      color: #365241;
      border-radius: 16px;
      padding: 14px 14px;
      font-size: 14px;
      font-weight: 700;
      line-height: 1.45;
    }

    .cta-panel {
      background: linear-gradient(135deg, rgba(34,49,41,.96), rgba(45,66,55,.9));
      color: white;
      border-radius: 30px;
      padding: 34px;
      box-shadow: var(--shadow);
      position: relative;
      overflow: hidden;
    }
    .cta-panel::after {
      content: "";
      position: absolute;
      inset: auto -80px -100px auto;
      width: 240px;
      height: 240px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(121,200,63,.3), transparent 68%);
      pointer-events: none;
    }
    .cta-panel h2,
    .cta-panel p,
    .cta-panel .contact-list,
    .cta-panel .cta-actions { position: relative; z-index: 2; }
    .cta-panel h2 {
      margin: 0 0 12px;
      font-size: clamp(28px, 4vw, 40px);
      line-height: 1.08;
      letter-spacing: -.02em;
    }
    .cta-panel p {
      margin: 0 0 18px;
      color: rgba(255,255,255,.82);
      line-height: 1.7;
      font-size: 16px;
      max-width: 760px;
    }
    .contact-list {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      margin: 16px 0 0;
    }
    .contact-chip {
      padding: 12px 16px;
      border-radius: 999px;
      background: rgba(255,255,255,.08);
      border: 1px solid rgba(255,255,255,.14);
      font-weight: 700;
    }
    .cta-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      margin-top: 22px;
    }
    .cta-button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 14px 18px;
      border-radius: 999px;
      font-weight: 800;
      transition: transform .2s ease, box-shadow .2s ease;
    }
    .cta-button.primary {
      background: linear-gradient(135deg, var(--brand), var(--brand-2));
      color: #fff;
      box-shadow: 0 16px 30px rgba(97,175,45,.28);
    }
    .cta-button.secondary {
      background: rgba(255,255,255,.1);
      color: #fff;
      border: 1px solid rgba(255,255,255,.18);
    }
    .cta-button:hover { transform: translateY(-2px); }

    @media (max-width: 980px) {
      .lab-hero-card,
      .lab-grid-2,
      .lab-process,
      .parameter-grid,
      .lab-stats {
        grid-template-columns: 1fr;
      }
      .lab-symbol {
        min-height: 260px;
      }
      .lab-floating-card.three {
        left: 10px;
      }
    }
    @media (max-width: 720px) {
      .lab-hero-card,
      .parameter-box,
      .cta-panel,
      .content-panel,
      .form-panel {
        padding: 24px;
      }
      .lab-hero p.lead {
        font-size: 16px;
      }
      .contact-list,
      .cta-actions,
      .lab-badges {
        flex-direction: column;
        align-items: stretch;
      }
      .lab-floating-card {
        position: static;
        margin-top: 10px;
      }
      .lab-symbol {
        display: grid;
        gap: 10px;
      }
    }
	.neubau-section {
      margin-bottom: 30px;
    }
    .neubau-section:last-child {
      margin-bottom: 0;
    }
    .content-panel, .info-box, .leistungen-box, .notice {
      margin-bottom: 0;
    }
    
    /* Spezifische Styles für die Neubau-Seite */
    .leistungen-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 30px;
      margin: 40px 0;
    }
    
    /* Karten mit aufklappbaren Texten */
    .leistung-card {
      background: rgba(255,255,255,.7);
      border-radius: 28px;
      border: 1px solid var(--line);
      box-shadow: var(--shadow);
      backdrop-filter: blur(5px);
      overflow: hidden;
      transition: all 0.3s ease;
    }
    .leistung-card:hover {
      transform: translateY(-5px);
      box-shadow: 0 20px 40px rgba(34,49,41,.15);
      border-color: var(--brand-2);
    }
    
    .leistung-header {
      padding: 35px 24px 20px 24px;
      cursor: pointer;
      display: flex;
      flex-direction: column;
      align-items: center;
      text-align: center;
      background: linear-gradient(180deg, rgba(255,255,255,.8), rgba(255,255,255,.5));
      transition: background 0.3s ease;
    }
    .leistung-header:hover {
      background: linear-gradient(180deg, rgba(121,200,63,.1), rgba(255,255,255,.7));
    }
    
    .leistung-header img {
      width: 180px;
      height: 180px;
      object-fit: contain;
      margin-bottom: 20px;
      filter: drop-shadow(0 15px 25px rgba(97,175,45,.3));
      transition: transform 0.3s ease;
    }
    .leistung-card.active .leistung-header img {
      transform: scale(1.1);
    }
    
    .leistung-header h4 {
      color: var(--brand-2);
      margin: 0 0 8px 0;
      font-size: 24px;
      font-weight: 700;
    }
    
    .toggle-indicator {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      margin-top: 12px;
      color: var(--brand-2);
      font-size: 15px;
      font-weight: 600;
    }
    .toggle-indicator .plus {
      font-size: 28px;
      line-height: 1;
      transition: transform 0.3s ease;
    }
    .leistung-card.active .toggle-indicator .plus {
      transform: rotate(45deg);
    }
    
    .leistung-content {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.6s ease;
      background: rgba(255,255,255,.5);
    }
    .leistung-card.active .leistung-content {
      max-height: 450px;
    }
    
    .leistung-text {
      padding: 0 28px 28px 28px;
    }
    .leistung-text p {
      font-size: 16px;
      line-height: 1.8;
      color: var(--ink-soft);
      margin: 0 0 18px 0;
    }
    .leistung-text ul {
      margin: 0 0 18px 0;
      padding-left: 24px;
    }
    .leistung-text li {
      font-size: 15px;
      line-height: 1.7;
      color: var(--ink-soft);
      margin-bottom: 8px;
    }
    .leistung-text li strong {
      color: var(--brand-2);
      font-weight: 600;
    }
    
    .anforderungen-list {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 15px;
      margin: 20px 0;
    }
    .anforderung-item {
      display: flex;
      align-items: center;
      gap: 12px;
      padding: 12px 15px;
      background: rgba(255,255,255,.5);
      border-radius: 16px;
      border: 1px solid var(--line);
      transition: all 0.2s ease;
    }
    .anforderung-item:hover {
      background: rgba(255,255,255,.8);
      border-color: var(--brand-2);
      transform: translateX(5px);
    }
    .anforderung-item .bullet {
      width: 32px;
      height: 32px;
      background: var(--brand-2);
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      color: white;
      font-weight: 700;
      font-size: 16px;
      flex-shrink: 0;
    }
    .anforderung-item span {
      color: var(--ink);
      font-weight: 500;
      font-size: 16px;
    }
    
    .highlight-box {
      background: linear-gradient(135deg, var(--brand-soft), white);
      border: 1px solid var(--brand-2);
      border-radius: 30px;
      padding: 40px;
      margin: 30px 0;
      text-align: center;
      box-shadow: var(--shadow);
    }
    .highlight-box h3 {
      color: var(--brand-2);
      font-size: 28px;
      margin: 0 0 15px 0;
    }
    .highlight-box p {
      font-size: 18px;
      color: var(--ink);
      margin-bottom: 25px;
    }
    .contact-button {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      background: linear-gradient(135deg, var(--brand), var(--brand-2));
      color: white;
      padding: 16px 36px;
      border-radius: 50px;
      font-weight: 700;
      font-size: 18px;
      border: none;
      cursor: pointer;
      transition: all 0.2s;
      text-decoration: none;
    }
    .contact-button:hover {
      transform: translateY(-3px);
      box-shadow: 0 15px 30px rgba(97,175,45,.4);
    }
    
    /* Slider-Styling */
    .neubau-slider {
      position: relative;
      width: 100%;
      height: 500px;
      border-radius: 30px;
      overflow: hidden;
      margin: 20px 0 30px;
      box-shadow: var(--shadow);
      border: 1px solid var(--line);
    }
    .slider-container {
      position: relative;
      width: 100%;
      height: 100%;
    }
    .slider-slide {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      opacity: 0;
      transition: opacity 0.8s ease;
      background-size: cover;
      background-position: center;
    }
    .slider-slide.active {
      opacity: 1;
    }
    .slider-dots {
      position: absolute;
      bottom: 30px;
      right: 30px;
      display: flex;
      gap: 12px;
      z-index: 10;
    }
    .slider-dot {
      width: 14px;
      height: 14px;
      border-radius: 50%;
      background: rgba(255,255,255,.5);
      border: 2px solid transparent;
      cursor: pointer;
      padding: 0;
      transition: all 0.3s ease;
    }
    .slider-dot:hover {
      background: rgba(255,255,255,.8);
      transform: scale(1.1);
    }
    .slider-dot.active {
      background: var(--brand-2);
      transform: scale(1.2);
      box-shadow: 0 0 20px var(--brand-2);
      border-color: rgba(255,255,255,.3);
    }
    
    /* Prozess-Schritte Styling */
    .prozess-card {
      background: linear-gradient(135deg, rgba(121,200,63,.05), white);
      border-radius: 24px;
      padding: 25px;
      border: 1px solid var(--line);
      box-shadow: var(--shadow);
      position: relative;
      transition: all 0.3s ease;
    }
    .prozess-card:hover {
      transform: translateY(-5px);
      border-color: var(--brand-2);
      box-shadow: 0 15px 30px rgba(97,175,45,.15);
    }
    .prozess-number {
      position: absolute;
      top: -15px;
      left: 20px;
      background: var(--brand-2);
      color: white;
      width: 40px;
      height: 40px;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      font-weight: 700;
      font-size: 20px;
      box-shadow: 0 5px 15px rgba(97,175,45,.3);
    }
    .fertig-badge {
      display: inline-block;
      background: linear-gradient(135deg, var(--brand), var(--brand-2));
      color: white;
      padding: 15px 40px;
      border-radius: 50px;
      font-weight: 700;
      font-size: 22px;
      box-shadow: 0 10px 25px rgba(97,175,45,.3);
    }
    
    @media (max-width: 840px) {
      .leistungen-grid {
        grid-template-columns: 1fr;
        gap: 20px;
      }
      .anforderungen-list {
        grid-template-columns: 1fr;
      }
      .neubau-slider {
        height: 350px;
      }
      .leistung-header img {
        width: 140px;
        height: 140px;
      }
    }
	.wartung-banner {
      width: 100%;
      border-radius: 30px;
      overflow: hidden;
      margin: 20px 0 30px;
      box-shadow: var(--shadow);
      border: 1px solid rgba(255,255,255,.25);
    }
    .wartung-banner img {
      width: 100%;
      height: auto;
      max-height: 200px;
      object-fit: cover;
      object-position: center 30%;
      display: block;
    }
    
    /* Kachel-Animationen */
    .service-card {
      background: rgba(255,255,255,.7);
      border-radius: 20px;
      padding: 24px;
      border: 1px solid var(--line);
      box-shadow: var(--shadow);
      transition: all 0.3s ease;
      position: relative;
      overflow: hidden;
      backdrop-filter: blur(5px);
    }
    .service-card:hover {
      transform: translateY(-5px);
      box-shadow: 0 20px 30px rgba(34,49,41,.15);
      border-color: var(--brand-2);
    }
    .service-card::after {
      content: "";
      position: absolute;
      top: -50%;
      left: -50%;
      width: 200%;
      height: 200%;
      background: radial-gradient(circle, rgba(255,255,255,.3) 0%, transparent 70%);
      opacity: 0;
      transition: opacity 0.5s ease;
      pointer-events: none;
    }
    .service-card:hover::after {
      opacity: 1;
      animation: shine 1.5s ease;
    }
    @keyframes shine {
      0% { transform: translate(-30%, -30%) rotate(0deg); }
      100% { transform: translate(30%, 30%) rotate(10deg); }
    }
    .card-header {
      display: flex;
      align-items: center;
      gap: 12px;
      margin-bottom: 20px;
      border-bottom: 1px solid rgba(121,200,63,.2);
      padding-bottom: 12px;
    }
    .card-number {
      background: var(--brand-2);
      color: white;
      width: 32px;
      height: 32px;
      border-radius: 50%;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-weight: 700;
      font-size: 16px;
      box-shadow: 0 4px 10px rgba(97,175,45,.3);
    }
    .card-title {
      color: var(--brand-2);
      margin: 0;
      font-size: 18px;
      font-weight: 700;
    }
    
    /* Service-Liste mit dauerhaftem Hover-Effekt */
    .service-list {
      list-style: none;
      padding: 0;
      margin: 0;
    }
    .service-list li {
      padding: 8px 0 8px 32px;
      position: relative;
      color: var(--ink-soft);
      font-size: 15px;
      line-height: 1.5;
      transition: color 0.3s ease;
      cursor: pointer;
    }
    .service-list li::before {
      content: "○";
      position: absolute;
      left: 0;
      color: var(--silver-deep);
      font-weight: 400;
      font-size: 20px;
      transition: all 0.3s ease;
    }
    
    /* Einmal gehoverte Elemente behalten das Häkchen */
    .service-list li.hovered {
      color: var(--ink);
    }
    .service-list li.hovered::before {
      content: "✓";
      color: var(--brand-2);
      font-weight: 700;
      font-size: 20px;
      transform: scale(1.1);
    }
    
    /* Sprechblase für Anfahrtspauschalen */
    .speech-bubble {
      position: relative;
      background: linear-gradient(135deg, var(--brand-soft), rgba(255,255,255,.8));
      border-radius: 24px 24px 24px 8px;
      padding: 20px 24px;
      margin: 30px 0 20px;
      border: 1px solid rgba(121,200,63,.3);
      box-shadow: var(--shadow);
      animation: float 3s ease-in-out infinite;
    }
    .speech-bubble::before {
      content: "";
      position: absolute;
      bottom: -12px;
      left: 30px;
      width: 24px;
      height: 24px;
      background: linear-gradient(135deg, var(--brand-soft), rgba(255,255,255,.8));
      border-right: 1px solid rgba(121,200,63,.3);
      border-bottom: 1px solid rgba(121,200,63,.3);
      transform: rotate(45deg);
      border-radius: 0 0 4px 0;
    }
    .speech-bubble p {
      margin: 0;
      font-size: 16px;
      color: var(--ink);
      font-weight: 500;
    }
    .speech-bubble strong {
      color: var(--brand-2);
      font-size: 18px;
    }
    @keyframes float {
      0% { transform: translateY(0px); }
      50% { transform: translateY(-5px); }
      100% { transform: translateY(0px); }
    }
    
    /* Anpassungen für mobile Ansicht */
    @media (max-width: 840px) {
      .service-grid {
        grid-template-columns: 1fr !important;
      }
      .wartung-banner img {
        max-height: 150px;
      }
    }
	.impressum-person {
  display: flex;
  align-items: center;
  gap: 30px;
  margin: 20px 0 30px 0;
}

.impressum-person img {
  width: 260px;
  max-width: 100%;
  height: auto;
  border-radius: 6px;
}

.impressum-person-text {
  font-size: 16px;
}
.page-hero-image{
margin-top:28px;
margin-bottom:36px;
}

.hero-image-card{
position:relative;
overflow:hidden;
border-radius:22px;
}

.hero-image-card img{
display:block;
width:100%;
height:320px;
object-fit:cover;
}

.hero-image-overlay{
position:absolute;
inset:0;
display:flex;
align-items:flex-end;
background:linear-gradient(to top, rgba(0,0,0,0.45), rgba(0,0,0,0.08));
}

.hero-image-text{
padding:32px;
color:white;
}

.impressum-flex{
display:flex;
align-items:flex-start;
gap:40px;
flex-wrap:wrap;
}

.impressum-text{
flex:1 1 420px;
}

.impressum-image{
flex:0 0 380px;
}

.impressum-image img{
width:100%;
height:auto;
border-radius:14px;
}

.two-col-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(160px,1fr));
  gap:26px;
}

@media (max-width:900px){

.hero-image-card img{
height:240px;
}

.impressum-image{
flex-basis:100%;
}

}
.impressum-hero{
  margin-top: 28px;
  margin-bottom: 22px;
}

.impressum-hero-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;

  background:linear-gradient(180deg, rgba(255,255,255,.88), rgba(255,255,255,.7));
  border:1px solid var(--line);
  border-radius:24px;
  padding:24px 34px;

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

.impressum-hero-text h1{
  margin:0 0 6px;
}

.impressum-hero-text p{
  margin:0;
  max-width:800px;
  color:var(--ink-soft);
}

.impressum-stempel{
  flex-shrink:0;
}

.impressum-stempel img{
  width:120px;
  height:auto;
  opacity:.9;
}

.sections .container{
  margin-bottom: 34px;
}

.impressum-grid{
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 30px;
}

.impressum-main-card,
.impressum-side-card,
.soft-card{
  background: rgba(248,251,246,0.78);
  border: 1px solid rgba(40,60,40,0.08);
  border-radius: 20px;
  padding: 26px;
}

.impressum-side-card h3{
  margin-top: 8px;
  margin-bottom: 14px;
}

.impressum-side-card p:last-child,
.impressum-main-card p:last-child,
.soft-card p:last-child{
  margin-bottom: 0;
}

.impressum-responsible{
  display: grid;
  grid-template-columns: 1fr 500px;
  gap: 40px;
  align-items: center;
}

.impressum-responsible-text{
  min-width: 0;
}

.impressum-responsible-image{
  display: flex;
  justify-content: flex-end;
}

.impressum-responsible-image img{
  width: 100%;
  max-width: 500px;
  height: auto;
  border-radius: 16px;
  display: block;
}

@media (max-width: 960px){
  .impressum-grid,
  .two-col-grid,
  .impressum-responsible{
    grid-template-columns: 1fr;
  }

  .impressum-responsible-image{
    justify-content: flex-start;
  }
}
.reviews-section {
  padding: 36px 0 70px;
}

.reviews-shell {
  background:
    radial-gradient(circle at top right, rgba(85, 146, 88, 0.08), transparent 28%),
    linear-gradient(180deg, rgba(255,255,255,0.96), rgba(247,250,247,0.98));
  border: 1px solid rgba(28, 74, 46, 0.08);
  border-radius: 28px;
  box-shadow: 0 18px 40px rgba(17, 36, 25, 0.08);
  padding: 34px;
  position: relative;
  overflow: hidden;
}

.reviews-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 26px;
}

.reviews-kicker {
  display: inline-block;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--brand-2);
  margin-bottom: 8px;
}

.reviews-head h2 {
  margin: 0 0 8px;
  font-size: clamp(1.9rem, 2.7vw, 2.6rem);
  line-height: 1.08;
}

.reviews-head p {
  margin: 0;
  color: var(--ink-soft);
}

.reviews-google-link {
  white-space: nowrap;
  text-decoration: none;
  font-weight: 700;
  color: var(--brand-2);
  background: rgba(85, 146, 88, 0.08);
  border: 1px solid rgba(85, 146, 88, 0.16);
  padding: 12px 18px;
  border-radius: 999px;
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.reviews-google-link:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(17, 36, 25, 0.08);
}

.reviews-summary {
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: 22px;
  align-items: center;
  margin-bottom: 26px;
  padding: 22px 24px;
  border-radius: 22px;
  background: rgba(255,255,255,0.74);
  border: 1px solid rgba(28, 74, 46, 0.08);
}

.reviews-summary-score {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

#reviewsRatingValue {
  font-size: 2.7rem;
  font-weight: 800;
  line-height: 1;
  color: var(--brand-2);
}

.reviews-stars {
  font-size: 1.25rem;
  letter-spacing: 0.14em;
  color: #f5b301;
}

#reviewsCountValue {
  color: var(--ink-soft);
}

.reviews-summary-note {
  color: var(--ink-soft);
  line-height: 1.6;
}

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

.review-card {
  background: rgba(255,255,255,0.94);
  border: 1px solid rgba(28, 74, 46, 0.08);
  border-radius: 22px;
  padding: 22px;
  box-shadow: 0 10px 24px rgba(17, 36, 25, 0.06);
  min-height: 240px;
  display: flex;
  flex-direction: column;
}

.review-card-top {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 14px;
}

.review-avatar {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  flex: 0 0 52px;
  display: grid;
  place-items: center;
  font-weight: 800;
  color: #fff;
  background: linear-gradient(135deg, var(--brand-2), #7ab37c);
}

.review-meta strong {
  display: block;
  margin-bottom: 2px;
  color: var(--ink);
}

.review-date {
  font-size: 0.9rem;
  color: var(--ink-soft);
}

.review-stars {
  margin: 2px 0 12px;
  color: #f5b301;
  letter-spacing: 0.14em;
}

.review-text {
  color: var(--ink);
  line-height: 1.7;
  margin: 0;
  flex: 1;
}

.review-source {
  margin-top: 18px;
  font-size: 0.88rem;
  color: var(--ink-soft);
}

.review-empty {
  grid-column: 1 / -1;
  text-align: center;
  color: var(--ink-soft);
  padding: 34px 20px;
  border-radius: 20px;
  background: rgba(255,255,255,0.78);
  border: 1px dashed rgba(28, 74, 46, 0.16);
}

.shimmer {
  position: relative;
  overflow: hidden;
  background: #eef3ef;
}

.shimmer::after {
  content: "";
  position: absolute;
  inset: 0;
  transform: translateX(-100%);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.8), transparent);
  animation: shimmerMove 1.5s infinite;
}

.shimmer-line {
  height: 12px;
  border-radius: 999px;
  margin-top: 10px;
}

.w-100 { width: 100%; }
.w-92 { width: 92%; }
.w-90 { width: 90%; }
.w-88 { width: 88%; }
.w-76 { width: 76%; }
.w-75 { width: 75%; }
.w-70 { width: 70%; }
.w-40 { width: 40%; }
.w-25 { width: 25%; }

@keyframes shimmerMove {
  100% { transform: translateX(100%); }
}

@media (max-width: 980px) {
  .reviews-grid {
    grid-template-columns: 1fr 1fr;
  }

  .reviews-summary {
    grid-template-columns: 1fr;
  }

  .reviews-head {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 680px) {
  .reviews-shell {
    padding: 24px 18px;
    border-radius: 22px;
  }

  .reviews-grid {
    grid-template-columns: 1fr;
  }
}
/* Schwebendes Badge RECHTS AUSSERHALB */
.floating-review-badge.fixed {
  position: fixed;
  right: 40px;
  top: 24px;
  z-index: 999;
  width: 220px;
  padding: 16px 18px;
  border-radius: 22px;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(121,200,63,.22);
  box-shadow: 0 18px 40px rgba(34,49,41,.18);
  backdrop-filter: blur(10px);
  text-align: center;
  transition: top 0.2s ease; /* weicher Übergang */
  will-change: top;
}

/* Sterne */
.floating-review-stars {
  font-size: 20px;
  letter-spacing: .18em;
  color: #f5b301;
  margin-bottom: 6px;
}

/* Score */
.floating-review-score {
  font-size: 26px;
  font-weight: 800;
  color: var(--brand-2);
}

/* Count */
.floating-review-count {
  margin-top: 4px;
  font-size: 13px;
  font-weight: 600;
  color: var(--ink-soft);
}

/* Animation */
@keyframes floatingReviewDrift {
  0%   { transform: translateY(0px); }
  50%  { transform: translateY(-10px); }
  100% { transform: translateY(0px); }
}

/* WICHTIG: auf kleineren Screens ausblenden */
@media (max-width: 1200px) {
  .floating-review-badge.fixed {
    display: none;
  }
}