
    :root{
      --accent:#e73938; /* Startseite Rot */
      --max:1220px;
      --pad: clamp(18px, 3vw, 40px);
      --font: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
      --edge: clamp(24px, 6vw, 100px);

    }

    *{ box-sizing:border-box; }
    html,body{ min-height: 100%; }
    body{ margin:0; font-family:var(--font); background:#000; }

    /* ===== HERO (Full-bleed, 100vh) ===== */
    .hero{
      position: relative;
      min-height: 100vh;
      background: url("../Bilder/Topfoto EDE.jpg") center/cover no-repeat;
      overflow:visible;
      color:#fff;
      z-index: 0;
    }

    /* Overlay für Lesbarkeit (oben + links stärker) */
    .hero::before{
      content:"";
      position:absolute; inset:0;
      background:
  linear-gradient(90deg,
    rgba(0,0,0,.45) 0%,
    rgba(0,0,0,.18) 45%,
    rgba(0,0,0,.05) 75%,
    rgba(0,0,0,.03) 100%),
  linear-gradient(180deg,
    rgba(0,0,0,.35) 0%,
    rgba(0,0,0,.10) 40%,
    rgba(0,0,0,.22) 100%);

      pointer-events:none;
      z-index: 0;
    }

    .container{
      max-width: var(--max);
      margin: 0 auto;
      padding: 0 var(--pad);
      position: relative;
      z-index: 2;
    }

    /* ===== HEADER (groß, Linkliste, fetter Unterstrich) ===== */
   
/* ===== HEADER – BASIS (Hero-Zustand) ===== */
.site-header{
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  background: transparent;
  color: rgba(255,255,255,.92);
  z-index: 10;

  transition: background 0.3s ease, box-shadow 0.3s ease;
}


    .topbar{
      display:flex;
      align-items:center;
      justify-content: space-between;
      gap: 22px;
      padding: 26px var(--pad);
    }

    .brand{
      display:flex;
      align-items:center;
      gap:14px;
      text-decoration:none;
    }
   .brand img{ height: 70px; }
@media (max-width: 980px){
  .brand img{ height: 54px; }
}


    nav{
      display:flex;
      gap: 34px;
      align-items:flex-end;
      font-weight: 600;
      letter-spacing: .15px;

      text-transform: uppercase;
      font-size: 18px; /* größer */
    }

    .nav-home a{
      color: inherit;
      text-decoration:none;
      padding: 10px 0;
      border-bottom: 10px solid transparent; /* Platz für Balken */
      text-shadow: 0 2px 20px rgba(0,0,0,.35);
    }
   
    nav a:hover{
  border-bottom-color: var(--accent);   /* Hover zeigt Balken */
  opacity: 1;
}

    /* Aktiver Menüpunkt (wie auf eurer FL Seite: dicker Balken) */
    nav a.active{
      border-bottom-color: var(--accent);
    }

    /* Mobile */
    .burger{
      display:none;
      background:transparent;
      border:0;
      color:#fff;
      font-weight:800;
      letter-spacing:.6px;
      text-transform:uppercase;
      font-size:16px;
      text-shadow: 0 2px 20px rgba(0,0,0,.35);
    }

    .mobile-nav{
    position: fixed;
    inset: 0;
    background: #fff;
    z-index: 3000;
    display: none; /* wird per JS geöffnet */
    }

    .mobile-nav.open{
    display:block;
    }

    /* ======================================================
   MOBILE NAV – CLEAN & FINAL
   ====================================================== */

.mobile-nav-inner{
  display: flex;
  flex-direction: column;
  padding: 0;
  margin: 0;
}

/* Kopfzeile im Overlay */
.mobile-logo{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 18px;
  background: #fff;
  position: sticky;
  top: 0;
  z-index: 10;
}

.mobile-logo img{
  height: 48px;
  width: auto;
}

.mobile-nav-close{
  font-size: 26px;
  font-weight: 900;
  color: #000;
  background: none;
  border: none;
  cursor: pointer;
}

/* Schwarze Balken */
.mobile-nav-inner > a:not(.mobile-logo){
  display: block;
  background: #000;
  color: #fff;

  text-align: center;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .5px;
  text-transform: uppercase;
  text-decoration: none;

  padding: 10px 16px;
  margin: 3px 18px;
}

/* Desktop */
@media (min-width: 981px){
  .mobile-nav{ display: none; }
}

/* Mobile Header */
@media (max-width: 980px){
  nav{ display:none; }
  .burger{
    display:block;
    font-size:16px;
    font-weight:800;
    padding:8px 10px;
  }
  .brand img{ height:42px; }
}






  /* ===== HEADER – SCROLL STATE ===== */
.site-header.is-scrolled{
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  background: #fff
  box-shadow: 0 8px 30px rgba(0,0,0,0.08);
  z-index: 2000;
  color: #111;
}


/* Farben im Scroll */
.site-header.is-scrolled .nav-home a{
  color: #111!important;
  text-shadow: none;
}

.site-header.is-scrolled .burger{
  color: #111;
  text-shadow: none;
}





    /* ===== HERO CONTENT ===== */
    .hero-content{
      min-height: 100vh;
      display:flex;
      align-items:flex-end;
      padding-bottom: clamp(40px, 8vh, 90px);
    }

    .hero-left{
      max-width: 820px;
    }

    .eyebrow{
      display:flex;
      align-items:center;
      gap:12px;
      font-weight: 900;
      letter-spacing: .9px;
      text-transform: uppercase;
      font-size:14px;
      color: rgba(255,255,255,.85);
      margin-bottom: -60px;
      line-height: 1.4;


    }
    .sq{ width:10px; height:10px; background: var(--accent); }

    /* ===== HEADLINE: Balken pro Zeile + Lücke dazwischen ===== */
    .headline{
      margin:0 0 18px 0;
      font-weight: 800;
      letter-spacing: -2px;
      line-height: .80;
      font-size: clamp(46px, 6.4vw, 82px);
      margin-top: 90px;
      text-transform: uppercase;
    }

    /* Rot passt sich der Zeilenbreite an – darf bewusst „satt“ sein */
    .hl{
      display:inline-block;
      background: var(--accent);
      color: #111;
      padding: 10px 18px;  /* kontrolliert breiter als Schrift */
      margin: 0 0 12px 0;  /* sichtbare Lücke zwischen den Zeilen */
    }

    .subline{
      margin: 0 0 22px 0;
      font-size: 19px;
      line-height: 1.55;
      color: rgba(255,255,255,.88);
      max-width: 62ch;
      text-shadow: 0 2px 18px rgba(0,0,0,.30);
    }

    .hero-actions{
      display:flex;
      gap:12px;
      flex-wrap:wrap;
      margin-bottom: 18px;
    }
    

   .btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 14px 20px;
  border: 2px solid rgba(255,255,255,.35);
  color:#fff;
  background: transparent;
  font-weight: 900;
  letter-spacing: .2px;
  text-decoration:none;
}
.btn:hover{
  border-color: rgba(255,255,255,.65);
}


   .btn.primary{
  border-color: transparent;
  background: var(--accent);
  color:#0b0b0b;
}


    .micro{
      font-size: 15px;
      color: rgba(255,255,255);
    }
    .micro a{ color: rgba(255,255,255,.92); font-weight:900; text-decoration:none; }

  /* Header + Hero sollen NICHT im 1220px-Zentrum hängen */
