.elementor-kit-6{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-color-mme_c_ink:#171717;--e-global-color-mme_c_ink_soft:#2A2A2A;--e-global-color-mme_c_text:#575757;--e-global-color-mme_c_background:#FFFFFF;--e-global-color-mme_c_surface:#FFFFFF;--e-global-color-mme_c_muted:#F5F4F1;--e-global-color-mme_c_line:#E2E0DB;--e-global-color-mme_c_orange:#F28A1A;--e-global-color-mme_c_orange_deep:#D96E00;--e-global-color-mme_c_night:#12161C;--e-global-color-mme_c_on_dark:#FFFFFF;--e-global-color-mme_c_green:#1F5F42;--e-global-color-mme_c_red:#B3261E;--e-global-color-mme_c_red_tint:#FDF2F1;--e-global-color-mme_c_red_ink:#6F3B37;--e-global-color-mme_c_sand:#FFF3E3;--e-global-color-mme_c_sand_deep:#FFE3C2;--e-global-color-mme_c_cream:#FFF6EA;--e-global-color-mme_c_cream_deep:#FFE9CD;--e-global-color-mme_c_cta_ink:#7A5326;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;--e-global-typography-mme_t_hero-font-family:"Inter Tight";--e-global-typography-mme_t_hero-font-size:4rem;--e-global-typography-mme_t_hero-font-weight:600;--e-global-typography-mme_t_hero-text-transform:none;--e-global-typography-mme_t_hero-font-style:normal;--e-global-typography-mme_t_hero-text-decoration:none;--e-global-typography-mme_t_hero-line-height:1.02em;--e-global-typography-mme_t_hero-letter-spacing:-0.046em;--e-global-typography-mme_t_stage-font-family:"Inter Tight";--e-global-typography-mme_t_stage-font-size:3.5rem;--e-global-typography-mme_t_stage-font-weight:600;--e-global-typography-mme_t_stage-text-transform:none;--e-global-typography-mme_t_stage-font-style:normal;--e-global-typography-mme_t_stage-text-decoration:none;--e-global-typography-mme_t_stage-line-height:1.02em;--e-global-typography-mme_t_stage-letter-spacing:-0.046em;--e-global-typography-mme_t_stat-font-family:"Inter Tight";--e-global-typography-mme_t_stat-font-size:3.25rem;--e-global-typography-mme_t_stat-font-weight:600;--e-global-typography-mme_t_stat-text-transform:none;--e-global-typography-mme_t_stat-font-style:normal;--e-global-typography-mme_t_stat-text-decoration:none;--e-global-typography-mme_t_stat-line-height:1em;--e-global-typography-mme_t_stat-letter-spacing:-0.05em;--e-global-typography-mme_t_section_title-font-family:"Inter Tight";--e-global-typography-mme_t_section_title-font-size:3.125rem;--e-global-typography-mme_t_section_title-font-weight:600;--e-global-typography-mme_t_section_title-text-transform:none;--e-global-typography-mme_t_section_title-font-style:normal;--e-global-typography-mme_t_section_title-text-decoration:none;--e-global-typography-mme_t_section_title-line-height:1.14em;--e-global-typography-mme_t_section_title-letter-spacing:-0.036em;--e-global-typography-mme_t_subhead-font-family:"Inter Tight";--e-global-typography-mme_t_subhead-font-size:2.75rem;--e-global-typography-mme_t_subhead-font-weight:600;--e-global-typography-mme_t_subhead-text-transform:none;--e-global-typography-mme_t_subhead-font-style:normal;--e-global-typography-mme_t_subhead-text-decoration:none;--e-global-typography-mme_t_subhead-line-height:1.04em;--e-global-typography-mme_t_subhead-letter-spacing:-0.04em;--e-global-typography-mme_t_card_title-font-family:"Inter Tight";--e-global-typography-mme_t_card_title-font-size:1.625rem;--e-global-typography-mme_t_card_title-font-weight:600;--e-global-typography-mme_t_card_title-text-transform:none;--e-global-typography-mme_t_card_title-font-style:normal;--e-global-typography-mme_t_card_title-text-decoration:none;--e-global-typography-mme_t_card_title-line-height:1.14em;--e-global-typography-mme_t_card_title-letter-spacing:-0.038em;--e-global-typography-mme_t_heading_3-font-family:"Inter Tight";--e-global-typography-mme_t_heading_3-font-size:1.3125rem;--e-global-typography-mme_t_heading_3-font-weight:600;--e-global-typography-mme_t_heading_3-text-transform:none;--e-global-typography-mme_t_heading_3-font-style:normal;--e-global-typography-mme_t_heading_3-text-decoration:none;--e-global-typography-mme_t_heading_3-line-height:1.14em;--e-global-typography-mme_t_heading_3-letter-spacing:-0.02em;--e-global-typography-mme_t_heading_4-font-family:"Inter Tight";--e-global-typography-mme_t_heading_4-font-size:1.1875rem;--e-global-typography-mme_t_heading_4-font-weight:600;--e-global-typography-mme_t_heading_4-text-transform:none;--e-global-typography-mme_t_heading_4-font-style:normal;--e-global-typography-mme_t_heading_4-text-decoration:none;--e-global-typography-mme_t_heading_4-line-height:1.2em;--e-global-typography-mme_t_heading_4-letter-spacing:-0.02em;--e-global-typography-mme_t_lead-font-family:"Inter";--e-global-typography-mme_t_lead-font-size:1.15625rem;--e-global-typography-mme_t_lead-font-weight:400;--e-global-typography-mme_t_lead-text-transform:none;--e-global-typography-mme_t_lead-font-style:normal;--e-global-typography-mme_t_lead-text-decoration:none;--e-global-typography-mme_t_lead-line-height:1.6em;--e-global-typography-mme_t_copy-font-family:"Inter";--e-global-typography-mme_t_copy-font-size:0.96875rem;--e-global-typography-mme_t_copy-font-weight:400;--e-global-typography-mme_t_copy-text-transform:none;--e-global-typography-mme_t_copy-font-style:normal;--e-global-typography-mme_t_copy-text-decoration:none;--e-global-typography-mme_t_copy-line-height:1.65em;--e-global-typography-mme_t_small-font-family:"Inter";--e-global-typography-mme_t_small-font-size:0.90625rem;--e-global-typography-mme_t_small-font-weight:400;--e-global-typography-mme_t_small-text-transform:none;--e-global-typography-mme_t_small-font-style:normal;--e-global-typography-mme_t_small-text-decoration:none;--e-global-typography-mme_t_small-line-height:1.6em;--e-global-typography-mme_t_eyebrow-font-family:"Inter";--e-global-typography-mme_t_eyebrow-font-size:0.75rem;--e-global-typography-mme_t_eyebrow-font-weight:600;--e-global-typography-mme_t_eyebrow-text-transform:none;--e-global-typography-mme_t_eyebrow-font-style:normal;--e-global-typography-mme_t_eyebrow-text-decoration:none;--e-global-typography-mme_t_eyebrow-line-height:1.2em;--e-global-typography-mme_t_eyebrow-letter-spacing:0.16em;--e-global-typography-mme_t_micro-font-family:"Inter";--e-global-typography-mme_t_micro-font-size:0.6875rem;--e-global-typography-mme_t_micro-font-weight:600;--e-global-typography-mme_t_micro-text-transform:none;--e-global-typography-mme_t_micro-font-style:normal;--e-global-typography-mme_t_micro-text-decoration:none;--e-global-typography-mme_t_micro-line-height:1.2em;--e-global-typography-mme_t_micro-letter-spacing:0.22em;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1300px;}.e-con{--container-max-width:1300px;--container-default-padding-top:50px;--container-default-padding-right:40px;--container-default-padding-bottom:50px;--container-default-padding-left:40px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;--container-default-padding-top:40px;--container-default-padding-right:30px;--container-default-padding-bottom:40px;--container-default-padding-left:30px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;--container-default-padding-top:35px;--container-default-padding-right:20px;--container-default-padding-bottom:35px;--container-default-padding-left:20px;}}:root { --Ink:#171717; --Ink-Soft:#2A2A2A; --Text:#575757; --Background:#FFFFFF; --Surface:#FFFFFF; --Muted:#F5F4F1; --Line:#E2E0DB; --Orange:#F28A1A; --Orange-Deep:#D96E00; --Night:#12161C; --On-Dark:#FFFFFF; --Green:#1F5F42; --Red:#B3261E; --Red-Tint:#FDF2F1; --Red-Ink:#6F3B37; --Sand:#FFF3E3; --Sand-Deep:#FFE3C2; --Cream:#FFF6EA; --Cream-Deep:#FFE9CD; --CTA-Ink:#7A5326; --Display:Inter Tight; --Body:Inter; --Hero:clamp(30px, 4.9vw, 64px); --Stage:clamp(26px, 4.1vw, 56px); --Stat:clamp(30px, 3.9vw, 52px); --Section-Title:clamp(30px, 4.4vw, 50px); --Subhead:clamp(24px, 3.2vw, 44px); --Card-Title:1.625rem; --Heading-3:1.3125rem; --Heading-4:1.1875rem; --Lead:clamp(16px, 1.5vw, 18.5px); --Copy:0.9688rem; --Small:0.9063rem; --Eyebrow:0.75rem; --Micro:0.6875rem; --3xs:4px; --2xs:8px; --xs:12px; --sm:16px; --md:22px; --lg:28px; --xl:36px; --2xl:60px; --3xl:96px; --4xl:120px; --Radius-Sm:12px; --Radius-Md:18px; --Radius-Lg:28px; --Radius-Pill:999px; --Shell-Width:1180px; --Header-Height:78px; }
/* Start custom CSS *//* Wagner - site-wide layer, shared by the homepage and the four area pages.
   Only what the v4 style schema cannot express: pseudo-elements and
   parent-state rules. Everything else lives in Global Classes / Variables. */

/* the short orange rule before every section eyebrow */
.eyebrow::before{content:"";width:26px;height:2px;background:var(--Orange);border-radius:2px;flex:none}

/* Section 2 - the ghosted numeral is a real overridable element inside the Step
   Card component, so only its hover recolour needs a parent-state rule. */
.step:hover .step-numeral{color:rgba(242,138,26,.14);transform:translateY(-6px)}

/* the icon tile inverts when its card is hovered - a parent-state rule */
.step:hover .icon-tile{background:var(--Orange);color:var(--On-Dark)}

/* Section 3 - size cards become a snap-scroll carousel under 1024px
   (scroll-snap has no style-prop equivalent) */
@media (max-width:1024px){
  #sizes-row{scroll-snap-type:x mandatory;-ms-overflow-style:none;scrollbar-width:none;cursor:grab;overscroll-behavior-x:contain;scroll-padding-inline:20px}
  #sizes-row::-webkit-scrollbar{display:none}
  #sizes-row > *{flex:0 0 min(310px,80vw);scroll-snap-align:center}
}

/* the advice block's emphasised sentence sits at full white */
#advice strong{color:var(--On-Dark)}

/* Section 4 - the note's lead sentence sits at Ink, the source's only inline colour */
#note strong{color:var(--Ink)}

/* Section 5 - the dark CTA card's button. Component instances carry no classes
   or local styles of their own, so its placement is set from the parent. */
#case-cta .btn{align-self:flex-start;margin-block-start:22px}

/* Section 6 - the third spec value is a word, not a measurement, so it drops a step */
#spec-3 .spec-num{font-size:var(--Heading-4)}

/* Section 7 - a centred eyebrow drops its rule, per the design's component note */
.head-center .eyebrow::before{display:none}
/* the area arrow is revealed on row hover */
.area-row .icon-sm{opacity:0;transform:translateX(-4px);transition:.25s}
.area-row:hover .icon-sm{opacity:1;transform:translateX(0)}

/* Section 10 - the FAQ uses Elementor Pro's Accordion (atomic v4 has none) with
   faq_schema on, so the FAQPage JSON-LD is emitted natively. Styling is scoped
   here because a v3 widget cannot take Global Classes. Tokens only. */
#faq .elementor-accordion{max-width:860px;margin-inline:auto;display:grid;gap:12px}
#faq .elementor-accordion .elementor-accordion-item{background:var(--Surface);border:1px solid var(--Line);border-radius:var(--Radius-Md);overflow:hidden;transition:box-shadow .25s,border-color .25s}
#faq .elementor-accordion .elementor-tab-title{padding:22px 26px;font-family:var(--Body);font-size:1.0625rem;font-weight:600;letter-spacing:-.015em;color:var(--Ink);border:0;background:none}
#faq .elementor-accordion .elementor-tab-title.elementor-active{color:var(--Orange-Deep)}
#faq .elementor-accordion .elementor-accordion-item:has(.elementor-active){box-shadow:0 8px 24px rgba(24,24,24,.07);border-color:rgba(242,138,26,.4)}
#faq .elementor-accordion .elementor-tab-content{padding:0 26px 24px;border:0;font-family:var(--Body);font-size:var(--Copy);color:var(--Text);line-height:1.65}
#faq .elementor-accordion .elementor-tab-content p{max-width:70ch;margin:0}


/* Section 11 - WPForms (id 672) themed to the design system. Scoped to the form id,
   which outranks the plugin stylesheet without needing !important. Tokens only. */
#wpforms-672{
  --wpforms-field-border-radius:var(--Radius-Sm);
  --wpforms-field-border-color:var(--Line);
  --wpforms-button-background-color:var(--Orange);
  --wpforms-button-text-color:var(--On-Dark);
  --wpforms-field-size-input-height:54px;
}
#wpforms-672 .wpforms-field-container{display:flex;flex-wrap:wrap;gap:16px}
#wpforms-672 .wpforms-field{width:100%;padding:0;margin:0;float:none}
#wpforms-672 .wpforms-field.wpforms-one-half{width:calc(50% - 8px)}
#wpforms-672 .wpforms-field-label{font-family:var(--Body);font-size:var(--Small);font-weight:600;color:var(--Ink);letter-spacing:-.005em;margin:0 0 7px;display:block}
#wpforms-672 .wpforms-required-label{color:var(--Orange-Deep);border:0}
#wpforms-672 .wpforms-field-description{font-family:var(--Body);font-size:var(--Micro);color:var(--Text);margin-top:6px;line-height:1.5}
/* One shared box for every field. WPForms forces padding-block:0 + line-height:unset
   + min-height on <select>, so vertical padding there overflows and the option text
   clips. Drive all single-line fields off one height instead and centre the text. */
