@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');
/* ========= CSS Variables ========= */
:root{
  --bg: #FAF7F2;
  --bg-soft: #F2E8DA;
  --text: #2F2F2F;
  --muted: #5a5a5a;
  --accent: #9fc7aa;       /* Mintgrün */
  --accent-2: #BDAA8C;     /* Bronze/Sand */
  --deep: #5c422c;         /* Walnussbraun */
  --white: #ffffff;
  --radius: 16px;
  --radius-lg: 24px;
  --shadow: 0 8px 24px rgba(0,0,0,.08);
  --shadow-lg: 0 12px 48px rgba(0,0,0,.12);
  --transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

*{box-sizing:border-box}
html{scroll-behavior: smooth}
html,body{margin:0;padding:0}
body{
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif;
  color:var(--text);
  background:var(--bg);
  line-height:1.7;
}

/* Typography - Unified Inter Font */
h1,h2,h3{
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, sans-serif;
  margin:0 0 .5rem;
  font-weight:700;
  letter-spacing:-0.02em;
}
h1{font-size: clamp(2.2rem, 4vw, 3.5rem); line-height:1.15; letter-spacing: -0.02em}
h2{font-size: clamp(1.8rem, 3vw, 2.5rem); line-height:1.25; letter-spacing: -0.01em}
h3{font-size: clamp(1.3rem, 2vw, 1.7rem); line-height:1.3}
.lead{font-size:1.2rem; color:var(--muted); line-height:1.6}

@media (max-width: 480px){
  .lead{font-size:1.08rem;}
}

a{color:var(--deep); text-decoration:none; transition: var(--transition)}
a:hover{text-decoration:underline}

.text-center{text-align:center}

/* Layout helpers */
.container{width:min(1200px, 92%); margin:0 auto}
.section{padding: clamp(2.5rem, 6vw, 4.5rem) 0}
.section--soft{background: var(--bg-soft)}

.grid-2{display:grid; grid-template-columns: 1.1fr .9fr; gap:2.5rem; align-items:center}
@media (max-width: 900px){
  .grid-2{grid-template-columns:1fr}
  .about-content{
    text-align:center;
    padding-right:0;
    padding-left:0;
  }
}

/* Home page background + unified sections */
.home-page{
  background: linear-gradient(180deg, #fdfaf7 0%, #f4ede3 50%, #ede3d6 100%);
}
.home-page .section,
.home-page .section-welcome,
.home-page .section-about,
.home-page .section-values,
.home-page .section-offers,
.home-page .section-testimonials{
  background: transparent;
}
.home-page .section-cta-final{
  background: linear-gradient(180deg, rgba(255,255,255,0.9), rgba(255,255,255,0.8));
}
.home-page .section-cta-final h2{
  color:var(--deep);
}
.home-page .section-cta-final .lead,
.home-page .section-cta-final .cta-note{
  color:var(--text);
}

/* Header */
.site-header{
  position:sticky; top:0; z-index:10;
  background:rgba(242,232,218,.10); backdrop-filter:saturate(180%) blur(10px);
  border-bottom:1px solid rgba(0,0,0,.05);
}
.header-inner{
  display:flex; 
  align-items:center; 
  justify-content:space-between; 
  padding:.6rem 4%;
  gap: 1rem;
  position: relative;
}
.logo{
  display:flex;
  align-items:center;
  gap:.8rem;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, sans-serif;
  font-weight:700;
  font-size:1.4rem;
  color:var(--deep);
  flex-shrink: 0;
}
.logo-image{
  height: clamp(56px, 7vw, 86px);
  width: auto;
  display:block;
}
.logo-text{line-height:1.1}

.site-nav{
  display:flex; 
  gap:1rem; 
  align-items:center;
  justify-content: center;
  flex-grow: 1;
}
.site-nav a{
  padding:.55rem .8rem;
  border-radius:10px;
  font-size:1.3rem;
  font-weight:600;
  letter-spacing:0.01em;
}
.nav-contact-mobile { display: none; }

.header-right {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-shrink: 0;
}
.header-cta{
  display:inline-flex;
  align-items:center;
  padding:.55rem 1.3rem;
  border-radius:999px;
  background:linear-gradient(135deg, var(--accent), #8fa376);
  color:var(--white);
  box-shadow:0 4px 16px rgba(159,199,170,0.3);
  font-weight:700;
  letter-spacing:0.01em;
}
.header-cta:hover{
  text-decoration:none;
  transform:translateY(-2px);
  box-shadow:0 6px 22px rgba(159,199,170,0.4);
}

.nav-toggle{display:none}

@media (max-width: 860px){
  .header-inner{padding:.8rem 3%;}
  .header-right{
    gap:.6rem;
    /* No longer a growing flex item, it just holds the toggle */
  }
  .header-cta{
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    margin: 0;
    padding:.55rem 1.1rem;
    font-size:.95rem;
  }
  .site-nav {
    position: absolute;
    right: 0.5rem;
    top: 100%;
    background: var(--bg);
    padding: 1rem;
    display: none;
    flex-direction: column;
    box-shadow: var(--shadow);
    margin-top: .5rem;
    border-radius: 12px;
    width: calc(100% - 1rem);
    align-items: stretch;
    text-align: center;
  }
  .site-nav.open{display:flex}
  .nav-toggle{
    display:inline-block;
    background:var(--white);
    border:1px solid rgba(0,0,0,.15);
    padding:.55rem 1rem;
    border-radius:12px;
    font-weight:700;
    color:var(--deep);
    box-shadow:0 4px 12px rgba(0,0,0,.06);
    margin-left: 0; /* No longer needed */
  }
  .header-cta { display: inline-flex; }
  .nav-contact-mobile { display: block; padding: .8rem 1rem; background: var(--bg-soft); border-radius: 8px; margin-top: .5rem; }
}

@media (max-width: 500px){
  .header-inner{
    flex-direction:row;
    flex-wrap:nowrap;
    align-items:center;
    justify-content:space-between;
    gap:.4rem;
    padding:.7rem 3%;
  }
  .logo-image{height:52px;}
  .header-right{
    flex:0 0 auto;
    display:flex;
    align-items:center;
    gap:.4rem;
    width:auto;
    justify-content:flex-end;
  }
  .header-cta{
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    padding:.45rem .85rem;
    font-size:.85rem;
    margin:0;
  }
  .nav-toggle{
    margin-left:0;
    padding:.48rem .85rem;
  }
}

/* Buttons */
.btn{
  display:inline-block;
  padding:1rem 2rem; 
  border:none; 
  border-radius:50px;
  font-weight:600;
  font-size:1rem;
  cursor:pointer;
  transition: var(--transition);
  text-decoration:none;
  letter-spacing:0.02em;
}
/* Unified Button Styles */
.btn-primary{
  background:linear-gradient(135deg, var(--accent), #8fa376);
  color:var(--white); 
  box-shadow: 0 4px 16px rgba(159,199,170,0.3);
}
.btn-primary:hover{
  transform: translateY(-2px); 
  box-shadow: 0 6px 24px rgba(159,199,170,0.4);
  text-decoration:none;
}
.btn-secondary{
  background:var(--white);
  color:var(--deep);
  border:2px solid var(--accent);
  box-shadow: 0 4px 16px rgba(0,0,0,0.08);
}
.btn-secondary:hover{
  transform: translateY(-2px);
  box-shadow: 0 6px 24px rgba(0,0,0,0.12);
  text-decoration:none;
}
.btn-large{
  padding:1.1rem 2.2rem;
  font-size:1.1rem;
}
.link-arrow{
  color:var(--accent); 
  font-weight:600;
  transition: var(--transition);
}
.link-arrow:hover{
  color:var(--deep);
  transform: translateX(4px);
  display:inline-block;
  text-decoration:none;
}

/* Section Styling */
.section-label{
  display:inline-block;
  background:transparent;
  color:var(--accent);
  padding:.5rem 1.2rem;
  border:2px solid var(--accent);
  border-radius:50px;
  font-size:.75rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.12em;
  margin-bottom:1.5rem;
}
.section-header{
  text-align:center;
  max-width:1200px;
  margin:0 auto 4rem;
}
.section-header .section-label{
  margin-bottom:1.5rem;
}
.section-header h2{
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, sans-serif;
  font-weight:700;
  margin-bottom:1.5rem;
}
.section-header .lead{
  font-size:1.15rem;
  line-height:1.8;
}

/* Hero */
/* Modern Hero Section */
.hero{
  position: relative;
  min-height: clamp(70vh, 82vh, 95vh);
  display: flex;
  align-items: center;
  overflow: hidden;
}
.hero-image{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url('/assets/img/hero/home.webp') center center/cover no-repeat;
  z-index: 0;
  filter: saturate(0.9) brightness(0.92);
}
.hero-overlay{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, rgba(250,247,242,.94), rgba(159,199,170,.68));
  z-index: 1;
}
.hero-inner{
  padding: clamp(4rem, 10vw, 8rem) 0;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 2;
  min-height: clamp(70vh, 82vh, 95vh);
}
.hero-content{
  max-width: 1000px;
  text-align: center;
  animation: fadeInUp 1s ease-out;
}
.hero-content h1{
  font-family: 'Lora', Georgia, serif;
  font-weight:400;
  letter-spacing:-0.02em;
}
.hero-content .lead,
.page-hero-content .lead{
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, sans-serif;
  font-weight:500;
}hero-welcome{
  font-size:1rem;
  color:var(--deep);
  text-transform:uppercase;
  letter-spacing:.15em;
  font-weight:600;
  margin-bottom:1rem;
  opacity:0;
  animation: fadeIn 1s ease-out 0.3s forwards;
}
.hero-content h1{
  margin-bottom: 1.5rem;
  color:var(--deep);
  text-shadow: 0 2px 8px rgba(0,0,0,.05);
  opacity:0;
  animation: fadeInUp 1s ease-out 0.5s forwards;
  font-family: 'Lora', Georgia, serif;
  font-weight:400;
  letter-spacing:-0.02em;
}
.hero-subtitle{
  max-width:900px;
  margin: 0 auto 2.5rem;
  font-size:1.25rem;
  color:var(--text);
  opacity:0;
  animation: fadeInUp 1s ease-out 0.7s forwards;
  line-height:1.75;
  font-weight:500;
}
.hero-cta{
  display:flex; 
  gap:1rem; 
  align-items:center; 
  justify-content:center;
  flex-wrap:wrap;
  opacity:0;
  animation: fadeInUp 1s ease-out 0.9s forwards;
}
.hero-scroll{
  position:absolute;
  bottom:2rem;
  left:50%;
  transform:translateX(-50%);
  z-index:2;
  animation: bounce 2s infinite;
  color:var(--deep);
  font-size:1.5rem;
  cursor:pointer;
}

@keyframes fadeIn{
  from{opacity:0}
  to{opacity:1}
}
@keyframes fadeInUp{
  from{opacity:0; transform:translateY(30px)}
  to{opacity:1; transform:translateY(0)}
}
@keyframes bounce{
  0%, 20%, 50%, 80%, 100%{transform:translateX(-50%) translateY(0)}
  40%{transform:translateX(-50%) translateY(-10px)}
  60%{transform:translateX(-50%) translateY(-5px)}
}

@media (max-width: 768px){
  .hero-content h1{font-size:2rem}
  .hero-subtitle{font-size:1.1rem}
  .hero-cta{flex-direction:column; width:100%}
  .hero-cta .btn{width:100%; text-align:center}
  .hero,
  .hero-inner{
    min-height:55vh;
  }
}

/* Welcome Section */
.section-welcome{
  background:var(--white);
  padding: clamp(4rem, 8vw, 6rem) 0;
}
.welcome-box{
  max-width:1000px;
  margin:0 auto;
  padding:4rem 3rem;
  background:linear-gradient(135deg, var(--bg-soft), var(--bg));
  border-radius:32px;
  box-shadow:0 12px 48px rgba(0,0,0,.06);
  border:1px solid rgba(0,0,0,.03);
}
.welcome-box h2{
  color:var(--deep);
  margin-bottom:2rem;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, sans-serif;
  font-weight:700;
  text-align:center;
}
.welcome-box .lead{
  font-size:1.2rem;
  line-height:1.9;
  text-align:center;
  max-width:42em;
  margin-left:auto;
  margin-right:auto;
}

/* About Section */
.section-about{
  padding: clamp(4rem, 8vw, 6rem) 0;
}
.about-content{
  padding-right:2rem;
}
.about-content p{
  margin-bottom:1.2rem;
  font-size:1.05rem;
  line-height:1.75;
}
.about-img{
  background:linear-gradient(135deg, var(--accent-2), var(--accent));
  min-height:420px;
  position:relative;
}
.about-img::after{
  content:'';
  position:absolute;
  inset:0;
  background:url('/assets/img/Carola_Kropp.webp') center/cover no-repeat;
  border-radius:var(--radius);
  opacity:0.9;
}

/* Values Section */
.section-values{
  background:var(--white);
  padding: clamp(5rem, 10vw, 0rem) 0;
}
.values-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
  gap:2.5rem;
  margin-top:3rem;
  max-width:1200px;
  margin-left:auto;
  margin-right:auto;
}
@media (min-width: 1200px){
  .section-values .values-grid{
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:2rem;
  }
}
/* Value Cards - Unified Design */
.value-card{
  text-align:center;
  padding:2.5rem 2rem;
  background:var(--white);
  border-radius:20px;
  transition: var(--transition);
  box-shadow:0 4px 20px rgba(0,0,0,0.06);
  border:1px solid rgba(0,0,0,0.05);
}
.value-card:hover{
  transform:translateY(-4px);
  box-shadow:0 8px 32px rgba(0,0,0,0.1);
}

@keyframes float{
  0%, 100%{transform:translateY(0)}
  50%{transform:translateY(-10px)}
}
.value-card h3{
  color:var(--deep);
  margin-bottom:1rem;
  position:relative;
  font-weight:700;
  font-size:1.3rem;
}
.value-card h3::after{
  content:"";
  display:block;
  width:40px;
  height:3px;
  margin:0.8rem auto 0;
  border-radius:999px;
  background:var(--accent);
}
.value-card p{
  color:var(--muted);
  line-height:1.7;
  font-size:1rem;
  max-width:32ch;
  margin-left:auto;
  margin-right:auto;
}

/* Value Photos - Rechteckig, modern */
.value-photo{
  width:clamp(150px, 40vw, 220px);
  aspect-ratio: 4 / 3;
  border-radius:12px;
  margin:0 auto 2rem;
  position:relative;
  overflow:hidden;
  box-shadow:0 12px 32px rgba(0,0,0,.08);
  transition:var(--transition);
}
.value-photo:hover{
  transform:translateY(-8px) scale(1.05);
  box-shadow:0 16px 48px rgba(0,0,0,.12);
}
.value-photo::before{
  content:'';
  position:absolute;
  inset:-2px;
  border-radius:14px;
  background:linear-gradient(135deg, var(--accent), var(--accent-2));
  z-index:0;
  opacity:0.15;
}
.value-photo::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(159,199,170,0.15), rgba(189,170,140,0.15));
  z-index:2;
  pointer-events:none;
  border-radius:12px;
}
.value-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  position:relative;
  z-index:1;
  border-radius:0;
}

