.elementor-kit-6{--e-global-color-primary:#4E667D;--e-global-color-secondary:#66717A;--e-global-color-text:#24282C;--e-global-color-accent:#4E667D;--e-global-color-48604f3:#FFFFFF;--e-global-color-233d9cf:#F6F8FA;--e-global-color-ba23edb:#D7DDE2;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:300;--e-global-typography-secondary-font-family:"Roboto";--e-global-typography-secondary-font-weight:300;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* =========================================================
   FINANZLEITUNG
   Globales Raster, Typografie, Expander, Header,
   Footer und Startseite
   ========================================================= */


/* ---------------------------------------------------------
   1. GRUNDWERTE
   --------------------------------------------------------- */

:root {
  --fl-shell-max: 1180px;
  --fl-page-max: 960px;
  --fl-reading-max: 700px;
  --fl-title-intro-gap: 14px;

  --fl-brand: #4E667D;
  --fl-text: #24303C;
  --fl-secondary: #66717A;
  --fl-white: #FFFFFF;
  --fl-surface: #F6F8FA;
  --fl-line: #D7DDE2;

  --fl-header-height: 96px;

  /* Startseite: beide Linien exakt gleich lang */
  --fl-home-rule-width: 620px;

  /* -------------------------------------------------------
     NAVIGATIONSLINIE – HEADER
     ------------------------------------------------------- */

  --fl-header-menu-rule-offset: -20px;


  /* -------------------------------------------------------
     EXPANDER-PFEIL
     ------------------------------------------------------- */

  --fl-expander-arrow-mask:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 18'%3E%3Cpath d='M1 9H237M229 2L238 9L229 16' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}


/* =========================================================
   2. HEADER
   ========================================================= */

.fl-header__inner {
  width: calc(100% - var(--fl-side) - var(--fl-side)) !important;
  max-width: var(--fl-shell-max) !important;

  min-height: var(--fl-header-height) !important;
  height: auto !important;

  margin-left: auto !important;
  margin-right: auto !important;

  display: flex;
  align-items: center !important;
  justify-content: space-between;

  overflow: visible !important;
}


/* Markenbereich */

.fl-brand {
  display: flex;
  align-items: center;

  margin: 0 !important;

  overflow: visible !important;
}


.fl-brand .custom-logo-link {
  display: block;

  width: 360px;
  max-width: 36vw;

  aspect-ratio: 1440 / 225;

  margin: 0 !important;

  line-height: 0;

  background-image:
    url("https://www.finanzleitung.ch/wp-content/uploads/2026/08/Logo-Finanzleitung-Header.svg");

  background-repeat: no-repeat;
  background-position: left center;
  background-size: contain;

  overflow: visible;
}


/* WordPress-Logo technisch bestehen lassen */

.fl-brand .custom-logo {
  display: block;

  width: 100% !important;
  height: 100% !important;

  max-width: none !important;
  max-height: none !important;

  margin: 0 !important;

  opacity: 0;

  object-fit: contain;
}


/* ---------------------------------------------------------
   Hauptnavigation
   --------------------------------------------------------- */

.fl-navigation {
  align-items: center !important;

  margin-left: auto;

  padding-right: 11px;

  overflow: visible !important;
}


.fl-menu {
  align-items: center !important;

  overflow: visible !important;
}


.fl-menu li {
  overflow: visible !important;
}


.fl-menu a {
  position: relative;

  overflow: visible !important;

  font-size: 14px;
  font-weight: 400;

  text-decoration: none !important;
  border: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}


/* ---------------------------------------------------------
   Alte Theme-Unterstreichung ausschalten
   --------------------------------------------------------- */

.fl-menu li > a::before {
  content: none !important;
  display: none !important;

  border: 0 !important;
  background: none !important;
  box-shadow: none !important;
}


.fl-menu li,
.fl-menu li.current-menu-item,
.fl-menu li.current_page_item,
.fl-menu li.current-menu-ancestor,
.fl-menu li.current_page_parent {
  border-bottom: 0 !important;
  box-shadow: none !important;
}


.fl-menu .current-menu-item > a,
.fl-menu .current_page_item > a,
.fl-menu .current-menu-ancestor > a,
.fl-menu .current_page_parent > a,
.fl-menu a[aria-current="page"] {
  border: 0 !important;
  border-bottom: 0 !important;

  box-shadow: none !important;

  text-decoration: none !important;
}


/* ---------------------------------------------------------
   Feine Linie unter den Header-Menüpunkten

   Animation über clip-path:
   Die Linie bleibt dadurch während der gesamten
   Bewegung physisch exakt 1 px hoch.
   --------------------------------------------------------- */

.fl-menu li > a::after {
  content: "" !important;

  position: absolute;

  left: 0;
  right: 0;

  bottom: var(--fl-header-menu-rule-offset);

  display: block !important;

  height: 1px;

  background: var(--fl-line) !important;
  background-image: none !important;

  border: 0 !important;
  box-shadow: none !important;

  pointer-events: none;

  opacity: 0;

  clip-path: inset(0 100% 0 0);

  transition:
    clip-path 430ms cubic-bezier(.22, .61, .36, 1),
    opacity 180ms ease;
}


/* Aktive Seite */

.fl-menu .current-menu-item > a::after,
.fl-menu .current_page_item > a::after,
.fl-menu .current-menu-ancestor > a::after,
.fl-menu .current_page_parent > a::after,
.fl-menu a[aria-current="page"]::after {
  animation:
    fl-menu-rule-draw
    620ms
    cubic-bezier(.22, .61, .36, 1)
    180ms
    both;
}


@keyframes fl-menu-rule-draw {

  0% {
    clip-path: inset(0 100% 0 0);
    opacity: 0;
  }

  18% {
    opacity: 1;
  }

  100% {
    clip-path: inset(0 0 0 0);
    opacity: 1;
  }
}


/* Hover nur bei echtem Mauszeiger */

@media (hover: hover) and (pointer: fine) {

  .fl-menu
  li:not(.current-menu-item):not(.current_page_item):not(.current-menu-ancestor):not(.current_page_parent)
  > a:hover::after {
    clip-path: inset(0 0 0 0);
    opacity: 1;
  }
}


/* Tastaturfokus */

.fl-menu a:focus,
.fl-menu a:focus-visible {
  border: 0 !important;
  border-bottom: 0 !important;

  box-shadow: none !important;

  outline: none !important;

  text-decoration: none !important;
}


.fl-menu a:focus::after,
.fl-menu a:focus-visible::after {
  clip-path: inset(0 0 0 0);
  opacity: 1;
}


/* =========================================================
   3. ELEMENTOR-SEITENINHALT
   ========================================================= */

body .elementor .e-con.fl-container {
  width: calc(100% - var(--fl-side) - var(--fl-side)) !important;
  max-width: var(--fl-page-max) !important;

  margin-left: auto !important;
  margin-right: auto !important;

  padding-left: 0 !important;
  padding-right: 0 !important;

  align-self: center !important;
  gap: 0 !important;

  --width: 100%;
  --content-width: 100%;
}


/* =========================================================
   4. GRUNDTYPOGRAFIE
   ========================================================= */

body {
  color: var(--fl-text);

  font-size: 17px;
  line-height: 1.62;
}


/* =========================================================
   5. SEITENTITEL
   ========================================================= */

body .elementor .elementor-widget-heading.fl-page-title {
  width: 100%;

  margin: 0 0 var(--fl-title-intro-gap) !important;
}


body .elementor
.elementor-widget-heading.fl-page-title
> .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
}


body .elementor
.elementor-widget-heading.fl-page-title
.elementor-heading-title {
  position: relative;
  left: -2px;

  margin: 0;

  color: var(--fl-brand) !important;

  font-size: 37px !important;
  font-weight: 300;
  line-height: 1.14;
  letter-spacing: -0.012em;
}


/* =========================================================
   6. EINLEITUNG UNTERSEITEN
   ========================================================= */

body .elementor .elementor-widget-text-editor.fl-intro {
  width: 100%;

  margin: 0 !important;

  color: var(--fl-text);

  font-size: 19px;
  line-height: 1.58;
}


body .elementor
.elementor-widget-text-editor.fl-intro
> .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;

  color: inherit;

  font-size: inherit;
  line-height: inherit;
}


