.elementor-2097 .elementor-element.elementor-element-csd01a01{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:220px 220px;--row-gap:220px;--column-gap:220px;--flex-wrap:nowrap;--padding-top:16px;--padding-bottom:16px;--padding-left:240px;--padding-right:240px;}.elementor-2097 .elementor-element.elementor-element-csd01a01:not(.elementor-motion-effects-element-type-background), .elementor-2097 .elementor-element.elementor-element-csd01a01 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.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-2097 .elementor-element.elementor-element-csd01a02{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-2097 .elementor-element.elementor-element-csd01a02.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-2097 .elementor-element.elementor-element-csd01a02 img{width:184px;}.elementor-2097 .elementor-element.elementor-element-csd02a01{--display:flex;--min-height:62vh;--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;--justify-content:center;--align-items:center;--gap:48px 48px;--row-gap:48px;--column-gap:48px;--flex-wrap:nowrap;--padding-top:120px;--padding-bottom:160px;--padding-left:240px;--padding-right:240px;}.elementor-2097 .elementor-element.elementor-element-csd02a01:not(.elementor-motion-effects-element-type-background), .elementor-2097 .elementor-element.elementor-element-csd02a01 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FBFBF8;}.elementor-2097 .elementor-element.elementor-element-csd02a02{--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:center;--gap:24px 24px;--row-gap:24px;--column-gap:24px;--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-2097 .elementor-element.elementor-element-csd02a03{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;text-align:center;}.elementor-2097 .elementor-element.elementor-element-csd02a03 .elementor-heading-title{font-family:"cs-Futura", Sans-serif;font-size:48px;font-weight:500;text-transform:none;font-style:normal;text-decoration:none;line-height:60px;letter-spacing:-0.96px;color:#343A40;}.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-2097 .elementor-element.elementor-element-csd02a04{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;text-align:center;font-family:"cs-Futura", Sans-serif;font-size:20px;font-weight:400;text-transform:none;font-style:normal;text-decoration:none;line-height:32px;letter-spacing:-0.2px;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-2097 .elementor-element.elementor-element-csd02a05 .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:-0.5px;fill:#FFFFFF;color:#FFFFFF;border-style:none;border-radius:1000px 1000px 1000px 1000px;padding:16px 8px 16px 32px;}.elementor-2097 .elementor-element.elementor-element-csd02a05 .elementor-button:hover, .elementor-2097 .elementor-element.elementor-element-csd02a05 .elementor-button:focus{background-color:#4A7C8E;color:#FFFFFF;}.elementor-2097 .elementor-element.elementor-element-csd02a05{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-2097 .elementor-element.elementor-element-csd02a05 .elementor-button:hover svg, .elementor-2097 .elementor-element.elementor-element-csd02a05 .elementor-button:focus svg{fill:#FFFFFF;}.elementor-2097 .elementor-element.elementor-element-csd03a01{--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:stretch;--gap:64px 64px;--row-gap:64px;--column-gap:64px;--flex-wrap:nowrap;--border-radius:0px 280px 0px 0px;--padding-top:80px;--padding-bottom:64px;--padding-left:240px;--padding-right:240px;}.elementor-2097 .elementor-element.elementor-element-csd03a01:not(.elementor-motion-effects-element-type-background), .elementor-2097 .elementor-element.elementor-element-csd03a01 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F7F6F1;}.elementor-2097 .elementor-element.elementor-element-csd03a0e{--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:center;--gap:64px 64px;--row-gap:64px;--column-gap:64px;--flex-wrap:nowrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2097 .elementor-element.elementor-element-csd03a02{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:center;--gap:80px 80px;--row-gap:80px;--column-gap:80px;--flex-wrap:nowrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2097 .elementor-element.elementor-element-csd03a03{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-2097 .elementor-element.elementor-element-csd03a03.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-2097 .elementor-element.elementor-element-csd03a03 img{width:184px;}.elementor-2097 .elementor-element.elementor-element-csd03a04{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-start;--align-items:center;--gap:80px 80px;--row-gap:80px;--column-gap:80px;--flex-wrap:nowrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2097 .elementor-element.elementor-element-csd03a06{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--gap:8px 8px;--row-gap:8px;--column-gap:8px;--flex-wrap:nowrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2097 .elementor-element.elementor-element-csd03a07{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-2097 .elementor-element.elementor-element-csd03a07.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-2097 .elementor-element.elementor-element-csd03a07 img{width:32px;}.elementor-2097 .elementor-element.elementor-element-csd03a08{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-2097 .elementor-element.elementor-element-csd03a08.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-2097 .elementor-element.elementor-element-csd03a08 img{width:32px;}.elementor-2097 .elementor-element.elementor-element-csd03a09{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-2097 .elementor-element.elementor-element-csd03a09.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-2097 .elementor-element.elementor-element-csd03a09 img{width:32px;}.elementor-2097 .elementor-element.elementor-element-csd03a0a{--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:center;--gap:32px 32px;--row-gap:32px;--column-gap:32px;--flex-wrap:nowrap;border-style:solid;--border-style:solid;border-width:1px 0px 0px 0px;--border-top-width:1px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:0px;border-color:rgba(56,60,72,0.16);--border-color:rgba(56,60,72,0.16);--padding-top:48px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2097 .elementor-element.elementor-element-csd03a0b{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:flex-start;--gap:24px 24px;--row-gap:24px;--column-gap:24px;--flex-wrap:nowrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2097 .elementor-element.elementor-element-csd03a0c{width:auto;max-width:auto;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;text-align:start;font-family:"cs-Futura", Sans-serif;font-size:16px;font-weight:400;text-transform:none;font-style:normal;text-decoration:none;line-height:24px;letter-spacing:0px;color:#383C48;}.elementor-2097 .elementor-element.elementor-element-csd03a0c.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-2097 .elementor-element.elementor-element-csd03a0d{width:auto;max-width:auto;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;text-align:end;font-family:"cs-Futura", Sans-serif;font-size:16px;font-weight:400;text-transform:none;font-style:normal;text-decoration:none;line-height:24px;letter-spacing:0px;color:#383C48;}.elementor-2097 .elementor-element.elementor-element-csd03a0d.elementor-element{--flex-grow:0;--flex-shrink:0;}@media(max-width:1024px){.elementor-2097 .elementor-element.elementor-element-csd01a01{--padding-top:16px;--padding-bottom:16px;--padding-left:64px;--padding-right:64px;}.elementor-2097 .elementor-element.elementor-element-csd02a01{--gap:40px 40px;--row-gap:40px;--column-gap:40px;--padding-top:96px;--padding-bottom:120px;--padding-left:64px;--padding-right:64px;}.elementor-2097 .elementor-element.elementor-element-csd02a03 .elementor-heading-title{font-size:40px;line-height:52px;letter-spacing:-0.8px;}.elementor-2097 .elementor-element.elementor-element-csd02a04{font-size:18px;line-height:30px;letter-spacing:-0.2px;}.elementor-2097 .elementor-element.elementor-element-csd02a05 .elementor-button{font-size:16px;line-height:26.24px;letter-spacing:-0.4px;}.elementor-2097 .elementor-element.elementor-element-csd03a01{--border-radius:0px 164px 0px 0px;--padding-top:64px;--padding-bottom:48px;--padding-left:64px;--padding-right:64px;}.elementor-2097 .elementor-element.elementor-element-csd03a02{--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;--justify-content:flex-start;--gap:48px 48px;--row-gap:48px;--column-gap:48px;}.elementor-2097 .elementor-element.elementor-element-csd03a04{--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:48px 48px;--row-gap:48px;--column-gap:48px;}}@media(max-width:767px){.elementor-2097 .elementor-element.elementor-element-csd01a01{--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:16px;--padding-bottom:16px;--padding-left:24px;--padding-right:24px;}.elementor-2097 .elementor-element.elementor-element-csd01a02 img{width:140px;}.elementor-2097 .elementor-element.elementor-element-csd02a01{--min-height:56vh;--gap:32px 32px;--row-gap:32px;--column-gap:32px;--padding-top:64px;--padding-bottom:80px;--padding-left:24px;--padding-right:24px;}.elementor-2097 .elementor-element.elementor-element-csd02a02{--width:100%;--gap:20px 20px;--row-gap:20px;--column-gap:20px;}.elementor-2097 .elementor-element.elementor-element-csd02a03 .elementor-heading-title{font-size:32px;line-height:40px;letter-spacing:-0.64px;}.elementor-2097 .elementor-element.elementor-element-csd02a04{font-size:18px;line-height:28px;letter-spacing:-0.2px;}.elementor-2097 .elementor-element.elementor-element-csd02a05 .elementor-button{font-size:16px;line-height:26.24px;letter-spacing:-0.4px;}.elementor-2097 .elementor-element.elementor-element-csd03a01{--border-radius:0px 80px 0px 0px;--padding-top:64px;--padding-bottom:48px;--padding-left:24px;--padding-right:24px;}.elementor-2097 .elementor-element.elementor-element-csd03a02{--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;--justify-content:flex-start;--gap:48px 48px;--row-gap:48px;--column-gap:48px;}.elementor-2097 .elementor-element.elementor-element-csd03a04{--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:48px 48px;--row-gap:48px;--column-gap:48px;}.elementor-2097 .elementor-element.elementor-element-csd03a0b{--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;--justify-content:flex-start;--align-items:center;}.elementor-2097 .elementor-element.elementor-element-csd03a0c{text-align:center;}.elementor-2097 .elementor-element.elementor-element-csd03a0d{text-align:center;}}@media(min-width:768px){.elementor-2097 .elementor-element.elementor-element-csd02a02{--width:860px;}.elementor-2097 .elementor-element.elementor-element-csd03a0e{--width:100%;}.elementor-2097 .elementor-element.elementor-element-csd03a02{--width:100%;}.elementor-2097 .elementor-element.elementor-element-csd03a0a{--width:100%;}.elementor-2097 .elementor-element.elementor-element-csd03a0b{--width:100%;}}@media(max-width:1024px) and (min-width:768px){.elementor-2097 .elementor-element.elementor-element-csd02a02{--width:100%;}}/* 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-2097` 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-2097. 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-2097 .elementor { font-family: 'cs-Futura', 'Futura', Arial, sans-serif; font-size: 18px; line-height: 30px; font-weight: 400; color: #383C48; }
:where(body.elementor-page-2097 .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-2097 .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-2097 .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-2097 .elementor) p:not(cs-a):not(cs-b) { margin: 0 0 1em; }
:where(body.elementor-page-2097 .elementor) :is(p, ul, ol):last-child:not(cs-a) { margin-bottom: 0; }
:where(body.elementor-page-2097 .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-2097 .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-2097 { 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-2097 .cs-zoom{zoom:.66;} body.elementor-page-2097{--cs-z:.66;} }
@media (min-width:1200px) and (max-width:1279px){ body.elementor-page-2097 .cs-zoom{zoom:.71;} body.elementor-page-2097{--cs-z:.71;} }
@media (min-width:1280px) and (max-width:1365px){ body.elementor-page-2097 .cs-zoom{zoom:.76;} body.elementor-page-2097{--cs-z:.76;} }
@media (min-width:1366px) and (max-width:1439px){ body.elementor-page-2097 .cs-zoom{zoom:.82;} body.elementor-page-2097{--cs-z:.82;} }
@media (min-width:1440px) and (max-width:1535px){ body.elementor-page-2097 .cs-zoom{zoom:.87;} body.elementor-page-2097{--cs-z:.87;} }
@media (min-width:1536px) and (max-width:1599px){ body.elementor-page-2097 .cs-zoom{zoom:.93;} body.elementor-page-2097{--cs-z:.93;} }
@media (min-width:1600px) and (max-width:1679px){ body.elementor-page-2097 .cs-zoom{zoom:.97;} body.elementor-page-2097{--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-2097 .cs-zoom { overflow-x: clip; }

/* 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-2097 .elementor-invisible { visibility: hidden; }

/* 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-2097) { scroll-behavior: auto; }
  body.elementor-page-2097 .elementor-invisible { visibility: visible !important; }
  body.elementor-page-2097 .animated { animation: none !important; }
  body.elementor-page-2097 * { transition-duration: 0s !important; scroll-behavior: auto !important; }
}

/* 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-2097 .cs-k… / .cs-d…. */

/* Subpage header: the home header's sticky white bar, logo centred. */
body.elementor-page-2097 :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-2097 :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-2097 :is(.cs-k01, .cs-d01) { animation: cs-sub-shadow linear both; animation-timeline: scroll(root); animation-range: 0 120px; }
}
body.elementor-page-2097 :is(.cs-k01, .cs-d01) .cs-sub-logo a { display: block; transition: opacity .2s ease-out; }
body.elementor-page-2097 :is(.cs-k01, .cs-d01) .cs-sub-logo img { display: block; }
body.elementor-page-2097 :is(.cs-k01, .cs-d01) .cs-sub-logo a:hover, body.elementor-page-2097 :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-2097 .elementor:has(> :is(.cs-k02, .cs-d02)) { display: flex; flex-direction: column; min-height: 100vh; min-height: 100dvh; }
body.elementor-page-2097 .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-2097 :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-2097 :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-2097 .cs-k02 .cs-k02-intro p { margin: 0 0 12px; }
body.elementor-page-2097 .cs-k02 .cs-k02-intro p:last-child { margin-bottom: 0; }
body.elementor-page-2097 .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-2097 .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-2097 .cs-k02 .cs-k02-card { box-shadow: 12px 12px 24px rgba(56,60,72,.16); }
body.elementor-page-2097 .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-2097 .cs-k02 .gform_wrapper .gfield_required { display: none; }
body.elementor-page-2097 .cs-k02 .gform_wrapper .gfield_label, body.elementor-page-2097 .cs-k02 .gform_wrapper legend.gfield_label { font-weight: 500; line-height: 1.3; color: #343A40; letter-spacing: -0.3px; }
body.elementor-page-2097 .cs-k02 .gform_wrapper .gfield_description { font-size: 16px; line-height: 26px; color: #383C48; opacity: .8; }
body.elementor-page-2097 .cs-k02 .gform_wrapper .gfield_consent_label a, body.elementor-page-2097 .cs-k02 .gform_wrapper .gfield_description a { color: #2F6273; text-decoration: underline; text-underline-offset: 3px; }
body.elementor-page-2097 .cs-k02 .gform_wrapper .button-next, body.elementor-page-2097 .cs-k02 .gform_wrapper .button-previous,
body.elementor-page-2097 .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-2097 .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-2097 .cs-k02 .gform_wrapper .gfield { scroll-margin-top: 140px !important; }
@media (max-width: 767px) {
  body.elementor-page-2097 .cs-k02 .gform_wrapper .gfield_label, body.elementor-page-2097 .cs-k02 .gform_wrapper legend.gfield_label { font-size: 22px; }
  body.elementor-page-2097 .cs-k02 .gform_wrapper .button-next, body.elementor-page-2097 .cs-k02 .gform_wrapper .button-previous,
  body.elementor-page-2097 .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-2097 .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-2097 .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-2097 .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-2097 .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-2097 .cs-d02 .cs-d02-cta .elementor-button:hover::after, body.elementor-page-2097 .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-2097 :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-2097 :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-2097 :is(.cs-k03, .cs-d03) .animated { animation-duration: .6s; }
body.elementor-page-2097 :is(.cs-k03, .cs-d03) .cs-sub-logo a { display: block; transition: opacity .2s ease-out; }
body.elementor-page-2097 :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-2097 :is(.cs-k03, .cs-d03) .cs-sub-logo a:hover, body.elementor-page-2097 :is(.cs-k03, .cs-d03) .cs-sub-logo a:focus-visible { opacity: .8; }
body.elementor-page-2097 :is(.cs-k03, .cs-d03) .e-con.cs-sub-links, body.elementor-page-2097 :is(.cs-k03, .cs-d03) .e-con.cs-sub-socials { flex: 0 0 auto; width: auto; }
body.elementor-page-2097 :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-2097 :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-2097 :is(.cs-k03, .cs-d03) .cs-sub-social img { position: relative; display: block; width: 32px; height: 32px; }
body.elementor-page-2097 :is(.cs-k03, .cs-d03) .cs-sub-social a:hover, body.elementor-page-2097 :is(.cs-k03, .cs-d03) .cs-sub-social a:focus-visible { transform: scale(1.08); }
body.elementor-page-2097 :is(.cs-k03, .cs-d03) .cs-sub-social a:hover::before, body.elementor-page-2097 :is(.cs-k03, .cs-d03) .cs-sub-social a:focus-visible::before { opacity: 1; }
body.elementor-page-2097 :is(.cs-k03, .cs-d03) .cs-sub-copy p { opacity: .64; white-space: nowrap; }
body.elementor-page-2097 :is(.cs-k03, .cs-d03) .cs-sub-legal { display: flex; gap: 24px; margin: 0; }
body.elementor-page-2097 :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-2097 :is(.cs-k03, .cs-d03) .cs-sub-legal a:hover, body.elementor-page-2097 :is(.cs-k03, .cs-d03) .cs-sub-legal a:focus-visible { color: #2F6273; }
@media (min-width: 768px) and (max-width: 1024px) {
  body.elementor-page-2097 :is(.cs-k03, .cs-d03) .e-con.cs-sub-links { width: auto; }
}
@media (prefers-reduced-motion: reduce) {
  body.elementor-page-2097 :is(.cs-k03, .cs-d03) .cs-sub-social a:hover, body.elementor-page-2097 :is(.cs-k03, .cs-d03) .cs-sub-social a:focus-visible,
  body.elementor-page-2097 .cs-d02 .cs-d02-cta .elementor-button:hover::after { transform: none; }
}/* 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 */