.hero .container,
header .container{
  max-width: none;
  margin: 0;
  padding-left: var(--edge);
  padding-right: var(--edge);
}

/* Startseite: keine Active-Markierung nötig, da Logo = Home */
.nav-home a.active{ border-bottom-color: transparent; }

@media (max-width: 480px){

  .hero-content{
   align-items: flex-start;
   min-height: 100svh;
   padding-top: 55vh;
   padding-bottom: 48px;   /* etwas ruhiger unten */
  }


  .eyebrow{
   font-size: 12px;
   margin-bottom: 8px;
  }


  .headline{
    font-size: 28px;        /* vorher 36–46 → JETZT korrekt */
    line-height: .95;       /* entspannter, weniger Druck */
    letter-spacing: -0.6px;
    margin-top: 32px;
  }

  .hl{
    padding: 3px 6px;      /* Balken NICHT dominanter als Text */
    margin-bottom: 8px;
  }

  .subline{
    margin-top: 200px;
    font-size: 16px;
    line-height: 1.3;
    max-width: 30ch;
  }

  .hero-actions{
    margin-top: auto; 
    margin-bottom: 48px;
  }
   .micro{
    font-size: 13px;
    opacity: .9;
    margin-bottom: 20px;
  }
}

@media (max-width: 980px) {
  .eyebrow { display: none; }
  .subline { display: none; }
  .micro { display: none; }

  .subline-mobile {
    display: block;
    font-size: 17px;
    color: rgba(255,255,255,.88);
    margin-top: 40vh;
    line-height: 1.4;
    background: rgba(0,0,0,0.45);
    padding: 6px 10px;
  }
}

@media (min-width: 981px) {
  .subline-mobile { display: none; }
}

@media (min-width: 768px) and (max-width: 980px) {
  .hero-content {
    align-items: flex-start;
    padding-top: 15vh !important;
  }
}

@media (min-width: 981px) and (max-width: 1100px) {
  .hero-content {
    align-items: flex-start;
    padding-top: 60vh !important;
  }
}

/* ===== TRUST / VERTRAUENSANKER ===== */

.trust{
  background: #fff;
  color: #111;
  padding: clamp(80px, 12vh, 140px) 0;
}