.fl-intro p {
  margin-top: 0;
  margin-bottom: 1.25em;
}


.fl-intro p:last-child {
  margin-bottom: 0;
}


/* =========================================================
   7. EXPANDER – GRUNDSTRUKTUR
   ========================================================= */

.fl-expanders {
  margin-top: 42px !important;

  border-top: 1px solid var(--fl-line);
}


.fl-expander {
  border-bottom: 1px solid var(--fl-line);
}


.fl-expanders .fl-expander:last-child {
  border-bottom: 0;
}


.fl-expanders .fl-expander__summary {
  display: flex;
  flex-direction: column;
  align-items: flex-start;

  gap: 18px;
  min-height: 44px;

  padding-top: 46px;
  padding-bottom: 48px;

  color: var(--fl-brand);

  cursor: pointer;
  list-style: none !important;
}


.fl-expanders .fl-expander__summary::marker {
  content: "";
}


.fl-expanders
.fl-expander__summary::-webkit-details-marker {
  display: none !important;
}


/* Letzter Expander geschlossen */

.fl-expanders
.fl-expander:last-child
> .fl-expander__summary {
  padding-bottom: 27px;
}


/* =========================================================
   8. EXPANDER-TITEL
   ========================================================= */

.fl-expanders .fl-expander__title {
  display: block;

  color: var(--fl-text) !important;

  font-size: 25px !important;
  font-weight: 300;
  line-height: 1.24;
  letter-spacing: -0.01em;
}