#wpforms-672 input[type=text],#wpforms-672 input[type=tel],#wpforms-672 input[type=email],#wpforms-672 select,#wpforms-672 textarea{width:100%;box-sizing:border-box;border:1.5px solid var(--Line);border-radius:var(--Radius-Sm);background:var(--Surface);font-family:var(--Body);font-size:var(--Copy);color:var(--Ink);transition:border-color .2s,box-shadow .2s}
#wpforms-672 input[type=text],#wpforms-672 input[type=tel],#wpforms-672 input[type=email],#wpforms-672 select{height:54px;min-height:54px;padding-block:0;padding-inline:16px;line-height:normal}
#wpforms-672 select{padding-inline-end:44px}
#wpforms-672 textarea{min-height:118px;height:auto;padding:14px 16px;line-height:1.6;resize:vertical}
#wpforms-672 input:focus,#wpforms-672 select:focus,#wpforms-672 textarea:focus{outline:none;border-color:var(--Orange);box-shadow:0 0 0 4px rgba(242,138,26,.14)}

/* consent row */
#wpforms-672 .wagner-consent ul{list-style:none;margin:0;padding:0}
#wpforms-672 .wagner-consent li{display:flex;gap:13px;align-items:flex-start;margin:0}
#wpforms-672 .wagner-consent input[type=checkbox]{width:20px;height:20px;flex:none;margin:2px 0 0;accent-color:var(--Orange)}
#wpforms-672 .wagner-consent label{font-family:var(--Body);font-size:var(--Small);color:var(--Text);line-height:1.55;font-weight:400}
#wpforms-672 .wagner-consent a{color:var(--Orange-Deep);text-decoration:underline;text-underline-offset:3px}