.trust-inner {
  max-width: 760px;
  padding-left: 0;
  margin-left: 0;
}

.trust-headline {
  display: block;
  font-size: clamp(32px, 5vw, 64px);
  font-weight: 900;
  line-height: 1.1;
  letter-spacing: -1px;
  margin: 0 0 48px 0;
}

.trust-headline span {
  background: #e73938;
  color: #111;
  padding: 4px 4px 4px 4px;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  display: inline;
  line-height: 1.7;
}


.trust-text p{
  font-size: clamp(16px, 1.6vw, 20px);
  line-height: 1.75;
  margin: 0 0 18px 0;
}

.trust-points{
  list-style: none;
  padding: 0;
  margin: 28px 0;
}

.trust-points li{
  font-size: 17px;
  font-weight: 600;
  margin-bottom: 12px;
  position: relative;
  padding-left: 22px;
}


.trust-points li::before{
  content: "—";
  position: absolute;
  left: 0;
  color: var(--accent);
}


.trust-actions{
  margin-top: 32px;
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}

.trust-actions .link{
  display: inline-block;
  padding: 12px 22px;
  border: 2px solid #000;
  color: #000;
  text-decoration: none;
  font-weight: 700;
  border-radius: 6px;
  transition: background .2s ease, color .2s ease, border-color .2s ease;
}

.trust-actions .link:hover{
  background: #e53935;   /* EDE-Rot */
  color: #fff;
  border-color: #e53935;
}


/* ===== RESONANCE / PROBLEM-RAUM ===== */

.resonance{
  background: #fff;
  color: #111;
  padding: clamp(80px, 12vh, 140px) 0;
  margin-top: -80px; /* zieht Sektion 3 näher an Sektion 2 */
}



.resonance-inner{
  max-width: 760px;
  margin: 0 auto;
  text-align: left;
}


.resonance-headline{
  display: block;
  font-size: clamp(32px, 5vw, 64px);
  font-weight: 900;
  line-height: 1.1;
  letter-spacing: -1px;
  margin: 0 0 48px 0;
}

.resonance-headline span {
  background: #e73938;
  color: #111;
  padding: 4px 4px 4px 4px;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  display: inline;
  line-height: 1.7;
}


.resonance-text p{
 font-size: clamp(16px, 1.6vw, 20px);
  line-height: 1.75;
  margin: 0 0 18px 0;
}


/* ===== SOLUTION / WAS EDE ANDERS MACHT ===== */

.solution {
  background: var(--accent);
  color: #0b0b0b;
  padding: clamp(64px, 8vw, 120px) var(--edge);
}

.solution-head {
  margin-bottom: clamp(48px, 6vw, 80px);
}

.solution-headline {
  display: block;
  font-size: clamp(32px, 5vw, 64px);
  font-weight: 900;
  line-height: 1.1;
  letter-spacing: -1px;
  margin: 0;
}

.solution-headline span {
  background: #fff;
  color: #0b0b0b;
  padding: 10px 18px;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  display: inline;
  line-height: 1.7;
}

.solution-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
}

.solution-item {
  background: #fff;
  padding: clamp(32px, 4vw, 52px) clamp(28px, 3.5vw, 44px);
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.solution-item h3 {
  font-size: clamp(20px, 2vw, 26px);
  font-weight: 900;
  margin: 0;
  letter-spacing: -.02em;
  color: #111;
}

.solution-item p {
  font-size: clamp(16px, 1.6vw, 20px);
  line-height: 1.75;
  color: #444;
  margin: 0;
}

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

/* ===== REASONS / 6 GUTE GRÜNDE ===== */

.reasons {
  background: var(--accent);
  padding: clamp(64px, 8vw, 120px) var(--edge);
}

.reasons-head {
  margin-bottom: clamp(48px, 6vw, 80px);
}

.reasons-headline {
  display: block;
  font-size: clamp(32px, 5vw, 64px);
  font-weight: 900;
  line-height: 1.1;
  letter-spacing: -1px;
  margin: 0;
  white-space: nowrap;
}

.reasons-headline span {
  background: #fff;
  color: #0b0b0b;
  padding: 10px 18px;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  display: inline;
  line-height: 1.7;
}

.reasons-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
}

.reason-card {
  background: #fff;
  color: #111;
  padding: clamp(32px, 4vw, 52px) clamp(28px, 3.5vw, 44px);
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.reason-icon {
  width: clamp(40px, 4vw, 56px);
  height: auto;
  display: block;
}

.reason-card h3 {
  font-size: clamp(19px, 2vw, 24px);
  font-weight: 900;
  margin: 0;
  letter-spacing: -.02em;
  color: #111;
}

.reason-card p {
  font-size: clamp(16px, 1.6vw, 20px);
  line-height: 1.75;
  color: #444;
  margin: 0;
}

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

  .reasons-headline {
    white-space: normal;
  }
}

