/* CSS von Claude AI */
/* =====================================================
       BASIS & VARIABLEN
       ===================================================== */
    :root {
      --blau:		 #0069b4;
      --cyan:		 #17a6ca;
      --gruen:       #1a5c3a;
      --gruen-hell:  #2a7a50;
      --gruen-bg:    #eef5f1;
      --gruen-light: #d4e9dc;
      --grau-dunkel: #3d4a42;
      --grau:        #5d6b63;
      --grau-mittel: #9aaba2;
      --grau-hell:   #f0f4f2;
      --grau-rand:   #dde5e1;
      --text:        #1a1a1a;
      --text-mittel: #3d4a42;
      --text-leicht: #5d6b63;
      --radius-sm:   6px;
      --radius-md:   10px;
      --radius-lg:   16px;
      --schatten:    0 2px 16px rgba(26,92,58,0.08);
    }

    html { scroll-behavior: smooth; }

    /* Bootstrap-Container max-width Überschreibung */
    @media (min-width: 1240px) {
      .container { width: 1200px; }
    }

	header {
		min-height:120px;
	}
	.logo {
		margin-top:30px;
	}
	.logo img {
 	   width: 320px;
	}

    /* Kontakt-Button in der Nav */
    .navbar-nav > li.nav-cta-item > a {
      background: var(--blau) !important;
      color: #fff !important;
      border-radius: var(--radius-md) !important;
      padding: 10px 20px !important;
      font-weight: 500 !important;
      margin-left: 6px;
    }
    .navbar-nav > li.nav-cta-item > a:hover {
      background: var(--cyan) !important;
      color: #fff !important;
    }


    /* =====================================================
       HERO
       ===================================================== */
    .hero {
      /*background: linear-gradient(135deg, #0069b4 0%, #1a5c3a 45%, #1e7a4d 100%);*/
      background: linear-gradient(135deg, #0669b1 0%, #0669b1 40%, #17a6ca 60%, #17a6ca 100%);
      color: #fff;
      padding: 72px 0 64px;
      position: relative;
      overflow: hidden;
    }
    .hero-eyebrow {
    	color: rgba(255,255,255,0.82);
    }
    .hero h1, #startseite h1 {
      font-size: 40px;
      font-weight: 500;
      line-height: 1.2;
      color: #fff;
      margin: 0 0 22px;
    }
    @media (max-width: 991px) {
      .hero h1 { font-size: 30px; }
    }
    @media (max-width: 767px) {
      .hero { padding: 48px 0 52px; }
      .hero h1 { font-size: 26px; }
    }
    .hero-sub {
      font-size: 20px;
      line-height: 1.7;
      color: rgba(255,255,255,0.82);
      margin-bottom: 36px;
    }
    .hero-buttons {
      display: flex;
      gap: 12px;
      flex-wrap: wrap;
    }
    .btn-primary-ira {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: #fff;
      color: var(--gruen) !important;
      font-size: 16px;
      font-weight: 600;
      padding: 14px 26px;
      border-radius: var(--radius-md);
      text-decoration: none !important;
      transition: transform 0.15s, box-shadow 0.15s;
      line-height: 1;
    }
    .btn-primary-ira:hover {
      transform: translateY(-1px);
      box-shadow: 0 6px 20px rgba(0,0,0,0.2);
      color: var(--gruen) !important;
    }
    .btn-ghost-ira {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: rgba(255,255,255,0.12);
      color: #fff !important;
      font-size: 16px;
      font-weight: 500;
      padding: 14px 26px;
      border-radius: var(--radius-md);
      border: 1px solid rgba(255,255,255,0.5);
      text-decoration: none !important;
      transition: background 0.15s;
      line-height: 1;
    }
    .btn-ghost-ira:hover {
      background: rgba(255,255,255,0.2);
      color: #fff !important;
    }
    /* Hero-Statistik-Karte */
    .hero-karte {
      background: rgba(255,255,255,0.1);
      border: 1px solid rgba(255,255,255,0.2);
      border-radius: var(--radius-lg);
      padding: 28px 24px;
      height: 100%;
    }
    .hero-karte-titel {
      font-size: 12px;
      font-weight: 600;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: rgba(255,255,255,0.55);
      margin-bottom: 18px;
      /*font-family: 'Source Sans 3', sans-serif;*/
    }
    .hero-stat {
      display: flex;
      align-items: baseline;
      gap: 10px;
      padding: 14px 0;
      border-bottom: 1px solid rgba(255,255,255,0.12);
    }
    .hero-stat:last-child { border-bottom: none; padding-bottom: 0; }
    .hero-stat-zahl {
      font-size: 28px;
      font-weight: 600;
      color: #fff;
      white-space: nowrap;
      line-height: 1;
    }
    .hero-stat-text {
      font-size: 13px;
      color: rgba(255,255,255,0.72);
      line-height: 1.35;
      /*font-family: 'Source Sans 3', sans-serif;*/
    }

    /* =====================================================
       TRUST-BAR
       ===================================================== */
    .trust-bar {
      background: var(--grau-hell);
      border-bottom: 1px solid var(--grau-rand);
      padding: 18px 0;
    }
    .trust-bar-inner {
      display: grid;
	  grid-template-columns: auto auto auto auto;
      justify-content: space-between;
      align-items: center;
      grid-gap: 0;
    }
    .trust-item {
      display: flex;
      align-items: center;
      gap: 10px;
      padding-right: 28px;
      margin-right: 28px;
      border-right: 1px solid var(--grau-rand);
    }
    .trust-item:last-child {
      border-right: none;
      margin-right: 0;
      padding-right: 0;
    }
    .trust-zahl {
      /*font-family: 'Lora', Georgia, serif;*/
      font-size: 24px;
      font-weight: 600;
      color: var(--blau);
      line-height: 1;
    }
    .trust-label {
      font-size: 13px;
      color: var(--text-leicht);
      line-height: 1.3;
    }
    @media (max-width: 767px) {
	  .trust-bar-inner {
		grid-template-columns: auto auto;
		justify-content: center;
		grid-gap: 1rem;
	  }
      .trust-item {
        padding: 6px 16px 6px 0;
        margin-right: 16px;
		  border-right:none;
      }
      .trust-zahl { font-size: 18px; }
    }

    /* =====================================================
       ABSCHNITT-HEADER (wiederverwendbar)
       ===================================================== */
    .abschnitt-label {
      font-size: 11px;
      font-weight: 600;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: var(--grau-mittel);
      margin-bottom: 10px;
      /*font-family: 'Source Sans 3', sans-serif;*/
    }
    .abschnitt-titel {
      /*font-family: 'Lora', Georgia, serif;*/
      font-size: 30px!important;
      font-weight: 600;
      color: var(--text);
      margin-bottom: 8px;
    }
    @media (max-width: 767px) {
      .abschnitt-titel { font-size: 24px; }
    }
    .abschnitt-sub {
      font-size: 16px;
      color: var(--text-leicht);
      margin-bottom: 36px;
    }

    /* =====================================================
       ZIELGRUPPEN
       ===================================================== */
    .zielgruppen { padding: 40px 0 56px; }

    .zg-karte {
      border: 1px solid var(--grau-rand);
      border-radius: var(--radius-lg);
      padding: 16px 28px 32px 28px;
      height: 100%;
      display: flex;
      flex-direction: column;
      gap: 16px;
      transition: border-color 0.2s, box-shadow 0.2s;
    }
    .zg-karte:hover {
      border-color: var(--blau);
      box-shadow: var(--schatten);
    }
    .zg-icon {
      width: 48px;
      height: 48px;
      border-radius: 12px;
      background: var(--gruen-bg);
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
    }
    .zg-icon svg {
      width: 24px;
      height: 24px;
      stroke: var(--gruen);
      fill: none;
      stroke-width: 1.8;
      stroke-linecap: round;
      stroke-linejoin: round;
    }
    .zg-titel {
      /*font-family: 'Lora', Georgia, serif;*/
      font-size: 20px;
      font-weight: 600;
      color: var(--text);
      margin-bottom: 8px;
    }
    .zg-desc {
      font-size: 16px;
      color: var(--text-mittel);
      line-height: 1.65;
      flex: 1;
    }
	.zg-desc1 {
	  font-size: 16px;
      color: var(--text-mittel);
      line-height: 1.65;
      flex: 1;
	}
    .zg-link {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      font-size: 16px;
      font-weight: 600;
      color: var(--gruen);
      text-decoration: none;
      margin-top: auto;
    }
    .zg-link:hover { text-decoration: underline; color: var(--gruen-hell); }
    .zg-link svg {
      width: 15px; height: 15px;
      stroke: currentColor; fill: none;
      stroke-width: 2.2;
      stroke-linecap: round; stroke-linejoin: round;
      transition: transform 0.15s;
    }
    .zg-link:hover svg { transform: translateX(3px); }
    @media (max-width: 767px) {
      .zg-karte { margin-bottom: 20px; }
    }

    /* =====================================================
       LEISTUNGEN
       ===================================================== */
    .leistungen {
      background: var(--grau-hell);
      border-top: 1px solid var(--grau-rand);
      border-bottom: 1px solid var(--grau-rand);
      padding: 32px 0 64px 0;
    }
    .leistung-karte {
      background: #fff;
      border: 1px solid var(--grau-rand);
      border-radius: var(--radius-lg);
      padding: 16px 24px 28px 24px;
      height: 100%;
      transition: border-color 0.2s, transform 0.2s;
    }
    .leistung-karte:hover {
      border-color: var(--blau);
      transform: translateY(-2px);
    }
    .leistung-nr {
      font-size: 11px;
      font-weight: 700;
      letter-spacing: 0.1em;
      color: var(--gruen);
      margin-bottom: 14px;
    }
    .leistung-titel {
      font-size: 20px;
      font-weight: 600;
      color: var(--text);
      margin-bottom: 10px;
    }
    .leistung-desc {
      font-size: 16px;
      color: var(--text-leicht);
      line-height: 1.6;
      margin-bottom: 18px;
    }
    .leistung-mehr {
      font-size: 16px;
      font-weight: 600;
      color: var(--gruen);
    }
    .leistung-mehr:hover { text-decoration: underline; }
    @media (max-width: 767px) {
      .leistung-karte { margin-bottom: 16px; }
    }

