
/* =====================================================
   Leitbild – CLEAN CONSOLIDATED (final)
   - Strictly scoped to .leitbild-scope
   - Fullbleed backgrounds via ::before only
   - Values: cards with smaller icons (80/64), badge centering
   - Mission H2 in brand orange
   - H1 animated divider
   - Haltung checklist with framed check (no glow/effects)
   - FAQ cards with comfy padding + hover lift
   - No !important, no duplicate keyframes/selectors
   ===================================================== */

.leitbild-scope{
  --brand:#E9620B;
  --ink:#0f172a;
  --text:#1f2937;
  --muted:#475569;
  --bg:#ffffff;
  --bg-soft:#F7F7F7;
  --bg-pastel:#FDF8F5;
  --radius:24px;
  --container:1200px;
  --shadow-1:0 10px 28px rgba(17,24,39,.07);
  --shadow-2:0 18px 40px rgba(17,24,39,.10);
}

.leitbild-scope *{ box-sizing:border-box; }

/* Base layout */
.leitbild-scope .jhb-container{ max-width:var(--container); margin:0 auto; padding:0 24px; }
.leitbild-scope section{ padding:0; margin:0; background:transparent; }
.leitbild-scope .intro,
.leitbild-scope .mission,
.leitbild-scope .values,
.leitbild-scope .vision,
.leitbild-scope .haltung,
.leitbild-scope .faq,
.leitbild-scope .cta{ padding:clamp(84px,6.5vw,140px) 0; }

/* Fullbleed bg mechanism */
.leitbild-scope .section-bleed{ position:relative; isolation:isolate; }
.leitbild-scope .section-bleed::before{
  content:""; position:absolute; inset:0; left:50%; width:100vw; transform:translateX(-50%);
  z-index:-1; background:transparent;
}

/* Section backgrounds */
.leitbild-scope .intro::before{ background:linear-gradient(180deg, rgba(233,98,11,.06) 0%, rgba(233,98,11,0) 55%); }
.leitbild-scope .mission::before{ background:var(--bg-pastel); }
.leitbild-scope .values::before{ background:var(--bg-soft); }
.leitbild-scope .vision::before{ background:var(--bg-pastel); }
.leitbild-scope .haltung::before{ background:var(--bg); }
.leitbild-scope .faq::before{ background:var(--bg-soft); }