.section-values .value-icon img{
  width:100%;
  height:100%;
  object-fit:cover;
  
  display:block;
  border-radius:inherit;
}
.section-values .value-card:nth-child(1) .value-icon img { object-position: 10% 50%; }
.section-values .value-card:nth-child(2) .value-icon img { object-position: 50% 90%; }
.section-values .value-card:nth-child(3) .value-icon img { object-position: 100% 80%; }
.section-values .value-card:nth-child(4) .value-icon img { object-position: 100% 50%; }

/* Offers Section */
.section-offers{
  background:var(--bg-soft);
  padding: clamp(5rem, 10vw, 8rem) 0;
}
.section-offers .card{
  padding:3rem 2.5rem;
}
.cards-3{
  display:grid; 
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); 
  gap:1.75rem;
  max-width:1150px;
  margin-left:auto;
  margin-right:auto;
}
/* Offer Cards - Unified Design */
.card{
  background:var(--white); 
  border-radius:20px; 
  padding:2.5rem 2rem; 
  box-shadow:0 4px 20px rgba(0,0,0,0.06);
  transition: var(--transition);
  position:relative;
  overflow:hidden;
  border:1px solid rgba(0,0,0,0.05);
}
.card:hover{
  transform:translateY(-4px);
  box-shadow:0 8px 32px rgba(0,0,0,0.1);
}
.card::before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:3px;
  background:var(--accent);
  transform:scaleX(0);
  transform-origin:left;
  transition: var(--transition);
}
.card:hover::before{
  transform:scaleX(1);
}
.offer-card{
  display:flex;
  flex-direction:column;
  gap:1rem;
}
.section-offers .card-icon{display:none !important;}
.card-icon img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
.offer-card h3{
    color:var(--deep);
    margin:0 0 1rem;
    line-height:1.3;
    min-height:2.6em;
    font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, sans-serif;
    font-size:1.4rem;
    font-weight:700;
  line-height:1.3;
} line-height:1.3;
}
.offer-card > p{
  margin-bottom:1.5rem;
  line-height:1.8;
  font-size:1.05rem;
  color:var(--muted);
}
.offer-features{
  list-style:none;
  padding:0;
  margin:1.5rem 0 0;
}
.offer-features li{
  padding:.5rem 0;
  padding-left:1.5rem;
  position:relative;
  color:var(--muted);
  font-size:.95rem;
}
.offer-features li::before{
  content:'✓';
  position:absolute;
  left:0;
  color:var(--accent);
  font-weight:bold;
}
.featured{
  border:2px solid var(--accent);
  transform:scale(1.02);
}
.featured-badge{
  position:absolute;
  top:1rem;
  right:-2rem;
  background:var(--accent);
  color:var(--white);
  padding:.4rem 3rem;
  font-size:.75rem;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.05em;
  transform:rotate(35deg);
  box-shadow:0 2px 8px rgba(0,0,0,.15);
}