/* =========================================================
   9. EXPANDER-PFEIL
   ========================================================= */

body .elementor
.fl-expanders
.fl-expander__summary
.fl-expander__line {
  display: block !important;

  width: clamp(145px, 25%, 240px) !important;
  height: 16px !important;

  margin: 0 !important;

  color: var(--fl-brand) !important;

  background: currentColor !important;
  background-image: none !important;

  opacity: 0.50 !important;

  -webkit-mask:
    var(--fl-expander-arrow-mask)
    left center / 100% 100%
    no-repeat !important;

  mask:
    var(--fl-expander-arrow-mask)
    left center / 100% 100%
    no-repeat !important;

  transform: none !important;

  transition:
    color 180ms ease,
    opacity 180ms ease;
}


body .elementor
.fl-expanders
.fl-expander__summary
.fl-expander__line::before,
body .elementor
.fl-expanders
.fl-expander__summary
.fl-expander__line::after {
  content: none !important;
  display: none !important;

  background: none !important;
  border: 0 !important;

  transform: none !important;
}


/* =========================================================
   10. EXPANDER-ZUSTÄNDE
   ========================================================= */

body .elementor
.fl-expanders
.fl-expander__summary:hover
.fl-expander__line {
  color: var(--fl-secondary) !important;
  opacity: 0.50 !important;
}


.fl-expanders
.fl-expander[open]
> .fl-expander__summary {
  padding-bottom: 28px;
}


.fl-expanders
.fl-expander[open]
> .fl-expander__summary
.fl-expander__title {
  color: var(--fl-text) !important;
}


.fl-expanders
.fl-expander:last-child[open]
> .fl-expander__summary {
  padding-bottom: 18px;
}


body .elementor
.fl-expanders
.fl-expander[open]
> .fl-expander__summary
.fl-expander__line {
  transform: none !important;
}


