/* Approved component catalogue transfer, 20 September 2026. Poppins remains authoritative. */
body[data-design-variant=figma]{--panel:#f5f3f4;--panel-strong:#e5e2e3;--ink:#2c282e;--reference-red:#a70a1a;--reference-bright:#ef3346;--action:#a70a1a;--pager:#a70a1a;--footer:#1a171b;--reference-line:#e5e2e3;--icon-ink:none}
:is(.fh-cases,.fp-cases,.fh-stats,.fp-service-dark,.fp-dark-win,.fp-machine-stats,.fp-about-dark,.fp-relevant){--panel:#3b363e;--panel-strong:#3d393f;--ink:#fff;--reference-red:#ef3346;--action:#fff;--pager:#fff;--reference-line:#645b68;--icon-ink:brightness(0) invert(1)}
/* Header occupies its original overlay space; only the main row sticks after the service row scrolls away. */
body[data-design-variant=figma] .fh-header{position:sticky;inset:auto;top:-41px;height:105px;margin-bottom:-105px;z-index:100}
body[data-design-variant=figma] .fh-logo{flex:0 0 172px;width:172px;height:44px;min-height:44px;display:flex;align-items:center}
body[data-design-variant=figma] .fh-logo img{display:block;width:100%;height:auto;max-height:44px;object-fit:contain;flex:none}
html{scroll-padding-top:90px}
/* ==========================================================================
   Main Navigation & Dropdown Styling (Transferred from 4173)
   ========================================================================== */
body[data-design-variant=figma] .fh-navigation {
  height: 64px;
  padding: 0 60px;
  background: #fff;
  box-shadow: 0 10px 15px rgba(0, 0, 0, 0.08);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

body[data-design-variant=figma] .fh-logo {
  flex: 0 0 172px;
  width: 172px;
  height: 44px;
  min-height: 44px;
  display: flex;
  align-items: center;
}

body[data-design-variant=figma] .fh-logo img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 44px;
  object-fit: contain;
  flex: none;
}

@media (min-width: 1101px) {
  body[data-design-variant=figma] .fh-nav {
    display: flex;
    align-items: center;
    gap: 28px;
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
  }

  body[data-design-variant=figma] .fh-nav a {
    display: flex;
    align-items: center;
    gap: 5px;
    white-space: nowrap;
    transition: color 0.2s;
  }

  body[data-design-variant=figma] .fh-nav a:hover {
    color: var(--reference-red, #a70a1a);
  }

  body[data-design-variant=figma] .fh-nav-group {
    height: 64px;
    display: flex;
    align-items: center;
    position: relative;
  }

  body[data-design-variant=figma] .fh-nav-parent {
    display: flex;
    align-items: center;
  }

  body[data-design-variant=figma] .fh-submenu-toggle {
    width: 25px;
    height: 32px;
    padding: 8px;
    border: 0;
    background: transparent;
    display: grid;
    place-items: center;
    cursor: pointer;
  }

  body[data-design-variant=figma] .fh-submenu-toggle img {
    width: 8px;
    height: 8px;
    transform: rotate(180deg);
    transition: transform 0.2s;
  }

  body[data-design-variant=figma] .fh-nav-group.is-open .fh-submenu-toggle img,
  body[data-design-variant=figma] .fh-nav-group:hover .fh-submenu-toggle img,
  body[data-design-variant=figma] .fh-nav-group:focus-within .fh-submenu-toggle img {
    transform: none;
  }

  body[data-design-variant=figma] .fh-nav-group.is-active > .fh-nav-parent > a {
    color: var(--reference-red, #a70a1a);
    font-weight: 700;
  }

  /* Dropdown menu */
  body[data-design-variant=figma] .fh-nav-drop {
    position: absolute;
    top: 64px;
    left: -22px;
    width: 320px;
    max-height: calc(100vh - 130px);
    overflow-y: auto;
    padding: 14px 12px;
    background: var(--ink, #2c282e);
    color: #fff;
    box-shadow: 0 15px 28px rgba(0, 0, 0, 0.22);
    opacity: 0;
    visibility: hidden;
    transform: translateY(7px);
    transition: opacity 0.2s, transform 0.2s, visibility 0.2s;
  }

  body[data-design-variant=figma] .fh-nav-group:nth-last-of-type(-n + 2) .fh-nav-drop,
  body[data-design-variant=figma] .fh-nav > .fh-nav-group:last-of-type .fh-nav-drop {
    left: auto;
    right: 0;
  }

  body[data-design-variant=figma] .fh-nav-group:hover .fh-nav-drop,
  body[data-design-variant=figma] .fh-nav-group:focus-within .fh-nav-drop,
  body[data-design-variant=figma] .fh-nav-group.is-open .fh-nav-drop {
    opacity: 1;
    visibility: visible;
    transform: none;
  }

  body[data-design-variant=figma] .fh-nav-group.is-dismissed .fh-nav-drop {
    opacity: 0;
    visibility: hidden;
  }

  body[data-design-variant=figma] .fh-nav-drop a {
    display: block;
    padding: 12px 10px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    font-size: 13px;
    line-height: 1.35;
    white-space: normal;
    color: #f0eef0;
    text-decoration: none;
    transition: color 0.15s, background 0.15s;
  }

  body[data-design-variant=figma] .fh-nav-drop a:last-child {
    border-bottom: 0;
  }

  /* Dropdown highlighting on hover / focus */
  body[data-design-variant=figma] .fh-nav-drop a:hover,
  body[data-design-variant=figma] .fh-nav-drop a:focus-visible {
    color: var(--fh-lime, #d1e000) !important;
    background: rgba(255, 255, 255, 0.06) !important;
  }

  /* Dropdown active page item with red left indicator */
  body[data-design-variant=figma] .fh-nav-drop a[aria-current="page"] {
    color: #ffffff !important;
    font-weight: 700 !important;
    border-left: 3px solid var(--reference-bright, #ef3346) !important;
    padding-left: 10px !important;
  }

  body[data-design-variant=figma] .fh-nav-drop a[aria-current="page"]:hover,
  body[data-design-variant=figma] .fh-nav-drop a[aria-current="page"]:focus-visible {
    color: var(--fh-lime, #d1e000) !important;
    background: rgba(255, 255, 255, 0.06) !important;
  }

  body[data-design-variant=figma] .fh-nav-contact {
    font-weight: 700;
  }

  body[data-design-variant=figma] .fh-nav-contact:hover,
  body[data-design-variant=figma] .fh-nav-contact:focus-visible,
  body[data-design-variant=figma] .fh-nav-contact[aria-current="page"] {
    color: var(--reference-red, #a70a1a);
  }

  /* Utility Bar: Support Link rechtsbündig mit Dropdown-Pfeil von Unternehmen */
  body[data-design-variant=figma] .fh-utility-inner {
    padding: 0 60px !important;
    gap: 35.5px !important;
  }
}
@media(max-width:1100px){
  body[data-design-variant=figma] .fh-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    height: 78px !important;
    margin-bottom: 0 !important;
    z-index: 1000 !important;
    background: #fff !important;
  }
  body[data-design-variant=figma] .fh-navigation {
    height: 78px !important;
    padding: 0 20px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    background: #fff !important;
  }
  body[data-design-variant=figma] .fh-utility {
    display: none !important;
  }
  body[data-design-variant=figma] .fh-logo {
    flex-basis: 160px !important;
    width: 160px !important;
  }
  body[data-design-variant=figma] .fh-menu-button {
    display: block !important;
  }
  body[data-design-variant=figma] .fh-nav {
    display: none !important;
    position: fixed !important;
    top: 78px !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    height: auto !important;
    max-height: calc(100dvh - 78px) !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch !important;
    background: #fff !important;
    box-shadow: 0 12px 25px rgba(0, 0, 0, 0.12) !important;
    padding: 16px 20px 40px !important;
    flex-direction: column !important;
    align-items: stretch !important;
    z-index: 999 !important;
  }
  body[data-design-variant=figma] .fh-nav.is-open {
    display: flex !important;
  }
  body[data-design-variant=figma] .fh-nav-group {
    height: auto !important;
    width: 100% !important;
    display: block !important;
  }
  body[data-design-variant=figma] .fh-nav-parent {
    width: 100% !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    cursor: pointer !important;
  }
  body[data-design-variant=figma] .fh-nav-parent > a {
    flex: 1 1 auto !important;
    padding: 12px 0 !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
  }
  body[data-design-variant=figma] .fh-nav-drop {
    display: none !important;
    position: static !important;
    width: 100% !important;
    max-height: none !important;
    overflow: visible !important;
    padding: 0 0 12px 16px !important;
    background: transparent !important;
    color: #625d63 !important;
    box-shadow: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }
  body[data-design-variant=figma] .fh-nav-group.is-open .fh-nav-drop {
    display: block !important;
  }
  body[data-design-variant=figma] .fh-nav-drop a {
    display: block !important;
    padding: 10px 0 !important;
    border: 0 !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
    color: #555 !important;
  }
  body[data-design-variant=figma] .fh-nav-drop a:hover,
  body[data-design-variant=figma] .fh-nav-drop a:focus-visible,
  body[data-design-variant=figma] .fh-nav-drop a[aria-current="page"] {
    color: var(--reference-red, #a70a1a) !important;
    background: transparent !important;
  }
  body[data-design-variant=figma] .fh-nav-contact {
    display: block !important;
    padding: 14px 0 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
  }
  body[data-design-variant=figma] .fh-mobile-language-switch {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
    margin-top: 14px !important;
    padding: 16px 0 8px !important;
    border-top: 1px solid #e5e2e3 !important;
    font-size: 14px !important;
  }
  body[data-design-variant=figma] .fh-mobile-language-switch a,
  body[data-design-variant=figma] .fh-mobile-language-switch b {
    display: grid !important;
    place-items: center !important;
    min-width: 44px !important;
    min-height: 44px !important;
  }
  body[data-design-variant=figma] :is(.cp-page, .fp-page) {
    padding-top: 78px !important;
  }
  html {
    scroll-padding-top: 94px !important;
  }
}
/* One gallery structure, derived from the dark service gallery. No about-page grid. */
body[data-design-variant=figma] .fp-image-gallery{padding:72px 0;margin:0;min-height:0;height:auto;background:transparent;color:var(--ink)}
body[data-design-variant=figma] .fp-image-gallery .fp-image-gallery-frame{width:min(1344px,calc(100% - 96px));max-width:none;margin:auto;display:grid;grid-template-columns:50px minmax(0,1fr) 50px;gap:16px;align-items:center}
body[data-design-variant=figma] .fp-image-gallery .fp-image-gallery-viewport{width:100%;max-width:1116px;margin:auto;grid-area:auto}
body[data-design-variant=figma] .fp-image-gallery .fp-image-gallery-track{width:100%;display:flex;gap:24px;margin:0}
body[data-design-variant=figma] .fp-image-gallery .fp-image-gallery-track img:nth-child(n){width:calc((100% - 48px)/3);height:285px;object-fit:cover;object-position:center;display:block;flex:none;max-width:none}
body[data-design-variant=figma] .fp-image-gallery .fp-image-gallery-frame>button{width:50px;height:50px;grid-area:auto}
body[data-design-variant=figma] .fp-image-gallery .fp-image-gallery-frame>button img{width:50px;height:50px}
body[data-design-variant=figma] .fp-image-gallery .fp-image-gallery-frame>button:disabled{opacity:.62}
body[data-design-variant=figma] .fp-image-gallery .fp-image-gallery-dots{display:flex;justify-content:center;width:100%;margin:14px auto 0}
@media(max-width:820px){body[data-design-variant=figma] .fp-image-gallery .fp-image-gallery-frame{width:calc(100% - 48px);grid-template-columns:44px minmax(0,1fr) 44px;gap:12px}body[data-design-variant=figma] .fp-image-gallery .fp-image-gallery-track img:nth-child(n){width:calc((100% - 24px)/2)}body[data-design-variant=figma] .fp-image-gallery .fp-image-gallery-frame>button,body[data-design-variant=figma] .fp-image-gallery .fp-image-gallery-frame>button img{width:44px;height:44px}}
@media(max-width:520px){body[data-design-variant=figma] .fp-image-gallery{padding:40px 0}body[data-design-variant=figma] .fp-image-gallery .fp-image-gallery-frame{grid-template-areas:"viewport viewport viewport viewport" ". previous next .";grid-template-columns:minmax(0,1fr) 44px 44px minmax(0,1fr);row-gap:14px}body[data-design-variant=figma] .fp-image-gallery .fp-image-gallery-viewport{grid-area:viewport}body[data-design-variant=figma] .fp-image-gallery .fp-image-gallery-prev{grid-area:previous!important}body[data-design-variant=figma] .fp-image-gallery .fp-image-gallery-next{grid-area:next!important}body[data-design-variant=figma] .fp-image-gallery .fp-image-gallery-track img:nth-child(n){width:100%;height:min(82vw,320px)}}

/* Confirmed Figma corrections, 2026-09-20. Poppins is the approved family.
   Approved catalogue geometry transferred to the website. Section palettes remain contextual. */
body[data-design-variant=figma] :is(.fh-person h3,.fp-person-card h3,.fp-discipline h2,.fp-comparison article>div:last-child h3,.fp-compare-head h2:last-child,.fp-machine-bottom article:last-child h2){color:var(--reference-red)!important}
body[data-design-variant=figma] :is(.fh-stat-grid em,.fp-machine-stats em){color:var(--reference-bright)!important}
body[data-design-variant=figma] :is(.fh-cases,.fp-cases,.fh-stats) .fh-button{color:var(--action)!important;border-color:var(--action)!important}
body[data-design-variant=figma] :is(.fh-cases,.fp-cases,.fh-stats) .fh-button:is(:hover,:focus-visible){color:var(--fh-dark,#2c282e)!important;background:var(--idh-lime,#d1e000)!important;border-color:var(--idh-lime,#d1e000)!important}
body[data-design-variant=figma] .fh-hero-actions .fh-button.is-outline-light:is(:hover,:focus-visible){color:#fff!important;background:rgba(255,255,255,0.15)!important;border-color:#fff!important}
body[data-design-variant=figma] :is(.fh-button.is-outline-red,.fp-outline:not(.is-light),.cp-button:not(.is-light)):is(:hover,:focus-visible){color:#fff!important;background:var(--reference-red,#a70a1a)!important;border-color:var(--reference-red,#a70a1a)!important}
body[data-design-variant=figma] :is(.fh-hero-actions a:focus-visible,.fh-hero-actions button:focus-visible){outline-color:var(--fh-lime,#d1e000)!important}
body[data-design-variant=figma] .fh-utility{background:var(--panel)}
body[data-design-variant=figma] .fh-footer,body[data-design-variant=figma] .fh-footer nav{background:var(--footer)}
body[data-design-variant=figma] :is(.fp-accordion-icon img,.fh-more img,.fp-contact-form-link img){filter:none}
body[data-design-variant=figma] :is(.fh-cases,.fp-cases,.fh-stats,.fp-service-dark,.fp-dark-win,.fp-machine-stats,.fp-about-dark,.fp-relevant) :is(.fp-accordion-icon img,.fh-more img,.fp-contact-form-link img){filter:brightness(0) invert(1)}
body[data-design-variant=figma] :is(.fh-more,.fp-contact-cta,.fp-contact-form-link):not(:hover):not(:focus-visible){color:var(--action)!important}
/* Transfer layout from 4173 for section 'Ihre Herausforderungen' */
body[data-design-variant=figma] .fh-challenges {
  min-height: 2070px;
  height: auto;
  padding-top: 99px;
  padding-bottom: 104px;
}

body[data-design-variant=figma] .fh-challenges > .fh-wide {
  width: min(1344px, calc(100% - 96px));
  max-width: none;
  margin: 0 auto;
}

body[data-design-variant=figma] .fh-challenges > .fh-wide > .fh-label {
  margin-bottom: 12px;
}

body[data-design-variant=figma] .fh-challenges > .fh-wide > h2 {
  font-size: 42px;
  font-weight: 700;
  line-height: 1.2;
  width: 554px;
  max-width: 100%;
  margin-bottom: 24px;
}

body[data-design-variant=figma] .fh-challenge-grid {
  display: grid !important;
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  grid-template-rows: minmax(567px, auto) minmax(591px, auto) minmax(664px, auto) !important;
  gap: 20px !important;
}

body[data-design-variant=figma] .fh-challenge-card {
  grid-column: auto;
  grid-row: auto;
  width: auto !important;
  margin: 0 !important;
  background: var(--panel-strong, #e5e2e3) !important;
  border-radius: 2px;
  overflow: hidden;
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
  transition: background-color 0.3s, box-shadow 0.3s, transform 0.3s cubic-bezier(0.2, 0.75, 0.25, 1);
}

body[data-design-variant=figma] .fh-challenge-card:nth-child(1) { grid-column: span 5 !important; grid-row: 1 !important; }
body[data-design-variant=figma] .fh-challenge-card:nth-child(2) { grid-column: span 7 !important; grid-row: 1 !important; }
body[data-design-variant=figma] .fh-challenge-card:nth-child(3) { grid-column: span 7 !important; grid-row: 2 !important; }
body[data-design-variant=figma] .fh-challenge-card:nth-child(4) { grid-column: span 5 !important; grid-row: 2 !important; }
body[data-design-variant=figma] .fh-challenge-card:nth-child(5),
body[data-design-variant=figma] .fh-challenge-card:nth-child(6),
body[data-design-variant=figma] .fh-challenge-card:nth-child(7) {
  grid-column: span 4 !important;
  grid-row: 3 !important;
}

/* Card art & illustration styling */
body[data-design-variant=figma] .fh-challenge-card .fh-card-art {
  height: 296px !important;
  overflow: hidden;
  flex: none;
  background: inherit !important;
  opacity: 1 !important;
}

body[data-design-variant=figma] .fh-card-art.is-illustration {
  background: inherit !important;
  opacity: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 20px 28px 0 !important;
}

body[data-design-variant=figma] .fh-card-art.is-illustration picture {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
}

body[data-design-variant=figma] .fh-card-art.is-illustration img {
  width: 100% !important;
  height: 100% !important;
  max-height: 220px !important;
  margin: 0 !important;
  object-fit: contain !important;
  object-position: center bottom !important;
  background: inherit !important;
  opacity: 1 !important;
}

/* Card copy */
body[data-design-variant=figma] .fh-card-copy {
  padding: 0 64px 40px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 16px !important;
  flex: 1 !important;
}

body[data-design-variant=figma] .fh-card-copy h3 {
  font-size: 36px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  text-wrap: balance;
  margin: 0;
}

body[data-design-variant=figma] .fh-card-copy p {
  font-size: 16px !important;
  line-height: 1.5 !important;
  margin: 0;
}

body[data-design-variant=figma] .fh-card-copy .fh-more {
  margin-top: auto !important;
}

/* Hover state: card lifts, Mehr erfahren text & arrow turn red without pill background */
body[data-design-variant=figma] .fh-challenge-card:is(:hover, :focus-within) {
  background: var(--panel, #f5f3f4) !important;
  transform: translateY(-4px) !important;
  box-shadow: 0 16px 36px rgba(29, 24, 31, 0.12) !important;
}

body[data-design-variant=figma] .fh-challenge-card .fh-more {
  color: var(--ink, #2c282e) !important;
  background: transparent !important;
  padding: 6px 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  transition: color 0.22s, transform 0.22s cubic-bezier(0.2, 0.75, 0.25, 1) !important;
}

body[data-design-variant=figma] .fh-challenge-card .fh-more img {
  width: 14px !important;
  height: 10px !important;
  object-fit: contain !important;
  filter: brightness(0) !important;
  transition: transform 0.22s cubic-bezier(0.2, 0.75, 0.25, 1), filter 0.22s !important;
}

body[data-design-variant=figma] .fh-challenge-card:is(:hover, :focus-within) .fh-more,
body[data-design-variant=figma] .fh-more:is(:hover, :focus-visible) {
  color: var(--reference-red, #a70a1a) !important;
  background: transparent !important;
}

body[data-design-variant=figma] .fh-challenge-card:is(:hover, :focus-within) .fh-more img,
body[data-design-variant=figma] .fh-more:is(:hover, :focus-visible) img {
  filter: none !important;
  transform: translateX(4px) !important;
}

/* Responsive adjustments for challenges */
@media (max-width: 1100px) {
  body[data-design-variant=figma] .fh-challenge-grid {
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    grid-template-rows: minmax(520px, auto) minmax(520px, auto) minmax(580px, auto) !important;
  }
}

@media (max-width: 900px) {
  body[data-design-variant=figma] .fh-challenges {
    height: auto !important;
    min-height: 0 !important;
    padding: 70px 0 !important;
  }
  body[data-design-variant=figma] .fh-challenges > .fh-wide {
    width: calc(100% - 40px) !important;
  }
  body[data-design-variant=figma] .fh-challenges > .fh-wide > h2 {
    font-size: clamp(28px, 4vw, 36px) !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  body[data-design-variant=figma] .fh-challenge-grid {
    grid-template-columns: 1fr !important;
    grid-template-rows: none !important;
    gap: 20px !important;
  }
  body[data-design-variant=figma] .fh-challenge-card,
  body[data-design-variant=figma] .fh-challenge-card:nth-child(n) {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
    width: 100% !important;
    margin: 0 !important;
    min-height: 520px !important;
  }
  body[data-design-variant=figma] .fh-card-copy {
    padding: 0 30px 32px !important;
  }
  body[data-design-variant=figma] .fh-card-copy h3 {
    font-size: 28px !important;
  }
}

/* Precise vertical centering of hover arrow across all buttons */
body[data-design-variant=figma] :is(.fh-button, .fp-outline, .cp-button) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
}

body[data-design-variant=figma] :is(.fh-button, .fp-outline, .cp-button)::after {
  content: "" !important;
  display: inline-block !important;
  width: 0 !important;
  height: 9px !important;
  margin-left: 0 !important;
  overflow: hidden !important;
  opacity: 0 !important;
  background-color: currentColor !important;
  clip-path: polygon(0 0, 100% 50%, 0 100%) !important;
  flex-shrink: 0 !important;
  vertical-align: middle !important;
  transform: translateY(0.5px) !important;
  transition: width .2s var(--idh-motion, cubic-bezier(0.2, 0.75, 0.25, 1)), margin-left .2s var(--idh-motion, cubic-bezier(0.2, 0.75, 0.25, 1)), opacity .2s !important;
}

body[data-design-variant=figma] :is(.fh-button, .fp-outline, .cp-button):is(:hover, :focus-visible)::after {
  width: 7px !important;
  margin-left: 10px !important;
  opacity: 1 !important;
}

body[data-design-variant=figma] :is(.fh-button, .fp-outline, .cp-button) > span {
  display: none !important;
}

/* Transfer layout from 4173 for section 'Unsere Stärken' */
body[data-design-variant=figma] .fh-strengths {
  min-height: 876px;
  height: auto !important;
  background: rgba(203, 197, 199, 0.1) !important;
  padding: 192px 0 136px !important;
}

body[data-design-variant=figma] .fh-strengths-inner {
  width: min(1340px, calc(100% - 100px)) !important;
  max-width: none !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, 780px) minmax(0, 548px) !important;
  gap: 12px !important;
  align-items: center !important;
}

body[data-design-variant=figma] .fh-strength-icons {
  width: 780px !important;
  max-width: 100% !important;
  height: auto !important;
  display: grid !important;
  grid-template-columns: repeat(6, 1fr) !important;
  grid-template-rows: repeat(2, 208px) !important;
  gap: 36px 0 !important;
  align-content: center !important;
}

body[data-design-variant=figma] .fh-strength-icons article {
  grid-column: span 2 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 24px !important;
  height: auto !important;
  min-height: 0 !important;
}

body[data-design-variant=figma] .fh-strength-icons article:nth-child(4) {
  grid-column: 2 / span 2 !important;
}

body[data-design-variant=figma] .fh-strength-icons article:nth-child(5) {
  grid-column: 4 / span 2 !important;
}

body[data-design-variant=figma] .fh-strength-icons article img {
  width: 144px !important;
  height: 80px !important;
  object-fit: contain !important;
  align-self: center !important;
  margin: 0 !important;
}

body[data-design-variant=figma] .fh-strength-icons article p {
  font-size: 14px !important;
  font-weight: 300 !important;
  line-height: 1.4 !important;
  text-align: center !important;
  min-height: 0 !important;
  margin: 0 !important;
  align-self: center !important;
}

body[data-design-variant=figma] .fh-strength-copy {
  padding-left: 32px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 24px !important;
}

body[data-design-variant=figma] .fh-strength-copy h2 {
  font-size: 36px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  margin: 0 !important;
}

body[data-design-variant=figma] .fh-strength-copy > p {
  font-size: 16px !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}

@media (max-width: 1100px) {
  body[data-design-variant=figma] .fh-strengths-inner {
    grid-template-columns: 1fr 1fr !important;
    gap: 32px !important;
  }

  body[data-design-variant=figma] .fh-strength-icons {
    width: 100% !important;
  }
}

@media (max-width: 900px) {
  body[data-design-variant=figma] .fh-strengths {
    height: auto !important;
    padding: 90px 0 !important;
  }

  body[data-design-variant=figma] .fh-strengths-inner {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 40px !important;
  }

  body[data-design-variant=figma] .fh-strength-icons {
    width: 100% !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: none !important;
    gap: 24px 16px !important;
  }

  body[data-design-variant=figma] .fh-strength-icons article,
  body[data-design-variant=figma] .fh-strength-icons article:nth-child(n) {
    grid-column: auto !important;
    height: auto !important;
    min-height: 180px !important;
  }

  body[data-design-variant=figma] .fh-strength-copy {
    padding-left: 0 !important;
  }
}

/* Precise horizontal and vertical alignment for section 'Statistiken & Kennzahlen' (.fh-stat-grid) */
body[data-design-variant=figma] .fh-stat-grid {
  width: min(1344px, calc(100% - 96px)) !important;
  max-width: none !important;
  margin: 0 auto !important;
  height: 275px !important;
  border-top: 1px solid #cbc5c7 !important;
  border-bottom: 1px solid #cbc5c7 !important;
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  align-items: stretch !important;
}

body[data-design-variant=figma] .fh-stat-grid article {
  height: 275px !important;
  padding: 36px 24px 32px !important;
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-rows: 86px minmax(52px, auto) !important;
  align-content: start !important;
  gap: 16px !important;
  border-right: 1px solid #cbc5c7 !important;
  border-bottom: 0 !important;
  margin: 0 !important;
}

body[data-design-variant=figma] .fh-stat-grid article:last-child {
  border-right: 0 !important;
}

body[data-design-variant=figma] .fh-stat-grid strong {
  font-size: 86px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  margin: 0 !important;
  display: block !important;
  align-self: end !important;
  letter-spacing: -0.02em !important;
}

body[data-design-variant=figma] .fh-stat-grid strong em {
  font-size: 38px !important;
  color: var(--reference-bright, #ef3346) !important;
  font-style: normal !important;
  vertical-align: super !important;
  line-height: 1 !important;
}

body[data-design-variant=figma] .fh-stat-grid article > img {
  height: 68px !important;
  width: auto !important;
  max-width: 100% !important;
  object-fit: contain !important;
  object-position: left bottom !important;
  display: block !important;
  align-self: end !important;
  margin: 0 0 16px 0 !important;
}

body[data-design-variant=figma] .fh-stat-grid p {
  font-size: 15px !important;
  line-height: 1.45 !important;
  margin: 0 !important;
  align-self: start !important;
  max-width: 100% !important;
  hyphens: auto !important;
  overflow-wrap: anywhere !important;
}

@media (max-width: 1100px) {
  body[data-design-variant=figma] .fh-stat-grid {
    height: auto !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    width: calc(100% - 48px) !important;
  }
  body[data-design-variant=figma] .fh-stat-grid article {
    height: auto !important;
    min-height: 220px !important;
    border-bottom: 1px solid #cbc5c7 !important;
  }
  body[data-design-variant=figma] .fh-stat-grid article:nth-child(3n) {
    border-right: 0 !important;
  }
}

@media (max-width: 600px) {
  body[data-design-variant=figma] .fh-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: calc(100% - 36px) !important;
  }
  body[data-design-variant=figma] .fh-stat-grid article,
  body[data-design-variant=figma] .fh-stat-grid article:nth-child(n) {
    height: auto !important;
    min-height: 180px !important;
    padding: 24px 16px !important;
    grid-template-rows: 64px auto !important;
    gap: 12px !important;
    border-right: 0 !important;
    border-bottom: 1px solid #cbc5c7 !important;
  }
  body[data-design-variant=figma] .fh-stat-grid article:nth-child(odd):not(:last-child) {
    border-right: 1px solid #cbc5c7 !important;
  }
  body[data-design-variant=figma] .fh-stat-grid article:last-child {
    grid-column: 1 / -1 !important;
    border-right: 0 !important;
  }
  body[data-design-variant=figma] .fh-stat-grid strong {
    font-size: 52px !important;
  }
  body[data-design-variant=figma] .fh-stat-grid strong em {
    font-size: 26px !important;
  }
  body[data-design-variant=figma] .fh-stat-grid article > img {
    height: 48px !important;
    margin-bottom: 8px !important;
  }
}

/* Use the exported original arrows; switch paint without switching layout. */
body[data-design-variant=figma] :is(.fh-case-row>button img,.fp-case-row>button img,.fp-image-gallery-frame>button img,.fp-tab-arrow img){content:url('../figma/components/slider-light.svg');filter:none!important}
body[data-design-variant=figma] :is(.fh-cases,.fp-cases,.fh-stats,.fp-service-dark,.fp-dark-win,.fp-machine-stats,.fp-about-dark,.fp-relevant) :is(.fh-case-row>button img,.fp-case-row>button img,.fp-image-gallery-frame>button img,.fp-tab-arrow img){content:url('../figma/components/slider-dark.svg')}
body[data-design-variant=figma] .fp-image-gallery .fp-image-gallery-track img:nth-child(n){height:auto;aspect-ratio:356 / 268.155853}
body[data-design-variant=figma] :is(.fh-dots button,.fp-dots button,.fp-image-gallery-dots button){color:var(--pager)!important}
body[data-design-variant=figma] :is(.fh-dots button,.fp-dots button,.fp-image-gallery-dots button)::after{background:var(--pager);width:8px;height:8px}
body[data-design-variant=figma] :is(.fh-dots button,.fp-dots button,.fp-image-gallery-dots button)[aria-current=true]::after{width:43px}
body[data-design-variant=figma] :is(.fh-dots button,.fp-dots button,.fp-image-gallery-dots button)[aria-current=true]{width:57px;min-width:57px}
/* Explicit dark-context slider controls safeguard */
body[data-design-variant=figma] :is(.fh-cases,.fp-cases,.fp-service-dark,.fp-dark-win,.fp-machine-stats,.fp-about-dark,.fp-relevant) :is(.fh-dots, .fp-dots, .fp-image-gallery-dots) button{color:#fff!important}
body[data-design-variant=figma] :is(.fh-cases,.fp-cases,.fp-service-dark,.fp-dark-win,.fp-machine-stats,.fp-about-dark,.fp-relevant) :is(.fh-dots, .fp-dots, .fp-image-gallery-dots) button::after{background:#fff!important}
body[data-design-variant=figma] :is(.fh-cases,.fp-cases,.fp-service-dark,.fp-dark-win,.fp-machine-stats,.fp-about-dark,.fp-relevant) :is(.fh-case-row>button img,.fp-case-row>button img,.fp-image-gallery-frame>button img){content:url('../figma/components/slider-dark.svg')!important}
body[data-design-variant=figma] .fp-image-gallery .fp-image-gallery-dots{margin-top:6px}
body[data-design-variant=figma] :is(.fh-cases,.fp-cases){padding:91px 48px 59px;height:auto}
body[data-design-variant=figma] :is(.fh-case-heading,.fp-cases .fp-section-center){width:776px;max-width:100%;margin:0 auto 32px;text-align:center}
body[data-design-variant=figma] :is(.fh-case-heading h2,.fp-cases .fp-section-center h2){font-size:28px;font-weight:700;line-height:1.35}
body[data-design-variant=figma] :is(.fh-case-row,.fp-case-row){width:100%!important;max-width:1294px!important;margin-inline:auto!important;display:grid!important;grid-template-columns:50px minmax(0,1116px) 50px!important;gap:39px!important;align-items:center!important;justify-content:center!important}
body[data-design-variant=figma] :is(.fh-case-row article,.fp-case-slide):not([hidden]){width:100%!important;min-width:0!important;height:auto!important;min-height:509px!important;border-top:1px solid var(--panel-strong,#e5e2e3)!important;padding:36px!important;display:grid!important;grid-template-columns:minmax(0,509fr) minmax(0,503fr)!important;gap:32px!important;align-items:stretch!important;box-sizing:border-box!important}
body[data-design-variant=figma] :is(.fh-case-row article,.fp-case-slide)[hidden]{display:none!important}
body[data-design-variant=figma] :is(.fh-case-row article>div>span,.fp-case-slide small,.fp-case-row small){background:#f5f3f4!important;color:#a70a1a!important;padding:4px 8px 2px!important;font-size:14px!important;font-weight:700!important;text-transform:uppercase!important;align-self:flex-start!important;letter-spacing:0.04em!important;margin:0!important}
body[data-design-variant=figma] :is(.fh-case-row article small,.fp-case-slide span,.fp-case-row span){font-size:14px!important;font-weight:300!important;color:var(--ink-muted,#bbb5ba)!important;margin:0!important}
body[data-design-variant=figma] :is(.fh-case-row article h3,.fp-case-slide h3){font-size:20px!important;font-weight:700!important;line-height:1.35!important;color:#fff!important;margin:0!important}
body[data-design-variant=figma] :is(.fh-case-row article p,.fp-case-slide p){font-size:16px!important;line-height:1.5!important;color:#fff!important;margin:0!important}

/* Grey fields and the original two-column comparison hierarchy. */
body[data-design-variant=figma] :is(.fp-comparison,.fp-partner,.fp-capabilities){background:var(--panel);height:auto}
body[data-design-variant=figma] :is(.fp-comparison article,.fp-capabilities article){background:transparent}
body[data-design-variant=figma] .fp-compare-head h2{font-size:36px;line-height:1.35}
body[data-design-variant=figma] .fp-comparison h3{font-size:20px;line-height:1.5}
body[data-design-variant=figma] .fp-comparison p{line-height:1.5}
body[data-design-variant=figma] .fp-comparison article{border-color:#fff}
body[data-design-variant=figma] :is(.fp-partner,.fp-capabilities){width:min(1344px,calc(100% - 96px));max-width:none;padding:96px 114px 64px}
body[data-design-variant=figma] :is(.fp-partner h2,.fp-capabilities h2){font-size:28px;line-height:1.5}
body[data-design-variant=figma] .fp-partner>div{grid-template-columns:repeat(3,minmax(0,321px));justify-content:space-between;gap:20px}
body[data-design-variant=figma] .fp-capabilities{grid-template-columns:repeat(2,minmax(0,321px));justify-content:center;gap:128px;padding-bottom:96px}
body[data-design-variant=figma] .fp-machine-bottom article:last-child h2{font-size:20px;line-height:1.5}

/* Benefits: three cards above two cards, with distinct card surfaces. */
body[data-design-variant=figma] .fp-dark-win{height:auto;min-height:0;padding-inline:48px}
body[data-design-variant=figma] .fp-win-grid{width:100%;max-width:1345px;gap:21px}
body[data-design-variant=figma] .fp-win-grid article:nth-child(n){width:calc((100% - 42px)/3);height:auto;min-height:412px;padding:64px 32px;background:var(--panel-strong);display:block}
body[data-design-variant=figma] .fp-win-grid h3{font-size:20px;line-height:1.5;max-width:none;margin:0 0 24px}
body[data-design-variant=figma] .fp-win-grid p{font-size:16px;line-height:1.5;margin:0}

/* Department tabs retain their original flanking previous/next controls. */
body[data-design-variant=figma] .fp-discipline{width:min(1344px,calc(100% - 96px));max-width:none;height:auto;min-height:0;margin:0 auto 72px;position:relative}
body[data-design-variant=figma] .fp-discipline nav{width:max-content;max-width:100%;height:63px;margin:0 auto;gap:32px;justify-content:flex-start}
body[data-design-variant=figma] .fp-discipline>div{width:calc(100% - 230px);min-height:502px;height:auto;margin:auto;padding:48px;position:relative}
body[data-design-variant=figma] .fp-discipline>div>section{grid-template-columns:minmax(0,539fr) minmax(0,455fr);gap:20px;min-height:406px}
body[data-design-variant=figma] .fp-discipline>div>section>img{height:406px;width:100%}
body[data-design-variant=figma] .fp-discipline article{padding:0;background:transparent}
body[data-design-variant=figma] .fp-discipline h2{font-size:28px;line-height:1.5;margin:0 0 16px}
body[data-design-variant=figma] .fp-tab-arrow{position:absolute;top:calc(50% + 31px);width:50px;height:50px;margin-top:-25px;padding:0;border:0;background:transparent;cursor:pointer}
body[data-design-variant=figma] .fp-tab-arrow img{width:100%;height:100%}
body[data-design-variant=figma] .fp-tab-arrow[data-tab-step='-1']{left:49px}
body[data-design-variant=figma] .fp-tab-arrow[data-tab-step='1']{right:49px;transform:rotate(180deg)}

/* The machinery raster is a 1349px grid of borderless cards. */
body[data-design-variant=figma] .fp-machine-park{width:min(1349px,calc(100% - 96px));max-width:none;height:auto;min-height:0}
body[data-design-variant=figma] .fp-machine-park>h2{font-size:36px;line-height:1.35;margin-bottom:24px}
body[data-design-variant=figma] .fp-machine-park article{border:0;padding:13px;min-height:509px;height:auto}
body[data-design-variant=figma] .fp-machine-park img{height:336px;object-fit:contain}
body[data-design-variant=figma] .fp-machine-park h3{margin:24px 0 8px}

/* Original certificate hierarchy and exported download/external icons. */
body[data-design-variant=figma] .fp-certifications>h2{font-size:28px;line-height:1.5}
body[data-design-variant=figma] .fp-certifications>div{width:min(1003px,100%);max-width:100%;margin-top:32px;gap:20px}
body[data-design-variant=figma] .fp-certifications article{padding:32px 24px;min-height:154px;border-color:var(--reference-line)}
body[data-design-variant=figma] .fp-certifications article:not(.is-filled) h3{font-weight:400}
body[data-design-variant=figma] .fp-certifications h3{font-size:16px;line-height:1.5;margin:0 0 16px;min-height:48px}
body[data-design-variant=figma] .fp-certifications :is(.fp-certificate-downloads,.fp-certificate-note){margin:0;display:flex;flex-wrap:wrap;gap:12px 29px}
body[data-design-variant=figma] .fp-certifications :is(.fp-certificate-downloads,.fp-certificate-note) a{display:inline-flex;align-items:center;gap:11px;font-size:17px;font-weight:700;line-height:26px;color:var(--ink)!important;text-transform:none;min-height:26px}
body[data-design-variant=figma] .fp-certifications .fp-certificate-icon{width:24px;height:24px;flex:none;filter:var(--icon-ink)}

/* Contacts share one section surface; names have one typographic scale. */
body[data-design-variant=figma] :is(.fh-contact,.fp-contact,.fp-industry-contact){background:var(--panel);height:auto}
body[data-design-variant=figma] :is(.fh-person,.fh-person>div,.fh-form-card,.fp-contact .fp-person-card,.fp-contact .fp-person-card>div,.fp-quote,.fp-industry-contact .fp-person-card,.fp-industry-contact .fp-person-card>div){background:transparent!important}
body[data-design-variant=figma] :is(.fh-person h3,.fp-person-card h3,.fp-team .fp-person-card h3){font-size:28px;line-height:1.5;font-weight:700}
body[data-design-variant=figma] .fh-contact{padding:64px 0}
body[data-design-variant=figma] .fh-contact-heading{width:800px;max-width:calc(100% - 96px);margin-bottom:32px}
body[data-design-variant=figma] .fh-contact-heading h2{line-height:1.5}
body[data-design-variant=figma] .fh-contact-grid{width:min(1339px,calc(100% - 100px));max-width:none;grid-template-columns:minmax(0,887fr) minmax(0,432fr)}
body[data-design-variant=figma] .fh-contact-grid>article{height:auto;min-height:294px}
body[data-design-variant=figma] .fh-person{grid-template-columns:311px minmax(0,1fr)}
body[data-design-variant=figma] .fh-person>div{padding:32px 44px}
body[data-design-variant=figma] .fp-contact{padding:72px 48px 90px}
body[data-design-variant=figma] .fp-contact-row{width:100%;max-width:1341px;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
body[data-design-variant=figma] .fp-person-card{grid-template-columns:245px minmax(0,1fr);height:auto}
body[data-design-variant=figma] .fp-contact-row>.fp-person-card>div{padding:24px 32px}
body[data-design-variant=figma] .fp-quote{padding:32px 48px}
body[data-design-variant=figma] .fp-person-card h3{overflow-wrap:normal}
body[data-design-variant=figma] .fp-team .fp-person-card>div{padding:24px}
body[data-design-variant=figma] .fp-industry-contact{grid-template-columns:minmax(0,548fr) minmax(0,661fr);gap:135px;padding:64px 48px}
body[data-design-variant=figma] .fp-industry-contact .fp-person-card{grid-template-columns:245px minmax(0,1fr)}
body[data-design-variant=figma] .fp-industry-contact .fp-person-card>img:not(.fp-person-arrow){width:245px;height:245px;aspect-ratio:1/1}
body[data-design-variant=figma] .fp-machine-stats strong{font-size:90px;font-weight:500;line-height:1.5}
body[data-design-variant=figma] .fp-machine-stats>div,body[data-design-variant=figma] .fp-machine-stats>h2{width:min(928px,calc(100% - 96px));max-width:none}
body[data-design-variant=figma] .fp-machine-stats>div{height:auto}
body[data-design-variant=figma] .fp-machine-stats article{min-width:0;padding:32px 24px}
body[data-design-variant=figma] .fp-machine-stats article:nth-child(2n){padding-left:24px}

/* Poppins is intentional; Figma's Red Hat Display is not imported. */
body[data-design-variant=figma] .fp-accordion .accordion-item>button{padding:36px 48px;font-size:16px;font-weight:500;line-height:1.5}
body[data-design-variant=figma] .fp-accordion .accordion-item.is-open>button{padding:36px 36px 16px;font-weight:700;color:var(--reference-red)!important}
body[data-design-variant=figma] .fp-faq-answer{padding:0!important}
body[data-design-variant=figma] .is-open .fp-faq-answer{padding:0 36px 36px!important}
body[data-design-variant=figma] .fp-faq-answer p{font-family:Poppins,sans-serif;font-size:16px;line-height:1.35;max-width:700px;margin:0 0 8px;padding:0}
body[data-design-variant=figma] .fp-faq-answer p:last-child{margin-bottom:0}

@media(max-width:1100px){
 body[data-design-variant=figma] .fp-win-grid article:nth-child(n){width:calc((100% - 21px)/2);min-height:360px;padding:40px 28px}
 body[data-design-variant=figma] :is(.fp-partner,.fp-capabilities){padding:64px 48px}
 body[data-design-variant=figma] .fp-capabilities{gap:64px}
 body[data-design-variant=figma] .fp-partner>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
 body[data-design-variant=figma] .fp-discipline>div{width:calc(100% - 132px);padding:32px;min-height:0}
 body[data-design-variant=figma] .fp-discipline>div>section{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:0}
 body[data-design-variant=figma] .fp-discipline>div>section>img{height:320px}
 body[data-design-variant=figma] .fp-tab-arrow[data-tab-step='-1']{left:0}
 body[data-design-variant=figma] .fp-tab-arrow[data-tab-step='1']{right:0}
 body[data-design-variant=figma] .fh-contact-grid{grid-template-columns:1fr}
 body[data-design-variant=figma] .fh-contact-grid>article{min-height:0}
 body[data-design-variant=figma] .fh-form-card{padding:32px 24px !important}
 body[data-design-variant=figma] .fp-contact-row{grid-template-columns:1fr}
 body[data-design-variant=figma] .fp-contact-row .fp-person-card{grid-template-columns:245px minmax(0,1fr)}
 body[data-design-variant=figma] .fp-industry-contact{grid-template-columns:1fr;gap:40px}
 body[data-design-variant=figma] .fp-machine-stats strong{font-size:clamp(52px,6.25vw,90px)}
}
@media(max-width:820px){
 body[data-design-variant=figma] :is(.fh-cases,.fp-cases){padding:48px 24px!important;min-height:0!important;height:auto!important}
 body[data-design-variant=figma] :is(.fh-case-row,.fp-case-row){grid-template-columns:minmax(0,1fr) 44px 44px minmax(0,1fr)!important;gap:14px 12px!important;width:100%!important;max-width:100%!important;margin-top:24px!important}
 body[data-design-variant=figma] :is(.fh-case-row article,.fp-case-slide):not([hidden]){grid-template-columns:1fr!important;padding:24px 0!important;grid-column:1/-1!important;grid-row:1!important;min-height:0!important;height:auto!important;gap:20px!important}
 body[data-design-variant=figma] :is(.fh-case-row article>img,.fp-case-slide>img){width:100%!important;max-width:100%!important;height:auto!important;aspect-ratio:509/437!important}
 body[data-design-variant=figma] :is(.fh-case-row article>div,.fp-case-slide>div){min-height:0!important;padding:0!important}
 body[data-design-variant=figma] :is(.fh-case-row>button,.fp-case-row>button){display:grid!important;place-items:center!important;grid-row:2!important;grid-column:2!important;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important}
 body[data-design-variant=figma] :is(.fh-case-row>button.is-next,.fp-case-row>button.is-next){grid-column:3!important;transform:rotate(180deg)!important}
 body[data-design-variant=figma] :is(.fh-case-row>button img,.fp-case-row>button img){width:44px!important;height:44px!important}
 body[data-design-variant=figma] :is(.fh-dots,.fp-dots){margin-top:20px!important}
 body[data-design-variant=figma] :is(.fp-partner,.fp-capabilities,.fp-machine-park,.fp-discipline){width:calc(100% - 48px)}
 body[data-design-variant=figma] .fp-discipline>div{width:100%;padding:24px}
 body[data-design-variant=figma] .fp-discipline>div>section{grid-template-columns:1fr}
 body[data-design-variant=figma] .fp-discipline>div>section>img{height:auto;aspect-ratio:539/406}
 body[data-design-variant=figma] .fp-discipline{padding-bottom:64px}
 body[data-design-variant=figma] .fp-tab-arrow{top:auto;bottom:0;width:44px;height:44px;margin:0}
 body[data-design-variant=figma] .fp-tab-arrow[data-tab-step='-1']{left:calc(50% - 51px)}
 body[data-design-variant=figma] .fp-tab-arrow[data-tab-step='1']{left:calc(50% + 7px);right:auto}
 body[data-design-variant=figma] .fp-discipline h2{font-size:26px}
 body[data-design-variant=figma] .fp-compare-head h2{font-size:28px}
 body[data-design-variant=figma] .fp-dark-win{padding-inline:24px}
 body[data-design-variant=figma] .fp-machine-park article{min-height:0}
 body[data-design-variant=figma] .fp-machine-park img{height:280px}
 body[data-design-variant=figma] .fh-contact-heading{max-width:calc(100% - 48px)}
 body[data-design-variant=figma] .fh-contact-grid{width:calc(100% - 48px)}
 body[data-design-variant=figma] .fh-person{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 body[data-design-variant=figma] .fh-person>img{width:100%;height:100%;min-height:294px}
 body[data-design-variant=figma] .fh-person>div{padding:24px}
 body[data-design-variant=figma] :is(.fp-contact,.fp-industry-contact){padding:48px 24px}
 body[data-design-variant=figma] .fp-machine-stats>div,body[data-design-variant=figma] .fp-machine-stats>h2{width:100%}
 body[data-design-variant=figma] .fp-certifications>div{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
 body[data-design-variant=figma] :is(.fp-partner,.fp-capabilities){padding:40px 24px}
 body[data-design-variant=figma] .fp-partner>div,body[data-design-variant=figma] .fp-capabilities{grid-template-columns:1fr;gap:28px}
 body[data-design-variant=figma] .fp-win-grid article:nth-child(n){width:100%;min-height:0;padding:40px 32px}
 body[data-design-variant=figma] .fp-machine-park>div{grid-template-columns:1fr}
 body[data-design-variant=figma] .fp-machine-park img{height:auto;aspect-ratio:410/336}
 body[data-design-variant=figma] .fp-certifications>div{grid-template-columns:1fr}
 body[data-design-variant=figma] :is(.fh-person,.fp-contact-row .fp-person-card,.fp-industry-contact .fp-person-card){grid-template-columns:1fr}
 body[data-design-variant=figma] .fp-person-card>img:not(.fp-person-arrow),body[data-design-variant=figma] .fp-industry-contact .fp-person-card>img:not(.fp-person-arrow){width:100%;height:330px}
 body[data-design-variant=figma] .fh-person>img{height:330px}
 body[data-design-variant=figma] :is(.fh-person>div,.fp-contact-row>.fp-person-card>div){padding:24px 20px !important}
 body[data-design-variant=figma] .fp-quote{padding:32px 20px !important}
 body[data-design-variant=figma] .fp-accordion .accordion-item>button{padding:28px 24px;column-gap:16px}
 body[data-design-variant=figma] .fp-accordion .accordion-item.is-open>button{padding:28px 24px 16px}
 body[data-design-variant=figma] .is-open .fp-faq-answer{padding:0 24px 28px!important}
 
}
body[data-design-variant=figma] .fp-team .fp-person-card{display:flex;flex-direction:column;height:auto;min-height:0}
body[data-design-variant=figma] .fp-team .fp-person-card>img:not(.fp-person-arrow){width:100%;height:276px;object-fit:cover;min-height:0;max-height:none;aspect-ratio:auto}
body[data-design-variant=figma] .fp-team .fp-person-card>div{flex:none}
body[data-design-variant=figma] :is(.fh-case-row article>div>span,.fp-case-slide small,.fp-case-row small){background:#f5f3f4!important;color:#a70a1a!important}

body[data-design-variant=figma] .fh-stat-grid p{max-width:100%;hyphens:auto;overflow-wrap:anywhere}
body[data-design-variant=figma] .fp-industry-contact .fp-person-card>div{padding:24px 32px}
@media(max-width:600px){
 body[data-design-variant=figma] .fp-capabilities h2{font-size:24px;hyphens:auto;overflow-wrap:anywhere}
 body[data-design-variant=figma] .fp-industry-contact .fp-person-card>div{padding:24px 20px !important}
}
body[data-design-variant=figma] .fp-machine-stats em{margin-inline-start:6px}
body[data-design-variant=figma] :is(.fh-cases,.fp-cases,.fh-stats,.fp-service-dark,.fp-dark-win,.fp-machine-stats,.fp-about-dark,.fp-relevant) .fp-accordion .accordion-item.is-open>button{color:#fff!important}
body[data-design-variant=figma] :is(.fp-comparison p,.fp-win-grid p){line-height:1.5!important}
body[data-design-variant=figma] .fp-faq-answer p{line-height:1.35!important}
/* Integration differences: real page wrappers retain their section spacing. */
@media(min-width:1101px){body[data-design-variant=figma] .fh-stat-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
body[data-design-variant=figma] .fp-service-dark .fp-gallery.fp-image-gallery{left:auto;transform:none;width:calc(100% + 96px);max-width:none;margin-left:-48px;margin-top:72px}
body[data-design-variant=figma] .fp-image-gallery{display:block;max-width:none;width:100%;position:relative;left:auto;transform:none}
body[data-design-variant=figma] .fp-image-gallery .fp-image-gallery-track{margin:0}
body[data-design-variant=figma] .fp-image-gallery .fp-image-gallery-track img:nth-child(n){height:auto;aspect-ratio:356 / 268.155853;max-width:none;display:block}
body[data-design-variant=figma] :is(.fh-case-row,.fp-case-row){width:100%!important}
body[data-design-variant=figma] :is(.fh-case-row article,.fp-case-slide):not([hidden]){width:100%!important;min-width:0!important;height:auto!important}
body[data-design-variant=figma] :is(.fh-case-row article>img,.fp-case-slide>img){width:100%!important;max-width:100%!important;height:437px!important;object-fit:cover!important;display:block!important}
body[data-design-variant=figma] :is(.fh-case-row article>div,.fp-case-slide>div){min-width:0!important;min-height:437px!important;display:flex!important;flex-direction:column!important;gap:16px!important;padding:0!important}
body[data-design-variant=figma] :is(.fh-case-row .fh-button,.fp-case-slide .fh-button){margin-top:auto!important;width:100%!important}
body[data-design-variant=figma] :is(.fh-case-row>button,.fp-case-row>button){width:50px!important;height:50px!important;min-width:50px!important;min-height:50px!important;padding:0!important;border:0!important;background:none!important;cursor:pointer!important;display:grid!important;place-items:center!important}
body[data-design-variant=figma] :is(.fh-case-row>button img,.fp-case-row>button img){width:50px!important;height:50px!important;display:block!important}
body[data-design-variant=figma] :is(.fh-case-row>button.is-next,.fp-case-row>button.is-next){transform:rotate(180deg)!important}
body[data-design-variant=figma] :is(.fh-dots,.fp-dots){display:flex!important;gap:0!important;justify-content:center!important;align-items:center!important;margin-top:24px!important}
body[data-design-variant=figma] .fp-service-dark{padding-left:48px!important;padding-right:48px!important}
body[data-design-variant=figma] :is(.fh-button,.fp-outline,.cp-button){font-size:17px;font-weight:700;min-height:61px;min-width:min(262px,100%);white-space:normal;text-align:center}
body[data-design-variant=figma] .fp-discipline nav{overflow-x:auto}
body[data-design-variant=figma] .fp-discipline>div>section[hidden]{display:none}
body[data-design-variant=figma] .fp-certificate-downloads a{color:var(--ink)}
body[data-design-variant=figma] .fp-tab-arrow:focus-visible{outline:3px solid #a70a1a;outline-offset:4px}
body[data-design-variant=figma] .fp-image-gallery .fp-image-gallery-frame>button img{display:block!important;object-fit:contain}
body[data-design-variant=figma] .fp-faq-answer p{margin:0 0 8px!important;color:var(--ink)}
body[data-design-variant=figma] .fp-faq-answer p:last-child{margin-bottom:0!important}
@media(max-width:820px){
 body[data-design-variant=figma] :is(.fh-case-row article,.fp-case-slide):not([hidden]){grid-column:1/-1!important;grid-row:1!important;min-height:0!important;height:auto!important}
 body[data-design-variant=figma] :is(.fh-case-row article>img,.fp-case-slide>img){width:100%!important;max-width:100%!important;height:auto!important;aspect-ratio:509/437!important}
 body[data-design-variant=figma] :is(.fh-case-row>button,.fp-case-row>button){display:grid!important;place-items:center!important;grid-row:2!important;grid-column:2!important;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important}
 body[data-design-variant=figma] :is(.fh-case-row>button.is-next,.fp-case-row>button.is-next){grid-column:3!important;transform:rotate(180deg)!important}
 body[data-design-variant=figma] :is(.fh-case-row>button img,.fp-case-row>button img){width:44px!important;height:44px!important}
 body[data-design-variant=figma] .fp-service-dark{padding-left:24px!important;padding-right:24px!important}
 body[data-design-variant=figma] .fp-service-dark .fp-gallery.fp-image-gallery{width:100%;margin-left:0}
}

/* ==========================================================================
   Modul 1: Typografie, Textabstände, Barrierefreiheit (WCAG AA), Hover & UX
   ========================================================================== */

/* 1. Zentrale CSS-Tokens */
:root {
  --idh-h1-size: clamp(34px, 3.8vw, 48px);
  --idh-h1-leading: 1.15;
  --idh-h2-size: clamp(26px, 2.8vw, 36px);
  --idh-h2-leading: 1.2;
  --idh-h3-size: 22px;
  --idh-h3-leading: 1.3;
  --idh-body-size: 16px;
  --idh-body-leading: 1.55;
  --idh-lead-size: 18px;
  --idh-lead-leading: 1.5;
  --idh-small-size: 14px;
  --idh-small-leading: 1.5;
  --idh-micro-size: 12px;
  --idh-tracking-caps: 0.06em;
  --idh-tracking-label: 0.13em;
  --idh-measure-body: 68ch;
}

/* 2. Textkörper & Basistypografie */
body {
  color: var(--idh-graphite, #2c282e);
}

:is(h1, h2, h3) {
  text-wrap: balance;
}

p {
  text-wrap: pretty;
}

/* 3. Gesetz der Nähe: Zwischenüberschriften im Lesefluss */
:is(main, article, .shell, .cp-shell, .fp-page, .cp-page) :is(h2, h3):not(:first-child) {
  margin-top: clamp(32px, 3.5vw, 48px);
}

h2 {
  margin-bottom: 16px;
}

h3 {
  margin-bottom: 12px;
}

/* 4. Begrenzung der Zeilenlänge (Measure) für entspannte B2B-Lesbarkeit */
:is(.cp-page, .fp-page, article) p:not([class*="full"]):not([class*="hero"]):not([class*="cue"]) {
  max-width: var(--idh-measure-body, 68ch);
}

/* 5. Listenrhythmus */
:is(.cp-page, .fp-page, article) :is(ul, ol) > li {
  margin-bottom: 8px;
}

/* 6. WCAG 1.4.1 Barrierefreie Textlink-Erkennbarkeit im Fließtext */
:is(p, li) > a:not([class]) {
  color: var(--idh-red, #a70a1a);
  text-decoration: underline;
  text-underline-offset: 0.2em;
  text-decoration-thickness: 1.5px;
  transition: color 0.2s, text-decoration-color 0.2s;
}

:is(p, li) > a:not([class]):hover {
  color: #870815;
  text-decoration-thickness: 2.5px;
}

/* Textlinks auf dunklen Hintergründen */
:is(
  .fh-cases,
  .fp-cases,
  .cp-hero,
  .cp-proof,
  .cp-cta,
  .fp-service-dark,
  .fp-dark-win,
  .fp-about-dark,
  .fp-machine-stats,
  .fp-relevant
) :is(p, li) > a:not([class]) {
  color: var(--idh-lime, #d1e000);
  text-decoration-color: rgba(209, 224, 0, 0.6);
}

:is(
  .fh-cases,
  .fp-cases,
  .cp-hero,
  .cp-proof,
  .cp-cta,
  .fp-service-dark,
  .fp-dark-win,
  .fp-about-dark,
  .fp-machine-stats,
  .fp-relevant
) :is(p, li) > a:not([class]):hover {
  color: #fff;
  text-decoration-color: #fff;
}

/* 7. Hover-Kontraste & CTAs */
.fh-more,
.fp-contact-cta,
.fp-contact-form-link {
  letter-spacing: var(--idh-tracking-caps, 0.06em);
  min-height: 44px;
  padding: 8px 0;
}

.fh-more:hover,
.fh-more:focus-visible {
  color: #870815;
}

/* Auf dunklen Hintergründen schaltet Hover zwingend auf Limette um (9.94:1 AAA) */
:is(
  .fh-cases,
  .fp-cases,
  .fh-stats,
  .fp-service-dark,
  .fp-dark-win,
  .fp-machine-stats,
  .fp-about-dark,
  .fp-relevant,
  .cp-cta,
  .cp-proof
) :is(.fh-more, .fp-contact-cta, .fp-contact-form-link):is(:hover, :focus-visible) {
  color: var(--idh-lime, #d1e000) !important;
}

/* 8. Korrektur kollabierter Zeilenhöhen und Größen */
.cp-article p,
.cp-article li {
  font-size: var(--idh-body-size, 16px);
  line-height: var(--idh-body-leading, 1.55) !important;
}

.cp-portal-hero h1 {
  font-family: Poppins, sans-serif !important;
  font-weight: 700;
  font-size: clamp(32px, 4vw, 48px) !important;
  line-height: var(--idh-h1-leading, 1.15) !important;
}

.cp-hero h1 {
  font-size: clamp(34px, 3.8vw, 48px);
  font-weight: 800;
  line-height: var(--idh-h1-leading, 1.15);
  margin-bottom: 18px;
}

.fp-line-hero .fp-hero-copy :is(h2, .fp-hero-subtitle),
.fp-industry-detail .fp-hero-copy :is(h2, .fp-hero-subtitle) {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.3;
  margin: 0 0 16px;
}

.cp-card :is(h2, h3) {
  font-size: 20px;
}

/* 9. Tracking-Schutz für Eyebrows */
.cp-page :is(.fh-label, .fp-label, .cp-label, .eyebrow) {
  letter-spacing: var(--idh-tracking-label, 0.13em) !important;
}

/* 10. Responsiver Umbruchschutz */
@media (max-width: 820px) {
  :is(h1, h2, h3, .fp-hero-subtitle) br {
    display: none;
  }
}

/* ==========================================================================
   11. Authoritative Hero Layout for Detail Pages (4173 Standard)
   ========================================================================== */
.fp-line-hero,
.fp-industry-detail .fp-line-hero,
.fp-machines .fp-line-hero,
.fp-services .fp-line-hero,
.fp-challenge .fp-line-hero {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 560px) minmax(0, 1fr) !important;
  align-items: center !important;
  justify-content: space-between !important;
  column-gap: clamp(32px, 3.5vw, 56px) !important;
  width: 100% !important;
  min-height: 520px !important;
  height: auto !important;
  padding-inline: max(24px, calc((100% - var(--idh-shell, 1116px)) / 2)) !important;
  padding-block: 84px 72px !important;
  overflow: hidden !important;
  background: var(--fp-dark, #2c282e) !important;
  color: #fff !important;
}

.fp-line-hero.is-light,
.fp-challenge .fp-line-hero.is-light {
  background: #fff !important;
  color: #080708 !important;
}

.fp-line-hero > picture {
  display: contents !important;
}

.fp-line-hero .fp-hero-copy,
.fp-industry-detail .fp-hero-copy,
.fp-machines .fp-hero-copy,
.fp-services .fp-hero-copy,
.fp-challenge .fp-hero-copy {
  grid-column: 1 !important;
  grid-row: 1 !important;
  position: relative !important;
  left: auto !important;
  top: auto !important;
  max-width: 560px !important;
  width: 100% !important;
  z-index: 2 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.fp-line-hero .fp-hero-copy h1,
.fp-industry-detail .fp-hero-copy h1,
.fp-machines .fp-hero-copy h1,
.fp-services .fp-hero-copy h1,
.fp-challenge .fp-hero-copy h1 {
  font-size: clamp(36px, 3.5vw, 48px) !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  margin: 0 0 18px !important;
  color: inherit !important;
}

.fp-line-hero .fp-hero-copy :is(h2, .fp-hero-subtitle),
.fp-industry-detail .fp-hero-copy :is(h2, .fp-hero-subtitle),
.fp-services .fp-hero-copy :is(h2, .fp-hero-subtitle) {
  font-size: 24px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  margin: 0 0 16px !important;
  color: inherit !important;
}

.fp-line-hero .fp-hero-copy p,
.fp-industry-detail .fp-hero-copy p,
.fp-machines .fp-hero-copy p,
.fp-services .fp-hero-copy p,
.fp-challenge .fp-hero-copy p {
  font-size: 16px !important;
  line-height: 1.5 !important;
  margin: 0 !important;
  color: inherit !important;
}

/* Eyebrow Label colors & authoritative single-line layout – spacing matches Screen 1 (~24-25px visual gap) */
.fp-line-hero .fp-label,
:is(.fp-line-hero, .fp-industry-detail, .fp-machines, .fp-services, .fp-challenge) .fp-hero-copy :is(.fp-label, .cp-label) {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.13em !important;
  text-transform: uppercase !important;
  color: var(--fp-lime, #d2e100) !important;
  margin: 0 0 clamp(22px, 2.2vw + 8px, 30px) !important;
  white-space: nowrap !important;
}

.fp-line-hero .fp-label span,
:is(.fp-line-hero, .fp-industry-detail, .fp-machines, .fp-services, .fp-challenge) .fp-hero-copy :is(.fp-label, .cp-label) span {
  width: 10px !important;
  height: 10px !important;
  flex: 0 0 10px !important;
  border-radius: 0 !important;
  clip-path: polygon(29% 0, 71% 0, 100% 29%, 100% 71%, 71% 100%, 29% 100%, 0 71%, 0 29%) !important;
  background: currentColor !important;
  display: inline-block !important;
  flex-shrink: 0 !important;
}

.fp-line-hero.is-light .fp-label,
.fp-challenge .fp-line-hero .fp-label,
.fp-challenge .fp-hero-copy .fp-label {
  color: var(--fp-red, #a70a1a) !important;
}

@media (max-width: 820px) {
  .fp-line-hero .fp-label,
  :is(.fp-line-hero, .fp-industry-detail, .fp-machines, .fp-services, .fp-challenge) .fp-hero-copy :is(.fp-label, .cp-label) {
    margin: 0 0 clamp(18px, 2.5vw, 24px) !important;
  }
}

@media (max-width: 480px) {
  .fp-line-hero .fp-label,
  :is(.fp-line-hero, .fp-industry-detail, .fp-machines, .fp-services, .fp-challenge) .fp-hero-copy :is(.fp-label, .cp-label) {
    font-size: 11px !important;
    gap: 8px !important;
    letter-spacing: 0.09em !important;
    white-space: nowrap !important;
    margin: 0 0 18px !important;
  }
  .fp-line-hero .fp-label span,
  :is(.fp-line-hero, .fp-industry-detail, .fp-machines, .fp-services, .fp-challenge) .fp-hero-copy :is(.fp-label, .cp-label) span {
    width: 8px !important;
    height: 8px !important;
    flex: 0 0 8px !important;
  }
}

/* Right column technical illustration */
.fp-line-hero .fp-line-art,
.fp-industry-detail .fp-line-art,
.fp-machines .fp-line-art,
.fp-services .fp-line-art,
.fp-challenge .fp-line-art {
  grid-column: 2 !important;
  grid-row: 1 !important;
  position: relative !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  width: 100% !important;
  max-width: clamp(480px, 36vw, 620px) !important;
  height: auto !important;
  max-height: 480px !important;
  object-fit: contain !important;
  object-position: center !important;
  justify-self: center !important;
  z-index: 1 !important;
  opacity: 0.92 !important;
  mask-image: none !important;
  -webkit-mask-image: none !important;
}

.fp-line-hero.is-light .fp-line-art,
.fp-challenge .fp-line-hero .fp-line-art {
  opacity: 0.85 !important;
}

/* Responsive collapse <= 1100px */
@media (max-width: 1100px) {
  .fp-line-hero,
  .fp-line-hero.is-light,
  .fp-industry-detail .fp-line-hero,
  .fp-machines .fp-line-hero,
  .fp-services .fp-line-hero,
  .fp-challenge .fp-line-hero {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    height: auto !important;
    min-height: 0 !important;
    padding-inline: 20px !important;
    padding-block: 40px 48px !important;
  }

  .fp-line-hero .fp-line-art,
  .fp-line-hero.is-light .fp-line-art,
  .fp-industry-detail .fp-line-art,
  .fp-machines .fp-line-art,
  .fp-services .fp-line-art,
  .fp-challenge .fp-line-art {
    order: 1 !important;
    position: static !important;
    width: 100% !important;
    max-width: 380px !important;
    height: 180px !important;
    max-height: 180px !important;
    margin: 0 auto 28px !important;
    object-fit: contain !important;
    opacity: 0.85 !important;
    mask-image: none !important;
    -webkit-mask-image: none !important;
  }

  .fp-line-hero .fp-hero-copy,
  .fp-line-hero.is-light .fp-hero-copy,
  .fp-industry-detail .fp-hero-copy,
  .fp-machines .fp-hero-copy,
  .fp-services .fp-hero-copy,
  .fp-challenge .fp-hero-copy {
    order: 2 !important;
    position: static !important;
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }
}

/* ==========================================================================
   Harmonische responsive Reaktion: Kontakt-Titel & Fließtext (Gemeinsam zentriert)
   ========================================================================== */
.fp-contact-title {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  width: 100% !important;
  max-width: min(920px, calc(100% - 48px)) !important;
  margin: 0 auto 48px !important;
}

.fp-contact-title .fp-label {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  align-self: center !important;
  margin: 0 auto 16px !important;
  white-space: nowrap !important;
}

.fp-contact-title h2 {
  display: block !important;
  text-align: center !important;
  align-self: center !important;
  font-size: clamp(22px, 2.5vw, 28px) !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
  margin: 0 auto 14px !important;
  max-width: min(840px, 100%) !important;
  text-wrap: balance !important;
  overflow-wrap: break-word !important;
}

.fp-contact-title :is(p:not(.fp-label), .fp-contact-lead) {
  display: block !important;
  text-align: center !important;
  align-self: center !important;
  font-size: clamp(14px, 1.25vw, 16px) !important;
  line-height: 1.5 !important;
  margin: 0 auto !important;
  max-width: min(640px, 100%) !important;
  text-wrap: balance !important;
  overflow-wrap: break-word !important;
  color: inherit !important;
}

@media (max-width: 820px) {
  .fp-contact-title {
    max-width: calc(100% - 36px) !important;
    margin-bottom: 36px !important;
  }

  .fp-contact-title .fp-label {
    margin-bottom: 14px !important;
  }

  .fp-contact-title h2 {
    font-size: clamp(20px, 3.2vw, 24px) !important;
    line-height: 1.28 !important;
    margin-bottom: 12px !important;
  }

  .fp-contact-title :is(p:not(.fp-label), .fp-contact-lead) {
    font-size: 15px !important;
    line-height: 1.45 !important;
    max-width: min(540px, 100%) !important;
  }
}

@media (max-width: 480px) {
  .fp-contact-title {
    max-width: 100% !important;
    margin-bottom: 28px !important;
  }

  .fp-contact-title .fp-label {
    margin-bottom: 12px !important;
  }

  .fp-contact-title h2 {
    font-size: clamp(18px, 5.2vw, 21px) !important;
    line-height: 1.3 !important;
    margin-bottom: 10px !important;
  }

  .fp-contact-title :is(p:not(.fp-label), .fp-contact-lead) {
    font-size: 14px !important;
    line-height: 1.45 !important;
    max-width: 100% !important;
  }
}

/* ==========================================================================
   Modul 11: FAQ Überschriftenabstand & dynamische Accordion-Höhe (Anti-Überlauf)
   ========================================================================== */

/* 1. Einheitliche Sektionsabstände für FAQ */
body[data-design-variant=figma] :is(.fp-faq, .fp-industry-detail > .fp-faq, .fp-services > .fp-faq, .fp-challenge > .fp-faq) {
  height: auto !important;
  min-height: 0 !important;
  padding: 80px 0 96px !important;
  background: #fff !important;
}

/* 2. Vorangehende Sektionen: Keine toten Abstände vor FAQ */
body[data-design-variant=figma] :is(.fp-contact, .fp-industry-detail > .fp-contact, .fp-services > .fp-contact) {
  height: auto !important;
  min-height: 0 !important;
  padding-bottom: 0 !important;
}

body[data-design-variant=figma] .fp-challenge > .fp-cases {
  margin-bottom: 0 !important;
}

/* 3. FAQ Überschrift: konsistente Typografie und Abstand zum ersten Tab */
body[data-design-variant=figma] .fp-faq > h2 {
  font-size: clamp(28px, 3.2vw, 36px) !important;
  font-weight: 700 !important;
  text-align: center !important;
  line-height: 1.25 !important;
  margin: 0 auto 36px !important;
  color: var(--ink, #1f1b20) !important;
}

/* 4. Accordion-Container */
body[data-design-variant=figma] .fp-accordion {
  width: 890px !important;
  max-width: calc(100% - 48px) !important;
  margin: 0 auto !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}

/* 5. Accordion Items: Niemals feste Höhe */
body[data-design-variant=figma] .fp-accordion .accordion-item {
  height: auto !important;
  min-height: 0 !important;
  border-bottom: 1px solid #e5e2e3 !important;
}

/* Geschlossene Items */
body[data-design-variant=figma] .fp-accordion .accordion-item:not(.is-open) {
  height: auto !important;
  min-height: 0 !important;
  background: transparent !important;
}

body[data-design-variant=figma] .fp-accordion .accordion-item:not(.is-open) > button {
  width: 100% !important;
  height: auto !important;
  min-height: 72px !important;
  padding: 28px 48px !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  text-align: left !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
}

body[data-design-variant=figma] .fp-accordion .accordion-item:not(.is-open) .accordion-panel {
  display: none !important;
}

/* Geöffnete Items: Dynamisch wachsend, grauer Kasten schließt vollständigen Text ein */
body[data-design-variant=figma] .fp-accordion .accordion-item.is-open {
  display: flex !important;
  flex-direction: column !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
  padding: 36px 48px 36px !important;
  gap: 16px !important;
  background: #f5f3f4 !important;
  border-bottom-color: var(--reference-red, #ef3346) !important;
}

body[data-design-variant=figma] .fp-accordion .accordion-item.is-open > button {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  text-align: left !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  color: var(--reference-red, #ef3346) !important;
}

body[data-design-variant=figma] .fp-accordion .accordion-item.is-open .accordion-panel {
  display: block !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
}

body[data-design-variant=figma] .fp-accordion .accordion-item.is-open .fp-faq-answer {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  overflow: visible !important;
  padding: 0 !important;
}

body[data-design-variant=figma] .fp-accordion .accordion-item.is-open .fp-faq-answer p {
  width: 100% !important;
  max-width: 780px !important;
  font-family: Poppins, sans-serif !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
  color: var(--ink, #1f1b20) !important;
  margin: 0 0 12px !important;
  padding: 0 !important;
}

body[data-design-variant=figma] .fp-accordion .accordion-item.is-open .fp-faq-answer p:last-child {
  margin-bottom: 0 !important;
}

/* 6. Responsive Abstufungen */
@media (max-width: 1100px) {
  body[data-design-variant=figma] :is(.fp-faq, .fp-industry-detail > .fp-faq, .fp-services > .fp-faq, .fp-challenge > .fp-faq) {
    padding: 60px 0 80px !important;
  }

  body[data-design-variant=figma] .fp-faq > h2 {
    margin: 0 auto 32px !important;
  }

  body[data-design-variant=figma] .fp-accordion .accordion-item:not(.is-open) > button {
    padding: 24px 32px !important;
  }

  body[data-design-variant=figma] .fp-accordion .accordion-item.is-open {
    padding: 28px 32px !important;
  }
}

@media (max-width: 600px) {
  body[data-design-variant=figma] :is(.fp-faq, .fp-industry-detail > .fp-faq, .fp-services > .fp-faq, .fp-challenge > .fp-faq) {
    padding: 48px 0 64px !important;
  }

  body[data-design-variant=figma] .fp-faq > h2 {
    font-size: 26px !important;
    margin: 0 auto 24px !important;
  }

  body[data-design-variant=figma] .fp-accordion {
    max-width: calc(100% - 36px) !important;
  }

  body[data-design-variant=figma] .fp-accordion .accordion-item:not(.is-open) > button {
    padding: 20px 20px !important;
    font-size: 15px !important;
    min-height: 64px !important;
  }

  body[data-design-variant=figma] .fp-accordion .accordion-item.is-open {
    padding: 24px 20px !important;
  }

  body[data-design-variant=figma] .fp-accordion .accordion-item.is-open .fp-faq-answer p {
    font-size: 14px !important;
    line-height: 1.45 !important;
  }
}

/* ==========================================================================
   Modul 12: Kontakt-Ansprechpartner Quadratische Fotos & Exakte LinkedIn-Ausrichtung
   ========================================================================== */
body[data-design-variant=figma] :is(.fp-contact-row, .fp-industry-contact) {
  align-items: start !important;
}

body[data-design-variant=figma] :is(.fp-person-card, .fp-industry-contact .fp-person-card, .fp-industry-detail .fp-person-card, .fp-contact .fp-person-card):not(.fp-team *) {
  display: grid !important;
  grid-template-columns: 245px minmax(0, 1fr) !important;
  column-gap: 0 !important;
  align-self: start !important;
  height: 245px !important;
  min-height: 245px !important;
  max-height: 245px !important;
  position: relative !important;
  box-sizing: border-box !important;
}

body[data-design-variant=figma] :is(.fp-person-card, .fp-industry-contact .fp-person-card, .fp-industry-detail .fp-person-card, .fp-contact .fp-person-card):not(.fp-team *) > img:not(.fp-person-arrow) {
  position: relative !important;
  z-index: 2 !important;
  width: 245px !important;
  height: 245px !important;
  min-width: 245px !important;
  max-width: 245px !important;
  min-height: 245px !important;
  max-height: 245px !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  object-position: center 30% !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}

body[data-design-variant=figma] :is(.fp-person-card, .fp-industry-contact .fp-person-card, .fp-industry-detail .fp-person-card, .fp-contact .fp-person-card):not(.fp-team *) > .fp-person-arrow {
  position: absolute !important;
  z-index: 1 !important;
  width: 36px !important;
  height: 41px !important;
  min-width: 36px !important;
  min-height: 41px !important;
  max-width: 36px !important;
  max-height: 41px !important;
  aspect-ratio: 35.5 / 41 !important;
  object-fit: contain !important;
  left: 227px !important;
  top: 40px !important;
  display: block !important;
  pointer-events: none !important;
}

body[data-design-variant=figma] :is(.fp-person-card, .fp-industry-contact .fp-person-card, .fp-industry-detail .fp-person-card, .fp-contact .fp-person-card):not(.fp-team *) > div {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  height: 245px !important;
  min-height: 245px !important;
  max-height: 245px !important;
  padding: 24px 28px 0 36px !important;
  box-sizing: border-box !important;
  background: transparent !important;
}

body[data-design-variant=figma] :is(.fp-person-card, .fp-industry-contact .fp-person-card, .fp-industry-detail .fp-person-card, .fp-contact .fp-person-card):not(.fp-team *) > div > p:first-child {
  font-size: 13px !important;
  line-height: 1.25 !important;
  margin: 0 0 4px !important;
  color: #2c282e !important;
}

body[data-design-variant=figma] :is(.fp-person-card, .fp-industry-contact .fp-person-card, .fp-industry-detail .fp-person-card, .fp-contact .fp-person-card):not(.fp-team *) h3 {
  font-size: 24px !important;
  line-height: 1.15 !important;
  margin: 0 0 4px !important;
  font-weight: 700 !important;
  color: var(--reference-red, #e30613) !important;
  overflow-wrap: normal !important;
}

body[data-design-variant=figma] :is(.fp-person-card, .fp-industry-contact .fp-person-card, .fp-industry-detail .fp-person-card, .fp-contact .fp-person-card):not(.fp-team *) > div > p:not(.fp-contact-data):not(:first-child) {
  font-size: 13px !important;
  line-height: 1.25 !important;
  margin: 0 0 8px !important;
  color: #2c282e !important;
}

body[data-design-variant=figma] :is(.fp-person-card, .fp-industry-contact .fp-person-card, .fp-industry-detail .fp-person-card, .fp-contact .fp-person-card):not(.fp-team *) .fp-contact-data {
  font-size: 13px !important;
  line-height: 1.35 !important;
  margin: 0 !important;
}

body[data-design-variant=figma] :is(.fp-person-card, .fp-industry-contact .fp-person-card, .fp-industry-detail .fp-person-card, .fp-contact .fp-person-card):not(.fp-team *) .fp-contact-data a {
  color: var(--reference-red, #e30613) !important;
  text-decoration: underline !important;
}

body[data-design-variant=figma] :is(.fp-person-card, .fp-industry-contact .fp-person-card, .fp-industry-detail .fp-person-card, .fp-contact .fp-person-card):not(.fp-team *) .fp-linkedin {
  margin-top: auto !important;
  margin-bottom: 0 !important;
  margin-left: 0 !important;
  display: inline-flex !important;
  align-items: flex-end !important;
  justify-content: flex-start !important;
  width: 24px !important;
  height: 24px !important;
  min-height: 24px !important;
  max-height: 24px !important;
  line-height: 1 !important;
  align-self: flex-start !important;
  padding: 0 !important;
}

body[data-design-variant=figma] :is(.fp-person-card, .fp-industry-contact .fp-person-card, .fp-industry-detail .fp-person-card, .fp-contact .fp-person-card):not(.fp-team *) .fp-linkedin img {
  display: block !important;
  width: 24px !important;
  height: 24px !important;
  filter: brightness(0) !important;
  opacity: 0.9 !important;
  transition: opacity 0.2s ease !important;
}

body[data-design-variant=figma] :is(.fp-person-card, .fp-industry-contact .fp-person-card, .fp-industry-detail .fp-person-card, .fp-contact .fp-person-card):not(.fp-team *) .fp-linkedin:hover img,
body[data-design-variant=figma] :is(.fp-person-card, .fp-industry-contact .fp-person-card, .fp-industry-detail .fp-person-card, .fp-contact .fp-person-card):not(.fp-team *) .fp-linkedin:focus-visible img {
  opacity: 1 !important;
  filter: brightness(0) !important;
}

body[data-design-variant=figma] .fp-person-card > div::before {
  display: none !important;
  content: none !important;
}

body[data-design-variant=figma] .fp-team .fp-person-card > .fp-person-arrow {
  display: none !important;
}

/* Startseite: Kontakt-Ansprechpartner & bündige LinkedIn-Ausrichtung (Desktop) */
@media (min-width: 821px) {
  body[data-design-variant=figma] .fh-contact-grid {
    align-items: start !important;
  }

  body[data-design-variant=figma] .fh-contact-grid > article {
    height: 294px !important;
    min-height: 294px !important;
    max-height: 294px !important;
  }

  body[data-design-variant=figma] .fh-person {
    display: grid !important;
    grid-template-columns: 311px minmax(0, 1fr) !important;
    column-gap: 0 !important;
    align-self: start !important;
    height: 294px !important;
    min-height: 294px !important;
    max-height: 294px !important;
    position: relative !important;
    box-sizing: border-box !important;
  }

  body[data-design-variant=figma] .fh-person > img {
    position: relative !important;
    z-index: 2 !important;
    width: 311px !important;
    height: 294px !important;
    min-width: 311px !important;
    max-width: 311px !important;
    min-height: 294px !important;
    max-height: 294px !important;
    object-fit: cover !important;
    object-position: center 40% !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body[data-design-variant=figma] .fh-person > div {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    height: 294px !important;
    min-height: 294px !important;
    max-height: 294px !important;
    padding: 30px 44px 0 44px !important;
    box-sizing: border-box !important;
    background: transparent !important;
    gap: 0 !important;
  }
}

body[data-design-variant=figma] .fh-person > div > p:first-child {
  font-size: 15px !important;
  line-height: 1.25 !important;
  margin: 0 0 6px !important;
  color: #2c282e !important;
}

body[data-design-variant=figma] .fh-person h3 {
  font-size: 28px !important;
  line-height: 1.15 !important;
  margin: 0 0 6px !important;
  font-weight: 700 !important;
  color: var(--reference-red, #a70a1a) !important;
  overflow-wrap: normal !important;
}

body[data-design-variant=figma] .fh-person > div > p:nth-of-type(2) {
  font-size: 15px !important;
  line-height: 1.25 !important;
  margin: 0 0 12px !important;
  color: #2c282e !important;
}

body[data-design-variant=figma] .fh-person > div > p:nth-of-type(3) {
  font-size: 15px !important;
  line-height: 1.4 !important;
  margin: 0 !important;
}

body[data-design-variant=figma] .fh-person > div > p:nth-of-type(3) a {
  color: var(--reference-red, #a70a1a) !important;
  text-decoration: underline !important;
}

body[data-design-variant=figma] .fh-person .fh-contact-linkedin {
  margin-top: auto !important;
  margin-bottom: 0 !important;
  display: block !important;
  width: 24px !important;
  height: 24px !important;
  min-height: 24px !important;
  max-height: 24px !important;
  line-height: 1 !important;
  align-self: flex-start !important;
}

body[data-design-variant=figma] .fh-person .fh-contact-linkedin img {
  display: block !important;
  width: 24px !important;
  height: 24px !important;
  filter: brightness(0) !important;
  opacity: 0.9 !important;
  transition: opacity 0.2s ease !important;
}

body[data-design-variant=figma] .fh-person .fh-contact-linkedin:hover img,
body[data-design-variant=figma] .fh-person .fh-contact-linkedin:focus-visible img {
  opacity: 1 !important;
  filter: brightness(0) !important;
}

body[data-design-variant=figma] .fh-form-card {
  height: 294px !important;
  min-height: 294px !important;
  max-height: 294px !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  padding: 28px 32px !important;
}

body[data-design-variant=figma] .fh-form-card .fh-more {
  margin-top: auto !important;
  margin-bottom: 0 !important;
}

body[data-design-variant=figma] .fp-team .fp-linkedin {
  display: block !important;
  width: 24px !important;
  height: 24px !important;
  margin-top: 12px !important;
}

body[data-design-variant=figma] .fp-team .fp-linkedin img {
  display: block !important;
  width: 24px !important;
  height: 24px !important;
  filter: brightness(0) !important;
  opacity: 0.9 !important;
}

@media (max-width: 600px) {
  body[data-design-variant=figma] :is(.fp-person-card, .fp-contact .fp-person-card, .fp-industry-contact .fp-person-card, .fp-industry-detail .fp-person-card):not(.fp-team *) {
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin-inline: 0 !important;
  }
  body[data-design-variant=figma] :is(.fp-person-card, .fp-contact .fp-person-card, .fp-industry-contact .fp-person-card, .fp-industry-detail .fp-person-card):not(.fp-team *) > img:not(.fp-person-arrow) {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    object-position: center 30% !important;
    margin-inline: 0 !important;
    position: relative !important;
    z-index: 2 !important;
  }
  body[data-design-variant=figma] :is(.fp-person-card, .fp-contact .fp-person-card, .fp-industry-contact .fp-person-card, .fp-industry-detail .fp-person-card):not(.fp-team *) > div {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 20px 0 0 0 !important;
  }
  body[data-design-variant=figma] :is(.fp-person-card, .fp-contact .fp-person-card, .fp-industry-contact .fp-person-card, .fp-industry-detail .fp-person-card):not(.fp-team *) .fp-linkedin {
    margin-top: 12px !important;
  }
  body[data-design-variant=figma] :is(.fp-person-card, .fp-contact .fp-person-card, .fp-industry-contact .fp-person-card, .fp-industry-detail .fp-person-card, .fp-team .fp-person-card) > .fp-person-arrow {
    display: none !important;
  }
  body[data-design-variant=figma] .fh-contact-grid > article {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }
  body[data-design-variant=figma] .fh-person {
    grid-template-columns: 1fr !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }
  body[data-design-variant=figma] .fh-person > img {
    width: 100% !important;
    height: 100% !important;
    min-height: 294px !important;
    max-height: none !important;
  }
  body[data-design-variant=figma] .fh-person > div {
    height: auto !important;
    min-height: 294px !important;
    max-height: none !important;
    padding: 24px 24px 0 24px !important;
  }
  body[data-design-variant=figma] .fh-person > div::before {
    left: 0 !important;
    top: 76px !important;
    border-width: 16px 0 16px 14px !important;
    border-color: transparent transparent transparent var(--idh-red) !important;
  }
}

@media (max-width: 600px) {
  body[data-design-variant=figma] .fh-contact-grid {
    width: calc(100% - 40px) !important;
    margin-inline: auto !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;
  }
  body[data-design-variant=figma] .fh-contact-grid > article {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    background: var(--fh-soft, #f5f3f4) !important;
  }
  body[data-design-variant=figma] .fh-person {
    grid-template-columns: 1fr !important;
    display: flex !important;
    flex-direction: column !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    width: 100% !important;
  }
  body[data-design-variant=figma] .fh-person > img {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    max-height: 340px !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    min-height: 0 !important;
  }
  body[data-design-variant=figma] .fh-person > div {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 28px 24px 32px !important;
    position: relative !important;
  }
  body[data-design-variant=figma] .fh-person > div::before {
    left: 24px !important;
    top: 0 !important;
    border-width: 14px 14px 0 !important;
    border-color: var(--idh-red, #a70a1a) transparent transparent !important;
  }
  body[data-design-variant=figma] .fh-person .fh-contact-linkedin {
    margin-top: 16px !important;
    margin-bottom: 0 !important;
  }
  body[data-design-variant=figma] .fh-form-card {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 32px 24px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
  }
}

/* ==========================================================================
   Modul 13: Hero-Banner Illustration & Responsive-Logik für Cases & Unterseiten
   ========================================================================== */

/* 1. Hero Container */
body[data-design-variant=figma] :is(.cp-hero.has-background-illustration, .cp-case-detail .cp-hero, .cp-hero.has-topic-illustration, .cp-hero.fp-line-hero) {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 560px) minmax(0, 1fr) !important;
  align-items: center !important;
  justify-content: space-between !important;
  column-gap: clamp(32px, 3.5vw, 56px) !important;
  width: 100% !important;
  min-height: 520px !important;
  height: auto !important;
  padding-inline: max(24px, calc((100% - var(--idh-shell, 1116px)) / 2)) !important;
  padding-block: 84px 72px !important;
  overflow: hidden !important;
  background: var(--fp-dark, #2c282e) !important;
  color: #fff !important;
  isolation: isolate !important;
}

/* 2. Deaktivierung von Pseudo-Elementen und Overlay-Gradients */
body[data-design-variant=figma] :is(.cp-hero.has-background-illustration, .cp-case-detail .cp-hero, .cp-hero.has-topic-illustration, .cp-hero.fp-line-hero)::before,
body[data-design-variant=figma] :is(.cp-hero.has-background-illustration, .cp-case-detail .cp-hero, .cp-hero.has-topic-illustration, .cp-hero.fp-line-hero)::after {
  display: none !important;
  content: none !important;
}

/* 3. Linke Spalte: Copy Container */
body[data-design-variant=figma] :is(.cp-hero.has-background-illustration, .cp-case-detail .cp-hero, .cp-hero.has-topic-illustration, .cp-hero.fp-line-hero) :is(.fp-hero-copy, .cp-hero-copy, .cp-hero-grid, .cp-shell) {
  grid-column: 1 !important;
  grid-row: 1 !important;
  position: relative !important;
  left: auto !important;
  top: auto !important;
  max-width: 560px !important;
  width: 100% !important;
  z-index: 2 !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
}

/* Eyebrow Label */
body[data-design-variant=figma] :is(.cp-hero.has-background-illustration, .cp-case-detail .cp-hero, .cp-hero.has-topic-illustration, .cp-hero.fp-line-hero) :is(.fp-label, .cp-label) {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  font-family: Poppins, sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.13em !important;
  text-transform: uppercase !important;
  color: var(--fp-lime, #d2e100) !important;
  margin: 0 0 clamp(22px, 2.2vw + 8px, 30px) !important;
  white-space: nowrap !important;
}

body[data-design-variant=figma] :is(.cp-hero.has-background-illustration, .cp-case-detail .cp-hero, .cp-hero.has-topic-illustration, .cp-hero.fp-line-hero) :is(.fp-label, .cp-label) span {
  width: 10px !important;
  height: 10px !important;
  flex: 0 0 10px !important;
  border-radius: 0 !important;
  clip-path: polygon(29% 0, 71% 0, 100% 29%, 100% 71%, 71% 100%, 29% 100%, 0 71%, 0 29%) !important;
  background: currentColor !important;
  display: inline-block !important;
  flex-shrink: 0 !important;
}

/* Überschrift H1 */
body[data-design-variant=figma] :is(.cp-hero.has-background-illustration, .cp-case-detail .cp-hero, .cp-hero.has-topic-illustration, .cp-hero.fp-line-hero) h1 {
  font-family: Poppins, sans-serif !important;
  font-size: clamp(36px, 3.5vw, 48px) !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  letter-spacing: 0 !important;
  margin: 0 0 18px !important;
  color: #fff !important;
  text-align: left !important;
}

/* Fließtext / Lead */
body[data-design-variant=figma] :is(.cp-hero.has-background-illustration, .cp-case-detail .cp-hero, .cp-hero.has-topic-illustration, .cp-hero.fp-line-hero) :is(p:not(.cp-label, .fp-label, .cp-hero-caption), .cp-hero-lead) {
  font-family: Poppins, sans-serif !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
  letter-spacing: 0 !important;
  margin: 0 0 28px !important;
  color: #fff !important;
  max-width: 560px !important;
  text-align: left !important;
}

/* Button */
body[data-design-variant=figma] :is(.cp-hero.has-background-illustration, .cp-case-detail .cp-hero, .cp-hero.has-topic-illustration, .cp-hero.fp-line-hero) :is(.cp-button, .fh-button) {
  margin-top: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 52px !important;
  padding: 0 32px !important;
  font-weight: 700 !important;
}

/* 4. Rechte Spalte: Technische Illustration */
body[data-design-variant=figma] :is(.cp-hero.has-background-illustration, .cp-case-detail .cp-hero, .cp-hero.has-topic-illustration, .cp-hero.fp-line-hero) .cp-hero-visual {
  grid-column: 2 !important;
  grid-row: 1 !important;
  position: relative !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: clamp(480px, 36vw, 620px) !important;
  height: auto !important;
  max-height: 480px !important;
  justify-self: center !important;
  margin: 0 auto !important;
  z-index: 1 !important;
}

body[data-design-variant=figma] :is(.cp-hero.has-background-illustration, .cp-case-detail .cp-hero, .cp-hero.has-topic-illustration, .cp-hero.fp-line-hero) .cp-hero-visual picture {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: auto !important;
  max-height: 450px !important;
}

body[data-design-variant=figma] :is(.cp-hero.has-background-illustration, .cp-case-detail .cp-hero, .cp-hero.has-topic-illustration, .cp-hero.fp-line-hero) .cp-hero-visual :is(.fp-line-art, .cp-hero-media) {
  position: static !important;
  inset: auto !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 450px !important;
  object-fit: contain !important;
  object-position: center !important;
  opacity: 0.92 !important;
  display: block !important;
  mask-image: none !important;
  -webkit-mask-image: none !important;
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}

body[data-design-variant=figma] :is(.cp-hero.has-background-illustration, .cp-case-detail .cp-hero, .cp-hero.has-topic-illustration, .cp-hero.fp-line-hero) .cp-hero-visual .cp-hero-caption {
  position: absolute !important;
  right: 0 !important;
  bottom: -22px !important;
  margin: 0 !important;
  color: #bbb5ba !important;
  font-family: Poppins, sans-serif !important;
  font-size: 11px !important;
  line-height: 1.3 !important;
  white-space: nowrap !important;
  pointer-events: none !important;
}

/* 5. Responsive Logik: Kollaps <= 1100px (Illustration oben, Copy unten) */
@media (max-width: 1100px) {
  body[data-design-variant=figma] :is(.cp-hero.has-background-illustration, .cp-case-detail .cp-hero, .cp-hero.has-topic-illustration, .cp-hero.fp-line-hero) {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    height: auto !important;
    min-height: 0 !important;
    padding-inline: 20px !important;
    padding-block: 40px 48px !important;
  }

  body[data-design-variant=figma] :is(.cp-hero.has-background-illustration, .cp-case-detail .cp-hero, .cp-hero.has-topic-illustration, .cp-hero.fp-line-hero) .cp-hero-visual {
    order: 1 !important;
    position: static !important;
    width: 100% !important;
    max-width: 380px !important;
    height: auto !important;
    max-height: 200px !important;
    margin: 0 auto 28px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
  }

  body[data-design-variant=figma] :is(.cp-hero.has-background-illustration, .cp-case-detail .cp-hero, .cp-hero.has-topic-illustration, .cp-hero.fp-line-hero) .cp-hero-visual picture,
  body[data-design-variant=figma] :is(.cp-hero.has-background-illustration, .cp-case-detail .cp-hero, .cp-hero.has-topic-illustration, .cp-hero.fp-line-hero) .cp-hero-visual :is(.fp-line-art, .cp-hero-media) {
    width: 100% !important;
    max-width: 380px !important;
    height: 180px !important;
    max-height: 180px !important;
    object-fit: contain !important;
    opacity: 0.85 !important;
    margin: 0 auto !important;
  }

  body[data-design-variant=figma] :is(.cp-hero.has-background-illustration, .cp-case-detail .cp-hero, .cp-hero.has-topic-illustration, .cp-hero.fp-line-hero) .cp-hero-visual .cp-hero-caption {
    position: static !important;
    right: auto !important;
    bottom: auto !important;
    margin-top: 6px !important;
    text-align: center !important;
    font-size: 11px !important;
    color: #bbb5ba !important;
  }

  body[data-design-variant=figma] :is(.cp-hero.has-background-illustration, .cp-case-detail .cp-hero, .cp-hero.has-topic-illustration, .cp-hero.fp-line-hero) :is(.fp-hero-copy, .cp-hero-copy, .cp-hero-grid, .cp-shell) {
    order: 2 !important;
    position: static !important;
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
    text-align: left !important;
  }
}

@media (max-width: 480px) {
  body[data-design-variant=figma] :is(.cp-hero.has-background-illustration, .cp-case-detail .cp-hero, .cp-hero.has-topic-illustration, .cp-hero.fp-line-hero) .cp-hero-visual,
  body[data-design-variant=figma] :is(.cp-hero.has-background-illustration, .cp-case-detail .cp-hero, .cp-hero.has-topic-illustration, .cp-hero.fp-line-hero) .cp-hero-visual picture,
  body[data-design-variant=figma] :is(.cp-hero.has-background-illustration, .cp-case-detail .cp-hero, .cp-hero.has-topic-illustration, .cp-hero.fp-line-hero) .cp-hero-visual :is(.fp-line-art, .cp-hero-media) {
    max-width: 320px !important;
    height: 150px !important;
    max-height: 150px !important;
  }

  body[data-design-variant=figma] :is(.cp-hero.has-background-illustration, .cp-case-detail .cp-hero, .cp-hero.has-topic-illustration, .cp-hero.fp-line-hero) :is(.fp-hero-copy, .cp-hero-copy, .cp-hero-grid) h1 {
    font-size: 28px !important;
  }

  body[data-design-variant=figma] :is(.cp-hero.has-background-illustration, .cp-case-detail .cp-hero, .cp-hero.has-topic-illustration, .cp-hero.fp-line-hero) :is(.fp-hero-copy, .cp-hero-copy, .cp-hero-grid) :is(.cp-button, .fh-button) {
    width: 100% !important;
  }
}

/* ==========================================================================
   Modul 14: Footer – Logo-Größe, Dimming & Link-Hover-Effekte
   ========================================================================== */

/* 1. Footer Logo: dezenter dimensionieren & dimmen */
body[data-design-variant=figma] .fh-footer-logo {
  width: 165px !important;
  height: 68px !important;
  margin-bottom: 32px !important;
}

body[data-design-variant=figma] .fh-footer-logo img {
  width: 165px !important;
  height: 68px !important;
  opacity: 0.82 !important;
  transition: opacity 0.2s ease;
}

body[data-design-variant=figma] .fh-footer-logo:hover img {
  opacity: 1 !important;
}

/* 2. Alle Footer-Links im Ausgangszustand: weiß, ruhige Typografie */
body[data-design-variant=figma] .fh-footer :is(a, .fh-address a, .fh-footer-grid a, .fh-footer-bottom a) {
  color: #fff !important;
  text-decoration-color: rgba(255, 255, 255, 0.45) !important;
  transition: color 0.18s ease, text-decoration-color 0.18s ease, opacity 0.18s ease;
}

/* 3. Footer-Links Hover & Focus-Visible: IDH-Lime (#d1e000) */
body[data-design-variant=figma] .fh-footer :is(a, .fh-address a, .fh-footer-grid a, .fh-footer-bottom a):is(:hover, :focus-visible) {
  color: var(--fh-lime, #d1e000) !important;
  text-decoration-color: var(--fh-lime, #d1e000) !important;
}

/* 4. LinkedIn Icon Hover */
body[data-design-variant=figma] .fh-footer .fh-linkedin:is(:hover, :focus-visible) img {
  opacity: 0.85 !important;
  filter: brightness(1.2) !important;
}

/* ==========================================================================
   Modul 15: Foto-Banner Hero (Verlauf im Hintergrund) einspaltig links
   ========================================================================== */

body[data-design-variant=figma] .cp-hero:is(.has-background-photo, .has-background-media) :is(.cp-hero-grid, .cp-hero-copy, .fp-hero-copy, .cp-shell) {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  width: 1116px !important;
  max-width: calc(100% - 40px) !important;
  margin-inline: auto !important;
  position: relative !important;
  left: 0 !important;
  grid-template-columns: none !important;
  gap: 0 !important;
  box-sizing: border-box !important;
}

body[data-design-variant=figma] .cp-hero:is(.has-background-photo, .has-background-media) .cp-label {
  margin-bottom: 20px !important;
}

body[data-design-variant=figma] .cp-hero:is(.has-background-photo, .has-background-media) h1 {
  max-width: 680px !important;
  font-size: clamp(38px, 3.2vw, 46px) !important;
  line-height: 1.18 !important;
  font-weight: 700 !important;
  margin-bottom: 20px !important;
  text-wrap: balance !important;
}

body[data-design-variant=figma] .cp-hero:is(.has-background-photo, .has-background-media) .cp-hero-lead {
  max-width: 640px !important;
  font-size: 18px !important;
  line-height: 1.55 !important;
  color: #e5e2e3 !important;
  margin-bottom: 28px !important;
}

body[data-design-variant=figma] .cp-hero:is(.has-background-photo, .has-background-media) .cp-button {
  margin-top: 4px !important;
}

@media (max-width: 820px) {
  body[data-design-variant=figma] .cp-hero:is(.has-background-photo, .has-background-media) h1 {
    font-size: 32px !important;
    margin-bottom: 16px !important;
  }
  body[data-design-variant=figma] .cp-hero:is(.has-background-photo, .has-background-media) .cp-hero-lead {
    font-size: 16px !important;
    margin-bottom: 24px !important;
  }
  body[data-design-variant=figma] :is(h1, h2, h3, .fh-card-copy h3) {
    hyphens: auto;
    -webkit-hyphens: auto;
    overflow-wrap: break-word;
  }
}

@media (max-width: 480px) {
  body[data-design-variant=figma] .cp-hero:is(.has-background-photo, .has-background-media) h1 {
    font-size: 28px !important;
  }
  body[data-design-variant=figma] .cp-hero:is(.has-background-photo, .has-background-media) .cp-button {
    width: auto !important;
    max-width: 100% !important;
  }
}

/* ==========================================================================
   Modul 16: Branchen-Liste Illustrationen – kein Beschneiden, sauberes Framing
   ========================================================================== */

body[data-design-variant=figma] .fp-industry-list > a > :is(img, picture) {
  width: 440px !important;
  height: 297px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 24px 28px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

body[data-design-variant=figma] .fp-industry-list > a > picture > img,
body[data-design-variant=figma] .fp-industry-list > a > img {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
  opacity: 0.9 !important;
}

@media (max-width: 1100px) {
  body[data-design-variant=figma] .fp-industry-list > a > :is(img, picture) {
    width: 100% !important;
    height: auto !important;
    min-height: 240px !important;
    max-height: 280px !important;
  }
}

@media (max-width: 820px) {
  body[data-design-variant=figma] .fp-industry-list > a > :is(img, picture) {
    width: 100% !important;
    height: 220px !important;
    min-height: 0 !important;
    max-height: 220px !important;
    padding: 16px 20px !important;
  }
}

/* ==========================================================================
   Modul 17: Footer – Haus E Logo & Text rechtsbündig, Link, Dimming & Hover
   ========================================================================== */

body[data-design-variant=figma] .fh-footer-bottom {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
}

body[data-design-variant=figma] .fh-footer-bottom .fh-haus-e {
  margin-left: auto !important;
}

body[data-design-variant=figma] .fh-footer-bottom .fh-haus-e {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  font-size: 14px !important;
  font-weight: 300 !important;
  line-height: 1 !important;
  color: #fff !important;
  text-decoration: none !important;
  opacity: 0.55 !important;
  transition: opacity 0.2s ease, color 0.2s ease !important;
  cursor: pointer !important;
}

body[data-design-variant=figma] .fh-footer-bottom .fh-haus-e img {
  width: 24px !important;
  height: 24px !important;
  flex: none !important;
  border-radius: 4px !important;
  transition: opacity 0.2s ease, transform 0.2s ease !important;
}

body[data-design-variant=figma] .fh-footer .fh-footer-bottom :is(a.fh-haus-e, a.fh-haus-e span):is(:hover, :focus-visible) {
  opacity: 1 !important;
  color: #fff !important;
  text-decoration: none !important;
}

body[data-design-variant=figma] .fh-footer .fh-footer-bottom a.fh-haus-e:is(:hover, :focus-visible) img {
  transform: scale(1.05);
}

/* ==========================================================================
   Modul 18: Footer – Inhaltsbreite seitlich begrenzen (1344px Grid / Shell)
   ========================================================================== */

body[data-design-variant=figma] .fh-footer {
  height: auto !important;
  min-height: 641px !important;
  padding: 109px 0 48px !important;
  box-sizing: border-box !important;
  position: relative !important;
}

body[data-design-variant=figma] .fh-footer-inner {
  width: min(1344px, calc(100% - 96px)) !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  display: flex !important;
  flex-direction: column !important;
  box-sizing: border-box !important;
  position: relative !important;
}

body[data-design-variant=figma] .fh-footer-inner > .fh-footer-logo {
  width: 165px !important;
  height: 68px !important;
  margin-bottom: 32px !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}

body[data-design-variant=figma] .fh-footer-inner > .fh-footer-grid {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  display: grid !important;
  grid-template-columns: 296px 165px 129px 258px !important;
  justify-content: space-between !important;
  gap: 50px !important;
}

body[data-design-variant=figma] .fh-footer-inner > .fh-footer-bottom {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-top: 56px !important;
  padding-top: 24px !important;
  border-top: 1px solid rgba(239, 51, 70, 0.55) !important;
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
}

/* Fallback für Instanzen ohne .fh-footer-inner */
body[data-design-variant=figma] .fh-footer:not(:has(.fh-footer-inner)) :is(.fh-footer-logo, .fh-footer-grid) {
  width: min(1344px, calc(100% - 96px)) !important;
  margin-inline: auto !important;
}
body[data-design-variant=figma] .fh-footer:not(:has(.fh-footer-inner)) .fh-footer-bottom {
  left: max(48px, calc((100% - 1344px) / 2)) !important;
  right: max(48px, calc((100% - 1344px) / 2)) !important;
  width: auto !important;
  border-top: 1px solid rgba(239, 51, 70, 0.55) !important;
}

/* Responsive Anpassungen für Tablet & Mobile */
@media (max-width: 1100px) {
  body[data-design-variant=figma] .fh-footer {
    padding: 70px 0 48px !important;
  }
  body[data-design-variant=figma] .fh-footer-inner {
    width: calc(100% - 48px) !important;
  }
  body[data-design-variant=figma] .fh-footer-inner > .fh-footer-grid {
    grid-template-columns: 1.4fr 1fr !important;
    gap: 48px 64px !important;
  }
  body[data-design-variant=figma] .fh-footer-inner > .fh-footer-bottom {
    margin-top: 48px !important;
  }
}

@media (max-width: 600px) {
  body[data-design-variant=figma] .fh-footer {
    padding: 60px 0 40px !important;
  }
  body[data-design-variant=figma] .fh-footer-inner {
    width: calc(100% - 40px) !important;
  }
  body[data-design-variant=figma] .fh-footer-inner > .fh-footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 40px 20px !important;
  }
  body[data-design-variant=figma] .fh-footer-inner > .fh-footer-grid > .fh-address {
    grid-column: 1 / -1 !important;
  }
  body[data-design-variant=figma] .fh-footer-inner > .fh-footer-bottom {
    margin-top: 40px !important;
  }
}

/* ==========================================================================
   Homepage Service Grid (.fh-service-grid) Responsive Borders Fix
   ========================================================================== */
@media (min-width: 1201px) {
  body[data-design-variant=figma] .fh-service-grid {
    grid-template-columns: repeat(4, 1fr) !important;
    grid-template-rows: repeat(2, 200px) !important;
  }
  body[data-design-variant=figma] .fh-service-grid a {
    border-top: 0 !important;
    border-left: 0 !important;
    border-right: 1px solid #d9dae4 !important;
    border-bottom: 1px solid #d9dae4 !important;
  }
  body[data-design-variant=figma] .fh-service-grid a:nth-child(4n) {
    border-right: 0 !important;
  }
  body[data-design-variant=figma] .fh-service-grid a:nth-child(n+5) {
    border-bottom: 0 !important;
  }
}

@media (max-width: 1200px) {
  body[data-design-variant=figma] .fh-service-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: none !important;
  }
  body[data-design-variant=figma] .fh-service-grid a {
    border-top: 0 !important;
    border-left: 0 !important;
    border-right: 0 !important;
    border-bottom: 0 !important;
  }
  body[data-design-variant=figma] .fh-service-grid a:nth-child(odd) {
    border-right: 1px solid #d9dae4 !important;
  }
  body[data-design-variant=figma] .fh-service-grid a:nth-child(-n+6) {
    border-bottom: 1px solid #d9dae4 !important;
  }
}

@media (max-width: 600px) {
  body[data-design-variant=figma] .fh-service-grid a {
    height: auto !important;
    min-height: 126px !important;
    padding: 16px 8px !important;
    font-size: clamp(13px, 4vw, 15px) !important;
    line-height: 1.3 !important;
    hyphens: auto !important;
    -webkit-hyphens: auto !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }
}

/* ========================================================================== 
   Kontaktpartner: einheitliche Bildform, Pfeil und Leserhythmus
   ========================================================================== */

body[data-design-variant=figma] :is(.fp-person-card, .fh-person) {
  --contact-label-gap: 6px;
  --contact-name-gap: 9px;
  --contact-role-gap: 15px;
}

@media (min-width: 821px) {
  body[data-design-variant=figma] :is(.fp-contact-row, .fp-industry-contact) .fp-person-card:not(.fp-team *) {
    grid-template-columns: 245px minmax(0, 1fr) !important;
    height: 245px !important;
    min-height: 245px !important;
    max-height: 245px !important;
  }

  body[data-design-variant=figma] :is(.fp-contact-row, .fp-industry-contact) .fp-person-card:not(.fp-team *) > img:not(.fp-person-arrow) {
    width: 245px !important;
    height: 245px !important;
    min-width: 245px !important;
    min-height: 245px !important;
    aspect-ratio: 1 / 1 !important;
  }
}

body[data-design-variant=figma] .fp-person-card:not(.fp-team *) > .fp-person-arrow {
  z-index: 1 !important;
  left: 227px !important;
  top: 40px !important;
}

body[data-design-variant=figma] .fp-person-card:not(.fp-team *) > img:not(.fp-person-arrow) {
  position: relative !important;
  z-index: 2 !important;
}

body[data-design-variant=figma] .fp-person-card:not(.fp-team *) > div > p:first-child,
body[data-design-variant=figma] .fh-person > div > p:first-child {
  margin: 0 0 var(--contact-label-gap) !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
}

body[data-design-variant=figma] .fp-person-card:not(.fp-team *) h3,
body[data-design-variant=figma] .fh-person h3 {
  margin: 0 0 var(--contact-name-gap) !important;
  font-size: clamp(24px, 2vw, 28px) !important;
  line-height: 1.12 !important;
}

body[data-design-variant=figma] .fp-person-card:not(.fp-team *) > div > p:not(.fp-contact-data):not(:first-child),
body[data-design-variant=figma] .fh-person > div > p:nth-of-type(2) {
  margin: 0 0 var(--contact-role-gap) !important;
  font-size: 15px !important;
  line-height: 1.4 !important;
}

body[data-design-variant=figma] .fp-person-card:not(.fp-team *) .fp-contact-data,
body[data-design-variant=figma] .fh-person > div > p:nth-of-type(3) {
  font-size: 14px !important;
  line-height: 1.5 !important;
}

body[data-design-variant=figma] :is(.fp-person-card, .fh-person) :is(.fp-linkedin, .fh-contact-linkedin),
body[data-design-variant=figma] .fp-person-card .fp-linkedin,
body[data-design-variant=figma] .fh-person .fh-contact-linkedin,
body[data-design-variant=figma] .fp-team .fp-linkedin {
  display: inline-flex !important;
  align-items: flex-end !important;
  justify-content: flex-start !important;
  width: 24px !important;
  height: 24px !important;
  min-height: 24px !important;
  max-height: 24px !important;
  margin-top: auto !important;
  margin-left: 0 !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
}

body[data-design-variant=figma] :is(.fp-person-card, .fh-person) :is(.fp-linkedin, .fh-contact-linkedin) img,
body[data-design-variant=figma] .fp-person-card .fp-linkedin img,
body[data-design-variant=figma] .fh-person .fh-contact-linkedin img,
body[data-design-variant=figma] .fp-team .fp-linkedin img {
  display: block !important;
  width: 24px !important;
  height: 24px !important;
  margin: 0 !important;
  padding: 0 !important;
}

@media (min-width: 601px) {
  body[data-design-variant=figma] .fh-person {
    display: grid !important;
    position: relative !important;
    grid-template-columns: 294px minmax(0, 1fr) !important;
    height: 294px !important;
    min-height: 294px !important;
    max-height: 294px !important;
  }

  body[data-design-variant=figma] .fh-person > img {
    width: 294px !important;
    height: 294px !important;
    min-width: 294px !important;
    max-width: 294px !important;
    min-height: 294px !important;
    max-height: 294px !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    position: relative !important;
    z-index: 2 !important;
    display: block !important;
    margin: 0 !important;
  }

  body[data-design-variant=figma] .fh-person > div {
    height: 294px !important;
    min-height: 294px !important;
    max-height: 294px !important;
    padding: 30px 40px 0 36px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    position: relative !important;
    box-sizing: border-box !important;
  }

  body[data-design-variant=figma] .fh-person > div::before {
    display: none !important;
    content: none !important;
  }

  body[data-design-variant=figma] .fh-person::after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    z-index: 1 !important;
    left: 276px !important;
    top: 40px !important;
    width: 36px !important;
    height: 41px !important;
    background: var(--idh-red, #a70a1a) !important;
    clip-path: polygon(0 0, 100% 50%, 0 100%) !important;
    pointer-events: none !important;
  }
}

@media (min-width: 1101px) {
  body[data-design-variant=figma] .fp-team .fp-person-card {
    display: flex !important;
    flex-direction: column !important;
    width: min(100%, 320px) !important;
    max-width: 320px !important;
    height: auto !important;
    min-height: 0 !important;
    margin-inline: auto !important;
  }

  body[data-design-variant=figma] .fp-team .fp-person-card > img:not(.fp-person-arrow) {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    display: block !important;
    position: relative !important;
    z-index: 2 !important;
  }

  body[data-design-variant=figma] .fp-team .fp-person-card > .fp-person-arrow {
    display: none !important;
  }

  body[data-design-variant=figma] .fp-team .fp-person-card > div {
    position: relative !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 26px 24px 28px !important;
    display: flex !important;
    flex-direction: column !important;
    box-sizing: border-box !important;
  }

  body[data-design-variant=figma] .fp-team .fp-person-card > div::before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    z-index: 1 !important;
    top: -7px !important;
    left: 24px !important;
    width: 28px !important;
    height: 14px !important;
    background: var(--fp-red, #a70a1a) !important;
    clip-path: polygon(0 0, 100% 0, 50% 100%) !important;
    border: 0 !important;
  }

  body[data-design-variant=figma] .fp-team .fp-person-card .fp-linkedin {
    margin-top: 14px !important;
    margin-left: 0 !important;
  }
}

@media (min-width: 601px) and (max-width: 1100px) {
  body[data-design-variant=figma] .fp-contact-row {
    grid-template-columns: 1fr !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 24px !important;
  }

  body[data-design-variant=figma] .fp-contact-row > .fp-quote {
    width: 100% !important;
    max-width: 100% !important;
  }

  body[data-design-variant=figma] .fp-industry-contact {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  body[data-design-variant=figma] .fp-team > div {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
    width: 100% !important;
  }

  body[data-design-variant=figma] :is(.fp-person-card, .fp-contact .fp-person-card, .fp-industry-contact .fp-person-card, .fp-industry-detail .fp-person-card, .fp-team .fp-person-card) {
    display: grid !important;
    grid-template-columns: 245px minmax(0, 1fr) !important;
    column-gap: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 245px !important;
    min-height: 245px !important;
    max-height: 245px !important;
    position: relative !important;
    box-sizing: border-box !important;
    margin-inline: 0 !important;
  }

  body[data-design-variant=figma] :is(.fp-person-card, .fp-contact .fp-person-card, .fp-industry-contact .fp-person-card, .fp-industry-detail .fp-person-card, .fp-team .fp-person-card) > img:not(.fp-person-arrow) {
    width: 245px !important;
    height: 245px !important;
    min-width: 245px !important;
    max-width: 245px !important;
    min-height: 245px !important;
    max-height: 245px !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    object-position: center 30% !important;
    position: relative !important;
    z-index: 2 !important;
    display: block !important;
    margin: 0 !important;
  }

  body[data-design-variant=figma] :is(.fp-person-card, .fp-contact .fp-person-card, .fp-industry-contact .fp-person-card, .fp-industry-detail .fp-person-card, .fp-team .fp-person-card) > .fp-person-arrow {
    display: block !important;
    position: absolute !important;
    z-index: 1 !important;
    left: 227px !important;
    top: 40px !important;
    width: 36px !important;
    height: 41px !important;
    min-width: 36px !important;
    max-width: 36px !important;
    min-height: 41px !important;
    max-height: 41px !important;
    object-fit: contain !important;
    pointer-events: none !important;
  }

  body[data-design-variant=figma] :is(.fp-person-card, .fp-contact .fp-person-card, .fp-industry-contact .fp-person-card, .fp-industry-detail .fp-person-card, .fp-team .fp-person-card) > div {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    height: 245px !important;
    min-height: 245px !important;
    max-height: 245px !important;
    padding: 24px 28px 0 36px !important;
    box-sizing: border-box !important;
    position: relative !important;
    width: 100% !important;
  }

  body[data-design-variant=figma] :is(.fp-person-card, .fp-contact .fp-person-card, .fp-industry-contact .fp-person-card, .fp-industry-detail .fp-person-card, .fp-team .fp-person-card) > div::before {
    display: none !important;
    content: none !important;
  }

  body[data-design-variant=figma] :is(.fp-person-card, .fp-team .fp-person-card) .fp-linkedin {
    margin-top: auto !important;
    margin-bottom: 0 !important;
    margin-left: 0 !important;
  }
}

@media (max-width: 600px) {
  body[data-design-variant=figma] :is(.fp-person-card, .fp-contact .fp-person-card, .fp-industry-contact .fp-person-card, .fp-industry-detail .fp-person-card, .fp-team .fp-person-card) {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin-inline: 0 !important;
  }

  body[data-design-variant=figma] :is(.fp-person-card, .fp-contact .fp-person-card, .fp-industry-contact .fp-person-card, .fp-industry-detail .fp-person-card, .fp-team .fp-person-card) > img:not(.fp-person-arrow) {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    margin-inline: 0 !important;
    position: relative !important;
    z-index: 2 !important;
    display: block !important;
  }

  body[data-design-variant=figma] :is(.fp-person-card, .fp-contact .fp-person-card, .fp-industry-contact .fp-person-card, .fp-industry-detail .fp-person-card, .fp-team .fp-person-card) > .fp-person-arrow,
  body[data-design-variant=figma] :is(.fp-person-card, .fp-industry-contact .fp-person-card, .fp-industry-detail .fp-person-card, .fp-contact .fp-person-card):not(.fp-team *) > .fp-person-arrow,
  body[data-design-variant=figma] .fh-person::after {
    display: none !important;
  }

  body[data-design-variant=figma] :is(.fp-person-card, .fp-contact .fp-person-card, .fp-industry-contact .fp-person-card, .fp-industry-detail .fp-person-card, .fp-team .fp-person-card) > div {
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 26px 24px 28px !important;
    box-sizing: border-box !important;
  }

  body[data-design-variant=figma] :is(.fp-person-card, .fp-contact .fp-person-card, .fp-industry-contact .fp-person-card, .fp-industry-detail .fp-person-card, .fp-team .fp-person-card, .fh-person) > div::before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    z-index: 1 !important;
    top: -7px !important;
    left: 24px !important;
    width: 28px !important;
    height: 14px !important;
    background: var(--fp-red, #a70a1a) !important;
    clip-path: polygon(0 0, 100% 0, 50% 100%) !important;
    border: 0 !important;
  }

  body[data-design-variant=figma] :is(.fp-person-card, .fh-person) :is(.fp-linkedin, .fh-contact-linkedin) {
    margin-top: 14px !important;
    margin-bottom: 0 !important;
    margin-left: 0 !important;
  }

  body[data-design-variant=figma] .fh-person > img {
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    aspect-ratio: 1 / 1 !important;
    position: relative !important;
    z-index: 2 !important;
  }

  body[data-design-variant=figma] .fh-person > div::before {
    z-index: 1 !important;
    top: -7px !important;
  }
}