@media (max-width: 1000px){
  .cards-3{grid-template-columns:1fr}
  .featured{transform:scale(1)}
}

.card-img{
  background:url('/assets/img/hero/home.webp') center/cover no-repeat; 
  border-radius:var(--radius); 
  min-height:260px; 
  box-shadow:var(--shadow)
}

/* Testimonials */
.section-testimonials{
  padding: clamp(5rem, 10vw, 8rem) 0;
}
.testimonials{
  display:grid; 
  grid-template-columns:repeat(auto-fit, minmax(320px, 1fr)); 
  gap:3rem;
  margin-top:4rem;
  max-width:1300px;
  margin-left:auto;
  margin-right:auto;
}
/* Testimonials - Unified Design */
.testimonial{
  background:var(--white); 
  padding:2.5rem 2rem; 
  border-radius:20px; 
  box-shadow:0 4px 20px rgba(0,0,0,0.06);
  position:relative;
  transition: var(--transition);
  border:1px solid rgba(0,0,0,0.05);
}
.testimonial::before{
  content:'"';
  position:absolute;
  top:1.5rem;
  left:2rem;
  font-size:4rem;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, sans-serif;
  color:var(--accent);
  opacity:0.12;
  line-height:1;
  font-weight:700;
}
.testimonial:hover{
  transform:translateY(-4px);
  box-shadow:0 8px 32px rgba(0,0,0,0.1);
}
.testimonial blockquote{
  margin:0 0 1.5rem;
  font-style:italic;
  line-height:1.8;
  color:var(--text);
  position:relative;
  z-index:1;
  font-size:1.05rem;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, sans-serif;
}
.testimonial cite{
  font-style:normal;
  color:var(--muted);
  font-size:.95rem;
  font-weight:600;
  letter-spacing:0.02em;
}

@media(max-width: 900px){ 
  .testimonials{grid-template-columns:1fr} 
}