@media (min-width: 981px) {
  .reasons-head {
    display: flex;
    justify-content: flex-end;
  }
}

/* ===============================
   OFFERS – DREI ANGEBOTE
================================ */

.offers {
  background: #0b0b0b;
  padding: 120px 0;
}

/* Head */

.offers-head {
  max-width: 100%;
  margin-bottom: 72px;
}

.section-sub {
  color: #fff;
  max-width: 100%;
  font-size: clamp(28px, 3.5vw, 48px);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -.5px;
  white-space: nowrap;
  margin-top: clamp(16px, 2vw, 28px);
}


/* GRID – kontrollierte Breite */
.offers-grid {
  max-width: 1400px;          /* ← entscheidend */
  margin: 0 auto;
  padding: 0 64px;            /* ← klare, schmale Ränder */
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 48px;
}

/* CARD */
.offer-card {
  color: #ffffff;
}

/* IMAGE */
.offer-image {
  position: relative;
  margin-bottom: 24px;
}

.offer-image img {
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: 16 / 10;      /* ← breiter, weniger hoch */
  object-fit: cover;
}

/* TITLE IM BILD */
.offer-title {
  position: absolute;
  bottom: 16px;
  left: 16px;
}

/* TEXT */
.offer-body p {
  margin-bottom: 12px;
  color: #e0e0e0;
  font-size: clamp(16px, 1.6vw, 20px);
  line-height: 1.75;
}

.offer-link {
  color: #ffffff;
  font-weight: 700;
  text-decoration: none;
}

/* RESPONSIVE */
@media (max-width: 1000px) {
  .offers-grid {
    grid-template-columns: 1fr;
    padding: 0 32px;
  }
}

@media (max-width: 860px) {
  .section-sub {
    font-size: clamp(22px, 5vw, 32px);
    white-space: normal;
  }
}

@media (max-width: 1180px) and (min-width: 861px) {
  .section-sub {
    font-size: clamp(20px, 2.8vw, 36px);
    white-space: normal;
  }
}
/* =================================
   FORCE OFFERS SECTION LAYOUT
================================= */

.offers {
  background: #0b0b0b;
  width: 100vw;
  max-width: none;
  margin-left: calc(50% - 50vw);
  padding: 120px 0;
}

/* HEAD */
.offers-head {
  max-width: 1200px;
  margin: 0 auto 80px;
  padding: 0 80px;
}

.section-title {
  display: block;
  font-size: clamp(32px, 5vw, 64px);
  font-weight: 900;
  line-height: 1.1;
  letter-spacing: -1px;
  margin: 0 0 24px 0;
}

.section-title span {
  background: #ffffff;
  color: #0b0b0b;
  padding: 4px 6px 4px 6px;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  display: inline;
  line-height: 1.7;
}

.section-sub {
  color: #d0d0d0;
  max-width: 520px;
}

/* GRID – JETZT WIRKLICH BREIT */
.offers-grid {
  width: 100%;
  max-width: none;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 48px;
  padding: 0 80px;   /* ← DEINE RÄNDER */
  box-sizing: border-box;
}

/* CARD */
.offer-card {
  color: #fff;
}

/* IMAGE – Sektion 5: Drei Angebote */
.offer-image img {
  width: 100%;
  height: 100%;
  aspect-ratio: 4 / 5;   /* ← höher, ruhiger, wertiger */
  object-fit: cover;
  display: block;
}


/* TITLE IM BILD */
.offer-title {
  position: absolute;
  bottom: 90px;
  left: 30px;
}

/* RESPONSIVE */
@media (max-width: 1100px) {
  .offers-grid {
    grid-template-columns: 1fr;
    padding: 0 32px;
  }

  .offers-head {
    padding: 0 32px;
  }
}

/* TABLET: offer-title größer */
@media (min-width: 768px) and (max-width: 1100px) {
  .offers .offer-title .title-bar {
    font-size: 62px; !important;
    padding: 8px 12px;
  }
  
  .offers .offer-title {
    bottom: 150px;
  }
}

/* MOBILE: offer-title kleiner */
@media (max-width: 767px) {
  .offers .offer-title .title-bar {
    font-size: 22px;
    padding: 6px 10px;
  }
  
  .offers .offer-title {
    bottom: 40px;
  }
}

/* FORCE HEADLINE VISIBILITY */

.offers-head,
.offers-head * {
  position: relative;
  z-index: 10;
}

.offers .section-title {
  color: #000;
}

/* SEKTIONSÜBERSCHRIFT */
.section-title .title-bar{
  font-size: 40px;
  font-weight: 800;
  padding: 14px 24px;
}