/* =====================================================
       HEBEL
       ===================================================== */
	.einsparpotentiale-einleitung {
	  padding: 40px 0 10px 0;
	}
    .hebel {
      background: var(--grau-hell);
      border-top: 1px solid var(--grau-rand);
      border-bottom: 1px solid var(--grau-rand);
      padding: 32px 0 64px 0;
    }
	div.hebel {
      display: grid;
      grid-template-columns: 1fr 1fr 1fr;
      grid-gap: 2rem;
	}
	@media (max-width:1024px) {
		div.hebel {
      	grid-template-columns: 1fr 1fr;
      	grid-gap: 1.5rem;
		}
	}
	@media (max-width:600px) {
		div.hebel {
      	grid-template-columns: 1fr;
      	grid-gap: 1rem;
		}
	}
    .hebel-karte {
      background: #fff;
      border: 1px solid var(--grau-rand);
      border-radius: var(--radius-lg);
      padding: 16px 24px 28px 24px;
      height: 100%;
      transition: border-color 0.2s, transform 0.2s;
    }
    .hebel-karte:hover {
      border-color: var(--blau);
      transform: translateY(-2px);
    }
    .hebel-nr {
      font-size: 30px;
      font-weight: 700;
      color: var(--blau);
      margin-bottom: .5em;
	  text-align: center;
    }
    .hebel-nr span {
        display:inline-block;
        width:1.5em;
        height:1.5em;
        border: 1px solid var(--blau);
        border-radius: 50%;
    }
    .hebel-titel {
      font-size: 20px;
      font-weight: 600;
      color: var(--text);
      margin: 0.5em 0;
    }
    .hebel-desc {
      font-size: 16px;
      color: var(--text);
      line-height: 1.6;
      margin-bottom: 18px;
    }
    @media (max-width: 767px) {
      .leistung-karte { margin-bottom: 16px; }
    }

    /* =====================================================
       ÜBER UNS
       ===================================================== */
    .ueber-uns { padding: 64px 0; }

    .ueber-bild-wrap {
      display: flex;
      align-items: flex-start;
      gap: 20px;
      margin-bottom: 24px;
    }
    .ueber-bild-wrap img {
      width: 110px;
      height: auto;
      border-radius: var(--radius-md);
      flex-shrink: 0;
    }
    .ueber-person-name {
      font-size: 16px;
      font-weight: 600;
      color: var(--text);
      margin-bottom: 3px;
    }
    .ueber-person-rolle {
      font-size: 13px;
      color: var(--text-leicht);
      margin-bottom: 8px;
    }
    .ueber-person-tel {
      font-size: 15px;
      color: var(--gruen);
      font-weight: 500;
    }
    .ueber-text {
      font-size: 16px;
      color: var(--text-mittel);
      line-height: 1.75;
    }
    .ueber-mehr {
      font-size: 14px;
      font-weight: 600;
      color: var(--gruen);
      display: inline-block;
      margin-top: 4px;
    }
    .ueber-mehr:hover { text-decoration: underline; }

    .audio-wrap {
      margin-top: 28px;
      padding: 20px;
      background: var(--gruen-bg);
      border-radius: var(--radius-md);
      border-left: 3px solid var(--gruen);
    }
    .audio-label {
      font-size: 13px;
      font-weight: 600;
      color: var(--gruen);
      margin-bottom: 4px;
    }
    .audio-desc {
      font-size: 13px;
      color: var(--text-leicht);
      margin-bottom: 12px;
      line-height: 1.5;
    }
    .audio-wrap audio { width: 100%; }

    /* Vorteile-Box */
    .vorteile-box {
      background: var(--blau);
      color: #fff;
      border-radius: var(--radius-lg);
	  margin-top: 1.5rem;
      padding: 36px 32px;
      box-shadow: 0 0 30px #ffffff66;
    }
    .vorteile-label {
      font-size: 11px;
      font-weight: 600;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      color: rgba(255,255,255,0.6);
      margin-bottom: 10px;
      /*font-family: 'Source Sans 3', sans-serif;*/
    }
    .vorteile-titel {
      /*font-family: 'Lora', Georgia, serif;*/
      font-size: 22px;
      font-weight: 500;
      color: #fff !important;
      margin-bottom: 28px;
    }
    .vorteile-liste {
      list-style: none;
      padding: 0;
      margin: 0;
    }
    .vorteile-liste li {
      display: flex;
      align-items: flex-start;
      gap: 12px;
      font-size: 16px;
      color: rgba(255,255,255,0.9);
      line-height: 1.5;
      margin-bottom: 14px;
    }
    .vorteile-liste li:last-child { margin-bottom: 0; }
    .vorteile-check {
      flex-shrink: 0;
      width: 20px;
      height: 20px;
      background: rgba(255,255,255,0.15);
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      margin-top: 1px;
    }
    .vorteile-check svg {
      width: 11px; height: 11px;
      stroke: #fff; fill: none;
      stroke-width: 2.5;
      stroke-linecap: round; stroke-linejoin: round;
    }

    /* =====================================================
       MITGLIEDSCHAFTEN
       ===================================================== */
    .mitgliedschaften {
      border-top: 1px solid var(--grau-rand);
      padding: 48px 0;
    }
    .mitglied-item {
      display: flex;
      align-items: flex-start;
      gap: 16px;
      margin-bottom: 24px;
    }
    .mitglied-item img {
      width: 64px;
      height: auto;
      border-radius: var(--radius-sm);
      flex-shrink: 0;
    }
    .mitglied-text {
      font-size: 13px;
      color: var(--text-leicht);
      line-height: 1.5;
    }
    .mitglied-text a {
      font-weight: 600;
      font-size: 12px;
      color: var(--gruen);
      display: block;
      margin-top: 4px;
    }

    /* =====================================================
       CTA-BANNER
       ===================================================== */
    .cta-banner, #bottom {
      background: linear-gradient(135deg, #0669b1 0%, #0669b1 40%, #17a6ca 60%, #17a6ca 100%);
      padding: 56px 0;
		font-size:24px;
    }
    .cta-titel {
      font-size: 26px;
      font-weight: 600;
      color: #fff!important;
      margin-bottom: 8px;
    }
    .cta-sub {
      font-size: 15px;
      color: #fff;
      margin-bottom: 0;
    }
    .cta-buttons {
      display: flex;
      gap: 12px;
      flex-wrap: wrap;
      align-items: center;
      height: 100%;
      padding-top: 8px;
    }
    @media (min-width: 768px) {
      .cta-buttons {
        justify-content: flex-end;
        padding-top: 0;
      }
    }
	.btn {
	  font-size: 17px;	
	}
    .btn-cta-weiss {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: #fff;
      color: var(--gruen) !important;
      font-size: 16px;
      font-weight: 600;
      padding: 14px 24px;
      border-radius: var(--radius-md);
      text-decoration: none !important;
      transition: transform 0.15s;
      line-height: 1;
    }
    .btn-cta-weiss:hover { transform: translateY(-1px); }
    .btn-cta-outline {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: transparent;
      color: #fff !important;
      font-size: 16px;
      font-weight: 500;
      padding: 13px 24px;
      border-radius: var(--radius-md);
      border: 1px solid rgba(255,255,255,0.35);
      text-decoration: none !important;
      transition: background 0.15s;
      line-height: 1;
    }
    .btn-cta-outline:hover { background: rgba(255,255,255,0.1); color: #fff !important; }

    /* =====================================================
       FOOTER
       ===================================================== */
    /*footer {
      background: #fff;
      border-top: 1px solid var(--grau-rand);
      padding: 24px 0;
    }
    .footer-copy {
      font-size: 13px;
      color: var(--text-leicht);
      margin-bottom: 0;
      line-height: 2;
    }
    .footer-links {
      text-align: right;
    }
    .footer-links a {
      font-size: 13px;
      color: var(--text-leicht);
      margin-left: 20px;
      text-decoration: none;
    }
    .footer-links a:hover { color: var(--gruen); text-decoration: underline; }
    @media (max-width: 767px) {
      .footer-links { text-align: left; margin-top: 8px; }
      .footer-links a { margin-left: 0; margin-right: 16px; }
    }*/

    /* =====================================================
       ANIMATIONEN
       ===================================================== */
    @keyframes einblenden {
      from { opacity: 0; transform: translateY(16px); }
      to   { opacity: 1; transform: translateY(0); }
    }
    .hero-eyebrow { animation: einblenden 0.5s ease 0.05s both; }
    .hero h1      { animation: einblenden 0.5s ease 0.15s both; }
    .hero-sub     { animation: einblenden 0.5s ease 0.25s both; }
    .hero-buttons { animation: einblenden 0.5s ease 0.35s both; }
    .hero-karte   { animation: einblenden 0.6s ease 0.4s  both; }

    /* Abstand-Helfer */
    .mt-36 { margin-top: 36px; }
    .mb-0  { margin-bottom: 0 !important; }