/* Process Section */
.section-process{
  background:var(--white);
  padding: clamp(5rem, 10vw, 8rem) 0;
}
.process-steps{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));
  gap:4rem;
  margin-top:4rem;
  position:relative;
  max-width:1200px;
  margin-left:auto;
  margin-right:auto;
}
.process-step{
  text-align:center;
  position:relative;
}
.step-number{
  width:80px;
  height:80px;
  background:linear-gradient(135deg, var(--accent), #8fa376);
  color:var(--white);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:2rem;
  font-weight:700;
  margin:0 auto 2rem;
  box-shadow:0 8px 24px rgba(159,199,170,0.3);
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, sans-serif;
}
.process-step h3{
  color:var(--deep);
  margin-bottom:1.2rem;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, sans-serif;
  font-weight:600;
  font-size:1.4rem;
}
.process-step p{
  color:var(--muted);
  line-height:1.8;
  font-size:1.05rem;
  max-width:32ch;
  margin-left:auto;
  margin-right:auto;
}

/* CTA Section */
.section-cta-final{
  background:linear-gradient(135deg, rgba(189,170,140,0.85), rgba(159,199,170,0.85));
  padding: clamp(5rem, 12vw, 8rem) 0;
  position:relative;
  overflow:hidden;
}
.section-cta-final::before{
  content:'';
  position:absolute;
  top:-50%;
  right:-10%;
  width:500px;
  height:500px;
  background:rgba(255,255,255,0.08);
  border-radius:50%;
  filter:blur(40px);
}
.section-cta-final::after{
  content:'';
  position:absolute;
  bottom:-30%;
  left:-5%;
  width:400px;
  height:400px;
  background:rgba(255,255,255,0.06);
  border-radius:50%;
  filter:blur(40px);
}
.cta-content{
  text-align:center;
  max-width:900px;
  margin:0 auto;
  position:relative;
  z-index:1;
}
.cta-content h2{
  color:var(--white);
  margin-bottom:2rem;
  text-shadow:0 2px 12px rgba(0,0,0,.15);
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, sans-serif;
  font-weight:600;
  font-size:clamp(2rem, 4vw, 3rem);
}
.cta-content .lead{
  color:rgba(255,255,255,0.95);
  margin-bottom:3rem;
  font-size:1.25rem;
  line-height:1.8;
}
.cta-buttons{
  display:flex;
  gap:1rem;
  justify-content:center;
  flex-wrap:wrap;
  margin-bottom:2rem;
}
.cta-note{
  color:rgba(255,255,255,0.9);
  font-size:.95rem;
  margin-top:1.5rem;
}

@media (max-width: 768px){
  .cta-buttons{flex-direction:column; align-items:stretch}
  .cta-buttons .btn{width:100%}
}

/* Pricing (keeping for other pages) */
.pricing{display:grid; grid-template-columns:repeat(3,1fr); gap:1rem}
.price-card{background:#fff; padding:1.2rem; border-radius:var(--radius); box-shadow:var(--shadow)}
.price{font-weight:700; color:var(--deep)}
@media(max-width: 1000px){ .pricing{grid-template-columns:1fr} }

/* Forms */
.form .field{margin-bottom:1.5rem}
.form label{display:block; margin-bottom:.5rem; font-weight:600; color:var(--deep)}
.form input,.form textarea{
  width:100%; 
  padding:1rem 1.2rem; 
  border-radius:16px; 
  border:2px solid rgba(0,0,0,.08); 
  background:var(--white);
  font-family:inherit;
  font-size:1rem;
  transition: var(--transition);
}
.form input:focus,.form textarea:focus{
  outline:none;
  border-color:var(--accent);
  box-shadow:0 0 0 4px rgba(159,199,170,.12);
}
.form .hp{display:none}
.note{
  padding:1rem 1.2rem; 
  border-radius:12px; 
  margin-bottom:1rem; 
  background:var(--white); 
  border:2px solid rgba(0,0,0,.1)
}
.note.ok{border-color: #8bc34a; background:#f1f8e9}
.note.err{border-color: #f44336; background:#ffebee}

/* Lists */
.checks{list-style:none; padding:0; margin:0; display:grid; gap:.6rem}
.checks li{padding-left:1.5rem; position:relative; line-height:1.6}
.checks li::before{
  content:"✓"; 
  color:var(--accent); 
  position:absolute; 
  left:0; 
  font-weight:bold
}

/* ==== FOOTER ==== */

.site-footer {
  width: 100%;
  background: #f5efe6;
  color: #3c342e;
  padding: 1.5rem 0 1.5rem;
  border-top: 1px solid rgba(0, 0, 0, 0.05);
  font-size: 0.95rem;
}

.site-footer a {color: inherit; text-decoration: none;}
.site-footer a:hover {text-decoration: underline;}

.footer-main,
.footer-bottom {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 1.5rem;
}

.footer-main{
  display:grid;
  grid-template-columns: 1fr;
  align-items:flex-start;
  column-gap:4rem;
  row-gap:2rem;
  text-align:center;
}
.footer-brand{max-width:520px; margin:0 auto; text-align:center;}
.logo--footer {font-size: 1.4rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; margin: 0 auto 0.4rem; display:inline-block;}
.footer-tagline {margin: 0 0 0.6rem; opacity: 0.85;}
.footer-intro {margin: 0 0 1.4rem; opacity: 0.9; line-height: 1.5;}

.footer-actions {display: flex; flex-wrap: wrap; gap: 0.75rem; margin-bottom: 0.5rem; justify-content:center;}
.footer-btn {display: inline-flex; align-items: center; justify-content: center; padding: 0.55rem 1.1rem; border-radius: 999px; border: 1px solid rgba(60, 52, 46, 0.18); font-size: 0.9rem; font-weight: 500; background: #f8f3ec;}
.footer-btn-ghost {background: transparent;}
.footer-btn:hover {background: #f1e8dc;}

.footer-columns{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  column-gap:1.5rem;
  row-gap:1.25rem;
  justify-items:center;
}
.footer-column h4 {font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.16em; margin-bottom: 0.8rem; opacity: 0.8;}
.footer-column a, .footer-column p {display: block; margin-bottom: 0.4rem; opacity: 0.9; text-align:center;}
.footer-contact-line {margin: 0.3rem 0 0.1rem; font-size: 0.85rem; opacity: 0.7;}
.footer-location {margin: 0;}

.footer-bottom{
  margin-top: 1.5rem;
  padding-top: 1.2rem;
  border-top: 1px solid rgba(0, 0, 0, 0.05);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:0.3rem;
  text-align:center;
  opacity:0.9;
  font-size: 0.85rem;
}
.footer-bottom p {margin: 0;}

@media (max-width: 768px){
  .section{padding:2.2rem 0;}
  .offer-content-grid{gap:2rem;}
  .method-content{gap:2rem;}
}

@media (max-width: 480px){
  .section{padding:2rem 0;}
  .lead{font-size:1.05rem;}
  .btn{padding:.85rem 1.4rem;}
}

/* 404 */
.container .btn{margin-top:.5rem}

/* ========= PAGE-SPECIFIC STYLES ========= */

/* Page Hero (for About, Offers, etc.) */
.page-hero{
  --page-hero-image: url('/assets/img/hero/home.webp');
  background:
    linear-gradient(135deg, rgba(250,247,242,0.92), rgba(92,66,44,0.32)),
    var(--page-hero-image) center/cover no-repeat;
  padding: clamp(4rem, 10vw, 8rem) 0;
  border-bottom:1px solid rgba(163,177,138,.15);
  min-height: clamp(70vh, 82vh, 95vh);
  display:flex;
  align-items:center;
  position:relative;
}
.page-hero .container{
  display:flex;
  align-items:center;
  justify-content:center;
}
.page-hero-content{
  text-align:center;
  max-width:1000px;
  margin:0 auto;
  position:relative;
  z-index:1;
  opacity:0;
  animation: fadeInUp 1s ease-out 0.3s forwards;
}
.page-hero-content h1{
  margin-bottom:1.5rem;
  color:var(--deep);
  opacity:0;
  animation: fadeInUp 1s ease-out 0.5s forwards;
  font-family: 'Lora', Georgia, serif;
  font-weight:400;
  letter-spacing:-0.02em;
}
.page-hero-content .lead{
  opacity:0;
  animation: fadeInUp 1s ease-out 0.7s forwards;
  font-size:1.2rem;
  line-height:1.9;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, sans-serif;
  font-weight:500;
}

.page-hero--about{--page-hero-image: url('/assets/img/hero/about.webp');}
.page-hero--offers{--page-hero-image: url('/assets/img/hero/offer.webp');}
.page-hero--faq{--page-hero-image: url('/assets/img/hero/faq.webp');}
.page-hero--contact{--page-hero-image: url('/assets/img/hero/contact.webp');}

@media (max-width: 768px){
  .hero,
  .page-hero{
    min-height: 55vh;
    padding: clamp(3rem, 10vw, 4rem) 0;
  }
}

/* About Page Styles */
.about-intro{
  align-items:center;
  gap:5rem;
}
.about-image-large{
  background:linear-gradient(135deg, var(--accent-2), var(--accent));
  min-height:550px;
  border-radius:32px;
  box-shadow:0 16px 64px rgba(0,0,0,.08);
  position:relative;
}
.about-image-large::after{
  content:'';
  position:absolute;
  inset:0;
  background:url('/assets/img/Carola_Kropp.webp') center/cover no-repeat;
  border-radius:32px;
  opacity:0.9;
}
.about-flow{
  width:min(1200px, 96%);
  margin:0 auto;
}
.about-flow .about-text{
  max-width:1100px;
  margin:0 auto;
  font-size:1.08rem;
  line-height:1.9;
}
.about-flow .about-text p{
  text-wrap:pretty;
  hyphens:auto;
  margin-bottom:1.8rem;
}
.about-flow h2{
  margin-bottom:1.5rem;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, sans-serif;
  font-weight:600;
}
.about-inline-image{
  float:left;
  width:48%;
  max-width:450px;
  min-width:300px;
  aspect-ratio:4/5;
  margin:0 2.5rem 1.5rem 0;
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 16px 48px rgba(0,0,0,.1);
}
.about-inline-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
@media (max-width: 900px){
  .about-inline-image{
    float:none;
    width:100%;
    max-width:none;
    margin:1.5rem 0;
  }
}
.about-text p{
  font-size:1.05rem;
  line-height:1.8;
  margin-bottom:1.5rem;
}

@media (max-width: 900px){
  .about-flow .about-text{
    text-align:center;
    padding:0 1.5rem;
  }
}

.section-journey{
  background:var(--white);
}
.journey-content{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));
  gap:4rem;
  margin-top:4rem;
  max-width:1200px;
  margin-left:auto;
  margin-right:auto;
}
.journey-item{
  text-align:center;
  padding:3rem 2rem;
}
.journey-icon{
  font-size:3.5rem;
  margin-bottom:2rem;
}
.journey-item h3{
  color:var(--deep);
  margin-bottom:1.2rem;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, sans-serif;
  font-weight:600;
  font-size:1.5rem;
}
.journey-item p{
  color:var(--muted);
  line-height:1.8;
  font-size:1.05rem;
  max-width:32ch;
  margin-left:auto;
  margin-right:auto;
}

.section-method{
  background:var(--bg-soft);
}
.method-box{
  max-width:1200px;
  margin:0 auto;
  background:var(--white);
  padding:4rem 3rem;
  border-radius:32px;
  box-shadow:0 12px 48px rgba(0,0,0,.08);
  border:1px solid rgba(0,0,0,.03);
}
.method-box h2{
  text-align:center;
  margin-bottom:4rem;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, sans-serif;
  font-weight:600;
}
.method-content{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
  gap:3rem;
}
@media (min-width: 1100px){
  .section-method .container{width:min(1250px, 95%);}
  .method-box{max-width:1200px;}
  .method-content{grid-template-columns:repeat(4, minmax(0, 1fr));}
}
.method-item h3{
  font-size:1.2rem;
  margin-bottom:1rem;
  color:var(--deep);
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, sans-serif;
  font-weight:600;
}
.method-item p{
  color:var(--muted);
  line-height:1.8;
  font-size:1.05rem;
}

.qualifications-box{
  max-width:900px;
  margin:3rem auto 0;
  background:var(--white);
  padding:3rem;
  border-radius:24px;
  box-shadow:0 8px 32px rgba(0,0,0,.06);
  border:1px solid rgba(0,0,0,.03);
}

.section-personal{
  background:var(--white);
}
.personal-box{
  max-width:900px;
  margin:0 auto;
  padding:4rem 3rem;
  background:var(--bg);
  border-radius:32px;
  box-shadow:0 12px 48px rgba(0,0,0,.06);
  border-left:6px solid var(--accent);
}
.personal-box h2{
  color:var(--deep);
  margin-bottom:2rem;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, sans-serif;
  font-weight:600;
}
.personal-box p{
  font-size:1.08rem;
  line-height:1.9;
  margin-bottom:1.5rem;
  color:var(--text);
}

/* Offers Page Styles */
.offers-intro{
  padding:2rem 0;
}

.section-main-offers{
  background:var(--bg);
}
.offer-detailed{
  margin-bottom:4rem;
  background:var(--white);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow);
  padding:3rem;
  position:relative;
  transition:var(--transition);
}
.offer-detailed:hover{
  box-shadow:var(--shadow-lg);
}
.offer-highlighted{
  border:3px solid var(--accent);
  transform:scale(1.01);
}
.offer-detailed-content h3{
  color:var(--deep);
  font-size:2rem;
  margin:1rem 0;
}
.offer-icon-large{
  font-size:4rem;
  display:inline-block;
}
.offer-subtitle{
  font-size:1.15rem;
  color:var(--accent);
  font-weight:600;
  margin-bottom:1.5rem;
}
.offer-detailed-content h4{
  color:var(--deep);
  margin:2rem 0 1rem;
  font-size:1.3rem;
}
.offer-detailed-content > p{
  font-size:1.05rem;
  line-height:1.8;
  margin-bottom:1.5rem;
}
.offer-details-box{
  background:var(--bg-soft);
  padding:2rem;
  border-radius:var(--radius);
  margin-top:2rem;
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));
  gap:1.5rem;
}
.detail-item{
  padding:1rem;
  background:var(--white);
  border-radius:10px;
}
.detail-item strong{
  color:var(--accent);
  display:block;
  margin-bottom:0.5rem;
  font-size:0.9rem;
  text-transform:uppercase;
  letter-spacing:0.05em;
}

/* Clean Offer Layout */
.offer-content-grid{
  display:grid;
  grid-template-columns:2fr 1fr;
  gap:3rem;
  margin:2rem 0;
}
.offer-main-content p{
  font-size:1.05rem;
  line-height:1.8;
  margin-bottom:1.5rem;
}
.offer-main-content h4{
  color:var(--deep);
  font-size:1.4rem;
  margin:2.5rem 0 1.5rem;
}
.offer-sidebar{
  display:flex;
  flex-direction:column;
  gap:1.5rem;
}
.offer-image-box{
  width:100%;
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow);
}
.offer-image-box img{
  width:100%;
  height:auto;
  display:block;
}
.offer-quote-box{
  background:var(--bg-soft);
  padding:2rem;
  border-radius:var(--radius);
  border-left:4px solid var(--accent);
}
.offer-quote-box p{
  font-style:italic;
  color:var(--deep);
  margin:0;
  line-height:1.7;
  font-size:1.05rem;
}