/* ANGEBOTS-TITEL AUF BILDERN */
.offers .title-bar {
  background: #ffffff;
  color: #000000;
  display: inline-block;
  padding: 8px 14px;
  font-size: 24px;
  font-weight: 800;
}

.offers .section-sub {
  color: #cfcfcf;
}

/* ===============================
   TITLE-BAR – ENDGÜLTIGE STEUERUNG
   =============================== */

/* GROSSE SEKTIONSÜBERSCHRIFT */
.offers .section-title .title-bar{
  font-size: 40px;
  padding: 14px 26px;
  font-weight: 800;
}

/* KLEINE TITEL AUF DEN BILDERN */
.offers .offer-title .title-bar{
  font-size: clamp(22px, 3.5vw, 40px);
  padding: 8px 12px;
  font-weight: 800;
}

/* === FIX: Offer-Titel dürfen nicht über Bildrand hinausragen === */
.offers .offer-title{
  right: 16px;          /* begrenzt nach rechts */
  max-width: calc(100% - 32px);
}

.offers .offer-title .title-bar{
  max-width: 100%;
  white-space: normal; /* erlaubt Umbruch statt Überlauf */
}


/* =========================================
   SEKTION 5 – ANGEBOTE | BUTTONS
   ========================================= */

.offers .offer-link{
  display: inline-block;
  margin-top: 18px;

  padding: 12px 22px;
  border: 2px solid #ffffff;
  border-radius: 6px;

  background: transparent;
  color: #ffffff;

  font-size: clamp(16px, 1.6vw, 20px);
  font-weight: 700;
  text-decoration: none;

  transition: 
    background-color 0.25s ease,
    color 0.25s ease,
    border-color 0.25s ease;
}

/* Hover */
.offers .offer-link:hover{
  background-color: #e53935;   /* EDE-Rot */
  border-color: #e53935;
  color: #ffffff;
   transform: translateY(-2px);
}

/* ===== SEK 6 – SPREEWALD ===== */

.location-hero{
  background: #fff;
  color: #111;
}

.location-image{
  position: relative;
  height: 100vh;
  min-height: 680px;
  background: url("../Bilder/spreewald.jpg") center / cover no-repeat;
}

.location-overlay{
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  text-align: center;

  padding-top: clamp(88px, 12vh, 160px);


  background: rgba(0,0,0,.30);
  color: #fff;
}


.location-eyebrow {
  font-size: 20px;
  letter-spacing: .2em;
  font-weight: 600;
  margin: 0 24px 8px;
  background: rgba(0,0,0,0.35);
  padding: 4px 12px;
  display: inline-block;
}

.location-headline {
 font-size: clamp(32px, 5vw, 64px);
  font-weight: 900;
  line-height: 1.1;
  letter-spacing: -1px;
  margin: 0 0 8px 0;
  white-space: nowrap;
}