.fl-expanders
.fl-expander__summary:focus-visible {
  outline: none;
}


.fl-expanders
.fl-expander__summary:focus-visible
.fl-expander__title {
  color: var(--fl-text) !important;

  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 5px;
}


body .elementor
.fl-expanders
.fl-expander__summary:focus-visible
.fl-expander__line {
  color: var(--fl-secondary) !important;
  opacity: 0.50 !important;
}


/* =========================================================
   11. EXPANDER-INHALT
   ========================================================= */

.fl-expanders .fl-expander__content {
  width: min(100%, var(--fl-reading-max));
  max-width: var(--fl-reading-max);

  margin-left: auto;
  margin-right: auto;

  padding-top: 8px;
  padding-bottom: 60px;

  color: var(--fl-text);

  font-size: 17px;
  line-height: 1.65;
}


.fl-expanders
.fl-expander:last-child[open]
.fl-expander__content {
  padding-bottom: 18px;
}


.fl-expanders
.fl-expander__content
> *:first-child {
  margin-top: 0;
}


.fl-expanders
.fl-expander__content
> *:last-child {
  margin-bottom: 0;
}


/* =========================================================
   12. EINSPALTIGER ELEMENTOR-FOOTER
   ========================================================= */

.fl-pro-footer__stack {
  border-top: 1px solid var(--fl-line);

  padding-top: 48px !important;
  padding-bottom: 48px !important;

  gap: 0 !important;
}


.fl-pro-footer__stack
> .elementor-widget-image {
  margin: 0 0 10px !important;
}


.fl-pro-footer__stack
> .elementor-widget-image
> .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
}


.fl-pro-footer__stack
.elementor-widget-image img {
  display: block;

  max-width: 100%;
  height: auto;

  margin-left: auto;
  margin-right: auto;
}


.fl-pro-footer__stack
> .elementor-widget-text-editor {
  margin: 0 0 17px !important;

  color: var(--fl-brand);

  font-family: Roboto, Arial, sans-serif;
  font-size: 15px;
  font-weight: 300;
  line-height: 1.8;
  letter-spacing: 0.5px;

  text-align: center;
}


.fl-pro-footer__stack
> .elementor-widget-text-editor
> .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
}


.fl-pro-footer__stack
.elementor-widget-text-editor p {
  margin: 0 !important;
}


.fl-pro-footer__stack
.elementor-widget-text-editor a {
  color: inherit;
  font-weight: inherit;

  text-decoration: none;
  text-underline-offset: 4px;
}


.fl-pro-footer__stack
.elementor-widget-text-editor a:hover,
.fl-pro-footer__stack
.elementor-widget-text-editor a:focus-visible {
  color: var(--fl-secondary);

  text-decoration: underline;
  outline: none;
}


.fl-pro-footer__stack
> .elementor-widget-html {
  margin: 0 !important;
}


.fl-pro-footer__linkedin {
  display: inline-flex;

  align-items: center;
  justify-content: center;

  width: 44px;
  height: 44px;

  margin: 0;

  color: var(--fl-brand);
  text-decoration: none;

  transition: color 180ms ease;
}


.fl-pro-footer__linkedin svg {
  display: block;

  width: 23px;
  height: 23px;
}


.fl-pro-footer__linkedin:hover {
  color: var(--fl-secondary);
}


.fl-pro-footer__linkedin:focus-visible {
  color: #3E5563;

  outline: none;
}


/* =========================================================
   13. STARTSEITE
   ========================================================= */

.fl-home {
  width: calc(100% - var(--fl-side) - var(--fl-side)) !important;
  max-width: var(--fl-shell-max) !important;

  min-height: 100svh;

  margin: 0 auto !important;

  padding-top: clamp(70px, 10vh, 120px) !important;
  padding-right: 0 !important;
  padding-bottom: clamp(60px, 8vh, 100px) !important;
  padding-left: 0 !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;

  gap: 0 !important;

  text-align: center;
}