@media (max-width: 1000px){
  .offer-content-grid{
    grid-template-columns:1fr;
    gap:2rem;
  }
}

/* Offer with Background Image (offers2.php) */
.offer-with-background{
  padding:0;
  overflow:hidden;
  position:relative;
}
.offer-with-background::before{
  content:'';
  position:absolute;
  inset:0;
  background-image:inherit;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  opacity:0.08;
  z-index:0;
  pointer-events:none;
}
.offer-hero-section{
  position:relative;
  min-height:400px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  z-index:1;
}
.offer-hero-image{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  z-index:0;
}
.offer-hero-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(92,66,44,0.85), rgba(159,199,170,0.75));
  z-index:1;
}
.offer-hero-content{
  position:relative;
  z-index:2;
  text-align:center;
  max-width:900px;
  padding:3rem 2rem;
}
.offer-hero-content h3{
  color:var(--white);
  font-size:3rem;
  margin:0 0 2rem;
  text-shadow:0 2px 12px rgba(0,0,0,0.3);
}
.offer-hero-quote{
  background:rgba(255,255,255,0.95);
  padding:2.5rem 3rem;
  border-radius:var(--radius);
  box-shadow:0 8px 32px rgba(0,0,0,0.2);
  position:relative;
}
.offer-hero-quote::before{
  content:'"';
  position:absolute;
  top:-0.5rem;
  left:1.5rem;
  font-size:8rem;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, sans-serif;
  color:var(--accent);
  opacity:0.2;
  line-height:1;
}
.offer-hero-quote p{
  font-size:1.4rem;
  line-height:1.8;
  color:var(--deep);
  font-style:italic;
  margin:0;
  position:relative;
  z-index:1;
}
.offer-text-content{
  padding:3rem;
  position:relative;
  z-index:1;
  background:var(--white);
}
.offer-text-content p{
  font-size:1.05rem;
  line-height:1.8;
  margin-bottom:1.5rem;
}
.offer-text-content h4{
  color:var(--deep);
  font-size:1.4rem;
  margin:2.5rem 0 1.5rem;
}

@media (max-width: 768px){
  .offer-hero-section{
    min-height:300px;
  }
  .offer-hero-content h3{
    font-size:2rem;
  }
  .offer-hero-quote{
    padding:2rem;
  }
  .offer-hero-quote p{
    font-size:1.15rem;
  }
  .offer-text-content{
    padding:2rem;
  }
}

.section-additional{
  background:var(--white);
}

.section-pricing-info{
  background:#fafaf9;
}
.transparency-info-box{
  max-width:1000px;
  margin:0 auto;
  background:var(--bg);
  padding:4rem 3rem;
  border-radius:32px;
  box-shadow:0 12px 48px rgba(0,0,0,.06);
  border:1px solid rgba(0,0,0,.03);
}
.transparency-header{
  text-align:center;
  max-width:700px;
  margin:0 auto 3rem;
}
.transparency-header .section-label{
  margin-bottom:1rem;
}
.transparency-header h2{
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, sans-serif;
  font-weight:600;
  color:var(--deep);
  margin-bottom:1.5rem;
}
.transparency-header .lead{
  font-size:1.05rem;
  line-height:1.8;
  color:var(--muted);
}
.transparency-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));
  gap:2rem;
  margin-bottom:3rem;
}
.transparency-item{
  display:flex;
  gap:1rem;
  align-items:start;
  padding:1.5rem;
  background:var(--white);
  border-radius:16px;
  transition:var(--transition);
}
.transparency-item:hover{
  transform:translateY(-4px);
  box-shadow:0 8px 24px rgba(0,0,0,.08);
}
.transparency-icon{
  color:var(--accent);
  font-size:1.2rem;
  margin-top:0.2rem;
  flex-shrink:0;
}
.transparency-content strong{
  display:block;
  color:var(--deep);
  font-size:0.95rem;
  margin-bottom:0.4rem;
  font-weight:600;
}
.transparency-content p{
  margin:0;
  font-size:0.9rem;
  color:var(--muted);
  line-height:1.5;
}
.transparency-note{
  text-align:center;
  padding:1.5rem 2rem;
  background:var(--white);
  border-radius:16px;
  border-left:4px solid var(--accent);
  font-size:0.95rem;
  line-height:1.7;
  color:var(--text);
}
.transparency-note strong{
  color:var(--deep);
}

.pricing-info-box{
  max-width:1000px;
  margin:0 auto;
  background:var(--white);
  padding:3rem;
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow);
}
.pricing-info-box h2{
  text-align:center;
  margin-bottom:2rem;
}
.pricing-info-box h3{
  color:var(--deep);
  margin-bottom:1.5rem;
}

.section-offer-process{
  background:#fafaf9;
}