.location-headline span {
  background: rgba(0,0,0,0.35);
  padding: 4px 12px;
  display: inline;
  line-height: 1.7;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

.location-subline {
  font-size: 22px;
  font-weight: 600;
  margin: 0 24px;
}

.location-subline span {
  background: rgba(0,0,0,0.35);
  padding: 4px 12px;
  display: inline;
  line-height: 1.7;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

.location-text{
  padding-top: 80px;
  padding-bottom: clamp(120px, 16vh, 200px);
  font-size: clamp(20px, 2.2vw, 26px);
  line-height: 1.65;
  color: #111;
}

.location-text strong{
  font-weight: 700; /* nicht 800 */
}

@media (max-width: 980px) {
  .location-headline {
    white-space: normal;
    font-size: clamp(32px, 8vw, 48px);
  }
}

/* ===== SEKTION 7 – SO ARBEITEN WIR ===== */

.work{
  background: #fff;
  padding: clamp(40px, 7vh, 80px) 0;
  overflow: hidden;
}

/* Headline */
.work-headline{
  margin-bottom: clamp(56px, 9vh, 96px);
}

.work-headline .title-bar{
  display: inline-block;
  background: #e73938;
  color: #111;
  padding: 6px 12px;
  font-size: clamp(32px, 5vw, 64px);
  font-weight: 900;
  line-height: 1.1;
  letter-spacing: -1px;
}

.work-intro{
  max-width: 760px;
  margin: 32px 0 96px;   /* Abstand unter H2, vor Grid */
  font-size: clamp(20px, 2.2vw, 26px);
  line-height: 1.6;
  color: #111;
}


/* Grid – breit, ruhig, auf H2-Achse */
.work-grid {
  width: 100%;
  max-width: 1320px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 80px 120px;
}


/* Kachel */
.work-item{
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

/* Icon */
.work-icon{
  width: 116px;
  height: 116px;
  margin-bottom: 28px;
}

/* Zwischenüberschrift */
.work-item h3{
  font-size: 30px;
  font-weight: 800;
  margin-bottom: 18px;
}

/* Text */
.work-item p {
  font-size: clamp(16px, 1.6vw, 20px);
  line-height: 1.75;
  max-width: 100%;
}

/* Abschlusssatz (falls genutzt) */
.work-note{
  margin: clamp(64px, 9vh, 96px) auto 0;
  max-width: 780px;
  font-size: 18px;
  line-height: 1.65;
  text-align: center;
}

/* Responsive */
@media (max-width: 900px){
  .work-grid{
    grid-template-columns: 1fr;
    gap: 64px;
  }

  .work-icon{
    width: 80px;
    height: 80px;
  }

  .work-item h3{
    font-size: 26px;
  }

    .work-item {        /* NEU */
    padding: 0 24px;
  }
}

@media (max-width: 1100px) {
  .work-grid {
    margin-left: 0;
    width: 100%;
    max-width: 100%;
    gap: 48px 24px;
    padding: 0 var(--pad);
    box-sizing: border-box;
  }
}

@media (min-width: 1200px) {
  .work-grid {
    margin-left: clamp(0px, 15vw, 280px);
    max-width: 1150px;
  }
}

/* ===== SEKTION 8 – PROOF / ZAHLEN ===== */

.proof{
  background: #e73938;
  padding: clamp(40px, 7vh, 80px) 0;
}


/* Headline */
.proof-headline{
  margin-bottom: 24px;
}

.proof-headline{
  display: inline-block;
  background: #fff;
  color: #111;
  padding: 6px 12px;
  font-size: clamp(32px, 5vw, 64px);
  font-weight: 900;
  line-height: 1.1;
  letter-spacing: -1px;
}

.proof-intro{
  max-width: 760px;
  margin: 32px 0 96px;   /* Abstand unter H2, vor Grid */
  font-size: clamp(20px, 2.2vw, 26px);
  line-height: 1.6;
  color: #111;
}


/* Grid */
.proof-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 25px;
  width: calc(100% - clamp(48px, 8vw, 200px));
  margin: 0 auto;
}


.proof-item {
  background: #fff;
  padding: clamp(32px, 4vw, 52px);
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.proof-number {
  display: block;
  font-size: clamp(48px, 6vw, 80px);
  font-weight: 900;
  color: #111;
  letter-spacing: -3px;
  line-height: 1;
}

.proof-item p {
  font-size: clamp(16px, 1.6vw, 20px);
  line-height: 1.75;
  color: #111;
  margin: 0;
}


@media (max-width: 860px) {
  .proof-grid {
    grid-template-columns: 1fr;
    width: calc(100% - clamp(32px, 6vw, 80px));
  }

  .proof-item:last-child {
    grid-column: 1;
  }
}

@media (max-width: 1180px) and (min-width: 861px) {
  .proof-grid {
    grid-template-columns: repeat(2, 1fr);
    width: calc(100% - clamp(32px, 6vw, 80px));
  }

  .proof-item:nth-child(3) {
    grid-column: 1 / -1;
  }
}

/* ===== SEKTION 9 – KONTAKT ===== */

.contact-final{
  background: #fff;
  padding: clamp(96px, 14vh, 160px) 0 clamp(96px, 14vh, 160px);
}

/* Headline */
.contact-headline{
  margin-bottom: clamp(56px, 9vh, 96px);
}

.contact-headline .title-bar{
  display: inline-block;
  background: #e73938;
  color: #111;
 padding: 6px 12px;
  font-size: clamp(32px, 5vw, 64px);
  font-weight: 900;
  line-height: 1.1;
  letter-spacing: -1px;
}

/* Layout */
.contact-layout{
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: clamp(80px, 12vw, 160px);
  align-items: start;
}

/* Text */
.contact-claim{
  font-size: clamp(30px, 3.8vw, 38px);
  font-weight: 900;
  line-height: 1.25;
  margin: 0 0 24px;
}

.contact-intro{
  max-width: 760px;
  margin: 32px 0 64px;   /* exakt wie Sek 7 & 8 */
  font-size: 19px;
  line-height: 1.6;
  color: #111;
}


/* Buttons rechts */
.contact-actions{
  display: flex;
  flex-direction: column;
  gap: 18px;
  margin-top: 6px;
}

/* Button-Style wie Sek 7 */
.contact-btn{
  display: inline-block;
  padding: 14px 26px;
  border: 2px solid #000;
  color: #000;
  text-decoration: none;
  font-size: 18px;
  font-weight: 800;
  border-radius: 6px;
  transition: background .2s ease, color .2s ease, border-color .2s ease;
  width: fit-content;
}

.contact-btn:hover{
  background: #e73938;
  color: #fff;
  border-color: #e73938;
}

/* Letzter CTA leicht priorisiert */
.contact-btn.primary{
  margin-top: 10px;
}

/* Responsive */
@media (max-width: 900px){
  .contact-layout{
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .contact-actions{
    margin-top: 0;
  }
}



/* ===== FOOTER – EDE ===== */
.ede-footer{
  background:#fff;
  margin-top: 0;
}

/* ===== FOOTER TOP – FOLLOW ===== */
.ede-footer__top{
  padding: clamp(56px, 9vh, 96px) 0;
}

.ede-footer__headline{
  font-size: clamp(26px, 3.2vw, 40px);
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -0.02em;
  max-width: 980px;
  margin: 0 0 36px;
  color:#111;
}

.ede-footer__icons{
  display: flex;
  align-items: center;
  gap: clamp(28px, 4vw, 56px);
}

.ede-footer__icon{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
}

.ede-footer__icon img{
  width: 56px;
  height: 56px;
  opacity: 0.75; /* ruhig, wie Intention */
}

.ede-footer__icon:hover img{
  opacity: 1;
}

/* ===== FOOTER BAR – SPLIT (2 SPALTEN) ===== */
.ede-footer__bar{
  width: 100%;
}

.ede-footer__bar-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 86px;
}

/* LEFT – EDE ROT */
.ede-footer__bar-left{
  background: #e73938;
  display:flex;
  align-items:center;
}

.ede-footer__bar-left-inner{
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding-left: clamp(24px, 5vw, 72px);
  padding-right: clamp(24px, 5vw, 72px);
  display: flex;
  align-items: center;
  gap: 18px;
  justify-content: flex-start;
}



/* RIGHT – DUNKEL/ANTHRAZIT */
.ede-footer__bar-right{
  background: #4b4b4b; /* Grau */
  display:flex;
  align-items:center;
}

.ede-footer__bar-right-inner {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 clamp(32px, 6vw, 120px);
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.ede-footer__bar-right-inner img {
  width: 36px;
  height: 36px;
  opacity: 0.95;
  filter: brightness(0)invert(1);
}

/* ===== FOOTER BAR – LINK BALKEN (HOVER) ===== */
.ede-footer__bar-link{
  position: relative;
  text-decoration: none;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: #111;
  padding-bottom: 10px; /* Raum für Balken */
  white-space: nowrap;
}

/* Balken – initial unsichtbar */
.ede-footer__bar-link::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:100%;
  height:4px; /* halb so dick wie Header */
  opacity:0;
  transition: opacity .2s ease;
}

/* HOVER – WEISSER Balken (Mitmachen & Shop) */
.ede-footer__bar-left .ede-footer__bar-link:hover::after{
  background:#fff;
  opacity:1;
}

/* HOVER – ROTER Balken (Datenschutz & Impressum) */
.ede-footer__bar-link--light:hover::after{
  background:#e73938;
  opacity:1;
}

/* ===== FOOTER BAR – ACTION ICONS (FINAL) ===== */
.ede-footer__bar-link.has-icon{
  display:inline-flex;
  align-items:center;
  gap:12px;
}

.footer-action-icon{
  width:28px;
  height:28px;
  color:#fff;
  flex-shrink:0;
}




/* helle Links auf dunkler Fläche */
.ede-footer__bar-link--light{
  color: #fff;
}

.ede-footer__bar-sep{
  color: rgba(255,255,255,0.8);
  font-weight: 700;
}

/* Mini Icons in der roten Bar */
.ede-footer__bar-miniicons {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-left: auto;
  justify-content: center;
}

.ede-footer__bar-miniicons img {
  width: 36px;
  height: 36px;
  opacity: 0.95;
  filter: brightness(0)
}

.ede-footer__bar-right-links {
  display: flex;
  align-items: center;
  gap: 18px;
}

.ede-footer__bar-miniicons a:hover img{
  opacity: 1;
}

/* ===== FOOTER BOTTOM – COPYRIGHT ===== */
.ede-footer__bottom{
  border-top: 1px solid #eee;
  padding: 18px 0 28px;
}

.ede-footer__copy {
  text-align: center;
  font-size: 14px;
  color: #555;
}

.ede-footer__copy {
  margin: 0;
  line-height: 1.8;
}

/* ===== FOOTER – RESPONSIVE ===== */
@media (max-width: 900px){
  .ede-footer__icons{
    gap: 28px;
  }

  .ede-footer__bar-grid{
    grid-template-columns: 1fr;
  }

  .ede-footer__bar-right-inner{
    justify-content: flex-start;
  }
}




/* === FIX: Sections dürfen nie breiter als Viewport sein === */
.trust,
.reasons{
  max-width: 100%;
  overflow-x: hidden;
}


.mobile-nav{
  overflow-x: hidden;
}

.mobile-nav-inner{
  width: 100%;
}

body.menu-open{
  overflow: hidden;
}

html, body {
  overflow-x: hidden;
}




/* ===== FIX: Header hebt sich über Hero ===== */
.site-header.is-scrolled{
  background: #fff !important;
}

.hero{
  z-index: 0;
}

.site-header{
  z-index: 2000;
}


/* ============================================================
   EDE FIXES – base.css Korrekturen
   Alle geänderten Blöcke sind mit FIX: kommentiert.
   Füge diese Regeln AM ENDE deiner base.css ein
   (sie überschreiben die alten Werte sauber).
   ============================================================ */
 

/* ============================================================
   FIX 2 – Header: is-scrolled greift zuverlässig
   (Spezifität erhöht, kein !important-Chaos)
   ============================================================ */
.site-header.is-scrolled {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  background: #fff;
  box-shadow: 0 8px 30px rgba(0,0,0,0.08);
  z-index: 2000;
  color: #111;
}
 
.site-header.is-scrolled .nav-home a {
  color: #111;
  text-shadow: none;
}
 
.site-header.is-scrolled .burger {
  color: #111;
  text-shadow: none;
}
 
 
/* ============================================================
   FIX 3 – Mobile Header sofort weiß (kein transparent)
   ============================================================ */
@media (max-width: 980px) {
  .site-header {
    position: fixed;          /* sofort sticky auf Mobile */
    background: #fff;
    color: #111;
    box-shadow: 0 4px 20px rgba(0,0,0,0.07);
    z-index: 2000;
  }
 
  /* Nav-Links im Header (falls sichtbar) auf Mobile schwarz */
  .site-header .nav-home a {
    color: #111;
    text-shadow: none;
  }
 
  /* Burger-Icon größer + schwarz */
  .burger {
    font-size: 26px;          /* vorher 16px */
    color: #111;
    text-shadow: none;
    padding: 10px 12px;
  }
 
  /* Hero bekommt padding-top, damit Inhalt nicht unter Header verschwindet */
  .hero-content {
    padding-top: 160px;
  }
}
 
 
/* ============================================================
   FIX 4 – Headline-Balken: jede Zeile einzeln (intention-Stil)
   box-decoration-break: clone lässt jeden Zeilenumbruch
   einen eigenen Hintergrund bekommen.
   ============================================================ */
.trust-headline,
.resonance-headline,
.solution-headline .hl,
.reasons-headline .hl,
.work-headline .title-bar,
.proof-headline,
.contact-headline .title-bar {
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;

  line-height: 1.45;          /* Zeilenabstand zwischen den Balken */
  white-space: normal;        /* kein nowrap mehr → darf umbrechen */
}
 
/* trust-headline war mit white-space:nowrap – das war der Abschneide-Bug */

 
 
 
/* ============================================================
   FIX 5 – reasons-grid: 1 Spalte auf Mobile & Tablet
   ============================================================ */

/* Auf Tablet (bis 1100px) auch noch 1 Spalte falls Platz fehlt */
@media (max-width: 1100px) {
  .reasons-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 980px) {
  .reasons-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}
 
 
/* Mobile überschreibt das Tablet wieder auf 1 Spalte */
@media (max-width: 640px) {
  .reasons-grid {
    grid-template-columns: 1fr;
  }
}
 
 
/* ============================================================
   FIX 6 – offer-title auf Bildern: kleinere Schrift,
   mehr nach unten, Gruppenunterkunft nicht abgeschnitten
   ============================================================ */
@media (max-width: 767px) {
  .offer-title {
    bottom: 50px;
    left: 12px;
    right: 12px;
    max-width: calc(100% - 24px);
  }

  .offers .offer-title .title-bar {
    font-size: 22px;
    padding: 6px 10px;
    white-space: normal;
    word-break: break-word;
  }
}
 
 
/* ============================================================
   FIX 7 – work-grid: clamp-Bug behoben + halb-sichtbar-Fix
   ============================================================ */
 
 
/* Mobile + Tablet: kein Einzug, volle Breite */
@media (max-width: 980px) {
  .work-grid {
    grid-template-columns: 1fr;
    gap: 48px;
    margin-left: 0;
    width: 100%;
  }
}
 
 
/* ============================================================
   FIX 8 – Footer-Bar: auf Mobile volle Breite, gestapelt
   ============================================================ */
@media (max-width: 900px) {
  .ede-footer__bar-grid {
    grid-template-columns: 1fr;
  }
 
  .ede-footer__bar-left,
  .ede-footer__bar-right {
    width: 100%;
    min-height: 64px;
    justify-content: center;
  }
 
  .ede-footer__bar-left-inner,
  .ede-footer__bar-right-inner {
    justify-content: center;
    padding: 12px 24px;
  }
}
 
/* Tablet: nebeneinander aber je 50% */
@media (min-width: 901px) and (max-width: 1100px) {
  .ede-footer__bar-left-inner,
  .ede-footer__bar-right-inner {
    padding: 0 24px;
  }
}
 