.fl-home__logo {
  width: 100% !important;

  margin-top: 0 !important;
  margin-right: 0 !important;
  margin-bottom: 56px !important;
  margin-left: 0 !important;
}


.fl-home__logo .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
}


.fl-home__logo img {
  display: block;

  width: min(690px, 72vw) !important;
  max-width: 100% !important;
  height: auto !important;

  margin: 0 auto !important;
}


.fl-home__logo::after {
  content: "";

  display: block;

  width: min(var(--fl-home-rule-width), 78vw);
  height: 1px;

  margin-top: 30px;
  margin-right: auto;
  margin-left: auto;

  background: var(--fl-line);
}


.fl-home__intro {
  width: min(100%, 820px) !important;

  margin-top: 0 !important;
  margin-right: auto !important;
  margin-bottom: 0 !important;
  margin-left: auto !important;

  color: var(--fl-brand);

  font-family: Roboto, Arial, sans-serif;
  font-weight: 300;

  text-align: center;
}


.fl-home__intro .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
}


.fl-home__intro p {
  margin: 0 !important;
  padding: 0 !important;
}


.fl-home__intro p:nth-of-type(1) {
  margin-bottom: 11px !important;

  color: var(--fl-brand);

  font-size: 30px;
  font-weight: 300;
  line-height: 1.2;
  letter-spacing: -0.01em;
}


/* ---------------------------------------------------------
   SCHLUSSSATZ – TRANSPARENZ-REVEAL
   --------------------------------------------------------- */

.fl-home__intro p:nth-of-type(2) {
  position: relative;

  display: inline-block;
  max-width: 100%;

  margin: 0 !important;
  padding: 0 !important;

  color: rgba(78, 102, 125, 0.38);

  font-size: 19px;
  font-weight: 300;
  line-height: 1.5;
  letter-spacing: 0;

  text-align: center;

  overflow: hidden;
}


.fl-home__intro p:nth-of-type(2)::after {
  content: "Ohne dafür eine vollamtliche Position zu schaffen.";

  position: absolute;
  inset: 0;

  display: block;

  color: var(--fl-brand);

  font: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  text-align: inherit;

  pointer-events: none;

  clip-path: inset(0 100% 0 0);

  animation:
    fl-home-text-reveal
    1100ms
    cubic-bezier(.22, .61, .36, 1)
    650ms
    forwards;
}


@keyframes fl-home-text-reveal {

  from {
    clip-path: inset(0 100% 0 0);
  }

  to {
    clip-path: inset(0 0 0 0);
  }
}


.fl-home__intro::after {
  content: "";

  display: block;

  width: min(var(--fl-home-rule-width), 78vw);
  height: 1px;

  margin-top: 76px;
  margin-right: auto;
  margin-left: auto;

  background: var(--fl-line);
}


/* ---------------------------------------------------------
   Startseite – Navigation
   --------------------------------------------------------- */

.fl-home__nav {
  width: min(100%, 1000px) !important;

  margin-top: 30px !important;
  margin-right: auto !important;
  margin-bottom: 0 !important;
  margin-left: auto !important;

  padding: 0 !important;

  grid-template-columns:
    max-content
    max-content
    max-content !important;

  justify-content: center !important;

  column-gap: 112px !important;
  row-gap: 0 !important;

  align-items: center !important;
}


.fl-home__nav-item {
  width: auto !important;
  min-width: 0 !important;

  margin: 0 !important;
  padding: 0 !important;

  justify-self: center !important;

  text-align: center;
}


.fl-home__nav-item .elementor-widget-container {
  width: auto !important;

  margin: 0 !important;
  padding: 0 !important;
}