.section-faq-teaser{
  background:#fafaf9;
}
.faq-teaser-box{
  text-align:center;
  max-width:700px;
  margin:0 auto;
  padding:3rem;
  background:var(--white);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow);
}
.faq-teaser-box h2{
  color:var(--deep);
  margin-bottom:1rem;
}
.faq-teaser-box p{
  margin-bottom:2rem;
  line-height:1.7;
}

.section-cta-simple{
  background:#fafaf9;
}
.cta-box-simple{
  text-align:center;
  max-width:800px;
  margin:0 auto;
  padding:3rem;
}
.cta-box-simple h2{
  color:var(--deep);
  margin-bottom:1.5rem;
}
.cta-box-simple .lead{
  margin-bottom:2.5rem;
}

@media (max-width: 768px){
  .method-content{grid-template-columns:1fr}
  .offer-details-box{grid-template-columns:1fr}
  .about-intro{grid-template-columns:1fr}
  .about-image-large{min-height:350px}
}

/* ========= IMAGE PLACEHOLDERS FOR ICONS ========= */

/* Value Icons (Startseite) */
.section-values .value-icon{
  width:110px;
  height:110px;
  margin:0 auto 1rem;
  background:none !important;
  background-image:none !important;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  border-radius:18px;
  box-shadow:0 12px 24px rgba(0,0,0,0.06);
  border:2px solid rgba(189,170,140,0.35);
  overflow:hidden;
  padding:0;
}
.section-values .value-icon::before{
  content:none !important;
}
.value-icon-empathy{background-image:url('/assets/img/icons/empathie.webp')}
.value-icon-trust{background-image:url('/assets/img/icons/vertraulichkeit.webp')}
.value-icon-growth{background-image:url('/assets/img/icons/wachstum.webp')}
.value-icon-individual{background-image:url('/assets/img/icons/individualitaet.webp')}
.section-values .value-icon{
  background-image:none !important;
}
.section-values .value-icon img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  border-radius:inherit;
}
.section-values .value-icon:not([style*="background-image"]){
  background:var(--white);
  box-shadow:var(--shadow);
}
.section-values .value-icon:not([style*="background-image"])::before{
  content:none !important;
}

/* Offer Icons (Startseite Cards) */
.card-icon{
  width:60px;
  height:60px;
  margin-bottom:1rem;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  border-radius:12px;
  box-shadow:var(--shadow);
}
.offer-icon-grief{background-image:url('/assets/img/icons/empathie.webp')}
.offer-icon-counseling{background-image:url('/assets/img/icons/individualitaet.webp')}
.offer-icon-groups{background-image:url('/assets/img/icons/wachstum.webp')}
.offer-icon-phone{background-image:url('/assets/img/icons/vertraulichkeit.webp')}
.offer-icon-online{background-image:url('/assets/img/icons/individualitaet.webp')}
.offer-icon-voucher{background-image:url('/assets/img/icons/empathie.webp')}

/* Journey Icons (Über mich) */
.journey-icon{
  width:100px;
  height:100px;
  margin:0 auto 1.5rem;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  border-radius:50%;
  box-shadow:var(--shadow-lg);
}
.journey-icon-beginning{background-image:url('/assets/img/icons/wachstum.webp')}
.journey-icon-education{background-image:url('/assets/img/icons/individualitaet.webp')}
.journey-icon-today{background-image:url('/assets/img/icons/vertraulichkeit.webp')}

/* Value Icons (Über mich - andere als Startseite) */
.value-icon-kindness{background-image:url('/assets/img/icons/empathie.webp')}
.value-icon-harmony{background-image:url('/assets/img/icons/wachstum.webp')}
.value-icon-security{background-image:url('/assets/img/icons/vertraulichkeit.webp')}
.value-icon-trust-about{background-image:url('/assets/img/icons/vertraulichkeit.webp')}

/* Method Icons (Über mich) */
.method-icon{
  width:50px;
  height:50px;
  margin-bottom:1rem;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  border-radius:10px;
  box-shadow:var(--shadow);
}
.method-icon-holistic{background-image:url('/assets/img/icons/individualitaet.webp')}
.method-icon-resources{background-image:url('/assets/img/icons/wachstum.webp')}
.method-icon-mindful{background-image:url('/assets/img/icons/empathie.webp')}
.method-icon-practical{background-image:url('/assets/img/icons/vertraulichkeit.webp')}

/* Offer Detail Icons (Angebote - große Icons) */
.offer-icon-large{
  width:100px;
  height:100px;
  margin-bottom:1rem;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  border-radius:16px;
  box-shadow:var(--shadow-lg);
}
.offer-detail-icon-grief{background-image:url('/assets/img/icons/empathie.webp')}
.offer-detail-icon-counseling{background-image:url('/assets/img/icons/individualitaet.webp')}
.offer-detail-icon-groups{background-image:url('/assets/img/icons/wachstum.webp')}

/* Pricing Icons (Angebote) */
.pricing-icon{
  width:60px;
  height:60px;
  margin-bottom:1rem;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  border-radius:12px;
  box-shadow:var(--shadow);
}
.pricing-icon-costs{background-image:url('/assets/img/icons/vertraulichkeit.webp')}
.pricing-icon-info{background-image:url('/assets/img/icons/empathie.webp')}

/* Fallback: Platzhalter-Hintergrund wenn kein Bild vorhanden */
.value-icon:not([style*="background-image"]),
.card-icon:not([style*="background-image"]),
.journey-icon:not([style*="background-image"]),
.method-icon:not([style*="background-image"]),
.offer-icon-large:not([style*="background-image"]),
.pricing-icon:not([style*="background-image"]){
  background:linear-gradient(135deg, var(--accent-2), var(--accent));
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--white);
  font-weight:bold;
  font-size:0.8rem;
}
.value-icon:not([style*="background-image"])::before,
.card-icon:not([style*="background-image"])::before,
.journey-icon:not([style*="background-image"])::before,
.method-icon:not([style*="background-image"])::before,
.offer-icon-large:not([style*="background-image"])::before,
.pricing-icon:not([style*="background-image"])::before{
  content:'IMG';
  opacity:0.7;
}

/* ========= FAQ PAGE STYLES ========= */

.faq-intro{
  padding:2rem 0;
}

.section-faq-content{
  background:var(--bg);
}

.faq-category{
  background:var(--white);
  border-radius:32px;
  padding:4rem 3rem;
  margin-bottom:4rem;
  box-shadow:0 12px 48px rgba(0,0,0,.08);
  border:1px solid rgba(0,0,0,.03);
}

.faq-category h2{
  color:var(--deep);
  margin-bottom:2.5rem;
  padding-bottom:1.5rem;
  border-bottom:2px solid var(--accent-2);
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, sans-serif;
  font-weight:600;
}

.section-still-questions{
  background:var(--bg-soft);
}

.still-questions-box{
  text-align:center;
  max-width:700px;
  margin:0 auto;
  padding:3rem;
  background:var(--white);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-lg);
}

.still-questions-box h2{
  color:var(--deep);
  margin-bottom:1rem;
}

.still-questions-box .lead{
  margin-bottom:2rem;
}

@media (max-width: 768px){
  .faq-category{padding:2rem 1.5rem}
}

/* ========= CONTACT PAGE STYLES ========= */

.contact-intro{
  padding:2rem 0;
}

.section-contact-content{
  background:var(--bg);
}

.contact-grid{
  display:grid;
  grid-template-columns:1.2fr 0.8fr;
  gap:3rem;
  align-items:start;
}

.contact-form-wrapper{
  background:var(--white);
  padding:4rem 3rem;
  border-radius:32px;
  box-shadow:0 12px 48px rgba(0,0,0,.08);
  border:1px solid rgba(0,0,0,.03);
}

.contact-form-wrapper h2{
  color:var(--deep);
  margin-bottom:2.5rem;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, sans-serif;
  font-weight:600;
}

.contact-form .field{
  margin-bottom:1.5rem;
}

.contact-form input,
.contact-form textarea{
  font-size:1rem;
}

.form-note{
  margin:1rem 0;
  color:var(--muted);
}

.contact-info-wrapper{
  display:flex;
  flex-direction:column;
  gap:2rem;
}

