/* ============================================================
   FP MODERN PASS — staging design refresh (BYQ-inspired)
   Tokens: navy #253746 · blue #3A5977 · olive #AABC62 · lime #C5D878
   ============================================================ */
:root{
  --fpm-navy:#253746; --fpm-blue:#3a5977; --fpm-olive:#aabc62; --fpm-lime:#c5d878;
  --fpm-soft:#eef1e9; /* warm off-white for tinted sections */
  --fpm-card:#ffffff;
  --fpm-radius:20px;
  --fpm-shadow:0 14px 34px -22px rgba(37,55,70,.35);
  --fpm-muted:#6d7d8b;
}

/* ---------- Section rhythm & headings ---------- */
main.home section{ }
main.home h2{
  color:var(--fpm-navy);
  font-weight:700;
  letter-spacing:-.02em;
  font-size:clamp(1.7rem,1.2rem + 1.6vw,2.5rem);
  line-height:1.12;
  text-wrap:balance;
}
.blog-example-container h2{ text-align:center; padding:0; margin-bottom:28px; }

/* ---------- Tinted slider sections (Referenzen + Stimmen):
     warm off-white instead of grey, fades matching the bg ---------- */
main.home section:has(> .container .slick-slider),
main.home section:has(.blockquote-content){
  background:var(--fpm-soft) !important;
  border-radius:28px;
  max-width:calc(100% - 28px);
  margin-left:auto; margin-right:auto;
}
main.home section:has(> .container .slick-slider) .slick-list:before,
main.home section:has(> .container .slick-slider) .slick-list:after,
main.home section:has(.blockquote-content) .slick-list:before,
main.home section:has(.blockquote-content) .slick-list:after{
  background:linear-gradient(90deg,var(--fpm-soft) 12%,rgba(238,241,233,0)) !important;
}
main.home .slick-list:after, .blog-example-container .slick-list:after{ transform:scaleX(-1); }
/* blog slider sits on white — keep white fades explicit */
.blog-example-container .slick-list:before,
.blog-example-container .slick-list:after{
  background:linear-gradient(90deg,#ffffff 12%,rgba(255,255,255,0)) !important;
}

/* ---------- Cards inside sliders (Referenzen + Stimmen) ---------- */
.slick-slide > div > div[class]{ }
main.home .slick-slider [class*="container"]{ }
main.home section .slick-slide > div{
  border-radius:var(--fpm-radius);
}
main.home .blockquote-container,
main.home section:has(> .container .slick-slider) .slick-slide > div > div{
  border-radius:var(--fpm-radius) !important;
  box-shadow:var(--fpm-shadow) !important;
}

/* ---------- BLOG CARDS: equal height, image ratio, button below text ---------- */
.blog-example-container .slider .slick-slide > div{
  height:auto !important;
  min-height:0;
  background:#fff;
  border-radius:var(--fpm-radius);
  overflow:hidden;
  box-shadow:var(--fpm-shadow);
  position:relative;
  display:flex;
}
.blog-example-container .related-blogposts{ display:flex; width:100%; }
.blog-example-container .related-blogposts .menu-lnk{
  display:flex; flex-direction:column; width:100%; min-height:440px;
}
.blog-example-container .slider .slick-slide img{
  width:100%; height:200px !important; object-fit:cover; display:block;
  border-radius:0;
}
.blog-example-container .slider .slick-slide > div div{
  display:flex; flex-direction:column; flex:1 1 auto;
  padding:20px 22px 22px;
}
.blog-example-container .slider .slick-slide > div div p.headline{
  font-size:17px; line-height:1.35; margin-bottom:10px;
}
.blog-example-container .slider .slick-slide > div div p.headline a{ color:var(--fpm-navy); }
.blog-example-container .slider .slick-slide > div div p{ color:#51606d; }
.blog-example-container .slider .slick-slide > div div .readmore{
  position:static !important;
  margin-top:auto;
  align-self:flex-start;
  width:auto; height:auto;
  padding:9px 22px;
  border:1.5px solid var(--fpm-blue);
  border-radius:999px;
  font-size:13.5px; font-weight:700; line-height:1;
  color:var(--fpm-blue);
  transition:background .18s ease,color .18s ease;
}
.blog-example-container .slider .slick-slide > div div .readmore:hover{
  background:var(--fpm-blue); color:#fff;
}

/* ---------- "Vier Schritte" cards: BYQ-style soft tiles ---------- */
.icon-section-container .vermittlung-item{
  background:var(--fpm-soft);
  border-radius:var(--fpm-radius);
  padding:26px 22px;
  height:100%;
  transition:transform .18s ease, box-shadow .18s ease;
}
.icon-section-container .vermittlung-item:hover{
  transform:translateY(-4px);
  box-shadow:var(--fpm-shadow);
}
.icon-section-container .icon-container-pad{ margin-bottom:24px; }

/* ---------- Video block ---------- */
main.home video, main.home section video{
  border-radius:var(--fpm-radius);
  box-shadow:var(--fpm-shadow);
}

/* ---------- CTA buttons (olive pills) ---------- */
main.home .button-section button.contact,
main.home button.ctaH-link-button, main.home .ctaH-link-button{
  border-radius:999px;
  transition:background .18s ease, transform .12s ease;
}
main.home .button-section button.contact:active{ transform:scale(.97); }

/* ---------- Slick dots: brand color ---------- */
.slick-dots li button:before{ color:var(--fpm-blue) !important; }
.slick-dots li.slick-active button:before{ color:var(--fpm-olive) !important; }

/* inner grey wrapper overrides section bg - retint */
main.home .section-bg-color-gray{background:var(--fpm-soft) !important;border-radius:28px}

.icon-section-container .svg-icon img{mix-blend-mode:multiply}

/* mobile: testimonial quote was wrapping word-by-word (fixed desktop width) */
@media(max-width:767.98px){
  .blockquote-content .slider .blockquote-container div p{width:100% !important;max-width:100% !important;font-size:16px;line-height:1.5}
  .blockquote-content .slider .blockquote-container > img{margin-bottom:10px}
}
@media(max-width:767.98px){ .blockquote-content .slider .blockquote-container > div{width:100% !important;max-width:100% !important;display:block} }

/* mobile: quote text is blockquote>p at 24px inside 224px slick slides -> shrink */
@media(max-width:767.98px){
  .blockquote-content .blockquote-container blockquote p{font-size:15.5px !important;line-height:1.5 !important}
  .blockquote-content .blockquote-container blockquote{margin:0}
  .blockquote-content .blockquote-container{padding:16px 14px}
}

/* R3: steps number inside card + process line */
.icon-section-container .vermittlung-item{position:relative;z-index:1}
.icon-section-container .vermittlung-item .number-container{display:flex;align-items:baseline;gap:10px;margin:0 0 10px;padding:0}
.icon-section-container .vermittlung-item .number{margin:0;position:static;line-height:1}
.icon-section-container .vermittlung-item .icon-headline{margin:0}
.fp-processline{position:absolute;left:3%;right:3%;top:96px;height:2px;z-index:0;pointer-events:none;
  background:linear-gradient(90deg,rgba(197,216,120,0),rgba(197,216,120,.75) 10%,rgba(197,216,120,.75) 90%,rgba(197,216,120,0))}
@media(max-width:767.98px){.fp-processline{display:none}}

/* R3b: force numbers inside tiles; true equal-height blog cards */
.icon-section-container .vermittlung-item .number-container{display:flex !important;align-items:baseline;gap:10px;margin:0 0 10px !important;padding:0 !important;position:static !important}
.icon-section-container .vermittlung-item p.number{margin:0 !important;position:static !important;left:auto !important;line-height:1 !important}
.icon-section-container .vermittlung-item .icon-headline{margin:0 !important}
.blog-example-container .slider .slick-track{display:flex !important;align-items:stretch}
.blog-example-container .slider .slick-slide{display:flex !important;height:auto !important}
.blog-example-container .slider .slick-slide > div{width:100%;display:flex}
.blog-example-container .related-blogposts .menu-lnk{min-height:460px;height:100%}
.blog-example-container .related-blogposts,.blog-example-container .menu-lnk{transition:none !important}

/* R3c: subpages */
.fp-ph-social{display:flex;align-items:center;gap:12px;margin:0 0 14px}
.fp-ph-avatars{display:inline-flex}
.fp-ph-avatars img{width:38px;height:38px;border-radius:10px;object-fit:cover;border:2px solid #fff;margin-right:-7px;background:#fff}
.fp-ph-social-txt{font-size:13px;line-height:1.4;color:#5c6b78;max-width:300px}
body.archive .information-container,body.blog .information-container{max-width:1080px;margin-left:auto;margin-right:auto}
body.archive .information-container img,body.blog .information-container img,.contentblock img,main .contentblock-html img{border-radius:18px}
main img.alignnone,main img.aligncenter,main img.size-full,main img.size-large{border-radius:18px}

/* R3d: blog imgs + filter row + contentblock imgs everywhere */
.information-container img{border-radius:18px !important}
.type-container{max-width:1080px;margin-left:auto !important;margin-right:auto !important}
main div[class*="contentblock"] img,main .container .row img.attachment-full,main .container .row img.size-full{border-radius:18px}
main div[class*="contentblock"] img[class*="logo"],main img.svg-icon,.svg-icon img{border-radius:0 !important}

/* R4: line under tiles, hyphenation, shadow room, cta tilt, content width */
.icon-section-container .icon-container-pad{position:relative;z-index:1}
.fp-processline{z-index:0}
.icon-section-container .vermittlung-item .icon-headline{min-width:0;hyphens:auto;-webkit-hyphens:auto;overflow-wrap:break-word}
/* shadow breathing room inside slick overflow */
.blog-example-container .slick-list{padding:24px 0 46px !important;margin:-24px 0 -16px !important}
.blockquote-content .slick-list{padding:26px 0 48px !important;margin:-26px 0 -18px !important}
/* blog cards: only color transitions, никогда layout */
.blog-example-container .slick-slide,.blog-example-container .slick-slide *{transition:background-color .18s ease,color .18s ease,border-color .18s ease !important}
/* cta stack: tilt outer images */
.fp-cta-stack__img--left{transform:translateX(-85%) rotate(-10deg) !important}
.fp-cta-stack__img--right{transform:translateX(85%) rotate(10deg) !important}
/* content width aligned to nav pill */
main .container{max-width:1240px !important;margin-left:auto;margin-right:auto}
/* R4b: lock blog text div height against hover mutation (root: div 260->184 on hover) */
.blog-example-container .slider .slick-slide > div div{height:auto !important;min-height:0 !important;flex:1 1 auto !important}

/* R5: width parallel to nav pill; tile gutters; swap-proof cards; arrows */
main .container{max-width:1340px !important}
.icon-section-container .icon-container-pad{padding-left:12px !important;padding-right:12px !important}
/* main.js swaps span.menu-lnk -> <a> on first mouseover: cover both tags */
.blog-example-container .related-blogposts > span.menu-lnk,
.blog-example-container .related-blogposts > a.menu-lnk,
.blog-example-container .related-blogposts > a{
  display:flex !important;flex-direction:column !important;width:100% !important;
  min-height:460px;height:100%;text-decoration:none}
.blockquote-content .slick-prev{left:-4px !important}
.blockquote-content .slick-next{right:-4px !important}
.blog-example-container .slick-prev{left:2px !important;transform:translate(0,-50%) scale(.8) !important}
.blog-example-container .slick-next{right:2px !important;transform:translate(0,-50%) scale(.8) !important}
/* R6: mobile */
.icon-section-container .vermittlung-item .number-container{align-items:center !important}
@media(max-width:767.98px){
  .icon-section-container .container{padding-left:16px !important;padding-right:16px !important;max-width:100% !important}
  .icon-section-container .icon-container-pad{padding-left:0 !important;padding-right:0 !important}
  .icon-section-container .vermittlung-item{width:100% !important;max-width:none !important}
}
@media(max-width:767.98px){.icon-section-container .icon-container-pad{width:100% !important;flex:0 0 100% !important;max-width:100% !important}}

/* Milan feedback: hide video section; equal-height quote cards */
main.home section:has(video){display:none !important}
.blockquote-content .slider .slick-track{display:flex !important;align-items:stretch}
.blockquote-content .slider .blockquote-container{height:auto !important;display:flex;flex-direction:column}
.blockquote-content .slider .blockquote-container blockquote{flex:1 0 auto}

/* Milan: team text blocks alternating, brand-tinted */
.contentblock-backgroundcolor-grey{background:#eef1e9 !important}
