/* FELiX Website Framework 1.1.6 – prototype-derived, scoped production layer */
.felix-framework{--felix-ink:#1d2b26;--felix-muted:#65746e;--felix-line:#dce7e2;--felix-warm:#f7f3ed;--felix-shadow:0 12px 36px rgba(20,55,43,.10);font-size:var(--felix-base);color:var(--felix-ink);background:#fff}
.felix-framework *{box-sizing:border-box}
.felix-framework .site-content,.felix-framework .container.grid-container{max-width:none!important;padding:0!important;margin:0!important}
.felix-framework .content-area,.felix-framework .site-main,.felix-framework article.page,.felix-framework article.post{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
.felix-framework .entry-header{display:none!important}
.felix-framework .entry-content{margin:0!important}
.felix-framework .felix-page-template{width:100%;overflow:hidden}
.felix-framework .felix-wrap{width:min(var(--felix-content),calc(100% - 44px));margin-inline:auto}
.felix-framework .felix-path{background:#f4f7f5;border-bottom:1px solid var(--felix-line);font-size:13px;color:var(--felix-muted)}
.felix-framework .felix-path .felix-wrap{padding-block:11px}
.felix-framework .felix-path a{text-decoration:none}
.felix-framework .felix-hero{background:linear-gradient(135deg,#fafcfb,#eef6f2 60%,#deece5);border-bottom:1px solid var(--felix-line)}
.felix-framework .felix-hero .felix-wrap{padding-block:74px}
.felix-framework .felix-kicker{font-size:12px;color:var(--felix-green);font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.felix-framework .felix-hero h1{max-width:980px;font-size:clamp(38px,5vw,var(--felix-h1));line-height:1.04;letter-spacing:-.035em;margin:10px 0 20px;color:var(--felix-ink);font-weight:800;text-wrap:balance}
.felix-framework .felix-lead{font-size:20px;line-height:1.55;color:#42554e;max-width:760px;margin:0}
.felix-framework .felix-section{padding:70px 0;background:#fff}
.felix-framework .felix-article-shell{display:grid;grid-template-columns:minmax(0,var(--felix-text)) 300px;justify-content:space-between;gap:48px;align-items:start}
.felix-framework .felix-framework-content{min-width:0;line-height:1.72;color:#40534c}
.felix-framework .felix-framework-content>p,.felix-framework .felix-framework-content>ul,.felix-framework .felix-framework-content>ol,.felix-framework .felix-framework-content>blockquote{max-width:var(--felix-text)}
.felix-framework h1,.felix-framework h2,.felix-framework h3,.felix-framework h4,.felix-framework h5,.felix-framework h6{color:var(--felix-ink);font-weight:780;line-height:1.16;letter-spacing:-.018em;text-wrap:balance}
.felix-framework .felix-article h2{font-size:clamp(28px,3vw,var(--felix-h2));margin:1.55em 0 .5em}
.felix-framework .felix-article h3{font-size:clamp(20px,2.2vw,var(--felix-h3));margin:1.35em 0 .42em}
.felix-framework .felix-article p{font-size:1em;color:#40534c}
.felix-framework a{color:var(--felix-link);text-decoration-thickness:.08em;text-underline-offset:.15em}
.felix-framework a:hover{color:var(--felix-navy)}
.felix-framework .felix-side{position:sticky;top:96px;align-self:start}
.felix-framework .felix-sidebox{border:1px solid var(--felix-line);border-radius:16px;padding:20px;background:#fff;box-shadow:0 4px 15px rgba(20,55,43,.035)}
.felix-framework .felix-sidebox h3{font-size:17px;margin:0 0 8px}
.felix-framework .felix-sidebox a{display:block;padding:8px 0;border-bottom:1px solid #edf2ef;font-size:14px;text-decoration:none}.felix-framework .felix-sidebox a:last-child{border:0}
.felix-framework :where(.elementor-widget-container,.wp-block-group,.wp-block-columns){max-width:100%}
.felix-framework .felix-article :where(.elementor-section,.e-con,.elementor-element){--container-max-width:var(--felix-text)}
.felix-framework .felix-article :where(.elementor-widget-heading h2,.elementor-widget-heading h3){font-family:inherit!important;color:var(--felix-ink)!important}
.felix-framework .felix-article :where(.elementor-widget-text-editor,.elementor-widget-text-editor p){font-family:inherit!important;font-size:inherit!important;line-height:1.72!important;color:#40534c!important}
.felix-framework :where(button,.button,.wp-element-button,.elementor-button,.felix-btn,.felix-cta){border-radius:999px!important;font-weight:800;min-height:44px}
.felix-framework :where(.button,.wp-element-button,.elementor-button,.felix-btn,.felix-cta){display:inline-flex;align-items:center;justify-content:center;background:var(--felix-green)!important;color:#fff!important;border:0!important;padding:.75em 1.2em;text-decoration:none!important}
.felix-framework :where(.button,.wp-element-button,.elementor-button,.felix-btn,.felix-cta):hover{background:var(--felix-navy)!important;color:#fff!important}
.felix-framework .felix-band{background:var(--felix-green);color:#fff;padding:42px 0}
.felix-framework .felix-band .felix-wrap{display:flex;justify-content:space-between;align-items:center;gap:28px}
.felix-framework .felix-band h2{color:#fff!important;margin:0 0 6px;font-size:clamp(26px,3vw,38px)}
.felix-framework .felix-band p{margin:0;color:#e8f2ed}
.felix-framework .felix-band .felix-btn{background:#fff!important;color:var(--felix-green)!important;white-space:nowrap}
.felix-framework .felix-framework-auto-faq{max-width:var(--felix-text);margin:3.5rem 0 1rem;padding-top:1px}
.felix-framework .felix-faq-block{margin-top:0}.felix-framework .felix-faq-heading{margin-top:0}
.felix-framework img{max-width:100%;height:auto}
.felix-framework table{width:100%;border-collapse:collapse;margin:1.5rem 0}.felix-framework th,.felix-framework td{padding:.75rem;border-bottom:1px solid #dce5e1;text-align:left;vertical-align:top}.felix-framework th{color:var(--felix-navy);background:var(--felix-mint)}
.felix-framework :where(input,select,textarea){max-width:100%;font:inherit;border:1px solid #aebdb6;border-radius:10px;padding:.7rem .8rem}.felix-framework :where(a,button,input,select,textarea):focus-visible{outline:3px solid #8cb9a6;outline-offset:3px}
/* GeneratePress header – WP menu remains master, framework only styles it */
.felix-framework .site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96)!important;border-bottom:1px solid var(--felix-line);box-shadow:none!important}
.felix-framework .site-header .inside-header{max-width:var(--felix-content)!important;min-height:74px;margin:auto;padding:10px 22px!important}
.felix-framework .main-navigation{background:#fff!important}.felix-framework .main-navigation .inside-navigation{max-width:var(--felix-content);margin:auto}.felix-framework .main-navigation .main-nav ul li a{color:var(--felix-ink)!important;font-weight:700;font-size:14px}.felix-framework .main-navigation .main-nav ul li a:hover{color:var(--felix-green)!important}
@media(max-width:1024px){.felix-framework .felix-article-shell{grid-template-columns:minmax(0,1fr)}.felix-framework .felix-side{position:static}.felix-framework .felix-wrap{width:min(92vw,var(--felix-content))}}
@media(max-width:768px){.felix-framework{font-size:16px}.felix-framework .felix-hero .felix-wrap{padding-block:52px}.felix-framework .felix-section{padding:50px 0}.felix-framework .felix-lead{font-size:18px}.felix-framework .felix-band .felix-wrap{display:block}.felix-framework .felix-band .felix-btn{margin-top:18px}.felix-framework table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}}
@media(prefers-reduced-motion:reduce){.felix-framework *{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}


/* FELiX 1.1.2 – existing Elementor offer/CTA cards adopt the prototype card language.
   Content, images and links are untouched; only visual presentation changes. */
.felix-framework.felix-modern-ctas .felix-framework-content .elementor-section:has(> .elementor-container > .elementor-column + .elementor-column) > .elementor-container > .elementor-column:has(.elementor-widget-button){
  background:transparent!important;box-shadow:none!important;border:0!important;padding:0!important;
}
.felix-framework.felix-modern-ctas .felix-framework-content .elementor-section:has(> .elementor-container > .elementor-column + .elementor-column) > .elementor-container > .elementor-column:has(.elementor-widget-button) > .elementor-widget-wrap{
  background:#fff!important;border:1px solid var(--felix-line)!important;border-radius:18px!important;box-shadow:0 4px 15px rgba(20,55,43,.055)!important;overflow:hidden!important;height:100%;align-content:start;
}
.felix-framework.felix-modern-ctas .felix-framework-content .elementor-section:has(> .elementor-container > .elementor-column + .elementor-column) > .elementor-container > .elementor-column:has(.elementor-widget-button) .elementor-widget-image{margin:0!important}
.felix-framework.felix-modern-ctas .felix-framework-content .elementor-section:has(> .elementor-container > .elementor-column + .elementor-column) > .elementor-container > .elementor-column:has(.elementor-widget-button) .elementor-widget-image img{width:100%!important;display:block;border-radius:0!important}
.felix-framework.felix-modern-ctas .felix-framework-content .elementor-section:has(> .elementor-container > .elementor-column + .elementor-column) > .elementor-container > .elementor-column:has(.elementor-widget-button) :is(.elementor-widget-heading,.elementor-widget-text-editor,.elementor-widget-button){padding-left:24px!important;padding-right:24px!important}
.felix-framework.felix-modern-ctas .felix-framework-content .elementor-section:has(> .elementor-container > .elementor-column + .elementor-column) > .elementor-container > .elementor-column:has(.elementor-widget-button) .elementor-widget-heading{padding-top:22px!important;margin-bottom:6px!important}
.felix-framework.felix-modern-ctas .felix-framework-content .elementor-section:has(> .elementor-container > .elementor-column + .elementor-column) > .elementor-container > .elementor-column:has(.elementor-widget-button) .elementor-widget-text-editor{margin-bottom:8px!important}
.felix-framework.felix-modern-ctas .felix-framework-content .elementor-section:has(> .elementor-container > .elementor-column + .elementor-column) > .elementor-container > .elementor-column:has(.elementor-widget-button) .elementor-widget-button{padding-bottom:24px!important;margin-top:auto!important}
.felix-framework.felix-modern-ctas .felix-framework-content .elementor-section:has(> .elementor-container > .elementor-column + .elementor-column) > .elementor-container > .elementor-column:has(.elementor-widget-button) .elementor-heading-title{color:var(--felix-ink)!important;font-size:clamp(21px,2vw,28px)!important;line-height:1.15!important}
.felix-framework.felix-modern-ctas .felix-framework-content .elementor-section:has(> .elementor-container > .elementor-column + .elementor-column) > .elementor-container > .elementor-column:has(.elementor-widget-button) .elementor-widget-text-editor,
.felix-framework.felix-modern-ctas .felix-framework-content .elementor-section:has(> .elementor-container > .elementor-column + .elementor-column) > .elementor-container > .elementor-column:has(.elementor-widget-button) .elementor-widget-text-editor p{color:var(--felix-muted)!important}
.felix-framework.felix-modern-ctas .felix-framework-content .elementor-section:has(> .elementor-container > .elementor-column + .elementor-column) > .elementor-container > .elementor-column:has(.elementor-widget-button) .elementor-button{background:var(--felix-green)!important;color:#fff!important;border:0!important;border-radius:999px!important;box-shadow:none!important;padding:12px 18px!important;min-height:44px!important}
.felix-framework.felix-modern-ctas .felix-framework-content .elementor-section:has(> .elementor-container > .elementor-column + .elementor-column) > .elementor-container > .elementor-column:has(.elementor-widget-button) .elementor-button:hover{background:var(--felix-navy)!important;transform:none!important}
/* Elementor flexbox containers: style direct card children in multi-card rows. */
.felix-framework.felix-modern-ctas .felix-framework-content .e-con-inner:has(> .e-con + .e-con) > .e-con:has(.elementor-widget-button){background:#fff!important;border:1px solid var(--felix-line)!important;border-radius:18px!important;box-shadow:0 4px 15px rgba(20,55,43,.055)!important;overflow:hidden!important;padding:0 0 24px!important}
.felix-framework.felix-modern-ctas .felix-framework-content .e-con-inner:has(> .e-con + .e-con) > .e-con:has(.elementor-widget-button) :is(.elementor-widget-heading,.elementor-widget-text-editor,.elementor-widget-button){padding-left:24px!important;padding-right:24px!important}
.felix-framework.felix-modern-ctas .felix-framework-content .e-con-inner:has(> .e-con + .e-con) > .e-con:has(.elementor-widget-button) .elementor-widget-image img{width:100%!important;border-radius:0!important}

/* FELiX 1.1.3 – normalize legacy Elementor content blocks into the prototype language.
   The previous page design often stored large grey backgrounds and strong shadows directly
   on sections/columns. On framework pages those visual properties must no longer dominate. */
.felix-framework.felix-modern-content .felix-framework-content > .elementor,
.felix-framework.felix-modern-content .felix-framework-content > .elementor .elementor-section-wrap{
  background:transparent!important;
}
.felix-framework.felix-modern-content .felix-framework-content .elementor-section,
.felix-framework.felix-modern-content .felix-framework-content .elementor-top-section,
.felix-framework.felix-modern-content .felix-framework-content .e-con.e-parent{
  box-shadow:none!important;
}
/* Top-level legacy sections: remove inherited grey slabs and excessive outer spacing. */
.felix-framework.felix-modern-content .felix-framework-content > .elementor > .elementor-section,
.felix-framework.felix-modern-content .felix-framework-content > .elementor > .elementor-section-wrap > .elementor-section,
.felix-framework.felix-modern-content .felix-framework-content > .elementor > .e-con.e-parent{
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  box-shadow:none!important;
  margin:0 0 28px!important;
  padding:0!important;
}
/* Old column wrappers frequently carry the grey fill/shadow. Reset them by default. */
.felix-framework.felix-modern-content .felix-framework-content .elementor-column > .elementor-widget-wrap,
.felix-framework.felix-modern-content .felix-framework-content .elementor-column > .elementor-element-populated{
  box-shadow:none!important;
}
/* Two-column image/text feature blocks become calm white feature cards. */
.felix-framework.felix-modern-content .felix-framework-content .elementor-section:has(> .elementor-container > .elementor-column:nth-child(2):last-child):has(.elementor-widget-image) > .elementor-container{
  max-width:var(--felix-text)!important;
  margin:0!important;
  background:#fff!important;
  border:1px solid var(--felix-line)!important;
  border-radius:20px!important;
  box-shadow:0 4px 15px rgba(20,55,43,.035)!important;
  overflow:hidden!important;
  align-items:stretch!important;
}
.felix-framework.felix-modern-content .felix-framework-content .elementor-section:has(> .elementor-container > .elementor-column:nth-child(2):last-child):has(.elementor-widget-image) > .elementor-container > .elementor-column{
  background:transparent!important;
  box-shadow:none!important;
}
.felix-framework.felix-modern-content .felix-framework-content .elementor-section:has(> .elementor-container > .elementor-column:nth-child(2):last-child):has(.elementor-widget-image) > .elementor-container > .elementor-column > .elementor-widget-wrap,
.felix-framework.felix-modern-content .felix-framework-content .elementor-section:has(> .elementor-container > .elementor-column:nth-child(2):last-child):has(.elementor-widget-image) > .elementor-container > .elementor-column > .elementor-element-populated{
  background:transparent!important;
  box-shadow:none!important;
  border:0!important;
}
.felix-framework.felix-modern-content .felix-framework-content .elementor-section:has(> .elementor-container > .elementor-column:nth-child(2):last-child):has(.elementor-widget-image) .elementor-widget-image,
.felix-framework.felix-modern-content .felix-framework-content .elementor-section:has(> .elementor-container > .elementor-column:nth-child(2):last-child):has(.elementor-widget-image) .elementor-widget-image .elementor-widget-container{
  height:100%;margin:0!important;
}
.felix-framework.felix-modern-content .felix-framework-content .elementor-section:has(> .elementor-container > .elementor-column:nth-child(2):last-child):has(.elementor-widget-image) .elementor-widget-image img{
  width:100%!important;height:100%!important;min-height:250px;object-fit:cover!important;display:block!important;border-radius:0!important;box-shadow:none!important;
}
.felix-framework.felix-modern-content .felix-framework-content .elementor-section:has(> .elementor-container > .elementor-column:nth-child(2):last-child):has(.elementor-widget-image) > .elementor-container > .elementor-column:not(:has(.elementor-widget-image)) > .elementor-widget-wrap,
.felix-framework.felix-modern-content .felix-framework-content .elementor-section:has(> .elementor-container > .elementor-column:nth-child(2):last-child):has(.elementor-widget-image) > .elementor-container > .elementor-column:not(:has(.elementor-widget-image)) > .elementor-element-populated{
  padding:32px!important;align-content:center!important;
}
.felix-framework.felix-modern-content .felix-framework-content .elementor-section:has(> .elementor-container > .elementor-column:nth-child(2):last-child):has(.elementor-widget-image) .elementor-heading-title{
  font-size:clamp(24px,2.6vw,34px)!important;line-height:1.12!important;color:var(--felix-ink)!important;
}
/* Inline legacy links in feature blocks should look intentional, not like old bullet CTA rows. */
.felix-framework.felix-modern-content .felix-framework-content .elementor-widget-text-editor li:has(> a:only-child){
  list-style:none!important;margin-left:0!important;padding-left:0!important;
}
.felix-framework.felix-modern-content .felix-framework-content .elementor-widget-text-editor li:has(> a:only-child) > a{
  display:inline-flex;align-items:center;gap:.35em;font-weight:800;text-decoration:none!important;color:var(--felix-green)!important;
}
.felix-framework.felix-modern-content .felix-framework-content .elementor-widget-text-editor li:has(> a:only-child) > a:after{content:" →"}
/* Flexbox-container equivalent used by newer Elementor pages. */
.felix-framework.felix-modern-content .felix-framework-content > .e-con.e-parent:has(> .e-con + .e-con):has(.elementor-widget-image){
  max-width:var(--felix-text)!important;background:#fff!important;border:1px solid var(--felix-line)!important;border-radius:20px!important;box-shadow:0 4px 15px rgba(20,55,43,.035)!important;overflow:hidden!important;padding:0!important;gap:0!important;
}
.felix-framework.felix-modern-content .felix-framework-content > .e-con.e-parent:has(> .e-con + .e-con):has(.elementor-widget-image) > .e-con{background:transparent!important;box-shadow:none!important;border:0!important;padding:30px!important}
.felix-framework.felix-modern-content .felix-framework-content > .e-con.e-parent:has(> .e-con + .e-con):has(.elementor-widget-image) > .e-con:has(.elementor-widget-image){padding:0!important}
.felix-framework.felix-modern-content .felix-framework-content > .e-con.e-parent:has(> .e-con + .e-con):has(.elementor-widget-image) .elementor-widget-image img{width:100%!important;height:100%!important;min-height:250px;object-fit:cover!important;border-radius:0!important;box-shadow:none!important}
@media(max-width:768px){
  .felix-framework.felix-modern-content .felix-framework-content .elementor-section:has(> .elementor-container > .elementor-column:nth-child(2):last-child):has(.elementor-widget-image) > .elementor-container{display:block!important}
  .felix-framework.felix-modern-content .felix-framework-content .elementor-section:has(> .elementor-container > .elementor-column:nth-child(2):last-child):has(.elementor-widget-image) > .elementor-container > .elementor-column{width:100%!important}
  .felix-framework.felix-modern-content .felix-framework-content .elementor-section:has(> .elementor-container > .elementor-column:nth-child(2):last-child):has(.elementor-widget-image) > .elementor-container > .elementor-column:not(:has(.elementor-widget-image)) > .elementor-widget-wrap,
  .felix-framework.felix-modern-content .felix-framework-content .elementor-section:has(> .elementor-container > .elementor-column:nth-child(2):last-child):has(.elementor-widget-image) > .elementor-container > .elementor-column:not(:has(.elementor-widget-image)) > .elementor-element-populated{padding:24px!important}
}

/* FELiX 1.1.4 – reliable legacy CTA detection.
   JS assigns .felix-legacy-cta-card to the actual Elementor card container. This avoids
   relying only on :has() selectors and overrides old section/column background settings. */
.felix-framework.felix-modern-ctas .felix-framework-content .felix-legacy-cta-card{
  background:#fff!important;
  background-color:#fff!important;
  background-image:none!important;
  border:1px solid var(--felix-line)!important;
  border-radius:18px!important;
  box-shadow:0 4px 16px rgba(20,55,43,.06)!important;
  overflow:hidden!important;
  padding:0!important;
  margin-top:0!important;
  align-self:stretch!important;
}
.felix-framework.felix-modern-ctas .felix-framework-content .felix-legacy-cta-card > .elementor-widget-wrap,
.felix-framework.felix-modern-ctas .felix-framework-content .felix-legacy-cta-card > .elementor-element-populated,
.felix-framework.felix-modern-ctas .felix-framework-content .felix-legacy-cta-card-inner{
  background:#fff!important;
  background-color:#fff!important;
  background-image:none!important;
  border:0!important;
  box-shadow:none!important;
  padding:0 0 24px!important;
  min-height:100%!important;
  overflow:hidden!important;
}
.felix-framework.felix-modern-ctas .felix-framework-content .felix-legacy-cta-card .elementor-widget-image,
.felix-framework.felix-modern-ctas .felix-framework-content .felix-legacy-cta-card .elementor-widget-image .elementor-widget-container{
  margin:0!important;padding:0!important;background:transparent!important;box-shadow:none!important;
}
.felix-framework.felix-modern-ctas .felix-framework-content .felix-legacy-cta-card .elementor-widget-image img{
  display:block!important;width:100%!important;height:auto!important;border-radius:0!important;box-shadow:none!important;
}
.felix-framework.felix-modern-ctas .felix-framework-content .felix-legacy-cta-card :is(.elementor-widget-heading,.elementor-widget-text-editor,.elementor-widget-button){
  padding-left:24px!important;padding-right:24px!important;
}
.felix-framework.felix-modern-ctas .felix-framework-content .felix-legacy-cta-card .elementor-widget-heading{
  padding-top:22px!important;margin-bottom:8px!important;
}
.felix-framework.felix-modern-ctas .felix-framework-content .felix-legacy-cta-card .elementor-heading-title{
  color:var(--felix-ink)!important;font-size:clamp(22px,2vw,28px)!important;line-height:1.18!important;font-weight:800!important;
}
.felix-framework.felix-modern-ctas .felix-framework-content .felix-legacy-cta-card .elementor-widget-text-editor,
.felix-framework.felix-modern-ctas .felix-framework-content .felix-legacy-cta-card .elementor-widget-text-editor p{
  color:var(--felix-muted)!important;font-size:17px!important;line-height:1.65!important;
}
.felix-framework.felix-modern-ctas .felix-framework-content .felix-legacy-cta-card .elementor-widget-button{
  padding-top:8px!important;padding-bottom:0!important;margin-top:auto!important;
}
.felix-framework.felix-modern-ctas .felix-framework-content .felix-legacy-cta-card .elementor-button{
  background:var(--felix-green)!important;color:#fff!important;border:0!important;border-radius:999px!important;
  box-shadow:none!important;padding:12px 20px!important;min-height:44px!important;font-weight:800!important;text-decoration:none!important;
}
.felix-framework.felix-modern-ctas .felix-framework-content .felix-legacy-cta-card .elementor-button:hover,
.felix-framework.felix-modern-ctas .felix-framework-content .felix-legacy-cta-card .elementor-button:focus-visible{
  background:var(--felix-navy)!important;color:#fff!important;transform:none!important;
}
@media(max-width:768px){
  .felix-framework.felix-modern-ctas .felix-framework-content .felix-legacy-cta-card :is(.elementor-widget-heading,.elementor-widget-text-editor,.elementor-widget-button){padding-left:20px!important;padding-right:20px!important}
}


/* FELiX 1.1.5 – final legacy-card reset.
   Removes cached/inline legacy surfaces on the marked card and its layout wrappers. */
.felix-framework.felix-modern-ctas .felix-framework-content .felix-legacy-cta-card,
.felix-framework.felix-modern-ctas .felix-framework-content .felix-legacy-cta-card > .elementor-widget-wrap,
.felix-framework.felix-modern-ctas .felix-framework-content .felix-legacy-cta-card > .elementor-element-populated,
.felix-framework.felix-modern-ctas .felix-framework-content .felix-legacy-cta-card .elementor-widget-container:not(:has(img)){
  background-color:#fff!important;
  background-image:none!important;
}
.felix-framework.felix-modern-ctas .felix-framework-content .felix-legacy-cta-card,
.felix-framework.felix-modern-ctas .felix-framework-content .felix-legacy-cta-card *{
  box-shadow:none!important;
}
.felix-framework.felix-modern-ctas .felix-framework-content .felix-legacy-cta-card{
  border:1px solid var(--felix-line)!important;
  border-radius:18px!important;
  overflow:hidden!important;
}


/* FELiX 1.1.6 – fallback selectors for legacy CTA cards whose button is not an Elementor Button widget. */
.felix-framework.felix-modern-ctas .felix-framework-content .felix-legacy-cta-card{
  background:#fff!important;background-color:#fff!important;background-image:none!important;
  box-shadow:none!important;border:1px solid var(--felix-line)!important;border-radius:18px!important;overflow:hidden!important;
}
.felix-framework.felix-modern-ctas .felix-framework-content .felix-legacy-cta-card-inner{
  background:#fff!important;background-color:#fff!important;background-image:none!important;box-shadow:none!important;border:0!important;
}
.felix-framework.felix-modern-ctas .felix-framework-content .felix-legacy-cta-card a.elementor-button,
.felix-framework.felix-modern-ctas .felix-framework-content .felix-legacy-cta-card a.elementor-button-link,
.felix-framework.felix-modern-ctas .felix-framework-content .felix-legacy-cta-card a.button,
.felix-framework.felix-modern-ctas .felix-framework-content .felix-legacy-cta-card a.wp-element-button{
  background:var(--felix-green)!important;color:#fff!important;border:0!important;border-radius:999px!important;box-shadow:none!important;
}

/* FELiX 1.1.7 – exact Elementor Pro Call To Action widget support.
   These pages use Elementor's .elementor-cta structure, not separate image/heading/button widgets.
   Therefore the framework styles the actual CTA widget directly instead of guessing a parent card. */
.felix-framework.felix-modern-ctas .felix-framework-content .elementor-cta,
.felix-framework.felix-modern-ctas .felix-framework-content a.elementor-cta{
  display:flex!important;
  flex-direction:column!important;
  height:100%!important;
  min-height:0!important;
  background:#fff!important;
  background-color:#fff!important;
  background-image:none!important;
  border:1px solid var(--felix-line)!important;
  border-radius:18px!important;
  box-shadow:0 4px 16px rgba(20,55,43,.06)!important;
  overflow:hidden!important;
  text-decoration:none!important;
  transition:border-color .2s ease,box-shadow .2s ease!important;
}
.felix-framework.felix-modern-ctas .felix-framework-content .elementor-cta:hover,
.felix-framework.felix-modern-ctas .felix-framework-content a.elementor-cta:hover{
  border-color:var(--felix-green)!important;
  box-shadow:0 8px 24px rgba(20,55,43,.10)!important;
  transform:none!important;
}
.felix-framework.felix-modern-ctas .felix-framework-content .elementor-cta__bg-wrapper{
  position:relative!important;
  inset:auto!important;
  width:100%!important;
  height:250px!important;
  min-height:250px!important;
  overflow:hidden!important;
  background:var(--felix-mint)!important;
  border-radius:0!important;
}
.felix-framework.felix-modern-ctas .felix-framework-content .elementor-cta__bg{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  background-size:cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  transform:none!important;
  transition:none!important;
  filter:none!important;
}
.felix-framework.felix-modern-ctas .felix-framework-content .elementor-cta__bg-overlay{
  position:absolute!important;
  inset:0!important;
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  opacity:0!important;
  mix-blend-mode:normal!important;
  transition:none!important;
}
.felix-framework.felix-modern-ctas .felix-framework-content .elementor-cta__content{
  position:relative!important;
  inset:auto!important;
  display:flex!important;
  flex:1 1 auto!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
  width:100%!important;
  min-height:0!important;
  padding:24px 26px 26px!important;
  background:#fff!important;
  background-color:#fff!important;
  background-image:none!important;
  color:var(--felix-ink)!important;
  text-align:center!important;
  box-shadow:none!important;
  border:0!important;
}
.felix-framework.felix-modern-ctas .felix-framework-content .elementor-cta__content *{
  text-shadow:none!important;
}
.felix-framework.felix-modern-ctas .felix-framework-content .elementor-cta__title,
.felix-framework.felix-modern-ctas .felix-framework-content .elementor-cta__title a{
  margin:0!important;
  padding:0!important;
  color:var(--felix-ink)!important;
  font-size:clamp(21px,2vw,27px)!important;
  line-height:1.18!important;
  font-weight:800!important;
  text-decoration:none!important;
}
.felix-framework.felix-modern-ctas .felix-framework-content .elementor-cta__description{
  margin:0!important;
  color:var(--felix-muted)!important;
  font-size:17px!important;
  line-height:1.55!important;
}
.felix-framework.felix-modern-ctas .felix-framework-content .elementor-cta__button,
.felix-framework.felix-modern-ctas .felix-framework-content .elementor-cta__button.elementor-button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:44px!important;
  margin-top:8px!important;
  padding:11px 20px!important;
  border:0!important;
  border-radius:999px!important;
  background:var(--felix-green)!important;
  color:#fff!important;
  box-shadow:none!important;
  font-weight:800!important;
  line-height:1.2!important;
  text-decoration:none!important;
  transform:none!important;
}
.felix-framework.felix-modern-ctas .felix-framework-content .elementor-cta__button:hover,
.felix-framework.felix-modern-ctas .felix-framework-content .elementor-cta:hover .elementor-cta__button{
  background:var(--felix-navy)!important;
  color:#fff!important;
}
/* Elementor Pro may apply hover zoom/overlay through widget-specific generated CSS. */
.felix-framework.felix-modern-ctas .felix-framework-content .elementor-widget-call-to-action:hover .elementor-cta__bg,
.felix-framework.felix-modern-ctas .felix-framework-content .elementor-cta:hover .elementor-cta__bg{
  transform:none!important;
}
@media(max-width:768px){
  .felix-framework.felix-modern-ctas .felix-framework-content .elementor-cta__bg-wrapper{height:210px!important;min-height:210px!important}
  .felix-framework.felix-modern-ctas .felix-framework-content .elementor-cta__content{padding:22px 20px 24px!important}
}

/* FELiX 1.2.0 – structural homepage blueprint. Elementor is no longer the layout master on the front page. */
.felix-home-blueprint{background:#fff;color:var(--felix-ink)}
.felix-home-hero{background:linear-gradient(135deg,#fafcfb,#eef6f2 60%,#deece5);border-bottom:1px solid var(--felix-line)}
.felix-home-hero-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:56px;align-items:center;padding-top:72px!important;padding-bottom:72px!important}
.felix-home-hero h1{font-size:clamp(40px,5vw,62px)!important;line-height:1.04!important;letter-spacing:-.035em!important;margin:10px 0 20px!important;max-width:800px}
.felix-home-hero .felix-lead{font-size:20px!important;line-height:1.65!important;color:#42554e;max-width:760px}
.felix-home-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.felix-btn-alt{background:#fff!important;color:var(--felix-green)!important;border:1px solid #b8d2c6!important}
.felix-home-trust{display:flex;gap:16px;flex-wrap:wrap;color:#66766f;font-size:14px;margin-top:22px}.felix-home-trust span:before{content:"✓";color:var(--felix-green);font-weight:900;margin-right:6px}
.felix-home-photo{min-height:410px;border-radius:30px;overflow:hidden;background:linear-gradient(145deg,#bad5c8,#6f9f88);box-shadow:0 18px 50px rgba(20,55,43,.14)}.felix-home-photo img{width:100%;height:100%;min-height:410px;object-fit:cover;display:block}
.felix-bp-section{padding:78px 0}.felix-bp-soft{background:#f6f9f7}.felix-bp-section h2{max-width:820px;font-size:clamp(30px,3.5vw,44px)!important;line-height:1.12!important;letter-spacing:-.025em!important;margin:8px 0 28px!important}
.felix-bp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:30px}.felix-bp-card{background:#fff;border:1px solid #dbe8e1;border-radius:20px;overflow:hidden;box-shadow:0 8px 24px rgba(20,55,43,.055);display:flex;flex-direction:column;min-width:0}.felix-bp-card-media{aspect-ratio:16/9;background:#edf4f0;overflow:hidden}.felix-bp-card-media img{width:100%;height:100%;object-fit:cover;display:block}.felix-bp-card-body{padding:24px;display:flex;flex:1;flex-direction:column}.felix-bp-card h3{font-size:23px!important;line-height:1.18!important;margin:0 0 10px!important;color:var(--felix-ink)!important}.felix-bp-card p{color:#5d6d66;line-height:1.65;margin:0 0 20px}.felix-bp-card a{margin-top:auto;color:var(--felix-green)!important;font-weight:800;text-decoration:none!important}
.felix-bp-copy{max-width:900px!important}.felix-bp-copy p{font-size:18px;line-height:1.78;color:#42554e;max-width:820px}.felix-bp-links{display:flex;gap:18px;flex-wrap:wrap;margin-top:22px}.felix-text-link{font-weight:800;color:var(--felix-green)!important;text-decoration:none!important}.felix-bp-faq{background:#f6f9f7}
@media(max-width:900px){.felix-home-hero-grid{grid-template-columns:1fr;gap:34px}.felix-bp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.felix-home-photo{min-height:330px}.felix-home-photo img{min-height:330px}}
@media(max-width:640px){.felix-home-hero-grid{padding-top:44px!important;padding-bottom:44px!important}.felix-home-hero h1{font-size:38px!important}.felix-home-hero .felix-lead{font-size:18px!important}.felix-bp-section{padding:54px 0}.felix-bp-grid{grid-template-columns:1fr}.felix-home-actions .felix-btn{width:100%;justify-content:center}.felix-home-photo,.felix-home-photo img{min-height:280px}}

/* FELiX 1.2.1 – accessible navigation states and blueprint footer */
.felix-framework .main-navigation .main-nav > ul > li > a{
  border-radius:10px!important;padding-left:14px!important;padding-right:14px!important;transition:background-color .16s ease,color .16s ease!important;
}
.felix-framework .main-navigation .main-nav > ul > li:hover > a,
.felix-framework .main-navigation .main-nav > ul > li:focus-within > a,
.felix-framework .main-navigation .main-nav > ul > li[class*="current-menu"] > a{
  background:var(--felix-green)!important;color:#fff!important;text-decoration:none!important;
}
.felix-framework .main-navigation .main-nav ul ul{background:#fff!important;border:1px solid var(--felix-line)!important;box-shadow:0 14px 34px rgba(20,55,43,.12)!important;padding:8px!important;border-radius:12px!important}
.felix-framework .main-navigation .main-nav ul ul li a{background:#fff!important;color:var(--felix-ink)!important;border-radius:8px!important}
.felix-framework .main-navigation .main-nav ul ul li:hover>a,
.felix-framework .main-navigation .main-nav ul ul li:focus-within>a,
.felix-framework .main-navigation .main-nav ul ul li[class*="current-menu"]>a{background:var(--felix-green)!important;color:#fff!important}
.felix-framework .menu-toggle:hover,.felix-framework .menu-toggle:focus-visible{background:var(--felix-green)!important;color:#fff!important}

/* The legacy GeneratePress/Elementor footer remains stored but is not rendered visually on framework pages. */
.felix-framework .site-footer{display:none!important}
.felix-framework-footer{--felix-footer-ink:#f6fbf8;--felix-footer-muted:#cbdad3;background:#17372c;color:var(--felix-footer-ink);font-size:15px;line-height:1.55}
.felix-framework-footer *{box-sizing:border-box}
.felix-footer-main{padding:58px 0 46px}
.felix-footer-wrap{width:min(var(--felix-content,1180px),calc(100% - 44px));margin-inline:auto}
.felix-footer-main .felix-footer-wrap{display:grid;grid-template-columns:1.45fr repeat(3,1fr);gap:48px}
.felix-footer-logo{display:inline-flex;flex-direction:column;color:#fff!important;text-decoration:none!important;font-size:32px;font-weight:850;letter-spacing:.08em;line-height:1}
.felix-footer-logo span{font-size:12px;letter-spacing:.16em;margin-top:8px;font-weight:750}
.felix-footer-brand p{max-width:390px;color:var(--felix-footer-muted);margin:20px 0 22px}
.felix-footer-primary{display:inline-flex;align-items:center;min-height:44px;padding:10px 18px;border-radius:999px;background:#fff;color:#236f52!important;font-weight:800;text-decoration:none!important}
.felix-footer-primary:hover,.felix-footer-primary:focus-visible{background:#e4f1eb;color:#17372c!important}
.felix-footer-col h2{font-size:12px!important;line-height:1.2!important;letter-spacing:.14em!important;color:#8fc0aa!important;margin:4px 0 18px!important;font-weight:850!important}
.felix-footer-col a{display:block;color:#eef7f2!important;text-decoration:none!important;padding:5px 0;font-weight:600}
.felix-footer-col a:hover,.felix-footer-col a:focus-visible{color:#fff!important;text-decoration:underline!important;text-underline-offset:4px}
.felix-footer-bottom{border-top:1px solid rgba(255,255,255,.14);padding:18px 0;color:var(--felix-footer-muted);font-size:13px}
.felix-footer-bottom .felix-footer-wrap{display:flex;align-items:center;justify-content:space-between;gap:20px}
.felix-footer-bottom nav{display:flex;gap:20px;flex-wrap:wrap}.felix-footer-bottom a{color:var(--felix-footer-muted)!important;text-decoration:none!important}.felix-footer-bottom a:hover,.felix-footer-bottom a:focus-visible{color:#fff!important;text-decoration:underline!important}
.felix-framework-footer a:focus-visible{outline:3px solid #b9dfce;outline-offset:3px}
@media(max-width:900px){.felix-footer-main .felix-footer-wrap{grid-template-columns:1.4fr 1fr 1fr}.felix-footer-brand{grid-column:1/-1}.felix-footer-main{padding-top:46px}}
@media(max-width:640px){.felix-footer-main .felix-footer-wrap{grid-template-columns:1fr;gap:30px}.felix-footer-brand{grid-column:auto}.felix-footer-bottom .felix-footer-wrap{display:block}.felix-footer-bottom nav{margin-top:10px;gap:14px}}
\n\n/* FELiX 1.2.2 – homepage alignment with the approved HTML blueprint */
.felix-home-blueprint .felix-wrap{width:min(var(--felix-content,1180px),calc(100% - 44px));margin-inline:auto;padding-left:0!important;padding-right:0!important}
.felix-home-hero-grid{min-height:560px}
.felix-home-photo{position:relative;border-radius:34px!important;box-shadow:0 12px 36px rgba(20,55,43,.10)!important}
.felix-home-photo:after{content:"Andrea Stix, MSc";position:absolute;left:24px;bottom:24px;background:rgba(255,255,255,.92);color:var(--felix-ink);padding:10px 14px;border-radius:12px;font-weight:850;font-size:14px;box-shadow:0 5px 18px rgba(20,55,43,.08)}
.felix-center{text-align:center}.felix-center>h2{margin-left:auto!important;margin-right:auto!important}.felix-orientation{background:#fff}
.felix-orientation-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:30px;text-align:left}
.felix-orientation-card{display:block;position:relative;background:#fff!important;border:1px solid var(--felix-line)!important;border-radius:18px!important;padding:24px!important;min-height:235px;color:var(--felix-ink)!important;text-decoration:none!important;box-shadow:0 4px 15px rgba(20,55,43,.035)!important;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.felix-orientation-card:hover,.felix-orientation-card:focus-visible{transform:translateY(-3px);border-color:#9bc4b1!important;box-shadow:0 10px 28px rgba(20,55,43,.09)!important;outline:none}
.felix-card-no{width:38px;height:38px;border-radius:11px;background:var(--felix-mint);color:var(--felix-green);display:grid;place-items:center;font-weight:900;margin-bottom:18px}
.felix-orientation-card h3{font-size:20px!important;line-height:1.28!important;margin:0 0 10px!important;color:var(--felix-ink)!important}
.felix-orientation-card p{font-size:15px!important;line-height:1.6!important;color:#65746e!important;margin:0 0 20px!important}.felix-card-arrow{font-weight:800;color:var(--felix-green);font-size:14px}
.felix-bp-services{background:#f7fbf9}.felix-bp-services>.felix-wrap>h2{margin-bottom:8px!important}
.felix-bp-grid{gap:20px!important}.felix-bp-card{border-radius:18px!important;box-shadow:0 4px 15px rgba(20,55,43,.035)!important}.felix-bp-card-body{padding:22px!important}.felix-bp-card-media{aspect-ratio:1.7/1}
.felix-bp-copy{padding-top:0!important;padding-bottom:0!important}.felix-bp-copy p{margin-top:0;margin-bottom:16px}
.felix-band{padding:42px 22px!important}.felix-band>.felix-wrap{display:flex;justify-content:space-between;align-items:center;gap:24px}.felix-band h2{color:#fff!important;margin:0 0 8px!important}.felix-band p{margin:0;color:#e4f1eb}
@media(max-width:980px){.felix-orientation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.felix-home-hero-grid{min-height:auto}}
@media(max-width:640px){.felix-home-blueprint .felix-wrap{width:min(100% - 32px,var(--felix-content,1180px))}.felix-orientation-grid{grid-template-columns:1fr}.felix-orientation-card{min-height:0}.felix-home-photo:after{left:16px;bottom:16px}.felix-band>.felix-wrap{display:block}.felix-band .felix-btn{margin-top:18px}}

/* FELiX 1.2.5 – compact premium header/navigation + calmer homepage hero portrait */
.felix-framework .site-header{
  position:relative!important;
  background:#fff!important;
  border-top:4px solid #2d2d31!important;
  border-bottom:0!important;
}
.felix-framework .site-header .inside-header{
  min-height:88px!important;
  padding:10px 22px 8px!important;
  display:flex!important;
  align-items:center!important;
}
.felix-framework .site-logo img,
.felix-framework .site-header .header-image{
  width:auto!important;
  height:auto!important;
  max-width:330px!important;
  max-height:76px!important;
  object-fit:contain!important;
}
.felix-framework .main-navigation{
  background:#fff!important;
  border-top:1px solid #e3ebe7!important;
  border-bottom:1px solid #e3ebe7!important;
  box-shadow:0 5px 18px rgba(20,55,43,.035)!important;
}
.felix-framework .main-navigation .inside-navigation{
  min-height:52px!important;
  display:flex!important;
  align-items:center!important;
}
.felix-framework .main-navigation .main-nav > ul{
  gap:3px!important;
  align-items:center!important;
}
.felix-framework .main-navigation .main-nav > ul > li > a{
  min-height:40px!important;
  line-height:40px!important;
  padding:0 14px!important;
  border-radius:9px!important;
  font-size:15px!important;
  letter-spacing:-.01em!important;
}
.felix-framework .main-navigation .main-nav > ul > li:not([class*="current-menu"]) > a:hover,
.felix-framework .main-navigation .main-nav > ul > li:not([class*="current-menu"]) > a:focus-visible{
  background:#eef6f2!important;
  color:#1f654c!important;
}
.felix-framework .main-navigation .main-nav > ul > li[class*="current-menu"] > a{
  background:var(--felix-green)!important;
  color:#fff!important;
}

/* Hero: portrait intentionally smaller so copy remains the visual lead. */
.felix-home-hero-grid{
  grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr)!important;
  gap:48px!important;
  min-height:500px!important;
  padding-top:56px!important;
  padding-bottom:56px!important;
}
.felix-home-photo{
  width:100%!important;
  max-width:400px!important;
  height:480px!important;
  min-height:0!important;
  justify-self:end!important;
  border-radius:28px!important;
}
.felix-home-photo img{
  width:100%!important;
  height:480px!important;
  min-height:0!important;
  object-fit:cover!important;
  object-position:center top!important;
}
@media(max-width:980px){
  .felix-framework .site-logo img,.felix-framework .site-header .header-image{max-width:285px!important;max-height:68px!important}
  .felix-home-hero-grid{grid-template-columns:1fr!important;min-height:auto!important}
  .felix-home-photo{justify-self:start!important;max-width:390px!important;height:450px!important}
  .felix-home-photo img{height:450px!important}
}
@media(max-width:768px){
  .felix-framework .site-header .inside-header{min-height:72px!important;padding:8px 16px!important}
  .felix-framework .site-logo img,.felix-framework .site-header .header-image{max-width:235px!important;max-height:58px!important}
  .felix-framework .main-navigation{box-shadow:none!important}
  .felix-framework .main-navigation .inside-navigation{min-height:auto!important}
  .felix-home-hero-grid{padding-top:42px!important;padding-bottom:46px!important}
  .felix-home-photo{max-width:340px!important;height:390px!important;margin-inline:auto!important;justify-self:center!important}
  .felix-home-photo img{height:390px!important}
}
@media(max-width:480px){
  .felix-framework .site-logo img,.felix-framework .site-header .header-image{max-width:205px!important}
  .felix-home-photo{width:100%!important;max-width:310px!important;height:355px!important}
  .felix-home-photo img{height:355px!important}
}

/* FELiX 1.2.6 – visual service cards keep authentic imagery in the Blueprint */
.felix-home-blueprint .felix-bp-services .felix-bp-card-media{
  aspect-ratio:16/9!important;
  min-height:190px;
  background:#eaf3ef!important;
}
.felix-home-blueprint .felix-bp-services .felix-bp-card-media img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  transform:none!important;
  transition:none!important;
}
.felix-home-blueprint .felix-bp-services .felix-bp-card:hover .felix-bp-card-media img{transform:none!important}
@media(max-width:640px){.felix-home-blueprint .felix-bp-services .felix-bp-card-media{min-height:175px}}


/* FELiX 1.2.7 – section headings use available desktop width; semantic H2 unchanged */
@media(min-width:981px){
  .felix-home-blueprint .felix-bp-section > .felix-wrap > h2{
    max-width:none!important;
    width:100%!important;
  }
  .felix-home-blueprint .felix-bp-services > .felix-wrap > h2{
    max-width:1100px!important;
    white-space:normal!important;
    line-height:1.08!important;
  }
}


/* FELiX 1.2.8 – mobile navigation: clean full-width dropdown instead of split green panel */
@media(max-width:768px){
  .felix-framework .main-navigation{
    position:relative!important;
    width:100%!important;
    background:#fff!important;
    border-top:1px solid #e3ebe7!important;
    border-bottom:1px solid #e3ebe7!important;
    overflow:visible!important;
  }
  .felix-framework .main-navigation .inside-navigation{
    position:relative!important;
    display:block!important;
    width:100%!important;
    max-width:none!important;
    min-height:54px!important;
    padding:6px 16px!important;
  }
  .felix-framework .main-navigation .menu-toggle{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    width:auto!important;
    min-width:108px!important;
    min-height:42px!important;
    margin:0 0 0 auto!important;
    padding:0 16px!important;
    border:0!important;
    border-radius:999px!important;
    background:var(--felix-green)!important;
    color:#fff!important;
    font-weight:800!important;
    font-size:15px!important;
    line-height:1!important;
    box-shadow:none!important;
  }
  .felix-framework .main-navigation .menu-toggle:hover,
  .felix-framework .main-navigation .menu-toggle:focus-visible,
  .felix-framework .main-navigation.toggled .menu-toggle{
    background:#1f654c!important;
    color:#fff!important;
  }
  .felix-framework .main-navigation .menu-toggle .gp-icon,
  .felix-framework .main-navigation .menu-toggle .icon-menu-bars{
    color:inherit!important;
  }
  .felix-framework .main-navigation .main-nav{
    width:100%!important;
    max-width:none!important;
  }
  .felix-framework .main-navigation.toggled .main-nav{
    position:absolute!important;
    left:0!important;
    right:0!important;
    top:100%!important;
    z-index:999!important;
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:8px 12px 12px!important;
    background:#fff!important;
    border-top:1px solid #e3ebe7!important;
    border-bottom:1px solid #d8e5df!important;
    box-shadow:0 14px 30px rgba(20,55,43,.12)!important;
  }
  .felix-framework .main-navigation.toggled .main-nav > ul{
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    background:#fff!important;
  }
  .felix-framework .main-navigation.toggled .main-nav > ul > li{
    display:block!important;
    float:none!important;
    width:100%!important;
    margin:0!important;
    background:transparent!important;
    border:0!important;
  }
  .felix-framework .main-navigation.toggled .main-nav > ul > li > a{
    display:flex!important;
    align-items:center!important;
    width:100%!important;
    min-height:48px!important;
    height:auto!important;
    margin:0!important;
    padding:10px 14px!important;
    border-radius:10px!important;
    background:#fff!important;
    color:var(--felix-ink)!important;
    font-size:16px!important;
    font-weight:750!important;
    line-height:1.25!important;
    white-space:normal!important;
  }
  .felix-framework .main-navigation.toggled .main-nav > ul > li:not([class*="current-menu"]) > a:hover,
  .felix-framework .main-navigation.toggled .main-nav > ul > li:not([class*="current-menu"]) > a:focus-visible{
    background:#eef6f2!important;
    color:#1f654c!important;
  }
  .felix-framework .main-navigation.toggled .main-nav > ul > li[class*="current-menu"] > a{
    background:#e3f1ea!important;
    color:#174f3d!important;
  }
  .felix-framework .main-navigation.toggled .main-nav ul ul{
    position:static!important;
    width:100%!important;
    box-shadow:none!important;
    background:#f7faf8!important;
  }
  .felix-framework .main-navigation.toggled .main-nav ul ul a{
    min-height:44px!important;
    padding:9px 14px 9px 28px!important;
    color:var(--felix-ink)!important;
    background:transparent!important;
  }
}


/* FELiX 1.2.9 – airier premium desktop header; hero intentionally unchanged */
@media(min-width:981px){
  .felix-framework .site-header{
    background:#fff!important;
    border-top:4px solid #2d2d31!important;
    border-bottom:0!important;
  }
  .felix-framework .site-header .inside-header{
    min-height:112px!important;
    padding:18px 22px 16px!important;
    display:flex!important;
    align-items:center!important;
  }
  .felix-framework .site-logo img,
  .felix-framework .site-header .header-image{
    max-width:315px!important;
    max-height:72px!important;
  }
  .felix-framework .main-navigation{
    border-top:1px solid #dfe9e4!important;
    border-bottom:1px solid #dfe9e4!important;
    box-shadow:0 4px 14px rgba(20,55,43,.025)!important;
  }
  .felix-framework .main-navigation .inside-navigation{
    min-height:64px!important;
    padding-top:8px!important;
    padding-bottom:8px!important;
  }
  .felix-framework .main-navigation .main-nav > ul{
    gap:5px!important;
  }
  .felix-framework .main-navigation .main-nav > ul > li > a{
    min-height:44px!important;
    line-height:44px!important;
    padding:0 16px!important;
    border-radius:10px!important;
  }
}

/* FELiX 1.3.0 – approved Blueprint language for every active singular content type */
.felix-generic-blueprint{background:#fff;color:var(--felix-ink)}
.felix-generic-blueprint .felix-wrap{width:min(var(--felix-content,1180px),calc(100% - 44px));margin-inline:auto;padding-left:0!important;padding-right:0!important}
.felix-generic-hero{background:linear-gradient(135deg,#fafcfb,#eef6f2 60%,#deece5);border-bottom:1px solid var(--felix-line)}
.felix-generic-hero-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:44px;align-items:center;padding-top:64px!important;padding-bottom:64px!important}
.felix-generic-hero-grid:has(.felix-generic-hero-media){grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr)}
.felix-generic-hero-copy{max-width:860px}
.felix-generic-hero h1{font-size:clamp(40px,5vw,60px)!important;line-height:1.04!important;letter-spacing:-.035em!important;margin:10px 0 20px!important;color:var(--felix-ink)!important;font-weight:850!important;text-wrap:balance}
.felix-generic-hero .felix-lead{font-size:20px!important;line-height:1.65!important;color:#42554e!important;max-width:780px;margin:0!important}
.felix-generic-hero-media{justify-self:end;width:100%;max-width:390px;aspect-ratio:4/5;border-radius:28px;overflow:hidden;background:#dfece6;box-shadow:0 12px 36px rgba(20,55,43,.10)}
.felix-generic-hero-media img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;margin:0!important;border:0!important;border-radius:0!important}
.felix-generic-main{padding:72px 0;background:#f7fbf9}
.felix-generic-shell{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:42px;align-items:start}
.felix-generic-shell.felix-no-toc{grid-template-columns:minmax(0,1fr)}
.felix-generic-content{min-width:0;background:#fff;border:1px solid #dbe8e1;border-radius:20px;padding:clamp(28px,4vw,52px);box-shadow:0 5px 20px rgba(20,55,43,.04)}
.felix-generic-content>:first-child{margin-top:0!important}.felix-generic-content>:last-child{margin-bottom:0!important}
.felix-generic-content h2{font-size:clamp(28px,3.3vw,42px)!important;line-height:1.12!important;letter-spacing:-.025em!important;color:var(--felix-ink)!important;margin:1.55em 0 .5em!important;text-wrap:balance}
.felix-generic-content h3{font-size:clamp(21px,2.2vw,28px)!important;line-height:1.2!important;color:var(--felix-ink)!important;margin:1.35em 0 .45em!important}
.felix-generic-content h4{font-size:20px!important;line-height:1.3!important;color:var(--felix-ink)!important;margin:1.25em 0 .4em!important}
.felix-generic-content p,.felix-generic-content li{font-size:17px!important;line-height:1.75!important;color:#40534c!important}
.felix-generic-content ul,.felix-generic-content ol{padding-left:1.35em;margin-bottom:1.4em}
.felix-generic-content a:not(.felix-btn):not(.elementor-button){color:var(--felix-link)!important;text-decoration-thickness:1px;text-underline-offset:3px}
.felix-generic-content img{max-width:100%;height:auto;border-radius:16px}
.felix-generic-content blockquote{margin:28px 0;padding:18px 22px;border-left:4px solid var(--felix-green);background:#f2f7f4;border-radius:0 12px 12px 0;color:#40534c}
.felix-generic-content table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--felix-line);border-radius:12px;overflow:hidden}
.felix-generic-content th{background:#edf5f1;color:var(--felix-ink);font-weight:800}.felix-generic-content th,.felix-generic-content td{padding:12px 14px;border-bottom:1px solid var(--felix-line);text-align:left}
.felix-generic-content :where(.elementor-section,.e-con,.elementor-container){max-width:100%!important}
.felix-generic-content>.elementor{margin:-10px 0!important}
.felix-generic-content .elementor-section:first-child,.felix-generic-content .e-con:first-child{margin-top:0!important}
.felix-generic-content .elementor-widget-text-editor p:last-child{margin-bottom:0}
.felix-generic-content .elementor-widget-heading :is(h2,h3,h4){font-family:inherit!important;color:var(--felix-ink)!important}
.felix-generic-content .elementor-button{background:var(--felix-green)!important;color:#fff!important;border-radius:999px!important;border:0!important;padding:13px 20px!important;font-weight:800!important;box-shadow:none!important;text-decoration:none!important}
.felix-generic-content .elementor-button:hover,.felix-generic-content .elementor-button:focus-visible{background:#1f654c!important;color:#fff!important}
.felix-generic-blueprint .felix-side{top:24px}.felix-generic-blueprint .felix-sidebox{background:#fff;border:1px solid #dbe8e1;border-radius:18px;box-shadow:0 4px 15px rgba(20,55,43,.035)}
.felix-generic-faq{padding:70px 0!important;background:#fff!important}.felix-generic-faq .felix-framework-auto-faq{margin-top:20px}
.felix-blueprint-legal .felix-generic-hero-grid,.felix-blueprint-contact .felix-generic-hero-grid{padding-top:48px!important;padding-bottom:48px!important}
.felix-blueprint-legal .felix-generic-content{max-width:920px;margin-inline:auto}.felix-blueprint-legal .felix-generic-shell{display:block}
.felix-blueprint-knowledge .felix-generic-content,.felix-blueprint-lexicon .felix-generic-content{max-width:none}
.felix-blueprint-reviews .felix-generic-content,.felix-blueprint-service .felix-generic-content{padding:clamp(28px,4vw,48px)}
@media(max-width:1024px){
  .felix-generic-hero-grid:has(.felix-generic-hero-media){grid-template-columns:minmax(0,1fr) minmax(260px,.55fr)}
  .felix-generic-shell{grid-template-columns:minmax(0,1fr)}
  .felix-generic-blueprint .felix-side{position:static;order:-1}
}
@media(max-width:768px){
  .felix-generic-blueprint .felix-wrap{width:min(100% - 32px,var(--felix-content,1180px))}
  .felix-generic-hero-grid,.felix-generic-hero-grid:has(.felix-generic-hero-media){grid-template-columns:1fr;gap:30px;padding-top:44px!important;padding-bottom:46px!important}
  .felix-generic-hero h1{font-size:clamp(36px,11vw,46px)!important}
  .felix-generic-hero .felix-lead{font-size:18px!important}
  .felix-generic-hero-media{justify-self:start;max-width:330px;aspect-ratio:4/5}
  .felix-generic-main{padding:48px 0}
  .felix-generic-content{padding:26px 22px;border-radius:16px}
  .felix-generic-content p,.felix-generic-content li{font-size:16px!important}
  .felix-generic-faq{padding:52px 0!important}
}


/* FELiX 1.3.3 – SAFE legacy card presentation on generic Blueprint pages.
   No DOM re-parenting and no heuristic JS card conversion. Existing Elementor structure
   stays intact. Only well-known widget structures and direct card-like containers are styled. */

/* Exact Elementor Pro CTA */
.felix-generic-blueprint .felix-generic-content .elementor-widget-call-to-action .elementor-cta,
.felix-generic-blueprint .felix-generic-content .elementor-cta{
  background:#fff!important;border:1px solid #dbe8e1!important;border-radius:18px!important;
  overflow:hidden!important;box-shadow:0 4px 15px rgba(20,55,43,.04)!important;
}
.felix-generic-blueprint .felix-generic-content .elementor-cta__bg-wrapper{
  height:210px!important;min-height:210px!important;border-radius:0!important;
}
.felix-generic-blueprint .felix-generic-content .elementor-cta__bg{
  background-size:cover!important;background-position:center!important;transform:none!important;filter:none!important;
}
.felix-generic-blueprint .felix-generic-content .elementor-cta__bg-overlay{opacity:0!important;background:transparent!important}
.felix-generic-blueprint .felix-generic-content .elementor-cta__content{
  min-height:0!important;padding:22px 24px 24px!important;background:#fff!important;text-align:left!important;
  align-items:flex-start!important;justify-content:flex-start!important;
}
.felix-generic-blueprint .felix-generic-content .elementor-cta__title,
.felix-generic-blueprint .felix-generic-content .elementor-cta__description{text-align:left!important}
.felix-generic-blueprint .felix-generic-content .elementor-cta__title{font-size:22px!important;line-height:1.25!important;margin:0 0 9px!important}
.felix-generic-blueprint .felix-generic-content .elementor-cta__description{font-size:16px!important;line-height:1.55!important;color:#5d6d66!important;margin:0 0 16px!important}
.felix-generic-blueprint .felix-generic-content .elementor-cta__button{
  background:transparent!important;color:var(--felix-green)!important;padding:0!important;border:0!important;border-radius:0!important;
  box-shadow:none!important;font-weight:800!important;text-align:left!important;
}
.felix-generic-blueprint .felix-generic-content .elementor-cta__button:after{content:' →'}

/* Elementor Image Box – safe known widget structure */
.felix-generic-blueprint .felix-generic-content .elementor-widget-image-box .elementor-image-box-wrapper{
  background:#fff!important;border:1px solid #dbe8e1!important;border-radius:18px!important;overflow:hidden!important;
  box-shadow:0 4px 15px rgba(20,55,43,.04)!important;text-align:left!important;
}
.felix-generic-blueprint .felix-generic-content .elementor-widget-image-box .elementor-image-box-img{margin:0!important;width:100%!important}
.felix-generic-blueprint .felix-generic-content .elementor-widget-image-box .elementor-image-box-img img{
  display:block!important;width:100%!important;height:210px!important;object-fit:cover!important;border-radius:0!important;
}
.felix-generic-blueprint .felix-generic-content .elementor-widget-image-box .elementor-image-box-content{padding:22px 24px 24px!important;text-align:left!important}
.felix-generic-blueprint .felix-generic-content .elementor-widget-image-box .elementor-image-box-title{font-size:22px!important;line-height:1.25!important;margin:0 0 9px!important}
.felix-generic-blueprint .felix-generic-content .elementor-widget-image-box .elementor-image-box-description{font-size:16px!important;line-height:1.55!important;color:#5d6d66!important}

/* Common legacy card made of separate widgets. Direct-child constraints intentionally keep this narrow. */
.felix-generic-blueprint .felix-generic-content .elementor-column:has(> .elementor-element-populated > .elementor-widget-image):has(> .elementor-element-populated > .elementor-widget-heading):has(> .elementor-element-populated > .elementor-widget-button) > .elementor-element-populated,
.felix-generic-blueprint .felix-generic-content .e-con:has(> .elementor-widget-image):has(> .elementor-widget-heading):has(> .elementor-widget-button){
  background:#fff!important;border:1px solid #dbe8e1!important;border-radius:18px!important;overflow:hidden!important;
  box-shadow:0 4px 15px rgba(20,55,43,.04)!important;padding:0!important;
}
.felix-generic-blueprint .felix-generic-content .elementor-column:has(> .elementor-element-populated > .elementor-widget-image):has(> .elementor-element-populated > .elementor-widget-heading):has(> .elementor-element-populated > .elementor-widget-button) > .elementor-element-populated > .elementor-widget-image,
.felix-generic-blueprint .felix-generic-content .e-con:has(> .elementor-widget-image):has(> .elementor-widget-heading):has(> .elementor-widget-button) > .elementor-widget-image{margin:0!important;width:100%!important}
.felix-generic-blueprint .felix-generic-content .elementor-column:has(> .elementor-element-populated > .elementor-widget-image):has(> .elementor-element-populated > .elementor-widget-heading):has(> .elementor-element-populated > .elementor-widget-button) > .elementor-element-populated > .elementor-widget-image img,
.felix-generic-blueprint .felix-generic-content .e-con:has(> .elementor-widget-image):has(> .elementor-widget-heading):has(> .elementor-widget-button) > .elementor-widget-image img{
  display:block!important;width:100%!important;height:210px!important;object-fit:cover!important;border-radius:0!important;margin:0!important;
}
.felix-generic-blueprint .felix-generic-content .elementor-column:has(> .elementor-element-populated > .elementor-widget-image):has(> .elementor-element-populated > .elementor-widget-heading):has(> .elementor-element-populated > .elementor-widget-button) > .elementor-element-populated > :not(.elementor-widget-image),
.felix-generic-blueprint .felix-generic-content .e-con:has(> .elementor-widget-image):has(> .elementor-widget-heading):has(> .elementor-widget-button) > :not(.elementor-widget-image){
  padding-left:24px!important;padding-right:24px!important;text-align:left!important;
}
.felix-generic-blueprint .felix-generic-content .elementor-column:has(> .elementor-element-populated > .elementor-widget-image):has(> .elementor-element-populated > .elementor-widget-heading):has(> .elementor-element-populated > .elementor-widget-button) .elementor-widget-heading{padding-top:22px!important}
.felix-generic-blueprint .felix-generic-content .elementor-column:has(> .elementor-element-populated > .elementor-widget-image):has(> .elementor-element-populated > .elementor-widget-heading):has(> .elementor-element-populated > .elementor-widget-button) .elementor-heading-title,
.felix-generic-blueprint .felix-generic-content .e-con:has(> .elementor-widget-image):has(> .elementor-widget-heading):has(> .elementor-widget-button) > .elementor-widget-heading .elementor-heading-title{
  text-align:left!important;font-size:22px!important;line-height:1.25!important;
}
.felix-generic-blueprint .felix-generic-content .elementor-column:has(> .elementor-element-populated > .elementor-widget-image):has(> .elementor-element-populated > .elementor-widget-heading):has(> .elementor-element-populated > .elementor-widget-button) .elementor-widget-button,
.felix-generic-blueprint .felix-generic-content .e-con:has(> .elementor-widget-image):has(> .elementor-widget-heading):has(> .elementor-widget-button) > .elementor-widget-button{
  padding-bottom:24px!important;text-align:left!important;
}
.felix-generic-blueprint .felix-generic-content .elementor-column:has(> .elementor-element-populated > .elementor-widget-image):has(> .elementor-element-populated > .elementor-widget-heading):has(> .elementor-element-populated > .elementor-widget-button) .elementor-button,
.felix-generic-blueprint .felix-generic-content .e-con:has(> .elementor-widget-image):has(> .elementor-widget-heading):has(> .elementor-widget-button) > .elementor-widget-button .elementor-button{
  background:transparent!important;color:var(--felix-green)!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;
}
.felix-generic-blueprint .felix-generic-content .elementor-column:has(> .elementor-element-populated > .elementor-widget-image):has(> .elementor-element-populated > .elementor-widget-heading):has(> .elementor-element-populated > .elementor-widget-button) .elementor-button:after,
.felix-generic-blueprint .felix-generic-content .e-con:has(> .elementor-widget-image):has(> .elementor-widget-heading):has(> .elementor-widget-button) > .elementor-widget-button .elementor-button:after{content:' →'}

@media(max-width:700px){
  .felix-generic-blueprint .felix-generic-content .elementor-cta__bg-wrapper,
  .felix-generic-blueprint .felix-generic-content .elementor-widget-image-box .elementor-image-box-img img,
  .felix-generic-blueprint .felix-generic-content .elementor-column:has(> .elementor-element-populated > .elementor-widget-image):has(> .elementor-element-populated > .elementor-widget-heading):has(> .elementor-element-populated > .elementor-widget-button) > .elementor-element-populated > .elementor-widget-image img,
  .felix-generic-blueprint .felix-generic-content .e-con:has(> .elementor-widget-image):has(> .elementor-widget-heading):has(> .elementor-widget-button) > .elementor-widget-image img{height:180px!important;min-height:180px!important}
}


/* FELiX 1.3.4 – equal-height generic cards + clean rounded corners.
   Keeps the safe 1.3.3 strategy: no DOM re-parenting, only presentation. */

/* Let card columns in the same Elementor row stretch to the tallest sibling. */
.felix-generic-blueprint .felix-generic-content .elementor-row:has(> .elementor-column > .elementor-element-populated > .elementor-widget-image):has(> .elementor-column > .elementor-element-populated > .elementor-widget-button),
.felix-generic-blueprint .felix-generic-content .elementor-container:has(> .elementor-column > .elementor-element-populated > .elementor-widget-image):has(> .elementor-column > .elementor-element-populated > .elementor-widget-button){
  align-items:stretch!important;
}
.felix-generic-blueprint .felix-generic-content .elementor-column:has(> .elementor-element-populated > .elementor-widget-image):has(> .elementor-element-populated > .elementor-widget-heading):has(> .elementor-element-populated > .elementor-widget-button){
  display:flex!important;
  align-self:stretch!important;
}
.felix-generic-blueprint .felix-generic-content .elementor-column:has(> .elementor-element-populated > .elementor-widget-image):has(> .elementor-element-populated > .elementor-widget-heading):has(> .elementor-element-populated > .elementor-widget-button) > .elementor-element-populated{
  display:flex!important;
  flex-direction:column!important;
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  border-radius:18px!important;
  overflow:hidden!important;
  background-clip:padding-box!important;
}

/* Elementor containers using the newer e-con structure should also stretch evenly. */
.felix-generic-blueprint .felix-generic-content .e-con:has(> .e-con:has(> .elementor-widget-image):has(> .elementor-widget-heading):has(> .elementor-widget-button)){
  align-items:stretch!important;
}
.felix-generic-blueprint .felix-generic-content .e-con:has(> .elementor-widget-image):has(> .elementor-widget-heading):has(> .elementor-widget-button){
  display:flex!important;
  flex-direction:column!important;
  align-self:stretch!important;
  height:100%!important;
  border-radius:18px!important;
  overflow:hidden!important;
  background-clip:padding-box!important;
}

/* Images must be clipped by the card instead of creating slightly square/dirty top corners. */
.felix-generic-blueprint .felix-generic-content .elementor-column:has(> .elementor-element-populated > .elementor-widget-image):has(> .elementor-element-populated > .elementor-widget-heading):has(> .elementor-element-populated > .elementor-widget-button) .elementor-widget-image,
.felix-generic-blueprint .felix-generic-content .e-con:has(> .elementor-widget-image):has(> .elementor-widget-heading):has(> .elementor-widget-button) > .elementor-widget-image{
  overflow:hidden!important;
  border-radius:17px 17px 0 0!important;
  flex:0 0 auto!important;
}
.felix-generic-blueprint .felix-generic-content .elementor-column:has(> .elementor-element-populated > .elementor-widget-image):has(> .elementor-element-populated > .elementor-widget-heading):has(> .elementor-element-populated > .elementor-widget-button) .elementor-widget-image img,
.felix-generic-blueprint .felix-generic-content .e-con:has(> .elementor-widget-image):has(> .elementor-widget-heading):has(> .elementor-widget-button) > .elementor-widget-image img{
  border-radius:17px 17px 0 0!important;
}

/* Keep CTA button/link aligned at the same baseline even when text lengths differ. */
.felix-generic-blueprint .felix-generic-content .elementor-column:has(> .elementor-element-populated > .elementor-widget-image):has(> .elementor-element-populated > .elementor-widget-heading):has(> .elementor-element-populated > .elementor-widget-button) .elementor-widget-button,
.felix-generic-blueprint .felix-generic-content .e-con:has(> .elementor-widget-image):has(> .elementor-widget-heading):has(> .elementor-widget-button) > .elementor-widget-button{
  margin-top:auto!important;
}

/* Same clean edges / equal height for known Elementor CTA and Image Box widgets. */
.felix-generic-blueprint .felix-generic-content .elementor-widget-call-to-action,
.felix-generic-blueprint .felix-generic-content .elementor-widget-image-box{
  height:100%!important;
}
.felix-generic-blueprint .felix-generic-content .elementor-widget-call-to-action .elementor-widget-container,
.felix-generic-blueprint .felix-generic-content .elementor-widget-image-box .elementor-widget-container{
  height:100%!important;
}
.felix-generic-blueprint .felix-generic-content .elementor-widget-call-to-action .elementor-cta,
.felix-generic-blueprint .felix-generic-content .elementor-widget-image-box .elementor-image-box-wrapper{
  height:100%!important;
  border-radius:18px!important;
  overflow:hidden!important;
  background-clip:padding-box!important;
}
.felix-generic-blueprint .felix-generic-content .elementor-widget-image-box .elementor-image-box-wrapper{
  display:flex!important;
  flex-direction:column!important;
}
.felix-generic-blueprint .felix-generic-content .elementor-widget-image-box .elementor-image-box-content{
  display:flex!important;
  flex-direction:column!important;
  flex:1 1 auto!important;
}

@media(max-width:700px){
  .felix-generic-blueprint .felix-generic-content .elementor-column:has(> .elementor-element-populated > .elementor-widget-image):has(> .elementor-element-populated > .elementor-widget-heading):has(> .elementor-element-populated > .elementor-widget-button) > .elementor-element-populated,
  .felix-generic-blueprint .felix-generic-content .e-con:has(> .elementor-widget-image):has(> .elementor-widget-heading):has(> .elementor-widget-button){
    min-height:0!important;
    height:auto!important;
  }
}

/* FELiX 1.3.5 – Blueprint card system.
   Goal: clean continuous rounded edges, stable equal heights on desktop and
   compact horizontal cards for eBook/resource sections. No semantic/content changes. */

:root{--felix-card-radius:18px;--felix-card-border:#dbe8e1;--felix-card-shadow:0 8px 24px rgba(20,55,43,.08)}

/* Reset the too-aggressive height inheritance from 1.3.4 on arbitrary Elementor containers. */
.felix-generic-blueprint .felix-generic-content .elementor-column,
.felix-generic-blueprint .felix-generic-content .elementor-element-populated,
.felix-generic-blueprint .felix-generic-content .e-con{min-height:0}

/* Card rows: siblings stretch together; the individual card owns the visible edge. */
@media(min-width:769px){
  .felix-generic-blueprint .felix-generic-content .felix-card-row,
  .felix-generic-blueprint .felix-generic-content .elementor-container:has(> .elementor-column .felix-card-shell),
  .felix-generic-blueprint .felix-generic-content .e-con:has(> .felix-card-shell){
    align-items:stretch!important;
  }
  .felix-generic-blueprint .felix-generic-content .felix-card-column{display:flex!important;align-self:stretch!important}
  .felix-generic-blueprint .felix-generic-content .felix-card-column>.elementor-element-populated,
  .felix-generic-blueprint .felix-generic-content .felix-card-column>.e-con-inner{display:flex!important;flex-direction:column!important;width:100%!important}
  .felix-generic-blueprint .felix-generic-content .felix-card-shell{height:100%!important;min-height:0!important}
}

/* One visible shell, one radius, one shadow. This removes the dirty/double corners. */
.felix-generic-blueprint .felix-generic-content .felix-card-shell{
  position:relative!important;background:#fff!important;border:1px solid var(--felix-card-border)!important;
  border-radius:var(--felix-card-radius)!important;overflow:hidden!important;background-clip:padding-box!important;
  box-shadow:var(--felix-card-shadow)!important;isolation:isolate!important;
}
.felix-generic-blueprint .felix-generic-content .felix-card-shell *,
.felix-generic-blueprint .felix-generic-content .felix-card-shell .elementor-widget-container{
  box-shadow:none!important;
}

/* Standard image-top card */
.felix-generic-blueprint .felix-generic-content .felix-card-media{
  overflow:hidden!important;border-radius:calc(var(--felix-card-radius) - 1px) calc(var(--felix-card-radius) - 1px) 0 0!important;
  margin:0!important;flex:0 0 auto!important;
}
.felix-generic-blueprint .felix-generic-content .felix-card-media img{
  display:block!important;width:100%!important;height:210px!important;object-fit:cover!important;margin:0!important;
  border:0!important;border-radius:0!important;
}
.felix-generic-blueprint .felix-generic-content .felix-card-body{
  display:flex!important;flex-direction:column!important;flex:1 1 auto!important;padding:24px 26px 26px!important;text-align:left!important;
}
.felix-generic-blueprint .felix-generic-content .felix-card-body h2,
.felix-generic-blueprint .felix-generic-content .felix-card-body h3,
.felix-generic-blueprint .felix-generic-content .felix-card-body h4,
.felix-generic-blueprint .felix-generic-content .felix-card-body .elementor-heading-title{
  margin:0 0 10px!important;font-size:clamp(21px,2vw,27px)!important;line-height:1.18!important;text-align:left!important;
}
.felix-generic-blueprint .felix-generic-content .felix-card-body p{font-size:16px!important;line-height:1.55!important;margin:0 0 14px!important}
.felix-generic-blueprint .felix-generic-content .felix-card-action{margin-top:auto!important;padding-top:10px!important}
.felix-generic-blueprint .felix-generic-content .felix-card-action .elementor-button,
.felix-generic-blueprint .felix-generic-content .felix-card-action a{
  display:inline-flex!important;align-items:center!important;width:auto!important;background:var(--felix-green)!important;color:#fff!important;
  border:0!important;border-radius:999px!important;padding:12px 20px!important;font-weight:800!important;text-decoration:none!important;
}

/* Exact Elementor CTA becomes a stable flex card without changing its DOM. */
.felix-generic-blueprint .felix-generic-content .elementor-cta.felix-card-shell{display:flex!important;flex-direction:column!important}
.felix-generic-blueprint .felix-generic-content .elementor-cta.felix-card-shell .elementor-cta__bg-wrapper{height:210px!important;min-height:210px!important;flex:0 0 210px!important;border-radius:0!important}
.felix-generic-blueprint .felix-generic-content .elementor-cta.felix-card-shell .elementor-cta__content{display:flex!important;flex-direction:column!important;flex:1 1 auto!important;padding:24px 26px 26px!important}
.felix-generic-blueprint .felix-generic-content .elementor-cta.felix-card-shell .elementor-cta__button-wrapper{margin-top:auto!important;padding-top:10px!important}
.felix-generic-blueprint .felix-generic-content .elementor-cta.felix-card-shell .elementor-cta__button{background:var(--felix-green)!important;color:#fff!important;border-radius:999px!important;padding:12px 20px!important}

/* Exact Image Box */
.felix-generic-blueprint .felix-generic-content .elementor-image-box-wrapper.felix-card-shell{display:flex!important;flex-direction:column!important}
.felix-generic-blueprint .felix-generic-content .elementor-image-box-wrapper.felix-card-shell .elementor-image-box-img{margin:0!important;overflow:hidden!important;flex:0 0 auto!important}
.felix-generic-blueprint .felix-generic-content .elementor-image-box-wrapper.felix-card-shell .elementor-image-box-content{display:flex!important;flex-direction:column!important;flex:1 1 auto!important;padding:24px 26px 26px!important}

/* Resource/eBook rows are deliberately compact and horizontal like the approved visual blueprint. */
@media(min-width:769px){
  .felix-generic-blueprint .felix-generic-content .felix-resource-card.felix-card-shell{
    display:grid!important;grid-template-columns:minmax(130px,34%) minmax(0,1fr)!important;grid-template-rows:1fr!important;
    min-height:205px!important;height:100%!important;
  }
  .felix-generic-blueprint .felix-generic-content .felix-resource-card .felix-card-media,
  .felix-generic-blueprint .felix-generic-content .felix-resource-card .elementor-image-box-img{
    grid-column:1!important;grid-row:1!important;height:100%!important;min-height:205px!important;border-radius:0!important;
  }
  .felix-generic-blueprint .felix-generic-content .felix-resource-card .felix-card-media img,
  .felix-generic-blueprint .felix-generic-content .felix-resource-card .elementor-image-box-img img{
    height:100%!important;min-height:205px!important;object-fit:cover!important;border-radius:0!important;
  }
  .felix-generic-blueprint .felix-generic-content .felix-resource-card .felix-card-body,
  .felix-generic-blueprint .felix-generic-content .felix-resource-card .elementor-image-box-content{
    grid-column:2!important;grid-row:1!important;padding:22px 24px!important;min-width:0!important;
  }
}

@media(max-width:768px){
  .felix-generic-blueprint .felix-generic-content .felix-card-shell{height:auto!important;min-height:0!important}
  .felix-generic-blueprint .felix-generic-content .felix-card-media img{height:190px!important}
  .felix-generic-blueprint .felix-generic-content .felix-card-body{padding:20px 20px 22px!important}
  .felix-generic-blueprint .felix-generic-content .felix-resource-card{display:flex!important;flex-direction:column!important}
}


/* FELiX 1.3.6 – approved card geometry from the visual blueprint.
   Fixes: one clean outer radius, true equal-height desktop siblings, and
   compact horizontal eBook/resource cards without changing semantic content. */

:root{--felix-card-radius:18px;--felix-card-gap:20px}

/* The host owns the visible silhouette. Remove inherited Elementor edges/shadows. */
.felix-generic-blueprint .felix-generic-content .felix-card-host,
.felix-generic-blueprint .felix-generic-content .felix-card-host>.elementor-widget-container{
  height:100%!important;min-height:0!important;background:transparent!important;border:0!important;
  border-radius:var(--felix-card-radius)!important;box-shadow:none!important;overflow:visible!important;
}
.felix-generic-blueprint .felix-generic-content .felix-card-shell{
  width:100%!important;height:100%!important;min-height:0!important;border-radius:var(--felix-card-radius)!important;
  overflow:hidden!important;clip-path:inset(0 round var(--felix-card-radius))!important;
  border:1px solid var(--felix-card-border)!important;box-shadow:0 6px 18px rgba(20,55,43,.07)!important;
}
.felix-generic-blueprint .felix-generic-content .felix-card-shell:before,
.felix-generic-blueprint .felix-generic-content .felix-card-shell:after{border-radius:inherit!important}

/* Exact top cards: make every level in the sibling chain stretch. */
@media(min-width:769px){
  .felix-generic-blueprint .felix-generic-content .felix-card-row{display:flex!important;align-items:stretch!important;gap:var(--felix-card-gap)!important}
  .felix-generic-blueprint .felix-generic-content .felix-card-row>.elementor-column,
  .felix-generic-blueprint .felix-generic-content .felix-card-row>.e-con,
  .felix-generic-blueprint .felix-generic-content .felix-card-column{display:flex!important;align-items:stretch!important;flex:1 1 0!important}
  .felix-generic-blueprint .felix-generic-content .felix-card-column>.elementor-element-populated,
  .felix-generic-blueprint .felix-generic-content .felix-card-column>.e-con-inner{display:flex!important;flex-direction:column!important;flex:1 1 auto!important;height:100%!important}
  .felix-generic-blueprint .felix-generic-content .felix-card-column .elementor-widget-call-to-action,
  .felix-generic-blueprint .felix-generic-content .felix-card-column .elementor-widget-image-box,
  .felix-generic-blueprint .felix-generic-content .felix-card-column .felix-card-host{display:flex!important;flex:1 1 auto!important;height:100%!important}
  .felix-generic-blueprint .felix-generic-content .felix-card-column .elementor-widget-container{width:100%!important;height:100%!important}
}

/* Image joins the rounded shell precisely; no independent corner/shadow. */
.felix-generic-blueprint .felix-generic-content .felix-card-media,
.felix-generic-blueprint .felix-generic-content .elementor-cta__bg-wrapper,
.felix-generic-blueprint .felix-generic-content .elementor-image-box-img{
  border:0!important;box-shadow:none!important;margin:0!important;border-radius:0!important;overflow:hidden!important;
}
.felix-generic-blueprint .felix-generic-content .felix-card-media img,
.felix-generic-blueprint .felix-generic-content .elementor-image-box-img img{
  border-radius:0!important;box-shadow:none!important;margin:0!important;display:block!important;
}

/* Resource cards: classify whole resource columns and render like the approved mockup.
   Existing widgets stay in place; CSS grid provides the visual arrangement. */
@media(min-width:769px){
  .felix-generic-blueprint .felix-generic-content .felix-resource-row{
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important;align-items:stretch!important;
  }
  .felix-generic-blueprint .felix-generic-content .felix-resource-column{
    display:grid!important;grid-template-columns:minmax(140px,34%) minmax(0,1fr)!important;
    grid-template-rows:auto 1fr auto!important;column-gap:22px!important;row-gap:0!important;
    min-height:210px!important;height:auto!important;padding:0!important;background:#fff!important;
    border:1px solid var(--felix-card-border)!important;border-radius:var(--felix-card-radius)!important;
    overflow:hidden!important;clip-path:inset(0 round var(--felix-card-radius))!important;
    box-shadow:0 6px 18px rgba(20,55,43,.07)!important;
  }
  .felix-generic-blueprint .felix-generic-content .felix-resource-column>.elementor-widget-image,
  .felix-generic-blueprint .felix-generic-content .felix-resource-column>.elementor-widget-image-box,
  .felix-generic-blueprint .felix-generic-content .felix-resource-column>.felix-resource-media{
    grid-column:1!important;grid-row:1 / -1!important;height:100%!important;margin:0!important;align-self:stretch!important;
  }
  .felix-generic-blueprint .felix-generic-content .felix-resource-column>.elementor-widget-image .elementor-widget-container,
  .felix-generic-blueprint .felix-generic-content .felix-resource-column>.elementor-widget-image-box .elementor-image-box-wrapper,
  .felix-generic-blueprint .felix-generic-content .felix-resource-column>.felix-resource-media .elementor-widget-container{
    height:100%!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;border-radius:0!important;
  }
  .felix-generic-blueprint .felix-generic-content .felix-resource-column>.elementor-widget-image img,
  .felix-generic-blueprint .felix-generic-content .felix-resource-column>.elementor-widget-image-box img,
  .felix-generic-blueprint .felix-generic-content .felix-resource-column>.felix-resource-media img{
    width:100%!important;height:100%!important;min-height:210px!important;object-fit:cover!important;display:block!important;border-radius:0!important;
  }
  .felix-generic-blueprint .felix-generic-content .felix-resource-column>.elementor-widget-heading,
  .felix-generic-blueprint .felix-generic-content .felix-resource-column>.felix-resource-title{
    grid-column:2!important;grid-row:1!important;margin:0!important;padding:20px 22px 6px 0!important;align-self:end!important;
  }
  .felix-generic-blueprint .felix-generic-content .felix-resource-column>.elementor-widget-text-editor,
  .felix-generic-blueprint .felix-generic-content .felix-resource-column>.felix-resource-text{
    grid-column:2!important;grid-row:2!important;margin:0!important;padding:0 22px 8px 0!important;align-self:start!important;
  }
  .felix-generic-blueprint .felix-generic-content .felix-resource-column>.elementor-widget-button,
  .felix-generic-blueprint .felix-generic-content .felix-resource-column>.felix-resource-action{
    grid-column:2!important;grid-row:3!important;margin:0!important;padding:0 22px 20px 0!important;align-self:end!important;
  }
  .felix-generic-blueprint .felix-generic-content .felix-resource-column>.elementor-widget-heading .elementor-heading-title{
    font-size:22px!important;line-height:1.2!important;margin:0!important;text-align:left!important;
  }
  .felix-generic-blueprint .felix-generic-content .felix-resource-column>.elementor-widget-text-editor p{font-size:16px!important;line-height:1.5!important;margin:0!important}
  .felix-generic-blueprint .felix-generic-content .felix-resource-column>.elementor-widget-button .elementor-button{
    display:inline-flex!important;width:auto!important;border-radius:999px!important;background:var(--felix-green)!important;color:#fff!important;
    padding:11px 18px!important;font-weight:800!important;box-shadow:none!important;
  }
}

@media(max-width:768px){
  .felix-generic-blueprint .felix-generic-content .felix-resource-row{display:block!important}
  .felix-generic-blueprint .felix-generic-content .felix-resource-column{display:block!important;height:auto!important;margin-bottom:18px!important}
}

/* FELiX 1.3.7 – server-rendered resource cards matching the approved visual prototype. */
.felix-generic-blueprint .felix-native-resource-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:26px 0 34px;
}
.felix-generic-blueprint .felix-native-resource-card{
  display:grid;grid-template-columns:minmax(128px,36%) minmax(0,1fr);min-height:205px;
  background:#fff;border:1px solid #dbe8e1;border-radius:18px;overflow:hidden;
  box-shadow:0 5px 16px rgba(20,55,43,.06);margin:0;
}
.felix-generic-blueprint .felix-native-resource-media{min-height:205px;overflow:hidden;background:#eef6f2}
.felix-generic-blueprint .felix-native-resource-media img{width:100%;height:100%;min-height:205px;object-fit:cover;display:block;margin:0;border-radius:0}
.felix-generic-blueprint .felix-native-resource-body{display:flex;flex-direction:column;min-width:0;padding:22px 22px 20px}
.felix-generic-blueprint .felix-native-resource-body h3{font-size:22px!important;line-height:1.18!important;margin:0 0 10px!important;color:var(--felix-ink)!important}
.felix-generic-blueprint .felix-native-resource-body p{font-size:16px!important;line-height:1.5!important;margin:0 0 16px!important;color:#5f7069!important}
.felix-generic-blueprint .felix-native-resource-action{margin-top:auto;align-self:flex-start;display:inline-flex;align-items:center;justify-content:center;background:var(--felix-green)!important;color:#fff!important;text-decoration:none!important;border-radius:999px;padding:11px 18px;font-weight:800;line-height:1.2}
.felix-generic-blueprint .felix-native-resource-action:hover,.felix-generic-blueprint .felix-native-resource-action:focus-visible{background:#245b49!important;color:#fff!important}
@media(max-width:768px){
  .felix-generic-blueprint .felix-native-resource-grid{grid-template-columns:1fr;gap:16px}
  .felix-generic-blueprint .felix-native-resource-card{grid-template-columns:120px minmax(0,1fr);min-height:180px}
  .felix-generic-blueprint .felix-native-resource-media,.felix-generic-blueprint .felix-native-resource-media img{min-height:180px}
}
@media(max-width:520px){
  .felix-generic-blueprint .felix-native-resource-card{display:block;min-height:0}
  .felix-generic-blueprint .felix-native-resource-media,.felix-generic-blueprint .felix-native-resource-media img{height:190px;min-height:190px}
  .felix-generic-blueprint .felix-native-resource-body{padding:20px}
}

/* FELiX 1.3.8 – authoritative server-rendered resource/eBook cards. */
.felix-generic-blueprint .felix-generic-content .felix-resource-column,
.felix-generic-blueprint .felix-generic-content .felix-resource-row{
  min-height:0!important;height:auto!important;
}
.felix-generic-blueprint .felix-native-resource-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:18px!important;
  align-items:stretch!important;
  margin:26px 0 34px!important;
  width:100%!important;
}
.felix-generic-blueprint .felix-native-resource-card{
  display:grid!important;
  grid-template-columns:148px minmax(0,1fr)!important;
  min-height:205px!important;
  height:100%!important;
  background:#fff!important;
  border:1px solid #dbe8e1!important;
  border-radius:18px!important;
  overflow:hidden!important;
  box-shadow:0 5px 16px rgba(20,55,43,.06)!important;
  margin:0!important;
}
.felix-generic-blueprint .felix-native-resource-media{
  min-height:205px!important;
  height:100%!important;
  overflow:hidden!important;
  background:#f4f8f6!important;
}
.felix-generic-blueprint .felix-native-resource-media img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:205px!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  object-fit:cover!important;
}
.felix-generic-blueprint .felix-native-resource-card--ebook .felix-native-resource-media img{
  object-fit:contain!important;
  padding:12px!important;
  background:#f4f8f6!important;
  box-sizing:border-box!important;
}
.felix-generic-blueprint .felix-native-resource-body{
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  padding:20px 20px 18px!important;
  text-align:left!important;
}
.felix-generic-blueprint .felix-native-resource-body h3{
  font-size:22px!important;
  line-height:1.18!important;
  margin:0 0 9px!important;
  color:var(--felix-ink)!important;
  text-align:left!important;
}
.felix-generic-blueprint .felix-native-resource-body p{
  font-size:16px!important;
  line-height:1.48!important;
  margin:0 0 15px!important;
  color:#5f7069!important;
  text-align:left!important;
}
.felix-generic-blueprint .felix-native-resource-action{
  margin-top:auto!important;
  align-self:flex-start!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  max-width:100%!important;
  background:var(--felix-green)!important;
  color:#fff!important;
  text-decoration:none!important;
  border:0!important;
  border-radius:999px!important;
  padding:11px 18px!important;
  font-weight:800!important;
  line-height:1.2!important;
  box-shadow:none!important;
}
.felix-generic-blueprint .felix-native-resource-action:hover,
.felix-generic-blueprint .felix-native-resource-action:focus-visible{background:#245b49!important;color:#fff!important}
@media(max-width:900px){
  .felix-generic-blueprint .felix-native-resource-card{grid-template-columns:126px minmax(0,1fr)!important}
}
@media(max-width:768px){
  .felix-generic-blueprint .felix-native-resource-grid{grid-template-columns:1fr!important;gap:16px!important}
  .felix-generic-blueprint .felix-native-resource-card{grid-template-columns:120px minmax(0,1fr)!important;min-height:180px!important}
  .felix-generic-blueprint .felix-native-resource-media,
  .felix-generic-blueprint .felix-native-resource-media img{min-height:180px!important}
}
@media(max-width:520px){
  .felix-generic-blueprint .felix-native-resource-card{display:block!important;min-height:0!important;height:auto!important}
  .felix-generic-blueprint .felix-native-resource-media,
  .felix-generic-blueprint .felix-native-resource-media img{height:190px!important;min-height:190px!important}
  .felix-generic-blueprint .felix-native-resource-body{padding:19px!important}
}

/* FELiX 1.3.9 – approved compact resource-card blueprint. */
.felix-generic-blueprint .felix-native-resource-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:18px!important;
  align-items:stretch!important;
}
.felix-generic-blueprint .felix-native-resource-card{
  grid-template-columns:minmax(138px,40%) minmax(0,60%)!important;
  min-height:220px!important;
  height:220px!important;
  border-radius:18px!important;
  overflow:hidden!important;
  border:1px solid #dbe8e1!important;
  box-shadow:0 7px 20px rgba(20,55,43,.07)!important;
}
.felix-generic-blueprint .felix-native-resource-media{
  min-height:0!important;
  height:220px!important;
  background:#f4f8f6!important;
}
.felix-generic-blueprint .felix-native-resource-media img{
  min-height:0!important;
  height:220px!important;
  width:100%!important;
  object-fit:cover!important;
}
.felix-generic-blueprint .felix-native-resource-card--ebook .felix-native-resource-media img{
  object-fit:contain!important;
  padding:18px 14px!important;
}
.felix-generic-blueprint .felix-native-resource-body{
  height:220px!important;
  box-sizing:border-box!important;
  padding:22px 22px 18px!important;
  justify-content:flex-start!important;
}
.felix-generic-blueprint .felix-native-resource-body h3{
  font-size:23px!important;
  line-height:1.16!important;
  margin:0 0 12px!important;
}
.felix-generic-blueprint .felix-native-resource-body p{
  font-size:16px!important;
  line-height:1.48!important;
  margin:0 0 14px!important;
}
.felix-generic-blueprint .felix-native-resource-action,
.felix-generic-blueprint .felix-native-resource-action:link,
.felix-generic-blueprint .felix-native-resource-action:visited{
  margin-top:auto!important;
  align-self:flex-start!important;
  min-height:44px!important;
  width:auto!important;
  max-width:100%!important;
  padding:11px 20px!important;
  border-radius:999px!important;
  background:#2f7d5d!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font-size:15px!important;
  font-weight:800!important;
  line-height:1.2!important;
  white-space:normal!important;
  text-align:center!important;
  text-decoration:none!important;
}
.felix-generic-blueprint .felix-native-resource-action:hover,
.felix-generic-blueprint .felix-native-resource-action:focus-visible{
  background:#245b49!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
@media(max-width:900px){
  .felix-generic-blueprint .felix-native-resource-card{grid-template-columns:132px minmax(0,1fr)!important;height:210px!important;min-height:210px!important}
  .felix-generic-blueprint .felix-native-resource-media,
  .felix-generic-blueprint .felix-native-resource-media img,
  .felix-generic-blueprint .felix-native-resource-body{height:210px!important}
}
@media(max-width:768px){
  .felix-generic-blueprint .felix-native-resource-grid{grid-template-columns:1fr!important}
  .felix-generic-blueprint .felix-native-resource-card{grid-template-columns:132px minmax(0,1fr)!important;height:200px!important;min-height:200px!important}
  .felix-generic-blueprint .felix-native-resource-media,
  .felix-generic-blueprint .felix-native-resource-media img,
  .felix-generic-blueprint .felix-native-resource-body{height:200px!important}
}
@media(max-width:520px){
  .felix-generic-blueprint .felix-native-resource-card{display:grid!important;grid-template-columns:110px minmax(0,1fr)!important;height:auto!important;min-height:180px!important}
  .felix-generic-blueprint .felix-native-resource-media,
  .felix-generic-blueprint .felix-native-resource-media img{height:100%!important;min-height:180px!important}
  .felix-generic-blueprint .felix-native-resource-body{height:auto!important;min-height:180px!important;padding:18px!important}
  .felix-generic-blueprint .felix-native-resource-body h3{font-size:20px!important}
}

/* FELiX 1.4.0 – resource cards based on the approved visual reference.
   Desktop: two equal cards, generous horizontal layout, fixed internal rhythm,
   image left / content right, CTA anchored safely inside each card. */
@media (min-width: 769px){
  .felix-generic-blueprint .felix-native-resource-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:22px!important;
    align-items:stretch!important;
    width:100%!important;
    margin:34px 0 42px!important;
  }
  .felix-generic-blueprint .felix-native-resource-card{
    display:grid!important;
    grid-template-columns:minmax(180px,42%) minmax(0,58%)!important;
    height:300px!important;
    min-height:300px!important;
    border:1px solid #d8e6df!important;
    border-radius:20px!important;
    overflow:hidden!important;
    background:#fff!important;
    box-shadow:0 8px 24px rgba(20,55,43,.055)!important;
  }
  .felix-generic-blueprint .felix-native-resource-media{
    height:300px!important;
    min-height:300px!important;
    background:#f4f8f6!important;
    overflow:hidden!important;
  }
  .felix-generic-blueprint .felix-native-resource-media img{
    display:block!important;
    width:100%!important;
    height:300px!important;
    min-height:300px!important;
    object-fit:cover!important;
    object-position:center!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
  }
  .felix-generic-blueprint .felix-native-resource-card--ebook .felix-native-resource-media img{
    object-fit:contain!important;
    padding:30px 24px!important;
    box-sizing:border-box!important;
    background:#f4f8f6!important;
  }
  .felix-generic-blueprint .felix-native-resource-body{
    display:flex!important;
    flex-direction:column!important;
    height:300px!important;
    min-height:300px!important;
    box-sizing:border-box!important;
    padding:28px 28px 24px!important;
    text-align:left!important;
    overflow:hidden!important;
  }
  .felix-generic-blueprint .felix-native-resource-body h3{
    font-size:27px!important;
    line-height:1.12!important;
    letter-spacing:-.02em!important;
    margin:0 0 16px!important;
    color:var(--felix-ink)!important;
    text-align:left!important;
  }
  .felix-generic-blueprint .felix-native-resource-body p{
    font-size:17px!important;
    line-height:1.5!important;
    margin:0 0 20px!important;
    color:#5f7069!important;
    text-align:left!important;
  }
  .felix-generic-blueprint .felix-native-resource-action,
  .felix-generic-blueprint .felix-native-resource-action:link,
  .felix-generic-blueprint .felix-native-resource-action:visited{
    margin-top:auto!important;
    margin-bottom:0!important;
    align-self:stretch!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:54px!important;
    width:100%!important;
    max-width:none!important;
    box-sizing:border-box!important;
    padding:13px 20px!important;
    border-radius:999px!important;
    background:#2f7d5d!important;
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    font-size:16px!important;
    font-weight:800!important;
    line-height:1.25!important;
    white-space:normal!important;
    text-align:center!important;
    text-decoration:none!important;
  }
}

@media (min-width: 769px) and (max-width: 1050px){
  .felix-generic-blueprint .felix-native-resource-card{
    grid-template-columns:minmax(150px,39%) minmax(0,61%)!important;
    height:280px!important;
    min-height:280px!important;
  }
  .felix-generic-blueprint .felix-native-resource-media,
  .felix-generic-blueprint .felix-native-resource-media img,
  .felix-generic-blueprint .felix-native-resource-body{
    height:280px!important;
    min-height:280px!important;
  }
  .felix-generic-blueprint .felix-native-resource-body{padding:24px 22px 22px!important}
  .felix-generic-blueprint .felix-native-resource-body h3{font-size:23px!important}
  .felix-generic-blueprint .felix-native-resource-body p{font-size:16px!important}
  .felix-generic-blueprint .felix-native-resource-action{font-size:15px!important;min-height:50px!important}
}

@media (max-width: 768px){
  .felix-generic-blueprint .felix-native-resource-grid{
    grid-template-columns:1fr!important;
    gap:18px!important;
    margin:26px 0 34px!important;
  }
  .felix-generic-blueprint .felix-native-resource-card{
    display:grid!important;
    grid-template-columns:132px minmax(0,1fr)!important;
    height:auto!important;
    min-height:210px!important;
    border-radius:18px!important;
    overflow:hidden!important;
  }
  .felix-generic-blueprint .felix-native-resource-media,
  .felix-generic-blueprint .felix-native-resource-media img{
    height:100%!important;
    min-height:210px!important;
  }
  .felix-generic-blueprint .felix-native-resource-body{
    height:auto!important;
    min-height:210px!important;
    padding:20px!important;
    box-sizing:border-box!important;
  }
  .felix-generic-blueprint .felix-native-resource-action{
    margin-top:auto!important;
    width:100%!important;
    align-self:stretch!important;
  }
}


/* FELiX 1.4.1 – approved wide resource-card layout.
   Resource pages use the full framework content width instead of sharing the row
   with the TOC sidebar. This is required for the approved two-card desktop design. */
.felix-generic-shell.felix-resource-layout{
  grid-template-columns:minmax(0,1fr)!important;
}
.felix-generic-shell.felix-resource-layout .felix-generic-content{
  width:100%!important;
  max-width:none!important;
}
@media (min-width: 769px){
  .felix-generic-shell.felix-resource-layout .felix-native-resource-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:24px!important;
    width:100%!important;
  }
  .felix-generic-shell.felix-resource-layout .felix-native-resource-card{
    grid-template-columns:minmax(210px,43%) minmax(0,57%)!important;
    height:310px!important;
    min-height:310px!important;
    border-radius:22px!important;
  }
  .felix-generic-shell.felix-resource-layout .felix-native-resource-media,
  .felix-generic-shell.felix-resource-layout .felix-native-resource-media img,
  .felix-generic-shell.felix-resource-layout .felix-native-resource-body{
    height:310px!important;
    min-height:310px!important;
  }
  .felix-generic-shell.felix-resource-layout .felix-native-resource-card--ebook .felix-native-resource-media img{
    padding:20px 18px!important;
  }
  .felix-generic-shell.felix-resource-layout .felix-native-resource-body{
    padding:28px 28px 24px!important;
    overflow:visible!important;
  }
  .felix-generic-shell.felix-resource-layout .felix-native-resource-body h3{
    font-size:28px!important;
    line-height:1.12!important;
    margin:0 0 16px!important;
  }
  .felix-generic-shell.felix-resource-layout .felix-native-resource-body p{
    font-size:17px!important;
    line-height:1.48!important;
    margin:0 0 18px!important;
  }
  .felix-generic-shell.felix-resource-layout .felix-native-resource-action,
  .felix-generic-shell.felix-resource-layout .felix-native-resource-action:link,
  .felix-generic-shell.felix-resource-layout .felix-native-resource-action:visited{
    margin-top:auto!important;
    width:100%!important;
    min-height:54px!important;
    padding:13px 18px!important;
    white-space:nowrap!important;
    overflow:visible!important;
    font-size:16px!important;
  }
}
@media (min-width:769px) and (max-width:1100px){
  .felix-generic-shell.felix-resource-layout .felix-native-resource-card{
    grid-template-columns:minmax(175px,40%) minmax(0,60%)!important;
    height:290px!important;
    min-height:290px!important;
  }
  .felix-generic-shell.felix-resource-layout .felix-native-resource-media,
  .felix-generic-shell.felix-resource-layout .felix-native-resource-media img,
  .felix-generic-shell.felix-resource-layout .felix-native-resource-body{
    height:290px!important;
    min-height:290px!important;
  }
  .felix-generic-shell.felix-resource-layout .felix-native-resource-body{padding:24px 22px 22px!important}
  .felix-generic-shell.felix-resource-layout .felix-native-resource-body h3{font-size:24px!important}
  .felix-generic-shell.felix-resource-layout .felix-native-resource-body p{font-size:16px!important}
  .felix-generic-shell.felix-resource-layout .felix-native-resource-action{font-size:14px!important}
}

/* FELiX 1.4.2 – buttons without directional arrows.
 * Applies to every active Framework page. Decorative directional icons and
 * generated arrow pseudo-elements are suppressed; button labels remain unchanged. */
.felix-framework .elementor-button:before,
.felix-framework .elementor-button:after,
.felix-framework .felix-btn:before,
.felix-framework .felix-btn:after,
.felix-framework .felix-native-resource-action:before,
.felix-framework .felix-native-resource-action:after,
.felix-framework .wp-element-button:before,
.felix-framework .wp-element-button:after,
.felix-framework a.button:before,
.felix-framework a.button:after,
.felix-framework button:before,
.felix-framework button:after{content:none!important}

.felix-framework .elementor-button-icon .fa-arrow-left,
.felix-framework .elementor-button-icon .fa-arrow-right,
.felix-framework .elementor-button-icon .fa-long-arrow-left,
.felix-framework .elementor-button-icon .fa-long-arrow-right,
.felix-framework .elementor-button-icon .fa-chevron-left,
.felix-framework .elementor-button-icon .fa-chevron-right,
.felix-framework .elementor-button-icon .fa-angle-left,
.felix-framework .elementor-button-icon .fa-angle-right,
.felix-framework .elementor-button-icon [class*="arrow-left"],
.felix-framework .elementor-button-icon [class*="arrow-right"],
.felix-framework .elementor-button-icon [class*="chevron-left"],
.felix-framework .elementor-button-icon [class*="chevron-right"],
.felix-framework .elementor-button-icon [class*="angle-left"],
.felix-framework .elementor-button-icon [class*="angle-right"],
.felix-framework .dashicons-arrow-left,
.felix-framework .dashicons-arrow-right,
.felix-framework .dashicons-arrow-left-alt,
.felix-framework .dashicons-arrow-right-alt,
.felix-framework .dashicons-arrow-left-alt2,
.felix-framework .dashicons-arrow-right-alt2{display:none!important}

/* FELiX 1.4.4 – editorial featured image inside hero
 * Desktop: H1/lead left, featured image right.
 * Mobile: H1, featured image, lead.
 * Hide legacy GeneratePress/Elementor featured-image output to avoid duplication.
 */
body.felix-framework .inside-article > .post-image,
body.felix-framework .inside-article > .featured-image,
body.felix-framework .page-header-image-single,
body.felix-framework .page-header-image,
body.felix-framework .post-image-above-header,
body.felix-framework .featured-image.page-header-image-single,
body.felix-framework .entry-content > .post-image:first-child{
  display:none!important;
}

.felix-framework .felix-generic-hero-grid{
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-areas:"title" "lead";
}
.felix-framework .felix-generic-hero-grid--media{
  grid-template-columns:minmax(0,1.22fr) minmax(300px,.78fr)!important;
  grid-template-areas:"title media" "lead media";
  column-gap:52px!important;
  row-gap:22px!important;
}
.felix-framework .felix-generic-hero-title{grid-area:title;max-width:860px}
.felix-framework .felix-generic-hero-lead{grid-area:lead;align-self:start}
.felix-framework .felix-generic-hero-media{
  grid-area:media;
  align-self:center;
  justify-self:end;
  max-width:410px;
  aspect-ratio:4/3;
  border-radius:24px;
}
.felix-framework .felix-generic-hero--profile .felix-generic-hero-media,
.felix-framework .felix-generic-hero--service .felix-generic-hero-media{
  aspect-ratio:4/5;
  max-width:380px;
}

@media(max-width:800px){
  .felix-framework .felix-generic-hero-grid,
  .felix-framework .felix-generic-hero-grid--media{
    grid-template-columns:1fr!important;
    grid-template-areas:"title" "media" "lead"!important;
    gap:24px!important;
  }
  .felix-framework .felix-generic-hero-media{
    justify-self:start;
    width:100%;
    max-width:100%;
    aspect-ratio:16/10;
    border-radius:18px;
  }
  .felix-framework .felix-generic-hero--profile .felix-generic-hero-media,
  .felix-framework .felix-generic-hero--service .felix-generic-hero-media{
    max-width:340px;
    aspect-ratio:4/5;
  }
}

/* FELiX 1.4.9 – Buchempfehlungen: preserve intrinsic image proportions.
   Some legacy two-column Elementor blocks were stretched to the height of long
   interview text. On the book-recommendation page, media must never inherit the
   text column height. */
.felix-framework.felix-book-recommendations .felix-framework-content .elementor-widget-image,
.felix-framework.felix-book-recommendations .felix-framework-content .elementor-widget-image .elementor-widget-container,
.felix-framework.felix-book-recommendations .felix-framework-content .elementor-widget-image a,
.felix-framework.felix-book-recommendations .felix-framework-content .elementor-widget-image picture{
  height:auto!important;
  min-height:0!important;
}
.felix-framework.felix-book-recommendations .felix-framework-content .elementor-widget-image img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:520px!important;
  object-fit:contain!important;
  object-position:center top!important;
}
/* Legacy feature rows may still stretch both columns. Keep only the text column
   flexible and pin the image column to its natural media height. */
.felix-framework.felix-book-recommendations.felix-modern-content .felix-framework-content .elementor-section:has(> .elementor-container > .elementor-column:nth-child(2):last-child):has(.elementor-widget-image) > .elementor-container > .elementor-column:has(.elementor-widget-image),
.felix-framework.felix-book-recommendations .felix-framework-content .elementor-column:has(.elementor-widget-image),
.felix-framework.felix-book-recommendations .felix-framework-content .e-con:has(> .elementor-widget-image){
  align-self:flex-start!important;
  height:auto!important;
  min-height:0!important;
}
.felix-framework.felix-book-recommendations.felix-modern-content .felix-framework-content .elementor-section:has(> .elementor-container > .elementor-column:nth-child(2):last-child):has(.elementor-widget-image) .elementor-widget-image img{
  height:auto!important;
  min-height:0!important;
  max-height:520px!important;
  object-fit:contain!important;
}
@media(max-width:768px){
  .felix-framework.felix-book-recommendations .felix-framework-content .elementor-widget-image img{
    max-height:420px!important;
  }
}

/* FELiX 1.5.0 – globale Kanten-Normalisierung.
 * Ziel: Jede visuelle Oberfläche besitzt genau EINE sichtbare Außenkante.
 * Gilt frameworkweit für native FELiX-Karten sowie automatisch erkannte
 * Elementor Bild/Text-Flächen. Keine Layout-/Inhaltsänderung. */
:root{--felix-surface-radius:18px}

/* Bekannte FELiX-Oberflächen und dynamisch erkannte Legacy-Oberflächen. */
.felix-framework :is(
  .felix-bp-card,
  .felix-orientation-card,
  .felix-card-shell,
  .felix-native-resource-card,
  .felix-sidebox,
  .felix-faq-block,
  .felix-generic-content,
  .felix-surface-shell
){
  overflow:hidden!important;
  background-clip:padding-box!important;
  isolation:isolate!important;
  -webkit-mask-image:-webkit-radial-gradient(white,black);
}

/* Automatisch erkannte Elementor-Flächen behalten ihre vorhandene Rundung;
   falls Elementor keine brauchbare Rundung liefert, wird FELiX 18px verwendet. */
.felix-framework .felix-surface-shell{
  border-radius:var(--felix-surface-own-radius,var(--felix-surface-radius))!important;
}

/* Direkte Elementor-Innenwrapper folgen exakt der Außenkante und erzeugen
   keine zweite, leicht versetzte Silhouette. */
.felix-framework .felix-surface-shell > :is(
  .elementor-container,
  .elementor-widget-wrap,
  .elementor-element-populated,
  .e-con-inner
){
  border-radius:inherit!important;
  overflow:hidden!important;
  background-clip:padding-box!important;
}

/* Medien, die direkt an einer Kartenkante liegen, erhalten keine eigene
   konkurrierende Rundung/Schatten. Die Außenhülle übernimmt das Clipping. */
.felix-framework :is(.felix-card-shell,.felix-surface-shell) :is(
  .elementor-widget-image,
  .elementor-image-box-img,
  .elementor-cta__bg-wrapper,
  .felix-card-media
){
  box-shadow:none!important;
}
.felix-framework :is(.felix-card-shell,.felix-surface-shell) :is(
  .elementor-widget-image img,
  .elementor-image-box-img img,
  .elementor-cta__bg,
  .felix-card-media img
){
  display:block;
  box-shadow:none!important;
}

/* Verhindert die typischen 1–2px grauen/square Ecken durch Elementor-
   Pseudo-Elemente oder Hintergrundlayer innerhalb gerundeter Flächen. */
.felix-framework .felix-surface-shell::before,
.felix-framework .felix-surface-shell::after,
.felix-framework .felix-card-shell::before,
.felix-framework .felix-card-shell::after{
  border-radius:inherit!important;
}

/* Mobil bleibt dieselbe Kantenlogik bestehen; keine festen Höhen. */
@media(max-width:768px){
  .felix-framework .felix-surface-shell{min-height:0!important}
}


/* FELiX 1.5.1 – Kanten-Normalisierung 2.0
 * Der Außen-Host ist die einzige sichtbare Kartenkante. Elementor-Wrapper,
 * die exakt dieselbe Box belegen, werden zu transparenten Innenhüllen. */
.felix-framework .felix-surface-host{
  position:relative!important;
  background-clip:padding-box!important;
  isolation:isolate!important;
}
.felix-framework .felix-surface-host > .felix-surface-inner,
.felix-framework .felix-surface-host .felix-surface-inner{
  border:0!important;
  box-shadow:none!important;
  border-radius:0!important;
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
}
.felix-framework .felix-surface-host .felix-surface-inner::before,
.felix-framework .felix-surface-host .felix-surface-inner::after{
  border:0!important;
  box-shadow:none!important;
  border-radius:0!important;
  background:transparent!important;
  background-image:none!important;
}
/* Alte Elementor-Schatten dürfen nicht als eckige 1–2px-Flächen außerhalb
   der gerundeten Hostkante sichtbar bleiben. */
.felix-framework .felix-surface-host{
  outline:0!important;
  -webkit-mask-image:-webkit-radial-gradient(white,black)!important;
}

/* v1.6.0 consolidated JS hook: directional button icons are presentation-only. */
.felix-framework .felix-hide-direction-icon{display:none!important;}

/* 1.6.1 Semantic TOC: list semantics without visual bullets/indent changes. */
.felix-framework .felix-toc-list{list-style:none;margin:0;padding:0}
.felix-framework .felix-toc-list li{margin:0;padding:0}
.felix-framework .felix-toc-list li:last-child a{border-bottom:0}

/* FELiX 1.6.2 – Globaler Bild-Proportionsschutz
 * Normale Inhaltsbilder dürfen niemals durch Flex/Grid/Elementor in der Höhe
 * auf die Höhe einer Nachbarspalte gezogen werden. Die natürliche Bildproportion
 * hat Vorrang. Bewusst beschnittene Framework-Medien werden darunter gezielt
 * wieder freigegeben. */
.felix-framework .felix-framework-content :where(
  .elementor-widget-image img,
  .elementor-widget-image-box img,
  .elementor-image-box-img img,
  .wp-block-image img,
  figure img,
  .wp-caption img
){
  width:auto!important;
  max-width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  object-fit:contain!important;
  align-self:auto!important;
}

/* Elementor darf ein Bild-Widget selbst nicht auf die Höhe einer langen
   Textspalte strecken. Breite bleibt responsiv, Höhe bleibt inhaltsgetrieben. */
.felix-framework .felix-framework-content :where(
  .elementor-widget-image,
  .elementor-widget-image .elementor-widget-container,
  .elementor-image-box-img
){
  min-height:0!important;
  height:auto!important;
}

/* Bewusst gestaltete Medienflächen des Frameworks dürfen weiterhin füllen
   und bei Bedarf mit object-fit:cover beschneiden. */
.felix-framework :where(
  .felix-home-photo,
  .felix-bp-card-media,
  .felix-generic-hero-media,
  .felix-card-media,
  .felix-native-resource-media,
  .felix-resource-media,
  .felix-resource-column > .elementor-widget-image,
  .felix-resource-card .elementor-image-box-img
) img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}

/* Buchcover und andere explizit als Cover/Contain markierte Medien bleiben
   vollständig sichtbar und werden nie beschnitten. */
.felix-framework :where(.felix-book-cover,.felix-media-contain) img,
.felix-framework img.felix-media-contain{
  width:auto!important;
  max-width:100%!important;
  height:auto!important;
  min-height:0!important;
  object-fit:contain!important;
}


/* FELiX 1.6.3 – Clean Surface Edges + Compact First Content Block
 * 1) Legacy Elementor feature rows may have square grey parent backgrounds behind
 *    an already rounded inner card. Those parents are visual scaffolding only and
 *    must stay transparent.
 * 2) Old first sections sometimes carry inherited min-height/top spacing. On
 *    Framework pages the first meaningful content block should begin without a
 *    large artificial gap. No content is removed or reordered. */

/* ----- One clean outer edge for legacy two-column image/text surfaces ----- */
.felix-framework.felix-modern-content .felix-framework-content :is(
  .elementor-section,
  .elementor-top-section,
  .e-con.e-parent
):has(.elementor-widget-image):has(.elementor-widget-heading){
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  outline:0!important;
}

/* Elementor often stores the unwanted square fill on the immediate row/column
   wrappers around the actual rounded card. Neutralise only those wrappers when
   the same block contains both media and text. */
.felix-framework.felix-modern-content .felix-framework-content :is(
  .elementor-section,
  .e-con.e-parent
):has(.elementor-widget-image):has(.elementor-widget-heading) > :is(
  .elementor-container,
  .e-con-inner
){
  background-clip:padding-box!important;
}
.felix-framework.felix-modern-content .felix-framework-content :is(
  .elementor-section,
  .e-con.e-parent
):has(.elementor-widget-image):has(.elementor-widget-heading) > :is(
  .elementor-container,
  .e-con-inner
) > :is(.elementor-column,.e-con){
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  outline:0!important;
}
.felix-framework.felix-modern-content .felix-framework-content :is(
  .elementor-section,
  .e-con.e-parent
):has(.elementor-widget-image):has(.elementor-widget-heading) > :is(
  .elementor-container,
  .e-con-inner
) > :is(.elementor-column,.e-con) > :is(
  .elementor-widget-wrap,
  .elementor-element-populated,
  .e-con-inner
){
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  outline:0!important;
}

/* The actual two-column feature card is the single clipping shell. */
.felix-framework.felix-modern-content .felix-framework-content .elementor-section:has(> .elementor-container > .elementor-column:nth-child(2):last-child):has(.elementor-widget-image) > .elementor-container,
.felix-framework.felix-modern-content .felix-framework-content .e-con.e-parent:has(> .e-con + .e-con):has(.elementor-widget-image){
  border-radius:20px!important;
  overflow:hidden!important;
  background:#fff!important;
  border:1px solid var(--felix-line)!important;
  background-clip:padding-box!important;
  isolation:isolate!important;
  -webkit-mask-image:-webkit-radial-gradient(white,black)!important;
}

/* Never allow pseudo layers to paint square corners outside a Framework surface. */
.felix-framework.felix-modern-content .felix-framework-content :is(
  .elementor-section,
  .elementor-container,
  .elementor-column,
  .elementor-widget-wrap,
  .elementor-element-populated,
  .e-con,
  .e-con-inner
):has(.elementor-widget-image):has(.elementor-widget-heading)::before,
.felix-framework.felix-modern-content .felix-framework-content :is(
  .elementor-section,
  .elementor-container,
  .elementor-column,
  .elementor-widget-wrap,
  .elementor-element-populated,
  .e-con,
  .e-con-inner
):has(.elementor-widget-image):has(.elementor-widget-heading)::after{
  box-shadow:none!important;
}

/* ----- Reduce inherited empty space above the first real content heading ----- */
.felix-generic-blueprint .felix-generic-content > :first-child,
.felix-generic-blueprint .felix-generic-content > .elementor:first-child,
.felix-generic-blueprint .felix-generic-content > .elementor > .elementor-section-wrap > .elementor-section:first-child,
.felix-generic-blueprint .felix-generic-content > .elementor > .elementor-section:first-child,
.felix-generic-blueprint .felix-generic-content > .e-con.e-parent:first-child{
  margin-top:0!important;
  padding-top:0!important;
  min-height:0!important;
}
.felix-generic-blueprint .felix-generic-content > .elementor > .elementor-section-wrap > .elementor-section:first-child > .elementor-container,
.felix-generic-blueprint .felix-generic-content > .elementor > .elementor-section:first-child > .elementor-container,
.felix-generic-blueprint .felix-generic-content > .e-con.e-parent:first-child > .e-con-inner{
  margin-top:0!important;
  padding-top:0!important;
  min-height:0!important;
}

/* A spacer used as the very first widget of an old Elementor page should not
   create a desktop-sized empty band inside the Framework content shell. */
.felix-generic-blueprint .felix-generic-content .elementor-section:first-child .elementor-widget-spacer:first-child .elementor-spacer-inner,
.felix-generic-blueprint .felix-generic-content .e-con.e-parent:first-child > .elementor-widget-spacer:first-child .elementor-spacer-inner{
  height:0!important;
  min-height:0!important;
}

/* Keep the first visible heading optically close to the content-shell top. */
.felix-generic-blueprint .felix-generic-content :is(h2,h3):first-child,
.felix-generic-blueprint .felix-generic-content .elementor-widget-heading:first-child .elementor-heading-title{
  margin-top:0!important;
}

@media(max-width:768px){
  .felix-generic-blueprint .felix-generic-content > .elementor > .elementor-section:first-child,
  .felix-generic-blueprint .felix-generic-content > .e-con.e-parent:first-child{
    padding-top:0!important;
  }
}


/* FELiX 1.6.4 – Definitive legacy feature-card edge cleanup + compact content start
 * Late overrides intentionally win over older Elementor compatibility rules.
 * Goal: one clean rounded edge, no square/grey halo and no stretched content image. */

/* Less artificial empty space before the first real content section. */
.felix-generic-blueprint .felix-generic-content{
  padding-top:26px!important;
}

/* Exact legacy 2-column image/text feature pattern: the SECTION is only scaffolding. */
.felix-framework.felix-modern-content .felix-framework-content .elementor-section:has(> .elementor-container > .elementor-column:nth-child(2):last-child):has(.elementor-widget-image){
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  filter:none!important;
}

/* The Elementor container is the one and only visible card shell. No shadow halo. */
.felix-framework.felix-modern-content .felix-framework-content .elementor-section:has(> .elementor-container > .elementor-column:nth-child(2):last-child):has(.elementor-widget-image) > .elementor-container{
  background:#fff!important;
  border:1px solid var(--felix-line)!important;
  border-radius:20px!important;
  box-shadow:none!important;
  outline:0!important;
  filter:none!important;
  overflow:hidden!important;
  background-clip:padding-box!important;
  isolation:isolate!important;
  clip-path:inset(0 round 20px)!important;
}

/* No inner wrapper may paint a square layer around that shell. */
.felix-framework.felix-modern-content .felix-framework-content .elementor-section:has(> .elementor-container > .elementor-column:nth-child(2):last-child):has(.elementor-widget-image) > .elementor-container > .elementor-column,
.felix-framework.felix-modern-content .felix-framework-content .elementor-section:has(> .elementor-container > .elementor-column:nth-child(2):last-child):has(.elementor-widget-image) > .elementor-container > .elementor-column > .elementor-widget-wrap,
.felix-framework.felix-modern-content .felix-framework-content .elementor-section:has(> .elementor-container > .elementor-column:nth-child(2):last-child):has(.elementor-widget-image) > .elementor-container > .elementor-column > .elementor-element-populated{
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  filter:none!important;
}

.felix-framework.felix-modern-content .felix-framework-content .elementor-section:has(> .elementor-container > .elementor-column:nth-child(2):last-child):has(.elementor-widget-image) > .elementor-container::before,
.felix-framework.felix-modern-content .felix-framework-content .elementor-section:has(> .elementor-container > .elementor-column:nth-child(2):last-child):has(.elementor-widget-image) > .elementor-container::after,
.felix-framework.felix-modern-content .felix-framework-content .elementor-section:has(> .elementor-container > .elementor-column:nth-child(2):last-child):has(.elementor-widget-image) > .elementor-container > .elementor-column::before,
.felix-framework.felix-modern-content .felix-framework-content .elementor-section:has(> .elementor-container > .elementor-column:nth-child(2):last-child):has(.elementor-widget-image) > .elementor-container > .elementor-column::after{
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  box-shadow:none!important;
  filter:none!important;
}

/* Natural image proportions always win over old legacy height:100% rules. */
.felix-framework.felix-modern-content .felix-framework-content .elementor-section:has(> .elementor-container > .elementor-column:nth-child(2):last-child):has(.elementor-widget-image) .elementor-widget-image,
.felix-framework.felix-modern-content .felix-framework-content .elementor-section:has(> .elementor-container > .elementor-column:nth-child(2):last-child):has(.elementor-widget-image) .elementor-widget-image .elementor-widget-container{
  height:auto!important;
  min-height:0!important;
  align-self:flex-start!important;
}
.felix-framework.felix-modern-content .felix-framework-content .elementor-section:has(> .elementor-container > .elementor-column:nth-child(2):last-child):has(.elementor-widget-image) .elementor-widget-image img{
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  object-fit:contain!important;
  display:block!important;
  border-radius:0!important;
}

/* Keep the image column top-aligned instead of stretching the image itself. */
.felix-framework.felix-modern-content .felix-framework-content .elementor-section:has(> .elementor-container > .elementor-column:nth-child(2):last-child):has(.elementor-widget-image) > .elementor-container > .elementor-column:has(.elementor-widget-image) > :is(.elementor-widget-wrap,.elementor-element-populated){
  align-content:flex-start!important;
  align-items:flex-start!important;
}

@media(max-width:768px){
  .felix-generic-blueprint .felix-generic-content{padding-top:20px!important;}
  .felix-framework.felix-modern-content .felix-framework-content .elementor-section:has(> .elementor-container > .elementor-column:nth-child(2):last-child):has(.elementor-widget-image) > .elementor-container{
    border-radius:16px!important;
    clip-path:inset(0 round 16px)!important;
  }
}


/* FELiX 1.6.6 – exact Elementor background-overlay fix
 * Inspector-confirmed culprit: direct .elementor-background-overlay on legacy
 * two-column image/text sections can retain an old semi-transparent grey fill.
 * Neutralise only this overlay pattern; other Elementor overlays remain untouched. */
.felix-framework.felix-modern-content .felix-framework-content
.elementor-section:has(> .elementor-container > .elementor-column:nth-child(2):last-child):has(.elementor-widget-image)
> .elementor-background-overlay{
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  opacity:0!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  filter:none!important;
  pointer-events:none!important;
}

/* FELiX 1.6.7 – Compact heading-only legacy sections
 * Some older Elementor pages place section headings in their own top-level
 * section with large inherited desktop padding/min-height. Within the Framework
 * this creates an artificial blank band above the heading. Only heading-only
 * top-level sections are compacted; mixed content sections keep their spacing. */
.felix-framework.felix-modern-content .felix-framework-content > .elementor > .elementor-section-wrap > .elementor-section:has(.elementor-widget-heading):not(:has(.elementor-widget-image)):not(:has(.elementor-widget-text-editor)):not(:has(.elementor-widget-button)):not(:has(.elementor-widget-call-to-action)):not(:has(.elementor-widget-image-box)),
.felix-framework.felix-modern-content .felix-framework-content > .elementor > .elementor-section:has(.elementor-widget-heading):not(:has(.elementor-widget-image)):not(:has(.elementor-widget-text-editor)):not(:has(.elementor-widget-button)):not(:has(.elementor-widget-call-to-action)):not(:has(.elementor-widget-image-box)){
  margin-top:0!important;
  margin-bottom:0!important;
  padding-top:18px!important;
  padding-bottom:22px!important;
  min-height:0!important;
  height:auto!important;
}
.felix-framework.felix-modern-content .felix-framework-content > .elementor > .elementor-section-wrap > .elementor-section:has(.elementor-widget-heading):not(:has(.elementor-widget-image)):not(:has(.elementor-widget-text-editor)):not(:has(.elementor-widget-button)):not(:has(.elementor-widget-call-to-action)):not(:has(.elementor-widget-image-box)) > .elementor-container,
.felix-framework.felix-modern-content .felix-framework-content > .elementor > .elementor-section:has(.elementor-widget-heading):not(:has(.elementor-widget-image)):not(:has(.elementor-widget-text-editor)):not(:has(.elementor-widget-button)):not(:has(.elementor-widget-call-to-action)):not(:has(.elementor-widget-image-box)) > .elementor-container{
  margin-top:0!important;
  margin-bottom:0!important;
  padding-top:0!important;
  padding-bottom:0!important;
  min-height:0!important;
  height:auto!important;
}
.felix-framework.felix-modern-content .felix-framework-content > .elementor > .elementor-section-wrap > .elementor-section:has(.elementor-widget-heading):not(:has(.elementor-widget-image)):not(:has(.elementor-widget-text-editor)):not(:has(.elementor-widget-button)):not(:has(.elementor-widget-call-to-action)):not(:has(.elementor-widget-image-box)) .elementor-widget-heading,
.felix-framework.felix-modern-content .felix-framework-content > .elementor > .elementor-section:has(.elementor-widget-heading):not(:has(.elementor-widget-image)):not(:has(.elementor-widget-text-editor)):not(:has(.elementor-widget-button)):not(:has(.elementor-widget-call-to-action)):not(:has(.elementor-widget-image-box)) .elementor-widget-heading{
  margin-top:0!important;
  margin-bottom:0!important;
}

@media(max-width:768px){
  .felix-framework.felix-modern-content .felix-framework-content > .elementor > .elementor-section-wrap > .elementor-section:has(.elementor-widget-heading):not(:has(.elementor-widget-image)):not(:has(.elementor-widget-text-editor)):not(:has(.elementor-widget-button)):not(:has(.elementor-widget-call-to-action)):not(:has(.elementor-widget-image-box)),
  .felix-framework.felix-modern-content .felix-framework-content > .elementor > .elementor-section:has(.elementor-widget-heading):not(:has(.elementor-widget-image)):not(:has(.elementor-widget-text-editor)):not(:has(.elementor-widget-button)):not(:has(.elementor-widget-call-to-action)):not(:has(.elementor-widget-image-box)){
    padding-top:12px!important;
    padding-bottom:18px!important;
  }
}

/* FELiX 1.6.13 – TOC and resource blocks may coexist.
   A resource block must not force the entire page to lose its sidebar navigation. */
@media (min-width: 769px){
  .felix-generic-shell.felix-resource-with-toc .felix-native-resource-grid{
    grid-template-columns:1fr!important;
    gap:20px!important;
    width:100%!important;
  }
  .felix-generic-shell.felix-resource-with-toc .felix-native-resource-card{
    grid-template-columns:minmax(180px,38%) minmax(0,62%)!important;
    height:auto!important;
    min-height:260px!important;
  }
}

/* 1.6.14 – TOC fallback for legacy Elementor service pages using H3 section headings. */
.felix-framework .felix-toc-list .felix-toc-level-3 a{
  padding-left:14px;
  font-size:.94em;
  opacity:.92;
}


/* FELiX 1.6.15 – compact square featured image for service and standard pages.
   Desktop: quiet 1:1 image beside the H1, visually closer to the original
   Elementor image size. Mobile: the same square image appears below the H1. */
@media (min-width:801px){
  .felix-framework .felix-generic-hero--service .felix-generic-hero-grid--media,
  .felix-framework .felix-generic-hero--page .felix-generic-hero-grid--media{
    grid-template-columns:minmax(0,1fr) minmax(260px,320px)!important;
    column-gap:56px!important;
  }
  .felix-framework .felix-generic-hero--service .felix-generic-hero-media,
  .felix-framework .felix-generic-hero--page .felix-generic-hero-media{
    width:300px!important;
    max-width:300px!important;
    aspect-ratio:1/1!important;
    border-radius:22px!important;
  }
}
@media (max-width:800px){
  .felix-framework .felix-generic-hero--service .felix-generic-hero-media,
  .felix-framework .felix-generic-hero--page .felix-generic-hero-media{
    width:min(78vw,280px)!important;
    max-width:280px!important;
    aspect-ratio:1/1!important;
    justify-self:start!important;
    border-radius:18px!important;
  }
}


/* FELiX 1.6.16 – consistent square hero featured images across core content types.
   Service/standard pages: 300px desktop. Knowledge/lexicon: 330px desktop.
   All use 1:1 proportions and max 280px on mobile. */
@media (min-width:801px){
  .felix-framework .felix-generic-hero--knowledge .felix-generic-hero-grid--media,
  .felix-framework .felix-generic-hero--lexicon .felix-generic-hero-grid--media{
    grid-template-columns:minmax(0,1fr) minmax(280px,350px)!important;
    column-gap:56px!important;
  }
  .felix-framework .felix-generic-hero--knowledge .felix-generic-hero-media,
  .felix-framework .felix-generic-hero--lexicon .felix-generic-hero-media{
    width:330px!important;
    max-width:330px!important;
    aspect-ratio:1/1!important;
    border-radius:22px!important;
  }
}
@media (max-width:800px){
  .felix-framework .felix-generic-hero--knowledge .felix-generic-hero-media,
  .felix-framework .felix-generic-hero--lexicon .felix-generic-hero-media{
    width:min(78vw,280px)!important;
    max-width:280px!important;
    aspect-ratio:1/1!important;
    justify-self:start!important;
    border-radius:18px!important;
  }
}

/* FELiX 1.6.19 – compact universal TOC directly below the hero.
   Fixes the malformed escaped CSS from 1.6.17 and keeps the main content full-width. */
.felix-framework .felix-generic-blueprint .felix-toc-section{
  background:#fff;
  border:0;
  padding:40px 0 20px!important;
}
.felix-framework .felix-generic-blueprint .felix-toc-panel{
  background:#f4faf7;
  border:1px solid #dce8e2;
  border-radius:18px;
  box-shadow:0 3px 12px rgba(20,55,43,.025);
  padding:30px 32px 28px;
}
.felix-framework .felix-generic-blueprint .felix-toc-title{
  margin:0 0 20px!important;
  padding:0!important;
  font-size:20px!important;
  line-height:1.25!important;
  letter-spacing:0!important;
  color:var(--felix-ink)!important;
  font-weight:800!important;
}
.felix-framework .felix-generic-blueprint .felix-toc-list{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  column-gap:34px!important;
  row-gap:4px!important;
  list-style:none!important;
  margin:0!important;
  padding:0!important;
}
.felix-framework .felix-generic-blueprint .felix-toc-list li{
  position:relative;
  min-width:0;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
.felix-framework .felix-generic-blueprint .felix-toc-list a{
  position:relative;
  display:block!important;
  padding:7px 4px 7px 18px!important;
  border:0!important;
  color:var(--felix-link)!important;
  font-size:16px!important;
  line-height:1.42!important;
  font-weight:500!important;
  text-decoration:none!important;
  overflow-wrap:anywhere;
}
.felix-framework .felix-generic-blueprint .felix-toc-list a::before{
  content:"";
  position:absolute;
  left:1px;
  top:1.05em;
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--felix-primary);
  transform:translateY(-50%);
  opacity:.78;
}
.felix-framework .felix-generic-blueprint .felix-toc-list a:hover,
.felix-framework .felix-generic-blueprint .felix-toc-list a:focus-visible{
  color:var(--felix-primary)!important;
  text-decoration:underline!important;
  text-underline-offset:3px;
}
.felix-framework .felix-generic-blueprint .felix-toc-list .felix-toc-level-3 a{
  padding-left:28px!important;
  font-size:15px!important;
  opacity:.9;
}
.felix-framework .felix-generic-blueprint .felix-toc-list .felix-toc-level-3 a::before{
  left:12px;
  width:7px;
  height:2px;
  border-radius:2px;
}
.felix-framework .felix-generic-blueprint .felix-generic-shell{
  grid-template-columns:minmax(0,1fr)!important;
}
.felix-framework .felix-generic-blueprint .felix-generic-main{
  padding-top:32px!important;
}
@media(max-width:980px){
  .felix-framework .felix-generic-blueprint .felix-toc-list{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:640px){
  .felix-framework .felix-generic-blueprint .felix-toc-section{
    padding:24px 0 14px!important;
  }
  .felix-framework .felix-generic-blueprint .felix-toc-panel{
    padding:22px 20px 20px;
    border-radius:16px;
  }
  .felix-framework .felix-generic-blueprint .felix-toc-title{
    margin-bottom:14px!important;
    font-size:19px!important;
  }
  .felix-framework .felix-generic-blueprint .felix-toc-list{
    grid-template-columns:minmax(0,1fr)!important;
    row-gap:1px!important;
  }
  .felix-framework .felix-generic-blueprint .felix-toc-list a{
    padding-top:7px!important;
    padding-bottom:7px!important;
    font-size:15.5px!important;
  }
  .felix-framework .felix-generic-blueprint .felix-generic-main{
    padding-top:24px!important;
  }
}


/* FELiX 1.6.19 – hierarchical TOC groups.
   H2 headings and their H3 children stay together and retain document order. */
.felix-framework .felix-generic-blueprint .felix-toc-list{
  align-items:start!important;
}
.felix-framework .felix-generic-blueprint .felix-toc-list > .felix-toc-group{
  break-inside:avoid;
  align-self:start;
  padding:0 0 8px!important;
}
.felix-framework .felix-generic-blueprint .felix-toc-list > .felix-toc-group > .felix-toc-main-link{
  font-weight:600!important;
}
.felix-framework .felix-generic-blueprint .felix-toc-sublist{
  display:block!important;
  list-style:none!important;
  margin:1px 0 2px!important;
  padding:0!important;
}
.felix-framework .felix-generic-blueprint .felix-toc-sublist li{
  margin:0!important;
  padding:0!important;
}
.felix-framework .felix-generic-blueprint .felix-toc-sublist a{
  padding-top:5px!important;
  padding-bottom:5px!important;
}
.felix-framework .felix-generic-blueprint .felix-toc-faq{
  align-self:start;
  padding-bottom:8px!important;
}

/* FELiX 1.6.20 – balanced hierarchical TOC.
   CSS multi-columns preserve document order top-to-bottom while keeping every
   H2/H3 group together. This avoids the large empty third column of grid layout. */
.felix-framework .felix-generic-blueprint .felix-toc-list{
  display:block!important;
  columns:3;
  column-gap:42px;
}
.felix-framework .felix-generic-blueprint .felix-toc-list > .felix-toc-group,
.felix-framework .felix-generic-blueprint .felix-toc-list > .felix-toc-faq{
  display:inline-block!important;
  width:100%!important;
  box-sizing:border-box;
  break-inside:avoid!important;
  -webkit-column-break-inside:avoid;
  page-break-inside:avoid;
  vertical-align:top;
}
.felix-framework .felix-generic-blueprint .felix-toc-list > .felix-toc-group > .felix-toc-main-link{
  font-weight:650!important;
}
.felix-framework .felix-generic-blueprint .felix-toc-sublist a{
  font-size:15.5px!important;
  padding-left:12px!important;
}
@media (max-width:1024px){
  .felix-framework .felix-generic-blueprint .felix-toc-list{
    columns:2!important;
    column-gap:30px!important;
  }
}
@media (max-width:680px){
  .felix-framework .felix-generic-blueprint .felix-toc-list{
    columns:1!important;
    column-gap:0!important;
  }
}
\n\n/* FELiX 1.6.21 – adaptive desktop TOC columns.\n   If one semantic H2/H3 group dominates the navigation, use two columns;\n   otherwise retain three. Tablet/mobile rules remain unchanged. */\n@media (min-width:1025px){\n  .felix-framework .felix-generic-blueprint .felix-toc-list.felix-toc-cols-2{\n    columns:2!important;\n    column-gap:46px!important;\n  }\n  .felix-framework .felix-generic-blueprint .felix-toc-list.felix-toc-cols-3{\n    columns:3!important;\n    column-gap:42px!important;\n  }\n}\n
/* FELiX 1.6.23 – stable global footer hotfix */
.felix-global-footer .site-footer:not(.felix-framework-footer),
.felix-global-footer footer.elementor-location-footer:not(.felix-framework-footer),
.felix-global-footer [data-elementor-type="footer"]{display:none!important}
.felix-framework-footer{display:block!important}

/* FELiX 1.6.25 – global WordPress-managed footer */
.felix-footer-col ul,.felix-footer-bottom ul{list-style:none!important;margin:0!important;padding:0!important}
.felix-footer-col li,.felix-footer-bottom li{margin:0!important;padding:0!important}
.felix-footer-legal-menu{display:flex!important;gap:20px;flex-wrap:wrap}
@media(max-width:640px){.felix-footer-legal-menu{gap:14px}}


/* FELiX 1.6.27 – Beitrag vor/zurück als ruhige Navigationskarten */
.felix-framework.single-post .post-navigation,
.felix-framework.single-post nav.navigation.post-navigation{
  width:min(var(--felix-content),calc(100% - 40px))!important;
  max-width:var(--felix-content)!important;
  margin:34px auto 40px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
.felix-framework.single-post .post-navigation .nav-links{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:18px!important;
  margin:0!important;
}
.felix-framework.single-post .post-navigation .nav-previous,
.felix-framework.single-post .post-navigation .nav-next{
  width:auto!important;
  float:none!important;
  margin:0!important;
  padding:0!important;
}
.felix-framework.single-post .post-navigation .nav-previous:empty,
.felix-framework.single-post .post-navigation .nav-next:empty{
  display:none!important;
}
.felix-framework.single-post .post-navigation .nav-previous a,
.felix-framework.single-post .post-navigation .nav-next a{
  position:relative!important;
  display:flex!important;
  min-height:126px!important;
  box-sizing:border-box!important;
  flex-direction:column!important;
  justify-content:center!important;
  gap:9px!important;
  padding:24px 26px!important;
  border:1px solid #d7e6df!important;
  border-radius:14px!important;
  background:#f8fbf9!important;
  color:var(--felix-navy)!important;
  text-decoration:none!important;
  box-shadow:none!important;
  transition:border-color .18s ease,background-color .18s ease,transform .18s ease!important;
}
.felix-framework.single-post .post-navigation .nav-previous a::before,
.felix-framework.single-post .post-navigation .nav-next a::before{
  display:block!important;
  color:var(--felix-green)!important;
  font-size:13px!important;
  line-height:1.2!important;
  font-weight:800!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
.felix-framework.single-post .post-navigation .nav-previous a::before{
  content:"← Vorheriger Beitrag"!important;
}
.felix-framework.single-post .post-navigation .nav-next a::before{
  content:"Nächster Beitrag →"!important;
}
.felix-framework.single-post .post-navigation .nav-next a{
  text-align:right!important;
  align-items:flex-end!important;
}
.felix-framework.single-post .post-navigation a,
.felix-framework.single-post .post-navigation a span{
  color:var(--felix-navy)!important;
  font-size:18px!important;
  line-height:1.38!important;
  font-weight:700!important;
}
.felix-framework.single-post .post-navigation a:hover,
.felix-framework.single-post .post-navigation a:focus-visible{
  border-color:var(--felix-green)!important;
  background:var(--felix-mint)!important;
  color:var(--felix-green)!important;
  transform:translateY(-1px);
  text-decoration:none!important;
}
.felix-framework.single-post .post-navigation a:hover span,
.felix-framework.single-post .post-navigation a:focus-visible span{
  color:var(--felix-green)!important;
}
.felix-framework.single-post .post-navigation a:focus-visible{
  outline:3px solid rgba(47,111,89,.22)!important;
  outline-offset:3px!important;
}
/* GeneratePress-/Theme-Pfeile ausblenden; Richtung steht bereits im Kartenlabel. */
.felix-framework.single-post .post-navigation .gp-icon,
.felix-framework.single-post .post-navigation svg,
.felix-framework.single-post .post-navigation .icon-arrow-left,
.felix-framework.single-post .post-navigation .icon-arrow-right{
  display:none!important;
}
@media(max-width:700px){
  .felix-framework.single-post .post-navigation,
  .felix-framework.single-post nav.navigation.post-navigation{
    width:min(var(--felix-content),calc(100% - 28px))!important;
    margin:26px auto 30px!important;
  }
  .felix-framework.single-post .post-navigation .nav-links{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  .felix-framework.single-post .post-navigation .nav-previous a,
  .felix-framework.single-post .post-navigation .nav-next a{
    min-height:0!important;
    padding:20px!important;
    text-align:left!important;
    align-items:flex-start!important;
  }
  .felix-framework.single-post .post-navigation a,
  .felix-framework.single-post .post-navigation a span{
    font-size:16.5px!important;
  }
}

/* FELiX 1.6.28 – lokale, datenschutzfreundliche Social-Media-Icons im globalen Footer */
.felix-footer-socials{margin-top:24px}
.felix-footer-social-title{margin:0 0 12px;color:#8fc0aa;font-size:12px;line-height:1.2;font-weight:850;letter-spacing:.14em}
.felix-footer-social-icons{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.felix-footer-social-icon{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  width:42px!important;height:42px!important;box-sizing:border-box!important;
  border:1px solid rgba(255,255,255,.24)!important;border-radius:10px!important;
  background:rgba(255,255,255,.06)!important;color:#fff!important;
  text-decoration:none!important;transition:background-color .18s ease,border-color .18s ease,transform .18s ease!important
}
.felix-footer-social-icon svg{display:block;width:20px;height:20px;fill:currentColor;stroke:currentColor;stroke-width:1.8}
.felix-footer-social-icon svg rect,.felix-footer-social-icon svg circle{fill:none}
.felix-footer-social-icon svg .felix-social-dot{fill:currentColor;stroke:none}
.felix-footer-social-icon:hover,.felix-footer-social-icon:focus-visible{
  background:var(--felix-green)!important;border-color:#8fc0aa!important;color:#fff!important;transform:translateY(-1px)
}
.felix-footer-social-icon:focus-visible{outline:3px solid rgba(255,255,255,.35)!important;outline-offset:3px!important}
@media(max-width:640px){.felix-footer-socials{margin-top:20px}.felix-footer-social-icon{width:44px!important;height:44px!important}}

/* FELiX 1.6.30 – YouTube icon */
.felix-footer-social-icon svg .felix-social-play{fill:currentColor;stroke:none}

/* v1.6.43 – configurable FELiX hero widths */
body.felix-template-service.felix-hero-service-small .felix-generic-hero-media{max-width:300px}
body.felix-template-service.felix-hero-service-medium .felix-generic-hero-media{max-width:380px}
body.felix-template-service.felix-hero-service-large .felix-generic-hero-media{max-width:450px}
body.felix-template-page.felix-hero-page-small .felix-generic-hero-media,
body.felix-template-knowledge.felix-hero-page-small .felix-generic-hero-media{max-width:240px}
body.felix-template-page.felix-hero-page-medium .felix-generic-hero-media,
body.felix-template-knowledge.felix-hero-page-medium .felix-generic-hero-media{max-width:300px}
body.felix-template-page.felix-hero-page-large .felix-generic-hero-media,
body.felix-template-knowledge.felix-hero-page-large .felix-generic-hero-media{max-width:380px}
body.felix-template-lexicon.felix-hero-lexicon-small .felix-generic-hero-media{max-width:260px}
body.felix-template-lexicon.felix-hero-lexicon-medium .felix-generic-hero-media{max-width:330px}
body.felix-template-lexicon.felix-hero-lexicon-large .felix-generic-hero-media{max-width:400px}
body.felix-template-post.felix-hero-post-small .felix-generic-hero-media{max-width:340px}
body.felix-template-post.felix-hero-post-medium .felix-generic-hero-media{max-width:410px}
body.felix-template-post.felix-hero-post-large .felix-generic-hero-media{max-width:520px}

/* v1.6.44 – configurable service hero aspect ratio */
body.felix-template-service.felix-hero-service-ratio-original .felix-generic-hero-media{aspect-ratio:auto}
body.felix-template-service.felix-hero-service-ratio-original .felix-generic-hero-media img{height:auto!important;object-fit:contain!important}
body.felix-template-service.felix-hero-service-ratio-3-2 .felix-generic-hero-media{aspect-ratio:3/2}
body.felix-template-service.felix-hero-service-ratio-4-3 .felix-generic-hero-media{aspect-ratio:4/3}
body.felix-template-service.felix-hero-service-ratio-4-5 .felix-generic-hero-media{aspect-ratio:4/5}


/* v1.6.45 – definitive service hero overrides.
   Legacy 1.6.x service rules used width/aspect-ratio !important and could force 1:1.
   These selectors intentionally come last and use !important so the configured
   service width + ratio are authoritative on desktop and mobile. */
@media (min-width:801px){
  body.felix-framework.felix-template-service.felix-hero-service-small .felix-generic-hero--service .felix-generic-hero-media{
    width:300px!important;max-width:300px!important;
  }
  body.felix-framework.felix-template-service.felix-hero-service-medium .felix-generic-hero--service .felix-generic-hero-media{
    width:380px!important;max-width:380px!important;
  }
  body.felix-framework.felix-template-service.felix-hero-service-large .felix-generic-hero--service .felix-generic-hero-media{
    width:450px!important;max-width:450px!important;
  }
}
body.felix-framework.felix-template-service.felix-hero-service-ratio-original .felix-generic-hero--service .felix-generic-hero-media{
  aspect-ratio:auto!important;
}
body.felix-framework.felix-template-service.felix-hero-service-ratio-original .felix-generic-hero--service .felix-generic-hero-media img{
  width:100%!important;height:auto!important;object-fit:contain!important;
}
body.felix-framework.felix-template-service.felix-hero-service-ratio-3-2 .felix-generic-hero--service .felix-generic-hero-media{
  aspect-ratio:3/2!important;
}
body.felix-framework.felix-template-service.felix-hero-service-ratio-4-3 .felix-generic-hero--service .felix-generic-hero-media{
  aspect-ratio:4/3!important;
}
body.felix-framework.felix-template-service.felix-hero-service-ratio-4-5 .felix-generic-hero--service .felix-generic-hero-media{
  aspect-ratio:4/5!important;
}
@media (max-width:800px){
  body.felix-framework.felix-template-service .felix-generic-hero--service .felix-generic-hero-media{
    width:min(78vw,340px)!important;
    max-width:340px!important;
  }
}


/* v1.6.46 – unified top-area alignment
   Header, breadcrumbs and hero use the same horizontal content axis. */
body.felix-framework{
  --felix-top-align-width:var(--felix-content,1180px);
}
body.felix-framework .site-header .inside-header,
body.felix-framework .main-navigation .inside-navigation,
body.felix-framework .felix-path > .felix-wrap,
body.felix-framework .felix-generic-hero > .felix-wrap,
body.felix-framework .felix-generic-hero .felix-generic-hero-grid{
  width:min(calc(100% - 40px),var(--felix-top-align-width))!important;
  max-width:var(--felix-top-align-width)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body.felix-framework .felix-generic-hero .felix-generic-hero-grid{
  width:100%!important;
}
@media (max-width:768px){
  body.felix-framework .site-header .inside-header,
  body.felix-framework .main-navigation .inside-navigation,
  body.felix-framework .felix-path > .felix-wrap,
  body.felix-framework .felix-generic-hero > .felix-wrap{
    width:min(calc(100% - 32px),var(--felix-top-align-width))!important;
  }
}


/* v1.6.47 – exact left-edge alignment for header/navigation.
   v1.6.46 unified container widths; GeneratePress still added internal horizontal padding.
   Remove only that internal inset so Logo, Navigation, Breadcrumbs and Hero share one axis. */
body.felix-framework .site-header .inside-header{
  padding-left:0!important;
  padding-right:0!important;
}
body.felix-framework .main-navigation .inside-navigation{
  padding-left:0!important;
  padding-right:0!important;
}
@media (max-width:768px){
  body.felix-framework .site-header .inside-header,
  body.felix-framework .main-navigation .inside-navigation{
    padding-left:0!important;
    padding-right:0!important;
  }
}


/* v1.6.48 – optical alignment with the FELiX content axis.
   .felix-wrap uses 22px horizontal inset (44px total). Header/nav receive the same
   inset so Logo, Navigation, Breadcrumbs, Kicker and H1 share the same left edge. */
body.felix-framework .site-header .inside-header,
body.felix-framework .main-navigation .inside-navigation{
  padding-left:22px!important;
  padding-right:22px!important;
  box-sizing:border-box!important;
}
@media (max-width:768px){
  body.felix-framework .site-header .inside-header,
  body.felix-framework .main-navigation .inside-navigation{
    padding-left:16px!important;
    padding-right:16px!important;
  }
}


/* v1.6.49 – universal configurable hero ratio; FELiX default = 4:3.
   These rules are deliberately last and authoritative over legacy square !important rules. */
body.felix-framework.felix-template-page.felix-hero-page-ratio-original .felix-generic-hero--page .felix-generic-hero-media,
body.felix-framework.felix-template-knowledge.felix-hero-page-ratio-original .felix-generic-hero--knowledge .felix-generic-hero-media,
body.felix-framework.felix-template-lexicon.felix-hero-lexicon-ratio-original .felix-generic-hero--lexicon .felix-generic-hero-media,
body.felix-framework.felix-template-post.felix-hero-post-ratio-original .felix-generic-hero--post .felix-generic-hero-media{aspect-ratio:auto!important}
body.felix-framework.felix-template-page.felix-hero-page-ratio-original .felix-generic-hero--page .felix-generic-hero-media img,
body.felix-framework.felix-template-knowledge.felix-hero-page-ratio-original .felix-generic-hero--knowledge .felix-generic-hero-media img,
body.felix-framework.felix-template-lexicon.felix-hero-lexicon-ratio-original .felix-generic-hero--lexicon .felix-generic-hero-media img,
body.felix-framework.felix-template-post.felix-hero-post-ratio-original .felix-generic-hero--post .felix-generic-hero-media img{height:auto!important;object-fit:contain!important}

body.felix-framework.felix-template-page.felix-hero-page-ratio-3-2 .felix-generic-hero--page .felix-generic-hero-media,
body.felix-framework.felix-template-knowledge.felix-hero-page-ratio-3-2 .felix-generic-hero--knowledge .felix-generic-hero-media,
body.felix-framework.felix-template-lexicon.felix-hero-lexicon-ratio-3-2 .felix-generic-hero--lexicon .felix-generic-hero-media,
body.felix-framework.felix-template-post.felix-hero-post-ratio-3-2 .felix-generic-hero--post .felix-generic-hero-media{aspect-ratio:3/2!important}

body.felix-framework.felix-template-page.felix-hero-page-ratio-4-3 .felix-generic-hero--page .felix-generic-hero-media,
body.felix-framework.felix-template-knowledge.felix-hero-page-ratio-4-3 .felix-generic-hero--knowledge .felix-generic-hero-media,
body.felix-framework.felix-template-lexicon.felix-hero-lexicon-ratio-4-3 .felix-generic-hero--lexicon .felix-generic-hero-media,
body.felix-framework.felix-template-post.felix-hero-post-ratio-4-3 .felix-generic-hero--post .felix-generic-hero-media{aspect-ratio:4/3!important}

body.felix-framework.felix-template-page.felix-hero-page-ratio-1-1 .felix-generic-hero--page .felix-generic-hero-media,
body.felix-framework.felix-template-knowledge.felix-hero-page-ratio-1-1 .felix-generic-hero--knowledge .felix-generic-hero-media,
body.felix-framework.felix-template-lexicon.felix-hero-lexicon-ratio-1-1 .felix-generic-hero--lexicon .felix-generic-hero-media,
body.felix-framework.felix-template-post.felix-hero-post-ratio-1-1 .felix-generic-hero--post .felix-generic-hero-media{aspect-ratio:1/1!important}

body.felix-framework.felix-template-page.felix-hero-page-ratio-4-5 .felix-generic-hero--page .felix-generic-hero-media,
body.felix-framework.felix-template-knowledge.felix-hero-page-ratio-4-5 .felix-generic-hero--knowledge .felix-generic-hero-media,
body.felix-framework.felix-template-lexicon.felix-hero-lexicon-ratio-4-5 .felix-generic-hero--lexicon .felix-generic-hero-media,
body.felix-framework.felix-template-post.felix-hero-post-ratio-4-5 .felix-generic-hero--post .felix-generic-hero-media{aspect-ratio:4/5!important}


/* v1.6.51 – homepage cards are fully clickable.
   The existing card link remains the semantic link; its pseudo-element covers the whole card. */
.felix-home-blueprint .felix-bp-card{
  position:relative;
  cursor:pointer;
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}
.felix-home-blueprint .felix-bp-card .felix-bp-card-body > a{
  position:relative;
  z-index:2;
}
.felix-home-blueprint .felix-bp-card .felix-bp-card-body > a::after{
  content:"";
  position:absolute;
  z-index:1;
  inset:auto;
  top:calc(-1000px);
  right:calc(-1000px);
  bottom:calc(-1000px);
  left:calc(-1000px);
}
.felix-home-blueprint .felix-bp-card:hover{
  transform:translateY(-2px);
  border-color:#b8d2c6;
  box-shadow:0 12px 30px rgba(20,55,43,.10);
}
.felix-home-blueprint .felix-bp-card:focus-within{
  outline:3px solid rgba(47,111,89,.28);
  outline-offset:3px;
  border-color:var(--felix-green);
  box-shadow:0 12px 30px rgba(20,55,43,.10);
}
.felix-home-blueprint .felix-bp-card:focus-within .felix-bp-card-body > a{
  outline:none!important;
}
@media (prefers-reduced-motion:reduce){
  .felix-home-blueprint .felix-bp-card{transition:none}
  .felix-home-blueprint .felix-bp-card:hover{transform:none}
}


/* v1.6.52 – configurable Hero H1 size.
   The configured px value is the desktop maximum; clamp keeps headings responsive. */
.felix-framework .felix-generic-hero h1,
.felix-framework .felix-home-hero h1,
.felix-framework .felix-hero h1{
  font-size:clamp(36px,5vw,var(--felix-hero-h1,60px))!important;
}
@media(max-width:640px){
  .felix-framework .felix-generic-hero h1,
  .felix-framework .felix-home-hero h1,
  .felix-framework .felix-hero h1{
    font-size:clamp(32px,9vw,min(var(--felix-hero-h1,60px),44px))!important;
  }
}


/* v1.6.53 – configurable homepage hero portrait size.
   Medium (410px) is the FELiX default; portrait ratio stays 5:6. */
body.felix-framework.felix-home-hero-image-small .felix-home-photo{
  width:360px!important;max-width:360px!important;height:432px!important;
}
body.felix-framework.felix-home-hero-image-small .felix-home-photo img{height:432px!important}

body.felix-framework.felix-home-hero-image-medium .felix-home-photo{
  width:410px!important;max-width:410px!important;height:492px!important;
}
body.felix-framework.felix-home-hero-image-medium .felix-home-photo img{height:492px!important}

body.felix-framework.felix-home-hero-image-large .felix-home-photo{
  width:470px!important;max-width:470px!important;height:564px!important;
}
body.felix-framework.felix-home-hero-image-large .felix-home-photo img{height:564px!important}

@media(max-width:980px){
  body.felix-framework[class*="felix-home-hero-image-"] .felix-home-photo{
    width:min(100%,390px)!important;max-width:390px!important;height:468px!important;
  }
  body.felix-framework[class*="felix-home-hero-image-"] .felix-home-photo img{height:468px!important}
}
@media(max-width:768px){
  body.felix-framework[class*="felix-home-hero-image-"] .felix-home-photo{
    width:min(100%,340px)!important;max-width:340px!important;height:408px!important;
  }
  body.felix-framework[class*="felix-home-hero-image-"] .felix-home-photo img{height:408px!important}
}
@media(max-width:480px){
  body.felix-framework[class*="felix-home-hero-image-"] .felix-home-photo{
    width:min(100%,310px)!important;max-width:310px!important;height:372px!important;
  }
  body.felix-framework[class*="felix-home-hero-image-"] .felix-home-photo img{height:372px!important}
}


/* v1.6.55 – global FELiX section spacing.
   Applies one calmer, slightly more compact vertical rhythm to all framework page types.
   Hero, TOC panels, cards and CTA bands keep their own purpose-specific spacing. */
body.felix-framework{
  --felix-section-space:64px;
  --felix-section-space-mobile:48px;
  --felix-h2-content-gap:24px;
}

/* Homepage / blueprint sections */
body.felix-framework .felix-bp-section{
  padding-top:var(--felix-section-space)!important;
  padding-bottom:var(--felix-section-space)!important;
}
body.felix-framework .felix-bp-section > .felix-wrap > .felix-kicker + h2,
body.felix-framework .felix-bp-section .felix-kicker + h2{
  margin-top:10px!important;
  margin-bottom:var(--felix-h2-content-gap)!important;
}

/* Generic framework sections and main content wrappers */
body.felix-framework .felix-section{
  padding-top:var(--felix-section-space)!important;
  padding-bottom:var(--felix-section-space)!important;
}
body.felix-framework .felix-generic-main{
  padding-top:var(--felix-section-space)!important;
  padding-bottom:var(--felix-section-space)!important;
}
body.felix-framework .felix-generic-faq{
  padding-top:var(--felix-section-space)!important;
  padding-bottom:var(--felix-section-space)!important;
}

/* H2 rhythm inside article/content areas: slightly tighter, still clearly separated. */
body.felix-framework .felix-generic-content h2{
  margin-top:1.35em!important;
  margin-bottom:.5em!important;
}
body.felix-framework .felix-article h2{
  margin-top:1.35em!important;
  margin-bottom:.5em!important;
}

@media(max-width:768px){
  body.felix-framework .felix-bp-section,
  body.felix-framework .felix-section,
  body.felix-framework .felix-generic-main,
  body.felix-framework .felix-generic-faq{
    padding-top:var(--felix-section-space-mobile)!important;
    padding-bottom:var(--felix-section-space-mobile)!important;
  }
  body.felix-framework .felix-bp-section > .felix-wrap > .felix-kicker + h2,
  body.felix-framework .felix-bp-section .felix-kicker + h2{
    margin-bottom:22px!important;
  }
}


/* v1.6.56 – centrally configurable mobile typography.
   Mobile values apply up to 768px and override older scattered fixed mobile sizes. */
@media(max-width:768px){
  body.felix-framework{
    font-size:var(--felix-mobile-base,16px)!important;
  }

  body.felix-framework .felix-generic-hero h1,
  body.felix-framework .felix-home-hero h1,
  body.felix-framework .felix-hero h1{
    font-size:var(--felix-mobile-hero-h1,40px)!important;
  }

  body.felix-framework .felix-framework-content > h1,
  body.felix-framework .felix-article > h1,
  body.felix-framework .entry-content > h1{
    font-size:var(--felix-mobile-h1,36px)!important;
  }

  body.felix-framework .felix-generic-content h2,
  body.felix-framework .felix-article h2,
  body.felix-framework .felix-framework-content h2,
  body.felix-framework .felix-bp-section h2{
    font-size:var(--felix-mobile-h2,29px)!important;
  }

  body.felix-framework .felix-generic-content h3,
  body.felix-framework .felix-article h3,
  body.felix-framework .felix-framework-content h3{
    font-size:var(--felix-mobile-h3,23px)!important;
  }

  body.felix-framework .felix-generic-content p,
  body.felix-framework .felix-generic-content li,
  body.felix-framework .felix-article p,
  body.felix-framework .felix-article li,
  body.felix-framework .felix-framework-content p,
  body.felix-framework .felix-framework-content li{
    font-size:var(--felix-mobile-base,16px)!important;
  }
}


/* v1.6.60 – responsive FELiX framework logo. */
.felix-framework .site-logo img.felix-framework-logo,
.felix-framework .site-header img.felix-framework-logo{
  width:330px!important;
  max-width:330px!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
}
@media(max-width:980px){
  .felix-framework .site-logo img.felix-framework-logo,
  .felix-framework .site-header img.felix-framework-logo{
    width:285px!important;
    max-width:285px!important;
  }
}
@media(max-width:480px){
  .felix-framework .site-logo img.felix-framework-logo,
  .felix-framework .site-header img.felix-framework-logo{
    width:205px!important;
    max-width:205px!important;
  }
}


/* v1.6.62 – keep the framework logo reliably clickable in all GeneratePress header layers. */
.felix-framework .felix-framework-site-logo,
.felix-framework .felix-framework-navigation-logo,
.felix-framework .felix-framework-mobile-logo{
  position:relative!important;
  z-index:30!important;
  pointer-events:auto!important;
}
.felix-framework a.felix-framework-logo-link{
  display:inline-flex!important;
  position:relative!important;
  z-index:31!important;
  pointer-events:auto!important;
  cursor:pointer!important;
}
.felix-framework a.felix-framework-logo-link img.felix-framework-logo{
  pointer-events:none!important;
}


/* FELiX 1.6.67 – clearer semantic hierarchy in the automatic TOC.
   H2 stays bold and flush left; H3 is regular/medium and slightly indented.
   The indentation is intentionally smaller on mobile. */
.felix-framework .felix-generic-blueprint .felix-toc-list > .felix-toc-group > .felix-toc-main-link{
  font-weight:700!important;
}
.felix-framework .felix-generic-blueprint .felix-toc-sublist a,
.felix-framework .felix-generic-blueprint .felix-toc-list .felix-toc-level-3 a{
  font-weight:450!important;
  padding-left:24px!important;
}
@media (max-width:680px){
  .felix-framework .felix-generic-blueprint .felix-toc-sublist a,
  .felix-framework .felix-generic-blueprint .felix-toc-list .felix-toc-level-3 a{
    padding-left:12px!important;
  }
}

/* FELiX 1.6.72 – Desktop-Inhaltsbreite konsequent nutzen.
 * Der äußere FELiX-Content-Container ist bereits lesefreundlich begrenzt.
 * Legacy-Elementor-Innencontainer dürfen innerhalb dieser Fläche deshalb keine
 * zusätzliche, künstliche Maximalbreite behalten. Das verhindert große ungenutzte
 * Weißflächen rechts, insbesondere bei Bild/Text-Abschnitten. */
@media (min-width:1025px){
  .felix-framework .felix-generic-content > .elementor,
  .felix-framework .felix-generic-content .elementor-section,
  .felix-framework .felix-generic-content .elementor-section > .elementor-container,
  .felix-framework .felix-generic-content .e-con.e-parent,
  .felix-framework .felix-generic-content .e-con.e-parent > .e-con-inner{
    width:100%!important;
    max-width:none!important;
  }
  .felix-framework .felix-generic-content .elementor-widget-text-editor,
  .felix-framework .felix-generic-content .elementor-widget-text-editor .elementor-widget-container,
  .felix-framework .felix-generic-content .elementor-widget-text-editor p,
  .felix-framework .felix-generic-content > p,
  .felix-framework .felix-generic-content > ul,
  .felix-framework .felix-generic-content > ol,
  .felix-framework .felix-generic-content > blockquote{
    width:100%!important;
    max-width:none!important;
  }
}

/* FELiX 1.6.76 – desktop content-width root fix.
   Some legacy Elementor pages store a custom width on the text/heading widget itself.
   That widget width, not the outer FELiX container, was responsible for the large unused
   white area on pages such as /demenzpraevention/. Inside the normal FELiX article area,
   text and heading widgets now always fill their existing column. Genuine multi-column
   layouts remain intact because columns/containers are not flattened here. */
@media (min-width:1025px){
  .felix-framework .felix-generic-content :where(
    .elementor-widget-text-editor,
    .elementor-widget-heading
  ){
    width:100%!important;
    max-width:none!important;
    flex-basis:100%!important;
    align-self:stretch!important;
  }
  .felix-framework .felix-generic-content :where(
    .elementor-widget-text-editor,
    .elementor-widget-heading
  ) > .elementor-widget-container{
    width:100%!important;
    max-width:none!important;
  }
  .felix-framework .felix-generic-content .elementor-widget-text-editor :where(p,ul,ol,blockquote),
  .felix-framework .felix-generic-content > :where(p,ul,ol,blockquote){
    width:auto!important;
    max-width:min(100%,1000px)!important;
  }
}


/* FELiX 1.6.77 – legacy Elementor root-width fix.
   The card classifier must never convert the Elementor document root or a complete
   Elementor section into a horizontal flex row. A former broad classifier could add
   felix-card-row there, causing independent article sections to split the available
   width (~50/50). Keep those structural roots block-level as a defensive fallback. */
@media (min-width:769px){
  .felix-framework .felix-generic-content > .elementor.felix-card-row,
  .felix-framework .felix-generic-content .elementor-section.felix-card-row{
    display:block!important;
    width:100%!important;
    max-width:none!important;
  }
}


/* FELiX 1.6.78 – mobile TOC hierarchy fix.
 * H2 remains flush with the TOC column; H3 children are indented to the right
 * as a semantic child group. Use sublist margin instead of link padding so
 * legacy/global link rules cannot visually pull H3 back to the left. */
@media (max-width:680px){
  .felix-framework .felix-generic-blueprint .felix-toc-list > .felix-toc-group > .felix-toc-main-link{
    padding-left:0!important;
    margin-left:0!important;
  }
  .felix-framework .felix-generic-blueprint .felix-toc-sublist{
    margin-left:12px!important;
    margin-right:0!important;
    width:calc(100% - 12px)!important;
    box-sizing:border-box!important;
  }
  .felix-framework .felix-generic-blueprint .felix-toc-sublist a,
  .felix-framework .felix-generic-blueprint .felix-toc-list .felix-toc-level-3 a{
    padding-left:0!important;
    margin-left:0!important;
  }
}