.fl-home__nav-item .elementor-heading-title,
.fl-home__nav-item .elementor-heading-title a,
.fl-home__nav-item a {
  color: var(--fl-brand) !important;

  font-family: Roboto, Arial, sans-serif !important;
  font-size: 18px !important;
  font-weight: 300 !important;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;

  white-space: nowrap;

  text-decoration: none !important;
}


.fl-home__nav-item a {
  position: relative;

  display: inline-block;

  overflow: visible;

  transition: color 180ms ease;
}


.fl-home__nav-item a::after {
  content: "";

  position: absolute;

  left: 0;
  right: 0;

  bottom: -8px;

  height: 1px;

  background: var(--fl-line);

  pointer-events: none;

  opacity: 0;

  transform: scaleX(0);
  transform-origin: left center;

  transition:
    transform 430ms cubic-bezier(.22, .61, .36, 1),
    opacity 180ms ease;
}


@media (hover: hover) and (pointer: fine) {

  .fl-home__nav-item a:hover {
    color: var(--fl-brand) !important;
  }


  .fl-home__nav-item a:hover::after {
    transform: scaleX(1);
    opacity: 1;
  }
}


.fl-home__nav-item a:focus-visible {
  color: var(--fl-brand) !important;

  outline: none;

  text-decoration: none !important;
}


.fl-home__nav-item a:focus-visible::after {
  transform: scaleX(1);
  opacity: 1;
}


/* ---------------------------------------------------------
   Desktop – Feinausrichtung Header-Navigation
   Menütext 2 px tiefer
   Linie nochmals 1 px näher am Menütext
   --------------------------------------------------------- */

@media (min-width: 960px) {

  .fl-menu a {
    top: 2px;
  }

  :root {
    --fl-header-menu-rule-offset: -6px;
  }
}


/* =========================================================
   14. TABLET
   ========================================================= */

@media (max-width: 959px) {

  :root {
    --fl-title-intro-gap: 13px;
    --fl-header-height: 86px;
    --fl-header-menu-rule-offset: -18px;

    --fl-home-rule-width: 540px;
  }


  .fl-brand .custom-logo-link {
    width: 320px;
    max-width: 58vw;
  }


  .fl-navigation {
    align-items: center !important;
    padding-right: 9px;
  }


  .fl-menu a {
    font-weight: 400;
  }


  body .elementor
  .elementor-widget-heading.fl-page-title
  .elementor-heading-title {
    font-size: 34px !important;
  }


  body .elementor
  .elementor-widget-text-editor.fl-intro {
    font-size: 18px;
  }


  .fl-expanders {
    margin-top: 36px !important;
  }


  .fl-expanders .fl-expander__title {
    font-size: 24px !important;
  }


  .fl-expanders .fl-expander__summary {
    gap: 16px;

    padding-top: 39px;
    padding-bottom: 41px;
  }


  .fl-expanders
  .fl-expander[open]
  > .fl-expander__summary {
    padding-bottom: 25px;
  }


  .fl-expanders
  .fl-expander:last-child
  > .fl-expander__summary {
    padding-bottom: 24px;
  }


  .fl-expanders
  .fl-expander:last-child[open]
  > .fl-expander__summary {
    padding-bottom: 16px;
  }


  .fl-expanders .fl-expander__content {
    padding-top: 6px;
    padding-bottom: 50px;
  }


  .fl-expanders
  .fl-expander:last-child[open]
  .fl-expander__content {
    padding-bottom: 16px;
  }


  .fl-pro-footer__stack {
    padding-top: 42px !important;
    padding-bottom: 44px !important;
  }


  .fl-pro-footer__stack
  > .elementor-widget-image {
    margin-bottom: 9px !important;
  }


  .fl-pro-footer__stack
  > .elementor-widget-text-editor {
    margin-bottom: 15px !important;
    font-size: 14px;
  }


  .fl-home {
    padding-top: clamp(60px, 9vh, 90px) !important;
    padding-bottom: 60px !important;
  }


  .fl-home__logo {
    margin-bottom: 48px !important;
  }


  .fl-home__logo img {
    width: min(600px, 78vw) !important;
  }


  .fl-home__logo::after {
    width: min(var(--fl-home-rule-width), 78vw);
    margin-top: 27px;
  }


  .fl-home__intro {
    width: min(100%, 720px) !important;
  }


  .fl-home__intro p:nth-of-type(1) {
    margin-bottom: 10px !important;
    font-size: 27px;
  }


  .fl-home__intro p:nth-of-type(2) {
    margin: 0 !important;
    font-size: 18px;
  }


  .fl-home__intro::after {
    width: min(var(--fl-home-rule-width), 78vw);
    margin-top: 64px;
  }


  .fl-home__nav {
    width: min(100%, 900px) !important;

    margin-top: 27px !important;

    grid-template-columns:
      max-content
      max-content
      max-content !important;

    justify-content: center !important;

    column-gap: 64px !important;
    row-gap: 0 !important;
  }


  .fl-home__nav-item .elementor-heading-title,
  .fl-home__nav-item .elementor-heading-title a,
  .fl-home__nav-item a {
    font-size: 17px !important;
    font-weight: 300 !important;
    line-height: 1.3 !important;

    white-space: nowrap;
  }


  .fl-home__nav-item a::after {
    bottom: -7px;
    height: 1px;
  }
}