/* Headings */
.leitbild-scope h1, .leitbild-scope h2, .leitbild-scope h3{
  color:var(--ink); margin:0 0 .7rem; text-align:center;
  font-family: 'Nunito', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
}
.leitbild-scope h1{ font-weight:900; font-size:clamp(2.6rem,3vw + 1rem,4rem); }
.leitbild-scope h2{ font-weight:900; font-size:clamp(1.8rem,1.4vw + 1rem,2.4rem); }
.leitbild-scope .lead{ max-width:68ch; margin:0 auto; color:#374151; font-size:1.1rem; text-align:center; line-height:1.7; }

/* Animated divider below the main H1 */
.leitbild-scope h1{ position:relative; }
.leitbild-scope h1::after{
  content:""; display:block; width:120px; height:4px; margin:16px auto 0; border-radius:3px;
  background: linear-gradient(90deg, rgba(233,98,11,0), rgba(233,98,11,.85), rgba(233,98,11,0));
  background-size:200% 100%; animation:leitbild-h1-flow 6s linear infinite;
}
@keyframes leitbild-h1-flow{ 0%{background-position:0 0;} 100%{background-position:200% 0;} }

/* Mission */
.leitbild-scope .mission .card{
  background:#fff; border-radius:var(--radius); box-shadow:var(--shadow-1);
  padding:clamp(64px,5vw,96px) clamp(28px,4vw,48px);
  text-align:center; max-width:980px; margin:0 auto;
}
/* Mission title in brand color */
.leitbild-scope .mission .card h2{ color:#E9620B; }
.leitbild-scope .mission .card p{ max-width:72ch; margin:0 auto; line-height:1.75; color:#334155; }

/* Values grid */
.leitbild-scope .values-grid{
  display:grid; grid-template-columns:repeat(3,minmax(260px,1fr)); gap:38px; margin-top:34px;
}
@media (max-width:1024px){ .leitbild-scope .values-grid{ grid-template-columns:repeat(2,minmax(240px,1fr)); } }
@media (max-width:640px){ .leitbild-scope .values-grid{ grid-template-columns:1fr; } }

/* Card styles (support .card and .value-card) */
.leitbild-scope .card,
.leitbild-scope .value-card{
  background:#fff; border-radius:24px; padding:36px 28px; text-align:center;
  border:1px solid rgba(17,24,39,.08); box-shadow:var(--shadow-1);
  transition:transform .25s, box-shadow .25s, border-color .25s;
}
.leitbild-scope .card:hover,
.leitbild-scope .value-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow-2); border-color:rgba(17,24,39,.12); }
.leitbild-scope .card h3, .leitbild-scope .value-card h3{ margin-bottom:.35rem; }
.leitbild-scope .card p,  .leitbild-scope .value-card p{ color:#1f2937; max-width:60ch; margin:.55rem auto 0; }

/* Icon badge – smaller icons, centered */
.leitbild-scope .value-card img{
  display:flex; align-items:center; justify-content:center;
  width:108px; height:108px; margin:0 auto 14px;
}
.leitbild-scope .values .value-card img,
.leitbild-scope .card .icon,
.leitbild-scope .card svg{
  width:90px; height:90px; max-width:100%; max-height:100%; object-fit:contain; display:block;
}

/* Inline SVG color */
.leitbild-scope .card svg{ stroke:var(--brand); fill:none; stroke-width:6; vector-effect: non-scaling-stroke; }

/* Vision */
.leitbild-scope .vision .quote{
  max-width:82ch; margin:0 auto; text-align:center;
  font-size:clamp(1.1rem, 1vw + 1rem, 1.35rem);
  line-height:1.7; color:#0f172a; font-style:italic;
}

/* Haltung */
.leitbild-scope .haltung .card{
  background:#fff; border-radius:var(--radius); box-shadow:var(--shadow-1);
  padding:clamp(32px,4vw,52px) clamp(24px,3.2vw,42px);
  max-width:1000px; margin:0 auto;
}
.leitbild-scope .list--check{ list-style:none; padding:0; margin:28px auto 0; max-width:860px; }
.leitbild-scope .list--check li{
  position:relative; margin:18px auto; padding-left:44px; line-height:1.75; color:#1f2937; text-align:left;
}
/* Checkbox frame + check (centered in the 24px box) — no glow */
.leitbild-scope .list--check li::before{
  content:""; position:absolute; left:0; top:.35em; width:24px; height:24px;
  border:2px solid var(--brand); border-radius:6px; background:#fff;
}
.leitbild-scope .list--check li::after{
  content:""; position:absolute; left:12px; top:calc(.35em + 12px);
  width:12px; height:6px; border-left:3px solid var(--brand); border-bottom:3px solid var(--brand);
  transform:translate(-50%,-50%) rotate(-45deg);
}

/* FAQ */
.leitbild-scope .faq .jhb-container{ max-width:980px; }
.leitbild-scope details{
  max-width:980px; margin:12px auto; border:1px solid rgba(17,24,39,.1); border-radius:16px;
  background:#fff; box-shadow:var(--shadow-1);
  transition: box-shadow .25s ease, border-color .25s ease, transform .25s ease;
}
.leitbild-scope summary{ cursor:pointer; padding:20px 22px; font-weight:800; list-style:none; transition: background-color .2s ease; }
.leitbild-scope details .answer{ padding:18px 22px 22px; color:#334155; line-height:1.75; }
@media (min-width:1024px){
  .leitbild-scope summary{ padding:24px 40px; }
  .leitbild-scope details .answer{ padding:24px 40px 36px; }
}
/* Hover lift */
.leitbild-scope details:hover{ box-shadow: var(--shadow-2); border-color: rgba(17,24,39,.16); transform: translateY(-2px); }
.leitbild-scope summary:hover{ background-color: rgba(17,24,39,.025); border-radius:16px; }

/* Reveal hooks */
.leitbild-scope .reveal{ opacity:0; transform:translateY(18px); transition:opacity .5s ease, transform .5s ease; will-change:opacity,transform; }
.leitbild-scope .reveal.is-visible{ opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce){
  .leitbild-scope .reveal{ opacity:1; transform:none; transition:none; }
}