.contact-info-box,
.contact-hours-box{
  background:var(--white);
  padding:2.5rem;
  border-radius:24px;
  box-shadow:0 8px 32px rgba(0,0,0,.06);
  border:1px solid rgba(0,0,0,.03);
}

.contact-info-box h2{
  color:var(--deep);
  margin-bottom:2.5rem;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, sans-serif;
  font-weight:600;
}

.contact-item{
  display:flex;
  gap:1.5rem;
  align-items:start;
  margin-bottom:2rem;
  padding-bottom:2rem;
  border-bottom:1px solid rgba(0,0,0,.05);
}

.contact-item:last-child{
  border-bottom:none;
  margin-bottom:0;
  padding-bottom:0;
}

.contact-item-icon{
  width:50px;
  height:50px;
  flex-shrink:0;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  border-radius:10px;
  box-shadow:var(--shadow);
}

.contact-icon-email{background-image:url('/assets/img/icons/vertraulichkeit.webp')}
.contact-icon-phone{background-image:url('/assets/img/icons/empathie.webp')}
.contact-icon-location{background-image:url('/assets/img/icons/wachstum.webp')}

/* Fallback für Kontakt-Icons */
.contact-item-icon:not([style*="background-image"]){
  background:linear-gradient(135deg, var(--accent-2), var(--accent));
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--white);
  font-weight:bold;
  font-size:1.2rem;
}

.contact-item-content h3{
  color:var(--deep);
  margin-bottom:0.5rem;
  font-size:1.1rem;
}

.contact-item-content p{
  margin:0;
  line-height:1.6;
}

.contact-item-content a{
  color:var(--accent);
  font-weight:600;
  transition:var(--transition);
}

.contact-item-content a:hover{
  color:var(--deep);
  text-decoration:none;
}

.contact-hours-box h3{
  color:var(--deep);
  margin-bottom:1rem;
}

.contact-hours-box p{
  line-height:1.7;
  margin-bottom:1rem;
}

.section-contact-info-cards{
  background:var(--white);
}

.section-contact-map{
  background:var(--bg);
}
.map-card{
  background:transparent;
  border-radius:0;
  box-shadow:none;
  display:grid;
  grid-template-columns:1fr 1.1fr;
  min-height:360px;
  justify-items:center;
  align-items:center;
}
.map-info{
  padding:2.5rem;
  background:transparent;
  border-right:1px solid rgba(0,0,0,0.03);
  text-align:center;
  width:100%;
}
.map-info h2{
  margin:0 0 1rem;
}
.map-info .lead{
  margin:0 0 1.2rem;
}
.map-info p{
  margin:0 0 1.2rem;
  color:var(--muted);
}
.map-frame{
  position:relative;
  width:100%;
  min-height:360px;
  background:#f7f1e8;
}
.map-frame iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}
.map-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(255,255,255,0.92), rgba(245,239,230,0.9));
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:1rem;
  padding:1.5rem;
  text-align:center;
}
.map-overlay p{
  margin:0;
  color:var(--muted);
}

.map-loaded .map-overlay{
  display:none;
}

.contact-card-icon-response{background-image:url('/assets/img/icons/empathie.webp')}
.contact-card-icon-consultation{background-image:url('/assets/img/icons/individualitaet.webp')}
.contact-card-icon-flexible{background-image:url('/assets/img/icons/wachstum.webp')}

.section-contact-privacy{
  background:var(--bg-soft);
}

.privacy-notice-box{
  max-width:900px;
  margin:0 auto;
  padding:2rem;
  background:var(--white);
  border-radius:var(--radius);
  border-left:4px solid var(--accent);
  box-shadow:var(--shadow);
}

.privacy-notice-box h3{
  color:var(--deep);
  margin-bottom:1rem;
}

.privacy-notice-box p{
  line-height:1.7;
  margin:0;
}

.privacy-notice-box a{
  color:var(--accent);
  font-weight:600;
}

@media (max-width: 900px){
  .contact-grid{
    grid-template-columns:1fr;
    gap:2rem;
  }
  .contact-form-wrapper{padding:2rem}
  .map-card{
    grid-template-columns:1fr;
  }
  .map-info{
    border-right:0;
    border-bottom:1px solid rgba(0,0,0,0.03);
    padding:2rem 1.5rem;
  }
  .map-frame{
    min-height:300px;
  }
}

/* ========= 404 PAGE STYLES ========= */

.section-404{
  min-height:70vh;
  display:flex;
  align-items:center;
  background:var(--bg);
}

.error-404-box{
  text-align:center;
  max-width:700px;
  margin:0 auto;
  padding:4rem 3rem;
  background:var(--white);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-lg);
}

.error-404-icon{
  width:120px;
  height:120px;
  margin:0 auto 2rem;
  background:linear-gradient(135deg, var(--accent-2), var(--accent));
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:4rem;
  color:var(--white);
  font-weight:bold;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, sans-serif;
  box-shadow:var(--shadow);
}

.error-404-icon::before{
  content:'404';
}

.error-404-box h1{
  color:var(--deep);
  margin-bottom:1.5rem;
}

.error-404-box .lead{
  margin-bottom:2rem;
}

.error-404-box > p{
  margin-bottom:2rem;
}

.error-404-links{
  display:flex;
  gap:1rem;
  justify-content:center;
  flex-wrap:wrap;
  margin-top:2rem;
}

@media (max-width: 768px){
  .error-404-box{padding:3rem 2rem}
  .error-404-links{flex-direction:column; align-items:stretch}
  .error-404-links .btn{width:100%}
}

/* ========= LEGAL PAGES STYLES ========= */

.page-hero-legal{
  background:linear-gradient(135deg, var(--deep), var(--accent));
  color:var(--white);
  padding: clamp(2.5rem, 6vw, 4rem) 0;
}

.page-hero-legal h1{
  color:var(--white);
  text-shadow:0 2px 8px rgba(0,0,0,.2);
}

.page-hero-legal .lead{
  color:rgba(255,255,255,0.95);
}

.section-legal{
  background:var(--bg);
  padding: clamp(3rem, 8vw, 5rem) 0;
}

.legal-box{
  max-width:900px;
  margin:0 auto;
  background:var(--white);
  padding:3rem;
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow);
}

.legal-section{
  margin-bottom:3rem;
  padding-bottom:3rem;
  border-bottom:1px solid rgba(0,0,0,.08);
}

.legal-section:last-child{
  border-bottom:none;
  margin-bottom:0;
  padding-bottom:0;
}

.legal-section h2{
  color:var(--deep);
  margin-bottom:1.5rem;
  padding-bottom:0.8rem;
  border-bottom:2px solid var(--accent-2);
  font-size:1.6rem;
}

.legal-section h3{
  color:var(--deep);
  margin-top:2rem;
  margin-bottom:1rem;
  font-size:1.3rem;
}

.legal-section h4{
  color:var(--accent);
  margin-top:1.5rem;
  margin-bottom:0.8rem;
  font-size:1.1rem;
  font-weight:600;
}

.legal-section p{
  line-height:1.8;
  margin-bottom:1.2rem;
}

.legal-section ul{
  margin:1rem 0;
}

.legal-section a{
  color:var(--accent);
  font-weight:600;
  word-break:break-all;
}

.legal-section a:hover{
  color:var(--deep);
}

.legal-section strong{
  color:var(--deep);
}

.legal-section-footer{
  background:var(--bg-soft);
  padding:2rem;
  border-radius:var(--radius);
  margin-top:2rem;
  border:none;
}

.legal-section-footer p{
  margin:0.5rem 0;
}

@media (max-width: 768px){
  .legal-box{padding:2rem 1.5rem}
  .legal-section h2{font-size:1.4rem}
  .legal-section h3{font-size:1.2rem}
}

/* === START: Modernes Layout für Angebots-Section (offers3) === */

/* Section-Hintergrund + Überschrift */
.section-main-offers {
  padding: 5rem 0;
  background: #f5efe6; /* warmes, ruhiges Beige passend zum Carola-Design */
}

.section-main-offers h2 {
  font-size: 2rem;
  margin-bottom: 2.5rem;
}