/* submit - reuses the btn / btn-primary look */
#wpforms-672 .wpforms-submit-container{padding:0;margin-top:8px;text-align:right;width:100%}
#wpforms-672 button.wpforms-submit{display:inline-flex;align-items:center;justify-content:center;gap:11px;padding:16px 26px;border:0;border-radius:var(--Radius-Pill);background:var(--Orange);color:var(--On-Dark);font-family:var(--Body);font-size:var(--Copy);font-weight:600;letter-spacing:-.004em;box-shadow:0 14px 30px rgba(242,138,26,.35);transition:transform .22s cubic-bezier(.2,.8,.3,1),box-shadow .22s,background .22s;cursor:pointer}
#wpforms-672 button.wpforms-submit:hover{background:var(--Orange-Deep);transform:translateY(-2px);box-shadow:0 18px 38px rgba(242,138,26,.42)}

/* validation + confirmation */
#wpforms-672 label.wpforms-error,#wpforms-672 em.wpforms-error{color:var(--Red);font-family:var(--Body);font-size:var(--Micro);margin-top:6px;display:block}
#wpforms-672 input.wpforms-error,#wpforms-672 select.wpforms-error,#wpforms-672 textarea.wpforms-error{border-color:var(--Red)}
#kontakt .wpforms-confirmation-container-full{background:var(--Surface);border:1px solid var(--Line);border-left:4px solid var(--Green);border-radius:var(--Radius-Md);padding:26px 28px;font-family:var(--Body);font-size:var(--Copy);color:var(--Text);line-height:1.65}
#kontakt .wpforms-confirmation-container-full h3{font-family:var(--Display);font-size:var(--Card-Title);font-weight:600;letter-spacing:-.03em;color:var(--Ink);margin:0 0 8px}
#kontakt .wpforms-confirmation-container-full a{color:var(--Orange-Deep);font-weight:600}

