.elementor-2033 .elementor-element.elementor-element-csu02a01{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--flex-wrap:nowrap;--padding-top:0px;--padding-bottom:54px;--padding-left:0px;--padding-right:0px;}.elementor-2033 .elementor-element.elementor-element-csu02a02{--display:flex;--min-height:1050px;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:flex-start;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--flex-wrap:nowrap;--overflow:hidden;--border-radius:0px 48px 0px 280px;--padding-top:200px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2033 .elementor-element.elementor-element-csu02a03{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--flex-wrap:nowrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2033 .elementor-element.elementor-element-csu02a03:not(.elementor-motion-effects-element-type-background), .elementor-2033 .elementor-element.elementor-element-csu02a03 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#C9CCCF;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-2033 .elementor-element.elementor-element-csu02a0a{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-2033 .elementor-element.elementor-element-csu02a04{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:flex-start;--gap:32px 32px;--row-gap:32px;--column-gap:32px;--flex-wrap:nowrap;--border-radius:32px 32px 32px 80px;--padding-top:64px;--padding-bottom:64px;--padding-left:64px;--padding-right:64px;}.elementor-2033 .elementor-element.elementor-element-csu02a04:not(.elementor-motion-effects-element-type-background), .elementor-2033 .elementor-element.elementor-element-csu02a04 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:rgba(251,251,248,0.16);}.elementor-2033 .elementor-element.elementor-element-csu02a05{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:flex-start;--gap:16px 16px;--row-gap:16px;--column-gap:16px;--flex-wrap:nowrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-2033 .elementor-element.elementor-element-csu02a06{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;text-align:start;}.elementor-2033 .elementor-element.elementor-element-csu02a06 .elementor-heading-title{font-family:"cs-Futura", Sans-serif;font-size:18px;font-weight:500;text-transform:uppercase;font-style:normal;text-decoration:none;line-height:29.52px;letter-spacing:-0.55px;color:#827D2A;}.elementor-2033 .elementor-element.elementor-element-csu02a07{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;text-align:start;}.elementor-2033 .elementor-element.elementor-element-csu02a07 .elementor-heading-title{font-family:"cs-Futura", Sans-serif;font-size:72px;font-weight:400;text-transform:none;font-style:normal;text-decoration:none;line-height:77.76px;letter-spacing:-1.9px;color:#383C48;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-2033 .elementor-element.elementor-element-csu02a08{width:var( --container-widget-width, 540px );max-width:540px;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;--container-widget-width:540px;--container-widget-flex-grow:0;text-align:start;font-family:"cs-Futura", Sans-serif;font-size:18px;font-weight:400;text-transform:none;font-style:normal;text-decoration:none;line-height:29.52px;letter-spacing:-0.4px;color:#383C48;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-2033 .elementor-element.elementor-element-csu02a09 .elementor-button{background-color:#5F95A8;font-family:"cs-Futura", Sans-serif;font-size:18px;font-weight:500;text-transform:none;font-style:normal;text-decoration:none;line-height:29.52px;letter-spacing:-1px;fill:#FFFFFF;color:#FFFFFF;border-style:none;border-radius:1000px 1000px 1000px 1000px;padding:16px 8px 16px 32px;}.elementor-2033 .elementor-element.elementor-element-csu02a09 .elementor-button:hover, .elementor-2033 .elementor-element.elementor-element-csu02a09 .elementor-button:focus{background-color:#4A7C8E;color:#FFFFFF;}.elementor-2033 .elementor-element.elementor-element-csu02a09{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-2033 .elementor-element.elementor-element-csu02a09 .elementor-button:hover svg, .elementor-2033 .elementor-element.elementor-element-csu02a09 .elementor-button:focus svg{fill:#FFFFFF;}.elementor-2033 .elementor-element.elementor-element-csu02a0b{width:auto;max-width:auto;background-color:rgba(255,255,255,0.16);margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:8px 24px 8px 24px;bottom:24px;border-radius:1000px 1000px 1000px 1000px;}body:not(.rtl) .elementor-2033 .elementor-element.elementor-element-csu02a0b{right:24px;}body.rtl .elementor-2033 .elementor-element.elementor-element-csu02a0b{left:24px;}.elementor-2033 .elementor-element.elementor-element-csu02a0b .elementor-heading-title{font-family:"cs-Futura", Sans-serif;font-size:16px;font-weight:400;text-transform:none;font-style:normal;text-decoration:none;line-height:26.24px;letter-spacing:-0.5px;color:#FFFFFF;}@media(max-width:1024px){.elementor-2033 .elementor-element.elementor-element-csu02a01{--flex-wrap:nowrap;--padding-top:0px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}.elementor-2033 .elementor-element.elementor-element-csu02a02{--min-height:684px;--flex-wrap:nowrap;--border-radius:0px 32px 0px 164px;--padding-top:100px;--padding-bottom:0px;--padding-left:64px;--padding-right:64px;}.elementor-2033 .elementor-element.elementor-element-csu02a03{--flex-wrap:nowrap;}.elementor-2033 .elementor-element.elementor-element-csu02a04{--flex-wrap:nowrap;--padding-top:48px;--padding-bottom:48px;--padding-left:48px;--padding-right:48px;}.elementor-2033 .elementor-element.elementor-element-csu02a05{--flex-wrap:nowrap;}.elementor-2033 .elementor-element.elementor-element-csu02a06 .elementor-heading-title{font-size:16px;line-height:26.24px;letter-spacing:-0.5px;}.elementor-2033 .elementor-element.elementor-element-csu02a07 .elementor-heading-title{font-size:48px;line-height:51.84px;letter-spacing:-1.9px;}.elementor-2033 .elementor-element.elementor-element-csu02a08{width:100%;max-width:100%;font-size:16px;line-height:26.24px;letter-spacing:-0.4px;}.elementor-2033 .elementor-element.elementor-element-csu02a09 .elementor-button{font-size:16px;line-height:26.24px;letter-spacing:-0.6px;}body:not(.rtl) .elementor-2033 .elementor-element.elementor-element-csu02a0b{right:20px;}body.rtl .elementor-2033 .elementor-element.elementor-element-csu02a0b{left:20px;}.elementor-2033 .elementor-element.elementor-element-csu02a0b{bottom:20px;}.elementor-2033 .elementor-element.elementor-element-csu02a0b .elementor-heading-title{font-size:14px;line-height:22.96px;letter-spacing:-0.5px;}}@media(max-width:767px){.elementor-2033 .elementor-element.elementor-element-csu02a01{--flex-wrap:nowrap;--padding-top:0px;--padding-bottom:40px;--padding-left:0px;--padding-right:0px;}.elementor-2033 .elementor-element.elementor-element-csu02a02{--content-width:100%;--min-height:720px;--flex-wrap:nowrap;--border-radius:0px 16px 0px 80px;--padding-top:64px;--padding-bottom:0px;--padding-left:24px;--padding-right:24px;}.elementor-2033 .elementor-element.elementor-element-csu02a03{--flex-wrap:nowrap;}.elementor-2033 .elementor-element.elementor-element-csu02a04{--width:100%;--flex-wrap:nowrap;--border-radius:16px 16px 16px 64px;--padding-top:24px;--padding-bottom:24px;--padding-left:24px;--padding-right:24px;}.elementor-2033 .elementor-element.elementor-element-csu02a05{--flex-wrap:nowrap;}.elementor-2033 .elementor-element.elementor-element-csu02a06 .elementor-heading-title{font-size:16px;line-height:26.24px;letter-spacing:-0.5px;}.elementor-2033 .elementor-element.elementor-element-csu02a07 .elementor-heading-title{font-size:28px;line-height:34.72px;letter-spacing:-1.5px;}.elementor-2033 .elementor-element.elementor-element-csu02a08{width:100%;max-width:100%;font-size:16px;line-height:26.24px;letter-spacing:-0.4px;}.elementor-2033 .elementor-element.elementor-element-csu02a09 .elementor-button{font-size:16px;line-height:19.84px;letter-spacing:-0.6px;}body:not(.rtl) .elementor-2033 .elementor-element.elementor-element-csu02a0b{right:16px;}body.rtl .elementor-2033 .elementor-element.elementor-element-csu02a0b{left:16px;}.elementor-2033 .elementor-element.elementor-element-csu02a0b{bottom:16px;}.elementor-2033 .elementor-element.elementor-element-csu02a0b .elementor-heading-title{font-size:14px;line-height:22.96px;letter-spacing:-0.5px;}}@media(min-width:768px){.elementor-2033 .elementor-element.elementor-element-csu02a02{--content-width:1440px;}.elementor-2033 .elementor-element.elementor-element-csu02a04{--width:968px;}.elementor-2033 .elementor-element.elementor-element-csu02a05{--width:100%;}}@media(max-width:1024px) and (min-width:768px){.elementor-2033 .elementor-element.elementor-element-csu02a02{--content-width:100%;}.elementor-2033 .elementor-element.elementor-element-csu02a04{--width:592px;}}/* Start custom CSS *//* site/page.css */
/* LP10816 page CSS (page settings › Custom CSS of each new page; printed on that page only, travels with the page).
   The kit, the theme `jrbuero` and the other pages are never touched. Elementor Pro replaces `body.elementor-page-2033` with
   `body.elementor-page-<id>`. Every name is cs- prefixed. Sections add their own rules in build/<folder>/site.css
   (scripts/site/page-css.mjs). */

/* 1. Theme reset. The theme's style.css sets on EVERY element
     body,html,*{font-size:18px;line-height:1.6;font-family:'Futura';font-weight:300;color:#7A7A7A}
   plus a{color:#7A7A7A}, a:hover{color:#558A9D}, li{list-style:none;position:relative}, strong{font-size:125%},
   html,body{overflow-x:hidden}; Bootstrap 4.3.1 adds h1–h6 / p / ul margins and weights. Without a reset, every span,
   strong, a, li and p inside a widget would show the theme's grey 18 px Futura Light instead of the widget's typography.
   Inside our page every element inherits instead. The rule has specificity (0,0,2): `:where()` counts 0 and each
   `:not(cs-x)` counts one type body.elementor-page-2033. So it beats the theme's `*` (0,0,0) and its `a`, `li`, `strong` (0,0,1), and
   loses to every Elementor class rule (0,1,0 and up): widget typography controls and Elementor's own defaults
   (button 15 px, icon sizes, swiper arrows) still win. Smoke-tested on f2e (projects/lp10816/AUDIT.md). */
body.elementor-page-2033 .elementor { font-family: 'cs-Futura', 'Futura', Arial, sans-serif; font-size: 18px; line-height: 30px; font-weight: 400; color: #383C48; }
:where(body.elementor-page-2033 .elementor) *:not(cs-a):not(cs-b) { font-family: inherit; font-size: inherit; line-height: inherit; font-weight: inherit; color: inherit; }
:where(body.elementor-page-2033 .elementor) a:hover:not(cs-a) { color: inherit; }
/* Emphasis: the design's bold runs are Futura PT Demi (500) inside Book (400) text → cs-Futura 500. A run that needs
   Bold sets weight 600 itself. */
:where(body.elementor-page-2033 .elementor) :is(strong, b):not(cs-a):not(cs-b) { font-weight: 500; }
/* Text editor content: paragraphs and lists get a plain rhythm (Bootstrap/theme margins and list-style:none removed).
   The widget's own "Paragraph spacing" control overrides this. */
:where(body.elementor-page-2033 .elementor) p:not(cs-a):not(cs-b) { margin: 0 0 1em; }
:where(body.elementor-page-2033 .elementor) :is(p, ul, ol):last-child:not(cs-a) { margin-bottom: 0; }
:where(body.elementor-page-2033 .elementor-widget-text-editor) :is(ul, ol):not(cs-a):not(cs-b) { margin: 0 0 1em; padding-left: 1.25em; }
:where(body.elementor-page-2033 .elementor-widget-text-editor) li:not(cs-a):not(cs-b) { list-style: inherit; }
/* The theme's body overflow-x:hidden makes body a scroll container and breaks position:sticky; clip does not. The body
   font is ours too, so the theme's Futura Light file is not downloaded on our page. */
body.elementor-page-2033 { overflow-x: clip; background-color: #FBFBF8; font-family: 'cs-Futura', Arial, sans-serif; font-weight: 400; color: #383C48; }

/* 2. Laptop scaling: each section root carries the CSS class cs-zoom. Built in design pixels at 1920 (content 1440);
   between 1025 and 1679 the desktop layout is zoomed. The kit's tablet breakpoint is 1024 (no kit change, PLAN.md §9),
   so the floor is .66 for 1025–1199 (body text 18 px → 11.9 px); above that the agreed table. 1680 and up 1:1. */
@media (min-width:1025px) and (max-width:1199px){ body.elementor-page-2033 .cs-zoom{zoom:.66;} body.elementor-page-2033{--cs-z:.66;} }
@media (min-width:1200px) and (max-width:1279px){ body.elementor-page-2033 .cs-zoom{zoom:.71;} body.elementor-page-2033{--cs-z:.71;} }
@media (min-width:1280px) and (max-width:1365px){ body.elementor-page-2033 .cs-zoom{zoom:.76;} body.elementor-page-2033{--cs-z:.76;} }
@media (min-width:1366px) and (max-width:1439px){ body.elementor-page-2033 .cs-zoom{zoom:.82;} body.elementor-page-2033{--cs-z:.82;} }
@media (min-width:1440px) and (max-width:1535px){ body.elementor-page-2033 .cs-zoom{zoom:.87;} body.elementor-page-2033{--cs-z:.87;} }
@media (min-width:1536px) and (max-width:1599px){ body.elementor-page-2033 .cs-zoom{zoom:.93;} body.elementor-page-2033{--cs-z:.93;} }
@media (min-width:1600px) and (max-width:1679px){ body.elementor-page-2033 .cs-zoom{zoom:.97;} body.elementor-page-2033{--cs-z:.97;} }

/* Section roots clip sideways only (rules/v4.md, Layout): glows and the background circles may reach into the
   neighbours. */
body.elementor-page-2033 .cs-zoom { overflow-x: clip; }

/* Keyboard focus (polish 2026-10-10): a clear ring on every link, button, accordion summary and range input of our page
   (the theme and Bootstrap leave links without a visible focus). Dark slate #383C48 on the light page, white on the
   photo bands (FAQ, CTA on photo) where the slate ring would vanish. Mouse clicks show nothing (:focus-visible). The
   before/after range is transparent over the photo: its pair shows the ring instead. */
body.elementor-page-2033 :is(a, button, summary, input, select, textarea, [tabindex]:not([tabindex="-1"])):focus-visible { outline: 2px solid #383C48; outline-offset: 3px; }
body.elementor-page-2033 :is(.cs-h13, .cs-u15, .cs-u11) :is(a, button, summary, [tabindex]:not([tabindex="-1"])):focus-visible { outline-color: #FFFFFF; }
body.elementor-page-2033 .cs-ba:has(input[type="range"]:focus-visible) { outline: 2px solid #383C48; outline-offset: 3px; }

/* 3. Entrances (V3 `_animation`): Elementor marks waiting elements `elementor-invisible` and adds `.animated` on entry.
   Keep them hidden while they wait (no flash before the waypoint). */
body.elementor-page-2033 .elementor-invisible { visibility: hidden; }
/* Polish 2026-10-10: visibility:hidden also took every waiting link out of the tab order (keyboard focus jumped from the
   hero CTA straight to the first link without an entrance). Waiting elements are invisible by opacity instead, so Tab
   reaches them; the browser scrolls a focused element into view, which starts its entrance; a focused one shows at
   once. */
body.elementor-page-2033 .elementor-invisible:not(cs-a) { visibility: visible; opacity: 0; }
body.elementor-page-2033 .elementor-invisible:focus-within { opacity: 1; }

/* 4. Reduced motion: entrances show at rest, no transitions, no smooth scrolling (the theme sets html smooth). */
@media (prefers-reduced-motion: reduce) {
  html:has(body.elementor-page-2033) { scroll-behavior: auto; }
  body.elementor-page-2033 .elementor-invisible { visibility: visible !important; opacity: 1 !important; }
  body.elementor-page-2033 .animated { animation: none !important; }
  body.elementor-page-2033 * { transition-duration: 0s !important; scroll-behavior: auto !important; }
}

/* build/home-01-header/site.css */
/* home 01-header (lp10816). Section CSS beyond the V3 controls; every rule under body.elementor-page-2033 .cs-h01. */

/* Sticky bar (answers 1): opaque own background (root gradient), above the page; a soft shadow fades in over the
   first 120 px of scrolling where scroll-driven animations exist (static elsewhere: no shadow at all). */
body.elementor-page-2033 .cs-h01 { position: sticky; top: 0; z-index: 100; background-image: linear-gradient(93deg, #FFFFFF 0%, #FBFBF8 100%); }
/* Content box 1440 centred at every desktop width (Figma pads 240 at 1920; laptop widths are zoomed). */
@media (min-width: 1025px) { body.elementor-page-2033 .cs-h01.cs-h01.e-con { --padding-left: max(0px, calc(50% - 720px)); --padding-right: max(0px, calc(50% - 720px)); } }
@keyframes cs-h01-shadow { from { box-shadow: 0 0 0 rgba(56,60,72,0); } to { box-shadow: 0 8px 24px rgba(56,60,72,.10); } }
@supports (animation-timeline: scroll()) {
  body.elementor-page-2033 .cs-h01 { animation: cs-h01-shadow linear both; animation-timeline: scroll(root); animation-range: 0 120px; }
}
/* Anchor jumps land below the sticky bar (116 px; phone 96 px). */
html:has(body.elementor-page-2033 .cs-h01) { scroll-padding-top: 116px; }
@media (max-width: 767px) { html:has(body.elementor-page-2033 .cs-h01) { scroll-padding-top: 96px; } }

/* Logo: hover dims slightly (link to /). */
body.elementor-page-2033 .cs-h01 .cs-h01-logo a { display: block; transition: opacity .2s ease-out; }
body.elementor-page-2033 .cs-h01 .cs-h01-logo img { display: block; }
body.elementor-page-2033 .cs-h01 .cs-h01-logo a:hover, body.elementor-page-2033 .cs-h01 .cs-h01-logo a:focus-visible { opacity: .8; }

/* Desktop menu: one row, 24 px between items, underline 2 px under the text. Elementor's clearfix pseudos are flex
   items in a flex ul; hide them. In-view anchors (Elementor marks them active) look like rest, so the hover shows. */
body.elementor-page-2033 .cs-h01 .cs-h01-nav .elementor-nav-menu--main > .elementor-nav-menu { flex-wrap: nowrap; justify-content: flex-start; gap: 24px; }
body.elementor-page-2033 .cs-h01 .cs-h01-nav .elementor-nav-menu--main > .elementor-nav-menu::before,
body.elementor-page-2033 .cs-h01 .cs-h01-nav .elementor-nav-menu--main > .elementor-nav-menu::after { display: none; }
body.elementor-page-2033 .cs-h01 .cs-h01-nav .elementor-item { white-space: nowrap; }
body.elementor-page-2033 .cs-h01 .cs-h01-nav .elementor-nav-menu--main .elementor-item::after { bottom: -2px; }
body.elementor-page-2033 .cs-h01 .cs-h01-nav .elementor-nav-menu--main .elementor-item.elementor-item-active:not(:hover):not(:focus-visible) { color: #343A40; }
body.elementor-page-2033 .cs-h01 .cs-h01-nav .elementor-nav-menu--main .elementor-item.elementor-item-active:not(:hover):not(:focus-visible)::after { opacity: 0; }

/* Burger (tablet/phone, answers 3): the word "Menu" (Figma #361A1F 18/29.52) in front of the 32 px toggle, part of
   the toggle so it opens the menu too; three 22 x 2 px lines 8 px apart as Figma (#0C2939). The dropdown is a
   full-width panel under the bar (containing block = the sticky root). */
@media (max-width: 1024px) {
  body.elementor-page-2033 .cs-h01 .cs-h01-nav, body.elementor-page-2033 .cs-h01 .cs-h01-nav > .elementor-widget-container { position: static; }
  body.elementor-page-2033 .cs-h01 .cs-h01-nav .elementor-menu-toggle { display: flex; align-items: center; justify-content: flex-start; gap: 16px; width: auto; height: 32px; padding: 0; margin: 0; cursor: pointer; transition: color .2s ease-out; }
  body.elementor-page-2033 .cs-h01 .cs-h01-nav .elementor-menu-toggle::before { content: "Menu"; order: -1; font: 400 18px/29.52px 'cs-Futura', Arial, sans-serif; color: #361A1F; white-space: nowrap; transition: color .2s ease-out; }
  body.elementor-page-2033 .cs-h01 .cs-h01-nav .elementor-menu-toggle:hover::before, body.elementor-page-2033 .cs-h01 .cs-h01-nav .elementor-menu-toggle:focus-visible::before { color: #2F6273; }
  body.elementor-page-2033 .cs-h01 .cs-h01-nav .elementor-menu-toggle > :is(svg, i) { width: 32px; height: 32px; font-size: 22px; }
  body.elementor-page-2033 .cs-h01 .cs-h01-nav .elementor-menu-toggle .elementor-menu-toggle__icon--open { width: 32px; height: 32px; fill: transparent;
    background: linear-gradient(currentColor, currentColor) 5px 7px / 22px 2px no-repeat, linear-gradient(currentColor, currentColor) 5px 15px / 22px 2px no-repeat, linear-gradient(currentColor, currentColor) 5px 23px / 22px 2px no-repeat; }
  body.elementor-page-2033 .cs-h01 .cs-h01-nav .elementor-menu-toggle .elementor-menu-toggle__icon--open path { fill: transparent; }
  body.elementor-page-2033 .cs-h01 .cs-h01-nav .elementor-menu-toggle i.elementor-menu-toggle__icon--open::before { content: none; }
  body.elementor-page-2033 .cs-h01 .cs-h01-nav nav.elementor-nav-menu--dropdown { position: absolute; top: 100%; left: 0; right: 0; margin: 0; z-index: 99; box-shadow: 0 16px 24px rgba(56,60,72,.10); }
  body.elementor-page-2033 .cs-h01 .cs-h01-nav nav.elementor-nav-menu--dropdown .elementor-item { justify-content: flex-start; }
}

/* build/home-02-hero/site.css */
/* home 02-hero (LP10816). Section CSS beyond the V3 controls; every rule under body.elementor-page-2033 .cs-h02. */

/* Light-green circle (Figma Ellipse 5) peeking out under the photo at the bottom right; behind the card. */
body.elementor-page-2033 .cs-h02 { position: relative; isolation: isolate; }
body.elementor-page-2033 .cs-h02::before { content: ""; position: absolute; z-index: 0; pointer-events: none; border-radius: 50%; opacity: .24;
  left: calc(100% - 354px); top: 892px; width: 502px; height: 502px; background: linear-gradient(180deg, #D7D285, rgba(215,210,133,0)); }
body.elementor-page-2033 .cs-h02 > .cs-hero-card { position: relative; z-index: 1; }

/* Photo layer: fills the card under the content (the card clips it to the corner shape). Its own container so the
   later empty -> half -> final animation (PM, Loom 0:29) can stack the stage images here. */
body.elementor-page-2033 .cs-h02 .cs-hero-card > .e-con-inner { position: static; }
body.elementor-page-2033 .cs-h02 .cs-hero-media { position: absolute; inset: 0; width: auto; max-width: none; z-index: 0; pointer-events: none; }
/* White glow behind the text (Figma Ellipse 1, white 24 %, layer blur 400), anchored to the content box. Peak alpha =
   Figma's 24 % (tablet 32 %); it was .8 before 2026-10-10 and washed the whole photo out (user review). */
body.elementor-page-2033 .cs-h02 .cs-hero-media::after { content: ""; position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(1100px 760px at calc(50% - 352px) 206px, rgba(255,255,255,.24) 0, rgba(255,255,255,.16) 35%, rgba(255,255,255,.05) 70%, rgba(255,255,255,0) 100%); }
/* The photo is an <img> (Image widget, LCP: fetchpriority high from WordPress, srcset) laid out like the former
   background: cover 50 % 63 % (desktop), 1173 px wide at 50 % 37 % (tablet), 937 px wide at 15.5 % / 111 px (phone).
   The glow (::after) and the phone's wall-colour fade (::before) stay above it. */
body.elementor-page-2033 .cs-h02 .cs-hero-media > .cs-hero-img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; margin: 0; z-index: 0; overflow: hidden; }
body.elementor-page-2033 .cs-h02 .cs-hero-media .cs-hero-img img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: 50% 63%; border-radius: 0; }
body.elementor-page-2033 .cs-h02 .cs-hero-media::before, body.elementor-page-2033 .cs-h02 .cs-hero-media::after { z-index: 1; }
@media (max-width: 1024px) {
  body.elementor-page-2033 .cs-h02 .cs-hero-media .cs-hero-img img { position: absolute; width: 1173px; height: 782.4px; object-fit: fill;
    left: calc((100% - 1173px) * .5); top: calc((100% - 782.4px) * .37); }
}
@media (max-width: 767px) {
  body.elementor-page-2033 .cs-h02 .cs-hero-media .cs-hero-img img { width: 937px; height: 625px; left: calc((100% - 937px) * .155); top: 111px; }
}
/* Laptop floor (zoom .66 at 1025-1199): the 16 px chip label would render at 10.6 px; keep it at 12 px. */
@media (min-width: 1025px) and (max-width: 1199px) { body.elementor-page-2033 .cs-h02 .cs-ai-chip .elementor-heading-title { font-size: 18.2px; } }
body.elementor-page-2033 .cs-h02 .cs-hero-content, body.elementor-page-2033 .cs-h02 .cs-ai-chip { position: relative; z-index: 1; }
body.elementor-page-2033 .cs-h02 .cs-ai-chip { position: absolute; display: flex; flex-direction: row; justify-content: center; gap: 16px; -webkit-backdrop-filter: blur(24px); backdrop-filter: blur(24px); white-space: nowrap; }
body.elementor-page-2033 .cs-h02 .cs-ai-chip strong { font-weight: 600; }

/* Text */
body.elementor-page-2033 .cs-h02 .elementor-heading-title { margin: 0; }
/* H1: the bold sentence starts its own line (Figma's line break), no <br>. */
body.elementor-page-2033 .cs-h02 .cs-h1 strong { display: block; }
/* Futura BT runs a few per cent wider than Futura PT: keep Figma's two lines (the first sentence may reach a little past
   the 955 / 627 column into the photo). Phone: the bold sentence breaks after "es" as in Figma. */
@media (min-width: 768px) { body.elementor-page-2033 .cs-h02 .cs-h1 .elementor-heading-title { white-space: nowrap; } }
@media (max-width: 767px) { body.elementor-page-2033 .cs-h02 .cs-h1 strong { max-width: 200px; margin-inline: auto; } }

/* CTA: label + the white arrow circle (ui-button-pfeil-kreis.svg, 1:7959, inline) as a background image; on hover the
   pill darkens (button control) and the arrow moves 4 px. */
body.elementor-page-2033 .cs-h02 .cs-cta .elementor-button { display: inline-flex; align-items: center; justify-content: center; gap: 16px; min-height: 64px; transition: background-color .2s ease-out; }
body.elementor-page-2033 .cs-h02 .cs-cta .elementor-button::after { content: ""; flex: none; width: 48px; height: 48px; background: url("data:image/svg+xml,%3Csvg width='48' height='48' viewBox='0 0 48 48' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='48' height='48' rx='24' fill='white'/%3E%3Cpath d='M15.75 24H32.25' stroke='%235F95A8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M25.5 17.25L32.25 24L25.5 30.75' stroke='%235F95A8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 48px 48px no-repeat; margin-block: -8px; transition: transform .2s ease-out; }
body.elementor-page-2033 .cs-h02 .cs-cta .elementor-button:hover::after, body.elementor-page-2033 .cs-h02 .cs-cta .elementor-button:focus-visible::after { transform: translateX(4px); }

@media (max-width: 1024px) {
  body.elementor-page-2033 .cs-h02::before { left: calc(100% - 292px); top: 475px; width: 420px; height: 420px; }
  body.elementor-page-2033 .cs-h02 .cs-hero-media::after { background: radial-gradient(720px 480px at 408px 153px, rgba(255,255,255,.32) 0, rgba(255,255,255,.2) 40%, rgba(255,255,255,.06) 75%, rgba(255,255,255,0) 100%); }
}
@media (max-width: 767px) {
  body.elementor-page-2033 .cs-h02::before { left: calc(100% - 180px); top: 480px; width: 315px; height: 315px; }
  /* Phone: the photo starts 111 px down; Figma fills the top with the wall colour #B3A59C fading out (1:1736 fill 2). */
  body.elementor-page-2033 .cs-h02 .cs-hero-media::before { content: ""; position: absolute; inset: 0; pointer-events: none;
    background: linear-gradient(180deg, #B3A59C 40.7%, rgba(179,165,156,0) 61.5%); }
  body.elementor-page-2033 .cs-h02 .cs-hero-media::after { background: radial-gradient(960px 760px at 50% 158px, rgba(255,255,255,.7) 0, rgba(255,255,255,.6) 30%, rgba(255,255,255,.2) 70%, rgba(255,255,255,0) 100%); }
}

/* Load entrance (user 2026-10-10: "a little touch"): CSS only, plays once on page load, no JS hiding, so the LCP photo is
   never held back. Photo settles from 1.04 scale; eyebrow, H1, text, CTA fade up 16 px one after another; chip last. */
@media (prefers-reduced-motion: no-preference) {
  @keyframes cs-h02-up { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
  @keyframes cs-h02-settle { from { transform: scale(1.04); } to { transform: none; } }
  body.elementor-page-2033 .cs-h02 .cs-hero-media .cs-hero-img img { animation: cs-h02-settle 1.8s cubic-bezier(.22,.61,.36,1) both; }
  body.elementor-page-2033 .cs-h02 .elementor-element-csh02a06, body.elementor-page-2033 .cs-h02 .elementor-element-csh02a07, body.elementor-page-2033 .cs-h02 .elementor-element-csh02a08,
  body.elementor-page-2033 .cs-h02 .elementor-element-csh02a09, body.elementor-page-2033 .cs-h02 .elementor-element-csh02a0b { animation: cs-h02-up .7s cubic-bezier(.22,.61,.36,1) both; }
  body.elementor-page-2033 .cs-h02 .elementor-element-csh02a06 { animation-delay: .1s; }
  body.elementor-page-2033 .cs-h02 .elementor-element-csh02a07 { animation-delay: .2s; }
  body.elementor-page-2033 .cs-h02 .elementor-element-csh02a08 { animation-delay: .35s; }
  body.elementor-page-2033 .cs-h02 .elementor-element-csh02a09 { animation-delay: .5s; }
  body.elementor-page-2033 .cs-h02 .elementor-element-csh02a0b { animation-delay: .8s; }
}

/* build/home-03-intro-stats/site.css */
/* home 03-intro-stats (LP10816). Section CSS beyond the V3 controls; every rule under body.elementor-page-2033 .cs-h03. */

body.elementor-page-2033 .cs-h03 .elementor-heading-title { margin: 0; }
body.elementor-page-2033 .cs-h03 .animated { animation-duration: .6s; }
body.elementor-page-2033 .cs-h03 > .cs-h03-script { position: absolute; width: 0; height: 0; overflow: hidden; }

/* Intro statement: the bold sentence starts its own line on desktop/tablet (Figma's line separator), inline on phones. */
body.elementor-page-2033 .cs-h03 .cs-intro-h2 strong { display: block; }
@media (max-width: 767px) { body.elementor-page-2033 .cs-h03 .cs-intro-h2 strong { display: inline; } }

/* Illustration + points + paragraph: one grid, three layouts (desktop: illustration left over two rows; tablet: the
   paragraph centred under both columns; phone: points, illustration, paragraph). */
body.elementor-page-2033 .cs-h03 .cs-intro-grid { display: grid; grid-template-columns: 710px 505px; column-gap: 104px; row-gap: 32px;
  grid-template-areas: "illu points" "illu text"; justify-content: start; align-items: start; }
body.elementor-page-2033 .cs-h03 .cs-intro-grid > .cs-illu { grid-area: illu; }
body.elementor-page-2033 .cs-h03 .cs-intro-grid > .cs-points { grid-area: points; margin-top: 32px; }
body.elementor-page-2033 .cs-h03 .cs-intro-grid > .cs-intro-text { grid-area: text; }
/* Point text takes the rest of the row (Elementor's grow sets shrink 0, so it would be 100 % wide). */
body.elementor-page-2033 .cs-h03 .cs-point > .elementor-widget-text-editor { flex: 1 1 0; min-width: 0; }
body.elementor-page-2033 .cs-h03 .cs-illu img { display: block; width: 100%; height: auto; }
/* The closing sentence of the paragraph on its own line (Figma's hard break). */
body.elementor-page-2033 .cs-h03 .cs-intro-text strong { display: block; }

/* Point icons: circle with the Figma shadow and the 2.5 px gradient outer ring (OUTSIDE stroke; the SVG's ring lies
   outside its viewBox); the set's hover icon (attachments 1721 / 1718) is a background on ::after above the <img> and cross-fades in on hovering the point (PM Loom 0:22),
   with a small scale (R-icon-hover-scale). */
body.elementor-page-2033 .cs-h03 .cs-icon { position: relative; width: 80px; height: 80px; border-radius: 100px; overflow: visible;
  box-shadow: 12px 12px 24px rgba(56,60,72,.16); transition: transform .2s ease-out; }
/* width/height auto: Elementor's .e-con::before sets height/width 100 %, which made the ring 2.5 px on the top/left only
   (polish 2026-10-10). */
body.elementor-page-2033 .cs-h03 .cs-icon::before { content: ""; position: absolute; inset: -2.5px; width: auto; height: auto; border-radius: 50%; z-index: 0;
  background: linear-gradient(139deg, #827D2A 0%, #5F95A8 80%); }
body.elementor-page-2033 .cs-h03 .cs-icon > .elementor-widget { position: absolute; inset: 0; z-index: 1; width: 80px; margin: 0; }
body.elementor-page-2033 .cs-h03 .cs-icon img { display: block; width: 80px; height: 80px; border-radius: 50%; }
body.elementor-page-2033 .cs-h03 .cs-icon::after { content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none; opacity: 0;
  border-radius: 50%; background: var(--cs-icon-hover) center / 80px 80px no-repeat; transition: opacity .2s ease-out; }
body.elementor-page-2033 .cs-h03 .cs-icon-13 { --cs-icon-hover: url("/wp-content/uploads/2026/10/icon-set-13-hover.svg"); }
body.elementor-page-2033 .cs-h03 .cs-icon-10 { --cs-icon-hover: url("/wp-content/uploads/2026/10/icon-set-10-hover.svg"); }
body.elementor-page-2033 .cs-h03 .cs-point:hover .cs-icon { transform: scale(1.06); }
body.elementor-page-2033 .cs-h03 .cs-point:hover .cs-icon::after { opacity: 1; }

/* Stats band: soft white glows behind each stat (Figma ellipses 445 x 214, white 64 %, layer blur 148). */
body.elementor-page-2033 .cs-h03 .cs-stats-row { position: relative; }
body.elementor-page-2033 .cs-h03 .cs-stat { position: relative; isolation: isolate; }
body.elementor-page-2033 .cs-h03 .cs-stat::before { content: ""; position: absolute; z-index: -1; pointer-events: none; left: var(--cs-glow-x, -53px); top: -46px;
  width: 445px; height: 214px; border-radius: 50%; background: rgba(255,255,255,.64); filter: blur(74px); }
/* Number line: 80 px box (Figma), content centred; "SEIT" smaller, uppercase, blue; the "+" Book in blue. */
/* Glow x per column (Figma spaces the ellipses 367 px apart, the columns 360 / 224 px). */
body.elementor-page-2033 .cs-h03 .cs-stat:nth-child(2) { --cs-glow-x: -46px; } body.elementor-page-2033 .cs-h03 .cs-stat:nth-child(3) { --cs-glow-x: -39px; } body.elementor-page-2033 .cs-h03 .cs-stat:nth-child(4) { --cs-glow-x: -32px; }
body.elementor-page-2033 .cs-h03 .cs-stat-num .elementor-heading-title { min-height: 80px; display: flex; align-items: center; justify-content: center; }
body.elementor-page-2033 .cs-h03 .cs-stat-num .elementor-heading-title { align-items: baseline; }
body.elementor-page-2033 .cs-h03 .cs-seit { font-size: 40px; line-height: 43.2px; letter-spacing: -0.8px; text-transform: uppercase; color: #5F95A8; margin-right: .3em; }
body.elementor-page-2033 .cs-h03 .cs-counter .elementor-counter-number-wrapper { min-height: 80px; font-variant-numeric: tabular-nums; }
body.elementor-page-2033 .cs-h03 .cs-counter .elementor-counter-number-suffix { font-weight: 400; color: #5F95A8; }
body.elementor-page-2033 .cs-h03 .cs-l2 { display: block; }

/* CTA: label + the white arrow circle (ui-button-pfeil-kreis, 1:8457; arrow #343A40 as in this frame) as a background
   image; on hover the pill darkens (button control) and the arrow moves 4 px. Same pattern as 02-hero. */
body.elementor-page-2033 .cs-h03 .cs-cta .elementor-button { display: inline-flex; align-items: center; justify-content: center; gap: 16px; min-height: 64px; transition: background-color .2s ease-out; }
body.elementor-page-2033 .cs-h03 .cs-cta .elementor-button::after { content: ""; flex: none; width: 48px; height: 48px; background: url("data:image/svg+xml,%3Csvg width='48' height='48' viewBox='0 0 48 48' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='48' height='48' rx='24' fill='white'/%3E%3Cpath d='M15.75 24H32.25' stroke='%23343A40' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M25.5 17.25L32.25 24L25.5 30.75' stroke='%23343A40' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 48px 48px no-repeat; margin-block: -8px; transition: transform .2s ease-out; }
body.elementor-page-2033 .cs-h03 .cs-cta .elementor-button:hover::after, body.elementor-page-2033 .cs-h03 .cs-cta .elementor-button:focus-visible::after { transform: translateX(4px); }

@media (max-width: 1024px) {
  body.elementor-page-2033 .cs-h03 .cs-intro-grid { grid-template-columns: 424px 424px; column-gap: 48px; row-gap: 48px; justify-content: center;
    grid-template-areas: "illu points" "text text"; }
  body.elementor-page-2033 .cs-h03 .cs-intro-grid > .cs-illu { align-self: center; }
  body.elementor-page-2033 .cs-h03 .cs-intro-grid > .cs-points { margin-top: 0; align-self: center; }
  body.elementor-page-2033 .cs-h03 .cs-intro-grid > .cs-intro-text { justify-self: center; width: 580px; max-width: 100%; }
  body.elementor-page-2033 .cs-h03 .cs-stat-num .elementor-heading-title, body.elementor-page-2033 .cs-h03 .cs-counter .elementor-counter-number-wrapper { min-height: 64px; }
  body.elementor-page-2033 .cs-h03 .cs-seit { font-size: 26px; line-height: 28.08px; letter-spacing: -0.52px; }
  body.elementor-page-2033 .cs-h03 .cs-stat:nth-child(2) { --cs-glow-x: 90px; } body.elementor-page-2033 .cs-h03 .cs-stat:nth-child(3) { --cs-glow-x: 233px; } body.elementor-page-2033 .cs-h03 .cs-stat:nth-child(4) { --cs-glow-x: 376px; }
}
@media (max-width: 767px) {
  body.elementor-page-2033 .cs-h03 .cs-intro-grid { grid-template-columns: 100%; grid-template-areas: "points" "illu" "text"; }
  body.elementor-page-2033 .cs-h03 .cs-intro-grid > .cs-intro-text { width: 100%; }
  /* Phone: Figma keeps the four glows in one row, so only the first one shows (behind "SEIT 1987"). */
  body.elementor-page-2033 .cs-h03 .cs-stat:not(:first-child)::before { display: none; }
}

/* build/home-04-testimonials/site.css */
/* home 04-testimonials (LP10816). Section CSS beyond the V3 controls; every rule under body.elementor-page-2033 .cs-h04.
   Reused by unternehmen 06-testimonials (copy with its own class). */

/* Background: light-blue circle top left (Ellipse 8, ::before); light-green circle + JR signet ring bottom right
   (Ellipse 9 + Group 1, ::after; reaches below this band into 05 as in Figma). */
body.elementor-page-2033 .cs-h04 { position: relative; isolation: isolate; }
body.elementor-page-2033 .cs-h04::before, body.elementor-page-2033 .cs-h04::after { content: ""; position: absolute; z-index: 0; pointer-events: none; }
body.elementor-page-2033 .cs-h04::before { left: 39px; top: 7px; width: 431px; height: 431px; border-radius: 50%; opacity: .24;
  background: linear-gradient(180deg, #BCD2DA 0%, rgba(188,210,218,0) 50%); }
body.elementor-page-2033 .cs-h04::after { right: -95px; top: 529px; width: 524px; height: 524px;
  background: url("/wp-content/uploads/2026/10/deko-jr-ring.svg") 32px 32px / 461px 461px no-repeat,
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23D7D285' stop-opacity='.24'/%3E%3Cstop offset='.5' stop-color='%23D7D285' stop-opacity='0'/%3E%3C/linearGradient%3E%3C/defs%3E%3Ccircle cx='50' cy='50' r='50' fill='url(%23g)'/%3E%3C/svg%3E") 0 0 / 100% 100% no-repeat; }
body.elementor-page-2033 .cs-h04 > .e-con-inner { position: relative; z-index: 1; }

body.elementor-page-2033 .cs-h04 .elementor-heading-title { margin: 0; }
body.elementor-page-2033 .cs-h04 .cs-script { position: absolute; width: 0; height: 0; overflow: hidden; }
body.elementor-page-2033 .cs-h04 .cs-h2 strong { font-weight: 500; }
body.elementor-page-2033 .cs-h04 .animated { animation-duration: .6s; }

/* Slider: the swiper clips its slides; extra room around them (cancelled by negative margins) keeps the quote marks
   (top left, outside the card) and the bubble tails (below) visible. */
body.elementor-page-2033 .cs-h04 .cs-carousel .e-n-carousel { padding: 32px 8px 72px; margin: -32px -8px -72px; }
/* Equal bubbles (Figma's three bubbles are the same height): slides stretch, the card fills its slide. */
body.elementor-page-2033 .cs-h04 .cs-carousel .swiper-wrapper { align-items: stretch; }
body.elementor-page-2033 .cs-h04 .cs-carousel .swiper-slide { height: auto; display: flex; flex-direction: column; }
body.elementor-page-2033 .cs-h04 .cs-carousel .swiper-slide > .cs-card { flex: 1 1 auto; }
/* Loop copies are made after Elementor's entrance setup: show them at rest (lp10849 05). */
body.elementor-page-2033 .cs-h04 .swiper-slide-duplicate .elementor-invisible { visibility: visible; }

/* Card = speech bubble: white fade fill; gradient outline as a masked ring (::before) that leaves the top-left corner
   free for the quote mark; tail (Figma path) as an SVG on ::after that also covers the outline where the tail opens.
   Desktop: the card is Figma's 310 px frame, the bubble (1:8054) reaches 16 px further down: ring and tail are offset,
   the fill continues as a white shadow (the fill is pure white there). */
body.elementor-page-2033 .cs-h04 .cs-card { position: relative; overflow: visible; --cs-over: 16px;
  background: linear-gradient(129deg, rgba(255,255,255,0) 0%, #FFFFFF 50%); box-shadow: 0 var(--cs-over) 0 0 #FFFFFF; }
body.elementor-page-2033 .cs-h04 .cs-card::before { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: calc(100% + var(--cs-over)); z-index: 0; pointer-events: none;
  padding: 3px; border-radius: inherit; background: linear-gradient(145deg, #827D2A 0%, #5F95A8 84%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
  clip-path: polygon(65px 0, 100% 0, 100% 100%, 0 100%, 0 36px, 65px 36px); }
body.elementor-page-2033 .cs-h04 .cs-card::after { content: ""; position: absolute; z-index: 0; pointer-events: none;
  right: 76px; top: calc(100% + var(--cs-over) - 6px); width: 86px; height: 52px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='302 320 86 52'%3E%3Crect x='307' y='322' width='76.5' height='4.5' fill='%23fff'/%3E%3Cpath d='M306 324.22C315.665 324.22 323.5 332.055 323.5 341.72V364.19C323.5 368.125 328.195 370.165 331.071 367.479L372.365 328.928C375.606 325.902 379.874 324.22 384.308 324.22' fill='%23fff' stroke='%235F95A8' stroke-width='3'/%3E%3C/svg%3E") 0 0 / 100% 100% no-repeat; }
body.elementor-page-2033 .cs-h04 .cs-card > .elementor-element { position: relative; z-index: 1; }
body.elementor-page-2033 .cs-h04 .cs-card > .elementor-element.cs-mark { position: absolute; z-index: 2; }
body.elementor-page-2033 .cs-h04 .cs-mark img { display: block; height: auto; }

/* Quotes: Figma truncates them at the end (5 / 8 / 7 lines); the whole quote stays in the DOM. */
body.elementor-page-2033 .cs-h04 .cs-quote p, body.elementor-page-2033 .cs-h04 .cs-pos p { margin: 0; }
body.elementor-page-2033 .cs-h04 .cs-quote { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 5; line-clamp: 5; overflow: hidden; }
body.elementor-page-2033 .cs-h04 .cs-quote p { display: inline; }
body.elementor-page-2033 .cs-h04 .cs-quote p + p::before { content: " "; }
body.elementor-page-2033 .cs-h04 .cs-pos strong { display: block; font-weight: 500; }

/* Arrows (1:8129 zurück #F7F6F1, 1:8134 weiter #5F95A8, 64 px): Elementor inlines the SVG icons; desktop at the sides
   (104 px outside the 1440 box, 131 px below the cards' top). Hover: zurück turns blue with a white glyph, weiter darkens. */
body.elementor-page-2033 .cs-h04 .cs-carousel .elementor-swiper-button { position: absolute; top: 131px; bottom: auto; transform: none;
  box-sizing: border-box; width: 64px; height: 64px; margin: 0; padding: 24px; gap: 8px; border-radius: 100px; overflow: hidden;
  cursor: pointer; display: flex; flex-direction: row; align-items: center; justify-content: center;
  background-color: #F7F6F1; transition: background-color .2s ease-out; }
body.elementor-page-2033 .cs-h04 .cs-carousel .elementor-swiper-button-next { background-color: #F7F6F1; }
body.elementor-page-2033 .cs-h04 .cs-carousel .elementor-swiper-button-prev { left: -104px; right: auto; }
body.elementor-page-2033 .cs-h04 .cs-carousel .elementor-swiper-button-next { right: -104px; left: auto; }
/* The icon SVG (64 x 64 with its own circle): the circle is hidden, the 24 px glyph shows in the padded button. */
body.elementor-page-2033 .cs-h04 .cs-carousel .elementor-swiper-button svg { flex: none; width: 64px; height: 64px; margin: -20px; display: block; fill: none; }
body.elementor-page-2033 .cs-h04 .cs-carousel .elementor-swiper-button svg > rect { display: none; }
body.elementor-page-2033 .cs-h04 .cs-carousel .elementor-swiper-button svg path { transition: stroke .2s ease-out; }
body.elementor-page-2033 .cs-h04 .cs-carousel .elementor-swiper-button-prev:hover { background-color: #5F95A8; }
body.elementor-page-2033 .cs-h04 .cs-carousel .elementor-swiper-button-prev:hover svg path { stroke: #FFFFFF; }
body.elementor-page-2033 .cs-h04 .cs-carousel .elementor-swiper-button-next svg path { stroke: #383C48; }
body.elementor-page-2033 .cs-h04 .cs-carousel .elementor-swiper-button-next:hover { background-color: #5F95A8; }
body.elementor-page-2033 .cs-h04 .cs-carousel .elementor-swiper-button-next:hover svg path { stroke: #FFFFFF; }
/* 2026-10-10 user review: both arrows rest light (#F7F6F1, dark glyph); only the hovered one turns blue. */
body.elementor-page-2033 .cs-h04 .cs-carousel .elementor-swiper-button:focus-visible { outline: 3px solid #4A7C8E; outline-offset: 3px; }

@media (prefers-reduced-motion: no-preference) {
  /* R-icon-hover-scale: the arrow glyph grows on hover; the quote mark grows while its card is hovered. */
  body.elementor-page-2033 .cs-h04 .cs-carousel .elementor-swiper-button svg g { transform-box: fill-box; transform-origin: center; transition: transform .2s ease-out; }
  body.elementor-page-2033 .cs-h04 .cs-carousel .elementor-swiper-button:hover svg g { transform: scale(1.1); }
  body.elementor-page-2033 .cs-h04 .cs-mark img { transform-origin: 30% 70%; transition: transform .2s ease-out; }
  body.elementor-page-2033 .cs-h04 .cs-card:hover .cs-mark img { transform: scale(1.06); }
}

@media (max-width: 1024px) {
  body.elementor-page-2033 .cs-h04::before { left: -111px; top: 10px; width: 319px; height: 319px; }
  body.elementor-page-2033 .cs-h04::after { right: -127px; top: 595px; width: 343px; height: 343px;
    background-position: 20px 21px, 0 0; background-size: 302px 302px, 100% 100%; }
  body.elementor-page-2033 .cs-h04 .cs-card { --cs-over: 0px; box-shadow: none; }
  body.elementor-page-2033 .cs-h04 .cs-card::before { clip-path: polygon(55px 0, 100% 0, 100% 100%, 0 100%, 0 32px, 55px 32px); }
  body.elementor-page-2033 .cs-h04 .cs-card::after { right: 26px; top: calc(100% - 5.72px); width: 76px; height: 44px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='180 378 76 44'%3E%3Crect x='185' y='380' width='66.5' height='4.5' fill='%23fff'/%3E%3Cpath d='M184 382.22C193.665 382.22 201.5 390.055 201.5 399.72V412.336C201.5 416.254 206.16 418.3 209.045 415.648L240.394 386.836C243.623 383.868 247.85 382.22 252.236 382.22' fill='%23fff' stroke='%235F95A8' stroke-width='3'/%3E%3C/svg%3E"); }
  body.elementor-page-2033 .cs-h04 .cs-quote { -webkit-line-clamp: 8; line-clamp: 8; }
  body.elementor-page-2033 .cs-h04 .cs-carousel .elementor-swiper-button { top: 160px; }
  body.elementor-page-2033 .cs-h04 .cs-carousel .elementor-swiper-button-prev { left: -40px; }
  body.elementor-page-2033 .cs-h04 .cs-carousel .elementor-swiper-button-next { right: -40px; }
}
@media (max-width: 767px) {
  body.elementor-page-2033 .cs-h04::before { left: -86px; top: 86px; width: 182px; height: 182px; }
  body.elementor-page-2033 .cs-h04::after { right: -58px; top: 627px; width: 206px; height: 206px;
    background-position: 12px 12px, 0 0; background-size: 181px 181px, 100% 100%; }
  /* Phone: the bold run on its own line (Figma's break). */
  body.elementor-page-2033 .cs-h04 .cs-h2 strong { display: block; }
  body.elementor-page-2033 .cs-h04 .cs-quote { -webkit-line-clamp: 7; line-clamp: 7; }
  /* Arrows centred under the card, 64 px below it, 16 px apart. */
  body.elementor-page-2033 .cs-h04 .cs-carousel { padding-bottom: 128px; }
  body.elementor-page-2033 .cs-h04 .cs-carousel .elementor-swiper-button { top: auto; bottom: 0; }
  body.elementor-page-2033 .cs-h04 .cs-carousel .elementor-swiper-button-prev { left: calc(50% - 72px); }
  body.elementor-page-2033 .cs-h04 .cs-carousel .elementor-swiper-button-next { right: auto; left: calc(50% + 8px); }
}

/* Laptop floor (zoom .66 at 1025-1199): name and position stay at >= 12 px rendered (BRIEF). */
@media (min-width: 1025px) and (max-width: 1199px) {
  body.elementor-page-2033 .cs-h04 .cs-card .elementor-heading-title, body.elementor-page-2033 .cs-h04 .cs-pos p { font-size: 18.2px; letter-spacing: 0; }
}

/* build/home-05-deadline/site.css */
/* home 05-deadline (LP10816). Section CSS beyond the V3 controls; every rule under body.elementor-page-2033 .cs-h05. */

/* Cream panel (Figma 1:8012 / 1:110 / 1:2183): #F7F6F1, solid in the top half, fading out in the bottom half; 1050 px tall,
   so it reaches 397 / 483 / 184 px into 06 (06 does not draw it again). Rounded top right (the 04 ring shows there). */
body.elementor-page-2033 .cs-h05 { position: relative; isolation: isolate; }
body.elementor-page-2033 .cs-h05::before { content: ""; position: absolute; z-index: -1; pointer-events: none; left: 0; right: 0; top: 17px;
  height: 1050px; border-radius: 0 280px 0 48px; background: linear-gradient(180deg, #F7F6F1 50%, rgba(247,246,241,0) 100%); }

body.elementor-page-2033 .cs-h05 .elementor-heading-title { margin: 0; }
body.elementor-page-2033 .cs-h05 .animated { animation-duration: .6s; }
/* Shorter travel than animate.css's 100 % for the illustration's fly-in from the right (PM Loom 1:10–1:17). */
@keyframes cs-h05-in-right { from { opacity: 0; transform: translate3d(80px, 0, 0); } to { opacity: 1; transform: none; } }
body.elementor-page-2033 .cs-h05 .cs-h05-illu.animated.fadeInRight { animation-name: cs-h05-in-right; }

/* "Nacken sitzt…" on its own line (desktop, phone), inline on tablet. */
body.elementor-page-2033 .cs-h05 .cs-h05-h2 strong { display: block; }
/* Paragraphs: one empty line between them (Figma's double line separator). */
body.elementor-page-2033 .cs-h05 .cs-h05-text p { margin: 0; }
body.elementor-page-2033 .cs-h05 .cs-h05-text p + p { margin-top: 1.64em; }
body.elementor-page-2033 .cs-h05 .cs-h05-illu img { display: block; width: 100%; height: auto; }

/* One grid, three layouts. Desktop: heading + text left (591), illustration right (860, reaches 59 px past the content
   edge as in Figma), text block centred against the illustration. */
body.elementor-page-2033 .cs-h05 .cs-h05-grid { display: grid; grid-template-columns: 591px 860px; column-gap: 48px; row-gap: 0;
  grid-template-rows: 1fr auto auto 1fr; grid-template-areas: ". illu" "h illu" "t illu" ". illu"; justify-content: start; }
body.elementor-page-2033 .cs-h05 .cs-h05-grid > .cs-h05-h2 { grid-area: h; margin-bottom: 32px; }
body.elementor-page-2033 .cs-h05 .cs-h05-grid > .cs-h05-text { grid-area: t; }
body.elementor-page-2033 .cs-h05 .cs-h05-grid > .cs-h05-illu { grid-area: illu; width: 860px; }

@media (max-width: 1024px) {
  body.elementor-page-2033 .cs-h05::before { top: 0; border-radius: 0 164px 0 32px; }
  body.elementor-page-2033 .cs-h05 .cs-h05-h2 strong { display: inline; }
  /* Tablet: heading centred above; text 440 left, illustration 569 right-aligned, overlapping the text column's
     right edge by 114 px (its left part is empty space in the SVG), both centred in the row. */
  body.elementor-page-2033 .cs-h05 .cs-h05-grid { grid-template-columns: 440px minmax(0, 1fr); column-gap: 0; row-gap: 40px;
    grid-template-rows: auto auto; grid-template-areas: "h h" "t illu"; align-items: center; }
  body.elementor-page-2033 .cs-h05 .cs-h05-grid > .cs-h05-h2 { margin-bottom: 0; justify-self: center; width: 744px; max-width: 100%; }
  body.elementor-page-2033 .cs-h05 .cs-h05-grid > .cs-h05-text { position: relative; z-index: 1; }
  body.elementor-page-2033 .cs-h05 .cs-h05-grid > .cs-h05-illu { width: 569px; max-width: none; justify-self: end; }
  /* Figma redraws the illustration per frame (tablet without the plant and the small gear, phone recomposed): the frame's
     own export (attachments 1955 / 1956) replaces the desktop SVG in the same <img> (no second element). */
  body.elementor-page-2033 .cs-h05 .cs-h05-illu img { content: url("/wp-content/uploads/2026/10/illu-deadline-tablet.svg"); }
}
@media (max-width: 767px) {
  body.elementor-page-2033 .cs-h05::before { border-radius: 0 80px 0 16px; }
  body.elementor-page-2033 .cs-h05 .cs-h05-h2 strong { display: block; }
  body.elementor-page-2033 .cs-h05 .cs-h05-grid { grid-template-columns: minmax(0, 1fr); row-gap: 32px; grid-template-areas: "h" "t" "illu"; }
  body.elementor-page-2033 .cs-h05 .cs-h05-grid > .cs-h05-h2 { justify-self: stretch; width: auto; }
  body.elementor-page-2033 .cs-h05 .cs-h05-grid > .cs-h05-illu { width: 100%; max-width: 342px; justify-self: center; }
  body.elementor-page-2033 .cs-h05 .cs-h05-illu img { content: url("/wp-content/uploads/2026/10/illu-deadline-phone.svg"); }
}

/* build/home-06-one-partner/site.css */
/* home 06-one-partner (LP10816). Section CSS beyond the V3 controls; every rule under body.elementor-page-2033 .cs-h06.
   The root stays transparent: 05's cream panel (its root ::before) reaches into this band. */

/* Background shapes (decorative, no DOM), one layer on root ::before (top −40 px for the phone's Ellipse 15 above the
   band). Top to bottom: Ellipse 10 (1200, light-green glow behind the illustration), Ellipse 15 (light blue, right),
   Group 2 (JR ring, deko-jr-ring.svg recoloured #BCD2DA), Ellipse 11 (light blue, left). Gradients: Figma top → 0 at
   50 % (blue) / 32.6 % (green), layer opacity .24. Desktop x from the centre (calc(50% + d): d = the shape's left edge from the centre + half its size). */
body.elementor-page-2033 .cs-h06 { position: relative; isolation: isolate;
  --cs-blue-c: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23BCD2DA' stop-opacity='.24'/%3E%3Cstop offset='.5' stop-color='%23BCD2DA' stop-opacity='0'/%3E%3C/linearGradient%3E%3C/defs%3E%3Ccircle cx='50' cy='50' r='50' fill='url(%23g)'/%3E%3C/svg%3E");
  --cs-green-c: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23D7D285' stop-opacity='.24'/%3E%3Cstop offset='.326' stop-color='%23D7D285' stop-opacity='0'/%3E%3C/linearGradient%3E%3C/defs%3E%3Ccircle cx='50' cy='50' r='50' fill='url(%23g)'/%3E%3C/svg%3E");
  --cs-ring: url("data:image/svg+xml,%3Csvg viewBox='0 0 461 461' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg opacity='0.24'%3E%3Cpath d='M197.57 285.381V153.667H219.522V285.381C219.522 333.877 180.208 373.191 131.713 373.191V351.238C168.084 351.238 197.57 321.753 197.57 285.381Z' fill='%23BCD2DA'/%3E%3Cpath d='M263.43 181.107L263.43 268.917L241.478 268.917L241.478 181.107C241.478 132.611 280.791 93.2977 329.287 93.2977L329.287 115.25C292.915 115.25 263.43 144.735 263.43 181.107Z' fill='%23BCD2DA'/%3E%3Cpath d='M439.048 230.5C439.048 115.322 345.678 21.9524 230.5 21.9524C115.322 21.9524 21.9524 115.322 21.9524 230.5C21.9524 345.678 115.322 439.048 230.5 439.048V461C103.198 461 0 357.802 0 230.5C0 103.198 103.198 0 230.5 0C357.802 0 461 103.198 461 230.5C461 357.802 357.802 461 230.5 461V439.048C345.678 439.048 439.048 345.678 439.048 230.5Z' fill='%23BCD2DA'/%3E%3C/g%3E%3C/svg%3E"); }
body.elementor-page-2033 .cs-h06::before { content: ""; position: absolute; z-index: -1; pointer-events: none; left: 0; right: 0; top: -40px; bottom: 0;
  background: var(--cs-green-c) 50% 265px / 1200px 1200px no-repeat,
    var(--cs-blue-c) calc(50% + 628px) 123px / 200px 200px no-repeat,
    var(--cs-ring) calc(50% - 458px) 294px / 240px 240px no-repeat,
    var(--cs-blue-c) calc(50% - 458px) 249px / 330px 330px no-repeat; }

body.elementor-page-2033 .cs-h06 .elementor-heading-title { margin: 0; }
body.elementor-page-2033 .cs-h06 .cs-h06-intro p, body.elementor-page-2033 .cs-h06 .cs-hc-body p { margin: 0; }
body.elementor-page-2033 .cs-h06 .cs-h06-illu img { display: block; width: 100%; height: auto; }
body.elementor-page-2033 .cs-h06 .animated { animation-duration: .6s; }
/* The cards overlap the illustration's bottom (20 / 20 / 13 px): above the (transformed) illustration. */
body.elementor-page-2033 .cs-h06 .cs-hc-grid { position: relative; z-index: 1; }

/* ---------- Hover cards (cs-hc*; reused on unternehmen 04 / 08 with that section's class) ----------
   Card = container .cs-hc (tabindex 0) > icon .cs-hc-icon + .cs-hc-text (title .cs-hc-title, body .cs-hc-body).
   Default (tablet, phone, touch screens): open and white, as the tablet / phone frames. */
body.elementor-page-2033 .cs-h06 .cs-hc { transition: background-color .3s ease-out, box-shadow .3s ease-out, gap .35s ease-out; }
body.elementor-page-2033 .cs-h06 .cs-hc:focus-visible { outline: 3px solid #4A7C8E; outline-offset: 3px; }
/* Icon circle: the file's 2.5 px outer ring is half clipped by its viewBox; drawn here as a gradient border (03's ring). */
body.elementor-page-2033 .cs-h06 .cs-hc-icon img { display: block; height: auto; box-sizing: content-box; border-radius: 50%; border: 2.5px solid transparent;
  background: linear-gradient(#FBFBF8, #FBFBF8) padding-box, linear-gradient(139deg, #827D2A 0%, #5F95A8 80%) border-box;
  box-shadow: 12px 12px 24px rgba(56,60,72,.16);
  transition: width .35s ease-out; }
body.elementor-page-2033 .cs-h06 .cs-hc-title .elementor-heading-title, body.elementor-page-2033 .cs-h06 .cs-hc-body { transition: color .3s ease-out; }
body.elementor-page-2033 .cs-h06 .cs-hc-title { margin-bottom: 8px; transition: margin .35s ease-out; }
body.elementor-page-2033 .cs-h06 .cs-hc-body { display: grid; grid-template-rows: 1fr; transition: grid-template-rows .35s ease-out, opacity .3s ease-out, color .3s ease-out; }
body.elementor-page-2033 .cs-h06 .cs-hc-body > * { min-height: 0; overflow: hidden; }

/* Hover colour wherever a real pointer hovers (Figma's highlighted card: #5F95A8, white text, shadow). */
@media (hover: hover) {
  body.elementor-page-2033 .cs-h06 .cs-hc:hover, body.elementor-page-2033 .cs-h06 .cs-hc:focus-within { background-color: #5F95A8; box-shadow: 12px 12px 32px -8px rgba(56,60,72,.24); }
  body.elementor-page-2033 .cs-h06 .cs-hc:hover .cs-hc-title .elementor-heading-title, body.elementor-page-2033 .cs-h06 .cs-hc:focus-within .cs-hc-title .elementor-heading-title,
  body.elementor-page-2033 .cs-h06 .cs-hc:hover .cs-hc-body, body.elementor-page-2033 .cs-h06 .cs-hc:focus-within .cs-hc-body { color: #FFFFFF; }
}
/* Desktop with a hover pointer: the long text is folded at rest and folds out on hover / keyboard focus; the icon shrinks
   128 → 80 and the gap 32 → 24 (Figma's hover card). The grid row keeps 386 px, so an opened card that is taller grows
   down over the 48 px gap without moving the page. */
@media (min-width: 1025px) and (hover: hover) {
  body.elementor-page-2033 .cs-h06 .cs-hc-grid .swiper-wrapper { grid-auto-rows: 386px; }
  /* An opened card taller than the row grows equally up (over the illustration's foot) and down (into the gap). */
  body.elementor-page-2033 .cs-h06 .cs-hc-grid .swiper-slide { justify-content: center; }
  body.elementor-page-2033 .cs-h06 .cs-hc-grid .swiper-slide > .cs-hc { flex: 0 0 auto; }
  body.elementor-page-2033 .cs-h06 .cs-hc:hover, body.elementor-page-2033 .cs-h06 .cs-hc:focus-within { position: relative; z-index: 2; }
  body.elementor-page-2033 .cs-h06 .cs-hc-title { margin-bottom: 0; }
  body.elementor-page-2033 .cs-h06 .cs-hc-body { grid-template-rows: 0fr; opacity: 0; }
  body.elementor-page-2033 .cs-h06 .cs-hc:hover, body.elementor-page-2033 .cs-h06 .cs-hc:focus-within { gap: 24px; }
  body.elementor-page-2033 .cs-h06 .cs-hc:hover .cs-hc-icon img, body.elementor-page-2033 .cs-h06 .cs-hc:focus-within .cs-hc-icon img { width: 80px; }
  body.elementor-page-2033 .cs-h06 .cs-hc:hover .cs-hc-title, body.elementor-page-2033 .cs-h06 .cs-hc:focus-within .cs-hc-title { margin-bottom: 8px; }
  body.elementor-page-2033 .cs-h06 .cs-hc:hover .cs-hc-body, body.elementor-page-2033 .cs-h06 .cs-hc:focus-within .cs-hc-body { grid-template-rows: 1fr; opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
  body.elementor-page-2033 .cs-h06 .cs-hc, body.elementor-page-2033 .cs-h06 .cs-hc *, body.elementor-page-2033 .cs-h06 .cs-hc-icon img { transition: none !important; }
}

/* Cards as a static grid on desktop (4) and tablet (2 × 2): the Nested Carousel only slides on phones. Swiper's
   transform and slide widths are overridden, its loop copies hidden, the slides ordered by their index (Swiper 11 moves
   slides in the DOM for the loop). */
body.elementor-page-2033 .cs-h06 .cs-hc-grid .swiper-slide { height: auto; display: flex; flex-direction: column; }
body.elementor-page-2033 .cs-h06 .cs-hc-grid .swiper-slide > .cs-hc { flex: 1 0 auto; height: auto; }
body.elementor-page-2033 .cs-h06 .cs-hc > .elementor-element { flex-shrink: 0; }
@media (min-width: 768px) {
  body.elementor-page-2033 .cs-h06 .cs-hc-grid .e-n-carousel { overflow: visible; }
  body.elementor-page-2033 .cs-h06 .cs-hc-grid .swiper-wrapper { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; transform: none !important; }
  body.elementor-page-2033 .cs-h06 .cs-hc-grid .swiper-slide { width: auto !important; margin: 0 !important; }
  body.elementor-page-2033 .cs-h06 .cs-hc-grid .swiper-slide-duplicate { display: none; }
  body.elementor-page-2033 .cs-h06 .cs-hc-grid .swiper-slide[data-swiper-slide-index="1"] { order: 1; }
  body.elementor-page-2033 .cs-h06 .cs-hc-grid .swiper-slide[data-swiper-slide-index="2"] { order: 2; }
  body.elementor-page-2033 .cs-h06 .cs-hc-grid .swiper-slide[data-swiper-slide-index="3"] { order: 3; }
  body.elementor-page-2033 .cs-h06 .cs-hc-grid .swiper-slide[data-swiper-slide-index="4"] { order: 4; }
  body.elementor-page-2033 .cs-h06 .cs-hc-grid .swiper-slide[data-swiper-slide-index="5"] { order: 5; }
}

/* Loop copies are made after Elementor's entrance setup: show them at rest. */
body.elementor-page-2033 .cs-h06 .swiper-slide-duplicate .elementor-invisible { visibility: visible; }

@media (max-width: 1024px) {
  body.elementor-page-2033 .cs-h06::before {
    background: var(--cs-green-c) 50% 298px / 1200px 1200px no-repeat,
      var(--cs-blue-c) right -24px top 155px / 164px 164px no-repeat,
      var(--cs-ring) left 31px top 309px / 182px 182px no-repeat,
      var(--cs-blue-c) left -3px top 275px / 250px 250px no-repeat; }
  body.elementor-page-2033 .cs-h06 .cs-hc-grid .swiper-wrapper { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  body.elementor-page-2033 .cs-h06::before {
    background: var(--cs-green-c) 50% 315px / 400px 400px no-repeat,
      var(--cs-blue-c) right -42px top 22px / 164px 164px no-repeat,
      var(--cs-ring) left -31px top 307px / 119px 119px no-repeat,
      var(--cs-blue-c) left -53px top 285px / 164px 164px no-repeat; }
  /* Slider: the next card peeks in at the right (Figma), nothing at the left; arrows below (padding 48 + 64). */
  body.elementor-page-2033 .cs-h06 .cs-hc-grid { padding-bottom: 112px; }
  body.elementor-page-2033 .cs-h06 .cs-hc-grid .e-n-carousel { overflow: visible; clip-path: inset(-40px -100vw -40px 0); }
}

/* Arrows: hidden on desktop / tablet (static grid). */
@media (min-width: 768px) { body.elementor-page-2033 .cs-h06 .cs-hc-grid .elementor-swiper-button { display: none; } }
/* Phone arrows (1:2384 zurück #F7F6F1, 1:2389 weiter #5F95A8, 64 px) centred 48 px under the card, as home 04. */
@media (max-width: 767px) {
body.elementor-page-2033 .cs-h06 .cs-hc-grid .elementor-swiper-button { position: absolute; top: auto; bottom: 0; transform: none;
  box-sizing: border-box; width: 64px; height: 64px; margin: 0; padding: 24px; gap: 8px; border-radius: 100px; overflow: hidden;
  cursor: pointer; display: flex; align-items: center; justify-content: center;
  background-color: #F7F6F1; transition: background-color .2s ease-out; }
body.elementor-page-2033 .cs-h06 .cs-hc-grid .elementor-swiper-button-prev { left: calc(50% - 72px); right: auto; }
body.elementor-page-2033 .cs-h06 .cs-hc-grid .elementor-swiper-button-next { left: calc(50% + 8px); right: auto; background-color: #F7F6F1; }
body.elementor-page-2033 .cs-h06 .cs-hc-grid .elementor-swiper-button svg { flex: none; width: 64px; height: 64px; margin: -20px; display: block; fill: none; }
body.elementor-page-2033 .cs-h06 .cs-hc-grid .elementor-swiper-button svg > rect { display: none; }
body.elementor-page-2033 .cs-h06 .cs-hc-grid .elementor-swiper-button-prev:hover { background-color: #5F95A8; }
body.elementor-page-2033 .cs-h06 .cs-hc-grid .elementor-swiper-button-prev:hover svg path { stroke: #FFFFFF; }
body.elementor-page-2033 .cs-h06 .cs-hc-grid .elementor-swiper-button-next svg path { stroke: #383C48; }
body.elementor-page-2033 .cs-h06 .cs-hc-grid .elementor-swiper-button-next:hover { background-color: #5F95A8; }
body.elementor-page-2033 .cs-h06 .cs-hc-grid .elementor-swiper-button-next:hover svg path { stroke: #FFFFFF; }
/* 2026-10-10 user review: both arrows rest light (#F7F6F1, dark glyph); only the hovered one turns blue. */
body.elementor-page-2033 .cs-h06 .cs-hc-grid .elementor-swiper-button:focus-visible { outline: 3px solid #4A7C8E; outline-offset: 3px; }
@media (prefers-reduced-motion: no-preference) {
  body.elementor-page-2033 .cs-h06 .cs-hc-grid .elementor-swiper-button svg g { transform-box: fill-box; transform-origin: center; transition: transform .2s ease-out; }
  body.elementor-page-2033 .cs-h06 .cs-hc-grid .elementor-swiper-button:hover svg g { transform: scale(1.1); }
}
}

/* build/home-07-about-partner/site.css */
/* home 07-about-partner (LP10816). Section CSS beyond the V3 controls; every rule under body.elementor-page-2033 .cs-h07.
   Root carries the menu anchor #dein-bueroprojekt. */

/* Background (decorative, no DOM).
   ::before = beige panel (Figma Rectangle 34625439 / 1:1230 / 1:2861: #827D2A at 12 %, solid in the top half and fading
   out in the bottom half, 1050 px tall; the rect is flipped vertically in Figma, read from the render: big radius top left
   280 / 164 / 80, bottom right 48 / 32 / 16 lies in the transparent part).
   ::after = Ellipse 13 (light green 24 %, gradient top → 0 at the bottom), Ellipse 12 (light blue 24 %, 0 at 50 %) and the
   JR ring (Group 3, deko-jr-ring.svg recoloured #BCD2DA, 24 %; the same data-URIs as 06). Desktop x from the centre: calc(50% + X − (1920 − size) / 2). */
body.elementor-page-2033 .cs-h07 { position: relative; isolation: isolate;
  --cs-blue-c: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23BCD2DA' stop-opacity='.24'/%3E%3Cstop offset='.5' stop-color='%23BCD2DA' stop-opacity='0'/%3E%3C/linearGradient%3E%3C/defs%3E%3Ccircle cx='50' cy='50' r='50' fill='url(%23g)'/%3E%3C/svg%3E");
  --cs-green-c: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23D7D285' stop-opacity='.24'/%3E%3Cstop offset='1' stop-color='%23D7D285' stop-opacity='0'/%3E%3C/linearGradient%3E%3C/defs%3E%3Ccircle cx='50' cy='50' r='50' fill='url(%23g)'/%3E%3C/svg%3E");
  --cs-ring: url("data:image/svg+xml,%3Csvg viewBox='0 0 461 461' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg opacity='0.24'%3E%3Cpath d='M197.57 285.381V153.667H219.522V285.381C219.522 333.877 180.208 373.191 131.713 373.191V351.238C168.084 351.238 197.57 321.753 197.57 285.381Z' fill='%23BCD2DA'/%3E%3Cpath d='M263.43 181.107L263.43 268.917L241.478 268.917L241.478 181.107C241.478 132.611 280.791 93.2977 329.287 93.2977L329.287 115.25C292.915 115.25 263.43 144.735 263.43 181.107Z' fill='%23BCD2DA'/%3E%3Cpath d='M439.048 230.5C439.048 115.322 345.678 21.9524 230.5 21.9524C115.322 21.9524 21.9524 115.322 21.9524 230.5C21.9524 345.678 115.322 439.048 230.5 439.048V461C103.198 461 0 357.802 0 230.5C0 103.198 103.198 0 230.5 0C357.802 0 461 103.198 461 230.5C461 357.802 357.802 461 230.5 461V439.048C345.678 439.048 439.048 345.678 439.048 230.5Z' fill='%23BCD2DA'/%3E%3C/g%3E%3C/svg%3E"); }
body.elementor-page-2033 .cs-h07::before { content: ""; position: absolute; z-index: -2; pointer-events: none; left: 0; right: 0; top: 59px;
  height: 1050px; border-radius: 280px 0 48px 0;
  background: linear-gradient(180deg, rgba(130,125,42,.12) 50%, rgba(247,246,241,0) 100%); }
body.elementor-page-2033 .cs-h07::after { content: ""; position: absolute; z-index: -1; pointer-events: none; inset: 0;
  background: var(--cs-ring) calc(50% + 754px) 696px / 220px 220px no-repeat,
    var(--cs-blue-c) calc(50% + 754px) 667px / 278px 278px no-repeat,
    var(--cs-green-c) calc(50% + 995px) 430px / 502px 502px no-repeat; }

body.elementor-page-2033 .cs-h07 .elementor-heading-title { margin: 0; }
body.elementor-page-2033 .cs-h07 .cs-h07-text p { margin: 0; }
/* Paragraphs: one empty line between them (Figma's double line separator). */
body.elementor-page-2033 .cs-h07 .cs-h07-text p + p { margin-top: 1.64em; }
/* Desktop: "Joppich & Rieckhoff (JRBuero):" on its own line (Figma's line break); tablet / phone run on. */
body.elementor-page-2033 .cs-h07 .cs-h07-name { display: block; }
body.elementor-page-2033 .cs-h07 .cs-h07-photo img { display: block; }

/* Entrances (PM Loom 1:30–2:00): photo from the left; boxes left / right / below at the same time, meeting in the middle.
   Shorter travel than animate.css's 100 %. */
body.elementor-page-2033 .cs-h07 .animated { animation-duration: .6s; }
@keyframes cs-h07-in-left { from { opacity: 0; transform: translate3d(-80px, 0, 0); } to { opacity: 1; transform: none; } }
@keyframes cs-h07-in-right { from { opacity: 0; transform: translate3d(80px, 0, 0); } to { opacity: 1; transform: none; } }
@keyframes cs-h07-in-up { from { opacity: 0; transform: translate3d(0, 60px, 0); } to { opacity: 1; transform: none; } }
body.elementor-page-2033 .cs-h07 .animated.fadeInLeft { animation-name: cs-h07-in-left; }
body.elementor-page-2033 .cs-h07 .animated.fadeInRight { animation-name: cs-h07-in-right; }
body.elementor-page-2033 .cs-h07 .animated.fadeInUp { animation-name: cs-h07-in-up; }

/* Boxes: 2 + 1 (desktop, tablet), stacked on the phone. */
body.elementor-page-2033 .cs-h07 .cs-h07-box { flex: 1 1 100%; min-width: 0;
  transition: background-color .3s ease-out, box-shadow .3s ease-out, border-radius .3s ease-out; }
body.elementor-page-2033 .cs-h07 .cs-h07-box-1, body.elementor-page-2033 .cs-h07 .cs-h07-box-2 { flex-basis: calc(50% - 8px); }
/* Elementor's "grow" sets flex-shrink 0: the text takes the rest of the box and wraps. */
body.elementor-page-2033 .cs-h07 .cs-h07-box-text { flex: 1 1 0; min-width: 0; }

/* Icon circle: 80 px, the 2.5 px gradient outer ring (half clipped in the SVG's viewBox) and the Figma shadow in CSS;
   the set's hover icon cross-fades in on ::after (03's pattern) with a small scale (R-icon-hover-scale). */
body.elementor-page-2033 .cs-h07 .cs-h07-ico { position: relative; width: 80px; height: 80px; border-radius: 50%;
  box-shadow: 12px 12px 24px rgba(56,60,72,.16); transition: transform .2s ease-out, box-shadow .3s ease-out; }
body.elementor-page-2033 .cs-h07 .cs-h07-ico::before { content: ""; position: absolute; inset: -2.5px; border-radius: 50%; z-index: 0;
  background: linear-gradient(139deg, #827D2A 0%, #5F95A8 80%); }
/* Elementor 4 drops the widget-container wrapper on the Image widget: the <img> itself sits above the ring. */
body.elementor-page-2033 .cs-h07 .cs-h07-ico .elementor-widget-container, body.elementor-page-2033 .cs-h07 .cs-h07-ico img { position: relative; z-index: 1; }
body.elementor-page-2033 .cs-h07 .cs-h07-ico img { display: block; width: 80px; height: 80px; border-radius: 50%; background: #FBFBF8; }
body.elementor-page-2033 .cs-h07 .cs-h07-ico::after { content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none; opacity: 0;
  border-radius: 50%; background: var(--cs-icon-hover, none) center / 80px 80px no-repeat; transition: opacity .2s ease-out; }
body.elementor-page-2033 .cs-h07 .cs-h07-ico-10 { --cs-icon-hover: url("/wp-content/uploads/2026/10/icon-set-10-hover.svg"); }
body.elementor-page-2033 .cs-h07 .cs-h07-ico-14 { --cs-icon-hover: url("/wp-content/uploads/2026/10/icon-set-14-hover.svg"); }
/* No-loop icon: no hover file in Figma; made from its normal file the way the set's hover files differ (gradient circle,
   white glyph), user review 2026-10-10. */
body.elementor-page-2033 .cs-h07 .cs-h07-ico-none { --cs-icon-hover: url("/wp-content/uploads/2026/10/icon-projekt-abstimmung-hover.svg"); }

/* Hover (Figma's highlighted "im Budget" box): light-green tint, shadow, all corners 16; icon swaps to the hover look. */
@media (hover: hover) {
  body.elementor-page-2033 .cs-h07 .cs-h07-box:hover { background-color: rgba(215,210,133,.24); border-radius: 16px;
    box-shadow: 12px 12px 32px rgba(56,60,72,.24); }
  body.elementor-page-2033 .cs-h07 .cs-h07-box:hover .cs-h07-ico { transform: scale(1.06); }
  body.elementor-page-2033 .cs-h07 .cs-h07-box:hover .cs-h07-ico::after { opacity: 1; }
  /* No hover file for the no-loop icon (ASSETS.md, open): scale and a deeper shadow only. */
  body.elementor-page-2033 .cs-h07 .cs-h07-box:hover .cs-h07-ico-none { box-shadow: 12px 12px 28px rgba(56,60,72,.26); }
}

@media (max-width: 1024px) {
  body.elementor-page-2033 .cs-h07::before { top: 46px; border-radius: 164px 0 32px 0; }
  body.elementor-page-2033 .cs-h07::after { inset: 0;
    background: var(--cs-ring) left 845px top 569px / 169px 169px no-repeat,
      var(--cs-blue-c) left 824px top 547px / 213px 213px no-repeat,
      var(--cs-green-c) left 922px top 365px / 385px 385px no-repeat; }
  body.elementor-page-2033 .cs-h07 .cs-h07-name { display: inline; }
}
@media (max-width: 767px) {
  body.elementor-page-2033 .cs-h07::before { top: 0; border-radius: 80px 0 16px 0; }
  body.elementor-page-2033 .cs-h07::after { inset: 0;
    background: var(--cs-ring) left 310px top 737px / 113px 113px no-repeat,
      var(--cs-blue-c) left 295px top 723px / 142px 142px no-repeat,
      var(--cs-green-c) left 260px top 418px / 344px 344px no-repeat; }
  body.elementor-page-2033 .cs-h07 .cs-h07-box-1, body.elementor-page-2033 .cs-h07 .cs-h07-box-2 { flex-basis: auto; }
  body.elementor-page-2033 .cs-h07 .cs-h07-box { flex: 0 0 auto; width: 100%; }
}

/* build/home-08-accordion/site.css */
/* home 08-accordion (LP10816). Section CSS beyond the V3 controls; every rule under body.elementor-page-2033 .cs-h08. */

/* Office photo panel (Figma Rectangle 34625440 / 1:1293 / 1:2946), decorative, no DOM: buero-glas-hintergrund.webp
   (attachment 1906) with Figma's crop (imageTransform: desktop full width, y 24.8–89.5 %; tablet 71.2 % wide centred;
   phone 20.1 % wide), radius TL 0 / TR 280 / BR 0 / BL 48 (tablet 164 / 32, phone 80 / 16), under the #FBFBF8 fade
   0 % at −4.5 % → 100 % at 85.2 %. The rect reaches 64 px below the band; past 85 % it is page colour, so the root clips. */
body.elementor-page-2033 .cs-h08 { position: relative; isolation: isolate; overflow: clip; }
body.elementor-page-2033 .cs-h08::before { content: ""; position: absolute; z-index: -1; pointer-events: none; left: 0; right: 0;
  top: 62px; height: 827px; border-radius: 0 280px 0 48px;
  background: linear-gradient(180deg, rgba(251,251,248,0) -4.53%, #FBFBF8 85.15%),
    url("/wp-content/uploads/2026/10/buero-glas-hintergrund.webp") 50% 70.3% / 100% auto no-repeat; }

body.elementor-page-2033 .cs-h08 .elementor-heading-title { margin: 0; }
body.elementor-page-2033 .cs-h08 .cs-h08-line p, body.elementor-page-2033 .cs-h08 .cs-h08-panel p { margin: 0; }

/* Drop-downs (two Nested Accordions, one per column). Each item is a glass card: #FBFBF8 24 % + background blur
   (Figma 48 → CSS 24), radius 32, padding 32 (phone 24). The title row: check circle (::before), title, caret (::after). */
body.elementor-page-2033 .cs-h08 .cs-h08-cols > .elementor-element { flex: 1 1 0; min-width: 0; }
body.elementor-page-2033 .cs-h08 .elementor-widget-n-accordion { --n-accordion-border-width: 0px; --n-accordion-padding: 0px;
  --n-accordion-icon-gap: 0; }
body.elementor-page-2033 .cs-h08 .e-n-accordion-item { padding: 32px; border-radius: 32px; background-color: rgba(251,251,248,.24);
  -webkit-backdrop-filter: blur(24px); backdrop-filter: blur(24px); transition: background-color .25s ease-out; }
body.elementor-page-2033 .cs-h08 .e-n-accordion-item > .e-con { border: 0; }
body.elementor-page-2033 .cs-h08 .e-n-accordion-item-title { gap: 24px; align-items: center; background: none; border-radius: 0; }
body.elementor-page-2033 .cs-h08 .e-n-accordion-item[open] > .e-n-accordion-item-title { align-items: flex-start; }
body.elementor-page-2033 .cs-h08 .e-n-accordion-item-title-header { flex: 1 1 0; min-width: 0; }
body.elementor-page-2033 .cs-h08 .e-n-accordion-item-title-text { flex: 1 1 auto; }
/* Heading and closing line span the content width (Figma fill boxes, centred text). */
body.elementor-page-2033 .cs-h08 > .elementor-widget-heading, body.elementor-page-2033 .cs-h08 > .cs-h08-line { align-self: stretch; }
body.elementor-page-2033 .cs-h08 .e-n-accordion-item-title::before { content: ""; flex: none; order: -1; width: 48px; height: 48px;
  background: url("/wp-content/uploads/2026/10/ui-check-kreis.svg") center / 100% 100% no-repeat;
  transition: transform .2s ease-out; }
/* Caret (ui-caret.svg is the up caret = open; closed turns it down). Only items that have a text show it; the others
   keep an empty 32 px slot so their titles wrap as in Figma. */
body.elementor-page-2033 .cs-h08 .e-n-accordion-item-title::after { content: ""; flex: none; width: 32px; height: 32px; }
body.elementor-page-2033 .cs-h08 .e-n-accordion-item:has(> .e-con .elementor-element) > .e-n-accordion-item-title::after { transform: rotate(180deg);
  background: url("/wp-content/uploads/2026/10/ui-caret.svg") center / 100% 100% no-repeat; transition: transform .25s ease-out; }
body.elementor-page-2033 .cs-h08 .e-n-accordion-item[open]:has(> .e-con .elementor-element) > .e-n-accordion-item-title::after { transform: none; }
/* Open item: the text follows the title (Figma: 8 below it), not the 48 px check circle, so the icons hang below the
   title line (negative bottom margins = line height − icon size). */
body.elementor-page-2033 .cs-h08 .e-n-accordion-item[open] > .e-n-accordion-item-title::before { margin-bottom: calc(29.6px - 48px); }
body.elementor-page-2033 .cs-h08 .e-n-accordion-item[open] > .e-n-accordion-item-title::after { margin-bottom: calc(29.6px - 32px); }
/* Items without a text yet: not clickable (the effect widget also takes them out of the tab order). */
body.elementor-page-2033 .cs-h08 .e-n-accordion-item:not(:has(> .e-con .elementor-element)) > .e-n-accordion-item-title { cursor: default; }
/* Hover / focus on an item that opens: the glass lightens, the check circle grows (R-icon-hover-scale); focus ring. */
body.elementor-page-2033 .cs-h08 .e-n-accordion-item:has(> .e-con .elementor-element):hover { background-color: rgba(251,251,248,.48); }
body.elementor-page-2033 .cs-h08 .e-n-accordion-item:has(> .e-con .elementor-element):hover > .e-n-accordion-item-title::before { transform: scale(1.08); }
body.elementor-page-2033 .cs-h08 .e-n-accordion-item-title:focus { outline: 0; }
body.elementor-page-2033 .cs-h08 .e-n-accordion-item-title:focus-visible { outline: 2px solid #5F95A8; outline-offset: 8px; border-radius: 8px; }

/* Button: label + the white arrow circle (ui-button-pfeil-kreis.svg, 02's CTA pattern) as the button's ::after;
   on hover the pill darkens (button control) and the arrow moves 4 px. */
body.elementor-page-2033 .cs-h08 .cs-h08-cta .elementor-button { display: inline-flex; align-items: center; justify-content: center; gap: 16px; min-height: 64px; transition: background-color .2s ease-out; }
body.elementor-page-2033 .cs-h08 .cs-h08-cta .elementor-button::after { content: ""; flex: none; width: 48px; height: 48px; background: url("data:image/svg+xml,%3Csvg width='48' height='48' viewBox='0 0 48 48' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='48' height='48' rx='24' fill='white'/%3E%3Cpath d='M15.75 24H32.25' stroke='%235F95A8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M25.5 17.25L32.25 24L25.5 30.75' stroke='%235F95A8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 48px 48px no-repeat; margin-block: -8px; transition: transform .2s ease-out; }
body.elementor-page-2033 .cs-h08 .cs-h08-cta .elementor-button:hover::after, body.elementor-page-2033 .cs-h08 .cs-h08-cta .elementor-button:focus-visible::after { transform: translateX(4px); }

/* The effect widget (script only) sits outside the flow. */
body.elementor-page-2033 .cs-h08 .cs-h08-fx { width: 0; height: 0; overflow: hidden; }
body.elementor-page-2033 .cs-h08 .animated { animation-duration: .6s; }

@media (max-width: 1024px) {
  body.elementor-page-2033 .cs-h08::before { top: 30px; height: 719px; border-radius: 0 164px 0 32px;
    background-position: 0 0, 50% 100%; background-size: auto, 140.5% auto; }
  body.elementor-page-2033 .cs-h08 .e-n-accordion-item-title { gap: 16px; }
  body.elementor-page-2033 .cs-h08 .e-n-accordion-item[open] > .e-n-accordion-item-title::before { margin-bottom: calc(26.64px - 48px); }
  body.elementor-page-2033 .cs-h08 .e-n-accordion-item[open] > .e-n-accordion-item-title::after { margin-bottom: calc(26.64px - 32px); }
}
@media (max-width: 767px) {
  body.elementor-page-2033 .cs-h08::before { top: 0; height: 974px; border-radius: 0 80px 0 16px;
    background-position: 0 0, 51.4% 100%; background-size: auto, 496.6% auto; }
  /* Phone: the text runs full width under the title row, 16 below it (content padding; a flex gap on <details> would
     also apply to the closed item's hidden content slot). Figma's hard break before "dass sie Realität wird." */
  body.elementor-page-2033 .cs-h08 .e-n-accordion-item { padding: 24px; }
  body.elementor-page-2033 .cs-h08 .cs-h08-break { display: block; }
  body.elementor-page-2033 .cs-h08 .e-n-accordion-item-title::before { width: 40px; height: 40px; }
  body.elementor-page-2033 .cs-h08 .e-n-accordion-item-title::after { width: 24px; height: 24px; }
  body.elementor-page-2033 .cs-h08 .e-n-accordion-item[open] > .e-n-accordion-item-title::before,
  body.elementor-page-2033 .cs-h08 .e-n-accordion-item[open] > .e-n-accordion-item-title::after { margin-bottom: 0; }
}
@media (prefers-reduced-motion: reduce) {
  body.elementor-page-2033 .cs-h08 .e-n-accordion-item-title::before, body.elementor-page-2033 .cs-h08 .e-n-accordion-item-title::after { transition: none; }
}

/* build/home-09-before-after/site.css */
/* home 09-before-after (LP10816). Section CSS beyond the V3 controls; every rule under body.elementor-page-2033 .cs-h09.
   Carousel arrows from home 04, CTA arrow circle from home 02; the comparison (.cs-ba) is this section's own. */

/* Light-green glow circle bottom right (Ellipse 18 / 29); reaches below the band into 10 as in Figma. */
body.elementor-page-2033 .cs-h09 { position: relative; isolation: isolate; }
body.elementor-page-2033 .cs-h09::before { content: ""; position: absolute; z-index: 0; pointer-events: none; left: auto; bottom: auto; right: 124px; top: 662px;
  width: 200px; height: 200px; border-radius: 50%; opacity: .24; background: linear-gradient(180deg, #D7D285 0%, rgba(215,210,133,0) 100%); }
body.elementor-page-2033 .cs-h09 > .e-con-inner { position: relative; z-index: 1; }
/* The theme styles the live site's own #referenzen (style.css: `#referenzen { padding-top: 250px }`, ID specificity):
   cancel it (the boxed root's padding sits on .e-con-inner; the outer box has none). Unternehmen 09-references carries the
   same id and needs the same line. */
body.elementor-page-2033 #referenzen.cs-h09 { padding-top: 0; }
body.elementor-page-2033 .cs-h09 .cs-script { position: absolute; width: 0; height: 0; overflow: hidden; }
body.elementor-page-2033 .cs-h09 .animated { animation-duration: .6s; }
body.elementor-page-2033 .cs-h09 .swiper-slide-duplicate .elementor-invisible { visibility: visible; }

/* Comparison: Nachher is the base layer, Vorher sits on top clipped to the left of --cs-pos. Without JS (no .cs-ba-on)
   the split is at 0: only the Nachher photo and its label show, no handle. */
body.elementor-page-2033 .cs-h09 .cs-ba { position: relative; overflow: hidden; border-radius: 32px; aspect-ratio: 464 / 520; --cs-pos: 0%;
  -webkit-user-select: none; user-select: none; -webkit-tap-highlight-color: transparent; }
body.elementor-page-2033 .cs-h09.cs-ba-on .cs-ba { --cs-pos: 50%; }
body.elementor-page-2033 .cs-h09 .cs-ba-after, body.elementor-page-2033 .cs-h09 .cs-ba-before { position: absolute; inset: 0; }
body.elementor-page-2033 .cs-h09 .cs-ba-after > img, body.elementor-page-2033 .cs-h09 .cs-ba-before > img { display: block; width: 100%; height: 100%; max-width: none;
  object-fit: cover; object-position: center; border-radius: 0; }
body.elementor-page-2033 .cs-h09 .cs-ba-before { clip-path: inset(0 calc(100% - var(--cs-pos)) 0 0); }
body.elementor-page-2033 .cs-h09 .cs-ba-label { position: absolute; bottom: 24px; display: flex; align-items: center; justify-content: center; gap: 24px; padding: 6px 16px; border-radius: 8px;
  background: rgba(251,251,248,.16); -webkit-backdrop-filter: blur(48px); backdrop-filter: blur(48px); pointer-events: none;
  font-family: 'cs-Futura', Arial, sans-serif; font-weight: 500; font-size: 18px; line-height: 29.52px; letter-spacing: 0; color: #FFFFFF; }
body.elementor-page-2033 .cs-h09 .cs-ba-label > span { display: block; color: #FFFFFF; }
body.elementor-page-2033 .cs-h09 .cs-ba-label-before { left: 24px; }
body.elementor-page-2033 .cs-h09 .cs-ba-label-after { right: 24px; }
/* Keyboard / screen reader control: the range covers the pair but takes no pointer input (swipes stay with the carousel). */
body.elementor-page-2033 .cs-h09 .cs-ba-range { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; padding: 0; opacity: 0;
  pointer-events: none; -webkit-appearance: none; appearance: none; background: none; }
/* Handle: a 64 px drag strip along the 2 px line (Figma 1:9256), the round button (ui-vorher-nachher-griff.svg) in the middle. */
body.elementor-page-2033 .cs-h09 .cs-ba-handle { display: none; }
body.elementor-page-2033 .cs-h09.cs-ba-on .cs-ba-handle { display: block; position: absolute; z-index: 2; top: 0; bottom: 0; left: var(--cs-pos);
  width: 64px; margin-left: -32px; cursor: ew-resize; touch-action: none; }
body.elementor-page-2033 .cs-h09 .cs-ba-handle::before { content: ""; position: absolute; top: 0; bottom: 0; left: 31px; width: 2px; background: #F7F6F1; }
/* Knob = Figma's button frame (64, padding 24, radius 100, #F7F6F1); the SVG (circle + carets) fills it. */
body.elementor-page-2033 .cs-h09 .cs-ba-knob { position: absolute; left: 0; top: 50%; box-sizing: border-box; width: 64px; height: 64px; margin-top: -32px;
  padding: 24px; gap: 8px; display: flex; align-items: center; justify-content: center; border-radius: 100px; background: #F7F6F1;
  transition: transform .2s ease-out, box-shadow .2s ease-out; }
body.elementor-page-2033 .cs-h09 .cs-ba-knob img { flex: none; display: block; width: 64px; height: 64px; max-width: none; margin: -24px; border-radius: 50%; }
body.elementor-page-2033 .cs-h09 .cs-ba-handle:hover .cs-ba-knob, body.elementor-page-2033 .cs-h09 .cs-ba-drag .cs-ba-knob { box-shadow: 0 0 0 4px rgba(247,246,241,.5); }
body.elementor-page-2033 .cs-h09 .cs-ba-range:focus-visible ~ .cs-ba-handle .cs-ba-knob { outline: 3px solid #4A7C8E; outline-offset: 3px; }

/* Arrows (1:9292 zurück #F7F6F1, 1:9304 weiter #5F95A8, 64 px) beside the CTA, 48 px below the pairs. */
body.elementor-page-2033 .cs-h09 .cs-carousel { z-index: 2; }
body.elementor-page-2033 .cs-h09 .cs-carousel .elementor-swiper-button { position: absolute; top: calc(100% + 48px); bottom: auto; transform: none;
  box-sizing: border-box; width: 64px; height: 64px; margin: 0; padding: 24px; gap: 8px; border-radius: 100px; overflow: hidden;
  cursor: pointer; display: flex; flex-direction: row; align-items: center; justify-content: center;
  background-color: #F7F6F1; transition: background-color .2s ease-out; }
body.elementor-page-2033 .cs-h09 .cs-carousel .elementor-swiper-button-next { background-color: #F7F6F1; }
body.elementor-page-2033 .cs-h09 .cs-carousel .elementor-swiper-button-prev { left: calc(50% - 269px); right: auto; }
body.elementor-page-2033 .cs-h09 .cs-carousel .elementor-swiper-button-next { left: calc(50% + 205px); right: auto; }
body.elementor-page-2033 .cs-h09 .cs-carousel .elementor-swiper-button svg { flex: none; width: 64px; height: 64px; margin: -20px; display: block; fill: none; }
body.elementor-page-2033 .cs-h09 .cs-carousel .elementor-swiper-button svg > rect { display: none; }
body.elementor-page-2033 .cs-h09 .cs-carousel .elementor-swiper-button svg path { transition: stroke .2s ease-out; }
body.elementor-page-2033 .cs-h09 .cs-carousel .elementor-swiper-button-prev:hover { background-color: #5F95A8; }
body.elementor-page-2033 .cs-h09 .cs-carousel .elementor-swiper-button-prev:hover svg path { stroke: #FFFFFF; }
body.elementor-page-2033 .cs-h09 .cs-carousel .elementor-swiper-button-next svg path { stroke: #383C48; }
body.elementor-page-2033 .cs-h09 .cs-carousel .elementor-swiper-button-next:hover { background-color: #5F95A8; }
body.elementor-page-2033 .cs-h09 .cs-carousel .elementor-swiper-button-next:hover svg path { stroke: #FFFFFF; }
/* 2026-10-10 user review: both arrows rest light (#F7F6F1, dark glyph); only the hovered one turns blue. */
body.elementor-page-2033 .cs-h09 .cs-carousel .elementor-swiper-button:focus-visible { outline: 3px solid #4A7C8E; outline-offset: 3px; }

/* CTA: label + the white arrow circle (1:9299, arrow #343A40) as a background; hover darkens, the arrow moves 4 px. */
body.elementor-page-2033 .cs-h09 .cs-cta .elementor-button { display: inline-flex; align-items: center; justify-content: center; gap: 16px; min-height: 64px; transition: background-color .2s ease-out; }
body.elementor-page-2033 .cs-h09 .cs-cta .elementor-button::after { content: ""; flex: none; width: 48px; height: 48px; background: url("data:image/svg+xml,%3Csvg width='48' height='48' viewBox='0 0 48 48' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='48' height='48' rx='24' fill='white'/%3E%3Cpath d='M15.75 24H32.25' stroke='%23343A40' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M25.5 17.25L32.25 24L25.5 30.75' stroke='%23343A40' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 48px 48px no-repeat; margin-block: -8px; transition: transform .2s ease-out; }

@media (prefers-reduced-motion: no-preference) {
  body.elementor-page-2033 .cs-h09 .cs-ba-handle:hover .cs-ba-knob, body.elementor-page-2033 .cs-h09 .cs-ba-drag .cs-ba-knob { transform: scale(1.08); }
  body.elementor-page-2033 .cs-h09 .cs-carousel .elementor-swiper-button svg g { transform-box: fill-box; transform-origin: center; transition: transform .2s ease-out; }
  body.elementor-page-2033 .cs-h09 .cs-carousel .elementor-swiper-button:hover svg g { transform: scale(1.1); }
  body.elementor-page-2033 .cs-h09 .cs-cta .elementor-button:hover::after, body.elementor-page-2033 .cs-h09 .cs-cta .elementor-button:focus-visible::after { transform: translateX(4px); }
}

@media (max-width: 1024px) {
  body.elementor-page-2033 .cs-h09::before { right: -76px; top: 492px; }
  body.elementor-page-2033 .cs-h09 .cs-ba { border-radius: 24px; }
  body.elementor-page-2033 .cs-h09 .cs-ba-label { bottom: 16px; padding: 4px 8px; font-size: 16px; line-height: 26.24px; }
  body.elementor-page-2033 .cs-h09 .cs-ba-label-before { left: 16px; }
  body.elementor-page-2033 .cs-h09 .cs-ba-label-after { right: 16px; }
  body.elementor-page-2033 .cs-h09 .cs-carousel .elementor-swiper-button-prev { left: calc(50% - 258px); }
  body.elementor-page-2033 .cs-h09 .cs-carousel .elementor-swiper-button-next { left: calc(50% + 194px); }
}
@media (max-width: 767px) {
  body.elementor-page-2033 .cs-h09::before { right: -361px; top: 159px; width: 472px; height: 472px; }
  /* Phone: Figma's white card (1:3017) around the pair, the arrows inside it under the pair. */
  body.elementor-page-2033 .cs-h09 .cs-carousel { box-sizing: border-box; padding: 8px 8px 112px; background: #FFFFFF; border: 1px solid rgba(12,41,57,.16); border-radius: 24px; }
  body.elementor-page-2033 .cs-h09 .cs-ba { border-radius: 16px; aspect-ratio: 324 / 306; }
  body.elementor-page-2033 .cs-h09 .cs-carousel .elementor-swiper-button { top: auto; bottom: 24px; }
  body.elementor-page-2033 .cs-h09 .cs-carousel .elementor-swiper-button-prev { left: calc(50% - 72px); }
  body.elementor-page-2033 .cs-h09 .cs-carousel .elementor-swiper-button-next { left: calc(50% + 8px); }
}
/* Laptop floor (zoom .66 at 1025-1199): labels and CTA stay at >= 12 px rendered (BRIEF). */
@media (min-width: 1025px) and (max-width: 1199px) {
  body.elementor-page-2033 .cs-h09 .cs-ba-label, body.elementor-page-2033 .cs-h09 .cs-cta .elementor-button { font-size: 18.2px; letter-spacing: 0; }
}

/* build/home-10-steps/site.css */
/* home 10-steps (LP10816): "In 4 Schritten" timeline. Section CSS beyond the V3 controls; every rule under body.elementor-page-2033 .cs-h10.
   Root carries the menu anchor #ablauf. Reused on unternehmen 10 (replace .cs-h10; the cs-st-* classes are the pattern). */

/* Background (decorative, no DOM), root ::before, design px: Ellipse 16 / 28 (light blue, 24 %, 0 at 50 %) top left;
   Ellipse 27 (light green 16 %, fading to 0 at the bottom) + Group 4 (JR ring, deko-jr-ring recoloured #D7D285, 24 %)
   bottom right, reaching ~450 px into 11-goal as in Figma. Desktop x from the centre: calc(50% + x − 960 + size / 2). */
body.elementor-page-2033 .cs-h10 { position: relative; isolation: isolate;
  --cs-blue-c: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23BCD2DA' stop-opacity='.24'/%3E%3Cstop offset='.5' stop-color='%23BCD2DA' stop-opacity='0'/%3E%3C/linearGradient%3E%3C/defs%3E%3Ccircle cx='50' cy='50' r='50' fill='url(%23g)'/%3E%3C/svg%3E");
  --cs-green-c16: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23D7D285' stop-opacity='.16'/%3E%3Cstop offset='1' stop-color='%23D7D285' stop-opacity='0'/%3E%3C/linearGradient%3E%3C/defs%3E%3Ccircle cx='50' cy='50' r='50' fill='url(%23g)'/%3E%3C/svg%3E");
  --cs-ring: url("data:image/svg+xml,%3Csvg viewBox='0 0 461 461' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg opacity='0.24'%3E%3Cpath d='M197.57 285.381V153.667H219.522V285.381C219.522 333.877 180.208 373.191 131.713 373.191V351.238C168.084 351.238 197.57 321.753 197.57 285.381Z' fill='%23D7D285'/%3E%3Cpath d='M263.43 181.107L263.43 268.917L241.478 268.917L241.478 181.107C241.478 132.611 280.791 93.2977 329.287 93.2977L329.287 115.25C292.915 115.25 263.43 144.735 263.43 181.107Z' fill='%23D7D285'/%3E%3Cpath d='M439.048 230.5C439.048 115.322 345.678 21.9524 230.5 21.9524C115.322 21.9524 21.9524 115.322 21.9524 230.5C21.9524 345.678 115.322 439.048 230.5 439.048V461C103.198 461 0 357.802 0 230.5C0 103.198 103.198 0 230.5 0C357.802 0 461 103.198 461 230.5C461 357.802 357.802 461 230.5 461V439.048C345.678 439.048 439.048 345.678 439.048 230.5Z' fill='%23D7D285'/%3E%3C/g%3E%3C/svg%3E");
  --cs-wave: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 -6 1432 64%22 preserveAspectRatio=%22none%22%3E%3Cdefs%3E%3ClinearGradient id=%22g%22 gradientUnits=%22userSpaceOnUse%22 x1=%220%22 y1=%220%22 x2=%221416%22 y2=%220%22%3E%3Cstop offset=%220%22 stop-color=%22%23827D2A%22/%3E%3Cstop offset=%221%22 stop-color=%22%23A18440%22/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d=%22M0.00 22.77 C0.00 22.77 62.44 51.54 181.50 51.54 C316.16 51.54 408.99 0.50 535.00 0.50 C661.01 0.50 762.44 46.52 888.00 51.54 C1006.63 56.28 1194.75 22.77 1194.75 22.77 C1232.64 15.46 1329.94 5.22 1416.00 22.77%22 fill=%22none%22 stroke=%22url(%23g)%22 stroke-width=%222%22 stroke-dasharray=%228 8%22/%3E%3Ccircle cx=%220%22 cy=%2222.77%22 r=%225.33%22 fill=%22%23827D2A%22/%3E%3Ccircle cx=%221416%22 cy=%2222.77%22 r=%225.33%22 fill=%22%23A18440%22/%3E%3C/svg%3E"); }
body.elementor-page-2033 .cs-h10::before { content: ""; position: absolute; z-index: -1; pointer-events: none; left: 0; right: 0; top: 0; height: 1600px;
  background: var(--cs-ring) calc(50% + 691px) 918px / 580px 580px no-repeat,
    var(--cs-green-c16) calc(50% + 691px) 818px / 780px 780px no-repeat,
    var(--cs-blue-c) calc(50% - 671.5px) 72px / 431px 431px no-repeat; }

body.elementor-page-2033 .cs-h10 .elementor-heading-title { margin: 0; }
body.elementor-page-2033 .cs-h10 .cs-st-body p { margin: 0; }
/* Heading: the text box hugs the text (Figma's auto width); "In 4 Schritten" (500) on its own line. */
body.elementor-page-2033 .cs-h10 .cs-st-h2 .elementor-heading-title { display: inline-block; }
body.elementor-page-2033 .cs-h10 .cs-st-h2 strong { display: block; }
@media (max-width: 1024px) {
  /* Tablet / phone: Figma's text box is 528 px (tablet) or the full width (phone), centred. */
  body.elementor-page-2033 .cs-h10 .cs-st-h2 { width: 100%; }
  body.elementor-page-2033 .cs-h10 .cs-st-h2 .elementor-heading-title { display: block; max-width: 528px; margin: 0 auto; }
  /* The title fills the row (Figma: fill width on tablet / phone). */
  body.elementor-page-2033 .cs-h10 .cs-st-tt { flex: 1 1 auto; min-width: 0; }
}
body.elementor-page-2033 .cs-h10 .animated { animation-duration: .6s; }

/* Step title: "0N." in the icon gradient, then the title; a second title line hangs under the title (Figma: two texts in a row). */
body.elementor-page-2033 .cs-h10 .cs-st-title .elementor-heading-title { display: flex; gap: 8px; }
body.elementor-page-2033 .cs-h10 .cs-st-num { flex: none; background: linear-gradient(139deg, #827D2A 0%, #5F95A8 80%); -webkit-background-clip: text;
  background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }

/* Step icon: the set's normal icon (<img>), the 1.5 px gradient ring and the Figma shadow in CSS; the set's hover icon
   cross-fades in on ::after when the card is hovered, with a small scale (R-icon-hover-scale). */
body.elementor-page-2033 .cs-h10 .cs-st-ico { position: relative; z-index: 0; flex: none; width: 80px; height: 80px; border-radius: 50%;
  box-shadow: 12px 12px 24px rgba(56,60,72,.16); transition: transform .2s ease-out; }
body.elementor-page-2033 .cs-h10 .cs-st-ico::before { content: ""; position: absolute; inset: -1.5px; z-index: -1; border-radius: 50%;
  background: linear-gradient(139deg, #827D2A 0%, #5F95A8 80%); }
body.elementor-page-2033 .cs-h10 .cs-st-ico img { display: block; width: 80px; height: 80px; border-radius: 50%; }
body.elementor-page-2033 .cs-h10 .cs-st-ico::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; opacity: 0;
  border-radius: 50%; background: var(--cs-icon-hover) center / 80px 80px no-repeat; transition: opacity .2s ease-out; }
body.elementor-page-2033 .cs-h10 .cs-st-ico-08 { --cs-icon-hover: url("/wp-content/uploads/2026/10/icon-set-08-hover.svg"); }
body.elementor-page-2033 .cs-h10 .cs-st-ico-09 { --cs-icon-hover: url("/wp-content/uploads/2026/10/icon-set-09-hover.svg"); }
body.elementor-page-2033 .cs-h10 .cs-st-ico-10 { --cs-icon-hover: url("/wp-content/uploads/2026/10/icon-set-10-hover.svg"); }
body.elementor-page-2033 .cs-h10 .cs-st-ico-11 { --cs-icon-hover: url("/wp-content/uploads/2026/10/icon-set-11-hover.svg"); }
body.elementor-page-2033 .cs-h10 .cs-st-card:hover .cs-st-ico { transform: scale(1.06); }
body.elementor-page-2033 .cs-h10 .cs-st-card:hover .cs-st-ico::after { opacity: 1; }

/* ---------- Timeline (desktop / tablet): the Nested Carousel's slides as an alternating grid (Swiper's transform and
   widths neutralised; the carousel only slides on phones), the path drawing (HTML widget) behind the cards. ---------- */
body.elementor-page-2033 .cs-h10 .cs-st-timeline { position: relative; }
body.elementor-page-2033 .cs-h10 .cs-st-steps { position: relative; z-index: 1; }
body.elementor-page-2033 .cs-h10 .cs-st-steps .swiper-slide { height: auto; display: flex; flex-direction: column; }
body.elementor-page-2033 .cs-h10 .cs-st-steps .swiper-slide > .cs-st-card { flex: 1 0 auto; height: auto; }
body.elementor-page-2033 .cs-h10 .cs-st-card > .elementor-element { flex-shrink: 0; }
body.elementor-page-2033 .cs-h10 .cs-st-card > .cs-st-text { flex: 1 1 0; min-width: 0; }
@media (min-width: 768px) {
  body.elementor-page-2033 .cs-h10 .cs-st-steps .e-n-carousel { overflow: visible; }
  /* Rows: card tops 0 / 100 / 322 / 422 (desktop), 0 / 65 / 374 / 469 (tablet); 01 / 03 right, 02 / 04 left. */
  body.elementor-page-2033 .cs-h10 .cs-st-steps .swiper-wrapper { display: grid; grid-template-columns: 500px minmax(0, 1fr) 500px;
    grid-template-rows: 100px 222px 100px auto; transform: none !important; }
  body.elementor-page-2033 .cs-h10 .cs-st-steps .swiper-slide { width: auto !important; margin: 0 !important; align-self: start; }
  body.elementor-page-2033 .cs-h10 .cs-st-steps .swiper-slide > .cs-st-card { flex: 0 0 auto; }
  body.elementor-page-2033 .cs-h10 .cs-st-steps .swiper-slide[data-slide="1"] { grid-column: 3; grid-row: 1 / span 2; }
  body.elementor-page-2033 .cs-h10 .cs-st-steps .swiper-slide[data-slide="2"] { grid-column: 1; grid-row: 2 / span 2; }
  body.elementor-page-2033 .cs-h10 .cs-st-steps .swiper-slide[data-slide="3"] { grid-column: 3; grid-row: 3 / span 2; }
  body.elementor-page-2033 .cs-h10 .cs-st-steps .swiper-slide[data-slide="4"] { grid-column: 1; grid-row: 4; }
  /* The drawing: 1198 × 784 design px (tablet 896 × 879) from the timeline's top, centred; the cards' fill covers the
     connector ends where a narrow tablet squeezes the columns. */
  body.elementor-page-2033 .cs-h10 .cs-st-fx { position: absolute; z-index: 0; top: 0; left: 0; width: 1198px; max-width: none; margin-left: calc(50% - 599px); pointer-events: none; }
  body.elementor-page-2033 .cs-h10 .cs-st-svg { display: block; width: 100%; height: auto; overflow: visible; }
  body.elementor-page-2033 .cs-h10 .cs-st-t { display: none; }
}
@media (min-width: 768px) and (max-width: 1024px) {
  body.elementor-page-2033 .cs-h10 .cs-st-steps .swiper-wrapper { grid-template-columns: minmax(0, 349px) minmax(150px, 1fr) minmax(0, 349px);
    grid-template-rows: 65px 309px 95px auto; }
  body.elementor-page-2033 .cs-h10 .cs-st-fx { width: 896px; margin-left: calc(50% - 448px); }
  body.elementor-page-2033 .cs-h10 .cs-st-d { display: none; }
  body.elementor-page-2033 .cs-h10 .cs-st-t { display: block; }
}
/* Circles: dot (24 px) or numbered badge (52 px). Static design = badge 01, dots 02–04 (class is-on); the script toggles
   is-on as the line reaches each circle. */
body.elementor-page-2033 .cs-h10 .cs-st-dot, body.elementor-page-2033 .cs-h10 .cs-st-badge { transform-box: fill-box; transform-origin: center;
  transition: opacity .35s ease-out, transform .45s cubic-bezier(.2, .9, .3, 1.25); }
body.elementor-page-2033 .cs-h10 .cs-st-node:not(.is-on) .cs-st-badge { opacity: 0; transform: scale(.4); }
body.elementor-page-2033 .cs-h10 .cs-st-node.is-on .cs-st-dot { opacity: 0; transform: scale(1.6); }
body.elementor-page-2033 .cs-h10 .cs-st-dot > circle:first-child, body.elementor-page-2033 .cs-h10 .cs-st-badge > circle { filter: drop-shadow(12px 12px 12px rgba(56,60,72,.16)); }
body.elementor-page-2033 .cs-h10 .cs-st-badge text { font-family: 'cs-Futura', 'Futura', Arial, sans-serif; font-size: 24px; font-weight: 500;
  letter-spacing: -0.48px; fill: #FFFFFF; }

/* ---------- Phone: swipe slider as the frame (card 342 + 16 gap, the next card peeks in). Each slide carries its piece
   of the wave (::before, 4 × 358 px cut by background-position), its circle (::after: the active slide's is the
   numbered badge, Figma's 01) and the connector to the card (card ::before). ---------- */
@media (max-width: 767px) {
  body.elementor-page-2033 .cs-h10 .cs-st-fx { display: none; }
  /* No card entrance on the phone (animation_mobile none): off-screen slides show at once when swiped in. */
  body.elementor-page-2033 .cs-h10 .cs-st-card.elementor-invisible { visibility: visible; }
  body.elementor-page-2033 .cs-h10 .cs-st-steps .e-n-carousel { overflow: visible; clip-path: inset(-40px -100vw -40px -8px); }
  body.elementor-page-2033 .cs-h10 .cs-st-steps .swiper-slide { position: relative; padding-top: 128px; --cs-ny: 63px; --cs-num: "01"; }
  body.elementor-page-2033 .cs-h10 .cs-st-steps .swiper-slide[data-slide="2"] { --cs-ny: 12px; --cs-num: "02"; }
  body.elementor-page-2033 .cs-h10 .cs-st-steps .swiper-slide[data-slide="3"] { --cs-ny: 62px; --cs-num: "03"; }
  body.elementor-page-2033 .cs-h10 .cs-st-steps .swiper-slide[data-slide="4"] { --cs-ny: 26px; --cs-num: "04"; }
  body.elementor-page-2033 .cs-h10 .cs-st-steps .swiper-slide::before { content: ""; position: absolute; z-index: 0; pointer-events: none; left: 0; top: 6px;
    width: calc(100% + 16px); height: 64px; background: var(--cs-wave) 0 0 / 400% 100% no-repeat; }
  /* Slide 1: the box starts 6 px further left and draws the wave's start dot itself (the SVG cuts it at its edge). */
  body.elementor-page-2033 .cs-h10 .cs-st-steps .swiper-slide[data-slide="1"]::before { left: -6px; width: calc(100% + 22px);
    background: radial-gradient(circle at 6px 28.77px, #827D2A 5.33px, transparent 5.83px) 0 0 / 100% 100% no-repeat,
      var(--cs-wave) 6px 0 / calc(400% - 24px) 100% no-repeat; }
  body.elementor-page-2033 .cs-h10 .cs-st-steps .swiper-slide[data-slide="2"]::before { background-position: 33.3333% 0; }
  body.elementor-page-2033 .cs-h10 .cs-st-steps .swiper-slide[data-slide="3"]::before { background-position: 66.6667% 0; }
  body.elementor-page-2033 .cs-h10 .cs-st-steps .swiper-slide[data-slide="4"]::before { background-position: 100% 0; }
  body.elementor-page-2033 .cs-h10 .cs-st-steps .swiper-slide::after { content: ""; position: absolute; z-index: 2; box-sizing: border-box;
    left: calc(50% - 12px); top: calc(var(--cs-ny) - 12px); width: 24px; height: 24px; border-radius: 50%; border: 1.5px solid transparent;
    background: radial-gradient(circle, #6F8A62 0 4px, transparent 4.5px) padding-box, linear-gradient(#FBFBF8, #FBFBF8) padding-box,
      linear-gradient(139deg, #827D2A 0%, #5F95A8 80%) border-box;
    box-shadow: 12px 12px 24px rgba(56,60,72,.16); color: #FFFFFF; font: 500 24px/49px 'cs-Futura', 'Futura', Arial, sans-serif;
    letter-spacing: -0.48px; text-align: center; overflow: hidden;
    transition: width .4s ease-out, height .4s ease-out, left .4s ease-out, top .4s ease-out; }
  body.elementor-page-2033 .cs-h10 .cs-st-steps .swiper-slide-active::after { content: var(--cs-num); left: calc(50% - 26px); top: calc(var(--cs-ny) - 26px);
    width: 52px; height: 52px; background: linear-gradient(139deg, #827D2A 0%, #5F95A8 80%) padding-box,
      linear-gradient(139deg, #827D2A 0%, #5F95A8 80%) border-box; }
  body.elementor-page-2033 .cs-h10 .cs-st-card { position: relative; }
  body.elementor-page-2033 .cs-h10 .cs-st-card::before { content: ""; position: absolute; left: calc(50% - .5px); width: 1px; pointer-events: none;
    top: calc(var(--cs-ny) - 129px); height: calc(128px - var(--cs-ny)); background: linear-gradient(#827D2A, #5F95A8); opacity: .24; }
}

/* CTA: label + the white arrow circle (ui-button-pfeil-kreis; arrow #343A40) as a background image; on hover the pill
   darkens (button control) and the arrow moves 4 px. Same pattern as 02-hero / 03. */
body.elementor-page-2033 .cs-h10 .cs-cta .elementor-button { display: inline-flex; align-items: center; justify-content: center; gap: 16px; min-height: 64px; transition: background-color .2s ease-out; }
body.elementor-page-2033 .cs-h10 .cs-cta .elementor-button::after { content: ""; flex: none; width: 48px; height: 48px; background: url("data:image/svg+xml,%3Csvg width='48' height='48' viewBox='0 0 48 48' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='48' height='48' rx='24' fill='white'/%3E%3Cpath d='M15.75 24H32.25' stroke='%23343A40' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M25.5 17.25L32.25 24L25.5 30.75' stroke='%23343A40' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 48px 48px no-repeat; margin-block: -8px; transition: transform .2s ease-out; }
body.elementor-page-2033 .cs-h10 .cs-cta .elementor-button:hover::after, body.elementor-page-2033 .cs-h10 .cs-cta .elementor-button:focus-visible::after { transform: translateX(4px); }
body.elementor-page-2033 .cs-h10 .cs-cta .elementor-button:focus-visible { outline: 3px solid #4A7C8E; outline-offset: 3px; }

@media (max-width: 1024px) {
  body.elementor-page-2033 .cs-h10::before {
    background: var(--cs-ring) right 0 top 1054px / 365px 365px no-repeat,
      var(--cs-green-c16) right -63px top 992px / 491px 491px no-repeat,
      var(--cs-blue-c) left -78px top 146px / 355px 355px no-repeat; }
}
@media (max-width: 767px) {
  body.elementor-page-2033 .cs-h10::before {
    background: var(--cs-ring) right -28.5px top 674px / 171px 171px no-repeat,
      var(--cs-green-c16) right -58px top 645px / 230px 230px no-repeat; }
}
@media (prefers-reduced-motion: reduce) {
  body.elementor-page-2033 .cs-h10 .cs-st-dot, body.elementor-page-2033 .cs-h10 .cs-st-badge, body.elementor-page-2033 .cs-h10 .cs-st-ico, body.elementor-page-2033 .cs-h10 .cs-st-ico::after,
  body.elementor-page-2033 .cs-h10 .cs-st-steps .swiper-slide::after { transition: none !important; }
}

/* build/home-11-goal/site.css */
/* home 11-goal (LP10816). Section CSS beyond the V3 controls; every rule under body.elementor-page-2033 .cs-h11.
   Root carries the menu anchor #ueber-jrbuero ("Über JRBuero"). */

/* Background (decorative, no DOM): beige panel (Figma Rectangle 34625441 / 1:1498 / 1:3144, 1050 px tall). The rect is
   rotated 180° in Figma, read from the render: big radius top right 280 / 164 / 80, bottom left 48 / 32 / 16; #EBE9C7
   solid down to 8.5 %, transparent at the bottom. Ellipse 27 + the JR ring at the top right are 10-steps'. */
body.elementor-page-2033 .cs-h11 { position: relative; isolation: isolate; }
body.elementor-page-2033 .cs-h11::before { content: ""; position: absolute; z-index: -1; pointer-events: none; left: 0; right: 0; top: 58px;
  height: 1050px; border-radius: 0 280px 0 48px;
  background: linear-gradient(180deg, #EBE9C7 8.5%, rgba(251,251,248,0) 100%); }

body.elementor-page-2033 .cs-h11 .elementor-heading-title { margin: 0; }
body.elementor-page-2033 .cs-h11 .cs-h11-text p, body.elementor-page-2033 .cs-h11 .cs-h11-boxtext p { margin: 0; }
/* Paragraphs: one empty line between them (Figma's double line separator). */
body.elementor-page-2033 .cs-h11 .cs-h11-text p + p { margin-top: 1.64em; }
/* Figma's crop (STRETCH fill, read from the renders): the upper part of the portrait photo. */
body.elementor-page-2033 .cs-h11 .cs-h11-photo img { display: block; object-position: 50% 17%; }
body.elementor-page-2033 .cs-h11 .cs-h11-boxtext { flex: 1 1 0; min-width: 0; }

/* Entrances (PM Loom 3:04–3:11): photo from the left, goal box from below. Shorter travel than animate.css's 100 %. */
body.elementor-page-2033 .cs-h11 .animated { animation-duration: .6s; }
@keyframes cs-h11-in-left { from { opacity: 0; transform: translate3d(-80px, 0, 0); } to { opacity: 1; transform: none; } }
@keyframes cs-h11-in-up { from { opacity: 0; transform: translate3d(0, 60px, 0); } to { opacity: 1; transform: none; } }
body.elementor-page-2033 .cs-h11 .animated.fadeInLeft { animation-name: cs-h11-in-left; }
body.elementor-page-2033 .cs-h11 .animated.fadeInUp { animation-name: cs-h11-in-up; }

/* Goal box: Figma shadow; hover (pointer) = the project's card pattern: the shadow deepens, the icon scales and
   cross-fades to the set's hover icon. Not a link, so no tint. */
body.elementor-page-2033 .cs-h11 .cs-h11-box { box-shadow: 12px 12px 32px rgba(56,60,72,.24); transition: box-shadow .3s ease-out; }

/* Icon circle: 80 px, the 2.5 px gradient outer ring and the Figma shadow in CSS (07's pattern). */
body.elementor-page-2033 .cs-h11 .cs-h11-ico { position: relative; width: 80px; height: 80px; border-radius: 50%;
  box-shadow: 12px 12px 24px rgba(56,60,72,.16); transition: transform .2s ease-out; }
body.elementor-page-2033 .cs-h11 .cs-h11-ico::before { content: ""; position: absolute; inset: -2.5px; border-radius: 50%; z-index: 0;
  background: linear-gradient(139deg, #827D2A 0%, #5F95A8 80%); }
body.elementor-page-2033 .cs-h11 .cs-h11-ico .elementor-widget-container, body.elementor-page-2033 .cs-h11 .cs-h11-ico img { position: relative; z-index: 1; }
body.elementor-page-2033 .cs-h11 .cs-h11-ico img { display: block; width: 80px; height: 80px; border-radius: 50%; background: #FBFBF8; }
body.elementor-page-2033 .cs-h11 .cs-h11-ico::after { content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none; opacity: 0;
  border-radius: 50%; background: url("/wp-content/uploads/2026/10/icon-set-12-hover.svg") center / 80px 80px no-repeat;
  transition: opacity .2s ease-out; }
@media (hover: hover) {
  body.elementor-page-2033 .cs-h11 .cs-h11-box:hover { box-shadow: 16px 16px 40px rgba(56,60,72,.32); }
  body.elementor-page-2033 .cs-h11 .cs-h11-box:hover .cs-h11-ico { transform: scale(1.06); }
  body.elementor-page-2033 .cs-h11 .cs-h11-box:hover .cs-h11-ico::after { opacity: 1; }
}

/* Tablet / phone: the heading moves above the photo; the text column dissolves (display: contents) so heading, text and
   box become items of the main row (wrap). */
@media (max-width: 1024px) {
  body.elementor-page-2033 .cs-h11::before { top: 26px; border-radius: 0 164px 0 32px; }
  body.elementor-page-2033 .cs-h11 .cs-h11-col { display: contents; }
  body.elementor-page-2033 .cs-h11 .cs-h11-photo img { object-position: 50% 25%; }
  body.elementor-page-2033 .cs-h11 .cs-h11-h2 { order: -1; flex: 0 0 100%; width: 100%; }
  body.elementor-page-2033 .cs-h11 .cs-h11-text { flex: 0 0 424px; width: 424px; align-self: center; }
  body.elementor-page-2033 .cs-h11 .cs-h11-box { flex: 0 0 100%; width: 100%; }
}
@media (max-width: 767px) {
  body.elementor-page-2033 .cs-h11::before { top: 0; border-radius: 0 80px 0 16px; }
  body.elementor-page-2033 .cs-h11 .cs-h11-h2, body.elementor-page-2033 .cs-h11 .cs-h11-text, body.elementor-page-2033 .cs-h11 .cs-h11-box { flex: 0 0 auto; width: 100%; }
  body.elementor-page-2033 .cs-h11 .cs-h11-photo { width: 100%; }
  body.elementor-page-2033 .cs-h11 .cs-h11-photo img { width: 100%; object-position: 50% 27%; }
  body.elementor-page-2033 .cs-h11 .cs-h11-boxtext { flex: 0 0 auto; width: 100%; }
}

/* build/home-12-location/site.css */
/* home 12-location (LP10816): Hamburg map, contact boxes, ideaLAB. Every rule under body.elementor-page-2033 .cs-h12.
   Reused on unternehmen 14-location: replace .cs-h12 / cs-h12- (gen.py P["cls"]); nothing else is page-specific. */

/* Background (decorative, no DOM), root ::after, design px: Ellipse 19 (top left), Ellipse 22 + JR ring (Group 5,
   deko-jr-ring recoloured #BCD2DA, 24 %), Ellipse 20 (light green 24 %, 0 at 33 %), Ellipse 23 (bottom right, reaching
   into 13-faq as in Figma); phone: Ellipse 31 (top left, starts 13 px above the band; 11-goal leaves it to us).
   x from the centre: calc(50% + X − (frame width − size) / 2); the ::after starts 20 px above the root. */
body.elementor-page-2033 .cs-h12 { position: relative; isolation: isolate;
  --cs-blue-c: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23BCD2DA' stop-opacity='.24'/%3E%3Cstop offset='.5' stop-color='%23BCD2DA' stop-opacity='0'/%3E%3C/linearGradient%3E%3C/defs%3E%3Ccircle cx='50' cy='50' r='50' fill='url(%23g)'/%3E%3C/svg%3E");
  --cs-green-c33: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23D7D285' stop-opacity='.24'/%3E%3Cstop offset='.33' stop-color='%23D7D285' stop-opacity='0'/%3E%3C/linearGradient%3E%3C/defs%3E%3Ccircle cx='50' cy='50' r='50' fill='url(%23g)'/%3E%3C/svg%3E");
  --cs-green-c50: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23D7D285' stop-opacity='.24'/%3E%3Cstop offset='.5' stop-color='%23D7D285' stop-opacity='0'/%3E%3C/linearGradient%3E%3C/defs%3E%3Ccircle cx='50' cy='50' r='50' fill='url(%23g)'/%3E%3C/svg%3E");
  --cs-ring: url("data:image/svg+xml,%3Csvg viewBox='0 0 461 461' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg opacity='0.24'%3E%3Cpath d='M197.57 285.381V153.667H219.522V285.381C219.522 333.877 180.208 373.191 131.713 373.191V351.238C168.084 351.238 197.57 321.753 197.57 285.381Z' fill='%23BCD2DA'/%3E%3Cpath d='M263.43 181.107L263.43 268.917L241.478 268.917L241.478 181.107C241.478 132.611 280.791 93.2977 329.287 93.2977L329.287 115.25C292.915 115.25 263.43 144.735 263.43 181.107Z' fill='%23BCD2DA'/%3E%3Cpath d='M439.048 230.5C439.048 115.322 345.678 21.9524 230.5 21.9524C115.322 21.9524 21.9524 115.322 21.9524 230.5C21.9524 345.678 115.322 439.048 230.5 439.048V461C103.198 461 0 357.802 0 230.5C0 103.198 103.198 0 230.5 0C357.802 0 461 103.198 461 230.5C461 357.802 357.802 461 230.5 461V439.048C345.678 439.048 439.048 345.678 439.048 230.5Z' fill='%23BCD2DA'/%3E%3C/g%3E%3C/svg%3E"); }
body.elementor-page-2033 .cs-h12::after { content: ""; position: absolute; z-index: -1; pointer-events: none; left: 0; right: 0; top: -20px; bottom: -340px;
  background: var(--cs-ring) calc(50% + 712px) 556px / 220px 220px no-repeat,
    var(--cs-blue-c) calc(50% + 712px) 521px / 290px 290px no-repeat,
    var(--cs-green-c33) calc(50% + 874px) 673px / 526px 526px no-repeat,
    var(--cs-blue-c) calc(50% + 719.5px) 1199px / 431px 431px no-repeat,
    var(--cs-blue-c) calc(50% - 885px) 41px / 330px 330px no-repeat; }
@media (max-width: 1024px) {
  body.elementor-page-2033 .cs-h12::after { bottom: 0;
    background: var(--cs-ring) calc(50% + 402.5px) 602px / 165px 165px no-repeat,
      var(--cs-blue-c) calc(50% + 403px) 575px / 218px 218px no-repeat,
      var(--cs-green-c33) calc(50% + 524.5px) 690px / 395px 395px no-repeat,
      var(--cs-blue-c) calc(50% - 434px) 109px / 200px 200px no-repeat; }
}
@media (max-width: 767px) {
  body.elementor-page-2033 .cs-h12::after {
    background: var(--cs-ring) calc(50% + 145px) 948px / 108.5px 108.5px no-repeat,
      var(--cs-blue-c) calc(50% + 145.5px) 930px / 143px 143px no-repeat,
      var(--cs-green-c50) calc(50% + 224.5px) 1006px / 259px 259px no-repeat,
      var(--cs-blue-c) calc(50% - 168.5px) 7px / 175px 175px no-repeat; }
}

body.elementor-page-2033 .cs-h12 .elementor-heading-title { margin: 0; }
body.elementor-page-2033 .cs-h12 .elementor-widget-text-editor p { margin: 0; }
/* Paragraphs: one empty line between them (Figma's double line separator). */
body.elementor-page-2033 .cs-h12 .cs-h12-text p + p { margin-top: 1.64em; }

/* Map: inline SVG in an HTML widget (user 2026-10-10: animate once on scroll-in; supersedes the PM's "static" from Loom 3:11).
   The Figma frame's drop shadow in CSS. The script adds .cs-map-pre (start state) then .cs-map-go (in view); the final
   state is the plain SVG. Pin drops in (0–.55 s) with one soft pulse ring, lines draw outward from Hamburg (--t/--d per
   line, set in gen.py), each dot pops in as its line arrives. Reduced motion: no classes, no animation. */
body.elementor-page-2033 .cs-h12 .cs-h12-map svg { display: block; width: 100%; height: auto; overflow: visible; filter: drop-shadow(12px 12px 12px rgba(56,60,72,.16)); }
body.elementor-page-2033 .cs-h12 .cs-map-dt circle, body.elementor-page-2033 .cs-h12 .cs-map-pin, body.elementor-page-2033 .cs-h12 .cs-map-pulse { transform-box: fill-box; transform-origin: 50% 50%; }
body.elementor-page-2033 .cs-h12 .cs-map-pin { transform-origin: 50% 100%; }
body.elementor-page-2033 .cs-h12 .cs-map-pre .cs-map-ln path { stroke-dasharray: 1; stroke-dashoffset: 1; }
body.elementor-page-2033 .cs-h12 .cs-map-pre .cs-map-dt circle, body.elementor-page-2033 .cs-h12 .cs-map-pre .cs-map-pin, body.elementor-page-2033 .cs-h12 .cs-map-pre .cs-map-lbl { opacity: 0; }
body.elementor-page-2033 .cs-h12 .cs-map-go .cs-map-ln path { stroke-dasharray: 1; animation: cs-map-draw var(--d) cubic-bezier(.4,0,.2,1) var(--t) both; }
body.elementor-page-2033 .cs-h12 .cs-map-go .cs-map-dt circle { animation: cs-map-dot .45s cubic-bezier(.3,0,.2,1) var(--t) both; }
body.elementor-page-2033 .cs-h12 .cs-map-go .cs-map-pin { animation: cs-map-pin .55s cubic-bezier(.3,0,.25,1) both; }
body.elementor-page-2033 .cs-h12 .cs-map-go .cs-map-lbl { animation: cs-map-fade .5s ease-out .25s both; }
body.elementor-page-2033 .cs-h12 .cs-map-go .cs-map-pulse { animation: cs-map-pulse 1.8s cubic-bezier(.2,0,.3,1) .5s 2 both; }
@keyframes cs-map-draw { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
@keyframes cs-map-dot { 0% { opacity: 0; transform: scale(.3); } 60% { opacity: 1; transform: scale(1.15); } 100% { opacity: 1; transform: scale(1); } }
@keyframes cs-map-pin { 0% { opacity: 0; transform: translateY(-18px); } 60% { opacity: 1; } 100% { opacity: 1; transform: translateY(0); } }
@keyframes cs-map-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes cs-map-pulse { 0% { opacity: .55; transform: scale(.6); } 100% { opacity: 0; transform: scale(3.2); } }
@media (prefers-reduced-motion: reduce) {
  body.elementor-page-2033 .cs-h12 .cs-map-pre *, body.elementor-page-2033 .cs-h12 .cs-map-go * { animation: none !important; opacity: 1; stroke-dashoffset: 0; transform: none; }
  body.elementor-page-2033 .cs-h12 .cs-map-pulse { display: none; }
}

/* Contact boxes: outline at rest; hover (pointer) = soft shadow, icon scale + cross-fade to the set's hover icon. */
body.elementor-page-2033 .cs-h12 .cs-h12-box { transition: box-shadow .3s ease-out; }
body.elementor-page-2033 .cs-h12 .cs-h12-btext { --width: auto; flex: 1 1 0; min-width: 0; }
/* Values keep Figma's explicit line breaks (Futura BT is wider; a line may run into the 32 px box padding). */
body.elementor-page-2033 .cs-h12 .cs-h12-value p { white-space: nowrap; }
/* Heading: Figma breaks after "dich" on the phone only. */
body.elementor-page-2033 .cs-h12 .cs-h12-h2 br.cs-brm { display: none; }
@media (max-width: 767px) { body.elementor-page-2033 .cs-h12 .cs-h12-h2 br.cs-brm { display: inline; } }
body.elementor-page-2033 .cs-h12 .cs-h12-value .cs-lbl { font-weight: 400; color: rgba(56,60,72,.48); }
body.elementor-page-2033 .cs-h12 .cs-h12-value a { color: inherit; text-decoration: none; }
body.elementor-page-2033 .cs-h12 .cs-h12-value a:hover, body.elementor-page-2033 .cs-h12 .cs-h12-value a:focus-visible { color: #4A7C8E; text-decoration: underline; text-underline-offset: 3px; }

/* Icon circle: 80 px, the 2.5 px gradient outer ring and the Figma shadow in CSS (07/11 pattern). */
body.elementor-page-2033 .cs-h12 .cs-h12-ico { position: relative; width: 80px; height: 80px; border-radius: 50%;
  box-shadow: 12px 12px 24px rgba(56,60,72,.16); transition: transform .2s ease-out; }
body.elementor-page-2033 .cs-h12 .cs-h12-ico::before { content: ""; position: absolute; inset: -2.5px; border-radius: 50%; z-index: 0;
  background: linear-gradient(139deg, #827D2A 0%, #5F95A8 80%); }
body.elementor-page-2033 .cs-h12 .cs-h12-ico .elementor-widget-container, body.elementor-page-2033 .cs-h12 .cs-h12-ico img { position: relative; z-index: 1; }
body.elementor-page-2033 .cs-h12 .cs-h12-ico img { display: block; width: 80px; height: 80px; border-radius: 50%; background: #FBFBF8; }
body.elementor-page-2033 .cs-h12 .cs-h12-ico::after { content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none; opacity: 0;
  border-radius: 50%; background: center / 80px 80px no-repeat; transition: opacity .2s ease-out; }
body.elementor-page-2033 .cs-h12 .cs-h12-ico-addr::after { background-image: url("/wp-content/uploads/2026/10/icon-set-17-hover.svg"); }
body.elementor-page-2033 .cs-h12 .cs-h12-ico-time::after { background-image: url("/wp-content/uploads/2026/10/icon-set-16-hover.svg"); }
body.elementor-page-2033 .cs-h12 .cs-h12-ico-tel::after { background-image: url("/wp-content/uploads/2026/10/icon-set-18-hover.svg"); }
@media (hover: hover) {
  body.elementor-page-2033 .cs-h12 .cs-h12-box:hover { box-shadow: 12px 12px 24px rgba(56,60,72,.16); }
  body.elementor-page-2033 .cs-h12 .cs-h12-box:hover .cs-h12-ico { transform: scale(1.06); }
  body.elementor-page-2033 .cs-h12 .cs-h12-box:hover .cs-h12-ico::after { opacity: 1; }
}

/* ideaLAB photo: cover crop. */
body.elementor-page-2033 .cs-h12 .cs-h12-photo img { display: block; object-position: 50% 0%; }

/* CTA: label + the white arrow circle (Figma 'orange' frame + ArrowRight #343A40) as ::after; pill darkens on hover
   (button control), the arrow moves 4 px (02-hero pattern). */
body.elementor-page-2033 .cs-h12 .cs-cta .elementor-button { display: inline-flex; align-items: center; justify-content: center; gap: 16px; min-height: 64px; transition: background-color .2s ease-out; }
body.elementor-page-2033 .cs-h12 .cs-cta .elementor-button::after { content: ""; flex: none; width: 48px; height: 48px; background: url("data:image/svg+xml,%3Csvg width='48' height='48' viewBox='0 0 48 48' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='48' height='48' rx='24' fill='white'/%3E%3Cpath d='M15.75 24H32.25' stroke='%23343A40' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M25.5 17.25L32.25 24L25.5 30.75' stroke='%23343A40' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 48px 48px no-repeat; margin-block: -8px; transition: transform .2s ease-out; }
body.elementor-page-2033 .cs-h12 .cs-cta .elementor-button:hover::after, body.elementor-page-2033 .cs-h12 .cs-cta .elementor-button:focus-visible::after { transform: translateX(4px); }

/* Entrances (PM Loom 3:11–3:19): the three boxes fly in from the left, staggered; shorter travel than animate.css. */
body.elementor-page-2033 .cs-h12 .animated { animation-duration: .6s; }
@keyframes cs-h12-in-left { from { opacity: 0; transform: translate3d(-80px, 0, 0); } to { opacity: 1; transform: none; } }
body.elementor-page-2033 .cs-h12 .animated.fadeInLeft { animation-name: cs-h12-in-left; }

/* Tablet: boxes in a row of three equal columns; phone: stacked full width. */
@media (max-width: 1024px) {
  body.elementor-page-2033 .cs-h12 .cs-h12-box { flex: 1 1 0; min-width: 0; }
  body.elementor-page-2033 .cs-h12 .cs-h12-btext { --width: 100%; flex: 0 0 auto; width: 100%; }
  /* Polish 2026-10-10: below ~1000 px the three boxes get too narrow for the nowrap values (at 768 'Mo. bis Do. 08.00–17.00 Uhr'
     ran ~50 px into the next box): values may wrap on tablets. At 1024 they still fit on one line. */
  body.elementor-page-2033 .cs-h12 .cs-h12-value p { white-space: normal; }
}
@media (max-width: 767px) {
  body.elementor-page-2033 .cs-h12 .cs-h12-box { flex: 0 0 auto; width: 100%; }
  body.elementor-page-2033 .cs-h12 .cs-h12-photo, body.elementor-page-2033 .cs-h12 .cs-h12-photo img { width: 100%; }
  body.elementor-page-2033 .cs-h12 .cs-h12-map, body.elementor-page-2033 .cs-h12 .cs-h12-map svg { width: 100%; max-width: 342px; }
}

/* build/home-13-faq/site.css */
/* home 13-faq (lp10816). Section CSS beyond the V3 controls; every rule under body.elementor-page-2033 .cs-h13. */

/* Office photo (Figma Rectangle 34625442 / 1:1615 / 1:3261), decorative, no DOM: faq-hintergrund.webp (attachment 1908)
   as cover, black overlay 24 % (tablet/phone 32 %), radius TL 280 (164 / 80). Figma's rect runs 338 / 274 / 250 px below
   the band: on the assembled page it continues under the footer (home 14: z-index 1, rounded top-right 280/164/80), so
   the photo shows in the footer's corner. The root clips only sideways (cs-zoom: overflow-x clip). */
body.elementor-page-2033 .cs-h13 { position: relative; isolation: isolate; }
/* width/height auto (polish 2026-10-10): Elementor's .e-con::before sets height 100 %, which overrode the bottom
   offset, so the photo stopped ~45 px below the band instead of filling the footer's rounded corner. */
body.elementor-page-2033 .cs-h13::before { content: ""; position: absolute; z-index: -1; pointer-events: none; left: 0; right: 0; width: auto; height: auto;
  top: 45px; bottom: -338px; border-radius: 280px 0 0 0;
  background: linear-gradient(rgba(0,0,0,.24), rgba(0,0,0,.24)),
    url("/wp-content/uploads/2026/10/faq-hintergrund.webp") 38.8% 47% / 160% auto no-repeat; }
/* Soft light-green glow top left (Figma Ellipse 28: #D7D285, 0 → 32.6 % of its height, 24 %). */
body.elementor-page-2033 .cs-h13::after { content: ""; position: absolute; z-index: -1; pointer-events: none; left: 89px; top: 245px;
  width: 526px; height: 526px; border-radius: 50%;
  background: linear-gradient(180deg, rgba(215,210,133,.24) 0%, rgba(215,210,133,0) 32.6%); }

body.elementor-page-2033 .cs-h13 .elementor-heading-title { margin: 0; }
body.elementor-page-2033 .cs-h13 .cs-h13-l2 { display: block; }
body.elementor-page-2033 .cs-h13 .cs-h13-panel p, body.elementor-page-2033 .cs-h13 .cs-h13-sc-text p { margin: 0; }
body.elementor-page-2033 .cs-h13 .cs-h13-frame { max-width: 100%; }
body.elementor-page-2033 .cs-h13 .cs-h13-fx { width: 0; height: 0; overflow: hidden; }

/* FAQ items: glass #FBFBF8 16 % + background blur (Figma 48 → CSS 24), radius 16/48/16/16. Closed: padding 24/24/24/32;
   open: 32 (phone 24 both). Title row: question + the 50 px plus/minus circle (::after of the <summary>), gap 24. */
body.elementor-page-2033 .cs-h13 .elementor-widget-n-accordion { --n-accordion-border-width: 0px; --n-accordion-padding: 0px;
  --n-accordion-icon-gap: 0; }
body.elementor-page-2033 .cs-h13 .e-n-accordion-item { padding: 0; border-radius: 16px 48px 16px 16px;
  background-color: rgba(251,251,248,.16); -webkit-backdrop-filter: blur(24px); backdrop-filter: blur(24px);
  transition: background-color .25s ease-out; }

/* Open: padding 32, the answer follows the title row by 16. The padding sits on the <summary> and the content container,
   not on the <details> (fix 2026-10-10, "FAQ jumps up and down"): Elementor animates an item's height from/to
   summary.offsetHeight (+ content.offsetHeight), so padding or gap on the <details> made the closing item shrink 48-80 px
   too far and snap back, and the opening one stop short and snap open. Closed summary 24+24 = open summary 32+16. */
body.elementor-page-2033 .cs-h13 .e-n-accordion-item-title { padding: 24px 24px 24px 32px; }
body.elementor-page-2033 .cs-h13 .e-n-accordion-item[open] > .e-n-accordion-item-title { padding: 32px 32px 16px 32px; }
body.elementor-page-2033 .cs-h13 .e-n-accordion-item > .e-con { border: 0; padding: 0 32px 32px 32px; }
body.elementor-page-2033 .cs-h13 .e-n-accordion-item-title { gap: 24px; align-items: center; background: none; border-radius: 0; }
body.elementor-page-2033 .cs-h13 .e-n-accordion-item-title-header { flex: 1 1 0; min-width: 0; }
body.elementor-page-2033 .cs-h13 .e-n-accordion-item-title-text { flex: 1 1 auto; }
body.elementor-page-2033 .cs-h13 .e-n-accordion-item-title-icon { display: none; }
body.elementor-page-2033 .cs-h13 .e-n-accordion-item-title::after { content: ""; flex: none; width: 50px; height: 50px; border-radius: 50%;
  background: url("/wp-content/uploads/2026/10/ui-faq-plus.svg") center / 100% 100% no-repeat;
  background-color: rgba(95,149,168,0);
  transition: transform .2s ease-out, background-color .2s ease-out, box-shadow .2s ease-out; }
body.elementor-page-2033 .cs-h13 .e-n-accordion-item[open] > .e-n-accordion-item-title::after {
  background-image: url("/wp-content/uploads/2026/10/ui-faq-minus.svg"); box-shadow: 12px 12px 24px rgba(56,60,72,.16); }
/* Hover / focus: the glass lightens, the circle turns blue and grows (R-icon-hover-scale); white focus ring on the photo. */
body.elementor-page-2033 .cs-h13 .e-n-accordion-item:hover { background-color: rgba(251,251,248,.24); }
body.elementor-page-2033 .cs-h13 .e-n-accordion-item-title:hover::after,
body.elementor-page-2033 .cs-h13 .e-n-accordion-item-title:focus-visible::after { transform: scale(1.08); background-color: #5F95A8; }
body.elementor-page-2033 .cs-h13 .e-n-accordion-item-title:focus { outline: 0; }
body.elementor-page-2033 .cs-h13 .e-n-accordion-item-title:focus-visible { outline: 2px solid #FFFFFF; outline-offset: 8px; border-radius: 8px; }

/* Steelcase row: logo 186 × 48, text; "Partnerübersicht" → /hersteller-partner/ (underlined, lighter on hover). */
body.elementor-page-2033 .cs-h13 .cs-h13-logo img { display: block; width: 186px; height: 48px; }
@media (min-width: 768px) { body.elementor-page-2033 .cs-h13 .elementor-widget.cs-h13-sc-text { flex: 1 1 0; min-width: 0; width: auto; } }
body.elementor-page-2033 .cs-h13 .cs-h13-sc-text a { color: #FFFFFF; text-decoration: underline; text-underline-offset: 3px;
  text-decoration-thickness: 1px; transition: color .2s ease-out; }
body.elementor-page-2033 .cs-h13 .cs-h13-sc-text a:hover, body.elementor-page-2033 .cs-h13 .cs-h13-sc-text a:focus-visible { color: #BCD2DA; }
body.elementor-page-2033 .cs-h13 .animated { animation-duration: .6s; }

@media (max-width: 1024px) {
  body.elementor-page-2033 .cs-h13::before { top: 21px; bottom: -274px; border-radius: 164px 0 0 0;
    background: linear-gradient(rgba(0,0,0,.32), rgba(0,0,0,.32)),
      url("/wp-content/uploads/2026/10/faq-hintergrund.webp") 50% 50% / cover no-repeat; }
  body.elementor-page-2033 .cs-h13::after { left: 32px; top: 53px; width: 360px; height: 360px; }
}
@media (max-width: 767px) {
  /* Phone: the full 1200 px file (the 828 px phone file would be blurrier still: the 390 px slice of a cover crop is
     ~170 source px). */
  body.elementor-page-2033 .cs-h13::before { top: 34px; bottom: -250px; border-radius: 80px 0 0 0; }
  body.elementor-page-2033 .cs-h13::after { left: 16px; top: 50px; width: 182px; height: 182px; }
  body.elementor-page-2033 .cs-h13 .e-n-accordion-item-title { padding: 24px; }
  body.elementor-page-2033 .cs-h13 .e-n-accordion-item[open] > .e-n-accordion-item-title { padding: 24px 24px 16px 24px; }
  /* While an item closes (class from the effect script) its summary keeps the closed height, so the close animation ends
     where the closed item stands (24+24, not 24+16). */
  body.elementor-page-2033 .cs-h13 .e-n-accordion-item[open].cs-closing > .e-n-accordion-item-title { padding-bottom: 24px; }
  body.elementor-page-2033 .cs-h13 .e-n-accordion-item > .e-con { padding: 0 24px 24px 24px; }
  body.elementor-page-2033 .cs-h13 .cs-h13-sc { align-items: center; }
}
@media (prefers-reduced-motion: reduce) {
  body.elementor-page-2033 .cs-h13 .e-n-accordion-item, body.elementor-page-2033 .cs-h13 .e-n-accordion-item-title::after { transition: none; }
}

/* Laptop floor (zoom .66 at 1025-1199): the 16 px Steelcase text would render at 10.6 px; keep it at 12 px. */
@media (min-width: 1025px) and (max-width: 1199px) { body.elementor-page-2033 .cs-h13 .cs-h13-sc-text p { font-size: 18.2px; line-height: 1.64; } }

/* build/home-14-footer/site.css */
/* home 14-footer (lp10816). Section CSS beyond the V3 controls; every rule under body.elementor-page-2033 .cs-h14. */

/* Band: Figma's two fills (#F7F6F1 → #EBE9C7 + 12 % #827D2A, bottom to top) as one gradient (root control); above the
   FAQ photo, which continues under the rounded top-right corner at assembly (13-faq). Entrances 600 ms. */
body.elementor-page-2033 .cs-h14 { position: relative; z-index: 1; background-image: linear-gradient(0deg, #F7F6F1 0%, #DEDCB4 100%); }
/* Content box 1440 centred at every desktop width (Figma pads 240 at 1920; laptop widths are zoomed). */
@media (min-width: 1025px) { body.elementor-page-2033 .cs-h14.cs-h14.e-con { --padding-left: max(0px, calc(50% - 720px)); --padding-right: max(0px, calc(50% - 720px)); } }
body.elementor-page-2033 .cs-h14 .animated { animation-duration: .6s; }

/* Logo on its white circle (Figma Ellipse 45, 80 px at 5/2 in the 184 x 84 logo box). */
body.elementor-page-2033 .cs-h14 .cs-h14-logo a { display: block; transition: opacity .2s ease-out; }
body.elementor-page-2033 .cs-h14 .cs-h14-logo img { display: block; background: radial-gradient(circle 40px at 45px 42px, #FFFFFF 39.5px, rgba(255,255,255,0) 40px); }
body.elementor-page-2033 .cs-h14 .cs-h14-logo a:hover, body.elementor-page-2033 .cs-h14 .cs-h14-logo a:focus-visible { opacity: .8; }

/* Menu: the header's WordPress menu, always visible; 24 px between items; phone a centred column. */
body.elementor-page-2033 .cs-h14 .cs-h14-nav .elementor-nav-menu--main > .elementor-nav-menu { flex-wrap: nowrap; justify-content: flex-start; gap: 24px; }
body.elementor-page-2033 .cs-h14 .cs-h14-nav .elementor-nav-menu--main > .elementor-nav-menu::before,
body.elementor-page-2033 .cs-h14 .cs-h14-nav .elementor-nav-menu--main > .elementor-nav-menu::after { display: none; }
body.elementor-page-2033 .cs-h14 .cs-h14-nav .elementor-item { white-space: nowrap; }
body.elementor-page-2033 .cs-h14 .cs-h14-nav .elementor-item::after { bottom: -2px; }
body.elementor-page-2033 .cs-h14 .cs-h14-nav .elementor-item.elementor-item-active:not(:hover):not(:focus-visible) { color: #383C48; }
body.elementor-page-2033 .cs-h14 .cs-h14-nav .elementor-item.elementor-item-active:not(:hover):not(:focus-visible)::after { opacity: 0; }
body.elementor-page-2033 .cs-h14 .cs-h14-nav .elementor-menu-toggle, body.elementor-page-2033 .cs-h14 .cs-h14-nav .elementor-nav-menu--dropdown { display: none !important; }

/* Row widths hug their content (the Figma frame's 1144 is the hug of PT widths; BT is wider). */
body.elementor-page-2033 .cs-h14 .e-con.cs-h14-links, body.elementor-page-2033 .cs-h14 .e-con.cs-h14-socials { flex: 0 0 auto; width: auto; }

/* Social buttons as Figma: a 64 px #5F95A8 circle (padding 16) around the 32 px white glyph (SVG file), cs-shadow and
   the 12 px background blur. Hover: scale 1.08 and the icon set's green-to-blue gradient circle (answers 4). */
body.elementor-page-2033 .cs-h14 .cs-h14-social a { position: relative; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 8px; padding: 16px; border-radius: 100px; background-color: #5F95A8; box-shadow: 12px 12px 24px rgba(56,60,72,.16); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); transition: transform .2s ease-out; }
body.elementor-page-2033 .cs-h14 .cs-h14-social a::before { content: ""; position: absolute; inset: 0; border-radius: inherit; background: linear-gradient(135deg, #827D2A 0%, #5F95A8 80%); opacity: 0; transition: opacity .2s ease-out; }
body.elementor-page-2033 .cs-h14 .cs-h14-social img { position: relative; display: block; width: 32px; height: 32px; }
body.elementor-page-2033 .cs-h14 .cs-h14-social a:hover, body.elementor-page-2033 .cs-h14 .cs-h14-social a:focus-visible { transform: scale(1.08); }
body.elementor-page-2033 .cs-h14 .cs-h14-social a:hover::before, body.elementor-page-2033 .cs-h14 .cs-h14-social a:focus-visible::before { opacity: 1; }

/* Copyright: #383C48 at the layer opacity 64 % as Figma. */
body.elementor-page-2033 .cs-h14 .cs-h14-copy p { opacity: .64; }

/* Legal links: underlined as Figma, 24 px apart; hover deep blue (≥ 4.5:1 on the band). */
body.elementor-page-2033 .cs-h14 .cs-h14-legal { display: flex; gap: 24px; margin: 0; }
body.elementor-page-2033 .cs-h14 .cs-h14-legal a { color: #383C48; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; transition: color .2s ease-out; }
body.elementor-page-2033 .cs-h14 .cs-h14-legal a:hover, body.elementor-page-2033 .cs-h14 .cs-h14-legal a:focus-visible { color: #2F6273; }
body.elementor-page-2033 .cs-h14 .cs-h14-copy p { white-space: nowrap; }

/* Tablets narrower than the 1024 frame: the one-row menu (944 px in cs-Futura) wraps instead of overflowing. */
@media (min-width: 768px) and (max-width: 1023px) {
  body.elementor-page-2033 .cs-h14 .e-con.cs-h14-links, body.elementor-page-2033 .cs-h14 .elementor-widget.cs-h14-nav { max-width: 100%; }
  body.elementor-page-2033 .cs-h14 .cs-h14-nav .elementor-nav-menu--main > .elementor-nav-menu { flex-wrap: wrap; justify-content: center; row-gap: 12px; }
}
@media (max-width: 767px) {
  body.elementor-page-2033 .cs-h14 .cs-h14-nav .elementor-nav-menu--main > .elementor-nav-menu { flex-direction: column; align-items: center; width: 100%; }
  body.elementor-page-2033 .cs-h14 .e-con.cs-h14-links { width: 100%; }
  body.elementor-page-2033 .cs-h14 .elementor-widget.cs-h14-nav, body.elementor-page-2033 .cs-h14 .cs-h14-nav nav { width: 100%; max-width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  body.elementor-page-2033 .cs-h14 .cs-h14-social a:hover, body.elementor-page-2033 .cs-h14 .cs-h14-social a:focus-visible { transform: none; }
}

/* Laptop floor (zoom .66 at 1025-1199): the 16 px copyright and legal links would render at 10.6 px; keep them at 12 px
   (polish 2026-10-10). */
@media (min-width: 1025px) and (max-width: 1199px) { body.elementor-page-2033 .cs-h14 .cs-h14-copy p, body.elementor-page-2033 .cs-h14 .cs-h14-legal { font-size: 18.2px; } }

/* build/subpages/site.css */
/* subpages (lp10816): Kontakt (neu) 2095 = cs-k01 header, cs-k02 main, cs-k03 footer; Danke 2097 = cs-d01, cs-d02, cs-d03.
   No Figma frames: header and footer are the home page's (home-01-header, home-14-footer) cut to the subpage spec
   (logo only, centred; footer without the anchor menu). Every rule under body.elementor-page-2033 .cs-k… / .cs-d…. */

/* Subpage header: the home header's sticky white bar, logo centred. */
body.elementor-page-2033 :is(.cs-k01, .cs-d01) { position: sticky; top: 0; z-index: 100; background-image: linear-gradient(93deg, #FFFFFF 0%, #FBFBF8 100%); }
@media (min-width: 1025px) { body.elementor-page-2033 :is(.cs-k01, .cs-d01):is(.cs-k01, .cs-d01).e-con { --padding-left: max(0px, calc(50% - 720px)); --padding-right: max(0px, calc(50% - 720px)); } }
@keyframes cs-sub-shadow { from { box-shadow: 0 0 0 rgba(56,60,72,0); } to { box-shadow: 0 8px 24px rgba(56,60,72,.10); } }
@supports (animation-timeline: scroll()) {
  body.elementor-page-2033 :is(.cs-k01, .cs-d01) { animation: cs-sub-shadow linear both; animation-timeline: scroll(root); animation-range: 0 120px; }
}
body.elementor-page-2033 :is(.cs-k01, .cs-d01) .cs-sub-logo a { display: block; transition: opacity .2s ease-out; }
body.elementor-page-2033 :is(.cs-k01, .cs-d01) .cs-sub-logo img { display: block; }
body.elementor-page-2033 :is(.cs-k01, .cs-d01) .cs-sub-logo a:hover, body.elementor-page-2033 :is(.cs-k01, .cs-d01) .cs-sub-logo a:focus-visible { opacity: .8; }

/* Short pages: the document fills the window and the main section takes the rest, so the footer ends at the bottom edge
   (also under the laptop zoom, where a vh min-height shrinks with the zoom). */
body.elementor-page-2033 .elementor:has(> :is(.cs-k02, .cs-d02)) { display: flex; flex-direction: column; min-height: 100vh; min-height: 100dvh; }
body.elementor-page-2033 .elementor:has(> :is(.cs-k02, .cs-d02)) > :is(.cs-k02, .cs-d02) { flex: 1 0 auto; }

/* Main: the page background with two soft glows from the palette (light green top right, light blue bottom left). */
body.elementor-page-2033 :is(.cs-k02, .cs-d02) { position: relative; isolation: isolate;
  background-image: radial-gradient(circle 720px at 92% 0%, rgba(215,210,133,.30) 0%, rgba(215,210,133,0) 100%),
                    radial-gradient(circle 640px at 4% 100%, rgba(188,210,218,.36) 0%, rgba(188,210,218,0) 100%); }
body.elementor-page-2033 :is(.cs-k02, .cs-d02) .animated { animation-duration: .6s; }

/* Kontakt: the second paragraph is the doc's emphasis sentence (Demi); the P.S. sits on a soft green glass panel. */
body.elementor-page-2033 .cs-k02 .cs-k02-intro p { margin: 0 0 12px; }
body.elementor-page-2033 .cs-k02 .cs-k02-intro p:last-child { margin-bottom: 0; }
body.elementor-page-2033 .cs-k02 .cs-k02-ps { padding: 24px 32px; border-radius: 24px; border: 1px solid rgba(56,60,72,.08);
  background: linear-gradient(135deg, rgba(215,210,133,.24) 0%, rgba(215,210,133,.06) 100%); }
@media (max-width: 767px) { body.elementor-page-2033 .cs-k02 .cs-k02-ps { padding: 20px; border-radius: 20px; } }

/* Form card: white, cs-shadow. Inside it the form fills the card (the plugin sizes it min(90vw, 860px) with a vertical
   margin) and its reveal mode's 60vh bottom padding (scroll room for the next step) shrinks to a small gap: the footer
   under the card gives the scroll room. */
body.elementor-page-2033 .cs-k02 .cs-k02-card { box-shadow: 12px 12px 24px rgba(56,60,72,.16); }
body.elementor-page-2033 .cs-k02 .cs-k02-card .gform_wrapper.cs-landeseiten-form { --landeseiten-form-reveal-padding: 8px; width: 100%; max-width: 860px; margin: 0 auto; }

/* Form (Landeseiten Form configuration 2099: colours, sizes, texts). GF's English "(Required)" goes (the plugin
   validates every required step itself); labels in the design's dark at Demi; buttons at the CTA's height. */
body.elementor-page-2033 .cs-k02 .gform_wrapper .gfield_required { display: none; }
body.elementor-page-2033 .cs-k02 .gform_wrapper .gfield_label, body.elementor-page-2033 .cs-k02 .gform_wrapper legend.gfield_label { font-weight: 500; line-height: 1.3; color: #343A40; letter-spacing: -0.3px; }
body.elementor-page-2033 .cs-k02 .gform_wrapper .gfield_description { font-size: 16px; line-height: 26px; color: #383C48; opacity: .8; }
body.elementor-page-2033 .cs-k02 .gform_wrapper .gfield_consent_label a, body.elementor-page-2033 .cs-k02 .gform_wrapper .gfield_description a { color: #2F6273; text-decoration: underline; text-underline-offset: 3px; }
body.elementor-page-2033 .cs-k02 .gform_wrapper .button-next, body.elementor-page-2033 .cs-k02 .gform_wrapper .button-previous,
body.elementor-page-2033 .cs-k02 .gform_wrapper .gform_button { font-family: 'cs-Futura', 'Futura', sans-serif; font-weight: 500; font-size: 18px; line-height: 30px; min-height: 56px; }
/* Server-side validation error (e.g. "Anfrage absenden" without the consent: the plugin shows the submit button on the
   last step regardless of validity). GF re-renders the form by AJAX and the plugin's re-init is blocked by its own
   data-lf-initialized guard (init.js, 2.3.4), so no step would be visible: show every field GF marked as failed. */
body.elementor-page-2033 .cs-k02 .gform_wrapper.gform_validation_error .gfield.gfield_error:not(.active) { opacity: 1; visibility: visible; position: relative; inset: auto; height: auto; overflow: visible; padding: 24px 0 !important; }
/* The plugin scrolls each new step to 40 px under the window top; the sticky header is 116 px tall. */
body.elementor-page-2033 .cs-k02 .gform_wrapper .gfield { scroll-margin-top: 140px !important; }
@media (max-width: 767px) {
  body.elementor-page-2033 .cs-k02 .gform_wrapper .gfield_label, body.elementor-page-2033 .cs-k02 .gform_wrapper legend.gfield_label { font-size: 22px; }
  body.elementor-page-2033 .cs-k02 .gform_wrapper .button-next, body.elementor-page-2033 .cs-k02 .gform_wrapper .button-previous,
  body.elementor-page-2033 .cs-k02 .gform_wrapper .gform_button { font-size: 16px; }
}

/* Danke: the palette's check circle (cs-grad-icon, white tick) above the heading, decorative. */
body.elementor-page-2033 .cs-d02 .cs-d02-title::before { content: ""; display: block; width: 80px; height: 80px; margin: 0 auto 32px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%23827D2A'/%3E%3Cstop offset='.8' stop-color='%235F95A8'/%3E%3C/linearGradient%3E%3C/defs%3E%3Ccircle cx='40' cy='40' r='40' fill='url(%23g)'/%3E%3Cpath d='M26 41l9 9 19-20' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 80px 80px no-repeat;
  border-radius: 50%; box-shadow: 12px 12px 24px rgba(56,60,72,.16); }
@media (max-width: 767px) { body.elementor-page-2033 .cs-d02 .cs-d02-title::before { width: 64px; height: 64px; background-size: 64px 64px; margin-bottom: 24px; } }
/* "Zurück zur Startseite": the home CTA pill with the white arrow circle. */
body.elementor-page-2033 .cs-d02 .cs-d02-cta .elementor-button { display: inline-flex; align-items: center; justify-content: center; gap: 16px; min-height: 64px; transition: background-color .2s ease-out; }
body.elementor-page-2033 .cs-d02 .cs-d02-cta .elementor-button::after { content: ""; flex: none; width: 48px; height: 48px; background: url("data:image/svg+xml,%3Csvg width='48' height='48' viewBox='0 0 48 48' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='48' height='48' rx='24' fill='white'/%3E%3Cpath d='M15.75 24H32.25' stroke='%235F95A8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M25.5 17.25L32.25 24L25.5 30.75' stroke='%235F95A8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 48px 48px no-repeat; margin-block: -8px; transition: transform .2s ease-out; }
body.elementor-page-2033 .cs-d02 .cs-d02-cta .elementor-button:hover::after, body.elementor-page-2033 .cs-d02 .cs-d02-cta .elementor-button:focus-visible::after { transform: translateX(4px); }

/* Subpage footer: the home footer's band without the menu (logo left, socials right; phone one column). */
body.elementor-page-2033 :is(.cs-k03, .cs-d03) { position: relative; z-index: 1; background-image: linear-gradient(0deg, #F7F6F1 0%, #DEDCB4 100%); }
@media (min-width: 1025px) { body.elementor-page-2033 :is(.cs-k03, .cs-d03):is(.cs-k03, .cs-d03).e-con { --padding-left: max(0px, calc(50% - 720px)); --padding-right: max(0px, calc(50% - 720px)); } }
body.elementor-page-2033 :is(.cs-k03, .cs-d03) .animated { animation-duration: .6s; }
body.elementor-page-2033 :is(.cs-k03, .cs-d03) .cs-sub-logo a { display: block; transition: opacity .2s ease-out; }
body.elementor-page-2033 :is(.cs-k03, .cs-d03) .cs-sub-logo img { display: block; background: radial-gradient(circle 40px at 45px 42px, #FFFFFF 39.5px, rgba(255,255,255,0) 40px); }
body.elementor-page-2033 :is(.cs-k03, .cs-d03) .cs-sub-logo a:hover, body.elementor-page-2033 :is(.cs-k03, .cs-d03) .cs-sub-logo a:focus-visible { opacity: .8; }
body.elementor-page-2033 :is(.cs-k03, .cs-d03) .e-con.cs-sub-links, body.elementor-page-2033 :is(.cs-k03, .cs-d03) .e-con.cs-sub-socials { flex: 0 0 auto; width: auto; }
body.elementor-page-2033 :is(.cs-k03, .cs-d03) .cs-sub-social a { position: relative; display: flex; flex-direction: column; justify-content: center; align-items: center; padding: 16px; border-radius: 100px; background-color: #5F95A8; box-shadow: 12px 12px 24px rgba(56,60,72,.16); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); transition: transform .2s ease-out; }
body.elementor-page-2033 :is(.cs-k03, .cs-d03) .cs-sub-social a::before { content: ""; position: absolute; inset: 0; border-radius: inherit; background: linear-gradient(135deg, #827D2A 0%, #5F95A8 80%); opacity: 0; transition: opacity .2s ease-out; }
body.elementor-page-2033 :is(.cs-k03, .cs-d03) .cs-sub-social img { position: relative; display: block; width: 32px; height: 32px; }
body.elementor-page-2033 :is(.cs-k03, .cs-d03) .cs-sub-social a:hover, body.elementor-page-2033 :is(.cs-k03, .cs-d03) .cs-sub-social a:focus-visible { transform: scale(1.08); }
body.elementor-page-2033 :is(.cs-k03, .cs-d03) .cs-sub-social a:hover::before, body.elementor-page-2033 :is(.cs-k03, .cs-d03) .cs-sub-social a:focus-visible::before { opacity: 1; }
body.elementor-page-2033 :is(.cs-k03, .cs-d03) .cs-sub-copy p { opacity: .64; white-space: nowrap; }
body.elementor-page-2033 :is(.cs-k03, .cs-d03) .cs-sub-legal { display: flex; gap: 24px; margin: 0; }
body.elementor-page-2033 :is(.cs-k03, .cs-d03) .cs-sub-legal a { color: #383C48; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; transition: color .2s ease-out; }
body.elementor-page-2033 :is(.cs-k03, .cs-d03) .cs-sub-legal a:hover, body.elementor-page-2033 :is(.cs-k03, .cs-d03) .cs-sub-legal a:focus-visible { color: #2F6273; }
@media (min-width: 768px) and (max-width: 1024px) {
  body.elementor-page-2033 :is(.cs-k03, .cs-d03) .e-con.cs-sub-links { width: auto; }
}
@media (prefers-reduced-motion: reduce) {
  body.elementor-page-2033 :is(.cs-k03, .cs-d03) .cs-sub-social a:hover, body.elementor-page-2033 :is(.cs-k03, .cs-d03) .cs-sub-social a:focus-visible,
  body.elementor-page-2033 .cs-d02 .cs-d02-cta .elementor-button:hover::after { transform: none; }
}

/* build/unternehmen-01-header/site.css */
/* unternehmen 01-header (reuse of home 01-header) (lp10816). Section CSS beyond the V3 controls; every rule under body.elementor-page-2033 .cs-u01. */

/* Sticky bar (answers 1): opaque own background (root gradient), above the page; a soft shadow fades in over the
   first 120 px of scrolling where scroll-driven animations exist (static elsewhere: no shadow at all). */
body.elementor-page-2033 .cs-u01 { position: sticky; top: 0; z-index: 100; background-image: linear-gradient(93deg, #FFFFFF 0%, #FBFBF8 100%); }
/* Content box 1440 centred at every desktop width (Figma pads 240 at 1920; laptop widths are zoomed). */
@media (min-width: 1025px) { body.elementor-page-2033 .cs-u01.cs-u01.e-con { --padding-left: max(0px, calc(50% - 720px)); --padding-right: max(0px, calc(50% - 720px)); } }
@keyframes cs-u01-shadow { from { box-shadow: 0 0 0 rgba(56,60,72,0); } to { box-shadow: 0 8px 24px rgba(56,60,72,.10); } }
@supports (animation-timeline: scroll()) {
  body.elementor-page-2033 .cs-u01 { animation: cs-u01-shadow linear both; animation-timeline: scroll(root); animation-range: 0 120px; }
}
/* Anchor jumps land below the sticky bar (116 px; phone 96 px). */
html:has(body.elementor-page-2033 .cs-u01) { scroll-padding-top: 116px; }
@media (max-width: 767px) { html:has(body.elementor-page-2033 .cs-u01) { scroll-padding-top: 96px; } }

/* Logo: hover dims slightly (link to /). */
body.elementor-page-2033 .cs-u01 .cs-u01-logo a { display: block; transition: opacity .2s ease-out; }
body.elementor-page-2033 .cs-u01 .cs-u01-logo img { display: block; }
body.elementor-page-2033 .cs-u01 .cs-u01-logo a:hover, body.elementor-page-2033 .cs-u01 .cs-u01-logo a:focus-visible { opacity: .8; }

/* Desktop menu: one row, 24 px between items, underline 2 px under the text. Elementor's clearfix pseudos are flex
   items in a flex ul; hide them. In-view anchors (Elementor marks them active) look like rest, so the hover shows. */
body.elementor-page-2033 .cs-u01 .cs-u01-nav .elementor-nav-menu--main > .elementor-nav-menu { flex-wrap: nowrap; justify-content: flex-start; gap: 24px; }
body.elementor-page-2033 .cs-u01 .cs-u01-nav .elementor-nav-menu--main > .elementor-nav-menu::before,
body.elementor-page-2033 .cs-u01 .cs-u01-nav .elementor-nav-menu--main > .elementor-nav-menu::after { display: none; }
body.elementor-page-2033 .cs-u01 .cs-u01-nav .elementor-item { white-space: nowrap; }
body.elementor-page-2033 .cs-u01 .cs-u01-nav .elementor-nav-menu--main .elementor-item::after { bottom: -2px; }
body.elementor-page-2033 .cs-u01 .cs-u01-nav .elementor-nav-menu--main .elementor-item.elementor-item-active:not(:hover):not(:focus-visible) { color: #343A40; }
body.elementor-page-2033 .cs-u01 .cs-u01-nav .elementor-nav-menu--main .elementor-item.elementor-item-active:not(:hover):not(:focus-visible)::after { opacity: 0; }

/* Burger (tablet/phone, answers 3): the word "Menu" (Figma #361A1F 18/29.52) in front of the 32 px toggle, part of
   the toggle so it opens the menu too; three 22 x 2 px lines 8 px apart as Figma (#0C2939). The dropdown is a
   full-width panel under the bar (containing block = the sticky root). */
@media (max-width: 1024px) {
  body.elementor-page-2033 .cs-u01 .cs-u01-nav, body.elementor-page-2033 .cs-u01 .cs-u01-nav > .elementor-widget-container { position: static; }
  body.elementor-page-2033 .cs-u01 .cs-u01-nav .elementor-menu-toggle { display: flex; align-items: center; justify-content: flex-start; gap: 16px; width: auto; height: 32px; padding: 0; margin: 0; cursor: pointer; transition: color .2s ease-out; }
  body.elementor-page-2033 .cs-u01 .cs-u01-nav .elementor-menu-toggle::before { content: "Menu"; order: -1; font: 400 18px/29.52px 'cs-Futura', Arial, sans-serif; color: #361A1F; white-space: nowrap; transition: color .2s ease-out; }
  body.elementor-page-2033 .cs-u01 .cs-u01-nav .elementor-menu-toggle:hover::before, body.elementor-page-2033 .cs-u01 .cs-u01-nav .elementor-menu-toggle:focus-visible::before { color: #2F6273; }
  body.elementor-page-2033 .cs-u01 .cs-u01-nav .elementor-menu-toggle > :is(svg, i) { width: 32px; height: 32px; font-size: 22px; }
  body.elementor-page-2033 .cs-u01 .cs-u01-nav .elementor-menu-toggle .elementor-menu-toggle__icon--open { width: 32px; height: 32px; fill: transparent;
    background: linear-gradient(currentColor, currentColor) 5px 7px / 22px 2px no-repeat, linear-gradient(currentColor, currentColor) 5px 15px / 22px 2px no-repeat, linear-gradient(currentColor, currentColor) 5px 23px / 22px 2px no-repeat; }
  body.elementor-page-2033 .cs-u01 .cs-u01-nav .elementor-menu-toggle .elementor-menu-toggle__icon--open path { fill: transparent; }
  body.elementor-page-2033 .cs-u01 .cs-u01-nav .elementor-menu-toggle i.elementor-menu-toggle__icon--open::before { content: none; }
  body.elementor-page-2033 .cs-u01 .cs-u01-nav nav.elementor-nav-menu--dropdown { position: absolute; top: 100%; left: 0; right: 0; margin: 0; z-index: 99; box-shadow: 0 16px 24px rgba(56,60,72,.10); }
  body.elementor-page-2033 .cs-u01 .cs-u01-nav nav.elementor-nav-menu--dropdown .elementor-item { justify-content: flex-start; }
}

/* build/unternehmen-02-hero/site.css */
/* unternehmen 02-hero (LP10816). Section CSS beyond the V3 controls; every rule under body.elementor-page-2033 .cs-u02.
   Reuse of home 02-hero (photo layer, chip, CTA arrow circle) plus the frosted glass card of the 2nd Page. */

/* Light-green circle (Figma Ellipse 5) peeking out under the photo at the bottom right; behind the card. */
body.elementor-page-2033 .cs-u02 { position: relative; isolation: isolate; }
body.elementor-page-2033 .cs-u02::before { content: ""; position: absolute; z-index: 0; pointer-events: none; border-radius: 50%; opacity: .24;
  left: calc(100% - 354px); top: 892px; width: 502px; height: 502px; background: linear-gradient(180deg, #D7D285, rgba(215,210,133,0)); }
body.elementor-page-2033 .cs-u02 > .cs-hero-card { position: relative; z-index: 1; }

/* Photo layer: fills the card under the glass card (the card clips it to the corner shape). */
body.elementor-page-2033 .cs-u02 .cs-hero-card > .e-con-inner { position: static; }
body.elementor-page-2033 .cs-u02 .cs-hero-media { position: absolute; inset: 0; width: auto; max-width: none; z-index: 0; pointer-events: none; }
/* White glow behind the glass card (Figma Ellipse 46, white, layer blur 400 / 200), centred where Figma puts it. */
body.elementor-page-2033 .cs-u02 .cs-hero-media::after { content: ""; position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(1000px 720px at calc(50% - 333px) 505px, rgba(255,255,255,.55) 0, rgba(255,255,255,.3) 45%, rgba(255,255,255,0) 100%); }

/* The photo is an <img> (Image widget, LCP: fetchpriority high from WordPress, srcset), cover centred like the former
   background; the glow (::after) stays above it. */
body.elementor-page-2033 .cs-u02 .cs-hero-media > .cs-hero-img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; margin: 0; z-index: 0; overflow: hidden; }
body.elementor-page-2033 .cs-u02 .cs-hero-media .cs-hero-img img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: 50% 50%; border-radius: 0; }
body.elementor-page-2033 .cs-u02 .cs-hero-media::after { z-index: 1; }
/* Laptop floor (zoom .66 at 1025-1199): the 16 px chip label would render at 10.6 px; keep it at 12 px. */
@media (min-width: 1025px) and (max-width: 1199px) { body.elementor-page-2033 .cs-u02 .cs-ai-chip .elementor-heading-title { font-size: 18.2px; } }

/* Frosted glass card (Figma: #FBFBF8 16 %, background blur 48 -> CSS blur 24). */
body.elementor-page-2033 .cs-u02 .cs-hero-glass { position: relative; z-index: 1; -webkit-backdrop-filter: blur(24px); backdrop-filter: blur(24px); }
body.elementor-page-2033 .cs-u02 .cs-ai-chip { position: absolute; z-index: 1; display: flex; flex-direction: row; justify-content: center; gap: 16px; -webkit-backdrop-filter: blur(24px); backdrop-filter: blur(24px); white-space: nowrap; }
body.elementor-page-2033 .cs-u02 .cs-ai-chip strong { font-weight: 600; }

/* Text */
body.elementor-page-2033 .cs-u02 .elementor-heading-title { margin: 0; }
/* H1: the light run 'deiner Unternehmensfläche.' starts its own line on every breakpoint (Figma's breaks), no <br>. */
body.elementor-page-2033 .cs-u02 .cs-h1 strong { display: block; }
/* Futura BT is ~11 % wider than Futura PT: keep the light run on one line from tablet up (it may reach ~35 px into the
   card's 48 px padding at 1024; at 1920 the card is 968 wide for it, gen.py); phones let it wrap (no room in 294 px). */
@media (min-width: 768px) { body.elementor-page-2033 .cs-u02 .cs-h1 .cs-nw { white-space: nowrap; } }

/* CTA: label + the white arrow circle (ui-button-pfeil-kreis.svg, inline) as a background image; on hover the pill
   darkens (button control) and the arrow moves 4 px. Same as home 02-hero. */
body.elementor-page-2033 .cs-u02 .cs-cta .elementor-button { display: inline-flex; align-items: center; justify-content: center; gap: 16px; min-height: 64px; transition: background-color .2s ease-out; }
body.elementor-page-2033 .cs-u02 .cs-cta .elementor-button::after { content: ""; flex: none; width: 48px; height: 48px; background: url("data:image/svg+xml,%3Csvg width='48' height='48' viewBox='0 0 48 48' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='48' height='48' rx='24' fill='white'/%3E%3Cpath d='M15.75 24H32.25' stroke='%235F95A8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M25.5 17.25L32.25 24L25.5 30.75' stroke='%235F95A8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 48px 48px no-repeat; margin-block: -8px; transition: transform .2s ease-out; }
body.elementor-page-2033 .cs-u02 .cs-cta .elementor-button:hover::after, body.elementor-page-2033 .cs-u02 .cs-cta .elementor-button:focus-visible::after { transform: translateX(4px); }

@media (max-width: 1024px) {
  body.elementor-page-2033 .cs-u02::before { left: calc(100% - 292px); top: 584px; width: 420px; height: 420px; }
  body.elementor-page-2033 .cs-u02 .cs-hero-media::after { background: radial-gradient(760px 560px at 335px 332px, rgba(255,255,255,.55) 0, rgba(255,255,255,.3) 45%, rgba(255,255,255,0) 100%); }
}
@media (max-width: 767px) {
  body.elementor-page-2033 .cs-u02::before { left: calc(100% - 180px); top: 604px; width: 315px; height: 315px; }
  body.elementor-page-2033 .cs-u02 .cs-hero-media::after { background: radial-gradient(620px 460px at 50% 291px, rgba(255,255,255,.55) 0, rgba(255,255,255,.3) 45%, rgba(255,255,255,0) 100%); }
  /* Phone: the pill is full width, the label wraps to two lines left-aligned (Figma 1:5510). */
  body.elementor-page-2033 .cs-u02 .cs-cta .elementor-button { text-align: left; }
}

/* Load entrance (user 2026-10-10: "a little touch"): CSS only, plays once on page load, no JS hiding, so the LCP photo is
   never held back. Photo settles from 1.04 scale; eyebrow, H1, text, CTA fade up 16 px one after another; chip last. */
@media (prefers-reduced-motion: no-preference) {
  @keyframes cs-u02-up { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
  @keyframes cs-u02-settle { from { transform: scale(1.04); } to { transform: none; } }
  body.elementor-page-2033 .cs-u02 .cs-hero-media .cs-hero-img img { animation: cs-u02-settle 1.8s cubic-bezier(.22,.61,.36,1) both; }
  body.elementor-page-2033 .cs-u02 .elementor-element-csu02a06, body.elementor-page-2033 .cs-u02 .elementor-element-csu02a07, body.elementor-page-2033 .cs-u02 .elementor-element-csu02a08,
  body.elementor-page-2033 .cs-u02 .elementor-element-csu02a09, body.elementor-page-2033 .cs-u02 .elementor-element-csu02a0b { animation: cs-u02-up .7s cubic-bezier(.22,.61,.36,1) both; }
  body.elementor-page-2033 .cs-u02 .elementor-element-csu02a06 { animation-delay: .1s; }
  body.elementor-page-2033 .cs-u02 .elementor-element-csu02a07 { animation-delay: .2s; }
  body.elementor-page-2033 .cs-u02 .elementor-element-csu02a08 { animation-delay: .35s; }
  body.elementor-page-2033 .cs-u02 .elementor-element-csu02a09 { animation-delay: .5s; }
  body.elementor-page-2033 .cs-u02 .elementor-element-csu02a0b { animation-delay: .8s; }
}

/* build/unternehmen-03-intro-stats/site.css */
/* unternehmen 03-intro-stats (LP10816). Section CSS beyond the V3 controls; every rule under body.elementor-page-2033 .cs-u03.
   Reuse of home 03 (icon circles, counter styles, reduced-motion script). */

body.elementor-page-2033 .cs-u03 .elementor-heading-title { margin: 0; }
body.elementor-page-2033 .cs-u03 .animated { animation-duration: .6s; }
body.elementor-page-2033 .cs-u03 > .cs-u03-script { position: absolute; width: 0; height: 0; overflow: hidden; }

/* Illustration | copy over stats: one grid, three layouts (desktop: illustration left over two rows, copy and stats
   centred against it; tablet: illustration | copy, stats centred below; phone: copy, illustration, stats). */
body.elementor-page-2033 .cs-u03 .cs-intro-grid { display: grid; grid-template-columns: 648px 712px; column-gap: 80px; row-gap: 64px;
  grid-template-areas: "illu copy" "illu stats"; justify-content: start; }
body.elementor-page-2033 .cs-u03 .cs-intro-grid > .cs-illu { grid-area: illu; align-self: center; }
body.elementor-page-2033 .cs-u03 .cs-intro-grid > .cs-copy { grid-area: copy; align-self: end; }
body.elementor-page-2033 .cs-u03 .cs-intro-grid > .cs-stats-row { grid-area: stats; align-self: start; }
body.elementor-page-2033 .cs-u03 .cs-illu img { display: block; width: 100%; height: auto; }
body.elementor-page-2033 .cs-u03 .cs-point > .elementor-widget-text-editor { flex: 1 1 0; min-width: 0; }
body.elementor-page-2033 .cs-u03 .cs-l2 { display: block; }

/* Point icons (as home 03): circle + Figma shadow + 2.5 px gradient outer ring; the set's hover icon on ::after
   cross-fades in on hovering the point, with a small scale (R-icon-hover-scale). */
body.elementor-page-2033 .cs-u03 .cs-icon { position: relative; width: 80px; height: 80px; border-radius: 100px; overflow: visible;
  box-shadow: 12px 12px 24px rgba(56,60,72,.16); transition: transform .2s ease-out; }
/* width/height auto: Elementor's .e-con::before sets height/width 100 %, which made the ring 2.5 px on the top/left only
   (polish 2026-10-10). */
body.elementor-page-2033 .cs-u03 .cs-icon::before { content: ""; position: absolute; inset: -2.5px; width: auto; height: auto; border-radius: 50%; z-index: 0;
  background: linear-gradient(139deg, #827D2A 0%, #5F95A8 80%); }
body.elementor-page-2033 .cs-u03 .cs-icon > .elementor-widget { position: absolute; inset: 0; z-index: 1; width: 80px; margin: 0; }
body.elementor-page-2033 .cs-u03 .cs-icon img { display: block; width: 80px; height: 80px; border-radius: 50%; }
body.elementor-page-2033 .cs-u03 .cs-icon::after { content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none; opacity: 0;
  border-radius: 50%; background: var(--cs-icon-hover) center / 80px 80px no-repeat; transition: opacity .2s ease-out; }
body.elementor-page-2033 .cs-u03 .cs-icon-01 { --cs-icon-hover: url("/wp-content/uploads/2026/10/icon-set-01-hover.svg"); }
body.elementor-page-2033 .cs-u03 .cs-icon-02 { --cs-icon-hover: url("/wp-content/uploads/2026/10/icon-set-02-hover.svg"); }
body.elementor-page-2033 .cs-u03 .cs-point:hover .cs-icon { transform: scale(1.06); }
body.elementor-page-2033 .cs-u03 .cs-point:hover .cs-icon::after { opacity: 1; }

/* Stat boxes: "SEIT" small, uppercase, blue (home box look); the counter's "+" Book in blue; label beside the number. */
body.elementor-page-2033 .cs-u03 .cs-stat > .elementor-widget { width: auto; }
body.elementor-page-2033 .cs-u03 .cs-seit { font-size: 40px; line-height: 43.2px; letter-spacing: -0.8px; text-transform: uppercase; color: #5F95A8; margin-right: .2em; }
body.elementor-page-2033 .cs-u03 .cs-stat-num .elementor-heading-title { display: flex; align-items: baseline; }
body.elementor-page-2033 .cs-u03 .cs-counter .elementor-counter { gap: 16px; align-items: center; }
body.elementor-page-2033 .cs-u03 .cs-counter .elementor-counter-number-suffix { font-weight: 400; color: #5F95A8; }
body.elementor-page-2033 .cs-u03 .cs-counter .elementor-counter-title { max-width: 92px; text-align: left; }

@media (max-width: 1024px) {
  body.elementor-page-2033 .cs-u03 .cs-intro-grid { grid-template-columns: 400px 440px; column-gap: 56px; row-gap: 48px; justify-content: center;
    grid-template-areas: "illu copy" "stats stats"; }
  body.elementor-page-2033 .cs-u03 .cs-intro-grid > .cs-copy { align-self: center; }
  body.elementor-page-2033 .cs-u03 .cs-intro-grid > .cs-stats-row { justify-self: center; }
  body.elementor-page-2033 .cs-u03 .cs-seit { font-size: 26px; line-height: 28.08px; letter-spacing: -0.52px; }
  body.elementor-page-2033 .cs-u03 .cs-stat-num .elementor-heading-title { justify-content: center; }
  /* Figma's 'SEIT 1987' text box fills the box (centred text). */
  body.elementor-page-2033 .cs-u03 .cs-stat-1 > .elementor-widget { flex: 1 1 auto; }
  body.elementor-page-2033 .cs-u03 .cs-counter .elementor-counter-title { max-width: 82px; }
}
@media (max-width: 767px) {
  body.elementor-page-2033 .cs-u03 .cs-intro-grid { grid-template-columns: 100%; row-gap: 32px; grid-template-areas: "copy" "illu" "stats"; }
  body.elementor-page-2033 .cs-u03 .cs-intro-grid > .cs-stats-row { justify-self: stretch; margin-top: 16px; }
}

/* build/unternehmen-04-services/site.css */
/* unternehmen 04-services (LP10816). Section CSS beyond the V3 controls; every rule under body.elementor-page-2033 .cs-u04. */

/* Background (decorative, no DOM): ::before = Ellipse 8 (light blue 24 %, 0 from half height); ::after = Ellipse 9
   (light green, same fade) with the JR ring (Group 1, deko-jr-ring paths, #D7D285 24 % → 0 at the bottom) 32 px inside it.
   Both reach down into 05, whose opaque panel covers them (Figma's order). Desktop x from the centre of the 1920 frame. */
body.elementor-page-2033 .cs-u04 { position: relative; isolation: isolate;
  --cs-blue-c: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23BCD2DA' stop-opacity='.24'/%3E%3Cstop offset='.5' stop-color='%23BCD2DA' stop-opacity='0'/%3E%3C/linearGradient%3E%3C/defs%3E%3Ccircle cx='50' cy='50' r='50' fill='url(%23g)'/%3E%3C/svg%3E");
  --cs-green-c: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23D7D285' stop-opacity='.24'/%3E%3Cstop offset='.5' stop-color='%23D7D285' stop-opacity='0'/%3E%3C/linearGradient%3E%3C/defs%3E%3Ccircle cx='50' cy='50' r='50' fill='url(%23g)'/%3E%3C/svg%3E");
  --cs-ring: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 461 461'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23D7D285' stop-opacity='.24'/%3E%3Cstop offset='1' stop-color='%23D7D285' stop-opacity='0'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg fill='url(%23g)'%3E%3Cpath d='M197.57 285.381V153.667H219.522V285.381C219.522 333.877 180.208 373.191 131.713 373.191V351.238C168.084 351.238 197.57 321.753 197.57 285.381Z'/%3E%3Cpath d='M263.43 181.107L263.43 268.917L241.478 268.917L241.478 181.107C241.478 132.611 280.791 93.2977 329.287 93.2977L329.287 115.25C292.915 115.25 263.43 144.735 263.43 181.107Z'/%3E%3Cpath d='M439.048 230.5C439.048 115.322 345.678 21.9524 230.5 21.9524C115.322 21.9524 21.9524 115.322 21.9524 230.5C21.9524 345.678 115.322 439.048 230.5 439.048V461C103.198 461 0 357.802 0 230.5C0 103.198 103.198 0 230.5 0C357.802 0 461 103.198 461 230.5C461 357.802 357.802 461 230.5 461V439.048C345.678 439.048 439.048 345.678 439.048 230.5Z'/%3E%3C/g%3E%3C/svg%3E"); }
body.elementor-page-2033 .cs-u04::before, body.elementor-page-2033 .cs-u04::after { content: ""; position: absolute; z-index: -1; pointer-events: none; }
body.elementor-page-2033 .cs-u04::before { left: calc(50% - 840px); top: 55px; width: 431px; height: 431px;
  background: var(--cs-blue-c) center / 100% 100% no-repeat; }
body.elementor-page-2033 .cs-u04::after { left: calc(50% + 527px); top: 525px; width: 524px; height: 524px;
  background: var(--cs-ring) 32px 32px / 461px 461px no-repeat, var(--cs-green-c) center / 100% 100% no-repeat; }

body.elementor-page-2033 .cs-u04 .cs-u04-intro p { margin: 0; }
/* One empty line between the paragraph and "Für Arbeitswelten, die…" (Figma's blank line at the base 35.52). */
body.elementor-page-2033 .cs-u04 .cs-u04-intro p + p { margin-top: 35.52px; }
body.elementor-page-2033 .cs-u04 .cs-u04-br { display: none; }
body.elementor-page-2033 .cs-u04 .cs-u04-cta .elementor-button { white-space: nowrap; }
body.elementor-page-2033 .cs-u04 .elementor-heading-title { margin: 0; }

/* Entrances (PM Loom U 0:46–0:58): left column from the left, right column from the right, one after the other
   (delays 0 / 150 / 300 / 450 ms on the containers); shorter travel than animate.css's 100 %. */
body.elementor-page-2033 .cs-u04 .animated { animation-duration: .6s; }
@keyframes cs-u04-in-left { from { opacity: 0; transform: translate3d(-80px, 0, 0); } to { opacity: 1; transform: none; } }
@keyframes cs-u04-in-right { from { opacity: 0; transform: translate3d(80px, 0, 0); } to { opacity: 1; transform: none; } }
body.elementor-page-2033 .cs-u04 .animated.fadeInLeft { animation-name: cs-u04-in-left; }
body.elementor-page-2033 .cs-u04 .animated.fadeInRight { animation-name: cs-u04-in-right; }

/* Boxes 2 × 2 (desktop, tablet), stacked on the phone. */
body.elementor-page-2033 .cs-u04 .cs-u04-box { flex: 0 0 calc(50% - 8px); min-width: 0;
  transition: background-color .3s ease-out, box-shadow .3s ease-out, border-radius .3s ease-out; }
/* Elementor's "grow" sets flex-shrink 0: the text takes the rest of the box and wraps. */
body.elementor-page-2033 .cs-u04 .cs-u04-box-text { flex: 1 1 0; min-width: 0; }

/* Icon circle: 80 px, the 2.5 px gradient outer ring (half clipped in the SVG's viewBox) and the Figma shadow in CSS;
   the set's hover icon cross-fades in on ::after with a small scale (R-icon-hover-scale). home 07's pattern. */
body.elementor-page-2033 .cs-u04 .cs-u04-ico { position: relative; width: 80px; height: 80px; border-radius: 50%;
  box-shadow: 12px 12px 24px rgba(56,60,72,.16); transition: transform .2s ease-out; }
body.elementor-page-2033 .cs-u04 .cs-u04-ico::before { content: ""; position: absolute; inset: -2.5px; border-radius: 50%; z-index: 0;
  background: linear-gradient(139deg, #827D2A 0%, #5F95A8 80%); }
body.elementor-page-2033 .cs-u04 .cs-u04-ico .elementor-widget-container, body.elementor-page-2033 .cs-u04 .cs-u04-ico img { position: relative; z-index: 1; }
body.elementor-page-2033 .cs-u04 .cs-u04-ico img { display: block; width: 80px; height: 80px; border-radius: 50%; background: #FBFBF8; }
body.elementor-page-2033 .cs-u04 .cs-u04-ico::after { content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none; opacity: 0;
  border-radius: 50%; background: var(--cs-icon-hover, none) center / 80px 80px no-repeat; transition: opacity .2s ease-out; }
body.elementor-page-2033 .cs-u04 .cs-u04-ico-03 { --cs-icon-hover: url("/wp-content/uploads/2026/10/icon-set-03-hover.svg"); }
body.elementor-page-2033 .cs-u04 .cs-u04-ico-04 { --cs-icon-hover: url("/wp-content/uploads/2026/10/icon-set-04-hover.svg"); }
body.elementor-page-2033 .cs-u04 .cs-u04-ico-05 { --cs-icon-hover: url("/wp-content/uploads/2026/10/icon-set-05-hover.svg"); }
body.elementor-page-2033 .cs-u04 .cs-u04-ico-06 { --cs-icon-hover: url("/wp-content/uploads/2026/10/icon-set-06-hover.svg"); }

/* Hover (Figma's highlighted box 2): light-green tint, shadow, all corners 16; the icon swaps to the gradient look. */
@media (hover: hover) {
  body.elementor-page-2033 .cs-u04 .cs-u04-box:hover { background-color: #F2F1DC; border-radius: 16px;
    box-shadow: 12px 12px 32px rgba(56,60,72,.24); }
  body.elementor-page-2033 .cs-u04 .cs-u04-box:hover .cs-u04-ico { transform: scale(1.06); }
  body.elementor-page-2033 .cs-u04 .cs-u04-box:hover .cs-u04-ico::after { opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
  body.elementor-page-2033 .cs-u04 .cs-u04-box, body.elementor-page-2033 .cs-u04 .cs-u04-ico, body.elementor-page-2033 .cs-u04 .cs-u04-ico::after { transition: none; }
}

/* CTA: label + the white arrow circle (ui-button-pfeil-kreis, inline) as ::after; on hover the pill darkens (button
   control) and the arrow moves 4 px. home 02's pattern. */
body.elementor-page-2033 .cs-u04 .cs-u04-cta .elementor-button { display: inline-flex; align-items: center; justify-content: center; gap: 16px;
  min-height: 64px; transition: background-color .2s ease-out; }
body.elementor-page-2033 .cs-u04 .cs-u04-cta .elementor-button::after { content: ""; flex: none; width: 48px; height: 48px;
  background: url("data:image/svg+xml,%3Csvg width='48' height='48' viewBox='0 0 48 48' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='48' height='48' rx='24' fill='white'/%3E%3Cpath d='M15.75 24H32.25' stroke='%235F95A8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M25.5 17.25L32.25 24L25.5 30.75' stroke='%235F95A8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 48px 48px no-repeat; margin-block: -8px; transition: transform .2s ease-out; }
body.elementor-page-2033 .cs-u04 .cs-u04-cta .elementor-button:hover::after, body.elementor-page-2033 .cs-u04 .cs-u04-cta .elementor-button:focus-visible::after { transform: translateX(4px); }

@media (max-width: 1024px) {
  body.elementor-page-2033 .cs-u04 .cs-u04-intro p + p { margin-top: 29.6px; }
  body.elementor-page-2033 .cs-u04::before { left: -24px; top: 94px; width: 320px; height: 320px; }
  body.elementor-page-2033 .cs-u04::after { left: auto; right: -60px; top: 584px; width: 296px; height: 296px;
    background: var(--cs-ring) 18px 18px / 260px 260px no-repeat, var(--cs-green-c) center / 100% 100% no-repeat; }
}
@media (max-width: 767px) {
  body.elementor-page-2033 .cs-u04 .cs-u04-br { display: inline; }
  body.elementor-page-2033 .cs-u04 .cs-u04-dbr { display: none; }
  body.elementor-page-2033 .cs-u04::before { content: none; }
  body.elementor-page-2033 .cs-u04::after { right: -36px; top: 930px; width: 148px; height: 148px;
    background: var(--cs-ring) 9px 9px / 130px 130px no-repeat, var(--cs-green-c) center / 100% 100% no-repeat; }
  body.elementor-page-2033 .cs-u04 .cs-u04-box { flex: 0 0 auto; width: 100%; }
}

/* build/unternehmen-05-logos/site.css */
/* unternehmen 05-logos (LP10816). Section CSS beyond the V3 controls; every rule under body.elementor-page-2033 .cs-u05.
   Ellipse 9 and the JR ring above the panel are drawn by 04 (root ::after); the opaque panel covers them. */
body.elementor-page-2033 .cs-u05 { position: relative; isolation: isolate; }
/* Panel = Figma's two fills: white base (::before, below the panel's own rgba(235,233,199,.48) background) + the tint. */
body.elementor-page-2033 .cs-u05 .cs-u05-panel::before { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit;
  background: #FFFFFF; pointer-events: none; }
body.elementor-page-2033 .cs-u05 .elementor-heading-title { margin: 0; }

/* Logo marquee (PM Loom U 0:58–1:30): one HTML widget, CSS only. Two copies of the set; the run moves by one set
   (−50 %) linear and loops seamlessly. Pauses on hover / keyboard focus. Logos at their Figma display size (width/height
   attributes; files are 2×), lazy-loaded. */
body.elementor-page-2033 .cs-u05 .cs-u05-strip { width: 100%; }
body.elementor-page-2033 .cs-u05 .cs-u05-marquee { overflow: hidden; width: 100%; outline-offset: -2px; }
body.elementor-page-2033 .cs-u05 .cs-u05-run { display: flex; width: max-content; animation: cs-u05-scroll var(--cs-u05-dur, 600s) linear infinite; }
body.elementor-page-2033 .cs-u05 .cs-u05-set { display: flex; flex: none; align-items: center; gap: 80px; padding-right: 80px; height: 64px; }
body.elementor-page-2033 .cs-u05 .cs-u05-set img { display: block; flex: none; max-width: none; height: auto; }
body.elementor-page-2033 .cs-u05 .cs-u05-marquee:hover .cs-u05-run, body.elementor-page-2033 .cs-u05 .cs-u05-marquee:focus-within .cs-u05-run { animation-play-state: paused; }
@keyframes cs-u05-scroll { from { transform: translate3d(0, 0, 0); } to { transform: translate3d(-50%, 0, 0); } }

/* Phone: logos at 75 % (Figma 48 px rows), gap 48. */
@media (max-width: 767px) {
  body.elementor-page-2033 .cs-u05 .cs-u05-run { zoom: .75; }
  body.elementor-page-2033 .cs-u05 .cs-u05-set { gap: 64px; padding-right: 64px; }
}
/* Reduced motion: no drift; a static row that scrolls sideways (one copy). */
@media (prefers-reduced-motion: reduce) {
  body.elementor-page-2033 .cs-u05 .cs-u05-marquee { overflow-x: auto; }
  body.elementor-page-2033 .cs-u05 .cs-u05-run { animation: none; }
  body.elementor-page-2033 .cs-u05 .cs-u05-set[aria-hidden="true"] { display: none; }
  body.elementor-page-2033 .cs-u05 .cs-u05-set { padding-left: 24px; padding-right: 24px; }
}

/* build/unternehmen-06-testimonials/site.css */
/* unternehmen 06-testimonials (LP10816). Copied from build/home-04-testimonials/site.css (class cs-h04 -> cs-u06) and
   changed to the 2nd Page frame: one light-green glow circle (no JR ring), heading's second line bold on its own line at
   every width, phone arrows at the card's sides (56 px). Every rule under body.elementor-page-2033 .cs-u06. */

/* Background: light-green glow circle top left (Ellipse 30 1:10050 / 1:3372 / 1:5876, #D7D285 → transparent at 24 %). */
body.elementor-page-2033 .cs-u06 { position: relative; isolation: isolate; }
body.elementor-page-2033 .cs-u06::before { content: ""; position: absolute; z-index: 0; pointer-events: none;
  left: 102px; top: 71px; width: 326px; height: 326px; border-radius: 50%; opacity: .24;
  background: linear-gradient(180deg, #D7D285 0%, rgba(215,210,133,0) 50%); }
body.elementor-page-2033 .cs-u06 > .e-con-inner { position: relative; z-index: 1; }

body.elementor-page-2033 .cs-u06 .elementor-heading-title { margin: 0; }
body.elementor-page-2033 .cs-u06 .cs-script { position: absolute; width: 0; height: 0; overflow: hidden; }
body.elementor-page-2033 .cs-u06 .cs-h2 strong { font-weight: 500; display: block; }
body.elementor-page-2033 .cs-u06 .animated { animation-duration: .6s; }

/* Slider: the swiper clips its slides; extra room around them (cancelled by negative margins) keeps the quote marks
   (top left, outside the card) and the bubble tails (below) visible. */
body.elementor-page-2033 .cs-u06 .cs-carousel .e-n-carousel { padding: 32px 8px 72px; margin: -32px -8px -72px; }
/* Equal bubbles (Figma's three bubbles are the same height): slides stretch, the card fills its slide. */
body.elementor-page-2033 .cs-u06 .cs-carousel .swiper-wrapper { align-items: stretch; }
body.elementor-page-2033 .cs-u06 .cs-carousel .swiper-slide { height: auto; display: flex; flex-direction: column; }
body.elementor-page-2033 .cs-u06 .cs-carousel .swiper-slide > .cs-card { flex: 1 1 auto; }
/* Loop copies are made after Elementor's entrance setup: show them at rest (lp10849 05). */
body.elementor-page-2033 .cs-u06 .swiper-slide-duplicate .elementor-invisible { visibility: visible; }

/* Card = speech bubble: white fade fill; gradient outline as a masked ring (::before) that leaves the top-left corner
   free for the quote mark; tail (Figma path) as an SVG on ::after that also covers the outline where the tail opens.
   Desktop: the card is Figma's 310 px frame, the bubble (1:8054) reaches 16 px further down: ring and tail are offset,
   the fill continues as a white shadow (the fill is pure white there). */
body.elementor-page-2033 .cs-u06 .cs-card { position: relative; overflow: visible; --cs-over: 16px;
  background: linear-gradient(129deg, rgba(255,255,255,0) 0%, #FFFFFF 50%); box-shadow: 0 var(--cs-over) 0 0 #FFFFFF; }
body.elementor-page-2033 .cs-u06 .cs-card::before { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: calc(100% + var(--cs-over)); z-index: 0; pointer-events: none;
  padding: 3px; border-radius: inherit; background: linear-gradient(145deg, #827D2A 0%, #5F95A8 84%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
  clip-path: polygon(65px 0, 100% 0, 100% 100%, 0 100%, 0 36px, 65px 36px); }
body.elementor-page-2033 .cs-u06 .cs-card::after { content: ""; position: absolute; z-index: 0; pointer-events: none;
  right: 76px; top: calc(100% + var(--cs-over) - 6px); width: 86px; height: 52px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='302 320 86 52'%3E%3Crect x='307' y='322' width='76.5' height='4.5' fill='%23fff'/%3E%3Cpath d='M306 324.22C315.665 324.22 323.5 332.055 323.5 341.72V364.19C323.5 368.125 328.195 370.165 331.071 367.479L372.365 328.928C375.606 325.902 379.874 324.22 384.308 324.22' fill='%23fff' stroke='%235F95A8' stroke-width='3'/%3E%3C/svg%3E") 0 0 / 100% 100% no-repeat; }
body.elementor-page-2033 .cs-u06 .cs-card > .elementor-element { position: relative; z-index: 1; }
body.elementor-page-2033 .cs-u06 .cs-card > .elementor-element.cs-mark { position: absolute; z-index: 2; }
body.elementor-page-2033 .cs-u06 .cs-mark img { display: block; height: auto; }

/* Quotes: Figma truncates them at the end (5 / 8 / 7 lines); the whole quote stays in the DOM. */
body.elementor-page-2033 .cs-u06 .cs-quote p, body.elementor-page-2033 .cs-u06 .cs-pos p { margin: 0; }
body.elementor-page-2033 .cs-u06 .cs-quote { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 5; line-clamp: 5; overflow: hidden; }
body.elementor-page-2033 .cs-u06 .cs-quote p { display: inline; }
body.elementor-page-2033 .cs-u06 .cs-quote p + p::before { content: " "; }
body.elementor-page-2033 .cs-u06 .cs-pos strong { display: block; font-weight: 500; }

/* Arrows (1:8129 zurück #F7F6F1, 1:8134 weiter #5F95A8, 64 px): Elementor inlines the SVG icons; desktop at the sides
   (104 px outside the 1440 box, 131 px below the cards' top). Hover: zurück turns blue with a white glyph, weiter darkens. */
body.elementor-page-2033 .cs-u06 .cs-carousel .elementor-swiper-button { position: absolute; top: 131px; bottom: auto; transform: none;
  box-sizing: border-box; width: 64px; height: 64px; margin: 0; padding: 24px; gap: 8px; border-radius: 100px; overflow: hidden;
  cursor: pointer; display: flex; flex-direction: row; align-items: center; justify-content: center;
  background-color: #F7F6F1; transition: background-color .2s ease-out; }
body.elementor-page-2033 .cs-u06 .cs-carousel .elementor-swiper-button-next { background-color: #F7F6F1; }
body.elementor-page-2033 .cs-u06 .cs-carousel .elementor-swiper-button-prev { left: -104px; right: auto; }
body.elementor-page-2033 .cs-u06 .cs-carousel .elementor-swiper-button-next { right: -104px; left: auto; }
/* The icon SVG (64 x 64 with its own circle): the circle is hidden, the 24 px glyph shows in the padded button. */
body.elementor-page-2033 .cs-u06 .cs-carousel .elementor-swiper-button svg { flex: none; width: 64px; height: 64px; margin: -20px; display: block; fill: none; }
body.elementor-page-2033 .cs-u06 .cs-carousel .elementor-swiper-button svg > rect { display: none; }
body.elementor-page-2033 .cs-u06 .cs-carousel .elementor-swiper-button svg path { transition: stroke .2s ease-out; }
body.elementor-page-2033 .cs-u06 .cs-carousel .elementor-swiper-button-prev:hover { background-color: #5F95A8; }
body.elementor-page-2033 .cs-u06 .cs-carousel .elementor-swiper-button-prev:hover svg path { stroke: #FFFFFF; }
body.elementor-page-2033 .cs-u06 .cs-carousel .elementor-swiper-button-next svg path { stroke: #383C48; }
body.elementor-page-2033 .cs-u06 .cs-carousel .elementor-swiper-button-next:hover { background-color: #5F95A8; }
body.elementor-page-2033 .cs-u06 .cs-carousel .elementor-swiper-button-next:hover svg path { stroke: #FFFFFF; }
/* 2026-10-10 user review: both arrows rest light (#F7F6F1, dark glyph); only the hovered one turns blue. */
body.elementor-page-2033 .cs-u06 .cs-carousel .elementor-swiper-button:focus-visible { outline: 3px solid #4A7C8E; outline-offset: 3px; }

@media (prefers-reduced-motion: no-preference) {
  /* R-icon-hover-scale: the arrow glyph grows on hover; the quote mark grows while its card is hovered. */
  body.elementor-page-2033 .cs-u06 .cs-carousel .elementor-swiper-button svg g { transform-box: fill-box; transform-origin: center; transition: transform .2s ease-out; }
  body.elementor-page-2033 .cs-u06 .cs-carousel .elementor-swiper-button:hover svg g { transform: scale(1.1); }
  body.elementor-page-2033 .cs-u06 .cs-mark img { transform-origin: 30% 70%; transition: transform .2s ease-out; }
  body.elementor-page-2033 .cs-u06 .cs-card:hover .cs-mark img { transform: scale(1.06); }
}

@media (max-width: 1024px) {
  body.elementor-page-2033 .cs-u06::before { left: -72px; top: 64px; width: 280px; height: 280px; }
  body.elementor-page-2033 .cs-u06 .cs-card { --cs-over: 0px; box-shadow: none; }
  body.elementor-page-2033 .cs-u06 .cs-card::before { clip-path: polygon(55px 0, 100% 0, 100% 100%, 0 100%, 0 32px, 55px 32px); }
  body.elementor-page-2033 .cs-u06 .cs-card::after { right: 26px; top: calc(100% - 5.72px); width: 76px; height: 44px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='180 378 76 44'%3E%3Crect x='185' y='380' width='66.5' height='4.5' fill='%23fff'/%3E%3Cpath d='M184 382.22C193.665 382.22 201.5 390.055 201.5 399.72V412.336C201.5 416.254 206.16 418.3 209.045 415.648L240.394 386.836C243.623 383.868 247.85 382.22 252.236 382.22' fill='%23fff' stroke='%235F95A8' stroke-width='3'/%3E%3C/svg%3E"); }
  body.elementor-page-2033 .cs-u06 .cs-quote { -webkit-line-clamp: 8; line-clamp: 8; }
  body.elementor-page-2033 .cs-u06 .cs-carousel .elementor-swiper-button { top: 160px; }
  body.elementor-page-2033 .cs-u06 .cs-carousel .elementor-swiper-button-prev { left: -40px; }
  body.elementor-page-2033 .cs-u06 .cs-carousel .elementor-swiper-button-next { right: -40px; }
}
@media (max-width: 767px) {
  body.elementor-page-2033 .cs-u06::before { left: -86px; top: 87px; width: 182px; height: 182px; }
  body.elementor-page-2033 .cs-u06 .cs-quote { -webkit-line-clamp: 7; line-clamp: 7; }
  /* Arrows (1:6225 / 1:6230, 56 px) at the card's sides at mid height, 16 px outside the card (2nd Page 390 frame). */
  body.elementor-page-2033 .cs-u06 .cs-carousel .elementor-swiper-button { top: 151px; width: 56px; height: 56px; padding: 24px; }
  body.elementor-page-2033 .cs-u06 .cs-carousel .elementor-swiper-button svg { margin: -28px; }
  body.elementor-page-2033 .cs-u06 .cs-carousel .elementor-swiper-button-prev { left: -16px; }
  body.elementor-page-2033 .cs-u06 .cs-carousel .elementor-swiper-button-next { right: -16px; left: auto; }
}

/* Laptop floor (zoom .66 at 1025-1199): name and position stay at >= 12 px rendered (BRIEF). */
@media (min-width: 1025px) and (max-width: 1199px) {
  body.elementor-page-2033 .cs-u06 .cs-card .elementor-heading-title, body.elementor-page-2033 .cs-u06 .cs-pos p { font-size: 18.2px; letter-spacing: 0; }
}

/* build/unternehmen-07-key/site.css */
/* unternehmen 07-key (LP10816). Section CSS beyond the V3 controls; every rule under body.elementor-page-2033 .cs-u07.
   Root carries the menu anchor #neue-bueroflaechen. */

/* Background (decorative, no DOM).
   ::before = cream panel (Rectangle 34625439 1:10794 / 1:3379 / 1:6235: #F7F6F1 solid in the top half, fading out, 1050 px
   tall; rounded top right 280 / 164 / 80, bottom left 48 / 32 / 16 — the rect is flipped in Figma, as home 05).
   ::after = Ellipse 10 (big light-green circle, 24 %, 0 at 32.6 %), JR ring (Group 2, deko-jr-ring paths recoloured
   #BCD2DA, 24 %), Ellipse 11 and Ellipse 15 (light blue 24 %, 0 at 50 %). Data-URIs as home 07.
   Desktop x from the centre: calc(50% + X − (1920 − size) / 2). */
body.elementor-page-2033 .cs-u07 { position: relative; isolation: isolate;
  --cs-blue-c: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23BCD2DA' stop-opacity='.24'/%3E%3Cstop offset='.5' stop-color='%23BCD2DA' stop-opacity='0'/%3E%3C/linearGradient%3E%3C/defs%3E%3Ccircle cx='50' cy='50' r='50' fill='url(%23g)'/%3E%3C/svg%3E");
  --cs-green-c: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23D7D285' stop-opacity='.24'/%3E%3Cstop offset='.326' stop-color='%23D7D285' stop-opacity='0'/%3E%3C/linearGradient%3E%3C/defs%3E%3Ccircle cx='50' cy='50' r='50' fill='url(%23g)'/%3E%3C/svg%3E");
  --cs-ring: url("data:image/svg+xml,%3Csvg viewBox='0 0 461 461' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg opacity='0.24'%3E%3Cpath d='M197.57 285.381V153.667H219.522V285.381C219.522 333.877 180.208 373.191 131.713 373.191V351.238C168.084 351.238 197.57 321.753 197.57 285.381Z' fill='%23BCD2DA'/%3E%3Cpath d='M263.43 181.107L263.43 268.917L241.478 268.917L241.478 181.107C241.478 132.611 280.791 93.2977 329.287 93.2977L329.287 115.25C292.915 115.25 263.43 144.735 263.43 181.107Z' fill='%23BCD2DA'/%3E%3Cpath d='M439.048 230.5C439.048 115.322 345.678 21.9524 230.5 21.9524C115.322 21.9524 21.9524 115.322 21.9524 230.5C21.9524 345.678 115.322 439.048 230.5 439.048V461C103.198 461 0 357.802 0 230.5C0 103.198 103.198 0 230.5 0C357.802 0 461 103.198 461 230.5C461 357.802 357.802 461 230.5 461V439.048C345.678 439.048 439.048 345.678 439.048 230.5Z' fill='%23BCD2DA'/%3E%3C/g%3E%3C/svg%3E"); }
body.elementor-page-2033 .cs-u07::before { content: ""; position: absolute; z-index: -2; pointer-events: none; left: 0; right: 0; top: 0;
  height: 1050px; border-radius: 0 280px 0 48px; background: linear-gradient(180deg, #F7F6F1 50%, rgba(247,246,241,0) 100%); }
body.elementor-page-2033 .cs-u07::after { content: ""; position: absolute; z-index: -1; pointer-events: none; inset: 0;
  background: var(--cs-green-c) calc(50% + 0px) 1069px / 1200px 1200px no-repeat,
    var(--cs-ring) calc(50% - 455px) 1060px / 240px 240px no-repeat,
    var(--cs-blue-c) calc(50% - 455px) 1015px / 330px 330px no-repeat,
    var(--cs-blue-c) calc(50% + 630px) 777px / 200px 200px no-repeat; }

body.elementor-page-2033 .cs-u07 .elementor-heading-title { margin: 0; }
body.elementor-page-2033 .cs-u07 .cs-u07-lead p, body.elementor-page-2033 .cs-u07 .cs-u07-body p { margin: 0; }
/* Body: one empty line after the first paragraph (Figma's double line separator), none between the last two. */
body.elementor-page-2033 .cs-u07 .cs-u07-body p:first-child { margin-bottom: 1.64em; }
body.elementor-page-2033 .cs-u07 .cs-u07-illu img { display: block; width: 100%; height: auto; }
body.elementor-page-2033 .cs-u07 .cs-u07-illu2 img { display: block; height: auto; }

/* Block 1 grid. Desktop: heading, lead and body left (600), illustration right (859; reaches 100 px past the content edge
   as in Figma), the text block centred against the illustration. */
body.elementor-page-2033 .cs-u07 .cs-u07-grid { display: grid; grid-template-columns: 600px 859px; column-gap: 81px; row-gap: 0;
  grid-template-rows: 1fr auto auto auto 1fr; grid-template-areas: ". illu" "h illu" "l illu" "b illu" ". illu"; justify-content: start; }
body.elementor-page-2033 .cs-u07 .cs-u07-grid > .cs-u07-h { grid-area: h; margin-bottom: 32px; }
/* Desktop: Futura BT is ~8 % wider than Futura PT; the title may run 80 px past the 600 column (still clear of the
   illustration at x 921) so Figma's two lines hold. */
body.elementor-page-2033 .cs-u07 .cs-u07-h .elementor-heading-title { width: 680px; }
body.elementor-page-2033 .cs-u07 .cs-u07-grid > .cs-u07-lead { grid-area: l; margin-bottom: 32px; }
body.elementor-page-2033 .cs-u07 .cs-u07-grid > .cs-u07-body { grid-area: b; }
body.elementor-page-2033 .cs-u07 .cs-u07-grid > .cs-u07-illu { grid-area: illu; width: 859px; max-width: none; }

/* Entrances (PM Loom U 1:48–2:00): text from the left, one paragraph after the other; the second illustration from below.
   Shorter travel than animate.css's 100 %. The body widget itself does not move: its paragraphs do, 150 ms apart, once
   Elementor starts the widget's entrance (its delay 300 ms follows heading 0 and lead 150). */
body.elementor-page-2033 .cs-u07 .animated { animation-duration: .6s; }
@keyframes cs-u07-in-left { from { opacity: 0; transform: translate3d(-80px, 0, 0); } to { opacity: 1; transform: none; } }
@keyframes cs-u07-in-up { from { opacity: 0; transform: translate3d(0, 60px, 0); } to { opacity: 1; transform: none; } }
body.elementor-page-2033 .cs-u07 .animated.fadeInLeft { animation-name: cs-u07-in-left; }
body.elementor-page-2033 .cs-u07 .animated.fadeInUp { animation-name: cs-u07-in-up; }
body.elementor-page-2033 .cs-u07 .cs-u07-body.animated.fadeInLeft { animation-name: none; }
@media (prefers-reduced-motion: no-preference) {
  body.elementor-page-2033 .cs-u07 .cs-u07-body.animated p { animation: cs-u07-in-left .6s ease-out both; }
  body.elementor-page-2033 .cs-u07 .cs-u07-body.animated p:nth-child(2) { animation-delay: .15s; }
  body.elementor-page-2033 .cs-u07 .cs-u07-body.animated p:nth-child(3) { animation-delay: .3s; }
}

@media (max-width: 1024px) {
  body.elementor-page-2033 .cs-u07::before { border-radius: 0 164px 0 32px; }
  body.elementor-page-2033 .cs-u07::after { background-position: 79px 982px, 97px 976px, 64px 943px, right -54px top 637px;
    background-size: 881px 881px, 176px 176px, 242px 242px, 200px 200px; }
  /* Tablet: heading centred above (592); lead + body 460 left, illustration 516 to the right, starting 20 px inside the
     text column and reaching 60 px past the content edge (Figma). */
  body.elementor-page-2033 .cs-u07 .cs-u07-grid { grid-template-columns: 460px minmax(0, 1fr); column-gap: 0;
    grid-template-rows: auto auto 1fr; grid-template-areas: "h h" "l illu" "b illu"; }
  body.elementor-page-2033 .cs-u07 .cs-u07-grid > .cs-u07-h { justify-self: center; width: 592px; max-width: 100%; margin-bottom: 49px; }
  body.elementor-page-2033 .cs-u07 .cs-u07-h .elementor-heading-title { width: auto; }
  body.elementor-page-2033 .cs-u07 .cs-u07-grid > .cs-u07-lead, body.elementor-page-2033 .cs-u07 .cs-u07-grid > .cs-u07-body { position: relative; z-index: 1; }
  body.elementor-page-2033 .cs-u07 .cs-u07-grid > .cs-u07-illu { width: 516px; margin-left: -20px; align-self: start; }
}
@media (max-width: 767px) {
  body.elementor-page-2033 .cs-u07::before { border-radius: 0 80px 0 16px; }
  body.elementor-page-2033 .cs-u07::after { background-position: -5px 1316px, -31px 1293px, -53px 1271px, right -42px top 908px;
    background-size: 400px 400px, 119px 119px, 164px 164px, 164px 164px; }
  body.elementor-page-2033 .cs-u07 .cs-u07-grid { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto;
    grid-template-areas: "h" "l" "b" "illu"; }
  body.elementor-page-2033 .cs-u07 .cs-u07-grid > .cs-u07-h { width: auto; justify-self: stretch; margin-bottom: 32px; }
  body.elementor-page-2033 .cs-u07 .cs-u07-grid > .cs-u07-lead { margin-bottom: 24px; }
  body.elementor-page-2033 .cs-u07 .cs-u07-grid > .cs-u07-body { margin-bottom: 32px; }
  body.elementor-page-2033 .cs-u07 .cs-u07-grid > .cs-u07-illu { width: 100%; max-width: 342px; margin-left: 0; justify-self: center; }
  /* The 390 frame gives the illustration a 342 x 240 box (the SVG is flatter): keep the box, centre the drawing. */
  body.elementor-page-2033 .cs-u07 .cs-u07-illu img { height: 240px; object-fit: contain; }
}

/* build/unternehmen-08-trust/site.css */
/* unternehmen 08-trust (LP10816). Section CSS beyond the V3 controls; every rule under body.elementor-page-2033 .cs-u08. */

/* Office photo panel (Figma Frame 2147225738 1:11555 / 1:4867 / 1:6997), decorative, no DOM, on root ::before:
   kunden-glas-hintergrund.webp (1910, 1200 × 800 original, cover; the phone uses the same file: its 390 × 1551 panel is a
   6× cover crop, the 828 px file would be blurrier) under Figma's fills (bottom → top): black 24 %, #FBFBF8 fade
   0 → 1 over 50–81.8 %, #FBFBF8 fade over 34.7–100 % (phone: 70.5 / 70.9–100 %), #D7D285 24 % → 0 over 19.2–54 %; then the
   dark Ellipse 46 (/47 on the phone) #383C48 64 % with layer blur 403 behind the heading as a soft radial gradient.
   Radius TL 280 / BR 48 (tablet 164 / 32, phone 80 / 16). Top 59 / 48 / 40, height 1100 / 1044 / 1551. */
body.elementor-page-2033 .cs-u08 { position: relative; isolation: isolate; }
body.elementor-page-2033 .cs-u08::before { content: ""; position: absolute; z-index: -1; pointer-events: none; left: 0; right: 0;
  top: 59px; height: 1100px; border-radius: 280px 0 48px 0;
  background:
    radial-gradient(ellipse 900px 420px at 50% 210px, rgba(56,60,72,.42), rgba(56,60,72,0)),
    linear-gradient(180deg, rgba(215,210,133,.24) 19.2%, rgba(215,210,133,0) 54%),
    linear-gradient(180deg, rgba(251,251,248,0) 34.7%, #FBFBF8 100%),
    linear-gradient(180deg, rgba(251,251,248,0) 50%, #FBFBF8 81.8%),
    linear-gradient(rgba(0,0,0,.24), rgba(0,0,0,.24)),
    url("/wp-content/uploads/2026/10/kunden-glas-hintergrund.webp") 50% 50% / cover no-repeat; }

body.elementor-page-2033 .cs-u08 .elementor-heading-title { margin: 0; }
body.elementor-page-2033 .cs-u08 .cs-u08-glass p, body.elementor-page-2033 .cs-u08 .cs-u08-intro p, body.elementor-page-2033 .cs-u08 .cs-u08-result p, body.elementor-page-2033 .cs-u08 .cs-hc-body p { margin: 0; }
body.elementor-page-2033 .cs-u08 .animated { animation-duration: .6s; }
/* Breaks: Figma's desktop line end (statement) and the phone's hard breaks. */
body.elementor-page-2033 .cs-u08 .cs-u08-mbr { display: none; }
@media (max-width: 1024px) { body.elementor-page-2033 .cs-u08 .cs-u08-dbr { display: none; } }
@media (max-width: 767px) { body.elementor-page-2033 .cs-u08 .cs-u08-mbr { display: inline; } }

/* Glass cards over the photo: #FBFBF8 24 % + background blur (Figma 48 → CSS 24, as home 08/13), radius 32; equal width
   on desktop/tablet (stretched to the tallest, as Figma), stacked on the phone. Hover (pointer devices): the glass
   lightens. Not links, no focus state. */
body.elementor-page-2033 .cs-u08 .cs-u08-glassrow > .cs-u08-glass { flex: 1 1 0; min-width: 0; }
body.elementor-page-2033 .cs-u08 .cs-u08-glass { background-color: rgba(251,251,248,.24); -webkit-backdrop-filter: blur(24px);
  backdrop-filter: blur(24px); transition: background-color .25s ease-out; }
@media (hover: hover) { body.elementor-page-2033 .cs-u08 .cs-u08-glass:hover { background-color: rgba(251,251,248,.34); } }
@media (max-width: 767px) { body.elementor-page-2033 .cs-u08 .cs-u08-glassrow > .cs-u08-glass { flex: 0 0 auto; } }

/* ---------- Hover cards (cs-hc*; reused on unternehmen 04 / 08 with that section's class) ----------
   Card = container .cs-hc (tabindex 0) > icon .cs-hc-icon + .cs-hc-text (title .cs-hc-title, body .cs-hc-body).
   Default (tablet, phone, touch screens): open and white, as the tablet / phone frames. */
body.elementor-page-2033 .cs-u08 .cs-hc { transition: background-color .3s ease-out, box-shadow .3s ease-out, gap .35s ease-out; }
body.elementor-page-2033 .cs-u08 .cs-hc:focus-visible { outline: 3px solid #4A7C8E; outline-offset: 3px; }
/* Icon circle: the file's 2.5 px outer ring is half clipped by its viewBox; drawn here as a gradient border (03's ring). */
body.elementor-page-2033 .cs-u08 .cs-hc-icon img { display: block; height: auto; box-sizing: content-box; border-radius: 50%; border: 2.5px solid transparent;
  background: linear-gradient(#FBFBF8, #FBFBF8) padding-box, linear-gradient(139deg, #827D2A 0%, #5F95A8 80%) border-box;
  box-shadow: 12px 12px 24px rgba(56,60,72,.16);
  transition: width .35s ease-out; }
body.elementor-page-2033 .cs-u08 .cs-hc-title .elementor-heading-title, body.elementor-page-2033 .cs-u08 .cs-hc-body { transition: color .3s ease-out; }
body.elementor-page-2033 .cs-u08 .cs-hc-title { margin-bottom: 8px; transition: margin .35s ease-out; }
body.elementor-page-2033 .cs-u08 .cs-hc-body { display: grid; grid-template-rows: 1fr; transition: grid-template-rows .35s ease-out, opacity .3s ease-out, color .3s ease-out; }
body.elementor-page-2033 .cs-u08 .cs-hc-body > * { min-height: 0; overflow: hidden; }

/* Hover colour wherever a real pointer hovers (Figma's highlighted card: #5F95A8, white text, shadow). */
@media (hover: hover) {
  body.elementor-page-2033 .cs-u08 .cs-hc:hover, body.elementor-page-2033 .cs-u08 .cs-hc:focus-within { background-color: #5F95A8; box-shadow: 12px 12px 32px -8px rgba(56,60,72,.24); }
  body.elementor-page-2033 .cs-u08 .cs-hc:hover .cs-hc-title .elementor-heading-title, body.elementor-page-2033 .cs-u08 .cs-hc:focus-within .cs-hc-title .elementor-heading-title,
  body.elementor-page-2033 .cs-u08 .cs-hc:hover .cs-hc-body, body.elementor-page-2033 .cs-u08 .cs-hc:focus-within .cs-hc-body { color: #FFFFFF; }
}
/* Desktop with a hover pointer: the long text is folded at rest and folds out on hover / keyboard focus; the icon shrinks
   128 → 80 and the gap 32 → 24 (Figma's hover card). The grid row keeps 386 px, so an opened card that is taller grows
   down over the 48 px gap without moving the page. */
@media (min-width: 1025px) and (hover: hover) {
  body.elementor-page-2033 .cs-u08 .cs-hc-grid .swiper-wrapper { grid-auto-rows: 446px; }
  /* An opened card taller than the row grows equally up (over the illustration's foot) and down (into the gap). */
  body.elementor-page-2033 .cs-u08 .cs-hc-grid .swiper-slide { justify-content: center; }
  body.elementor-page-2033 .cs-u08 .cs-hc-grid .swiper-slide > .cs-hc { flex: 0 0 auto; }
  body.elementor-page-2033 .cs-u08 .cs-hc:hover, body.elementor-page-2033 .cs-u08 .cs-hc:focus-within { position: relative; z-index: 2; }
  body.elementor-page-2033 .cs-u08 .cs-hc-title { margin-bottom: 0; }
  body.elementor-page-2033 .cs-u08 .cs-hc-body { grid-template-rows: 0fr; opacity: 0; }
  body.elementor-page-2033 .cs-u08 .cs-hc:hover, body.elementor-page-2033 .cs-u08 .cs-hc:focus-within { gap: 24px; }
  body.elementor-page-2033 .cs-u08 .cs-hc:hover .cs-hc-icon img, body.elementor-page-2033 .cs-u08 .cs-hc:focus-within .cs-hc-icon img { width: 80px; }
  body.elementor-page-2033 .cs-u08 .cs-hc:hover .cs-hc-title, body.elementor-page-2033 .cs-u08 .cs-hc:focus-within .cs-hc-title { margin-bottom: 8px; }
  body.elementor-page-2033 .cs-u08 .cs-hc:hover .cs-hc-body, body.elementor-page-2033 .cs-u08 .cs-hc:focus-within .cs-hc-body { grid-template-rows: 1fr; opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
  body.elementor-page-2033 .cs-u08 .cs-hc, body.elementor-page-2033 .cs-u08 .cs-hc *, body.elementor-page-2033 .cs-u08 .cs-hc-icon img { transition: none !important; }
}

/* Cards as a static grid on desktop (4) and tablet (2 × 2): the Nested Carousel only slides on phones. Swiper's
   transform and slide widths are overridden, its loop copies hidden, the slides ordered by their index (Swiper 11 moves
   slides in the DOM for the loop). */
body.elementor-page-2033 .cs-u08 .cs-hc-grid .swiper-slide { height: auto; display: flex; flex-direction: column; }
body.elementor-page-2033 .cs-u08 .cs-hc-grid .swiper-slide > .cs-hc { flex: 1 0 auto; height: auto; }
body.elementor-page-2033 .cs-u08 .cs-hc > .elementor-element { flex-shrink: 0; }
@media (min-width: 768px) {
  body.elementor-page-2033 .cs-u08 .cs-hc-grid .e-n-carousel { overflow: visible; }
  body.elementor-page-2033 .cs-u08 .cs-hc-grid .swiper-wrapper { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; transform: none !important; }
  body.elementor-page-2033 .cs-u08 .cs-hc-grid .swiper-slide { width: auto !important; margin: 0 !important; }
  body.elementor-page-2033 .cs-u08 .cs-hc-grid .swiper-slide-duplicate { display: none; }
  body.elementor-page-2033 .cs-u08 .cs-hc-grid .swiper-slide[data-swiper-slide-index="1"] { order: 1; }
  body.elementor-page-2033 .cs-u08 .cs-hc-grid .swiper-slide[data-swiper-slide-index="2"] { order: 2; }
  body.elementor-page-2033 .cs-u08 .cs-hc-grid .swiper-slide[data-swiper-slide-index="3"] { order: 3; }
  body.elementor-page-2033 .cs-u08 .cs-hc-grid .swiper-slide[data-swiper-slide-index="4"] { order: 4; }
  body.elementor-page-2033 .cs-u08 .cs-hc-grid .swiper-slide[data-swiper-slide-index="5"] { order: 5; }
}

/* Loop copies are made after Elementor's entrance setup: show them at rest. */
body.elementor-page-2033 .cs-u08 .swiper-slide-duplicate .elementor-invisible { visibility: visible; }

@media (max-width: 1024px) {
  body.elementor-page-2033 .cs-u08 .cs-hc-grid .swiper-wrapper { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  /* Slider: the next card peeks in at the right (Figma), nothing at the left; arrows below (padding 32 + 64). */
  body.elementor-page-2033 .cs-u08 .cs-hc-grid { padding-bottom: 96px; }
  body.elementor-page-2033 .cs-u08 .cs-hc-grid .e-n-carousel { overflow: visible; clip-path: inset(-40px -100vw -40px 0); }
}

/* Arrows: hidden on desktop / tablet (static grid). */
@media (min-width: 768px) { body.elementor-page-2033 .cs-u08 .cs-hc-grid .elementor-swiper-button { display: none; } }
/* Phone arrows (1:2384 zurück #F7F6F1, 1:2389 weiter #5F95A8, 64 px) centred 48 px under the card, as home 04. */
@media (max-width: 767px) {
body.elementor-page-2033 .cs-u08 .cs-hc-grid .elementor-swiper-button { position: absolute; top: auto; bottom: 0; transform: none;
  box-sizing: border-box; width: 64px; height: 64px; margin: 0; padding: 24px; gap: 8px; border-radius: 100px; overflow: hidden;
  cursor: pointer; display: flex; align-items: center; justify-content: center;
  background-color: #F7F6F1; transition: background-color .2s ease-out; }
body.elementor-page-2033 .cs-u08 .cs-hc-grid .elementor-swiper-button-prev { left: calc(50% - 72px); right: auto; }
body.elementor-page-2033 .cs-u08 .cs-hc-grid .elementor-swiper-button-next { left: calc(50% + 8px); right: auto; background-color: #F7F6F1; }
body.elementor-page-2033 .cs-u08 .cs-hc-grid .elementor-swiper-button svg { flex: none; width: 64px; height: 64px; margin: -20px; display: block; fill: none; }
body.elementor-page-2033 .cs-u08 .cs-hc-grid .elementor-swiper-button svg > rect { display: none; }
body.elementor-page-2033 .cs-u08 .cs-hc-grid .elementor-swiper-button-prev:hover { background-color: #5F95A8; }
body.elementor-page-2033 .cs-u08 .cs-hc-grid .elementor-swiper-button-prev:hover svg path { stroke: #FFFFFF; }
body.elementor-page-2033 .cs-u08 .cs-hc-grid .elementor-swiper-button-next svg path { stroke: #383C48; }
body.elementor-page-2033 .cs-u08 .cs-hc-grid .elementor-swiper-button-next:hover { background-color: #5F95A8; }
body.elementor-page-2033 .cs-u08 .cs-hc-grid .elementor-swiper-button-next:hover svg path { stroke: #FFFFFF; }
/* 2026-10-10 user review: both arrows rest light (#F7F6F1, dark glyph); only the hovered one turns blue. */
body.elementor-page-2033 .cs-u08 .cs-hc-grid .elementor-swiper-button:focus-visible { outline: 3px solid #4A7C8E; outline-offset: 3px; }
@media (prefers-reduced-motion: no-preference) {
  body.elementor-page-2033 .cs-u08 .cs-hc-grid .elementor-swiper-button svg g { transform-box: fill-box; transform-origin: center; transition: transform .2s ease-out; }
  body.elementor-page-2033 .cs-u08 .cs-hc-grid .elementor-swiper-button:hover svg g { transform: scale(1.1); }
}
}

@media (max-width: 1024px) {
  body.elementor-page-2033 .cs-u08::before { top: 48px; height: 1044px; border-radius: 164px 0 32px 0;
    background:
      radial-gradient(ellipse 820px 420px at 50% 296px, rgba(56,60,72,.42), rgba(56,60,72,0)),
      linear-gradient(180deg, rgba(215,210,133,.24) 19.2%, rgba(215,210,133,0) 54%),
      linear-gradient(180deg, rgba(251,251,248,0) 34.7%, #FBFBF8 100%),
      linear-gradient(180deg, rgba(251,251,248,0) 50%, #FBFBF8 81.8%),
      linear-gradient(rgba(0,0,0,.24), rgba(0,0,0,.24)),
      url("/wp-content/uploads/2026/10/kunden-glas-hintergrund.webp") 50% 50% / cover no-repeat; }
}
@media (max-width: 767px) {
  body.elementor-page-2033 .cs-u08::before { top: 40px; height: 1551px; border-radius: 80px 0 16px 0;
    background:
      radial-gradient(ellipse 560px 420px at 50% 296px, rgba(56,60,72,.42), rgba(56,60,72,0)),
      radial-gradient(ellipse 560px 420px at 50% 835px, rgba(56,60,72,.42), rgba(56,60,72,0)),
      linear-gradient(180deg, rgba(215,210,133,.24) 19.2%, rgba(215,210,133,0) 54%),
      linear-gradient(180deg, rgba(251,251,248,0) 70.9%, #FBFBF8 100%),
      linear-gradient(180deg, rgba(251,251,248,0) 70.5%, #FBFBF8 100%),
      linear-gradient(rgba(0,0,0,.24), rgba(0,0,0,.24)),
      url("/wp-content/uploads/2026/10/kunden-glas-hintergrund.webp") 50% 50% / cover no-repeat; }
}

/* build/unternehmen-09-references/site.css */
/* unternehmen 09-references (LP10816): reference image slider with a thumbnail column. Section CSS beyond the V3
   controls; every rule under body.elementor-page-2033 .cs-u09. Arrows from home 04/09, CTA arrow circle from home 02/09. */

/* The theme styles the live site's own #referenzen (style.css: `#referenzen { padding-top: 250px }`, ID specificity):
   cancel it, as in home 09 (the boxed root's padding sits on .e-con-inner; the outer box has none). */
body.elementor-page-2033 #referenzen.cs-u09 { padding-top: 0; }

/* Light-green glow circle bottom right (Ellipse 18: #D7D285 → 0, 24 %), reaching into 10-steps as in Figma. */
body.elementor-page-2033 .cs-u09 { position: relative; isolation: isolate; }
body.elementor-page-2033 .cs-u09::before { content: ""; position: absolute; z-index: 0; pointer-events: none; left: auto; bottom: auto; right: 124px; top: 831px;
  width: 200px; height: 200px; border-radius: 50%; opacity: .24; background: linear-gradient(180deg, #D7D285 0%, rgba(215,210,133,0) 100%); }
body.elementor-page-2033 .cs-u09 > .e-con-inner { position: relative; z-index: 1; }
body.elementor-page-2033 .cs-u09 .cs-script { position: absolute; width: 0; height: 0; overflow: hidden; }
body.elementor-page-2033 .cs-u09 .animated { animation-duration: .6s; }
body.elementor-page-2033 .cs-u09 .swiper-slide-duplicate .elementor-invisible { visibility: visible; }

/* Stage: the carousel grows, the thumbnail column (166 px) stretches to its height. The arrows are placed against the
   stage (the carousel widget is static), so they sit outside the photo as in Figma: 104 px (tablet 76 px) beyond it. */
body.elementor-page-2033 .cs-u09 .cs-rf-stage { position: relative; }
body.elementor-page-2033 .cs-u09 .cs-rf-main { position: static; flex: 1 1 0; width: auto; min-width: 0; max-width: 100%; }
body.elementor-page-2033 .cs-u09 .cs-rf-thumbs { flex: 0 0 auto; }
body.elementor-page-2033 .cs-u09 .cs-rf-main .e-n-carousel { border-radius: 48px 16px 16px 16px; }
body.elementor-page-2033 .cs-u09 .cs-rf-slide { height: 100%; }
body.elementor-page-2033 .cs-u09 .cs-rf-img img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: center; }
body.elementor-page-2033 .cs-u09 .cs-rf-big img { aspect-ratio: 1258 / 712; height: auto; border-radius: 48px 16px 16px 16px; }

/* Thumbnails: the current slide's is hidden, the order comes from the script (static: Figma's 2–5). */
body.elementor-page-2033 .cs-u09 .cs-rf-thumb { position: relative; flex: 1 1 0; min-height: 0; min-width: 0; overflow: hidden; border-radius: 16px; }
body.elementor-page-2033 .cs-u09 .cs-rf-thumb.cs-rf-cur { display: none; }
body.elementor-page-2033 .cs-u09 .cs-rf-thumb.cs-rf-last { border-radius: 16px 16px 48px 16px; }
body.elementor-page-2033 .cs-u09 .cs-rf-thumb > .elementor-widget-container { height: 100%; border-radius: inherit; }
body.elementor-page-2033 .cs-u09 .cs-rf-thumb a { position: absolute; inset: 0; display: block; border-radius: inherit; overflow: hidden; }
body.elementor-page-2033 .cs-u09 .cs-rf-thumb img { border-radius: inherit; transition: transform .3s ease-out; }
body.elementor-page-2033 .cs-u09 .cs-rf-thumb a:hover img, body.elementor-page-2033 .cs-u09 .cs-rf-thumb a:focus-visible img { transform: scale(1.06); }
body.elementor-page-2033 .cs-u09 .cs-rf-thumb a:focus-visible { outline: 3px solid #4A7C8E; outline-offset: 2px; }
body.elementor-page-2033 .cs-u09 .cs-rf-thumb.cs-rf-in img { animation: cs-rf-in .3s ease-out; }
@keyframes cs-rf-in { from { opacity: 0; } to { opacity: 1; } }

/* Arrows (prev #F7F6F1 with the dark arrow, next #5F95A8 with the white arrow; 64 px, tablet 48 px). */
body.elementor-page-2033 .cs-u09 .cs-rf-main .elementor-swiper-button { position: absolute; top: 50%; bottom: auto; transform: translateY(-50%);
  box-sizing: border-box; width: 64px; height: 64px; margin: 0; padding: 24px; gap: 8px; border-radius: 100px; overflow: hidden; cursor: pointer;
  display: flex; align-items: center; justify-content: center; background-color: #F7F6F1; transition: background-color .2s ease-out; z-index: 2; }
body.elementor-page-2033 .cs-u09 .cs-rf-main .elementor-swiper-button-next { background-color: #F7F6F1; }
body.elementor-page-2033 .cs-u09 .cs-rf-main .elementor-swiper-button-prev { left: -104px; right: auto; }
body.elementor-page-2033 .cs-u09 .cs-rf-main .elementor-swiper-button-next { right: -104px; left: auto; }
/* Figma's button frame: padding 24, gap 8; the SVG (circle + arrow, 64 px; tablet 48 px) fills the whole button. */
body.elementor-page-2033 .cs-u09 .cs-rf-main .elementor-swiper-button svg { flex: none; width: 64px; height: 64px; margin: -24px; display: block; fill: none; }
body.elementor-page-2033 .cs-u09 .cs-rf-main .elementor-swiper-button svg > rect { display: none; }
body.elementor-page-2033 .cs-u09 .cs-rf-main .elementor-swiper-button svg path { transition: stroke .2s ease-out; }
body.elementor-page-2033 .cs-u09 .cs-rf-main .elementor-swiper-button-prev:hover { background-color: #5F95A8; }
body.elementor-page-2033 .cs-u09 .cs-rf-main .elementor-swiper-button-prev:hover svg path { stroke: #FFFFFF; }
body.elementor-page-2033 .cs-u09 .cs-rf-main .elementor-swiper-button-next svg path { stroke: #383C48; }
body.elementor-page-2033 .cs-u09 .cs-rf-main .elementor-swiper-button-next:hover { background-color: #5F95A8; }
body.elementor-page-2033 .cs-u09 .cs-rf-main .elementor-swiper-button-next:hover svg path { stroke: #FFFFFF; }
/* 2026-10-10 user review: both arrows rest light (#F7F6F1, dark glyph); only the hovered one turns blue. */
body.elementor-page-2033 .cs-u09 .cs-rf-main .elementor-swiper-button:focus-visible { outline: 3px solid #4A7C8E; outline-offset: 3px; }

/* Buttons: label centred in the pill, the arrow circle (48 px) at the right as ::after. Primary: white circle, blue
   arrow; secondary (outline): blue circle, white arrow. Hover: pill darker / tinted, circle darker, arrow moves 4 px. */
body.elementor-page-2033 .cs-u09 .cs-cta .elementor-button { display: flex; align-items: center; justify-content: center; gap: 16px; min-height: 64px; box-sizing: border-box;
  transition: background-color .2s ease-out, border-color .2s ease-out; }
/* The label keeps Figma's one line (Futura BT is a few px wider than the 256 px label box: it may use part of the gap). */
body.elementor-page-2033 .cs-u09 .cs-cta .elementor-button-content-wrapper { flex: 1 1 0; min-width: 0; justify-content: center; white-space: nowrap; }
body.elementor-page-2033 .cs-u09 .cs-cta .elementor-button-text { flex: 1 1 auto; text-align: center; }
body.elementor-page-2033 .cs-u09 .cs-cta .elementor-button::after { content: ""; flex: none; width: 48px; height: 48px; margin-block: -8px; border-radius: 50%;
  background: url("data:image/svg+xml,%3Csvg width='48' height='48' viewBox='0 0 48 48' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M15.75 24H32.25' stroke='%235F95A8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M25.5 17.25L32.25 24L25.5 30.75' stroke='%235F95A8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 48px 48px no-repeat #FFFFFF;
  transition: transform .2s ease-out, background-color .2s ease-out; }
/* The 1 px outline sits inside Figma's 360 × 64 box: padding 1 px less on every side. */
body.elementor-page-2033 .cs-u09 .cs-rf-secondary .elementor-button { padding: 15px 7px 15px 31px; }
body.elementor-page-2033 .cs-u09 .cs-rf-secondary .elementor-button::after {
  background: url("data:image/svg+xml,%3Csvg width='48' height='48' viewBox='0 0 48 48' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M15.75 24H32.25' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M25.5 17.25L32.25 24L25.5 30.75' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 48px 48px no-repeat #5F95A8; }
body.elementor-page-2033 .cs-u09 .cs-rf-secondary .elementor-button:hover::after { background-color: #4A7C8E; }
body.elementor-page-2033 .cs-u09 .cs-cta .elementor-button:focus-visible { outline: 3px solid #4A7C8E; outline-offset: 3px; }

@media (prefers-reduced-motion: no-preference) {
  body.elementor-page-2033 .cs-u09 .cs-rf-main .elementor-swiper-button svg g { transform-box: fill-box; transform-origin: center; transition: transform .2s ease-out; }
  body.elementor-page-2033 .cs-u09 .cs-rf-main .elementor-swiper-button:hover svg g { transform: scale(1.1); }
  body.elementor-page-2033 .cs-u09 .cs-cta .elementor-button:hover::after, body.elementor-page-2033 .cs-u09 .cs-cta .elementor-button:focus-visible::after { transform: translateX(4px); }
}
@media (prefers-reduced-motion: reduce) {
  body.elementor-page-2033 .cs-u09 .cs-rf-thumb.cs-rf-in img { animation: none; }
}

@media (max-width: 1024px) {
  body.elementor-page-2033 .cs-u09::before { right: -76px; top: 548px; }
  body.elementor-page-2033 .cs-u09 .cs-rf-stage { max-width: 100%; }
  body.elementor-page-2033 .cs-u09 .cs-rf-main .e-n-carousel, body.elementor-page-2033 .cs-u09 .cs-rf-big img { border-radius: 32px 16px 16px 16px; }
  body.elementor-page-2033 .cs-u09 .cs-rf-thumb.cs-rf-last { border-radius: 16px 16px 32px 16px; }
  body.elementor-page-2033 .cs-u09 .cs-rf-main .elementor-swiper-button { width: 48px; height: 48px; }
  body.elementor-page-2033 .cs-u09 .cs-rf-main .elementor-swiper-button svg { width: 48px; height: 48px; }
  body.elementor-page-2033 .cs-u09 .cs-rf-main .elementor-swiper-button-prev { left: -76px; }
  body.elementor-page-2033 .cs-u09 .cs-rf-main .elementor-swiper-button-next { right: -76px; }
}
/* Narrow tablets (768–1023): the stage keeps 76 px for each arrow. */
@media (min-width: 768px) and (max-width: 1023px) {
  body.elementor-page-2033 .cs-u09 .cs-rf-stage { max-width: calc(100% - 152px); }
}
@media (max-width: 767px) {
  body.elementor-page-2033 .cs-u09::before { right: -89px; top: 376px; }
  /* Phone: Figma's white card (1:7128) around photo + thumbnail row; the arrows inside it under the thumbnails. */
  body.elementor-page-2033 .cs-u09 .cs-rf-stage { box-sizing: border-box; padding: 8px 8px 112px; background: #FFFFFF; border: 1px solid rgba(12,41,57,.16); border-radius: 24px; }
  body.elementor-page-2033 .cs-u09 .cs-rf-main .e-n-carousel, body.elementor-page-2033 .cs-u09 .cs-rf-big img { border-radius: 24px 8px 8px 8px; }
  body.elementor-page-2033 .cs-u09 .cs-rf-big img { aspect-ratio: 324 / 230; }
  body.elementor-page-2033 .cs-u09 .cs-rf-thumb { aspect-ratio: 1; border-radius: 16px 8px 16px 8px; }
  body.elementor-page-2033 .cs-u09 .cs-rf-thumb.cs-rf-last { border-radius: 8px 8px 24px 8px; }
  body.elementor-page-2033 .cs-u09 .cs-rf-main .elementor-swiper-button { width: 64px; height: 64px; top: auto; bottom: 24px; transform: none; }
  body.elementor-page-2033 .cs-u09 .cs-rf-main .elementor-swiper-button svg { width: 64px; height: 64px; }
  body.elementor-page-2033 .cs-u09 .cs-rf-main .elementor-swiper-button-prev { left: calc(50% - 72px); }
  body.elementor-page-2033 .cs-u09 .cs-rf-main .elementor-swiper-button-next { right: auto; left: calc(50% + 8px); }
}
/* Laptop floor (zoom .66 at 1025-1199): button labels stay at >= 12 px rendered (BRIEF). */
@media (min-width: 1025px) and (max-width: 1199px) {
  body.elementor-page-2033 .cs-u09 .cs-cta .elementor-button { font-size: 18.2px; letter-spacing: 0; }
}

/* build/unternehmen-10-steps/site.css */
/* unternehmen 10-steps (LP10816): "So läuft die Zusammenarbeit" timeline, reused from home 10-steps (cs-st-* pattern).
   Section CSS beyond the V3 controls; every rule under body.elementor-page-2033 .cs-u10. Root carries the menu anchor #ablauf. */

/* Background (decorative, no DOM), root ::before, design px: Ellipse 16 / 28 (light blue, 24 %, 0 at 50 %) top left;
   Ellipse 27 (light green 16 %, fading to 0 at the bottom) + Group 4 (JR ring, deko-jr-ring recoloured #D7D285, 24 %)
   bottom right, reaching below the band as in Figma (11-cta-consult's photo band covers it). Desktop x from the centre: calc(50% + x − 960 + size / 2). */
body.elementor-page-2033 .cs-u10 { position: relative; isolation: isolate;
  --cs-blue-c: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23BCD2DA' stop-opacity='.24'/%3E%3Cstop offset='.5' stop-color='%23BCD2DA' stop-opacity='0'/%3E%3C/linearGradient%3E%3C/defs%3E%3Ccircle cx='50' cy='50' r='50' fill='url(%23g)'/%3E%3C/svg%3E");
  --cs-green-c16: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23D7D285' stop-opacity='.16'/%3E%3Cstop offset='1' stop-color='%23D7D285' stop-opacity='0'/%3E%3C/linearGradient%3E%3C/defs%3E%3Ccircle cx='50' cy='50' r='50' fill='url(%23g)'/%3E%3C/svg%3E");
  --cs-ring: url("data:image/svg+xml,%3Csvg viewBox='0 0 461 461' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg opacity='0.24'%3E%3Cpath d='M197.57 285.381V153.667H219.522V285.381C219.522 333.877 180.208 373.191 131.713 373.191V351.238C168.084 351.238 197.57 321.753 197.57 285.381Z' fill='%23D7D285'/%3E%3Cpath d='M263.43 181.107L263.43 268.917L241.478 268.917L241.478 181.107C241.478 132.611 280.791 93.2977 329.287 93.2977L329.287 115.25C292.915 115.25 263.43 144.735 263.43 181.107Z' fill='%23D7D285'/%3E%3Cpath d='M439.048 230.5C439.048 115.322 345.678 21.9524 230.5 21.9524C115.322 21.9524 21.9524 115.322 21.9524 230.5C21.9524 345.678 115.322 439.048 230.5 439.048V461C103.198 461 0 357.802 0 230.5C0 103.198 103.198 0 230.5 0C357.802 0 461 103.198 461 230.5C461 357.802 357.802 461 230.5 461V439.048C345.678 439.048 439.048 345.678 439.048 230.5Z' fill='%23D7D285'/%3E%3C/g%3E%3C/svg%3E");
  --cs-wave: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 -6 1432 64%22 preserveAspectRatio=%22none%22%3E%3Cdefs%3E%3ClinearGradient id=%22g%22 gradientUnits=%22userSpaceOnUse%22 x1=%220%22 y1=%220%22 x2=%221416%22 y2=%220%22%3E%3Cstop offset=%220%22 stop-color=%22%23827D2A%22/%3E%3Cstop offset=%221%22 stop-color=%22%23A18440%22/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d=%22M0.00 22.77 C0.00 22.77 62.44 51.54 181.50 51.54 C316.16 51.54 408.99 0.50 535.00 0.50 C661.01 0.50 762.44 46.52 888.00 51.54 C1006.63 56.28 1194.75 22.77 1194.75 22.77 C1232.64 15.46 1329.94 5.22 1416.00 22.77%22 fill=%22none%22 stroke=%22url(%23g)%22 stroke-width=%222%22 stroke-dasharray=%228 8%22/%3E%3Ccircle cx=%220%22 cy=%2222.77%22 r=%225.33%22 fill=%22%23827D2A%22/%3E%3Ccircle cx=%221416%22 cy=%2222.77%22 r=%225.33%22 fill=%22%23A18440%22/%3E%3C/svg%3E"); }
body.elementor-page-2033 .cs-u10::before { content: ""; position: absolute; z-index: -1; pointer-events: none; left: 0; right: 0; top: 0; height: 1600px;
  background: var(--cs-ring) calc(50% + 691px) 847px / 580px 580px no-repeat,
    var(--cs-green-c16) calc(50% + 691px) 747px / 780px 780px no-repeat,
    var(--cs-blue-c) calc(50% - 671.5px) 61px / 431px 431px no-repeat; }

body.elementor-page-2033 .cs-u10 .elementor-heading-title { margin: 0; }
body.elementor-page-2033 .cs-u10 .cs-st-body p { margin: 0; }
/* Heading: one line on desktop, the text box hugs the text (Figma's auto width); "Zusammenarbeit" (500) in <strong>.
   Tablet / phone: Figma breaks before "mit JRBuero ab" (a line break in the text): that run is its own line there. */
body.elementor-page-2033 .cs-u10 .cs-st-h2 .elementor-heading-title { display: inline-block; }
@media (max-width: 1024px) {
  /* Tablet / phone: Figma's text box is 592 px (tablet) or the full width (phone), centred. */
  body.elementor-page-2033 .cs-u10 .cs-st-h2 { width: 100%; }
  body.elementor-page-2033 .cs-u10 .cs-st-h2 .elementor-heading-title { display: block; max-width: 592px; margin: 0 auto; }
  body.elementor-page-2033 .cs-u10 .cs-st-l2 { display: block; }
  /* The title fills the row (Figma: fill width on tablet / phone). */
  body.elementor-page-2033 .cs-u10 .cs-st-tt { flex: 1 1 auto; min-width: 0; }
}
body.elementor-page-2033 .cs-u10 .animated { animation-duration: .6s; }

/* Step title: "0N." in the icon gradient, then the title; a second title line hangs under the title (Figma: two texts in a row). */
body.elementor-page-2033 .cs-u10 .cs-st-title .elementor-heading-title { display: flex; gap: 8px; }
body.elementor-page-2033 .cs-u10 .cs-st-num { flex: none; background: linear-gradient(139deg, #827D2A 0%, #5F95A8 80%); -webkit-background-clip: text;
  background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }

/* Step icon: the set's normal icon (<img>), the 1.5 px gradient ring and the Figma shadow in CSS; the set's hover icon
   cross-fades in on ::after when the card is hovered, with a small scale (R-icon-hover-scale). */
body.elementor-page-2033 .cs-u10 .cs-st-ico { position: relative; z-index: 0; flex: none; width: 80px; height: 80px; border-radius: 50%;
  box-shadow: 12px 12px 24px rgba(56,60,72,.16); transition: transform .2s ease-out; }
body.elementor-page-2033 .cs-u10 .cs-st-ico::before { content: ""; position: absolute; inset: -1.5px; z-index: -1; border-radius: 50%;
  background: linear-gradient(139deg, #827D2A 0%, #5F95A8 80%); }
body.elementor-page-2033 .cs-u10 .cs-st-ico img { display: block; width: 80px; height: 80px; border-radius: 50%; }
body.elementor-page-2033 .cs-u10 .cs-st-ico::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; opacity: 0;
  border-radius: 50%; background: var(--cs-icon-hover) center / 80px 80px no-repeat; transition: opacity .2s ease-out; }
body.elementor-page-2033 .cs-u10 .cs-st-ico-08 { --cs-icon-hover: url("/wp-content/uploads/2026/10/icon-set-08-hover.svg"); }
body.elementor-page-2033 .cs-u10 .cs-st-ico-09 { --cs-icon-hover: url("/wp-content/uploads/2026/10/icon-set-09-hover.svg"); }
body.elementor-page-2033 .cs-u10 .cs-st-ico-10 { --cs-icon-hover: url("/wp-content/uploads/2026/10/icon-set-10-hover.svg"); }
body.elementor-page-2033 .cs-u10 .cs-st-ico-11 { --cs-icon-hover: url("/wp-content/uploads/2026/10/icon-set-11-hover.svg"); }
body.elementor-page-2033 .cs-u10 .cs-st-card:hover .cs-st-ico { transform: scale(1.06); }
body.elementor-page-2033 .cs-u10 .cs-st-card:hover .cs-st-ico::after { opacity: 1; }

/* ---------- Timeline (desktop / tablet): the Nested Carousel's slides as an alternating grid (Swiper's transform and
   widths neutralised; the carousel only slides on phones), the path drawing (HTML widget) behind the cards. ---------- */
body.elementor-page-2033 .cs-u10 .cs-st-timeline { position: relative; }
body.elementor-page-2033 .cs-u10 .cs-st-steps { position: relative; z-index: 1; }
body.elementor-page-2033 .cs-u10 .cs-st-steps .swiper-slide { height: auto; display: flex; flex-direction: column; }
body.elementor-page-2033 .cs-u10 .cs-st-steps .swiper-slide > .cs-st-card { flex: 1 0 auto; height: auto; }
body.elementor-page-2033 .cs-u10 .cs-st-card > .elementor-element { flex-shrink: 0; }
body.elementor-page-2033 .cs-u10 .cs-st-card > .cs-st-text { flex: 1 1 0; min-width: 0; }
@media (min-width: 768px) {
  body.elementor-page-2033 .cs-u10 .cs-st-steps .e-n-carousel { overflow: visible; }
  /* Rows: card tops 0 / 65 / 322 / 437 (desktop), 0 / 65 / 398 / 515 (tablet); 01 / 03 right, 02 / 04 left. */
  body.elementor-page-2033 .cs-u10 .cs-st-steps .swiper-wrapper { display: grid; grid-template-columns: 500px minmax(0, 1fr) 500px;
    grid-template-rows: 65px 257px 115px auto; transform: none !important; }
  body.elementor-page-2033 .cs-u10 .cs-st-steps .swiper-slide { width: auto !important; margin: 0 !important; align-self: start; }
  body.elementor-page-2033 .cs-u10 .cs-st-steps .swiper-slide > .cs-st-card { flex: 0 0 auto; }
  body.elementor-page-2033 .cs-u10 .cs-st-steps .swiper-slide[data-slide="1"] { grid-column: 3; grid-row: 1 / span 2; }
  body.elementor-page-2033 .cs-u10 .cs-st-steps .swiper-slide[data-slide="2"] { grid-column: 1; grid-row: 2 / span 2; }
  body.elementor-page-2033 .cs-u10 .cs-st-steps .swiper-slide[data-slide="3"] { grid-column: 3; grid-row: 3 / span 2; }
  body.elementor-page-2033 .cs-u10 .cs-st-steps .swiper-slide[data-slide="4"] { grid-column: 1; grid-row: 4; }
  /* The drawing: 1198 × 784 design px (tablet 896 × 930) from the timeline's top, centred; the cards' fill covers the
     connector ends where a narrow tablet squeezes the columns. */
  body.elementor-page-2033 .cs-u10 .cs-st-fx { position: absolute; z-index: 0; top: 0; left: 0; width: 1198px; max-width: none; margin-left: calc(50% - 599px); pointer-events: none; }
  body.elementor-page-2033 .cs-u10 .cs-st-svg { display: block; width: 100%; height: auto; overflow: visible; }
  body.elementor-page-2033 .cs-u10 .cs-st-t { display: none; }
}
@media (min-width: 768px) and (max-width: 1024px) {
  body.elementor-page-2033 .cs-u10 .cs-st-steps .swiper-wrapper { grid-template-columns: minmax(0, 349px) minmax(150px, 1fr) minmax(0, 349px);
    grid-template-rows: 65px 333px 117px auto; }
  body.elementor-page-2033 .cs-u10 .cs-st-fx { width: 896px; margin-left: calc(50% - 448px); }
  body.elementor-page-2033 .cs-u10 .cs-st-d { display: none; }
  body.elementor-page-2033 .cs-u10 .cs-st-t { display: block; }
}
/* Circles: dot (24 px) or numbered badge (52 px). Static design = badge 01, dots 02–04 (class is-on); the script toggles
   is-on as the line reaches each circle. */
body.elementor-page-2033 .cs-u10 .cs-st-dot, body.elementor-page-2033 .cs-u10 .cs-st-badge { transform-box: fill-box; transform-origin: center;
  transition: opacity .35s ease-out, transform .45s cubic-bezier(.2, .9, .3, 1.25); }
body.elementor-page-2033 .cs-u10 .cs-st-node:not(.is-on) .cs-st-badge { opacity: 0; transform: scale(.4); }
body.elementor-page-2033 .cs-u10 .cs-st-node.is-on .cs-st-dot { opacity: 0; transform: scale(1.6); }
body.elementor-page-2033 .cs-u10 .cs-st-dot > circle:first-child, body.elementor-page-2033 .cs-u10 .cs-st-badge > circle { filter: drop-shadow(12px 12px 12px rgba(56,60,72,.16)); }
body.elementor-page-2033 .cs-u10 .cs-st-badge text { font-family: 'cs-Futura', 'Futura', Arial, sans-serif; font-size: 24px; font-weight: 500;
  letter-spacing: -0.48px; fill: #FFFFFF; }

/* ---------- Phone: swipe slider as the frame (card 342 + 16 gap, the next card peeks in). Each slide carries its piece
   of the wave (::before, 4 × 358 px cut by background-position), its circle (::after: the active slide's is the
   numbered badge, Figma's 01) and the connector to the card (card ::before). ---------- */
@media (max-width: 767px) {
  body.elementor-page-2033 .cs-u10 .cs-st-fx { display: none; }
  /* No card entrance on the phone (animation_mobile none): off-screen slides show at once when swiped in. */
  body.elementor-page-2033 .cs-u10 .cs-st-card.elementor-invisible { visibility: visible; }
  body.elementor-page-2033 .cs-u10 .cs-st-steps .e-n-carousel { overflow: visible; clip-path: inset(-40px -100vw -40px -8px); }
  body.elementor-page-2033 .cs-u10 .cs-st-steps .swiper-slide { position: relative; padding-top: 128px; --cs-ny: 63px; --cs-num: "01"; }
  body.elementor-page-2033 .cs-u10 .cs-st-steps .swiper-slide[data-slide="2"] { --cs-ny: 12px; --cs-num: "02"; }
  body.elementor-page-2033 .cs-u10 .cs-st-steps .swiper-slide[data-slide="3"] { --cs-ny: 62px; --cs-num: "03"; }
  body.elementor-page-2033 .cs-u10 .cs-st-steps .swiper-slide[data-slide="4"] { --cs-ny: 26px; --cs-num: "04"; }
  body.elementor-page-2033 .cs-u10 .cs-st-steps .swiper-slide::before { content: ""; position: absolute; z-index: 0; pointer-events: none; left: 0; top: 6px;
    width: calc(100% + 16px); height: 64px; background: var(--cs-wave) 0 0 / 400% 100% no-repeat; }
  /* Slide 1: the box starts 6 px further left and draws the wave's start dot itself (the SVG cuts it at its edge). */
  body.elementor-page-2033 .cs-u10 .cs-st-steps .swiper-slide[data-slide="1"]::before { left: -6px; width: calc(100% + 22px);
    background: radial-gradient(circle at 6px 28.77px, #827D2A 5.33px, transparent 5.83px) 0 0 / 100% 100% no-repeat,
      var(--cs-wave) 6px 0 / calc(400% - 24px) 100% no-repeat; }
  body.elementor-page-2033 .cs-u10 .cs-st-steps .swiper-slide[data-slide="2"]::before { background-position: 33.3333% 0; }
  body.elementor-page-2033 .cs-u10 .cs-st-steps .swiper-slide[data-slide="3"]::before { background-position: 66.6667% 0; }
  body.elementor-page-2033 .cs-u10 .cs-st-steps .swiper-slide[data-slide="4"]::before { background-position: 100% 0; }
  body.elementor-page-2033 .cs-u10 .cs-st-steps .swiper-slide::after { content: ""; position: absolute; z-index: 2; box-sizing: border-box;
    left: calc(50% - 12px); top: calc(var(--cs-ny) - 12px); width: 24px; height: 24px; border-radius: 50%; border: 1.5px solid transparent;
    background: radial-gradient(circle, #6F8A62 0 4px, transparent 4.5px) padding-box, linear-gradient(#FBFBF8, #FBFBF8) padding-box,
      linear-gradient(139deg, #827D2A 0%, #5F95A8 80%) border-box;
    box-shadow: 12px 12px 24px rgba(56,60,72,.16); color: #FFFFFF; font: 500 24px/49px 'cs-Futura', 'Futura', Arial, sans-serif;
    letter-spacing: -0.48px; text-align: center; overflow: hidden;
    transition: width .4s ease-out, height .4s ease-out, left .4s ease-out, top .4s ease-out; }
  body.elementor-page-2033 .cs-u10 .cs-st-steps .swiper-slide-active::after { content: var(--cs-num); left: calc(50% - 26px); top: calc(var(--cs-ny) - 26px);
    width: 52px; height: 52px; background: linear-gradient(139deg, #827D2A 0%, #5F95A8 80%) padding-box,
      linear-gradient(139deg, #827D2A 0%, #5F95A8 80%) border-box; }
  body.elementor-page-2033 .cs-u10 .cs-st-card { position: relative; }
  body.elementor-page-2033 .cs-u10 .cs-st-card::before { content: ""; position: absolute; left: calc(50% - .5px); width: 1px; pointer-events: none;
    top: calc(var(--cs-ny) - 129px); height: calc(128px - var(--cs-ny)); background: linear-gradient(#827D2A, #5F95A8); opacity: .24; }
}

/* CTA: label + the white arrow circle (ui-button-pfeil-kreis; arrow #343A40) as a background image; on hover the pill
   darkens (button control) and the arrow moves 4 px. Same pattern as 02-hero / 03. */
body.elementor-page-2033 .cs-u10 .cs-cta .elementor-button { display: inline-flex; align-items: center; justify-content: center; gap: 16px; min-height: 64px; transition: background-color .2s ease-out; }
body.elementor-page-2033 .cs-u10 .cs-cta .elementor-button::after { content: ""; flex: none; width: 48px; height: 48px; background: url("data:image/svg+xml,%3Csvg width='48' height='48' viewBox='0 0 48 48' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='48' height='48' rx='24' fill='white'/%3E%3Cpath d='M15.75 24H32.25' stroke='%23343A40' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M25.5 17.25L32.25 24L25.5 30.75' stroke='%23343A40' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 48px 48px no-repeat; margin-block: -8px; transition: transform .2s ease-out; }
body.elementor-page-2033 .cs-u10 .cs-cta .elementor-button:hover::after, body.elementor-page-2033 .cs-u10 .cs-cta .elementor-button:focus-visible::after { transform: translateX(4px); }
body.elementor-page-2033 .cs-u10 .cs-cta .elementor-button:focus-visible { outline: 3px solid #4A7C8E; outline-offset: 3px; }

@media (max-width: 1024px) {
  body.elementor-page-2033 .cs-u10::before {
    background: var(--cs-ring) right -42px top 1080px / 365px 365px no-repeat,
      var(--cs-green-c16) right -105px top 1018px / 491px 491px no-repeat,
      var(--cs-blue-c) left 13px top 178px / 355px 355px no-repeat; }
}
@media (max-width: 767px) {
  body.elementor-page-2033 .cs-u10::before {
    background: var(--cs-ring) right -45px top 681px / 165px 165px no-repeat,
      var(--cs-green-c16) right -74px top 653px / 222px 222px no-repeat; }
}
@media (prefers-reduced-motion: reduce) {
  body.elementor-page-2033 .cs-u10 .cs-st-dot, body.elementor-page-2033 .cs-u10 .cs-st-badge, body.elementor-page-2033 .cs-u10 .cs-st-ico, body.elementor-page-2033 .cs-u10 .cs-st-ico::after,
  body.elementor-page-2033 .cs-u10 .cs-st-steps .swiper-slide::after { transition: none !important; }
}

/* build/unternehmen-11-cta-consult/site.css */
/* unternehmen 11-cta-consult (LP10816). Section CSS beyond the V3 controls; every rule under body.elementor-page-2033 .cs-u11. */

/* Photo band (Figma Frame 2147225740 1:11779 / 1:5091 / 1:7235), decorative, no DOM, on root ::before:
   beratung-hintergrund.webp (1895; phone -phone 1896) cover, crop read from the render (50 % 75 %) under Figma's fills (bottom → top): black 24 %, #FBFBF8 fade
   0 → 1 over 46–81.8 %, #FBFBF8 fade over 32.1–100 %; on top the dark Ellipse 46 (#383C48 64 %, layer blur 400) as a
   soft radial gradient behind the heading. Radius TR 280 / BL 48 (tablet 164 / 32, phone 80 / 16).
   Top 62 / 0 / 40, height 1024 / 882 / 1218. */
body.elementor-page-2033 .cs-u11 { position: relative; isolation: isolate; }
body.elementor-page-2033 .cs-u11::before { content: ""; position: absolute; z-index: -1; pointer-events: none; left: 0; right: 0;
  top: 62px; height: 1024px; border-radius: 0 280px 0 48px;
  background:
    radial-gradient(ellipse 900px 420px at 50% 210px, rgba(56,60,72,.42), rgba(56,60,72,0)),
    linear-gradient(180deg, rgba(251,251,248,0) 32.1%, #FBFBF8 100%),
    linear-gradient(180deg, rgba(251,251,248,0) 46%, #FBFBF8 81.8%),
    linear-gradient(rgba(0,0,0,.24), rgba(0,0,0,.24)),
    url("/wp-content/uploads/2026/10/beratung-hintergrund.webp") 50% 75% / cover no-repeat; }

/* Bottom right (Ellipse 12 light blue + JR ring Group 3 + Ellipse 13 light green, all 24 %): one SVG on root ::after,
   631 × 515 design px from x 1527 / y 736 (tablet 414 × 338 from 838 / 626, phone Group 10 414 × 338 from 249 / 986).
   It straddles the border and reaches into 12-since-1987 (overflow-y stays visible; sideways clip from page.css). */
body.elementor-page-2033 .cs-u11::after { content: ""; position: absolute; z-index: -1; pointer-events: none;
  right: -238px; top: 736px; width: 631px; height: 515px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 631 515'%3E%3Cdefs%3E%3ClinearGradient id='b' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23BCD2DA'/%3E%3Cstop offset='1' stop-color='%23BCD2DA' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='g' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23D7D285'/%3E%3Cstop offset='1' stop-color='%23D7D285' stop-opacity='0'/%3E%3C/linearGradient%3E%3C/defs%3E%3Ccircle cx='139' cy='376' r='139' fill='url(%23b)' opacity='.24'/%3E%3Csvg x='29' y='266' width='220' height='220' viewBox='0 0 461 461'%3E%3Cg fill='%23BCD2DA' opacity='.24'%3E%3Cpath d='M197.57 285.381V153.667H219.522V285.381C219.522 333.877 180.208 373.191 131.713 373.191V351.238C168.084 351.238 197.57 321.753 197.57 285.381Z'/%3E%3Cpath d='M263.43 181.107L263.43 268.917L241.478 268.917L241.478 181.107C241.478 132.611 280.791 93.2977 329.287 93.2977L329.287 115.25C292.915 115.25 263.43 144.735 263.43 181.107Z'/%3E%3Cpath d='M439.048 230.5C439.048 115.322 345.678 21.9524 230.5 21.9524C115.322 21.9524 21.9524 115.322 21.9524 230.5C21.9524 345.678 115.322 439.048 230.5 439.048V461C103.198 461 0 357.802 0 230.5C0 103.198 103.198 0 230.5 0C357.802 0 461 103.198 461 230.5C461 357.802 357.802 461 230.5 461V439.048C345.678 439.048 439.048 345.678 439.048 230.5Z'/%3E%3C/g%3E%3C/svg%3E%3Ccircle cx='380' cy='251' r='251' fill='url(%23g)' opacity='.24'/%3E%3C/svg%3E") 50% 75% / cover no-repeat; }

body.elementor-page-2033 .cs-u11 .elementor-heading-title { margin: 0; }
body.elementor-page-2033 .cs-u11 p { margin: 0; }
body.elementor-page-2033 .cs-u11 .cs-u11-mbr { display: none; }
body.elementor-page-2033 .cs-u11 .animated { animation-duration: .6s; }
@keyframes cs-u11-in-up { from { opacity: 0; transform: translate3d(0, 40px, 0); } to { opacity: 1; transform: none; } }
body.elementor-page-2033 .cs-u11 .animated.fadeInUp { animation-name: cs-u11-in-up; }

/* Glass cards: #FBFBF8 24 % + background blur (Figma 48 → CSS 24, as 08), two per row (gap 16). Hover (pointer only):
   the glass lightens, the icon scales and cross-fades to the set's hover icon. Not links. */
body.elementor-page-2033 .cs-u11 .cs-u11-cards > .cs-u11-card { flex: 0 0 calc(50% - 8px); min-width: 0; }
body.elementor-page-2033 .cs-u11 .cs-u11-label { flex: 1 1 0; min-width: 0; }
body.elementor-page-2033 .cs-u11 .cs-u11-card { background-color: rgba(251,251,248,.24); -webkit-backdrop-filter: blur(24px);
  backdrop-filter: blur(24px); transition: background-color .25s ease-out; }
body.elementor-page-2033 .cs-u11 .cs-u11-ico { position: relative; border-radius: 50%; box-shadow: 12px 12px 24px rgba(56,60,72,.16);
  transition: transform .2s ease-out; }
body.elementor-page-2033 .cs-u11 .cs-u11-ico img { display: block; width: 80px; height: 80px; box-sizing: border-box; border-radius: 50%;
  border: 1.5px solid transparent;
  background: linear-gradient(#FBFBF8, #FBFBF8) padding-box, linear-gradient(139deg, #827D2A 0%, #5F95A8 80%) border-box; }
body.elementor-page-2033 .cs-u11 .cs-u11-ico::after { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: 0;
  border-radius: 50%; background: center / 80px 80px no-repeat; transition: opacity .2s ease-out; }
body.elementor-page-2033 .cs-u11 .cs-u11-ico-12::after { background-image: url("/wp-content/uploads/2026/10/icon-set-12-hover.svg"); }
body.elementor-page-2033 .cs-u11 .cs-u11-ico-13::after { background-image: url("/wp-content/uploads/2026/10/icon-set-13-hover.svg"); }
body.elementor-page-2033 .cs-u11 .cs-u11-ico-14::after { background-image: url("/wp-content/uploads/2026/10/icon-set-14-hover.svg"); }
body.elementor-page-2033 .cs-u11 .cs-u11-ico-15::after { background-image: url("/wp-content/uploads/2026/10/icon-set-15-hover.svg"); }
@media (hover: hover) {
  body.elementor-page-2033 .cs-u11 .cs-u11-card:hover { background-color: rgba(251,251,248,.34); }
  body.elementor-page-2033 .cs-u11 .cs-u11-card:hover .cs-u11-ico { transform: scale(1.06); }
  body.elementor-page-2033 .cs-u11 .cs-u11-card:hover .cs-u11-ico::after { opacity: 1; }
}

/* CTA: label + the white arrow circle (ui-button-pfeil-kreis, arrow #343A40 as this frame) as ::after; on hover the pill
   darkens (button control) and the arrow moves 4 px. home 02's pattern. */
body.elementor-page-2033 .cs-u11 .cs-u11-cta .elementor-button { display: inline-flex; align-items: center; justify-content: center; gap: 16px;
  min-height: 64px; white-space: nowrap; transition: background-color .2s ease-out; }
body.elementor-page-2033 .cs-u11 .cs-u11-cta .elementor-button::after { content: ""; flex: none; width: 48px; height: 48px; margin-block: -8px;
  background: url("data:image/svg+xml,%3Csvg width='48' height='48' viewBox='0 0 48 48' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='48' height='48' rx='24' fill='white'/%3E%3Cpath d='M15.75 24H32.25' stroke='%23343A40' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M25.5 17.25L32.25 24L25.5 30.75' stroke='%23343A40' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 48px 48px no-repeat;
  transition: transform .2s ease-out; }
body.elementor-page-2033 .cs-u11 .cs-u11-cta .elementor-button:hover::after, body.elementor-page-2033 .cs-u11 .cs-u11-cta .elementor-button:focus-visible::after { transform: translateX(4px); }
body.elementor-page-2033 .cs-u11 .cs-u11-cta .elementor-button:focus-visible { outline: 3px solid #4A7C8E; outline-offset: 3px; }

@media (max-width: 1024px) {
  body.elementor-page-2033 .cs-u11::before { top: 0; height: 882px; border-radius: 0 164px 0 32px;
    background:
      radial-gradient(ellipse 760px 380px at 50% 210px, rgba(56,60,72,.42), rgba(56,60,72,0)),
      linear-gradient(180deg, rgba(251,251,248,0) 32.1%, #FBFBF8 100%),
      linear-gradient(180deg, rgba(251,251,248,0) 46%, #FBFBF8 81.8%),
      linear-gradient(rgba(0,0,0,.24), rgba(0,0,0,.24)),
      url("/wp-content/uploads/2026/10/beratung-hintergrund.webp") 50% 75% / cover no-repeat; }
  body.elementor-page-2033 .cs-u11::after { right: -228px; top: 626px; width: 414px; height: 338px; }
}
@media (max-width: 767px) {
  body.elementor-page-2033 .cs-u11::before { top: 40px; height: 1218px; border-radius: 0 80px 0 16px;
    background:
      radial-gradient(ellipse 360px 560px at 50% 415px, rgba(56,60,72,.42), rgba(56,60,72,0)),
      linear-gradient(180deg, rgba(251,251,248,0) 32.1%, #FBFBF8 100%),
      linear-gradient(180deg, rgba(251,251,248,0) 46%, #FBFBF8 81.8%),
      linear-gradient(rgba(0,0,0,.24), rgba(0,0,0,.24)),
      url("/wp-content/uploads/2026/10/beratung-hintergrund-phone.webp") 20% 50% / cover no-repeat; }
  body.elementor-page-2033 .cs-u11::after { right: -273px; top: 986px; }
  body.elementor-page-2033 .cs-u11 .cs-u11-mbr { display: inline; }
  body.elementor-page-2033 .cs-u11 .cs-u11-cards > .cs-u11-card { flex: 0 0 auto; width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  body.elementor-page-2033 .cs-u11 .cs-u11-card, body.elementor-page-2033 .cs-u11 .cs-u11-ico, body.elementor-page-2033 .cs-u11 .cs-u11-ico::after,
  body.elementor-page-2033 .cs-u11 .cs-u11-cta .elementor-button, body.elementor-page-2033 .cs-u11 .cs-u11-cta .elementor-button::after { transition: none !important; }
}

/* build/unternehmen-12-since-1987/site.css */
/* unternehmen 12-since-1987 (LP10816). Section CSS beyond the V3 controls; every rule under body.elementor-page-2033 .cs-u12.
   Root carries the menu anchor #ueber-jrbuero ("Über JRBuero"). Ellipse 12/13 + the JR ring at the top right are drawn
   by 11-cta-consult's root ::after. */

/* Ellipse 29 (light blue #BCD2DA 24 %, fading out downwards) behind the photo, decorative, no DOM. Design px from the
   centre: desktop x −866 / y 231 / 447, tablet −568 / 176 / 320, phone −291 / 307 / 240. */
body.elementor-page-2033 .cs-u12 { position: relative; isolation: isolate; }
body.elementor-page-2033 .cs-u12::before { content: ""; position: absolute; z-index: -1; pointer-events: none; border-radius: 50%;
  left: calc(50% - 866px); top: 231px; width: 447px; height: 447px; opacity: .24;
  background: linear-gradient(180deg, #BCD2DA 0%, rgba(188,210,218,0) 100%); }

body.elementor-page-2033 .cs-u12 .elementor-heading-title { margin: 0; }
body.elementor-page-2033 .cs-u12 p { margin: 0; }
/* Paragraphs: one empty line between them (Figma's double line separator). */
body.elementor-page-2033 .cs-u12 .cs-u12-text p + p { margin-top: 1.64em; }
body.elementor-page-2033 .cs-u12 .cs-u12-photo img { display: block; object-position: 40% 50%; }  /* crop read from the renders */
body.elementor-page-2033 .cs-u12 .cs-u12-boxtext { flex: 1 1 0; min-width: 0; }

/* Entrances (PM Loom U 2:58–3:05): image static; text and box fly in from the right. Shorter travel than animate.css. */
body.elementor-page-2033 .cs-u12 .animated { animation-duration: .6s; }
@keyframes cs-u12-in-right { from { opacity: 0; transform: translate3d(80px, 0, 0); } to { opacity: 1; transform: none; } }
body.elementor-page-2033 .cs-u12 .animated.fadeInRight { animation-name: cs-u12-in-right; }

@media (max-width: 1024px) {
  body.elementor-page-2033 .cs-u12::before { left: calc(50% - 568px); top: 176px; width: 320px; height: 320px; }
  body.elementor-page-2033 .cs-u12 .cs-u12-dbr { display: none; }
}
@media (max-width: 767px) {
  body.elementor-page-2033 .cs-u12::before { left: calc(50% - 291px); top: 307px; width: 240px; height: 240px; }
  body.elementor-page-2033 .cs-u12 .cs-u12-photo, body.elementor-page-2033 .cs-u12 .cs-u12-photo img { width: 100%; }
}

/* build/unternehmen-13-team/site.css */
/* unternehmen 13-team (LP10816): managing directors + "Unser Team". Every rule under body.elementor-page-2033 .cs-u13.
   Static section (PM Loom U 3:05–3:14): no entrance; hover on the button only. */

/* Background (decorative, no DOM): beige panel (Figma Rectangle 34625441 / 1:11865 / 1:5178 / 1:7332). Read from the
   render (the rect is flipped in Figma): big radius top left 280 / 164 / 80, bottom right 48 / 32 / 16; #EBE9C7 down to
   8.5 %, transparent at the bottom; 1050 / 1050 / 1478 px tall, starting 60 / 21 / 27 px below the band top, so it
   reaches 140 / 371 px into 14-location as in Figma. Its background blur (48) is not drawn (11-goal's note). */
body.elementor-page-2033 .cs-u13 { position: relative; isolation: isolate; }
body.elementor-page-2033 .cs-u13::before { content: ""; position: absolute; z-index: -1; pointer-events: none; left: 0; right: 0; top: 60px;
  height: 1050px; border-radius: 280px 0 48px 0;
  background: linear-gradient(180deg, #EBE9C7 8.5%, rgba(251,251,248,0) 100%); }

body.elementor-page-2033 .cs-u13 .elementor-heading-title { margin: 0; }
body.elementor-page-2033 .cs-u13 .elementor-widget-text-editor p { margin: 0; }

/* Cards: three equal columns (1440 = 3 × 448 + 2 × 48; tablet 896 = 3 × 282.67 + 2 × 24). */
body.elementor-page-2033 .cs-u13 .cs-u13-card { flex: 1 1 0; min-width: 0; }

/* Photos: Figma box 448 × 400 (ratio 1.12 on every frame), one bigger outer corner; each portrait is cropped as in Figma
   (STRETCH fill with its own zoom/offset, measured against the renders: Sven 106 %, Heike 121 %, Inken 127 %). */
body.elementor-page-2033 .cs-u13 .cs-u13-photo { overflow: hidden; aspect-ratio: 448 / 400; border-radius: 16px; }
body.elementor-page-2033 .cs-u13 .cs-u13-photo img { display: block; max-width: none; height: auto; }
body.elementor-page-2033 .cs-u13 .cs-u13-photo-sven img { width: 106%; margin: -2.5% 0 0 -4%; }
body.elementor-page-2033 .cs-u13 .cs-u13-photo-heike img { width: 121%; margin: -35% 0 0 -1.5%; }
body.elementor-page-2033 .cs-u13 .cs-u13-photo-inken img { width: 127%; margin: -16.5% 0 0 -14.5%; }
body.elementor-page-2033 .cs-u13 .cs-u13-photo-sven { border-top-left-radius: 48px; }
body.elementor-page-2033 .cs-u13 .cs-u13-photo-inken { border-bottom-right-radius: 48px; }

/* CTA: label + the white arrow circle (Figma 'orange' frame + ArrowRight #343A40) as ::after; pill darkens on hover
   (button control), the arrow moves 4 px (02-hero pattern). */
body.elementor-page-2033 .cs-u13 .cs-cta .elementor-button { white-space: nowrap; display: inline-flex; align-items: center; justify-content: center; gap: 16px; min-height: 64px; transition: background-color .2s ease-out; }
body.elementor-page-2033 .cs-u13 .cs-cta .elementor-button::after { content: ""; flex: none; width: 48px; height: 48px; background: url("data:image/svg+xml,%3Csvg width='48' height='48' viewBox='0 0 48 48' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='48' height='48' rx='24' fill='white'/%3E%3Cpath d='M15.75 24H32.25' stroke='%23343A40' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M25.5 17.25L32.25 24L25.5 30.75' stroke='%23343A40' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 48px 48px no-repeat; margin-block: -8px; transition: transform .2s ease-out; }
body.elementor-page-2033 .cs-u13 .cs-cta .elementor-button:hover::after, body.elementor-page-2033 .cs-u13 .cs-cta .elementor-button:focus-visible::after { transform: translateX(4px); }

@media (max-width: 1024px) {
  body.elementor-page-2033 .cs-u13::before { top: 21px; border-radius: 164px 0 32px 0; }
  body.elementor-page-2033 .cs-u13 .cs-u13-photo-sven { border-top-left-radius: 32px; }
  body.elementor-page-2033 .cs-u13 .cs-u13-photo-inken { border-bottom-right-radius: 32px; }
}
@media (max-width: 767px) {
  body.elementor-page-2033 .cs-u13::before { top: 27px; height: 1478px; border-radius: 80px 0 16px 0; }
  body.elementor-page-2033 .cs-u13 .cs-u13-card { flex: 0 0 auto; width: 100%; }
}
/* Role: Figma #383C48 at layer opacity 64 %. */
body.elementor-page-2033 .cs-u13 .cs-u13-role { opacity: .64; }

/* build/unternehmen-14-location/site.css */
/* unternehmen 14-location (LP10816): reuse of home 12-location. Every rule under body.elementor-page-2033 .cs-u14.
   Reused on unternehmen 14-location: replace .cs-u14 / cs-u14- (gen.py P["cls"]); nothing else is page-specific. */

/* Background (decorative, no DOM), root ::after, design px: Ellipse 19 (top left), Ellipse 22 + JR ring (Group 5,
   deko-jr-ring recoloured #BCD2DA, 24 %), Ellipse 20 (light green 24 %, 0 at 33 %), Ellipse 23 (bottom right, reaching
   into 15-faq as in Figma). Positions re-read from the 2nd Page (desktop Ellipse 23 +32, tablet +5, phone re-read;
   no phone Ellipse 31 on this page). The beige panel at the top is 13-team's ::before.
   x from the centre: calc(50% + X − (frame width − size) / 2); the ::after starts 20 px above the root. */
body.elementor-page-2033 .cs-u14 { position: relative; isolation: isolate;
  --cs-blue-c: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23BCD2DA' stop-opacity='.24'/%3E%3Cstop offset='.5' stop-color='%23BCD2DA' stop-opacity='0'/%3E%3C/linearGradient%3E%3C/defs%3E%3Ccircle cx='50' cy='50' r='50' fill='url(%23g)'/%3E%3C/svg%3E");
  --cs-green-c33: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23D7D285' stop-opacity='.24'/%3E%3Cstop offset='.33' stop-color='%23D7D285' stop-opacity='0'/%3E%3C/linearGradient%3E%3C/defs%3E%3Ccircle cx='50' cy='50' r='50' fill='url(%23g)'/%3E%3C/svg%3E");
  --cs-green-c50: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23D7D285' stop-opacity='.24'/%3E%3Cstop offset='.5' stop-color='%23D7D285' stop-opacity='0'/%3E%3C/linearGradient%3E%3C/defs%3E%3Ccircle cx='50' cy='50' r='50' fill='url(%23g)'/%3E%3C/svg%3E");
  --cs-ring: url("data:image/svg+xml,%3Csvg viewBox='0 0 461 461' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg opacity='0.24'%3E%3Cpath d='M197.57 285.381V153.667H219.522V285.381C219.522 333.877 180.208 373.191 131.713 373.191V351.238C168.084 351.238 197.57 321.753 197.57 285.381Z' fill='%23BCD2DA'/%3E%3Cpath d='M263.43 181.107L263.43 268.917L241.478 268.917L241.478 181.107C241.478 132.611 280.791 93.2977 329.287 93.2977L329.287 115.25C292.915 115.25 263.43 144.735 263.43 181.107Z' fill='%23BCD2DA'/%3E%3Cpath d='M439.048 230.5C439.048 115.322 345.678 21.9524 230.5 21.9524C115.322 21.9524 21.9524 115.322 21.9524 230.5C21.9524 345.678 115.322 439.048 230.5 439.048V461C103.198 461 0 357.802 0 230.5C0 103.198 103.198 0 230.5 0C357.802 0 461 103.198 461 230.5C461 357.802 357.802 461 230.5 461V439.048C345.678 439.048 439.048 345.678 439.048 230.5Z' fill='%23BCD2DA'/%3E%3C/g%3E%3C/svg%3E"); }
body.elementor-page-2033 .cs-u14::after { content: ""; position: absolute; z-index: -1; pointer-events: none; left: 0; right: 0; top: -20px; bottom: -340px;
  background: var(--cs-ring) calc(50% + 712px) 556px / 220px 220px no-repeat,
    var(--cs-blue-c) calc(50% + 712px) 521px / 290px 290px no-repeat,
    var(--cs-green-c33) calc(50% + 874px) 673px / 526px 526px no-repeat,
    var(--cs-blue-c) calc(50% + 719.5px) 1231px / 431px 431px no-repeat,
    var(--cs-blue-c) calc(50% - 885px) 41px / 330px 330px no-repeat; }
@media (max-width: 1024px) {
  body.elementor-page-2033 .cs-u14::after { bottom: 0;
    background: var(--cs-ring) calc(50% + 402.5px) 607px / 165px 165px no-repeat,
      var(--cs-blue-c) calc(50% + 403px) 580px / 218px 218px no-repeat,
      var(--cs-green-c33) calc(50% + 524.5px) 695px / 395px 395px no-repeat,
      var(--cs-blue-c) calc(50% - 434px) 114px / 200px 200px no-repeat; }
}
@media (max-width: 767px) {
  body.elementor-page-2033 .cs-u14::after {
    background: var(--cs-ring) calc(50% + 150px) 989px / 108.5px 108.5px no-repeat,
      var(--cs-blue-c) calc(50% + 150.5px) 971px / 143px 143px no-repeat,
      var(--cs-green-c50) calc(50% + 229.5px) 1047px / 259px 259px no-repeat; }
}

body.elementor-page-2033 .cs-u14 .elementor-heading-title { margin: 0; }
body.elementor-page-2033 .cs-u14 .elementor-widget-text-editor p { margin: 0; }
/* Paragraphs: one empty line between them (Figma's double line separator). */
body.elementor-page-2033 .cs-u14 .cs-u14-text p + p { margin-top: 1.64em; }

/* Map: inline SVG in an HTML widget (user 2026-10-10: animate once on scroll-in; supersedes the PM's "static" from Loom 3:11).
   The Figma frame's drop shadow in CSS. The script adds .cs-map-pre (start state) then .cs-map-go (in view); the final
   state is the plain SVG. Pin drops in (0–.55 s) with one soft pulse ring, lines draw outward from Hamburg (--t/--d per
   line, set in gen.py), each dot pops in as its line arrives. Reduced motion: no classes, no animation. */
body.elementor-page-2033 .cs-u14 .cs-u14-map svg { display: block; width: 100%; height: auto; overflow: visible; filter: drop-shadow(12px 12px 12px rgba(56,60,72,.16)); }
body.elementor-page-2033 .cs-u14 .cs-map-dt circle, body.elementor-page-2033 .cs-u14 .cs-map-pin, body.elementor-page-2033 .cs-u14 .cs-map-pulse { transform-box: fill-box; transform-origin: 50% 50%; }
body.elementor-page-2033 .cs-u14 .cs-map-pin { transform-origin: 50% 100%; }
body.elementor-page-2033 .cs-u14 .cs-map-pre .cs-map-ln path { stroke-dasharray: 1; stroke-dashoffset: 1; }
body.elementor-page-2033 .cs-u14 .cs-map-pre .cs-map-dt circle, body.elementor-page-2033 .cs-u14 .cs-map-pre .cs-map-pin, body.elementor-page-2033 .cs-u14 .cs-map-pre .cs-map-lbl { opacity: 0; }
body.elementor-page-2033 .cs-u14 .cs-map-go .cs-map-ln path { stroke-dasharray: 1; animation: cs-map-draw var(--d) cubic-bezier(.4,0,.2,1) var(--t) both; }
body.elementor-page-2033 .cs-u14 .cs-map-go .cs-map-dt circle { animation: cs-map-dot .45s cubic-bezier(.3,0,.2,1) var(--t) both; }
body.elementor-page-2033 .cs-u14 .cs-map-go .cs-map-pin { animation: cs-map-pin .55s cubic-bezier(.3,0,.25,1) both; }
body.elementor-page-2033 .cs-u14 .cs-map-go .cs-map-lbl { animation: cs-map-fade .5s ease-out .25s both; }
body.elementor-page-2033 .cs-u14 .cs-map-go .cs-map-pulse { animation: cs-map-pulse 1.8s cubic-bezier(.2,0,.3,1) .5s 2 both; }
@keyframes cs-map-draw { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
@keyframes cs-map-dot { 0% { opacity: 0; transform: scale(.3); } 60% { opacity: 1; transform: scale(1.15); } 100% { opacity: 1; transform: scale(1); } }
@keyframes cs-map-pin { 0% { opacity: 0; transform: translateY(-18px); } 60% { opacity: 1; } 100% { opacity: 1; transform: translateY(0); } }
@keyframes cs-map-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes cs-map-pulse { 0% { opacity: .55; transform: scale(.6); } 100% { opacity: 0; transform: scale(3.2); } }
@media (prefers-reduced-motion: reduce) {
  body.elementor-page-2033 .cs-u14 .cs-map-pre *, body.elementor-page-2033 .cs-u14 .cs-map-go * { animation: none !important; opacity: 1; stroke-dashoffset: 0; transform: none; }
  body.elementor-page-2033 .cs-u14 .cs-map-pulse { display: none; }
}

/* Contact boxes: outline at rest; hover (pointer) = soft shadow, icon scale + cross-fade to the set's hover icon. */
body.elementor-page-2033 .cs-u14 .cs-u14-box { transition: box-shadow .3s ease-out; }
body.elementor-page-2033 .cs-u14 .cs-u14-btext { --width: auto; flex: 1 1 0; min-width: 0; }
/* Values keep Figma's explicit line breaks (Futura BT is wider; a line may run into the 32 px box padding). */
body.elementor-page-2033 .cs-u14 .cs-u14-value p { white-space: nowrap; }
/* Heading: Figma breaks after "dich" on the phone only. */
body.elementor-page-2033 .cs-u14 .cs-u14-h2 br.cs-brm { display: none; }
@media (max-width: 767px) { body.elementor-page-2033 .cs-u14 .cs-u14-h2 br.cs-brm { display: inline; } }
body.elementor-page-2033 .cs-u14 .cs-u14-value .cs-lbl { font-weight: 400; color: rgba(56,60,72,.48); }
body.elementor-page-2033 .cs-u14 .cs-u14-value a { color: inherit; text-decoration: none; }
body.elementor-page-2033 .cs-u14 .cs-u14-value a:hover, body.elementor-page-2033 .cs-u14 .cs-u14-value a:focus-visible { color: #4A7C8E; text-decoration: underline; text-underline-offset: 3px; }

/* Icon circle: 80 px, the 2.5 px gradient outer ring and the Figma shadow in CSS (07/11 pattern). */
body.elementor-page-2033 .cs-u14 .cs-u14-ico { position: relative; width: 80px; height: 80px; border-radius: 50%;
  box-shadow: 12px 12px 24px rgba(56,60,72,.16); transition: transform .2s ease-out; }
body.elementor-page-2033 .cs-u14 .cs-u14-ico::before { content: ""; position: absolute; inset: -2.5px; border-radius: 50%; z-index: 0;
  background: linear-gradient(139deg, #827D2A 0%, #5F95A8 80%); }
body.elementor-page-2033 .cs-u14 .cs-u14-ico .elementor-widget-container, body.elementor-page-2033 .cs-u14 .cs-u14-ico img { position: relative; z-index: 1; }
body.elementor-page-2033 .cs-u14 .cs-u14-ico img { display: block; width: 80px; height: 80px; border-radius: 50%; background: #FBFBF8; }
body.elementor-page-2033 .cs-u14 .cs-u14-ico::after { content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none; opacity: 0;
  border-radius: 50%; background: center / 80px 80px no-repeat; transition: opacity .2s ease-out; }
body.elementor-page-2033 .cs-u14 .cs-u14-ico-addr::after { background-image: url("/wp-content/uploads/2026/10/icon-set-17-hover.svg"); }
body.elementor-page-2033 .cs-u14 .cs-u14-ico-time::after { background-image: url("/wp-content/uploads/2026/10/icon-set-16-hover.svg"); }
body.elementor-page-2033 .cs-u14 .cs-u14-ico-tel::after { background-image: url("/wp-content/uploads/2026/10/icon-set-18-hover.svg"); }
@media (hover: hover) {
  body.elementor-page-2033 .cs-u14 .cs-u14-box:hover { box-shadow: 12px 12px 24px rgba(56,60,72,.16); }
  body.elementor-page-2033 .cs-u14 .cs-u14-box:hover .cs-u14-ico { transform: scale(1.06); }
  body.elementor-page-2033 .cs-u14 .cs-u14-box:hover .cs-u14-ico::after { opacity: 1; }
}

/* ideaLAB photo: cover crop. */
body.elementor-page-2033 .cs-u14 .cs-u14-photo img { display: block; object-position: 50% 0%; }

/* CTA: label + the white arrow circle (Figma 'orange' frame + ArrowRight #343A40) as ::after; pill darkens on hover
   (button control), the arrow moves 4 px (02-hero pattern). */
body.elementor-page-2033 .cs-u14 .cs-cta .elementor-button { white-space: nowrap; display: inline-flex; align-items: center; justify-content: center; gap: 16px; min-height: 64px; transition: background-color .2s ease-out; }
body.elementor-page-2033 .cs-u14 .cs-cta .elementor-button::after { content: ""; flex: none; width: 48px; height: 48px; background: url("data:image/svg+xml,%3Csvg width='48' height='48' viewBox='0 0 48 48' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='48' height='48' rx='24' fill='white'/%3E%3Cpath d='M15.75 24H32.25' stroke='%23343A40' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M25.5 17.25L32.25 24L25.5 30.75' stroke='%23343A40' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 48px 48px no-repeat; margin-block: -8px; transition: transform .2s ease-out; }
body.elementor-page-2033 .cs-u14 .cs-cta .elementor-button:hover::after, body.elementor-page-2033 .cs-u14 .cs-cta .elementor-button:focus-visible::after { transform: translateX(4px); }

/* Entrances (PM Loom 3:11–3:19): the three boxes fly in from the left, staggered; shorter travel than animate.css. */
body.elementor-page-2033 .cs-u14 .animated { animation-duration: .6s; }
@keyframes cs-u14-in-left { from { opacity: 0; transform: translate3d(-80px, 0, 0); } to { opacity: 1; transform: none; } }
body.elementor-page-2033 .cs-u14 .animated.fadeInLeft { animation-name: cs-u14-in-left; }

/* Tablet: boxes in a row of three equal columns; phone: stacked full width. */
@media (max-width: 1024px) {
  body.elementor-page-2033 .cs-u14 .cs-u14-box { flex: 1 1 0; min-width: 0; }
  body.elementor-page-2033 .cs-u14 .cs-u14-btext { --width: 100%; flex: 0 0 auto; width: 100%; }
  /* Polish 2026-10-10: below ~1000 px the three boxes get too narrow for the nowrap values (at 768 'Mo. bis Do. 08.00–17.00 Uhr'
     ran ~50 px into the next box): values may wrap on tablets. At 1024 they still fit on one line. */
  body.elementor-page-2033 .cs-u14 .cs-u14-value p { white-space: normal; }
}
@media (max-width: 767px) {
  body.elementor-page-2033 .cs-u14 .cs-u14-box { flex: 0 0 auto; width: 100%; }
  body.elementor-page-2033 .cs-u14 .cs-u14-photo, body.elementor-page-2033 .cs-u14 .cs-u14-photo img { width: 100%; }
  body.elementor-page-2033 .cs-u14 .cs-u14-map, body.elementor-page-2033 .cs-u14 .cs-u14-map svg { width: 100%; max-width: 342px; }
}

/* build/unternehmen-15-faq/site.css */
/* unternehmen 15-faq (lp10816; reuse of home 13-faq). Section CSS beyond the V3 controls; every rule under body.elementor-page-2033 .cs-u15. */

/* Office photo (Figma Rectangle 34625442 / 1:12006 / 1:5312 / 1:7465), decorative, no DOM: faq-hintergrund.webp
   (attachment 1908) as cover, black overlay 32 %, radius TL 280 (164 / 80), top 47 / 46 / 42. Figma's rect runs
   345 / 226 / 109 px below the band: on the assembled page it continues under the footer (16-footer = home 14: z-index 1,
   rounded top-right 280/164/80), so the photo shows in the footer's corner. The root clips only sideways (cs-zoom). */
body.elementor-page-2033 .cs-u15 { position: relative; isolation: isolate; }
/* width/height auto (polish 2026-10-10): Elementor's .e-con::before sets height 100 %, which overrode the bottom
   offset, so the photo stopped ~45 px below the band instead of filling the footer's rounded corner. */
body.elementor-page-2033 .cs-u15::before { content: ""; position: absolute; z-index: -1; pointer-events: none; left: 0; right: 0; width: auto; height: auto;
  top: 47px; bottom: -345px; border-radius: 280px 0 0 0;
  background: linear-gradient(rgba(0,0,0,.32), rgba(0,0,0,.32)),
    url("/wp-content/uploads/2026/10/faq-hintergrund.webp") 50% 50% / cover no-repeat; }
/* Soft light-green glow top left (Figma Ellipse 28: #D7D285, 0 → 32.6 % of its height, 24 %). */
body.elementor-page-2033 .cs-u15::after { content: ""; position: absolute; z-index: -1; pointer-events: none; left: 60px; top: 107px;
  width: 526px; height: 526px; border-radius: 50%;
  background: linear-gradient(180deg, rgba(215,210,133,.24) 0%, rgba(215,210,133,0) 32.6%); }

body.elementor-page-2033 .cs-u15 .elementor-heading-title { margin: 0; }
/* Heading breaks: after "Büroplanung," on desktop/tablet (Figma), also after "Fragen" on the phone. */
body.elementor-page-2033 .cs-u15 .cs-u15-brm { display: none; }
@media (max-width: 767px) { body.elementor-page-2033 .cs-u15 .cs-u15-brm { display: inline; } }
/* Two columns (Figma 696 + 48 + 696 / 432 + 32 + 432); one column on the phone. Script widget takes no space. */
body.elementor-page-2033 .cs-u15 .cs-u15-cols > .elementor-element { flex: 1 1 0; min-width: 0; }
@media (max-width: 767px) { body.elementor-page-2033 .cs-u15 .cs-u15-cols > .elementor-element { flex: 0 0 auto; width: 100%; } }
body.elementor-page-2033 .cs-u15 .cs-u15-fx { width: 0; height: 0; overflow: hidden; }
body.elementor-page-2033 .cs-u15 .cs-u15-panel p, body.elementor-page-2033 .cs-u15 .cs-u15-sc-text p { margin: 0; }
body.elementor-page-2033 .cs-u15 .cs-u15-frame { max-width: 100%; }

/* FAQ items: glass #FBFBF8 16 % + background blur (Figma 48 → CSS 24), radius 16/48/16/16. Closed: padding 24/24/24/32;
   open: 32 (phone 24 both). Title row: question + the 50 px plus/minus circle (::after of the <summary>), gap 24. */
body.elementor-page-2033 .cs-u15 .elementor-widget-n-accordion { --n-accordion-border-width: 0px; --n-accordion-padding: 0px;
  --n-accordion-icon-gap: 0; }
body.elementor-page-2033 .cs-u15 .e-n-accordion-item { padding: 0; border-radius: 16px 48px 16px 16px;
  background-color: rgba(251,251,248,.16); -webkit-backdrop-filter: blur(24px); backdrop-filter: blur(24px);
  transition: background-color .25s ease-out; }

/* Open: padding 32, the answer follows the title row by 16. The padding sits on the <summary> and the content container,
   not on the <details> (fix 2026-10-10, "FAQ jumps up and down"): Elementor animates an item's height from/to
   summary.offsetHeight (+ content.offsetHeight), so padding or gap on the <details> made the closing item shrink 48-80 px
   too far and snap back, and the opening one stop short and snap open. Closed summary 24+24 = open summary 32+16. */
body.elementor-page-2033 .cs-u15 .e-n-accordion-item-title { padding: 24px 24px 24px 32px; }
body.elementor-page-2033 .cs-u15 .e-n-accordion-item[open] > .e-n-accordion-item-title { padding: 32px 32px 16px 32px; }
body.elementor-page-2033 .cs-u15 .e-n-accordion-item > .e-con { border: 0; padding: 0 32px 32px 32px; }
body.elementor-page-2033 .cs-u15 .e-n-accordion-item-title { gap: 24px; align-items: center; background: none; border-radius: 0; }
body.elementor-page-2033 .cs-u15 .e-n-accordion-item-title-header { flex: 1 1 0; min-width: 0; }
body.elementor-page-2033 .cs-u15 .e-n-accordion-item-title-text { flex: 1 1 auto; }
body.elementor-page-2033 .cs-u15 .e-n-accordion-item-title-icon { display: none; }
body.elementor-page-2033 .cs-u15 .e-n-accordion-item-title::after { content: ""; flex: none; width: 50px; height: 50px; border-radius: 50%;
  background: url("/wp-content/uploads/2026/10/ui-faq-plus.svg") center / 100% 100% no-repeat;
  background-color: rgba(95,149,168,0);
  transition: transform .2s ease-out, background-color .2s ease-out, box-shadow .2s ease-out; }
body.elementor-page-2033 .cs-u15 .e-n-accordion-item[open] > .e-n-accordion-item-title::after {
  background-image: url("/wp-content/uploads/2026/10/ui-faq-minus.svg"); box-shadow: 12px 12px 24px rgba(56,60,72,.16); }
/* Hover / focus: the glass lightens, the circle turns blue and grows (R-icon-hover-scale); white focus ring on the photo. */
body.elementor-page-2033 .cs-u15 .e-n-accordion-item:hover { background-color: rgba(251,251,248,.24); }
body.elementor-page-2033 .cs-u15 .e-n-accordion-item-title:hover::after,
body.elementor-page-2033 .cs-u15 .e-n-accordion-item-title:focus-visible::after { transform: scale(1.08); background-color: #5F95A8; }
body.elementor-page-2033 .cs-u15 .e-n-accordion-item-title:focus { outline: 0; }
body.elementor-page-2033 .cs-u15 .e-n-accordion-item-title:focus-visible { outline: 2px solid #FFFFFF; outline-offset: 8px; border-radius: 8px; }

/* Steelcase row: logo 186 × 48, text; "Partnerübersicht" → /hersteller-partner/ (underlined, lighter on hover). */
body.elementor-page-2033 .cs-u15 .cs-u15-logo img { display: block; width: 186px; height: 48px; }
@media (min-width: 768px) { body.elementor-page-2033 .cs-u15 .elementor-widget.cs-u15-sc-text { flex: 1 1 0; min-width: 0; width: auto; } }
body.elementor-page-2033 .cs-u15 .cs-u15-sc-text a { color: #FFFFFF; text-decoration: underline; text-underline-offset: 3px;
  text-decoration-thickness: 1px; transition: color .2s ease-out; }
body.elementor-page-2033 .cs-u15 .cs-u15-sc-text a:hover, body.elementor-page-2033 .cs-u15 .cs-u15-sc-text a:focus-visible { color: #BCD2DA; }
body.elementor-page-2033 .cs-u15 .animated { animation-duration: .6s; }

@media (max-width: 1024px) {
  body.elementor-page-2033 .cs-u15::before { top: 46px; bottom: -226px; border-radius: 164px 0 0 0; }
  body.elementor-page-2033 .cs-u15::after { left: 32px; top: 78px; width: 360px; height: 360px; }
}
@media (max-width: 767px) {
  /* Phone: the full 1200 px file (the 828 px phone file would be blurrier still: the 390 px slice of a cover crop is
     ~170 source px). */
  body.elementor-page-2033 .cs-u15::before { top: 42px; bottom: -109px; border-radius: 80px 0 0 0; }
  body.elementor-page-2033 .cs-u15::after { left: 16px; top: 58px; width: 182px; height: 182px; }
  body.elementor-page-2033 .cs-u15 .e-n-accordion-item-title { padding: 24px; }
  body.elementor-page-2033 .cs-u15 .e-n-accordion-item[open] > .e-n-accordion-item-title { padding: 24px 24px 16px 24px; }
  /* While an item closes (class from the effect script) its summary keeps the closed height, so the close animation ends
     where the closed item stands (24+24, not 24+16). */
  body.elementor-page-2033 .cs-u15 .e-n-accordion-item[open].cs-closing > .e-n-accordion-item-title { padding-bottom: 24px; }
  body.elementor-page-2033 .cs-u15 .e-n-accordion-item > .e-con { padding: 0 24px 24px 24px; }
  body.elementor-page-2033 .cs-u15 .cs-u15-sc { align-items: center; }
}
@media (prefers-reduced-motion: reduce) {
  body.elementor-page-2033 .cs-u15 .e-n-accordion-item, body.elementor-page-2033 .cs-u15 .e-n-accordion-item-title::after { transition: none; }
}

/* Laptop floor (zoom .66 at 1025-1199): the 16 px Steelcase text would render at 10.6 px; keep it at 12 px. */
@media (min-width: 1025px) and (max-width: 1199px) { body.elementor-page-2033 .cs-u15 .cs-u15-sc-text p { font-size: 18.2px; line-height: 1.64; } }

/* build/unternehmen-16-footer/site.css */
/* unternehmen 16-footer (reuse of home 14-footer) (lp10816). Section CSS beyond the V3 controls; every rule under body.elementor-page-2033 .cs-u16. */

/* Band: Figma's two fills (#F7F6F1 → #EBE9C7 + 12 % #827D2A, bottom to top) as one gradient (root control); above the
   FAQ photo, which continues under the rounded top-right corner at assembly (15-faq). Entrances 600 ms. */
body.elementor-page-2033 .cs-u16 { position: relative; z-index: 1; background-image: linear-gradient(0deg, #F7F6F1 0%, #DEDCB4 100%); }
/* Content box 1440 centred at every desktop width (Figma pads 240 at 1920; laptop widths are zoomed). */
@media (min-width: 1025px) { body.elementor-page-2033 .cs-u16.cs-u16.e-con { --padding-left: max(0px, calc(50% - 720px)); --padding-right: max(0px, calc(50% - 720px)); } }
body.elementor-page-2033 .cs-u16 .animated { animation-duration: .6s; }

/* Logo on its white circle (Figma Ellipse 45, 80 px at 5/2 in the 184 x 84 logo box). */
body.elementor-page-2033 .cs-u16 .cs-u16-logo a { display: block; transition: opacity .2s ease-out; }
body.elementor-page-2033 .cs-u16 .cs-u16-logo img { display: block; background: radial-gradient(circle 40px at 45px 42px, #FFFFFF 39.5px, rgba(255,255,255,0) 40px); }
body.elementor-page-2033 .cs-u16 .cs-u16-logo a:hover, body.elementor-page-2033 .cs-u16 .cs-u16-logo a:focus-visible { opacity: .8; }

/* Menu: the header's WordPress menu, always visible; 24 px between items; phone a centred column. */
body.elementor-page-2033 .cs-u16 .cs-u16-nav .elementor-nav-menu--main > .elementor-nav-menu { flex-wrap: nowrap; justify-content: flex-start; gap: 24px; }
body.elementor-page-2033 .cs-u16 .cs-u16-nav .elementor-nav-menu--main > .elementor-nav-menu::before,
body.elementor-page-2033 .cs-u16 .cs-u16-nav .elementor-nav-menu--main > .elementor-nav-menu::after { display: none; }
body.elementor-page-2033 .cs-u16 .cs-u16-nav .elementor-item { white-space: nowrap; }
body.elementor-page-2033 .cs-u16 .cs-u16-nav .elementor-item::after { bottom: -2px; }
body.elementor-page-2033 .cs-u16 .cs-u16-nav .elementor-item.elementor-item-active:not(:hover):not(:focus-visible) { color: #383C48; }
body.elementor-page-2033 .cs-u16 .cs-u16-nav .elementor-item.elementor-item-active:not(:hover):not(:focus-visible)::after { opacity: 0; }
body.elementor-page-2033 .cs-u16 .cs-u16-nav .elementor-menu-toggle, body.elementor-page-2033 .cs-u16 .cs-u16-nav .elementor-nav-menu--dropdown { display: none !important; }

/* Row widths hug their content (the Figma frame's 1144 is the hug of PT widths; BT is wider). */
body.elementor-page-2033 .cs-u16 .e-con.cs-u16-links, body.elementor-page-2033 .cs-u16 .e-con.cs-u16-socials { flex: 0 0 auto; width: auto; }

/* Social buttons as Figma: a 64 px #5F95A8 circle (padding 16) around the 32 px white glyph (SVG file), cs-shadow and
   the 12 px background blur. Hover: scale 1.08 and the icon set's green-to-blue gradient circle (answers 4). */
body.elementor-page-2033 .cs-u16 .cs-u16-social a { position: relative; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 8px; padding: 16px; border-radius: 100px; background-color: #5F95A8; box-shadow: 12px 12px 24px rgba(56,60,72,.16); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); transition: transform .2s ease-out; }
body.elementor-page-2033 .cs-u16 .cs-u16-social a::before { content: ""; position: absolute; inset: 0; border-radius: inherit; background: linear-gradient(135deg, #827D2A 0%, #5F95A8 80%); opacity: 0; transition: opacity .2s ease-out; }
body.elementor-page-2033 .cs-u16 .cs-u16-social img { position: relative; display: block; width: 32px; height: 32px; }
body.elementor-page-2033 .cs-u16 .cs-u16-social a:hover, body.elementor-page-2033 .cs-u16 .cs-u16-social a:focus-visible { transform: scale(1.08); }
body.elementor-page-2033 .cs-u16 .cs-u16-social a:hover::before, body.elementor-page-2033 .cs-u16 .cs-u16-social a:focus-visible::before { opacity: 1; }

/* Copyright: #383C48 at the layer opacity 64 % as Figma. */
body.elementor-page-2033 .cs-u16 .cs-u16-copy p { opacity: .64; }

/* Legal links: underlined as Figma, 24 px apart; hover deep blue (≥ 4.5:1 on the band). */
body.elementor-page-2033 .cs-u16 .cs-u16-legal { display: flex; gap: 24px; margin: 0; }
body.elementor-page-2033 .cs-u16 .cs-u16-legal a { color: #383C48; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; transition: color .2s ease-out; }
body.elementor-page-2033 .cs-u16 .cs-u16-legal a:hover, body.elementor-page-2033 .cs-u16 .cs-u16-legal a:focus-visible { color: #2F6273; }
body.elementor-page-2033 .cs-u16 .cs-u16-copy p { white-space: nowrap; }

/* Tablets narrower than the 1024 frame: the one-row menu (944 px in cs-Futura) wraps instead of overflowing. */
@media (min-width: 768px) and (max-width: 1023px) {
  body.elementor-page-2033 .cs-u16 .e-con.cs-u16-links, body.elementor-page-2033 .cs-u16 .elementor-widget.cs-u16-nav { max-width: 100%; }
  body.elementor-page-2033 .cs-u16 .cs-u16-nav .elementor-nav-menu--main > .elementor-nav-menu { flex-wrap: wrap; justify-content: center; row-gap: 12px; }
}
@media (max-width: 767px) {
  body.elementor-page-2033 .cs-u16 .cs-u16-nav .elementor-nav-menu--main > .elementor-nav-menu { flex-direction: column; align-items: center; width: 100%; }
  body.elementor-page-2033 .cs-u16 .e-con.cs-u16-links { width: 100%; }
  body.elementor-page-2033 .cs-u16 .elementor-widget.cs-u16-nav, body.elementor-page-2033 .cs-u16 .cs-u16-nav nav { width: 100%; max-width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  body.elementor-page-2033 .cs-u16 .cs-u16-social a:hover, body.elementor-page-2033 .cs-u16 .cs-u16-social a:focus-visible { transform: none; }
}

/* Laptop floor (zoom .66 at 1025-1199): the 16 px copyright and legal links would render at 10.6 px; keep them at 12 px
   (polish 2026-10-10). */
@media (min-width: 1025px) and (max-width: 1199px) { body.elementor-page-2033 .cs-u16 .cs-u16-copy p, body.elementor-page-2033 .cs-u16 .cs-u16-legal { font-size: 18.2px; } }/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'cs-Futura';
	font-style: normal;
	font-weight: 400;
	font-display: auto;
	src: url('https://ls1.gms-dev.site/wp-content/uploads/2026/10/FuturaBT-Book.woff2') format('woff2');
}
@font-face {
	font-family: 'cs-Futura';
	font-style: normal;
	font-weight: 500;
	font-display: auto;
	src: url('https://ls1.gms-dev.site/wp-content/uploads/2026/10/FuturaBT-Medium.woff2') format('woff2');
}
@font-face {
	font-family: 'cs-Futura';
	font-style: normal;
	font-weight: 600;
	font-display: auto;
	src: url('https://ls1.gms-dev.site/wp-content/uploads/2026/10/Futura-Bold.woff2') format('woff2');
}
/* End Custom Fonts CSS */