/* Jede Angebots-Card */
.offer-detailed {
  background: #ffffff;
  border-radius: 20px;
  padding: 2.5rem 2.5rem 2.25rem;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.06);
  max-width: 1100px;
  margin: 0 auto 3rem;
}

.offer-detailed h3 {
  font-size: 1.6rem;
  margin-bottom: 1.75rem;
}

/* Grid: Text links, Sidebar rechts */
.offer-content-grid {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1.2fr);
  gap: 2.5rem;
  align-items: flex-start;
}

/* Haupttext */
.offer-main-content p {
  line-height: 1.7;
  margin-bottom: 1.25rem;
  max-width: 62ch; /* verhindert eine „Textwand" */
}

.offer-main-content h4 {
  margin-top: 2rem;
  margin-bottom: 1rem;
}

/* Checkliste */
.offer-main-content .checks {
  list-style: none;
  padding: 0;
  margin: 0;
}

.offer-main-content .checks li {
  position: relative;
  padding-left: 1.5rem;
  margin-bottom: 0.4rem;
  font-size: 0.97rem;
}

.offer-main-content .checks li::before {
  content: "✔";
  position: absolute;
  left: 0;
  top: 0;
  font-size: 0.9rem;
}

/* Sidebar: Bild + Zitat */
.offer-sidebar {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.offer-image-box img {
  width: 100%;
  height: auto;
  border-radius: 18px;
  object-fit: cover;
  display: block;
}

.offer-quote-box {
  border-radius: 16px;
  background: #fdf7ee;
  padding: 1.5rem;
  font-style: italic;
  font-size: 0.95rem;
  line-height: 1.6;
  border-left: 4px solid #c9a77a; /* Akzentfarbe */
}

/* Details unten als Info-Cards */
.offer-details-box {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  margin-top: 2.5rem;
  padding-top: 2rem;
  border-top: 1px solid rgba(0, 0, 0, 0.06);
}

.offer-details-box .detail-item {
  flex: 1 1 220px;
  background: #faf5ee;
  border-radius: 12px;
  padding: 1.1rem 1.4rem;
  font-size: 0.95rem;
}

.offer-details-box .detail-item strong {
  display: block;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 0.25rem;
}

/* Responsive Anpassung */
@media (max-width: 900px) {
  .offer-content-grid {
    grid-template-columns: 1fr;
  }

  .offer-sidebar {
    max-width: 420px;
    margin: 0 auto 0.5rem;
  }

  .offer-detailed {
    padding: 2rem 1.5rem 2rem;
  }
}

@media (max-width: 800px){
  .offer-image-box{
    max-height:360px;
    height:auto;
  }
  .offer-image-box img{
    height:100%;
    object-fit:cover;
  }
}

/* === ENDE: Modernes Layout für Angebots-Section (offers3) === */

/* === START: Völlig neues modernes Design (offers3 v3) === */

.section-main-offers-v3{
  padding:0;
  background:#fafaf9;
}

.container-fluid{
  max-width:100%;
  padding:0;
}

/* Jedes Angebot als Full-Width Article */
.offer-modern{
  display:grid;
  grid-template-columns:45% 55%;
  min-height:90vh;
  position:relative;
  margin-bottom:6rem;
  padding:0 2rem;
}

.offer-modern:nth-child(even){
  grid-template-columns:55% 45%;
}

.offer-modern:nth-child(even) .offer-visual{
  order:2;
}

/* Visueller Bereich mit Bild */
.offer-visual{
  position:relative;
  overflow:hidden;
  border-radius:32px;
}

.offer-image-large{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  filter:saturate(0.9) brightness(0.95);
  transition:all 0.6s ease;
  border-radius:32px;
}

.offer-modern:hover .offer-image-large{
  transform:scale(1.05);
  filter:saturate(1) brightness(1);
}

.offer-number{
  position:absolute;
  top:3rem;
  left:3rem;
  font-size:8rem;
  font-weight:700;
  color:rgba(255,255,255,0.25);
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, sans-serif;
  line-height:1;
  z-index:2;
  text-shadow:0 4px 12px rgba(0,0,0,0.3);
}

.offer-modern:nth-child(even) .offer-number{
  left:auto;
  right:3rem;
}

/* Content Bereich - ZENTRIERT */
.offer-content-modern{
  padding:6rem 5rem;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  background:transparent;
}

.offer-category{
  font-size:0.75rem;
  text-transform:uppercase;
  letter-spacing:0.15em;
  color:#c9a77a;
  font-weight:700;
  margin-bottom:2rem;
}

/* Zitat als blockquote - SCHÖNERE SCHRIFT */
.offer-quote-modern{
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, sans-serif;
  font-size:1.8rem;
  line-height:1.5;
  color:#2F2F2F;
  font-style:italic;
  font-weight:400;
  margin:0 0 3rem;
  max-width:24ch;
  position:relative;
  padding:0 2rem;
}

.offer-quote-modern::before,
.offer-quote-modern::after{
  content:'"';
  position:absolute;
  font-size:3.5rem;
  color:#9fc7aa;
  opacity:0.3;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, sans-serif;
}

.offer-quote-modern::before{
  left:0;
  top:-0.5rem;
}

.offer-quote-modern::after{
  right:0;
  bottom:-1.5rem;
}

.offer-intro-text{
  margin-bottom:3rem;
  max-width:50ch;
}

.offer-intro-text p{
  line-height:1.75;
  margin-bottom:1.2rem;
  color:#4a4a4a;
  font-size:1.05rem;
}

/* Highlights als kompakte Grid - ZENTRIERT */
.offer-highlights{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:1.5rem 2.5rem;
  margin-bottom:3rem;
  max-width:600px;
}

.highlight-item{
  display:flex;
  gap:1rem;
  align-items:start;
  text-align:left;
}

.highlight-icon{
  color:#9fc7aa;
  font-size:1.2rem;
  margin-top:0.15rem;
  flex-shrink:0;
}

.highlight-item strong{
  display:block;
  color:#2F2F2F;
  font-size:0.95rem;
  margin-bottom:0.15rem;
}

.highlight-item p{
  margin:0;
  font-size:0.88rem;
  color:#6a6a6a;
  line-height:1.4;
}

/* Pricing modern & minimalistisch */
.offer-pricing-modern{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:2rem;
  padding-top:2rem;
  border-top:1px solid rgba(0,0,0,0.06);
  flex-wrap:wrap;
}

.price-item{
  display:flex;
  align-items:baseline;
  gap:0.75rem;
}

.price-duration{
  font-size:0.85rem;
  color:#888;
  text-transform:uppercase;
  letter-spacing:0.05em;
}

.price-amount{
  font-size:1.8rem;
  font-weight:700;
  color:#2F2F2F;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, sans-serif;
}

.price-note{
  font-size:0.85rem;
  color:#888;
  flex-basis:100%;
  text-align:center;
  margin-top:0.5rem;
}

/* Responsive */
@media (max-width: 1200px){
  .offer-modern{
    grid-template-columns:1fr;
    min-height:auto;
    margin-bottom:4rem;
    gap:2rem;
    padding:0 1.5rem;
  }
  
  .offer-modern:nth-child(even){
    grid-template-columns:1fr;
  }
  
  .offer-modern:nth-child(even) .offer-visual{
    order:1;
  }
  
  .offer-visual{
    min-height:50vh;
  }
  
  .offer-content-modern{
    padding:4rem 3rem;
  }
  
  .offer-quote-modern{
    font-size:1.5rem;
  }
  
  .offer-number{
    font-size:6rem;
    top:2rem;
    left:2rem;
  }
}

@media (max-width: 768px){
  .offer-modern{
    margin-bottom:3rem;
    gap:1.5rem;
    padding:0 1rem;
  }
  
  .offer-content-modern{
    padding:3rem 2rem;
  }
  
  .offer-quote-modern{
    font-size:1.3rem;
    padding:0 1.5rem;
  }
  
  .offer-highlights{
    grid-template-columns:1fr;
    gap:1.2rem;
  }
  
  .offer-pricing-modern{
    flex-direction:column;
    gap:1rem;
  }
}

/* === ENDE: Völlig neues modernes Design (offers3 v3) === */