/* =========================================================
   15. SMARTPHONE
   ========================================================= */

@media (max-width: 640px) {

  :root {
    --fl-title-intro-gap: 12px;
    --fl-header-height: 78px;

    /* Burger-Menü unverändert */
    --fl-header-menu-rule-offset: 1px;

    --fl-home-rule-width: 360px;
  }


  .fl-brand .custom-logo-link {
    width: 275px;
    max-width: 72vw;
  }


  .fl-navigation {
    padding-right: 0;
  }


  body .elementor
  .elementor-widget-heading.fl-page-title
  .elementor-heading-title {
    font-size: 30px !important;
    line-height: 1.16;
  }


  body .elementor
  .elementor-widget-text-editor.fl-intro {
    font-size: 18px;
    line-height: 1.58;
  }


  .fl-expanders {
    margin-top: 29px !important;
  }


  .fl-expanders .fl-expander__title {
    font-size: 22px !important;
    line-height: 1.28;
  }


  .fl-expanders .fl-expander__summary {
    gap: 14px;

    padding-top: 31px;
    padding-bottom: 33px;
  }


  .fl-expanders
  .fl-expander[open]
  > .fl-expander__summary {
    padding-bottom: 21px;
  }


  .fl-expanders
  .fl-expander:last-child
  > .fl-expander__summary {
    padding-bottom: 22px;
  }


  .fl-expanders
  .fl-expander:last-child[open]
  > .fl-expander__summary {
    padding-bottom: 14px;
  }


  body .elementor
  .fl-expanders
  .fl-expander__summary
  .fl-expander__line {
    width: clamp(120px, 42%, 170px) !important;
    height: 16px !important;
  }


  .fl-expanders .fl-expander__content {
    width: 100%;
    max-width: 100%;

    margin-left: 0;
    margin-right: 0;

    padding-top: 4px;
    padding-bottom: 41px;

    font-size: 17px;
    line-height: 1.64;
  }


  .fl-expanders
  .fl-expander:last-child[open]
  .fl-expander__content {
    padding-bottom: 14px;
  }


  .fl-pro-footer__stack {
    padding-top: 36px !important;
    padding-bottom: 38px !important;
  }


  .fl-pro-footer__stack
  > .elementor-widget-image {
    width: 100% !important;
    margin-bottom: 8px !important;
  }


  .fl-pro-footer__stack
  .elementor-widget-image img {
    width: min(320px, 88vw) !important;
    max-width: none !important;
    height: auto !important;

    margin-left: auto !important;
    margin-right: auto !important;
  }


  .fl-pro-footer__stack
  > .elementor-widget-text-editor {
    width: 100%;

    margin-bottom: 13px !important;

    font-size: 14px;
    line-height: 1.8;
    letter-spacing: 0.5px;

    text-align: center;
  }


  .fl-pro-footer__stack
  .elementor-widget-text-editor p {
    white-space: normal;
  }


  .fl-pro-footer__linkedin {
    width: 44px;
    height: 44px;
  }


  /* -------------------------------------------------------
     Startseite Smartphone
     ------------------------------------------------------- */

  .fl-home {
    min-height: 100svh;

    padding-top: 52px !important;
    padding-bottom: 46px !important;
  }


  .fl-home__logo {
    margin-bottom: 40px !important;
  }


  .fl-home__logo img {
    width: min(430px, 92vw) !important;
  }


  .fl-home__logo::after {
    width: min(var(--fl-home-rule-width), 86vw);
    margin-top: 24px;
  }


  .fl-home__intro {
    width: 100% !important;
  }


  .fl-home__intro p:nth-of-type(1) {
    margin-bottom: 9px !important;

    font-size: 25px;
    line-height: 1.2;
  }


  /* -------------------------------------------------------
     Schlusssatz Mobile:
     definierter Umbruch nach «eine»
     ------------------------------------------------------- */

  .fl-home__intro p:nth-of-type(2) {
    display: block;

    width: 100%;
    min-height: 3em;

    margin: 0 !important;

    color: transparent;

    font-size: 17px;
    line-height: 1.5;

    overflow: hidden;
  }


  .fl-home__intro p:nth-of-type(2)::before,
  .fl-home__intro p:nth-of-type(2)::after {
    content: "Ohne dafür eine\A vollamtliche Position zu schaffen.";

    position: absolute;
    inset: 0;

    display: block;

    white-space: pre-line;

    font: inherit;
    line-height: inherit;
    letter-spacing: inherit;
    text-align: center;

    pointer-events: none;
  }


  .fl-home__intro p:nth-of-type(2)::before {
    color: rgba(78, 102, 125, 0.38);
  }


  .fl-home__intro p:nth-of-type(2)::after {
    color: var(--fl-brand);

    clip-path: inset(0 100% 0 0);
  }


  .fl-home__intro::after {
    width: min(var(--fl-home-rule-width), 86vw);
    margin-top: 52px;
  }


  .fl-home__nav {
    width: 100% !important;

    margin-top: 24px !important;

    grid-template-columns: max-content !important;

    justify-content: center !important;

    column-gap: 0 !important;
    row-gap: 22px !important;
  }


  .fl-home__nav-item {
    width: auto !important;
    justify-self: center !important;
  }


  .fl-home__nav-item .elementor-heading-title,
  .fl-home__nav-item .elementor-heading-title a,
  .fl-home__nav-item a {
    font-size: 17px !important;
    font-weight: 300 !important;
    line-height: 1.3 !important;

    white-space: nowrap;
  }


  .fl-home__nav-item a::after {
    left: 0;
    right: 0;

    bottom: -6px;

    height: 1px;
  }
}


/* =========================================================
   16. REDUZIERTE BEWEGUNG
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

  .fl-home__intro p:nth-of-type(2)::after {
    animation: none !important;

    clip-path: inset(0 0 0 0) !important;
  }


  .fl-menu .current-menu-item > a::after,
  .fl-menu .current_page_item > a::after,
  .fl-menu .current-menu-ancestor > a::after,
  .fl-menu .current_page_parent > a::after,
  .fl-menu a[aria-current="page"]::after {
    animation: none !important;

    clip-path: inset(0 0 0 0) !important;
    opacity: 1 !important;
  }


  .fl-menu li > a::after {
    transition: opacity 180ms ease !important;
  }


  .fl-home__nav-item a::after {
    transition: opacity 180ms ease !important;
  }
}/* End custom CSS */