@media (max-width:767px){
  #wpforms-672 .wpforms-field.wpforms-one-half{width:100%}
  #wpforms-672 .wpforms-submit-container{text-align:left}
  #wpforms-672 button.wpforms-submit{width:100%}
}

/* Cards may carry an optional second paragraph; empty ones collapse. */
.case-card p:empty{display:none}

/* wagner-depth - the pinned hero must leave room for the content plane that
   lifts over its last frame. The lift itself is the plane-lift Global Class;
   only this paired calc has no style-prop equivalent. */
#hero-stage-3{padding-block-end:calc(clamp(34px, 7vh, 70px) + 13vh)}
@media (max-width:767px){ #hero-stage-3{padding-block-end:calc(36px + 7vh)} }

/* Breadcrumb links inherit the crumb colour rather than the theme link colour. */
.crumb a,.crumb-current a{color:inherit;text-decoration:none}
.crumb a:hover{color:var(--Orange-Deep)}

/* the advice block's closing link, on the dark ground */
#advice a{display:inline-block;margin-block-start:14px;color:var(--On-Dark);text-decoration:underline;text-underline-offset:4px;font-weight:600}

/* A centred head is a COLUMN flexbox, so align-items:center sizes its children to
   fit-content — which shrink-wraps a heading and breaks long German compounds
   mid-word. Give the headings the full column width back; centre the prose box. */
.head h1,.head h2,.head h3,.head-center h1,.head-center h2,.head-center h3{width:100%}
.head-center > p,.head-center > span{margin-inline:auto}

/* #nachbarschaft: the neighbouring towns read as three compact centred cards. */
#nachbarschaft .area-row{flex-direction:column;align-items:center;text-align:center;gap:12px}

/* Header on tablet and below: the burger belongs last, after the call button.
   nav-menu is a v3 widget so it takes no atomic styles - order it here. /* nav-menu-toggle-order */
@media (max-width:1024px){
  #site-header .elementor-widget-nav-menu{order:3;flex:0 0 auto;width:auto}
  #site-header .elementor-menu-toggle{margin-inline-start:0}
}

/* Area pages: the image hero is sticky, so every section after the breadcrumb has to
   be positioned to paint over it. Without this the hero's overlay covers their tops. */
#crumbs ~ *{position:relative;z-index:3}/* End custom CSS */