
:root {
--asset-1: url('https://schmittoil.org/wp-content/uploads/schmittoil/assets/img/hintergrund/asset-1.jpg');
--asset-10: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9IiNENjI0MTAiIHN0cm9rZS13aWR0aD0iMyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNNCAxMi41bDUgNUwyMCA2Ii8+PC9zdmc+Cg==");
--asset-2: url('https://schmittoil.org/wp-content/uploads/schmittoil/assets/img/hintergrund/asset-2.jpg');
--asset-3: url('https://schmittoil.org/wp-content/uploads/schmittoil/assets/img/team/team-sascha-portrait.jpg');
--asset-4: url('https://schmittoil.org/wp-content/uploads/schmittoil/assets/img/hintergrund/asset-4.jpg');
--asset-5: url('https://schmittoil.org/wp-content/uploads/schmittoil/assets/img/hintergrund/asset-5.jpg');
--asset-6: url('https://schmittoil.org/wp-content/uploads/schmittoil/assets/img/hintergrund/asset-6.jpg');
--asset-7: url('https://schmittoil.org/wp-content/uploads/schmittoil/assets/img/hintergrund/asset-7.jpg');
--asset-8: url('https://schmittoil.org/wp-content/uploads/schmittoil/assets/img/hintergrund/asset-8.jpg');
--asset-9: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9IiMxQTFBMUEiIHN0cm9rZS13aWR0aD0iMi40IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik01IDEyaDEzIi8+PHBhdGggZD0iTTEzIDZsNiA2LTYgNiIvPjwvc3ZnPgo=");
}

.wf-seite { display: block; }
.wf-seite.aktiv { display: block; }
body { padding-bottom: 38px; }

:root {

--main: #1A1A1A;
--main-soft: #333333;
--text: #1A1A1A;
--text-soft: #565656;
--bg-cream: #FFF7F0;
--bg-sand: #FBEEDD;
--highlight: #D62410;
--gold-text: #B81E0E;
--highlight-dark: #A8160A;
--hairline-gold: rgba(214,36,16, 0.4);
--hairline: #ECE0CF;
--flame-yellow: #F8A000;

--mainColor: var(--main);
--mainColorLight: var(--main-soft);
--secondColor: var(--text);
--secondColorLight: var(--text-soft);
--backgroundColor: var(--bg-cream);
--greyVeryLight: var(--bg-sand);
--whHighlight: var(--highlight);
--whHairlineGold: var(--hairline-gold);
--contrastColorInverted: #fff;
--fontColor: var(--text);
--formBorderColor: var(--hairline-gold);
--grey: #999;
--greyLight: #BDBDBD;
--fallback: sans-serif;
--stickyHeaderHeight: 125px;

--mainFont: 'Montserrat', 'Montserrat Fallback', sans-serif;
--headline: 'Mosafin', 'Mosafin Fallback', 'Playfair Display', serif;
--baseFontSize: 16px;
--miniFontSize: 14px;
--baseLineheight: 1.65;

--borderRadius: 10px;
--baseWidth: 95%;
--maxWidthBig: 1400px;
--pageLimit: 1600px;

--baseTransition: all 0.25s ease;

--primaryGradient: linear-gradient(180deg, #333333 0%, #1A1A1A 100%);
--secondaryGradient: linear-gradient(180deg, #565656 0%, #1A1A1A 100%);
--flameGradient: linear-gradient(135deg, #F0501E 0%, #C01810 55%, #8E0A06 100%);
}

* {
box-sizing: border-box;
margin: 0;
padding: 0;
}

html {
scroll-behavior: smooth;
}

body {
font-family: var(--mainFont);
background: var(--bg-cream);
color: var(--text);
line-height: var(--baseLineheight);
-webkit-font-smoothing: antialiased;
text-rendering: optimizeLegibility;
}

img {
max-width: 100%;
display: block;
height: auto;
}

a {
color: var(--main);
text-decoration: none;
transition: var(--baseTransition);
}

a:hover {
color: var(--highlight);
}

h1, h2, h3, h4 {
font-family: var(--headline);
color: var(--text);
line-height: 1.2;
font-weight: 700;
}

@font-face {
font-family: 'Montserrat';
src: url('https://schmittoil.org/wp-content/uploads/schmittoil/assets/fonts/Montserrat-VariableFont.woff2') format('woff2'),
url('https://schmittoil.org/wp-content/uploads/schmittoil/assets/fonts/Montserrat-VariableFont.ttf') format('truetype') format('truetype-variations');
font-weight: 100 900;
font-style: normal;
font-display: swap;
}

@font-face {
font-family: 'Mosafin';
src: url('https://schmittoil.org/wp-content/uploads/schmittoil/assets/fonts/Mosafin-Medium.woff2') format('woff2'),
url('https://schmittoil.org/wp-content/uploads/schmittoil/assets/fonts/Mosafin-Medium.otf') format('opentype') format('opentype');
font-weight: 500;
font-display: swap;
}

@font-face {
font-family: 'Mosafin';
src: url('https://schmittoil.org/wp-content/uploads/schmittoil/assets/fonts/Mosafin-Bold.woff2') format('woff2'),
url('https://schmittoil.org/wp-content/uploads/schmittoil/assets/fonts/Mosafin-Bold.otf') format('opentype') format('opentype');
font-weight: 700;
font-display: swap;
}

@font-face{
font-family:'Mosafin Fallback';
src:local('Verdana'), local('DejaVu Sans'), local('Bitstream Vera Sans');
size-adjust:76%;
font-display: swap;
}
@font-face{
font-family:'Montserrat Fallback';
src:local('Arial'), local('Helvetica'), local('Liberation Sans');
size-adjust:91%;
font-display: swap;
}

.section {
padding: 80px 0;
background: var(--bg-cream);
}

.section--cream {
background: var(--bg-cream);
}

.section .container {
max-width: 1200px;
margin: 0 auto;
padding: 0 32px;
}

.section__header {
max-width: 760px;
margin: 0 auto 56px;
text-align: center;
}

.section__header h2 {
font-size: clamp(1.8rem, 1.2rem + 2vw, 2.6rem);
color: var(--main);
margin-bottom: 16px;
}

.section__header p {
color: var(--text-soft);
font-size: 1.05rem;
line-height: 1.6;
}

.section__label {
display: inline-block;
color: var(--highlight);
font-size: 12px;
font-weight: 700;
letter-spacing: 0.28em;
text-transform: uppercase;
padding-bottom: 8px;
border-bottom: 1px solid var(--highlight);
margin-bottom: 24px;
}

.btn:hover {
background: var(--text);
color: #fff;
transform: translateY(-1px);
}

.btn--lg {
padding: 16px 36px;
font-size: 1rem;
}

@font-face { font-family: 'Mosafin'; src: url('https://schmittoil.org/wp-content/uploads/schmittoil/assets/fonts/Mosafin-Medium.woff2') format('woff2'),
url('https://schmittoil.org/wp-content/uploads/schmittoil/assets/fonts/Mosafin-Medium.otf') format('opentype') format('opentype'); font-weight: 500; font-display: swap; }
@font-face { font-family: 'Mosafin'; src: url('https://schmittoil.org/wp-content/uploads/schmittoil/assets/fonts/Mosafin-Bold.woff2') format('woff2'),
url('https://schmittoil.org/wp-content/uploads/schmittoil/assets/fonts/Mosafin-Bold.otf') format('opentype') format('opentype'); font-weight: 600; font-display: swap; }
@font-face { font-family: 'Mosafin'; src: url('https://schmittoil.org/wp-content/uploads/schmittoil/assets/fonts/Mosafin-Bold.woff2') format('woff2'),
url('https://schmittoil.org/wp-content/uploads/schmittoil/assets/fonts/Mosafin-Bold.otf') format('opentype') format('opentype'); font-weight: 700; font-display: swap; }
@font-face { font-family: 'Mosafin'; src: url('https://schmittoil.org/wp-content/uploads/schmittoil/assets/fonts/Mosafin-Bold.woff2') format('woff2'),
url('https://schmittoil.org/wp-content/uploads/schmittoil/assets/fonts/Mosafin-Bold.otf') format('opentype') format('opentype'); font-weight: 800; font-display: swap; }
@font-face { font-family: 'Mosafin'; src: url('https://schmittoil.org/wp-content/uploads/schmittoil/assets/fonts/Mosafin-Bold.woff2') format('woff2'),
url('https://schmittoil.org/wp-content/uploads/schmittoil/assets/fonts/Mosafin-Bold.otf') format('opentype') format('opentype'); font-weight: 900; font-display: swap; }

html { scroll-behavior: smooth; scroll-padding-top: 140px; }
body {
background: var(--contrastColorInverted);
font-family: var(--mainFont);
color: var(--fontColor);
line-height: 1.6875;
font-size: var(--baseFontSize);
-webkit-font-smoothing: antialiased;

overflow-x: clip;
}
img { max-width: 100%; display: block; height: auto; }
a { color: var(--mainColor); text-decoration: none; }

h1, h2, h3, h4 { font-family: var(--headline); color: var(--secondColor); line-height: 120%; font-weight: 700; }
h1 { font-size: clamp(2rem, 1.4545rem + 2.727vw, 3.5rem); line-height: 125%; }
h2 { font-size: clamp(1.625rem, 1.0795rem + 2.727vw, 3.125rem); }
h3 { font-size: clamp(1.5rem, 1.0454rem + 2.272vw, 2.75rem); }
h4 { font-size: clamp(1.375rem, 1.0113rem + 1.818vw, 2.375rem); }

#site {
max-width: var(--pageLimit);
width: 100%;
margin: 0 auto;
background: var(--contrastColorInverted);
}

.btn {
display: inline-block;
position: relative;
border: 1px solid var(--mainColor);
cursor: pointer;
padding: 12px 40px;
padding-left: 64px;
color: var(--contrastColorInverted);
background: var(--primaryGradient);
transition: var(--baseTransition);
line-height: 120%;
box-shadow: 0 -4px 14px 0 rgba(0,0,0,0.25) inset;
border-radius: 50px;
font-family: var(--headline);
font-size: 17px;
font-weight: 500;
text-decoration: none;
}
.btn::before {
content: '';
display: inline-block;
position: absolute;
background-color: var(--contrastColorInverted);
-webkit-mask: var(--asset-9) no-repeat right center/100% auto;
mask: var(--asset-9) no-repeat right center/100% auto;
height: 14px;
width: 14px;
left: 40px;
top: 50%;
transform: translateY(-50%);
z-index: 1;
transition: var(--baseTransition);
}
.btn:hover {
padding-left: 40px;
padding-right: 64px;
box-shadow:
0 0 2px 0 rgba(0,0,0,0.25) inset,
2px -2px 12px 0 rgba(0,0,0,0.15) inset,
-2px 2px 12px 0 rgba(0,0,0,0.15) inset;
}
.btn:hover::before {
left: calc(100% - 54px);
}

.btn-outline {
background: transparent;
border: 1px solid var(--mainColor);
color: var(--mainColor);
box-shadow: none;
}
.btn-outline::before { background-color: var(--mainColor); }
.btn-outline:hover {
background: var(--mainColor);
color: var(--contrastColorInverted);
}
.btn-outline:hover::before { background-color: var(--contrastColorInverted); }

.btn-outline-white {
background: transparent;
border: 1px solid var(--contrastColorInverted);
color: var(--contrastColorInverted);
box-shadow: none;
}
.btn-outline-white:hover {
background: var(--secondColor);
color: var(--contrastColorInverted);
}

header.head {
position: sticky;
top: 0;
width: 100%;
max-width: var(--pageLimit);
z-index: 99;
padding: 70px 0 0;
transition: var(--baseTransition);
}

header.head .inner {
width: var(--baseWidth);
max-width: var(--maxWidthBig);
margin: 0 auto;
display: flex;
justify-content: space-between;
align-items: flex-end;
gap: 40px;
}

header.head #logo {
transition: var(--baseTransition);
width: 232px;
height: 117px;
margin: 0;
position: relative;
}
header.head #logo a { display: block; width: 100%; height: 100%; position: relative; }
header.head #logo img {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
object-fit: contain;
object-position: left center;
transition: opacity .2s ease-in-out;
}

header.head #logo .logo-hell   { opacity: 1; }
header.head #logo .logo-dunkel { opacity: 0; }

header.head.is-sticky #logo .logo-hell   { opacity: 0; }
header.head.is-sticky #logo .logo-dunkel { opacity: 1; }

#site-navigation { margin-bottom: 30px; }
#primary-menu {
display: flex;
align-items: center;
background-color: var(--contrastColorInverted);
border-radius: var(--borderRadius);
list-style: none;
padding: 0;
}
#primary-menu > li { position: relative; }
#primary-menu > li > a {
color: var(--secondColor);
font-size: var(--baseFontSize);
font-family: var(--headline);
font-weight: 500;
padding: 10px 20px;
display: block;
text-decoration: none;
transition: var(--baseTransition);
}
#primary-menu > li:first-of-type > a { border-radius: var(--borderRadius) 0 0 var(--borderRadius); }
#primary-menu > li:last-of-type > a { border-radius: 0 var(--borderRadius) var(--borderRadius) 0; }
#primary-menu > li:hover > a,
#primary-menu > li.current_page_item > a {
color: var(--contrastColorInverted);
background: var(--mainColor);
}
#primary-menu > li.has-children > a::after {
content: '';
display: inline-block;
margin-left: 6px;
background: var(--asset-9) no-repeat center / contain;
width: 10px; height: 10px;
transform: rotate(90deg);
filter: invert(1);
}

.button-header-wrapper {
position: relative;
margin-bottom: 30px;
}
.text-button-header-wrapper {
position: absolute;
top: -67px;
left: -102px;
pointer-events: none;
}
.text-button-header {
font-size: 14px;
font-weight: 700;
color: var(--contrastColorInverted);
transform: rotate(-8deg);
white-space: nowrap;
position: absolute;
left: -75px;
top: -5px;
}

@media (max-width: 1290px) {
.text-button-header-wrapper { display: none; }
header.head { padding-top: 30px; }
}

header.head.is-sticky { padding-top: 30px; }
header.head.is-sticky > .inner {
box-shadow: 0 0 24px 0 rgba(0,0,0,.25);
border-radius: var(--borderRadius);
background: var(--contrastColorInverted);
padding-right: 20px;
align-items: center;
}
header.head.is-sticky #logo {
width: 140px;
height: 48px;
margin: 12px 20px;
}
header.head.is-sticky .button-header-wrapper { margin-bottom: 0; }
header.head.is-sticky .text-button-header-wrapper { display: none; }
header.head.is-sticky #site-navigation { margin-bottom: 0; }
header.head.is-sticky #primary-menu {
background: transparent;
border-radius: 0;
}
header.head.is-sticky #primary-menu > li > a {
padding: 27px 20px;
border-radius: 0;
}

#primary-menu .submenu {
position: absolute; top: 100%; left: 50%;
transform: translateX(-50%) translateY(8px);
background: #fff; min-width: 220px;
border: 1px solid rgba(214,36,16,0.4);
border-radius: 10px;
box-shadow: 0 12px 32px rgba(26,36,51,0.15);
list-style: none; padding: 10px 0; margin: 0;
opacity: 0; visibility: hidden; pointer-events: none;
transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
z-index: 10;
}
#primary-menu .has-children:hover .submenu,
#primary-menu .has-children:focus-within .submenu {
opacity: 1; visibility: visible; pointer-events: auto;
transform: translateX(-50%) translateY(0);
}
#primary-menu .submenu li { display: block; }
#primary-menu .submenu li a {
display: block !important; padding: 10px 24px !important;
color: var(--secondColor) !important;
text-decoration: none; font-size: 14px; font-weight: 500;
border: none !important; border-radius: 0 !important;
text-align: left; transition: all 0.2s;
white-space: nowrap;
}
#primary-menu .submenu li a:hover {
background: var(--greyVeryLight); color: var(--mainColor) !important;
}
#primary-menu .has-children > a::after {

content: '';
display: inline-block;
width: 10px;
height: 10px;
margin-left: 6px;
background-color: currentColor;
-webkit-mask: var(--asset-9) no-repeat center/contain;
mask: var(--asset-9) no-repeat center/contain;
transform: rotate(90deg);
opacity: .7;
}

.hero {
position: relative;
min-height: 100vh;
margin-top: -135px;
padding-top: 227px;
background:
linear-gradient(180deg, rgba(26, 36, 51,.55) 0%, rgba(26, 36, 51,.30) 40%, rgba(26, 36, 51,.75) 100%),
url('../heroes/werthandel-hero.svg') center/cover;
color: var(--contrastColorInverted);
padding-bottom: 80px;
}

.hero__inner {
max-width: var(--maxWidthBig, 1504px);
width: var(--baseWidth);
margin: 0 auto;
display: flex;
justify-content: space-between;
align-items: center;
gap: 40px;
text-align: left;
flex-wrap: nowrap;
}
.hero__copy { flex: 0 1 640px; max-width: 640px; min-width: 0; }
.hero-form {
flex: 0 0 360px;
max-width: 360px;
width: 100%;
margin-left: auto;
}

.hero__copy .lead { font-size: 1rem; }

.hero__copy { padding-right: 24px; }
.hero__copy h1 { text-align: left; }
.hero__copy .lead { text-align: left; max-width: 580px; }

.hero-form {
background: rgba(255, 255, 255, 0.97);
border: 1px solid rgba(214,36,16, 0.4);
border-radius: 14px;
box-shadow: 0 32px 72px rgba(0, 0, 0, 0.35);
padding: 36px 32px;
color: var(--text);
position: relative;
backdrop-filter: blur(20px);
-webkit-backdrop-filter: blur(20px);
}
.hero-form__field {
position: relative;
margin-bottom: 12px;
}
.hero-form__field label {
display: block;
font-size: 0.78rem;
font-weight: 600;
color: var(--secondColor);
margin-bottom: 4px;
letter-spacing: 0.02em;
}
.hero-form__field input,
.hero-form__field select {
width: 100%;
border: 1.5px solid var(--formBorderColor, rgba(214,36,16,0.4));
border-radius: 8px;
padding: 11px 14px;
font-family: var(--mainFont);
font-size: 0.93rem;
color: var(--fontColor);
background: #fff;
transition: all 0.2s;
}
.hero-form__field input:focus,
.hero-form__field select:focus {
outline: none;
border-color: var(--mainColor);
box-shadow: 0 0 0 3px rgba(30, 58, 95, 0.1);
}
.hero-form__hint {
font-size: 0.78rem;
color: var(--text-soft, #565656);
text-align: center;
margin-top: 12px;
letter-spacing: 0.02em;
}
.hero-form__hint strong { color: var(--mainColor); }

@media (max-width: 980px) {
.hero__inner { flex-direction: column !important; gap: 40px; text-align: center; }
.hero__copy { flex: 1 1 auto !important; max-width: 100% !important; }
.hero-form { flex: 0 0 auto !important; }
.hero__copy { padding-right: 0; }
.hero__copy h1, .hero__copy .lead { text-align: center; }
.hero__copy .lead { margin-left: auto; margin-right: auto; }
.hero-form { max-width: 480px; margin: 0 auto; }
}

.hero__eyebrow {
display: inline-block;
font-family: var(--mainFont);
font-size: 14px;
font-weight: 700;
letter-spacing: .18em;
text-transform: uppercase;
color: var(--gold-text, #B81E0E);
background: rgba(214,36,16, 0.12);
border: 1px solid rgba(214,36,16, 0.45);
padding: 6px 20px;
border-radius: 100px;
margin-bottom: 24px;
}

.hero h1 {
color: var(--contrastColorInverted);
margin-bottom: 20px;
}
.hero h1 em {
color: var(--gold-text, #B81E0E);
font-style: normal;
position: relative;
display: inline-block;
}
.hero h1 em::after {
content: '';
position: absolute;
left: 0; right: 0;
bottom: -6px;
height: 2px;
background: var(--whHighlight, #D62410);
opacity: 0.85;
pointer-events: none;
}

.hero p.lead {
color: rgba(255,255,255,.8);
font-size: 18px;
line-height: 1.7;
margin-bottom: 32px;
max-width: 560px;
margin-left: auto;
margin-right: auto;
}

.section {
padding: 100px 0;
}
.section .container {
max-width: var(--maxWidthBig);
width: var(--baseWidth);
margin: 0 auto;
}
.section--cream { background: var(--greyVeryLight); }

.section-header { text-align: center; max-width: 680px; margin: 0 auto 56px; }
.section-label {
font-family: var(--mainFont);
font-size: 14px;
font-weight: 700;
letter-spacing: .2em;
text-transform: uppercase;
color: var(--mainColor);
margin-bottom: 12px;
}
.section p.lead {
color: #666;
font-size: 17px;
line-height: 1.7;
}

@media (max-width: 900px) {
footer.foot .row.row-1 { flex-direction: column; }
footer.foot .row.row-1 .col-1,
footer.foot .row.row-1 .col-2 { max-width: 100%; width: 100%; }
}

.steps {
position: relative;
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 0;
max-width: 1200px;
margin: 0 auto;
}
.steps__line {
position: absolute;
top: 56px;
left: 12%;
right: 12%;
height: 2px;
background: repeating-linear-gradient(90deg, var(--secondColor) 0 10px, transparent 10px 18px);
z-index: 0;
opacity: .35;
}
.step {
position: relative;
text-align: center;
z-index: 1;
padding: 0 14px;
}
.step__icon {
width: 112px;
height: 112px;
margin: 0 auto 24px;
background: var(--primaryGradient);
border: 1px solid var(--mainColor);
border-radius: 20px;
box-shadow: 0 -4px 14px 0 rgba(0,0,0,.2) inset, 0 8px 24px rgba(30, 58, 95,.25);
display: flex;
align-items: center;
justify-content: center;
position: relative;
transition: var(--baseTransition);
}
.step:hover .step__icon { transform: translateY(-4px); }
.step__icon svg { width: 52px; height: 52px; }
.step__icon svg path { fill: var(--secondColor); stroke: var(--secondColor); stroke-width: 0; stroke-linejoin: round; }
.step__icon svg [data-stroke] {
fill: none;
stroke: var(--secondColor);
stroke-width: 4;
stroke-linecap: round;
stroke-linejoin: round;
}
.step__num {
position: absolute;
top: -14px;
left: 50%;
transform: translateX(-50%);
width: 36px;
height: 36px;
background: var(--secondColor);
color: var(--contrastColorInverted);
border-radius: 50%;
font-family: var(--headline);
font-weight: 700;
font-size: 16px;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 4px 14px rgba(0,0,0,.25);
}
.step h3 {
font-size: 1.35rem;
font-weight: 700;
margin-bottom: 10px;
color: var(--secondColor);
}
.step p {
font-size: 15px;
color: #555;
line-height: 1.6;
max-width: 230px;
margin: 0 auto;
}

@media (max-width: 900px) {
.steps {
grid-template-columns: 1fr;
gap: 48px;
}
.steps__line { display: none; }
.step::after {
content: '';
position: absolute;
left: 50%;
top: 100%;
bottom: auto;
width: 2px;
height: 35px;
background: repeating-linear-gradient(180deg, var(--secondColor) 0 5px, transparent 5px 10px);
opacity: .35;
transform: translateX(-50%);
}
.step:last-child::after { display: none; }
}

.mid-cta {
text-align: center;
margin-top: 64px;
}

.usps {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 32px;
max-width: 1200px;
margin: 0 auto;
}
.usp-card {
position: relative;
background: var(--secondColor);
color: #fff;
border-radius: var(--borderRadius);
padding: 48px 36px 40px;
overflow: hidden;
transition: var(--baseTransition);
box-shadow: 0 0 24px 0 rgba(0,0,0,.15);
}
.usp-card::before {
content: '';
position: absolute;
top: 0; left: 0;
width: 100%;
height: 3px;
background: linear-gradient(90deg, transparent 0%, var(--whHighlight, #D62410) 50%, transparent 100%);
}
.usp-card:hover {
transform: translateY(-6px);
box-shadow: 0 12px 32px 0 rgba(0,0,0,.3);
}
.usp-icon {
width: 56px;
height: 56px;
background: rgba(214,36,16, 0.15);
border: 1px solid rgba(214,36,16, 0.4);
border-radius: 12px;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 24px;
}
.usp-icon svg { width: 28px; height: 28px; }
.usp-icon svg [data-stroke] {
fill: none;
stroke: var(--whHighlight, #D62410);
stroke-width: 2;
stroke-linecap: round;
stroke-linejoin: round;
}
.usp-card h3 {
font-size: 1.4rem;
font-weight: 700;
color: #fff;
margin-bottom: 14px;
line-height: 1.25;
}
.usp-card p {
font-size: 15px;
color: rgba(255,255,255,.78);
line-height: 1.7;
margin: 0;
}
.usp-card .usp-highlight {
display: block;
margin-top: 18px;
padding-top: 18px;
border-top: 1px solid rgba(214,36,16, 0.25);
font-size: 14px;
color: var(--gold-text, #B81E0E);
font-weight: 600;
letter-spacing: 0.5px;
}

@media (max-width: 900px) {
.usps { grid-template-columns: 1fr; gap: 20px; }
}

@media (max-width: 1100px) {
.cities .city-card { flex: 0 0 calc((100% - 40px) / 3); }
}
@media (max-width: 800px) {
}

.ce-accordion { width: 100%; max-width: 880px; margin: 0 auto; }
.ce-accordion-inner > div {
display: flex;
flex-direction: column;
gap: 10px;
}
.accordion {
width: 100%;
overflow: hidden;
}
.accordion input {
position: absolute;
opacity: 0;
z-index: -1;
}
.accordion-label {
display: block;
width: 100%;
padding: 20px 60px 20px 30px;
font-weight: 700;
font-family: var(--headline);
font-size: 17px;
cursor: pointer;
position: relative;
box-sizing: border-box;
background: var(--mainColor);
color: var(--contrastColorInverted);
border-radius: var(--borderRadius);
transition: var(--baseTransition);
}
.accordion-label::after {
content: '';
display: block;
width: 14px;
height: 14px;
background-color: #fff;
-webkit-mask: var(--asset-9) no-repeat center / 14px auto;
mask: var(--asset-9) no-repeat center / 14px auto;
position: absolute;
top: 50%;
right: 30px;
transform: translateY(-50%) rotate(90deg);
transition: var(--baseTransition);
}
.accordion-label:hover { background: var(--mainColorLight); }
.accordion-content {
max-height: 0;
padding: 0 30px;
transition: max-height .35s ease-in-out, padding .35s ease-in-out;
overflow: hidden;
background: var(--greyVeryLight);
color: #565656;
border-radius: 0 0 var(--borderRadius) var(--borderRadius);
font-size: 15px;
line-height: 1.7;
}
.accordion-content p { margin-bottom: 12px; }
.accordion-content p:last-of-type { margin-bottom: 0; }
.accordion input:checked + .accordion-label {
border-radius: var(--borderRadius) var(--borderRadius) 0 0;
background: var(--secondColor);
}
.accordion input:checked + .accordion-label::after {
transform: translateY(-50%) rotate(270deg);
}
.accordion input:checked ~ .accordion-content {
max-height: 500px;
padding: 20px 30px;
}

.stats-strip {
background: var(--bg-cream, #FFF7F0);
padding: 72px 0;
position: relative;
}
.stats-strip__inner {
max-width: 1180px;
width: var(--baseWidth);
margin: 0 auto;
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 20px;
position: relative;
}
.stat-item {
text-align: center;
background: #fff;
border: 1px solid var(--whHairlineGold, rgba(214,36,16,0.2));
border-radius: 12px;
padding: 30px 22px;
transition: var(--baseTransition, all 0.25s ease);
position: relative;
overflow: hidden;
}
.stat-item::after {
content: '';
position: absolute;
left: 24px; right: 24px; top: 0;
height: 3px;
background: var(--whHighlight, #D62410);
border-radius: 0 0 3px 3px;
opacity: 0.7;
}
.stat-item:hover {
transform: translateY(-3px);
box-shadow: 0 12px 28px rgba(30,58,95,0.10);
border-color: rgba(214,36,16,0.4);
}
.stat-item__value {
font-family: var(--headline);
font-weight: 700;
font-size: clamp(1.8rem, 1.2rem + 1.8vw, 2.6rem);
line-height: 1;
color: var(--secondColor, #1A1A1A);
margin-bottom: 10px;
letter-spacing: -0.5px;
}
.stat-item__suffix {
color: var(--gold-text, #B81E0E);
font-size: 0.55em;
margin-left: 4px;
font-weight: 700;
}
.stat-item__label {
font-family: var(--mainFont);
font-size: 0.72rem;
font-weight: 700;
color: var(--gold-text, #B81E0E);
text-transform: uppercase;
letter-spacing: 0.14em;
line-height: 1.4;
}
@media (max-width: 800px) {
.stats-strip { padding: 56px 0; }
.stats-strip__inner { grid-template-columns: repeat(2, 1fr); gap: 14px; }
.stat-item { padding: 24px 16px; }
}
@media (max-width: 480px) {
.stats-strip__inner { grid-template-columns: 1fr 1fr; gap: 12px; }
.stat-item { padding: 20px 12px; }
.stat-item__label { font-size: 0.65rem; }
}
@keyframes lfFade { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: translateY(0); } }
@keyframes lfFadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes lfPop { from { transform: scale(0.9); opacity: 0; } to { transform: scale(1); opacity: 1; } }

.contact-widget {
position: fixed;
right: 20px;
top: 50%;
transform: translateY(-50%);
z-index: 90;
background: #fff;
border-radius: 50px;
box-shadow: 0 8px 30px rgba(0,0,0,.18);
padding: 10px 10px 14px;
display: flex;
flex-direction: column;
align-items: center;
gap: 12px;
transition: var(--baseTransition);
}
.contact-widget:hover {
box-shadow: 0 12px 40px rgba(0,0,0,.25);
}
.contact-widget__avatar {
width: 60px;
height: 60px;
border-radius: 50%;
background-size: cover;
background-position: center top;
overflow: hidden;
position: relative;
flex-shrink: 0;
border: 2px solid #fff;
}
.contact-widget__avatar::after {
content: '';
position: absolute;
right: 2px; bottom: 2px;
width: 14px; height: 14px;
background: #2E8B57;
border: 2px solid #fff;
border-radius: 50%;
}
.contact-widget__icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 42px;
height: 42px;
border-radius: 50%;
background: var(--bg-cream, #FFF7F0);
border: 1px solid var(--whHairlineGold, rgba(214,36,16,0.4));
color: var(--main, #1A1A1A);
transition: var(--baseTransition, all 0.25s ease);
text-decoration: none;
}
.contact-widget__icon:hover {
background: var(--main, #1A1A1A);
border-color: var(--main, #1A1A1A);
color: var(--highlight, #D62410);
}

.contact-widget__icon svg { fill: currentColor;
width: 22px;
height: 22px;
fill: var(--mainColor);
transition: var(--baseTransition);
}

.contact-widget__card {
position: absolute;
right: calc(100% + 14px);
top: 50%;
transform: translateY(-50%) translateX(8px);
background: #fff;
border-radius: 10px;
box-shadow: 0 8px 40px rgba(0,0,0,.2);
padding: 24px 26px;
width: 300px;
opacity: 0;
pointer-events: none;
transition: var(--baseTransition);
}
.contact-widget:hover .contact-widget__card {
opacity: 1;
transform: translateY(-50%) translateX(0);
pointer-events: auto;
}
.contact-widget__card::after {
content: '';
position: absolute;
left: 100%; top: var(--pfeil-oben, 50%);
transition: top .18s ease;
transform: translateY(-50%);
width: 0; height: 0;
border-top: 8px solid transparent;
border-bottom: 8px solid transparent;
border-left: 8px solid #fff;
}
.contact-widget__card .greeting {
font-family: var(--headline);
font-size: 1.1rem;
font-weight: 700;
color: var(--secondColor);
margin-bottom: 4px;
}
.contact-widget__card .name {
font-size: 13px;
color: var(--mainColor);
font-weight: 600;
margin-bottom: 14px;
text-transform: uppercase;
letter-spacing: .05em;
}
.contact-widget__card p {
font-size: 13px;
color: #555;
line-height: 1.6;
margin-bottom: 16px;
}
.contact-widget__card .cw-links {
display: flex;
flex-direction: column;
gap: 8px;
}
.contact-widget__card .cw-links a {
font-size: 13px;
color: var(--secondColor);
text-decoration: none;
display: flex;
align-items: center;
gap: 8px;
padding: 6px 0;
border-bottom: 1px solid #eee;
transition: var(--baseTransition);
}
.contact-widget__card .cw-links a:last-child { border-bottom: none; }
.contact-widget__card .cw-links a:hover { color: var(--mainColor); padding-left: 4px; }
.contact-widget__card .cw-links a::before {

content: '';
flex: none;
width: .72em;
height: .72em;
background-color: currentColor;
-webkit-mask: var(--asset-9) no-repeat center/contain;
mask: var(--asset-9) no-repeat center/contain;
}

@media (max-width: 900px) {
.contact-widget {
right: 12px;
padding: 6px 6px 10px;
gap: 8px;
}
.contact-widget__avatar { width: 44px; height: 44px; }
.contact-widget__avatar::after { width: 10px; height: 10px; right: 1px; bottom: 1px; }
.contact-widget__icon { width: 34px; height: 34px; }
.contact-widget__icon svg { fill: currentColor; width: 17px; height: 17px; }
.contact-widget__card { display: none; }
}

#hamburger {
position: relative;
display: none;
height: 33px;
width: 40px;
cursor: pointer;
background: transparent;
border: none;
transition: var(--baseTransition);
z-index: 101;
margin-bottom: 30px;
}
#hamburger .hamburger-line {
position: absolute;
left: 50%;
top: 50%;
transform: translateX(-50%) translateY(-50%);
display: block;
width: 40px;
height: 3px;
background: var(--mainColor);
transition: var(--baseTransition);
border-radius: 2px;
}
#hamburger .hamburger-line:first-child { transform: translateX(-50%) translateY(-10px); }
#hamburger .hamburger-line:last-child { transform: translateX(-50%) translateY(7px); }
#hamburger.is-active .hamburger-line {
background: #fff;
}
#hamburger.is-active .hamburger-line:first-child { transform: translateX(-50%) translateY(0) rotate(-45deg); }
#hamburger.is-active .hamburger-line:nth-child(2) { opacity: 0; }
#hamburger.is-active .hamburger-line:last-child { transform: translateX(-50%) translateY(0) rotate(45deg); }

@media (max-width: 1120px) {
#hamburger { display: block; }

#site-navigation { display: none !important; }
.button-header-wrapper { display: none !important; }

header.head { padding-top: 20px; }
header.head .inner { align-items: center; }
header.head #logo { width: 160px; height: 80px; }
}

.mobile-nav {
position: fixed;
inset: 0;
background: linear-gradient(160deg, #565656 0%, #1A1A1A 100%);
z-index: 100;
display: flex;
flex-direction: column;
padding: 90px 28px 30px;
opacity: 0;
pointer-events: none;
transform: translateY(-20px);
transition: opacity .35s ease, transform .4s ease;
overflow-y: auto;
}
.mobile-nav.is-open {
opacity: 1;
pointer-events: auto;
transform: translateY(0);
}
.mobile-nav__logo {
position: absolute;
top: 24px;
left: 28px;

width: auto;
}
.mobile-nav__menu {
list-style: none;
padding: 0;
margin: 30px 0 40px;
flex: 1;
}
.mobile-nav__menu li {
border-bottom: 1px solid rgba(255,255,255,.08);
}
.mobile-nav__menu a {
display: flex;
justify-content: space-between;
align-items: center;
padding: 18px 4px;
color: #fff;
text-decoration: none;
font-family: var(--headline);
font-size: 1.4rem;
font-weight: 500;
transition: var(--baseTransition);
}
.mobile-nav__menu a::after {
content: '';
width: 14px;
height: 14px;
background-color: var(--mainColor);
-webkit-mask: var(--asset-9) no-repeat center/contain;
mask: var(--asset-9) no-repeat center/contain;
transition: var(--baseTransition);
}
.mobile-nav__menu a:hover,
.mobile-nav__menu a:active {
color: var(--mainColor);
padding-left: 10px;
}
.mobile-nav__menu a:hover::after { transform: translateX(6px); }

.mobile-nav__cta {
display: block;
text-align: center;
background: var(--primaryGradient);
color: var(--secondColor);
padding: 18px 24px;
border-radius: 50px;
font-family: var(--headline);
font-size: 1.1rem;
font-weight: 700;
text-decoration: none;
box-shadow: 0 -4px 14px 0 rgba(0,0,0,.25) inset;
margin-bottom: 28px;
}

.mobile-nav__contact {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 12px;
padding-top: 22px;
border-top: 1px solid rgba(255,255,255,.12);
}
.mobile-nav__contact a {
display: flex;
flex-direction: column;
align-items: center;
gap: 8px;
padding: 16px 8px;
background: rgba(255,255,255,.06);
border: 1px solid rgba(255,255,255,.12);
border-radius: 10px;
color: #fff;
text-decoration: none;
font-size: 13px;
font-weight: 600;
transition: var(--baseTransition);
}
.mobile-nav__contact a:hover,
.mobile-nav__contact a:active {
background: var(--mainColor);
border-color: var(--mainColor);
color: var(--secondColor);
}
.mobile-nav__contact a svg {
width: 26px;
height: 26px;
fill: var(--mainColor);
transition: var(--baseTransition);
}
.mobile-nav__contact a:hover svg { fill: var(--secondColor); }

.mobile-nav__footer {
margin-top: 24px;
text-align: center;
font-size: 12px;
color: rgba(255,255,255,.55);
line-height: 1.6;
}
.mobile-nav__footer a {
color: rgba(255,255,255,.75);
text-decoration: none;
margin: 0 6px;
}

body.mobile-nav-open { overflow: hidden; }

.slider {
position: relative;
max-width: 1200px;
margin: 0 auto;
}
@keyframes wa-pulse {
0% { transform: scale(1); opacity: .5; }
100% { transform: scale(1.6); opacity: 0; }
}

@media (max-width: 900px) {

}

.placeholder {
padding: 80px 40px;
background: #fafafa;
border: 2px dashed #ddd;
border-radius: 10px;
text-align: center;
color: #999;
font-family: var(--mainFont);
font-size: 14px;
}
.placeholder strong { color: #666; display: block; font-size: 16px; margin-bottom: 8px; }

body[data-page-type="einfamilienhaus"] .hero {
background:
linear-gradient(180deg, rgba(26,36,51,.82) 0%, rgba(26,36,51,.70) 45%, rgba(26,36,51,.88) 100%),
url('../beispiele/einfamilienhaus/efh-03.jpg') center/cover;
}
body[data-page-type="wohnung"] .hero {
background:
linear-gradient(180deg, rgba(26,36,51,.82) 0%, rgba(26,36,51,.70) 45%, rgba(26,36,51,.88) 100%),
url('../beispiele/wohnung/wohnung-05.jpg') center/cover;
}
body[data-page-type="mehrfamilienhaus"] .hero {
background:
linear-gradient(180deg, rgba(26,36,51,.82) 0%, rgba(26,36,51,.70) 45%, rgba(26,36,51,.88) 100%),
url('../beispiele/mehrfamilienhaus/mfh-10.jpg') center/cover;
}
body[data-page-type="reihenhaus"] .hero {
background:
linear-gradient(180deg, rgba(26,36,51,.82) 0%, rgba(26,36,51,.70) 45%, rgba(26,36,51,.88) 100%),
url('../beispiele/einfamilienhaus/efh-06.jpg') center/cover;
}

body[data-page-type="situation"] .hero {
background:
linear-gradient(180deg, rgba(26,36,51,.82) 0%, rgba(26,36,51,.70) 45%, rgba(26,36,51,.88) 100%),
url('../beispiele/einfamilienhaus/efh-04.jpg') center/cover;
}
body[data-page-type="geerbt"] .hero {
background:
linear-gradient(180deg, rgba(26,36,51,.78) 0%, rgba(26,36,51,.65) 45%, rgba(26,36,51,.85) 100%),
url('../beispiele/einfamilienhaus/efh-05.jpg') center/cover;
}
body[data-page-type="city"] .hero {
background:
linear-gradient(180deg, rgba(26,36,51,.82) 0%, rgba(26,36,51,.68) 45%, rgba(26,36,51,.88) 100%),
url('../heroes/landkreis-lichtenfels.webp') center/cover;
}
body[data-page-type="city"][data-city="bamberg"] .hero {
background:
linear-gradient(180deg, rgba(26,36,51,.82) 0%, rgba(26,36,51,.68) 45%, rgba(26,36,51,.88) 100%),
url('../heroes/bamberg.webp') center/cover;
}
body[data-page-type="city"][data-city="bayreuth"] .hero {
background:
linear-gradient(180deg, rgba(26,36,51,.82) 0%, rgba(26,36,51,.68) 45%, rgba(26,36,51,.88) 100%),
url('../heroes/bayreuth.webp') center/cover;
}
body[data-page-type="city"][data-city="nuernberg"] .hero {
background:
linear-gradient(180deg, rgba(26,36,51,.82) 0%, rgba(26,36,51,.68) 45%, rgba(26,36,51,.88) 100%),
url('../heroes/nuernberg.webp') center/cover;
}
body[data-page-type="city"][data-city="erlangen"] .hero {
background:
linear-gradient(180deg, rgba(26,36,51,.82) 0%, rgba(26,36,51,.68) 45%, rgba(26,36,51,.88) 100%),
url('../heroes/erlangen.webp') center/cover;
}
body[data-page-type="city"][data-city="kulmbach"] .hero {
background:
linear-gradient(180deg, rgba(26,36,51,.82) 0%, rgba(26,36,51,.68) 45%, rgba(26,36,51,.88) 100%),
url('../heroes/kulmbach.webp') center/cover;
}
body[data-page-type="city"][data-city="lichtenfels"] .hero {
background:
linear-gradient(180deg, rgba(26,36,51,.82) 0%, rgba(26,36,51,.68) 45%, rgba(26,36,51,.88) 100%),
url('../heroes/landkreis-lichtenfels.webp') center/cover;
}
body[data-page-type="city"][data-city="forchheim"] .hero {
background:
linear-gradient(180deg, rgba(26,36,51,.82) 0%, rgba(26,36,51,.68) 45%, rgba(26,36,51,.88) 100%),
url('../heroes/forchheim.webp') center/cover;
}
body[data-page-type="city"][data-city="badstaffelstein"] .hero {
background:
linear-gradient(180deg, rgba(26,36,51,.82) 0%, rgba(26,36,51,.68) 45%, rgba(26,36,51,.88) 100%),
url('../heroes/bad-staffelstein.webp') center/cover;
}

body[data-page-type="city"][data-city="coburg"] .hero {
background:
linear-gradient(180deg, rgba(26,36,51,.82) 0%, rgba(26,36,51,.68) 45%, rgba(26,36,51,.88) 100%),
url('../heroes/coburg.webp') center/cover;
}
body[data-page-type="schaden"] .hero {
background:
linear-gradient(180deg, rgba(26,36,51,.82) 0%, rgba(26,36,51,.70) 45%, rgba(26,36,51,.88) 100%),
url('../beispiele/brandschaeden/brand-03.jpg') center/cover;
}
body[data-page-type="brand"] .hero {
background:
linear-gradient(180deg, rgba(26,36,51,.82) 0%, rgba(26,36,51,.70) 45%, rgba(26,36,51,.88) 100%),
url('../beispiele/brandschaeden/brand-01.jpg') center/cover;
}
body[data-page-type="wasser"] .hero {
background:
linear-gradient(180deg, rgba(26,36,51,.82) 0%, rgba(26,36,51,.70) 45%, rgba(26,36,51,.88) 100%),
url('../beispiele/wasserschaeden/wasser-01.jpg') center/cover;
}

@media (max-width: 800px) {
.trust-photos { grid-template-columns: 1fr !important; }
}

@media (max-width: 900px) and (min-width: 601px) {
.steps {
grid-template-columns: 1fr 1fr !important;
gap: 40px 24px !important;
}
.steps__line { display: none; }
.step::after { display: none; }
}

@media (max-width: 1000px) and (min-width: 601px) {
.trust-photos { grid-template-columns: 1fr 1fr !important; }
}

@media (max-width: 600px) {
.media-card figcaption {
padding: 12px 16px !important;
font-size: 0.85rem !important;
}
}

@media (max-width: 600px) {
.hero-form__submit { font-size: 0.92rem !important; padding: 12px 14px !important; }
}

@media (max-width: 720px) {
.lf__submit { width: 100%; justify-content: center; }
.lf__main { padding: 24px 18px !important; }
}

@media (max-width: 1280px) and (min-width: 981px) {
.hero__inner {
gap: 36px !important;
max-width: 1080px !important;
padding-right: 32px !important;
}
.hero__copy { flex: 1 1 580px !important; max-width: 640px !important; padding-right: 0 !important; }
.hero h1 { font-size: clamp(1.6rem, 2.5vw, 2.4rem) !important; line-height: 1.1 !important; }
.hero__copy .lead { font-size: 0.95rem !important; }
.hero-form { padding: 24px 20px !important; flex: 0 0 340px !important; max-width: 340px !important; }
.hero-form__title { font-size: 1.2rem !important; line-height: 1.15 !important; }
.hero-form__sub { font-size: 0.85rem !important; margin-bottom: 16px !important; }
.contact-widget { display: none !important; }
}

@media (max-width: 980px) {
.hero-form { padding: 28px 24px !important; }
.hero-form__title { font-size: 1.3rem !important; line-height: 1.2 !important; }
.hero-form__sub { font-size: 0.9rem !important; line-height: 1.4 !important; margin-bottom: 18px !important; }
.hero-form__field label { font-size: 0.75rem !important; }
.hero-form__field input, .hero-form__field select { padding: 10px 12px !important; font-size: 0.9rem !important; }

.contact-widget {
top: auto !important;
bottom: 80px !important;
right: 12px !important;
transform: none !important;
}
}

@media (max-width: 800px) {
.contact-widget { display: none !important; }
}

@media (max-width: 600px) {
.hero { padding-top: 200px !important; padding-bottom: 60px !important; }
.hero h1 { font-size: clamp(1.4rem, 5vw, 1.9rem) !important; }
.hero__copy .lead { font-size: 0.92rem !important; line-height: 1.5 !important; }
.hero-form { padding: 22px 18px !important; border-radius: 12px !important; }
.hero-form__title { font-size: 1.15rem !important; }
.hero-form__sub { font-size: 0.85rem !important; margin-bottom: 14px !important; }
.hero-form__row { grid-template-columns: 1fr !important; gap: 8px !important; }

.section { padding: 56px 0 !important; }
.container { padding: 0 16px !important; }

h2 { font-size: clamp(1.4rem, 5vw, 1.9rem) !important; line-height: 1.2 !important; }

.btn { padding: 12px 24px !important; padding-left: 56px !important; font-size: 15px !important; }

.cta-gold { padding: 60px 0 !important; }
}

@media (max-width: 380px) {
.hero-form { padding: 18px 14px !important; }
.hero-form__title { font-size: 1.05rem !important; }
.hero h1 { font-size: 1.35rem !important; }
.container { padding: 0 12px !important; }
.lf__main { padding: 18px 14px !important; }
}

@media (max-width: 980px) {
.trust-bar { flex-wrap: wrap !important; gap: 16px !important; padding: 24px 16px !important; }
.trust-bar__siegel { width: 60px !important; }
}

@media (max-width: 980px) {
.lf { gap: 20px !important; margin-top: 32px !important; }
.lf__main { padding: 32px 22px !important; }
.lf__title { font-size: 1.3rem !important; }
.lf__intro { font-size: 0.92rem !important; margin-bottom: 22px !important; }
.lf__side { padding: 28px 22px !important; }
}

@media (max-width: 650px) {
.cities-more { margin-top: 28px !important; }
}

@media (max-width: 600px) {
.marktpreise__toggle button { padding: 8px 14px !important; font-size: 0.85rem !important; }
.bar-row { grid-template-columns: 70px 1fr 80px !important; gap: 8px !important; }
.bar-city { font-size: 0.85rem !important; }
.bar-price-num { font-size: 0.85rem !important; }
}

@media (max-width: 800px) {
.objektart-cards { grid-template-columns: 1fr !important; gap: 18px !important; }
}

@media (max-width: 980px) and (min-width: 601px) {
.usps { grid-template-columns: 1fr 1fr !important; gap: 20px !important; }
}
@media (max-width: 600px) {
.usps { grid-template-columns: 1fr !important; gap: 14px !important; }
}

@media (max-width: 760px) {
.jennifer-block { grid-template-columns: 1fr !important; }
.jennifer-block__img { min-height: 240px !important; }
.jennifer-block__content { padding: 28px 22px !important; }
}

@media (max-width: 760px) {
.comparison-box { grid-template-columns: 1fr !important; gap: 16px !important; }
.comparison-box__col { padding: 20px !important; }
}

@media (max-width: 600px) {
.accordion-label { padding: 18px 14px !important; font-size: 0.95rem !important; line-height: 1.35 !important; }
}

@media (max-width: 600px) {
.risk-reverser { padding: 28px 18px !important; flex-direction: column !important; text-align: center !important; gap: 14px !important; }
}

@media (max-width: 600px) {
.skip-to-content:focus { top: 8px !important; left: 8px !important; }
}

@media (max-width: 1280px) and (min-width: 981px) {
.lf__side { padding: 28px 22px !important; gap: 20px !important; }
.lf__side h3 { font-size: 1rem !important; }
.lf__person__avatar { width: 52px !important; height: 52px !important; font-size: 1rem !important; }
.lf__person__name { font-size: 0.92rem !important; }
.lf__person__role { font-size: 0.62rem !important; letter-spacing: 0.04em !important; }
.lf__promise-text { font-size: 0.85rem !important; line-height: 1.45 !important; }
.lf__promise-icon { width: 30px !important; height: 30px !important; font-size: 0.82rem !important; }
.lf__promise { gap: 14px !important; }
.lf__contact-alt { font-size: 0.78rem !important; padding-top: 20px !important; }
}

.lf__side { overflow-wrap: break-word; word-break: keep-all; }

@media (max-width: 980px) {
.hero-trust-card { margin: 24px auto 0; max-width: 460px; }
}

.submenu__label {
font-size: 0.7rem !important;
letter-spacing: 0.1em;
text-transform: uppercase;
color: var(--gold-text, #B81E0E) !important;
font-weight: 700 !important;
padding: 8px 24px 4px !important;
margin-top: 4px;
border-top: 1px solid rgba(214,36,16,0.15);
pointer-events: none;
}
.submenu__label:first-child { border-top: 0; margin-top: 0; }
.submenu__label a { display: none; }
.submenu .submenu__label { display: block !important; }

.icon-action {
display: inline-flex;
align-items: center;
justify-content: center;
width: 40px;
height: 40px;
border-radius: 50%;
background: var(--bg-cream, #FFF7F0);
border: 1px solid var(--whHairlineGold, rgba(214,36,16,0.4));
color: var(--main, #1A1A1A);
transition: var(--baseTransition, all 0.25s ease);
cursor: pointer;
text-decoration: none;
}

.cases-slider {
max-width: 1320px;
margin: 0 auto;
overflow: hidden;
position: relative;
padding: 8px 0;
}

.cases-slider .case-card {
flex: 0 0 300px !important;
width: 300px !important;
background: #fff !important;
color: var(--secondColor, #1A1A1A) !important;
padding: 0 !important;
border: 1px solid var(--whHairlineGold, rgba(214,36,16,0.25)) !important;
border-top: 1px solid var(--whHairlineGold, rgba(214,36,16,0.25)) !important;
border-radius: 12px !important;
}
.cases-slider .case-card__img {
height: 170px !important;
border-radius: 12px 12px 0 0;
}
.cases-slider .case-card__type {
color: var(--gold-text, #B81E0E) !important;
font-size: 0.66rem !important;
letter-spacing: 0.14em;
}
.cases-slider .case-card__title {
color: var(--secondColor, #1A1A1A) !important;
font-size: 1.02rem !important;
margin: 0 0 4px !important;
}
.cases-slider .case-card__location {
color: var(--secondColorLight, #565656) !important;
font-size: 0.82rem !important;
margin-bottom: 12px !important;
}
.cases-slider .case-card__specs {
display: block !important;
grid-template-columns: none !important;
border-top: 1px solid rgba(214,36,16,0.18) !important;
margin: 0 0 14px !important;
padding: 0 !important;
list-style: none !important;
}
.cases-slider .case-card__specs li {
display: flex !important;
justify-content: flex-start !important;
align-items: baseline !important;
gap: 16px !important;
padding: 7px 0 !important;
font-size: 0.82rem !important;
border-bottom: 1px solid rgba(214,36,16,0.1) !important;
}
.cases-slider .case-card__specs li:last-child {
border-bottom: 0 !important;
}
.cases-slider .case-card__specs li span:first-child {
color: var(--secondColorLight, #565656) !important;
font-weight: 500 !important;
flex-shrink: 0;
min-width: 84px;
}
.cases-slider .case-card__specs li span:last-child {
color: var(--secondColor, #1A1A1A) !important;
font-weight: 700 !important;
text-align: left !important;
word-break: normal;
flex: 1;
}
.cases-slider .case-card__badge {
font-size: 0.66rem !important;
padding: 5px 12px !important;
}

@keyframes casesScroll {
0% { transform: translateX(0); }
100% { transform: translateX(calc(-50% - 12px)); }
}

@media (max-width: 1100px) {
.cases-slider .case-card { flex: 0 0 320px; width: 320px; }
}
@media (max-width: 768px) {
.cases-slider .case-card { flex: 0 0 280px; width: 280px; }
}
@media (max-width: 480px) {
.cases-slider .case-card { flex: 0 0 240px; width: 240px; }
.cases-slider .case-card__img { height: 160px; }
}

@media (prefers-reduced-motion: reduce) {
.cases-slider__track { animation: none; }
.cases-slider {
overflow-x: auto;
-webkit-mask-image: none;
mask-image: none;
}
.cases-slider__track { gap: 16px; }
}
.case-card {
background: #fff;
border-radius: 14px;
overflow: hidden;
box-shadow: 0 4px 16px rgba(30,58,95,0.06);
border: 1px solid var(--whHairlineGold, rgba(214,36,16,0.2));
transition: var(--baseTransition, all 0.3s ease);
display: flex;
flex-direction: column;
}
.case-card:hover {
transform: translateY(-6px);
box-shadow: 0 16px 36px rgba(30,58,95,0.14);
border-color: var(--highlight, #D62410);
}
.case-card__img {
position: relative;
width: 100%;
height: 200px;
background-size: cover;
background-position: center;
background-color: var(--bg-cream, #FFF7F0);
transition: var(--baseTransition, all 0.3s ease);
}
.case-card:hover .case-card__img {
filter: brightness(1.05);
}
.case-card__badge {
position: absolute;
top: 14px;
right: 14px;
background: var(--secondColor, #1A1A1A);
color: var(--highlight, #D62410);
font-family: var(--headline, 'Mosafin', 'Mosafin Fallback', serif);
font-size: 0.72rem;
font-weight: 700;
letter-spacing: 0.12em;
text-transform: uppercase;
padding: 6px 14px;
border-radius: 50px;
box-shadow: 0 4px 12px rgba(0,0,0,0.25);
}
.case-card__type {
font-size: 0.7rem;
font-weight: 700;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--gold-text, #B81E0E);
margin-bottom: 6px;
}
.case-card__title {
font-family: var(--headline, 'Mosafin', 'Mosafin Fallback', serif);
font-size: 1.15rem;
font-weight: 700;
color: var(--secondColor, #1A1A1A);
margin: 0 0 6px;
line-height: 1.25;
}
.case-card__location {
font-size: 0.88rem;
color: var(--secondColorLight, #565656);
margin-bottom: 16px;
}
.case-card__location::before {
content: '📍';
margin-right: 4px;
}
.case-card__specs {
list-style: none;
padding: 0;
margin: 0 0 18px;
border-top: 1px solid var(--whHairlineGold, rgba(214,36,16,0.2));
flex: 1;
}
.case-card__specs li {
display: flex;
justify-content: space-between;
padding: 9px 0;
border-bottom: 1px solid rgba(214,36,16,0.1);
font-size: 0.85rem;
}
.case-card__specs li:last-child { border-bottom: 0; }
.case-card__specs li span:first-child {
color: var(--secondColorLight, #565656);
font-weight: 500;
}
.case-card__specs li span:last-child {
color: var(--secondColor, #1A1A1A);
font-weight: 700;
text-align: right;
}

.risk-band {
background: var(--secondColor, #1A1A1A);
padding: 32px 0;
position: relative;
border-top: 1px solid rgba(214,36,16,0.2);
border-bottom: 1px solid rgba(214,36,16,0.2);
}
.risk-band__inner {
max-width: 1240px;
width: var(--baseWidth, 92%);
margin: 0 auto;
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 24px;
align-items: start;
}
.risk-band__item {
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
padding: 8px 12px;
border-right: 1px solid rgba(214,36,16,0.18);
}
.risk-band__item:last-child { border-right: 0; }
.risk-band__icon {
width: 44px;
height: 44px;
display: flex;
align-items: center;
justify-content: center;
color: var(--highlight, #D62410);
background: rgba(214,36,16,0.12);
border-radius: 50%;
margin-bottom: 12px;
flex-shrink: 0;
}
.risk-band__icon svg { width: 22px; height: 22px; }
.risk-band__title {
font-family: var(--headline, 'Mosafin', 'Mosafin Fallback', serif);
font-weight: 700;
font-size: 1rem;
color: #fff;
line-height: 1.2;
margin-bottom: 6px;
}
.risk-band__sub {
font-size: 0.85rem;
color: rgba(255,255,255,0.7);
line-height: 1.5;
max-width: 220px;
}

@media (max-width: 980px) {
.risk-band { padding: 28px 0; }
.risk-band__inner { grid-template-columns: 1fr 1fr; gap: 24px 16px; }
.risk-band__item:nth-child(2) { border-right: 0; }
.risk-band__item:nth-child(odd) { border-right: 1px solid rgba(214,36,16,0.18); }
}
@media (max-width: 560px) {
.risk-band__inner { grid-template-columns: 1fr; }
.risk-band__item { border-right: 0 !important; padding: 16px 8px; border-bottom: 1px solid rgba(214,36,16,0.15); }
.risk-band__item:last-child { border-bottom: 0; }
}

@media (max-width: 760px) {
.finance-pain { grid-template-columns: 1fr !important; gap: 28px !important; }
.finance-pain__visual { padding: 28px 24px !important; }
}

.section--white { background: #fff; }

.section { padding: clamp(60px, 8vw, 110px) 0; }
@media (max-width: 600px) {
.section { padding: 48px 0 !important; }
}

.usp-card,
.problem-card,
.objektart-card,
.situation-card,
.stat-item,
.case-card {
transition: transform 0.32s cubic-bezier(0.4, 0, 0.2, 1),
box-shadow 0.32s cubic-bezier(0.4, 0, 0.2, 1),
border-color 0.25s ease;
}
.usp-card:hover,
.problem-card:hover,
.objektart-card:hover,
.situation-card:hover,
.stat-item:hover {
transform: translateY(-4px);
box-shadow: 0 14px 32px rgba(30,58,95,0.10);
}

.btn,
.btn-outline,
.btn--outline {
position: relative;
overflow: hidden;
}
.btn::after {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(90deg, transparent, rgba(255,255,255,0.18), transparent);
transform: translateX(-100%);
transition: transform 0.55s ease;
pointer-events: none;
}
.btn:hover::after {
transform: translateX(100%);
}

.city-card__img,
.objektart-card__img,
.case-card__img,
.media-card img {
transition: transform 0.6s ease, filter 0.4s ease;
}
.city-card:hover .city-card__img,
.objektart-card:hover .objektart-card__img,
.case-card:hover .case-card__img {
transform: scale(1.04);
filter: brightness(1.04);
}

.section-header,
.section__header,
.problems__header,
.situations__header {
text-align: center;
max-width: 720px;
margin: 0 auto clamp(40px, 5vw, 56px);
}

@media (prefers-reduced-motion: reduce) {
*, *::before, *::after {
animation-duration: 0.01ms !important;
animation-iteration-count: 1 !important;
transition-duration: 0.01ms !important;
}
}

:root {
--section-pad: clamp(80px, 9vw, 130px);
--section-pad-tight: clamp(48px, 6vw, 80px);
--content-max: 720px;
--content-wide: 1100px;
}
.section { padding: var(--section-pad) 0; }

.h-focus em,
.section-header h2 em,
.section__header h2 em {
font-style: italic;
color: var(--gold-text, #B81E0E);
font-weight: 700;
position: relative;
}

.section--navy .h-focus em,
.section--navy h2 em,
.hero h2 em,
.hero h1 em {
color: var(--highlight, #D62410);
}

.usp-card,
.problem-card,
.objektart-card,
.situation-card,
.case-card,
.stat-item,
.problem-card,
.situations__grid > div {
border-radius: 14px;
border: 1px solid var(--whHairlineGold, rgba(214,36,16,0.18));
}

.section-header,
.section__header,
.problems__header,
.situations__header,
.objektarten__header {
text-align: center;
max-width: var(--content-max);
margin: 0 auto clamp(40px, 5vw, 56px);
}
.section-header .lead,
.section__header .lead,
.problems__header p,
.situations__header p,
.objektarten__header p {
max-width: 640px;
margin-left: auto;
margin-right: auto;
}

.btn::before {
transition: transform 0.32s cubic-bezier(0.4, 0, 0.2, 1),
left 0.32s cubic-bezier(0.4, 0, 0.2, 1);
}
.btn:hover::before {
transform: translateY(-50%) translateX(4px);
}

.cases-slider .case-card__specs li:last-child {
flex-direction: column !important;
align-items: flex-start !important;
gap: 6px !important;
}
.cases-slider .case-card__specs li:last-child span:first-child {
min-width: 0 !important;
}
.cases-slider .case-card__specs li:last-child span:last-child {
display: inline-block;
background: var(--bg-cream, #FFF7F0);
color: var(--gold-text, #B81E0E) !important;
border: 1px solid var(--whHairlineGold, rgba(214,36,16,0.35));
padding: 5px 12px;
border-radius: 14px;
font-size: 0.76rem !important;
font-weight: 700 !important;
letter-spacing: 0.02em;
line-height: 1.35;
max-width: 100%;
white-space: normal;
word-break: normal;
text-align: left !important;
flex: 0 0 auto !important;
}

.cases-slider .case-card[data-modal] {
cursor: pointer;
}
.cases-slider .case-card[data-modal]:hover {
transform: translateY(-4px);
box-shadow: 0 18px 36px rgba(30,58,95,0.16);
}
.cases-filter__btn {
background: #fff;
border: 1px solid var(--whHairlineGold, rgba(214,36,16,0.35));
color: var(--secondColor, #1A1A1A);
padding: 9px 18px;
border-radius: 50px;
font-family: var(--mainFont);
font-size: 0.85rem;
font-weight: 600;
cursor: pointer;
transition: all 0.25s ease;
}
.cases-filter__btn:hover {
border-color: var(--highlight, #D62410);
color: var(--main, #1A1A1A);
}
.cases-filter__btn.is-active {
background: var(--main, #1A1A1A);
border-color: var(--main, #1A1A1A);
color: #fff;
}
.cases-filter__btn.is-active:hover { color: var(--highlight, #D62410); }
@media (max-width: 600px) {
.cases-filter__btn { padding: 7px 12px; font-size: 0.78rem; }
}
@keyframes cmFade { from {opacity:0} to {opacity:1} }
@keyframes cmPop { from {opacity:0; transform: translateY(20px) scale(0.97)} to {opacity:1; transform: none} }

@media (max-width: 800px) {
.comparison-box--v2 {
grid-template-columns: 1fr;
gap: 16px;
}
.comparison-box--v2 .comparison-box__col--werthandel {
transform: none;
order: -1;
}
.comparison-box--v2 .comparison-box__col {
padding: 28px 22px;
}
.comparison-box--v2 .comparison-box__siegel { width: 60px; bottom: 14px; right: 14px; }
.comparison-box--v2 .comparison-box__pill { font-size: 0.62rem; padding: 4px 10px; }
}

.comparison-box--index .comparison-box__col--werthandel {
background: linear-gradient(135deg, var(--main, #1A1A1A) 0%, var(--secondColor, #1A1A1A) 100%);
color: #fff;
border: 2px solid var(--highlight, #D62410);
transform: translateY(-8px);
box-shadow: 0 18px 40px rgba(30,58,95,0.18);
}

@media (max-width: 760px) {
.comparison-box--index {
grid-template-columns: 1fr !important;
gap: 20px !important;
}
.comparison-box--index .comparison-box__col {
padding: 28px 22px 24px;
}
.comparison-box--index .comparison-box__col--werthandel {
transform: none;
order: -1;
}
.comparison-box--index .comparison-box__col--werthandel:hover {
transform: none;
}
}

.cases-slider .case-card.is-dimmed {
opacity: 0.18;
filter: grayscale(0.7);
pointer-events: none;
transition: opacity 0.4s ease, filter 0.4s ease;
}
.cases-slider .case-card {
transition: opacity 0.4s ease, filter 0.4s ease,
transform 0.32s cubic-bezier(0.4, 0, 0.2, 1),
box-shadow 0.32s cubic-bezier(0.4, 0, 0.2, 1);
}
.case-card__status-text {
font-family: var(--headline);
font-size: 0.92rem;
font-weight: 700;
color: var(--secondColor, #1A1A1A);
letter-spacing: 0.01em;
}
.cases-slider .case-card__status-text { font-size: 0.88rem !important; }
@keyframes pulseGreen {
0%, 100% { box-shadow: 0 0 0 4px rgba(34,197,94,0.18); }
50%      { box-shadow: 0 0 0 8px rgba(34,197,94,0.06); }
}

.comparison-box--index .comparison-box__col--classic ul li::before {
content: '' !important;
position: absolute !important;
left: 0 !important;
top: 13px !important;
width: 26px !important;
height: 26px !important;
border-radius: 50% !important;
background-color: #FEE2E2 !important;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23DC2626'%3E%3Cpath d='M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z'/%3E%3C/svg%3E") !important;
background-size: 16px 16px !important;
background-position: center !important;
background-repeat: no-repeat !important;
border: 1px solid #FCA5A5 !important;
}

body .hero.hero--new,
.hero.hero--new {
position: relative !important;
min-height: auto !important;
padding: clamp(130px, 14vh, 180px) 0 0 !important;
margin-top: -135px !important;
background:
linear-gradient(90deg, rgba(26,26,26,0.55) 0%, rgba(26,26,26,0.30) 60%, rgba(26,26,26,0.10) 100%),
linear-gradient(180deg, rgba(26,26,26,0.78) 0%, rgba(26,26,26,0.62) 40%, rgba(26,26,26,0.90) 100%),
var(--asset-1) center/cover !important;
background-color: #1A1A1A !important;
color: #fff !important;
display: flex !important;
flex-direction: column !important;
}
.hero--new .hero__inner {
display: grid !important;
grid-template-columns: 1.35fr 1fr !important;
gap: 64px;
align-items: center;
max-width: 1240px;
width: 100%;
margin: 0 auto;
padding: 32px 32px 96px;
flex-wrap: nowrap !important;
}

.hero--new .hero__copy {
flex: none;
max-width: none;
}
.hero--new .hero__eyebrow {
display: inline-block;
font-family: var(--mainFont);
font-size: 12px;
font-weight: 700;
letter-spacing: 0.22em;
text-transform: uppercase;
color: var(--highlight, #D62410);
margin-bottom: 18px;
padding: 6px 18px;
border: 1px solid rgba(214,36,16,0.5);
border-radius: 50px;
background: rgba(0,0,0,0.18);
backdrop-filter: blur(6px);
}
.hero--new h1 {
font-family: var(--headline);
font-size: clamp(1.9rem, 1.1rem + 2.0vw, 2.9rem);
line-height: 1.08;
font-weight: 700;
color: #fff;
margin: 0 0 18px;
letter-spacing: -0.5px;
}
.hero--new h1 em {
font-style: italic;
color: var(--highlight, #D62410);
font-weight: 700;
}
.hero--new .hero__subhead {
font-size: clamp(1rem, 0.95rem + 0.3vw, 1.15rem);
line-height: 1.55;
color: rgba(255,255,255,0.86);
font-weight: 400;
max-width: 560px;
margin: 0 0 28px;
}
.hero--new .hero__cta-row {
display: flex;
gap: 14px;
flex-wrap: wrap;
margin-bottom: 22px;
}
.hero--new .btn-outline-white {
background: transparent;
color: #fff;
border: 1px solid rgba(255,255,255,0.5);

padding: 12px 40px 12px 56px;
border-radius: 50px;
font-family: var(--headline);
font-size: 15px;
font-weight: 600;
text-decoration: none;
transition: all 0.25s ease;
}
.hero--new .btn-outline-white:hover {
background: var(--highlight, #D62410);
border-color: var(--highlight, #D62410);
color: var(--secondColor, #1A1A1A);
}
.hero--new .hero__trust-line {
text-shadow: 0 1px 8px rgba(0,0,0,0.55);
font-size: 0.95rem;
color: rgba(255,255,255,0.7);
margin: 0;
letter-spacing: 0.02em;
}

.hero-form-section { padding: clamp(64px, 8vw, 100px) 0; }
.hero-form-stage {
display: grid;
grid-template-columns: 1fr 1.1fr;
gap: 56px;
max-width: 1140px;
margin: 0 auto;
align-items: start;
}
.hero-form-stage__intro h2 {
font-family: var(--headline);
font-size: clamp(1.7rem, 1.2rem + 1.5vw, 2.3rem);
margin-bottom: 14px;
color: var(--text, #1A1A1A);
line-height: 1.18;
}
.hero-form-stage__intro .lead { margin-bottom: 24px; color: var(--text-soft, #565656); }
.hero-form-stage__form .hero-form {
margin: 0;
width: 100%;
max-width: none;
padding: 36px 32px;
background: #fff;
border: 1px solid var(--whHairlineGold, rgba(214,36,16,0.3));
border-radius: 14px;
box-shadow: 0 18px 40px rgba(30,58,95,0.10);
}

@media (max-width: 980px) {
.hero--new .hero__inner {
grid-template-columns: 1fr !important;
gap: 36px !important;
padding-bottom: 60px;
}
.hero--new .hero__person { justify-self: stretch; max-width: 100%; }
.hero-form-stage { grid-template-columns: 1fr; gap: 32px; }
.hero--new .hero__trust-strip-inner { font-size: 0.75rem; gap: 8px; }
}
@media (max-width: 600px) {
.hero--new { padding-top: clamp(120px, 16vh, 170px) !important; }
}

.hero--new h1 {
text-shadow: 0 2px 16px rgba(0,0,0,0.45);
}
.hero--new .hero__subhead {
text-shadow: 0 1px 8px rgba(0,0,0,0.4);
}
.hero--new .hero__eyebrow {
background: rgba(26,36,51,0.55) !important;
}

.hero--new .hero__trust-strip {
background: rgba(0,0,0,0.32);
backdrop-filter: blur(6px);
-webkit-backdrop-filter: blur(6px);
}

.hero--new .hero__inner {
grid-template-columns: 1.75fr 0.85fr !important;
align-items: start !important;
padding-top: 16px !important;
}
.hero--new .hero__copy { max-width: 820px !important; }

body header.head .inner,
body .hero--new .hero__inner,
body .hero--new .hero__trust-strip-inner,
body .hero-form-stage,
body .section .container,
body .section > .container {
max-width: 1240px !important;
width: 100% !important;
margin-left: auto !important;
margin-right: auto !important;
padding-left: 32px !important;
padding-right: 32px !important;
box-sizing: border-box !important;
}

@media (max-width: 600px) {
body header.head .inner,
body .hero--new .hero__inner,
body .hero--new .hero__trust-strip-inner,
body .section .container,
body .section > .container {
padding-left: 20px !important;
padding-right: 20px !important;
}
}

body .hero--new .hero__inner,
.hero--new .hero__inner {
align-items: center !important;
padding-top: 56px !important;
padding-bottom: 56px !important;
}

body .risk-band__inner,
.risk-band__inner {
max-width: 1240px !important;
width: 100% !important;
margin-left: auto !important;
margin-right: auto !important;
padding-left: 32px !important;
padding-right: 32px !important;
box-sizing: border-box !important;
}

body .hero-form-stage,
.hero-form-stage {
max-width: none !important;
padding-left: 0 !important;
padding-right: 0 !important;
}

@media (max-width: 600px) {
body .hero--new .hero__inner,
.hero--new .hero__inner {
padding-top: 32px !important;
padding-bottom: 32px !important;
}
body .risk-band__inner,
.risk-band__inner {
padding-left: 20px !important;
padding-right: 20px !important;
}
}

body .hero--new .hero__person,
.hero--new .hero__person {
grid-template-columns: 128px 1fr !important;
gap: 24px !important;
padding: 30px 30px 30px 26px !important;
background: rgba(255,255,255,0.10) !important;
backdrop-filter: blur(18px) saturate(140%) !important;
-webkit-backdrop-filter: blur(18px) saturate(140%) !important;
border: 1px solid rgba(255,255,255,0.20) !important;
border-left: 3px solid var(--highlight, #D62410) !important;
border-radius: 18px !important;
max-width: 480px !important;
box-shadow:
0 30px 60px rgba(0,0,0,0.35),
inset 0 1px 0 rgba(255,255,255,0.08) !important;
}

body .hero--new .hero__person-photo,
.hero--new .hero__person-photo {
width: 128px !important;
height: 162px !important;
border-radius: 14px !important;
border: 1px solid rgba(214,36,16,0.55) !important;
box-shadow:
0 10px 24px rgba(0,0,0,0.40),
inset 0 0 0 1px rgba(255,255,255,0.08) !important;
}

body .hero--new .hero__person-name,
.hero--new .hero__person-name {
font-size: 1.26rem !important;
line-height: 1.18 !important;
margin-bottom: 5px !important;
letter-spacing: -0.2px !important;
}

body .hero--new .hero__person-quote,
.hero--new .hero__person-quote {
font-size: 0.96rem !important;
line-height: 1.45 !important;
padding-top: 14px !important;
border-top: 1px solid rgba(214,36,16,0.30) !important;
color: rgba(255,255,255,0.95) !important;
}

body header.head,
header.head {
transition: padding 180ms ease !important;
will-change: padding;
backface-visibility: hidden;
-webkit-backface-visibility: hidden;
transform: translateZ(0);
}

body header.head .inner,
header.head .inner {
transition:
background-color 180ms ease,
box-shadow 180ms ease,
padding 180ms ease,
max-width 220ms ease !important;
will-change: background-color, box-shadow;
backface-visibility: hidden;
-webkit-backface-visibility: hidden;
}

body header.head #logo,
header.head #logo {
transition: width 220ms ease, height 220ms ease, margin 220ms ease !important;
will-change: width, height;
}

body header.head #logo img,
header.head #logo img {
transition: opacity 160ms ease-in-out !important;
}

body .hero--new .hero__inner,
.hero--new .hero__inner {
grid-template-columns: 1.55fr 1fr !important;
gap: 56px !important;
}

body .hero--new .hero__person,
.hero--new .hero__person {
grid-template-columns: 108px 1fr !important;
gap: 22px !important;
padding: 26px 28px 28px 24px !important;
max-width: 440px !important;
}

body .hero--new .hero__person-quote,
.hero--new .hero__person-quote {
font-size: 0.93rem !important;
line-height: 1.5 !important;
padding-top: 14px !important;
margin-top: 4px !important;
}

@media (max-width: 1100px) {
body .hero--new .hero__person,
.hero--new .hero__person {
grid-template-columns: 1fr !important;
text-align: center !important;
padding: 26px 24px 26px 24px !important;
border-left: 1px solid rgba(255,255,255,0.20) !important;
border-top: 3px solid var(--highlight, #D62410) !important;
}
body .hero--new .hero__person-photo,
.hero--new .hero__person-photo {
width: 120px !important;
height: 152px !important;
justify-self: center !important;
margin-bottom: 6px !important;
}
}

body header.head,
header.head {
transition: padding 200ms ease !important;
}
body header.head .inner,
header.head .inner {
transition:
background-color 200ms ease,
box-shadow 200ms ease,
padding 200ms ease,
max-width 200ms ease !important;
}
body header.head #logo,
header.head #logo {
transition: width 200ms ease, height 200ms ease, margin 200ms ease !important;
}
body header.head #logo img,
header.head #logo img {
transition: opacity 200ms ease !important;
}

body .hero .hero__inner,
body .hero__inner.container,
body section .container,
body section > .container,
body .container {
max-width: 1240px !important;
width: 100% !important;
margin-left: auto !important;
margin-right: auto !important;
padding-left: 32px !important;
padding-right: 32px !important;
box-sizing: border-box !important;
}

body .hero-form-stage .hero-form,
body .container--narrow,
body .container.narrow {
max-width: none !important;
}

@media (max-width: 600px) {
body .hero .hero__inner,
body .hero__inner.container,
body section .container,
body section > .container,
body .container {
padding-left: 20px !important;
padding-right: 20px !important;
}
}

body .hero:not(.hero--new):not(.hero--single) .hero__inner > .hero__eyebrow,
body .hero:not(.hero--new):not(.hero--single) .hero__inner > h1,
body .hero:not(.hero--new):not(.hero--single) .hero__inner > .hero__sub,
body .hero:not(.hero--new):not(.hero--single) .hero__inner > .hero__cta {
grid-column: 1 !important;
max-width: 760px !important;
}

body .hero:not(.hero--new) .hero__copy,
.hero:not(.hero--new) .hero__copy {
text-align: left !important;
}
body .hero:not(.hero--new) .hero__inner,
.hero:not(.hero--new) .hero__inner {
text-align: left !important;
}

body .hero:not(.hero--new),
.hero:not(.hero--new) {
min-height: auto !important;
padding-top: clamp(120px, 14vh, 170px) !important;
padding-bottom: clamp(60px, 8vh, 100px) !important;
}

body .hero:not(.hero--new) .hero__sub,
.hero:not(.hero--new) .hero__sub {
font-size: clamp(0.95rem, 0.85rem + 0.4vw, 1.1rem) !important;
line-height: 1.55 !important;
max-width: 640px !important;
margin-bottom: 24px !important;
}

body .hero:not(.hero--new) .hero__eyebrow,
.hero:not(.hero--new) .hero__eyebrow {
font-size: 12px !important;
letter-spacing: 0.22em !important;
margin-bottom: 22px !important;
}

@media (max-width: 980px) {
body .hero:not(.hero--new),
.hero:not(.hero--new) {
padding-top: clamp(100px, 16vh, 150px) !important;
padding-bottom: clamp(40px, 6vh, 80px) !important;
}
}

body .hero:not(.hero--new) .hero__inner,
.hero:not(.hero--new) .hero__inner {
align-items: center !important;
}

body .hero .hero-form,
.hero .hero-form {
padding: 22px 22px 24px !important;
max-width: 440px !important;
margin: 0 !important;
align-self: center !important;
max-height: none !important;
overflow: visible !important;
}

body .hero .hero-form__step-indicator,
.hero .hero-form__step-indicator {
margin-bottom: 14px !important;
}

body .hero .hero-form__field,
.hero .hero-form__field {
margin-bottom: 11px !important;
}

body .hero .hero-form__field label,
.hero .hero-form__field label {
font-size: 0.78rem !important;
margin-bottom: 4px !important;
}

body .hero .hero-form__field input,
body .hero .hero-form__field select,
.hero .hero-form__field input,
.hero .hero-form__field select {
padding: 10px 12px !important;
font-size: 0.9rem !important;
}

body .hero .hero-form__btn,
.hero .hero-form__btn,
body .hero .hero-form__submit,
.hero .hero-form__submit {
padding: 13px !important;
font-size: 0.95rem !important;
margin-top: 6px !important;
}

body .hero .hero-form__hint,
.hero .hero-form__hint {
font-size: 0.72rem !important;
margin-top: 8px !important;
}

body .hero .hero-form::-webkit-scrollbar { width: 6px; }
body .hero .hero-form::-webkit-scrollbar-thumb { background: rgba(214,36,16,0.4); border-radius: 3px; }

@media (max-width: 980px) {
body .hero .hero-form,
.hero .hero-form {
max-height: none !important;
overflow: visible !important;
max-width: 100% !important;
}
}

body .hero:not(.hero--new) .hero__copy,
.hero:not(.hero--new) .hero__copy {
align-items: flex-start !important;
}

body .hero:not(.hero--new) .hero__eyebrow,
.hero:not(.hero--new) .hero__eyebrow {
background: rgba(26,36,51,0.55) !important;
}

body .hero:not(.hero--new),
.hero:not(.hero--new) {
padding-top: 130px !important;
padding-bottom: 0 !important;
}
body .hero:not(.hero--new) .hero__inner,
.hero:not(.hero--new) .hero__inner {
padding-top: 56px !important;
padding-bottom: 56px !important;
align-items: center !important;
}

html body .hero.hero--single .hero__inner,
.hero.hero--single .hero__inner {
min-height: 605px !important;
align-items: center !important;
}

html body .hero h1,
html body section.hero h1,
html body section.hero--new h1,
html body .hero.hero--new h1,
html body section.hero h1.hero-h1 {
font-family: 'Mosafin', 'Mosafin Fallback', 'Playfair Display', serif !important;
font-size: clamp(1.9rem, 1.1rem + 2vw, 2.9rem) !important;
line-height: 1.08 !important;
font-weight: 700 !important;
color: #fff !important;
margin: 0 0 18px !important;
letter-spacing: -0.5px !important;
text-shadow: 0 2px 16px rgba(0,0,0,0.45) !important;
}
html body .hero h1 em,
html body section.hero h1 em,
html body .hero.hero--new h1 em {
font-style: italic !important;
color: var(--highlight, #D62410) !important;
font-weight: 700 !important;
}
html body .hero .hero__sub,
html body section.hero .hero__sub,
html body .hero .hero__subhead,
html body .hero.hero--new .hero__subhead {
font-family: 'Montserrat', 'Montserrat Fallback', sans-serif !important;
font-size: clamp(1rem, 0.95rem + 0.3vw, 1.15rem) !important;
line-height: 1.55 !important;
color: rgba(255,255,255,0.86) !important;
font-weight: 400 !important;
max-width: 560px !important;
margin: 0 0 28px !important;
text-shadow: 0 1px 8px rgba(0,0,0,0.4) !important;
}
html body .hero .hero__eyebrow,
html body section.hero .hero__eyebrow,
html body .hero.hero--new .hero__eyebrow {
font-family: 'Montserrat', 'Montserrat Fallback', sans-serif !important;
font-size: 12px !important;
font-weight: 700 !important;
letter-spacing: 0.22em !important;
text-transform: uppercase !important;
color: var(--highlight, #D62410) !important;
background: rgba(26,36,51,0.55) !important;
padding: 6px 18px !important;
border: 1px solid var(--highlight, #D62410) !important;
border-radius: 999px !important;
display: inline-block !important;
margin-bottom: 22px !important;
}

html body .hero:not(.hero--new) .hero__inner {
display: grid !important;
grid-template-columns: 1.55fr 1fr !important;
gap: 56px !important;
align-items: center !important;
}

html body section.section--cream .hero-form {
max-width: 640px !important;
margin: 0 auto !important;
max-height: none !important;
overflow: visible !important;
}

@media (max-width: 980px) {
html body .hero:not(.hero--new) .hero__inner {
grid-template-columns: 1fr !important;
gap: 32px !important;
}
html body .hero:not(.hero--new) .hero__person {
justify-self: stretch !important;
max-width: 100% !important;
}
}

.hero-form-section--compact {
padding: clamp(48px, 6vw, 72px) 0 !important;
}

.hero-form-section--compact .hero-form-stage__intro h2 {
font-size: clamp(1.5rem, 1.1rem + 1.2vw, 2rem) !important;
margin-bottom: 12px !important;
line-height: 1.18 !important;
}
.hero-form-section--compact .hero-form-stage__intro .lead {
font-size: 0.95rem !important;
margin-bottom: 20px !important;
line-height: 1.55 !important;
}
.hero-form-section--compact .hero-form-stage__intro .section-label {
margin-bottom: 12px !important;
}

.hero-form-section--compact .hero-form {
padding: 22px 22px 24px !important;
border-radius: 14px !important;
max-width: 480px !important;
}
.hero-form-section--compact .hero-form__step-indicator {
margin-bottom: 14px !important;
}
.hero-form-section--compact .hero-form__field {
margin-bottom: 11px !important;
}
.hero-form-section--compact .hero-form__field label {
font-size: 0.82rem !important;
margin-bottom: 4px !important;
font-weight: 700 !important;
}
.hero-form-section--compact .hero-form__field input,
.hero-form-section--compact .hero-form__field select {
padding: 10px 12px !important;
font-size: 0.93rem !important;
}
.hero-form-section--compact .hero-form__btn {
padding: 13px !important;
font-size: 0.95rem !important;
}
.hero-form-section--compact .hero-form__hint {
font-size: 0.72rem !important;
margin-top: 8px !important;
}

.hero-form-section--compact .hero-form-stage {
grid-template-columns: 1fr 460px !important;
gap: 48px !important;
align-items: center !important;
}

@media (max-width: 900px) {
.hero-form-section--compact .hero-form-stage {
grid-template-columns: 1fr !important;
gap: 24px !important;
}
}

.hero-form__step-indicator--labeled {
display: flex !important;
align-items: center !important;
gap: 0 !important;
margin-bottom: 18px !important;
padding: 0 8px !important;
}
.hero-form__step-label {
display: flex;
flex-direction: column;
align-items: center;
gap: 6px;
flex-shrink: 0;
}
.hero-form__step-label .hero-form__step-dot {
width: 22px;
height: 22px;
height: 22px;
border-radius: 50%;
background: rgba(214,36,16,0.25);
border: 2px solid rgba(214,36,16,0.4);
flex: none;
transition: all 0.25s;
position: relative;
}
.hero-form__step-label .hero-form__step-dot.is-active {
background: var(--highlight, #D62410);
border-color: var(--highlight, #D62410);
box-shadow: 0 0 0 4px rgba(214,36,16,0.18);
}
.hero-form__step-label .hero-form__step-dot.is-active::after {
content: '';
position: absolute;
inset: 5px;
background: #fff;
border-radius: 50%;
}
.hero-form__step-name {
font-size: 0.72rem;
font-weight: 700;
color: var(--text-soft, #6b7280);
letter-spacing: 0.04em;
text-transform: uppercase;
}
.hero-form__step-label:has(.is-active) .hero-form__step-name {
color: var(--main, #1A1A1A);
}
.hero-form__step-connector {
flex: 1;
height: 2px;
background: linear-gradient(90deg, var(--highlight, #D62410) 0%, rgba(214,36,16,0.2) 100%);
margin: 0 12px;
margin-bottom: 18px;
}

.ablauf-mini {
list-style: none;
padding: 0;
margin: 24px 0 0;
display: flex;
flex-direction: column;
gap: 0;
}
.ablauf-mini__step {
display: flex;
align-items: flex-start;
gap: 16px;
padding: 14px 0;
position: relative;
}
.ablauf-mini__step:not(:last-child)::before {
content: '';
position: absolute;
left: 17px;
top: 50px;
width: 2px;
height: 24px;
background: linear-gradient(180deg, var(--highlight, #D62410) 0%, rgba(214,36,16,0.3) 100%);
}
.ablauf-mini__num {
flex-shrink: 0;
width: 36px;
height: 36px;
border-radius: 50%;
background: var(--main, #1A1A1A);
color: #fff;
font-family: var(--headline);
font-size: 1.05rem;
font-weight: 700;
display: flex;
align-items: center;
justify-content: center;
border: 2px solid var(--highlight, #D62410);
}
.ablauf-mini__body {
display: flex;
flex-direction: column;
line-height: 1.35;
padding-top: 3px;
}
.ablauf-mini__body strong {
font-size: 0.95rem;
color: var(--text, #1A1A1A);
font-weight: 700;
margin-bottom: 2px;
}
.ablauf-mini__body span {
font-size: 0.82rem;
color: var(--text-soft, #6b7280);
}

.hero-form--gold-border {
border-left: 4px solid var(--highlight, #D62410) !important;
box-shadow: 0 18px 48px rgba(30,58,95,0.12), 0 2px 6px rgba(0,0,0,0.04) !important;
}

@media (max-width: 600px) {
.ablauf-mini__num {
width: 32px;
height: 32px;
font-size: 0.95rem;
}
.ablauf-mini__step:not(:last-child)::before {
left: 15px;
top: 46px;
height: 22px;
}
.form-trust-strip {
font-size: 0.7rem;
}
}

.hero-form-section--compact .hero-form-stage {
align-items: start !important;
}

@media (max-width: 980px) {
.kontakt-stage {
grid-template-columns: 1fr;
gap: 32px;
}
.kontakt-persoenlich {
position: static;
text-align: center;
}
.kontakt-persoenlich__photo {
margin: 0 auto 22px;
}
.kontakt-formular {
padding: 28px 22px;
}
}

#kontakt {
padding: clamp(48px, 6vw, 72px) 0 !important;
}

.mid-cta-bar {
background: linear-gradient(135deg, var(--main, #1A1A1A) 0%, var(--secondColor, #1A1A1A) 100%);
padding: 28px 0;
position: relative;
overflow: hidden;
}

.kontakt-action__body {
flex: 1 !important;
min-width: 0 !important;
overflow: hidden !important;
}

html body .hero .hero-form,
html body .hero-form-stage .hero-form {
max-height: none !important;
overflow: visible !important;
overflow-y: visible !important;
}

.cta-final {
background: linear-gradient(155deg, var(--main, #1A1A1A) 0%, #0d0d0d 50%, #000000 100%);
color: #fff;
padding: clamp(56px, 8vw, 90px) 0;
position: relative;
}
.cta-final::before {
content: '';
position: absolute;
inset: 0;
background-image: radial-gradient(circle at 85% 30%, rgba(214,36,16,0.10) 0%, transparent 50%);
pointer-events: none;
}
.cta-final__inner {
max-width: 1100px;
width: 100%;
margin: 0 auto;
padding: 0 32px;
display: grid;
grid-template-columns: 220px 1fr;
gap: 48px;
align-items: center;
position: relative;
}
.cta-final__person {
text-align: center;
}
.cta-final__photo {
width: 180px;
height: 220px;
margin: 0 auto 14px;
background-image: url('../team/jennifer-portrait.jpg');
background-size: cover;
background-position: center top;
border-radius: 16px;
border: 2px solid var(--highlight, #D62410);
box-shadow: 0 20px 40px rgba(0,0,0,0.4);
}
.cta-final__person-label {
font-size: 0.7rem;
letter-spacing: 0.18em;
text-transform: uppercase;
color: var(--highlight, #D62410);
font-weight: 700;
margin-bottom: 4px;
}
.cta-final__person-name {
font-family: var(--headline);
font-size: 1.15rem;
font-weight: 700;
color: #fff;
}
.cta-final__content {
min-width: 0;
}
.cta-final__eyebrow {
font-size: 0.78rem;
font-weight: 700;
letter-spacing: 0.22em;
text-transform: uppercase;
color: var(--highlight, #D62410);
margin-bottom: 14px;
}
.cta-final__h2 {
font-family: var(--headline);
font-size: clamp(1.7rem, 1.2rem + 1.5vw, 2.4rem);
line-height: 1.15;
font-weight: 700;
color: #fff;
margin: 0 0 14px;
letter-spacing: -0.3px;
}
.cta-final__h2 em {
font-style: italic;
color: var(--highlight, #D62410);
font-weight: 700;
}
.cta-final__lead {
font-size: 1rem;
line-height: 1.55;
color: rgba(255,255,255,0.82);
margin: 0 0 28px;
max-width: 560px;
}
.cta-final__stats {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 20px;
margin-bottom: 32px;
padding: 22px 0;
border-top: 1px solid rgba(214,36,16,0.28);
border-bottom: 1px solid rgba(214,36,16,0.28);
}
.cta-final__stat-value {
font-family: var(--headline);
font-size: clamp(1.6rem, 1.1rem + 1.3vw, 2.1rem);
font-weight: 700;
color: var(--highlight, #D62410);
line-height: 1.1;
margin-bottom: 4px;
}
.cta-final__stat-label {
font-size: 0.82rem;
color: rgba(255,255,255,0.78);
line-height: 1.4;
}
.cta-final__actions {
display: flex;
gap: 14px;
flex-wrap: wrap;
}

@media (max-width: 900px) {
.cta-final__inner {
grid-template-columns: 1fr;
gap: 32px;
text-align: center;
}
.cta-final__person {
margin: 0 auto;
}
.cta-final__photo {
width: 140px;
height: 170px;
}
.cta-final__lead {
margin-left: auto;
margin-right: auto;
}
.cta-final__actions {
justify-content: center;
}
.cta-final__stats {
grid-template-columns: 1fr;
gap: 14px;
}
}

.section--cream,
.section--cream--patterned,
.section--alt,
.section--sand {
background: var(--bg-cream, #FFF7F0) !important;
}
.section--white {
background: #ffffff !important;
}

.trust-strip {
background: #fff;
padding: clamp(40px, 5vw, 64px) 0;
}

html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
html { scroll-behavior: auto; }
}

[data-reveal] {
opacity: 0;
transform: translateY(24px);
transition: opacity 0.7s ease, transform 0.7s ease;
will-change: opacity, transform;
}
@media (prefers-reduced-motion: reduce) {
[data-reveal] {
opacity: 1;
transform: none;
transition: none;
}
}

.map-stylized__watermark { display: none; }
@keyframes mapMarkerPulse {
0%, 100% { filter: drop-shadow(0 0 0 rgba(30, 58, 95, 0)); }
50%      { filter: drop-shadow(0 0 6px rgba(214,36,16, 0.55)); }
}

.cta-final .btn:not(.btn-outline-white):not(.btn--outline) {
background: var(--highlight, #D62410) !important;
border-color: var(--highlight, #D62410) !important;
color: #fff !important;
}
.cta-final .btn:not(.btn-outline-white):not(.btn--outline):hover {
background: #A8160A !important;
color: #fff !important;
}

.map-stylized__marker {
opacity: 0;
transform: translateY(-40px) scale(0.4);
transform-origin: center;
transform-box: fill-box;
transition: opacity 0.5s ease, transform 0.55s cubic-bezier(0.34, 1.6, 0.5, 1);
}
@keyframes mapRipple {
0%   { r: 6;  opacity: 0.6; stroke-width: 2; }
100% { r: 22; opacity: 0;   stroke-width: 0.5; }
}
@keyframes mapRippleUmland {
0%   { r: 5;  opacity: 0.4; }
100% { r: 14; opacity: 0;   }
}
@keyframes mapLandmarkFloat {
0%, 100% { transform: translateY(0); }
50%      { transform: translateY(-3px); }
}
@keyframes compassWobble {
0%, 100% { transform: rotate(-4deg); }
50%      { transform: rotate(4deg); }
}
@keyframes riverFlow {
0%   { stroke-dashoffset: 0; }
100% { stroke-dashoffset: -120; }
}

.map-stylized__tooltip {
background: linear-gradient(135deg, var(--main, #1A1A1A) 0%, var(--secondColor, #1A1A1A) 100%);
border: 1px solid rgba(214,36,16, 0.45);
padding: 0;
max-width: 290px;
min-width: 240px;
border-radius: 12px;
overflow: hidden;
box-shadow: 0 12px 36px rgba(30, 58, 95, 0.45);
transform: translate(-50%, -100%) translateY(0) scale(0.85);
transition: opacity 0.25s ease, transform 0.3s cubic-bezier(0.34, 1.56, 0.5, 1);
}

.map-stylized__district {
fill: rgba(214,36,16, 0.06);
stroke: rgba(214,36,16, 0.20);
stroke-width: 1;
stroke-dasharray: 4 3;
cursor: pointer;
transition: fill 0.3s ease, stroke 0.3s ease;
}
@keyframes hqPulse {
0%   { r: 10; opacity: 0.7; stroke-width: 2.5; }
100% { r: 38; opacity: 0;   stroke-width: 0.5; }
}
@keyframes hqLinkFlow {
0%   { stroke-dashoffset: 0; }
100% { stroke-dashoffset: -24; }
}
.mid-cta-section__stat-num {
font-family: var(--headline, 'Mosafin', 'Mosafin Fallback', serif);
font-size: 1.3rem;
font-weight: 700;
color: var(--gold-text, #B81E0E);
letter-spacing: -0.01em;
}

@media (max-width: 720px) {
body .hero--new .hero__inner,
.hero--new .hero__inner {
grid-template-columns: 1fr !important;
gap: 28px !important;
padding-top: 32px !important;
padding-bottom: 60px !important;
}
body .hero--new .hero__person,
.hero--new .hero__person {
justify-self: stretch !important;
max-width: 100% !important;
margin-top: 0 !important;
}
}

@font-face { font-family: 'Mosafin'; src: url('https://schmittoil.org/wp-content/uploads/schmittoil/assets/fonts/Mosafin-Medium.woff2') format('woff2'),
url('https://schmittoil.org/wp-content/uploads/schmittoil/assets/fonts/Mosafin-Medium.otf') format('opentype') format('opentype'); font-weight: 500; font-display: swap; }
@font-face { font-family: 'Mosafin'; src: url('https://schmittoil.org/wp-content/uploads/schmittoil/assets/fonts/Mosafin-Bold.woff2') format('woff2'),
url('https://schmittoil.org/wp-content/uploads/schmittoil/assets/fonts/Mosafin-Bold.otf') format('opentype') format('opentype'); font-weight: 700; font-display: swap; }

:root {
--main: #1A1A1A; --main-soft: #333333;
--text: #1A1A1A; --text-soft: #565656;
--bg-cream: #FFF7F0; --bg-sand: #FBEEDD;
--highlight: #D62410; --hairline-gold: rgba(214,36,16,0.4);
--hairline: #ECE0CF;

--mainColor: var(--main);
--mainColorLight: var(--main-soft);
--secondColor: var(--text);
--secondColorLight: var(--text-soft);
--backgroundColor: var(--bg-cream);
--greyVeryLight: var(--bg-sand);
--whHighlight: var(--highlight);
--whHairlineGold: var(--hairline-gold);
--headline: 'Mosafin', 'Playfair Display', serif;
--mainFont: 'Montserrat', sans-serif;

}
* { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: 'Montserrat', 'Montserrat Fallback', sans-serif; background: var(--bg-cream); color: var(--text); line-height: 1.65; }
h1,h2,h3,h4 { font-family: 'Mosafin', 'Mosafin Fallback', 'Playfair Display', serif; line-height: 1.15; letter-spacing: -0.5px; }
.container { max-width: 1240px; margin: 0 auto; padding: 0 32px; }

.btn { display: inline-flex; align-items: center; padding: 14px 28px; border-radius: 50px; background: var(--main); color: var(--bg-cream); text-decoration: none; font-weight: 600; font-size: 14px; transition: background 0.2s; border: none; cursor: pointer; }
.btn:hover { background: var(--main-soft); }
.btn--lg { padding: 18px 36px; font-size: 16px; }

.hero { background: linear-gradient(160deg, var(--bg-sand) 0%, var(--bg-cream) 100%); padding: 120px 0 160px; position: relative; overflow: hidden; }
.hero::before { content: ''; position: absolute; inset: 0; background-image: radial-gradient(circle at 80% 30%, rgba(214,36,16,0.18) 0%, transparent 55%); }
.hero__inner { max-width: 820px; position: relative; z-index: 2; }
.hero__eyebrow { display: inline-block; color: var(--main); font-size: 12px; font-weight: 700; letter-spacing: 0.28em; text-transform: uppercase; padding-bottom: 8px; border-bottom: 1px solid var(--highlight); margin-bottom: 32px; }

.section { padding: 120px 0; }
.section__header { max-width: 760px; margin: 0 auto 64px; text-align: center; }
.section__label { display: inline-block; color: var(--main); font-size: 11px; letter-spacing: 0.28em; font-weight: 700; text-transform: uppercase; padding-bottom: 6px; border-bottom: 1px solid var(--highlight); margin-bottom: 20px; }
.section__header h2 { font-size: clamp(1.8rem, 1.2rem + 2vw, 2.6rem); margin-bottom: 16px; }
.section__header p { color: var(--text-soft); font-size: 1.1rem; }

.foot { background: var(--text); color: rgba(248,244,237,0.72); padding: 72px 0 28px; }
.foot .container { max-width: 1240px; margin: 0 auto; padding: 0 32px; }

@media (max-width: 768px) {
.sticky-call { display: flex; position: fixed; bottom: 0; left: 0; right: 0; z-index: 100; background: var(--main); color: var(--bg-cream); padding: 14px 16px; text-decoration: none; justify-content: center; gap: 12px; font-family: 'Playfair Display'; font-weight: 600; box-shadow: 0 -4px 16px rgba(0,0,0,0.12); }
.head__nav { display: none; }
.section { padding: 64px 0; }
}

.container { max-width: 1504px; width: 92%; padding: 0; }
@media (max-width: 1100px) { .container { width: 94%; } }

.btn {
display: inline-block; position: relative;
border: 1px solid var(--main);
cursor: pointer; padding: 14px 40px 14px 64px;
color: var(--bg-cream); background: linear-gradient(180deg, var(--main-soft) 0%, var(--main) 100%);
box-shadow: 0 -4px 14px 0 rgba(0,0,0,0.25) inset;
border-radius: 50px; font-family: 'Mosafin', 'Mosafin Fallback', 'Playfair Display', serif;
font-size: 17px; font-weight: 500; text-decoration: none;
transition: all 0.3s ease-in-out; line-height: 120%;
}
.btn::before {
content: ''; position: absolute; left: 32px; top: 50%;
transform: translateY(-50%);
width: 14px; height: 14px;
background: currentColor;
mask: var(--asset-9) no-repeat center / contain;
-webkit-mask: var(--asset-9) no-repeat center / contain;
transition: transform 0.3s;
}
.btn:hover { background: linear-gradient(180deg, var(--main) 0%, var(--main-soft) 100%); }
.btn:hover::before { transform: translateY(-50%) translateX(4px); }
.btn--lg { padding: 18px 48px 18px 72px; font-size: 19px; }

.hero {
position: relative; min-height: 80vh;
padding: 180px 24px 140px;
background:
linear-gradient(180deg, rgba(26, 36, 51,.85) 0%, rgba(26, 36, 51,.60) 45%, rgba(26, 36, 51,.85) 100%),
url('../heroes/landkreis-lichtenfels.webp') center/cover;
color: #fff;
display: flex; align-items: center; justify-content: center; text-align: center;
overflow: hidden;
}
.hero::before { content: none !important; }
.hero__inner { max-width: 820px; margin: 0 auto; position: relative; z-index: 2; color: #fff; text-align: center; }
.hero__eyebrow { color: var(--highlight) !important; border-bottom-color: var(--highlight) !important; }
.hero h1 { color: #fff !important; }
.hero h1 em { color: var(--highlight) !important; }

.container.breadcrumb {
position: absolute;
bottom: 16px;
left: 0; right: 0;
z-index: 5;
color: rgba(255,255,255,0.5);
font-size: 0.78rem;
padding: 0 32px;
text-align: center;
letter-spacing: 0.5px;
}
.container.breadcrumb a { color: rgba(255,255,255,0.7); text-decoration: none; }
.container.breadcrumb a:hover { color: var(--highlight, #D62410); }
@media (max-width: 768px) { .container.breadcrumb { display: none; } }
.hero {
margin-top: -135px;
padding-top: 220px !important;
}
body { background: var(--bg-cream, #FFF7F0); }

.section { background: var(--bg-cream, #FFF7F0); padding: 80px 0; }
.section .container { max-width: 1200px; margin: 0 auto; padding: 0 32px; }
.section__header { max-width: 760px; margin: 0 auto 56px; text-align: center; }
.section__header h2 { font-family: var(--headline, 'Mosafin', 'Mosafin Fallback', serif); font-size: clamp(1.8rem, 1.2rem + 2vw, 2.6rem); color: var(--main, #1A1A1A); margin-bottom: 16px; }
.section__header p { color: var(--text-soft, #565656); font-size: 1.05rem; line-height: 1.6; }
.section__label { display: inline-block; color: var(--highlight, #D62410); font-size: 12px; font-weight: 700; letter-spacing: 0.28em; text-transform: uppercase; padding-bottom: 8px; border-bottom: 1px solid var(--highlight, #D62410); margin-bottom: 24px; }

.hero-form { background: rgba(255,255,255,0.97); border-radius: 14px; padding: 32px 28px; box-shadow: 0 12px 48px rgba(0,0,0,0.35); color: var(--text); max-width: 460px; margin: 32px 0 0; }
.hero-form__field { margin-bottom: 16px; }
.hero-form__field label { display: block; font-size: 0.82rem; font-weight: 700; letter-spacing: 0.3px; margin-bottom: 6px; color: var(--text); }
.hero-form__field input, .hero-form__field select { width: 100%; padding: 12px 14px; border: 1px solid var(--hairline); border-radius: 8px; font-size: 0.95rem; font-family: var(--mainFont); background: #FAFAF7; }
.hero-form__btn { width: 100%; padding: 16px; background: var(--highlight); color: #fff; border: none; border-radius: 50px; font-weight: 700; font-size: 1rem; cursor: pointer; margin-top: 8px; }
.hero-form__btn:hover { background: #A8160A; }
.hero-form__step { display: none; }
.hero-form__step.is-active { display: block; }
.hero-form__step-indicator { display: flex; gap: 6px; margin-bottom: 18px; }
.hero-form__step-dot { flex: 1; height: 3px; background: rgba(214,36,16,0.2); border-radius: 2px; transition: background 0.3s; }
.hero-form__step-dot.is-active { background: var(--highlight); }
.hero-form__back { background: transparent; border: none; color: var(--text-soft); font-size: 0.85rem; cursor: pointer; margin-top: 10px; }
.hero-form__hint { font-size: 0.78rem; color: var(--text-soft); margin-top: 12px; text-align: center; }

:root {
--main: #1A1A1A; --main-soft: #333333; --text: #1A1A1A; --text-soft: #565656;
--bg-cream: #FFF7F0; --bg-sand: #FBEEDD; --highlight: #D62410;
--hairline-gold: rgba(214,36,16,0.4); --hairline: #ECE0CF;
--mainColor: var(--main); --secondColor: var(--text); --backgroundColor: var(--bg-cream);
--greyVeryLight: var(--bg-sand); --whHighlight: var(--highlight); --whHairlineGold: var(--hairline-gold);
--headline: 'Mosafin', 'Playfair Display', serif; --mainFont: 'Montserrat', sans-serif;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: 'Montserrat', 'Montserrat Fallback', sans-serif; background: var(--bg-cream); color: var(--text); line-height: 1.7; }
h1, h2, h3 { font-family: 'Mosafin', 'Mosafin Fallback', 'Playfair Display', serif; line-height: 1.2; letter-spacing: -0.5px; }
.wrap { max-width: 820px; margin: 0 auto; padding: 100px 24px 80px; }
.wrap h1 { font-size: clamp(2rem, 1.4rem + 2vw, 3rem); margin-bottom: 32px; }
h2 { font-size: 1.4rem; margin: 40px 0 14px; color: var(--main); }
p { margin-bottom: 14px; color: var(--text-soft); }
strong { color: var(--text); font-weight: 600; }
a { color: var(--main); text-decoration: underline; }
.placeholder { background: rgba(214,36,16,0.1); border: 1px solid var(--hairline-gold); border-radius: 8px; padding: 16px 20px; margin: 16px 0; font-size: 0.92rem; color: var(--text-soft); }
.placeholder strong { color: var(--main); font-family: 'Mosafin', 'Mosafin Fallback', serif; display: block; margin-bottom: 4px; letter-spacing: 0.05em; }
.foot { background: var(--text); color: rgba(248,244,237,0.7); padding: 40px 0; text-align: center; font-size: 0.85rem; }
.foot a { color: var(--highlight); }

.container.breadcrumb {
position: absolute;
bottom: 16px;
left: 0; right: 0;
z-index: 5;
color: rgba(255,255,255,0.5);
font-size: 0.78rem;
padding: 0 32px;
text-align: center;
letter-spacing: 0.5px;
}
.container.breadcrumb a { color: rgba(255,255,255,0.7); text-decoration: none; }
.container.breadcrumb a:hover { color: var(--highlight, #D62410); }
@media (max-width: 768px) { .container.breadcrumb { display: none; } }
.hero {
margin-top: -135px;
padding-top: 220px !important;
}
body { background: var(--bg-cream, #FFF7F0); }

.section { background: var(--bg-cream, #FFF7F0); padding: 80px 0; }
.section .container { max-width: 1200px; margin: 0 auto; padding: 0 32px; }
.section__header { max-width: 760px; margin: 0 auto 56px; text-align: center; }
.section__header h2 { font-family: var(--headline, 'Mosafin', 'Mosafin Fallback', serif); font-size: clamp(1.8rem, 1.2rem + 2vw, 2.6rem); color: var(--main, #1A1A1A); margin-bottom: 16px; }
.section__header p { color: var(--text-soft, #565656); font-size: 1.05rem; line-height: 1.6; }
.section__label { display: inline-block; color: var(--highlight, #D62410); font-size: 12px; font-weight: 700; letter-spacing: 0.28em; text-transform: uppercase; padding-bottom: 8px; border-bottom: 1px solid var(--highlight, #D62410); margin-bottom: 24px; }

:root {
--main: #1A1A1A; --main-soft: #333333; --text: #1A1A1A; --text-soft: #565656;
--bg-cream: #FFF7F0; --bg-sand: #FBEEDD; --highlight: #D62410;
--hairline-gold: rgba(214,36,16,0.4); --hairline: #ECE0CF;
--mainColor: var(--main); --secondColor: var(--text); --backgroundColor: var(--bg-cream);
--greyVeryLight: var(--bg-sand); --whHighlight: var(--highlight); --whHairlineGold: var(--hairline-gold);
--headline: 'Mosafin', 'Playfair Display', serif; --mainFont: 'Montserrat', sans-serif;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: 'Montserrat', 'Montserrat Fallback', sans-serif; background: var(--bg-cream); color: var(--text); line-height: 1.7; }
h1, h2, h3 { font-family: 'Mosafin', 'Mosafin Fallback', 'Playfair Display', serif; line-height: 1.2; letter-spacing: -0.5px; }
.wrap { max-width: 820px; margin: 0 auto; padding: 100px 24px 80px; }
.wrap h1 { font-size: clamp(2rem, 1.4rem + 2vw, 3rem); margin-bottom: 32px; }
h2 { font-size: 1.4rem; margin: 40px 0 14px; color: var(--main); }
h3 { font-size: 1.1rem; margin: 28px 0 10px; }
p, ul { margin-bottom: 14px; color: var(--text-soft); }
ul { padding-left: 24px; }
li { margin-bottom: 6px; }
strong { color: var(--text); font-weight: 600; }
a { color: var(--main); text-decoration: underline; }
.box { background: rgba(214,36,16,0.08); border: 1px solid var(--hairline-gold); border-radius: 8px; padding: 20px 24px; margin: 24px 0; }
.box strong { color: var(--main); font-family: 'Mosafin', 'Mosafin Fallback', serif; display: block; margin-bottom: 8px; }
.foot { background: var(--text); color: rgba(248,244,237,0.7); padding: 40px 0; text-align: center; font-size: 0.85rem; }
.foot a { color: var(--highlight); }

.container.breadcrumb {
position: absolute;
bottom: 16px;
left: 0; right: 0;
z-index: 5;
color: rgba(255,255,255,0.5);
font-size: 0.78rem;
padding: 0 32px;
text-align: center;
letter-spacing: 0.5px;
}
.container.breadcrumb a { color: rgba(255,255,255,0.7); text-decoration: none; }
.container.breadcrumb a:hover { color: var(--highlight, #D62410); }
@media (max-width: 768px) { .container.breadcrumb { display: none; } }
.hero {
margin-top: -135px;
padding-top: 220px !important;
}
body { background: var(--bg-cream, #FFF7F0); }

.section { background: var(--bg-cream, #FFF7F0); padding: 80px 0; }
.section .container { max-width: 1200px; margin: 0 auto; padding: 0 32px; }
.section__header { max-width: 760px; margin: 0 auto 56px; text-align: center; }
.section__header h2 { font-family: var(--headline, 'Mosafin', 'Mosafin Fallback', serif); font-size: clamp(1.8rem, 1.2rem + 2vw, 2.6rem); color: var(--main, #1A1A1A); margin-bottom: 16px; }
.section__header p { color: var(--text-soft, #565656); font-size: 1.05rem; line-height: 1.6; }
.section__label { display: inline-block; color: var(--highlight, #D62410); font-size: 12px; font-weight: 700; letter-spacing: 0.28em; text-transform: uppercase; padding-bottom: 8px; border-bottom: 1px solid var(--highlight, #D62410); margin-bottom: 24px; }

@font-face { font-family: 'Mosafin'; src: url('https://schmittoil.org/wp-content/uploads/schmittoil/assets/fonts/Mosafin-Medium.woff2') format('woff2'),
url('https://schmittoil.org/wp-content/uploads/schmittoil/assets/fonts/Mosafin-Medium.otf') format('opentype') format('opentype'); font-weight: 500; font-display: swap; }
@font-face { font-family: 'Mosafin'; src: url('https://schmittoil.org/wp-content/uploads/schmittoil/assets/fonts/Mosafin-Bold.woff2') format('woff2'),
url('https://schmittoil.org/wp-content/uploads/schmittoil/assets/fonts/Mosafin-Bold.otf') format('opentype') format('opentype'); font-weight: 700; font-display: swap; }

:root {
--main: #1A1A1A; --main-soft: #333333;
--text: #1A1A1A; --text-soft: #565656;
--bg-cream: #FFF7F0; --bg-sand: #FBEEDD;
--highlight: #D62410; --hairline-gold: rgba(214,36,16,0.4);
--hairline: #ECE0CF;

--mainColor: var(--main);
--mainColorLight: var(--main-soft);
--secondColor: var(--text);
--secondColorLight: var(--text-soft);
--backgroundColor: var(--bg-cream);
--greyVeryLight: var(--bg-sand);
--whHighlight: var(--highlight);
--whHairlineGold: var(--hairline-gold);
--headline: 'Mosafin', 'Playfair Display', serif;
--mainFont: 'Montserrat', sans-serif;

}
* { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: 'Montserrat', 'Montserrat Fallback', sans-serif; background: var(--bg-cream); color: var(--text); line-height: 1.65; }
h1,h2,h3,h4 { font-family: 'Mosafin', 'Mosafin Fallback', 'Playfair Display', serif; line-height: 1.15; letter-spacing: -0.5px; }
.container { max-width: 1240px; margin: 0 auto; padding: 0 32px; }

.btn { display: inline-flex; align-items: center; padding: 14px 28px; border-radius: 50px; background: var(--main); color: var(--bg-cream); text-decoration: none; font-weight: 600; font-size: 14px; transition: background 0.2s; border: none; cursor: pointer; }
.btn:hover { background: var(--main-soft); }
.btn--lg { padding: 18px 36px; font-size: 16px; }
.breadcrumb { padding: 20px 0 0; font-size: 13px; color: var(--text-soft); }
.breadcrumb a { color: var(--main); text-decoration: none; }
.breadcrumb a:hover { text-decoration: underline; }
.hero { background: linear-gradient(160deg, var(--bg-sand) 0%, var(--bg-cream) 100%); padding: 80px 0 140px; position: relative; overflow: hidden; }
.hero::before { content: ''; position: absolute; inset: 0; background-image: radial-gradient(circle at 80% 30%, rgba(214,36,16,0.18) 0%, transparent 55%); }
.hero__inner { max-width: 820px; position: relative; z-index: 2; }
.hero__eyebrow { display: inline-block; color: var(--main); font-size: 12px; font-weight: 700; letter-spacing: 0.28em; text-transform: uppercase; padding-bottom: 8px; border-bottom: 1px solid var(--highlight); margin-bottom: 28px; }
.section { padding: 100px 0; }
.section__header { max-width: 720px; margin: 0 auto 56px; text-align: center; }
.section__label { display: inline-block; color: var(--main); font-size: 11px; letter-spacing: 0.28em; font-weight: 700; text-transform: uppercase; padding-bottom: 6px; border-bottom: 1px solid var(--highlight); margin-bottom: 20px; }
.section__header h2 { font-size: clamp(1.7rem, 1.2rem + 1.5vw, 2.4rem); margin-bottom: 14px; }
.section__header p { color: var(--text-soft); font-size: 1.05rem; }
.was { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; max-width: 1080px; margin: 0 auto; }
@media (max-width: 900px) { .was { grid-template-columns: 1fr; } }

.foot { background: var(--text); color: rgba(248,244,237,0.72); padding: 72px 0 28px; }
.foot .container { max-width: 1240px; margin: 0 auto; padding: 0 32px; }
@media (max-width: 768px) { .section { padding: 64px 0; } }

.container { max-width: 1504px; width: 92%; padding: 0; }
@media (max-width: 1100px) { .container { width: 94%; } }

.btn {
display: inline-block; position: relative;
border: 1px solid var(--main);
cursor: pointer; padding: 14px 40px 14px 64px;
color: var(--bg-cream); background: linear-gradient(180deg, var(--main-soft) 0%, var(--main) 100%);
box-shadow: 0 -4px 14px 0 rgba(0,0,0,0.25) inset;
border-radius: 50px; font-family: 'Mosafin', 'Mosafin Fallback', 'Playfair Display', serif;
font-size: 17px; font-weight: 500; text-decoration: none;
transition: all 0.3s ease-in-out; line-height: 120%;
}
.btn::before {
content: ''; position: absolute; left: 32px; top: 50%;
transform: translateY(-50%);
width: 14px; height: 14px;
background: currentColor;
mask: var(--asset-9) no-repeat center / contain;
-webkit-mask: var(--asset-9) no-repeat center / contain;
transition: transform 0.3s;
}
.btn:hover { background: linear-gradient(180deg, var(--main) 0%, var(--main-soft) 100%); }
.btn:hover::before { transform: translateY(-50%) translateX(4px); }
.btn--lg { padding: 18px 48px 18px 72px; font-size: 19px; }

.hero {
position: relative; min-height: 70vh;
padding: 160px 24px 120px;
background:
linear-gradient(160deg, rgba(26,36,51,0.78) 0%, rgba(30,58,95,0.65) 50%, rgba(26,36,51,0.85) 100%),
radial-gradient(circle at 25% 20%, rgba(214,36,16,0.18) 0%, transparent 55%),
linear-gradient(160deg, var(--main, #1A1A1A) 0%, var(--text, #1A1A1A) 100%);
color: #fff;
display: flex; align-items: center; justify-content: center; text-align: center;
overflow: hidden;
}
.hero::after {
content: '';
position: absolute;
inset: 0;
background-image:
linear-gradient(90deg, rgba(214,36,16,0.04) 1px, transparent 1px),
linear-gradient(0deg, rgba(214,36,16,0.04) 1px, transparent 1px);
background-size: 60px 60px;
pointer-events: none;
z-index: 1;
}
.hero::before { content: none !important; }
.hero__inner { max-width: 820px; margin: 0 auto; position: relative; z-index: 2; color: #fff; text-align: center; }
.hero__eyebrow { color: var(--highlight) !important; border-bottom-color: var(--highlight) !important; }
.hero h1 { color: #fff !important; }
.hero h1 em { color: var(--highlight) !important; }

.container.breadcrumb {
position: absolute;
bottom: 16px;
left: 0; right: 0;
z-index: 5;
color: rgba(255,255,255,0.5);
font-size: 0.78rem;
padding: 0 32px;
text-align: center;
letter-spacing: 0.5px;
}
.container.breadcrumb a { color: rgba(255,255,255,0.7); text-decoration: none; }
.container.breadcrumb a:hover { color: var(--highlight, #D62410); }
@media (max-width: 768px) { .container.breadcrumb { display: none; } }
.hero {
margin-top: -135px;
padding-top: 220px !important;
}
body { background: var(--bg-cream, #FFF7F0); }

.hero__inner { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
.hero__copy { max-width: 100%; text-align: left; }
.hero__copy h1 { text-align: left; }
@media (max-width: 900px) {
.hero__inner { grid-template-columns: 1fr; }
.hero__copy { text-align: center; }
.hero__copy h1 { text-align: center; }
}

.hero-form { background: rgba(255,255,255,0.97); border-radius: 14px; padding: 32px 28px; box-shadow: 0 12px 48px rgba(0,0,0,0.35); color: var(--text); }
.hero-form__field { margin-bottom: 16px; }
.hero-form__field label { display: block; font-size: 0.82rem; font-weight: 700; letter-spacing: 0.3px; margin-bottom: 6px; color: var(--text); }
.hero-form__field input, .hero-form__field select { width: 100%; padding: 12px 14px; border: 1px solid var(--hairline, #ECE0CF); border-radius: 8px; font-size: 0.95rem; font-family: var(--mainFont); background: #FAFAF7; transition: border-color 0.2s; }
.hero-form__field input:focus, .hero-form__field select:focus { outline: none; border-color: var(--highlight); }
.hero-form__btn { width: 100%; padding: 16px; background: var(--highlight, #D62410); color: #fff; border: none; border-radius: 50px; font-weight: 700; font-size: 1rem; letter-spacing: 0.5px; cursor: pointer; transition: all 0.25s; margin-top: 8px; }
.hero-form__btn:hover { background: #A8160A; transform: translateY(-1px); box-shadow: 0 8px 20px rgba(0,0,0,0.2); }
.hero-form__hint { font-size: 0.78rem; color: var(--text-soft); margin-top: 12px; text-align: center; }

.cases { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; max-width: 980px; margin: 0 auto; }
@media (max-width: 800px) { .cases { grid-template-columns: 1fr; } }
.case-card { background: var(--text); color: rgba(255,255,255,0.9); padding: 32px 28px; border-radius: 12px; border-top: 3px solid var(--highlight); }
.case-card h3 { font-family: var(--headline); color: #fff; font-size: 1.3rem; margin-bottom: 18px; line-height: 1.3; }
.case-card__specs { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 18px; margin-bottom: 18px; padding-bottom: 18px; border-bottom: 1px solid rgba(214,36,16,0.25); }

.section { background: var(--bg-cream, #FFF7F0); padding: 80px 0; }
.section .container { max-width: 1200px; margin: 0 auto; padding: 0 32px; }
.section__header { max-width: 760px; margin: 0 auto 56px; text-align: center; }
.section__header h2 { font-family: var(--headline, 'Mosafin', 'Mosafin Fallback', serif); font-size: clamp(1.8rem, 1.2rem + 2vw, 2.6rem); color: var(--main, #1A1A1A); margin-bottom: 16px; }
.section__header p { color: var(--text-soft, #565656); font-size: 1.05rem; line-height: 1.6; }
.section__label { display: inline-block; color: var(--highlight, #D62410); font-size: 12px; font-weight: 700; letter-spacing: 0.28em; text-transform: uppercase; padding-bottom: 8px; border-bottom: 1px solid var(--highlight, #D62410); margin-bottom: 24px; }

.hero-form__step { display: none; }
.hero-form__step.is-active { display: block; }
.hero-form__step-indicator { display: flex; gap: 6px; margin-bottom: 18px; }
.hero-form__step-dot { flex: 1; height: 3px; background: rgba(214,36,16,0.2); border-radius: 2px; transition: background 0.3s; }
.hero-form__step-dot.is-active { background: var(--highlight); }
.hero-form__back { background: transparent; border: none; color: var(--text-soft); font-size: 0.85rem; cursor: pointer; padding: 0; margin-top: 10px; }
.hero-form__back:hover { color: var(--main); }

@font-face { font-family: 'Mosafin'; src: url('https://schmittoil.org/wp-content/uploads/schmittoil/assets/fonts/Mosafin-Medium.woff2') format('woff2'),
url('https://schmittoil.org/wp-content/uploads/schmittoil/assets/fonts/Mosafin-Medium.otf') format('opentype') format('opentype'); font-weight: 500; font-display: swap; }
@font-face { font-family: 'Mosafin'; src: url('https://schmittoil.org/wp-content/uploads/schmittoil/assets/fonts/Mosafin-Bold.woff2') format('woff2'),
url('https://schmittoil.org/wp-content/uploads/schmittoil/assets/fonts/Mosafin-Bold.otf') format('opentype') format('opentype'); font-weight: 700; font-display: swap; }

:root {
--main: #1A1A1A; --main-soft: #333333;
--text: #1A1A1A; --text-soft: #565656;
--bg-cream: #FFF7F0; --bg-sand: #FBEEDD;
--highlight: #D62410; --hairline-gold: rgba(214,36,16,0.4);
--hairline: #ECE0CF;

--mainColor: var(--main);
--mainColorLight: var(--main-soft);
--secondColor: var(--text);
--secondColorLight: var(--text-soft);
--backgroundColor: var(--bg-cream);
--greyVeryLight: var(--bg-sand);
--whHighlight: var(--highlight);
--whHairlineGold: var(--hairline-gold);
--headline: 'Mosafin', 'Playfair Display', serif;
--mainFont: 'Montserrat', sans-serif;

}
* { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: 'Montserrat', 'Montserrat Fallback', sans-serif; background: var(--bg-cream); color: var(--text); line-height: 1.65; }
h1,h2,h3,h4 { font-family: 'Mosafin', 'Mosafin Fallback', 'Playfair Display', serif; line-height: 1.15; letter-spacing: -0.5px; }
.container { max-width: 1240px; margin: 0 auto; padding: 0 32px; }

.btn { display: inline-flex; align-items: center; padding: 14px 28px; border-radius: 50px; background: var(--main); color: var(--bg-cream); text-decoration: none; font-weight: 600; font-size: 14px; transition: background 0.2s; border: none; cursor: pointer; }
.btn:hover { background: var(--main-soft); }
.btn--lg { padding: 18px 36px; font-size: 16px; }
.breadcrumb { padding: 20px 0 0; font-size: 13px; color: var(--text-soft); }
.breadcrumb a { color: var(--main); text-decoration: none; }
.breadcrumb a:hover { text-decoration: underline; }
.hero { background: linear-gradient(160deg, var(--bg-sand) 0%, var(--bg-cream) 100%); padding: 80px 0 140px; position: relative; overflow: hidden; }
.hero::before { content: ''; position: absolute; inset: 0; background-image: radial-gradient(circle at 80% 30%, rgba(214,36,16,0.18) 0%, transparent 55%); }
.hero__inner { max-width: 820px; position: relative; z-index: 2; }
.hero__eyebrow { display: inline-block; color: var(--main); font-size: 12px; font-weight: 700; letter-spacing: 0.28em; text-transform: uppercase; padding-bottom: 8px; border-bottom: 1px solid var(--highlight); margin-bottom: 28px; }
.section { padding: 100px 0; }
.section__header { max-width: 720px; margin: 0 auto 56px; text-align: center; }
.section__label { display: inline-block; color: var(--main); font-size: 11px; letter-spacing: 0.28em; font-weight: 700; text-transform: uppercase; padding-bottom: 6px; border-bottom: 1px solid var(--highlight); margin-bottom: 20px; }
.section__header h2 { font-size: clamp(1.7rem, 1.2rem + 1.5vw, 2.4rem); margin-bottom: 14px; }
.section__header p { color: var(--text-soft); font-size: 1.05rem; }
.was { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; max-width: 1080px; margin: 0 auto; }
@media (max-width: 900px) { .was { grid-template-columns: 1fr; } }

.foot { background: var(--text); color: rgba(248,244,237,0.72); padding: 72px 0 28px; }
.foot .container { max-width: 1240px; margin: 0 auto; padding: 0 32px; }
@media (max-width: 768px) { .section { padding: 64px 0; } }

.container { max-width: 1504px; width: 92%; padding: 0; }
@media (max-width: 1100px) { .container { width: 94%; } }

.btn {
display: inline-block; position: relative;
border: 1px solid var(--main);
cursor: pointer; padding: 14px 40px 14px 64px;
color: var(--bg-cream); background: linear-gradient(180deg, var(--main-soft) 0%, var(--main) 100%);
box-shadow: 0 -4px 14px 0 rgba(0,0,0,0.25) inset;
border-radius: 50px; font-family: 'Mosafin', 'Mosafin Fallback', 'Playfair Display', serif;
font-size: 17px; font-weight: 500; text-decoration: none;
transition: all 0.3s ease-in-out; line-height: 120%;
}
.btn::before {
content: ''; position: absolute; left: 32px; top: 50%;
transform: translateY(-50%);
width: 14px; height: 14px;
background: currentColor;
mask: var(--asset-9) no-repeat center / contain;
-webkit-mask: var(--asset-9) no-repeat center / contain;
transition: transform 0.3s;
}
.btn:hover { background: linear-gradient(180deg, var(--main) 0%, var(--main-soft) 100%); }
.btn:hover::before { transform: translateY(-50%) translateX(4px); }
.btn--lg { padding: 18px 48px 18px 72px; font-size: 19px; }

.hero {
position: relative; min-height: 70vh;
padding: 160px 24px 120px;
background:
linear-gradient(160deg, rgba(26,36,51,0.78) 0%, rgba(30,58,95,0.65) 50%, rgba(26,36,51,0.85) 100%),
radial-gradient(circle at 25% 20%, rgba(214,36,16,0.18) 0%, transparent 55%),
linear-gradient(160deg, var(--main, #1A1A1A) 0%, var(--text, #1A1A1A) 100%);
color: #fff;
display: flex; align-items: center; justify-content: center; text-align: center;
overflow: hidden;
}
.hero::after {
content: '';
position: absolute;
inset: 0;
background-image:
linear-gradient(90deg, rgba(214,36,16,0.04) 1px, transparent 1px),
linear-gradient(0deg, rgba(214,36,16,0.04) 1px, transparent 1px);
background-size: 60px 60px;
pointer-events: none;
z-index: 1;
}
.hero::before { content: none !important; }
.hero__inner { max-width: 820px; margin: 0 auto; position: relative; z-index: 2; color: #fff; text-align: center; }
.hero__eyebrow { color: var(--highlight) !important; border-bottom-color: var(--highlight) !important; }
.hero h1 { color: #fff !important; }
.hero h1 em { color: var(--highlight) !important; }

.container.breadcrumb {
position: absolute;
bottom: 16px;
left: 0; right: 0;
z-index: 5;
color: rgba(255,255,255,0.5);
font-size: 0.78rem;
padding: 0 32px;
text-align: center;
letter-spacing: 0.5px;
}
.container.breadcrumb a { color: rgba(255,255,255,0.7); text-decoration: none; }
.container.breadcrumb a:hover { color: var(--highlight, #D62410); }
@media (max-width: 768px) { .container.breadcrumb { display: none; } }
.hero {
margin-top: -135px;
padding-top: 220px !important;
}
body { background: var(--bg-cream, #FFF7F0); }

.hero__inner { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
.hero__copy { max-width: 100%; text-align: left; }
.hero__copy h1 { text-align: left; }
@media (max-width: 900px) {
.hero__inner { grid-template-columns: 1fr; }
.hero__copy { text-align: center; }
.hero__copy h1 { text-align: center; }
}

.hero-form { background: rgba(255,255,255,0.97); border-radius: 14px; padding: 32px 28px; box-shadow: 0 12px 48px rgba(0,0,0,0.35); color: var(--text); }
.hero-form__field { margin-bottom: 16px; }
.hero-form__field label { display: block; font-size: 0.82rem; font-weight: 700; letter-spacing: 0.3px; margin-bottom: 6px; color: var(--text); }
.hero-form__field input, .hero-form__field select { width: 100%; padding: 12px 14px; border: 1px solid var(--hairline, #ECE0CF); border-radius: 8px; font-size: 0.95rem; font-family: var(--mainFont); background: #FAFAF7; transition: border-color 0.2s; }
.hero-form__field input:focus, .hero-form__field select:focus { outline: none; border-color: var(--highlight); }
.hero-form__btn { width: 100%; padding: 16px; background: var(--highlight, #D62410); color: #fff; border: none; border-radius: 50px; font-weight: 700; font-size: 1rem; letter-spacing: 0.5px; cursor: pointer; transition: all 0.25s; margin-top: 8px; }
.hero-form__btn:hover { background: #A8160A; transform: translateY(-1px); box-shadow: 0 8px 20px rgba(0,0,0,0.2); }
.hero-form__hint { font-size: 0.78rem; color: var(--text-soft); margin-top: 12px; text-align: center; }

.cases { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; max-width: 980px; margin: 0 auto; }
@media (max-width: 800px) { .cases { grid-template-columns: 1fr; } }
.case-card { background: var(--text); color: rgba(255,255,255,0.9); padding: 32px 28px; border-radius: 12px; border-top: 3px solid var(--highlight); }
.case-card h3 { font-family: var(--headline); color: #fff; font-size: 1.3rem; margin-bottom: 18px; line-height: 1.3; }
.case-card__specs { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 18px; margin-bottom: 18px; padding-bottom: 18px; border-bottom: 1px solid rgba(214,36,16,0.25); }

.section { background: var(--bg-cream, #FFF7F0); padding: 80px 0; }
.section .container { max-width: 1200px; margin: 0 auto; padding: 0 32px; }
.section__header { max-width: 760px; margin: 0 auto 56px; text-align: center; }
.section__header h2 { font-family: var(--headline, 'Mosafin', 'Mosafin Fallback', serif); font-size: clamp(1.8rem, 1.2rem + 2vw, 2.6rem); color: var(--main, #1A1A1A); margin-bottom: 16px; }
.section__header p { color: var(--text-soft, #565656); font-size: 1.05rem; line-height: 1.6; }
.section__label { display: inline-block; color: var(--highlight, #D62410); font-size: 12px; font-weight: 700; letter-spacing: 0.28em; text-transform: uppercase; padding-bottom: 8px; border-bottom: 1px solid var(--highlight, #D62410); margin-bottom: 24px; }

.hero-form__step { display: none; }
.hero-form__step.is-active { display: block; }
.hero-form__step-indicator { display: flex; gap: 6px; margin-bottom: 18px; }
.hero-form__step-dot { flex: 1; height: 3px; background: rgba(214,36,16,0.2); border-radius: 2px; transition: background 0.3s; }
.hero-form__step-dot.is-active { background: var(--highlight); }
.hero-form__back { background: transparent; border: none; color: var(--text-soft); font-size: 0.85rem; cursor: pointer; padding: 0; margin-top: 10px; }
.hero-form__back:hover { color: var(--main); }

@font-face { font-family: 'Mosafin'; src: url('https://schmittoil.org/wp-content/uploads/schmittoil/assets/fonts/Mosafin-Medium.woff2') format('woff2'),
url('https://schmittoil.org/wp-content/uploads/schmittoil/assets/fonts/Mosafin-Medium.otf') format('opentype') format('opentype'); font-weight: 500; font-display: swap; }
@font-face { font-family: 'Mosafin'; src: url('https://schmittoil.org/wp-content/uploads/schmittoil/assets/fonts/Mosafin-Bold.woff2') format('woff2'),
url('https://schmittoil.org/wp-content/uploads/schmittoil/assets/fonts/Mosafin-Bold.otf') format('opentype') format('opentype'); font-weight: 700; font-display: swap; }

:root {
--main: #1A1A1A; --main-soft: #333333;
--text: #1A1A1A; --text-soft: #565656;
--bg-cream: #FFF7F0; --bg-sand: #FBEEDD;
--highlight: #D62410; --hairline-gold: rgba(214,36,16,0.4);
--hairline: #ECE0CF;

--mainColor: var(--main);
--mainColorLight: var(--main-soft);
--secondColor: var(--text);
--secondColorLight: var(--text-soft);
--backgroundColor: var(--bg-cream);
--greyVeryLight: var(--bg-sand);
--whHighlight: var(--highlight);
--whHairlineGold: var(--hairline-gold);
--headline: 'Mosafin', 'Playfair Display', serif;
--mainFont: 'Montserrat', sans-serif;

}
* { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: 'Montserrat', 'Montserrat Fallback', sans-serif; background: var(--bg-cream); color: var(--text); line-height: 1.65; }
h1,h2,h3,h4 { font-family: 'Mosafin', 'Mosafin Fallback', 'Playfair Display', serif; line-height: 1.15; letter-spacing: -0.5px; }
.container { max-width: 1240px; margin: 0 auto; padding: 0 32px; }

.btn { display: inline-flex; align-items: center; padding: 14px 28px; border-radius: 50px; background: var(--main); color: var(--bg-cream); text-decoration: none; font-weight: 600; font-size: 14px; transition: background 0.2s; border: none; cursor: pointer; }
.btn:hover { background: var(--main-soft); }
.btn--lg { padding: 18px 36px; font-size: 16px; }
.breadcrumb { padding: 20px 0 0; font-size: 13px; color: var(--text-soft); }
.breadcrumb a { color: var(--main); text-decoration: none; }
.breadcrumb a:hover { text-decoration: underline; }
.hero { background: linear-gradient(160deg, var(--bg-sand) 0%, var(--bg-cream) 100%); padding: 80px 0 140px; position: relative; overflow: hidden; }
.hero::before { content: ''; position: absolute; inset: 0; background-image: radial-gradient(circle at 80% 30%, rgba(214,36,16,0.18) 0%, transparent 55%); }
.hero__inner { max-width: 820px; position: relative; z-index: 2; }
.hero__eyebrow { display: inline-block; color: var(--main); font-size: 12px; font-weight: 700; letter-spacing: 0.28em; text-transform: uppercase; padding-bottom: 8px; border-bottom: 1px solid var(--highlight); margin-bottom: 28px; }
.section { padding: 100px 0; }
.section__header { max-width: 720px; margin: 0 auto 56px; text-align: center; }
.section__label { display: inline-block; color: var(--main); font-size: 11px; letter-spacing: 0.28em; font-weight: 700; text-transform: uppercase; padding-bottom: 6px; border-bottom: 1px solid var(--highlight); margin-bottom: 20px; }
.section__header h2 { font-size: clamp(1.7rem, 1.2rem + 1.5vw, 2.4rem); margin-bottom: 14px; }
.section__header p { color: var(--text-soft); font-size: 1.05rem; }
.was { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; max-width: 1080px; margin: 0 auto; }
@media (max-width: 900px) { .was { grid-template-columns: 1fr; } }

.foot { background: var(--text); color: rgba(248,244,237,0.72); padding: 72px 0 28px; }
.foot .container { max-width: 1240px; margin: 0 auto; padding: 0 32px; }
@media (max-width: 768px) { .section { padding: 64px 0; } }

.container { max-width: 1504px; width: 92%; padding: 0; }
@media (max-width: 1100px) { .container { width: 94%; } }

.btn {
display: inline-block; position: relative;
border: 1px solid var(--main);
cursor: pointer; padding: 14px 40px 14px 64px;
color: var(--bg-cream); background: linear-gradient(180deg, var(--main-soft) 0%, var(--main) 100%);
box-shadow: 0 -4px 14px 0 rgba(0,0,0,0.25) inset;
border-radius: 50px; font-family: 'Mosafin', 'Mosafin Fallback', 'Playfair Display', serif;
font-size: 17px; font-weight: 500; text-decoration: none;
transition: all 0.3s ease-in-out; line-height: 120%;
}
.btn::before {
content: ''; position: absolute; left: 32px; top: 50%;
transform: translateY(-50%);
width: 14px; height: 14px;
background: currentColor;
mask: var(--asset-9) no-repeat center / contain;
-webkit-mask: var(--asset-9) no-repeat center / contain;
transition: transform 0.3s;
}
.btn:hover { background: linear-gradient(180deg, var(--main) 0%, var(--main-soft) 100%); }
.btn:hover::before { transform: translateY(-50%) translateX(4px); }
.btn--lg { padding: 18px 48px 18px 72px; font-size: 19px; }

.hero {
position: relative; min-height: 70vh;
padding: 160px 24px 120px;
background:
linear-gradient(160deg, rgba(26,36,51,0.78) 0%, rgba(30,58,95,0.65) 50%, rgba(26,36,51,0.85) 100%),
radial-gradient(circle at 25% 20%, rgba(214,36,16,0.18) 0%, transparent 55%),
linear-gradient(160deg, var(--main, #1A1A1A) 0%, var(--text, #1A1A1A) 100%);
color: #fff;
display: flex; align-items: center; justify-content: center; text-align: center;
overflow: hidden;
}
.hero::after {
content: '';
position: absolute;
inset: 0;
background-image:
linear-gradient(90deg, rgba(214,36,16,0.04) 1px, transparent 1px),
linear-gradient(0deg, rgba(214,36,16,0.04) 1px, transparent 1px);
background-size: 60px 60px;
pointer-events: none;
z-index: 1;
}
.hero::before { content: none !important; }
.hero__inner { max-width: 820px; margin: 0 auto; position: relative; z-index: 2; color: #fff; text-align: center; }
.hero__eyebrow { color: var(--highlight) !important; border-bottom-color: var(--highlight) !important; }
.hero h1 { color: #fff !important; }
.hero h1 em { color: var(--highlight) !important; }

.container.breadcrumb {
position: absolute;
bottom: 16px;
left: 0; right: 0;
z-index: 5;
color: rgba(255,255,255,0.5);
font-size: 0.78rem;
padding: 0 32px;
text-align: center;
letter-spacing: 0.5px;
}
.container.breadcrumb a { color: rgba(255,255,255,0.7); text-decoration: none; }
.container.breadcrumb a:hover { color: var(--highlight, #D62410); }
@media (max-width: 768px) { .container.breadcrumb { display: none; } }
.hero {
margin-top: -135px;
padding-top: 220px !important;
}
body { background: var(--bg-cream, #FFF7F0); }

.hero__inner { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
.hero__copy { max-width: 100%; text-align: left; }
.hero__copy h1 { text-align: left; }
@media (max-width: 900px) {
.hero__inner { grid-template-columns: 1fr; }
.hero__copy { text-align: center; }
.hero__copy h1 { text-align: center; }
}

.hero-form { background: rgba(255,255,255,0.97); border-radius: 14px; padding: 32px 28px; box-shadow: 0 12px 48px rgba(0,0,0,0.35); color: var(--text); }
.hero-form__field { margin-bottom: 16px; }
.hero-form__field label { display: block; font-size: 0.82rem; font-weight: 700; letter-spacing: 0.3px; margin-bottom: 6px; color: var(--text); }
.hero-form__field input, .hero-form__field select { width: 100%; padding: 12px 14px; border: 1px solid var(--hairline, #ECE0CF); border-radius: 8px; font-size: 0.95rem; font-family: var(--mainFont); background: #FAFAF7; transition: border-color 0.2s; }
.hero-form__field input:focus, .hero-form__field select:focus { outline: none; border-color: var(--highlight); }
.hero-form__btn { width: 100%; padding: 16px; background: var(--highlight, #D62410); color: #fff; border: none; border-radius: 50px; font-weight: 700; font-size: 1rem; letter-spacing: 0.5px; cursor: pointer; transition: all 0.25s; margin-top: 8px; }
.hero-form__btn:hover { background: #A8160A; transform: translateY(-1px); box-shadow: 0 8px 20px rgba(0,0,0,0.2); }
.hero-form__hint { font-size: 0.78rem; color: var(--text-soft); margin-top: 12px; text-align: center; }

.cases { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; max-width: 980px; margin: 0 auto; }
@media (max-width: 800px) { .cases { grid-template-columns: 1fr; } }
.case-card { background: var(--text); color: rgba(255,255,255,0.9); padding: 32px 28px; border-radius: 12px; border-top: 3px solid var(--highlight); }
.case-card h3 { font-family: var(--headline); color: #fff; font-size: 1.3rem; margin-bottom: 18px; line-height: 1.3; }
.case-card__specs { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 18px; margin-bottom: 18px; padding-bottom: 18px; border-bottom: 1px solid rgba(214,36,16,0.25); }

.section { background: var(--bg-cream, #FFF7F0); padding: 80px 0; }
.section .container { max-width: 1200px; margin: 0 auto; padding: 0 32px; }
.section__header { max-width: 760px; margin: 0 auto 56px; text-align: center; }
.section__header h2 { font-family: var(--headline, 'Mosafin', 'Mosafin Fallback', serif); font-size: clamp(1.8rem, 1.2rem + 2vw, 2.6rem); color: var(--main, #1A1A1A); margin-bottom: 16px; }
.section__header p { color: var(--text-soft, #565656); font-size: 1.05rem; line-height: 1.6; }
.section__label { display: inline-block; color: var(--highlight, #D62410); font-size: 12px; font-weight: 700; letter-spacing: 0.28em; text-transform: uppercase; padding-bottom: 8px; border-bottom: 1px solid var(--highlight, #D62410); margin-bottom: 24px; }

.hero-form__step { display: none; }
.hero-form__step.is-active { display: block; }
.hero-form__step-indicator { display: flex; gap: 6px; margin-bottom: 18px; }
.hero-form__step-dot { flex: 1; height: 3px; background: rgba(214,36,16,0.2); border-radius: 2px; transition: background 0.3s; }
.hero-form__step-dot.is-active { background: var(--highlight); }
.hero-form__back { background: transparent; border: none; color: var(--text-soft); font-size: 0.85rem; cursor: pointer; padding: 0; margin-top: 10px; }
.hero-form__back:hover { color: var(--main); }

@media (max-width: 768px) {
.situations__grid { grid-template-columns: 1fr !important; gap: 16px !important; }
}

@media (max-width: 800px) {
.jennifer-block__img { min-height: 280px; background-position: center top; }
}

@media (max-width: 768px) {
.finance-pain-v2__hook { flex-direction: column; gap: 10px; padding: 4px 0 4px 22px; border-left-width: 3px; }
.finance-pain-v2__hook-text { font-size: 2rem; }
.finance-pain-v2__grid { grid-template-columns: 1fr; gap: 14px; margin-bottom: 28px; }
.finance-pain-v2__banks-list { flex-direction: column; gap: 6px; }
.finance-pain-v2__banks-list span:not(:last-child)::after { display: none; }
}

.step__icon {
background: linear-gradient(180deg, #333333 0%, var(--main, #1A1A1A) 100%) !important;
border: 1px solid var(--main, #1A1A1A) !important;
box-shadow: 0 -4px 14px 0 rgba(0,0,0,.2) inset, 0 8px 24px rgba(30, 58, 95, .25) !important;
}
.step__icon svg path { fill: var(--highlight, #D62410) !important; stroke: var(--highlight, #D62410) !important; }
.step__icon svg [data-stroke] { stroke: var(--highlight, #D62410) !important; fill: none !important; }
.step__num {
background: var(--main, #1A1A1A) !important;
color: #fff !important;
}

.btn, .button, .mid-cta-section__btn, .hero__cta, .hero-form__btn,
.btn-primary, .btn-secondary, .btn-outline-white,
.staedte-anker__pill, .staedte-anker__card,
.case-card, .finance-pain-v2__cta .btn {
transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.btn:hover, .button:hover, .mid-cta-section__btn:hover, .hero__cta:hover,
.hero-form__btn:hover, .btn-primary:hover, .btn-secondary:hover,
.btn-outline-white:hover, .finance-pain-v2__cta .btn:hover {
transform: translateY(-2px);
box-shadow: 0 8px 22px rgba(30, 58, 95, 0.18);
}

.btn:active, .button:active, .mid-cta-section__btn:active,
.hero__cta:active, .hero-form__btn:active {
transform: translateY(-1px);
box-shadow: 0 4px 12px rgba(30, 58, 95, 0.15);
}

.case-card:hover {
transform: translateY(-3px);
box-shadow: 0 12px 28px rgba(30, 58, 95, 0.12);
}

@media (prefers-reduced-motion: reduce) {
.btn, .button, .mid-cta-section__btn, .hero__cta, .hero-form__btn,
.btn-primary, .btn-secondary, .btn-outline-white,
.staedte-anker__pill, .staedte-anker__card, .case-card,
.finance-pain-v2__cta .btn {
transition: none !important;
}
.btn:hover, .button:hover, .mid-cta-section__btn:hover, .hero__cta:hover,
.hero-form__btn:hover, .case-card:hover,
.staedte-anker__pill:hover, .staedte-anker__card:hover,
.finance-pain-v2__cta .btn:hover {
transform: none !important;
}
}

.trust-partners { max-width: 720px; margin: 0 auto; }

@media (max-width: 600px) {
.trust-partners__row { flex-wrap: wrap; padding: 14px 0; }
.trust-partners__logo { width: 80px; height: 48px; }
.trust-partners__divider { display: none; }
.trust-partners__text { flex: 1 1 auto; }
.trust-partners__name { font-size: 0.92rem; }
.trust-partners__role { font-size: 0.8rem; }
}

@media (max-width: 700px) {
.trust-bar__strip { padding: 16px 18px; gap: 18px; }
.trust-bar__logo { height: 44px; min-width: 70px; flex-basis: calc(50% - 12px); }
.trust-bar__caption { font-size: 0.92rem; }
}

select,
.cockpit-select select,
.hero-form__field select,
.lf__select {
-webkit-appearance: none !important;
-moz-appearance: none !important;
appearance: none !important;
background-color: #FAFAF7 !important;
background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8'%3E%3Cpath d='M1 1L7 7L13 1' stroke='%231E3A5F' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
background-repeat: no-repeat !important;
background-position: right 16px center !important;
background-size: 14px 8px !important;
border: 1px solid #ECE0CF !important;
border-radius: 10px !important;
color: #1A1A1A !important;
font-family: 'Montserrat', 'Montserrat Fallback', sans-serif !important;
font-size: 0.95rem !important;
font-weight: 500 !important;
padding: 12px 44px 12px 16px !important;
cursor: pointer !important;
width: 100% !important;
line-height: 1.4 !important;
transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease !important;
}
select:hover,
.cockpit-select select:hover,
.hero-form__field select:hover,
.lf__select:hover {
border-color: #D62410 !important;
background-color: #FFFFFF !important;
}
select:focus,
.cockpit-select select:focus,
.hero-form__field select:focus,
.lf__select:focus {
outline: none !important;
border-color: #1A1A1A !important;
background-color: #FFFFFF !important;
box-shadow: 0 0 0 3px rgba(214,36,16, 0.22) !important;
}
select:disabled {
opacity: 0.55 !important;
cursor: not-allowed !important;
background-color: #F0EBE0 !important;
}

select option {
background: #FFFFFF;
color: #1A1A1A;
padding: 10px;
font-size: 0.95rem;
}

#back-to-top {
position: fixed;
left: 88px;
bottom: 20px;
width: 48px;
height: 48px;
border-radius: 50%;
background: var(--mainColor, #1A1A1A);
color: var(--highlight, #D62410);
border: 2px solid var(--highlight, #D62410);
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
opacity: 0;
visibility: hidden;
transform: translateY(14px);
transition: opacity 0.3s ease, transform 0.3s ease, visibility 0s linear 0.3s, background 0.2s ease, color 0.2s ease;
z-index: 998;
box-shadow: 0 6px 20px rgba(30, 58, 95, 0.32);
padding: 0;
}
#back-to-top.is-visible {
opacity: 1;
visibility: visible;
transform: translateY(0);
transition-delay: 0s;
}
#back-to-top:hover {
background: var(--highlight, #D62410);
color: var(--mainColor, #1A1A1A);
transform: translateY(-3px);
box-shadow: 0 10px 28px rgba(214,36,16, 0.38);
}
#back-to-top:focus-visible {
outline: 2px solid var(--highlight, #D62410);
outline-offset: 3px;
}
#back-to-top svg { display: block; }

@media (max-width: 640px) {
#back-to-top {
left: 76px;
bottom: 16px;
width: 42px;
height: 42px;
}
}
@media (prefers-reduced-motion: reduce) {
#back-to-top {
transition: opacity 0.2s ease, visibility 0s linear 0.2s;
transform: none;
}
#back-to-top:hover { transform: none; }
}

.skip-link {
position: absolute;
top: -100px;
left: 16px;
background: var(--mainColor, #1A1A1A);
color: #fff;
padding: 12px 20px;
border-radius: 8px;
font-weight: 700;
font-family: var(--mainFont, 'Montserrat', 'Montserrat Fallback', sans-serif);
text-decoration: none;
z-index: 9999;
transition: top 0.2s ease;
}
.skip-link:focus {
top: 16px;
outline: 2px solid var(--highlight, #D62410);
outline-offset: 3px;
}

@media (max-width: 600px) {
.mid-cta-section__btn {
white-space: normal;
max-width: 100%;
flex-basis: 100%;
justify-content: center;
text-align: center;
}
}

.hero-trust-bar__caption,
.trust-bar__caption,
.trust-strip__caption__label,
.section__label,
.section-label,
.comparison-box__label,
.cta-final__person-label,
.cta-final__eyebrow,
.cta-final__stat-value,
.city-card__region,
.hero__schaden-pill,
.hero__person-eyebrow,
.finance-pain-v2__eyebrow,
.finance-pain-v2__hook-text,
.usp-card-frame__link,
.jennifer-block__label,
.cockpit-stage__num,
.cockpit-euro-input__suffix,
.stadt-fakt-card__compare-val,
.local-testimonial__card__stars,
.pain-card__num,
.form-trust-strip__sep,
.diskretion-block__label,
.case-card__label,
.lf__person__role,
.lf__contact-alt a {
color: var(--gold-text, #B81E0E) !important;
}

.section--navy .section-label,
.section--navy .section__label,
.section--navy .cta-final__eyebrow,
.section--navy .cta-final__person-label,
.section--navy .cta-final__stat-value,
.comparison-box__col--werthandel .comparison-box__label,
.foot .section-label,
.foot .section__label {
color: var(--highlight, #D62410) !important;
}

summary:focus-visible,
.cockpit-info:focus-visible,
[data-cockpit-card-group] [data-value]:focus-visible {
outline: 2px solid var(--gold-text, #B81E0E);
outline-offset: 2px;
border-radius: 6px;
}
[data-cockpit-card-group] [data-value] { cursor: pointer; }

header.head #logo {
width: auto;
height: 46px;
display: flex;
align-items: center;
}
header.head #logo a { display: block; height: 100%; }
header.head #logo img {
position: static;
width: auto;
height: 100%;
inset: auto;
}
header.head.is-sticky #logo { width: auto; height: 34px; }
.site-footer__logo { width: auto; height: 42px; }
.mobile-nav__logo { width: auto; height: 44px; }

.hero--sub { min-height:auto; padding:120px 0 60px; background-size:cover; background-position:center; position:relative; }
.hero--sub .hero__inner { max-width:1240px; margin:0 auto; padding:0 32px; }
.hero--sub .hero__copy { max-width:760px; }
.hero--sub h1 { color:#fff; }
.hero--sub .hero__subhead { color:rgba(255,255,255,.88); }
@media(max-width:700px){ .hero--sub{ padding:100px 0 48px; } }

.tagespreis{background:var(--flameGradient,linear-gradient(135deg,#F0501E,#8E0A06));color:#fff;text-align:center;padding:14px 20px;}
.tagespreis__inner{max-width:1240px;margin:0 auto;display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;justify-content:center;font-size:.98rem;}
.tagespreis strong{font-size:1.2rem;} .tagespreis .muted{opacity:.9;font-size:.85rem;}

.produkt-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;}
.produkt-card{background:#fff;border:1px solid var(--hairline);border-radius:var(--borderRadius);padding:30px;position:relative;box-shadow:0 8px 28px rgba(26,26,26,.06);}
.produkt-card--featured{border:2px solid var(--highlight);}
.produkt-card__badge{position:absolute;top:-12px;left:30px;background:var(--highlight);color:#fff;font-size:12px;font-weight:700;padding:5px 14px;border-radius:50px;}
.produkt-card h3{color:var(--main);font-size:1.3rem;margin-bottom:12px;} .produkt-card p{color:var(--text-soft);margin-bottom:8px;}

.liefer-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;}
.liefer-ort{background:#fff;border:1px solid var(--hairline);border-radius:var(--borderRadius);padding:14px 16px;display:flex;justify-content:space-between;align-items:center;transition:var(--baseTransition);text-decoration:none;color:var(--text);}
.liefer-ort:hover{border-color:var(--highlight);transform:translateY(-2px);color:var(--main);} .liefer-ort span{font-size:.8rem;color:var(--text-soft);}

.rechner{background:#fff;border:1px solid var(--hairline);border-radius:16px;box-shadow:0 8px 28px rgba(26,26,26,.08);overflow:hidden;max-width:1000px;margin:0 auto;}
.rechner__tabs{display:flex;border-bottom:1px solid var(--hairline);}
.rechner__tab{flex:1;padding:18px 16px;background:var(--bg-cream);border:none;font-family: var(--mainFont);font-size:.98rem;font-weight:600;color:var(--text-soft);cursor:pointer;}
.rechner__tab[aria-selected="true"]{background:#fff;color:var(--main);box-shadow:inset 0 -3px 0 var(--highlight);}
.rechner__panel{padding:30px;display:none;} .rechner__panel[data-active="true"]{display:grid;grid-template-columns:1fr 1fr;gap:30px;}
@media(max-width:760px){.rechner__panel[data-active="true"]{grid-template-columns:1fr;}}
.rechner__field{margin-bottom:18px;} .rechner__field label{display:block;font-size:.9rem;font-weight:600;color:var(--text);margin-bottom:8px;}
.rechner__field input,.rechner__field select{width:100%;padding:12px 14px;border:1px solid var(--hairline);border-radius:var(--borderRadius);font-family: var(--mainFont);font-size:1rem;background:#fff;}
.rechner__field input[type=range]{accent-color:var(--highlight);padding:0;} .rechner__range-val{font-weight:700;color:var(--highlight);}
.rechner__result{background:var(--bg-cream);border-radius:12px;padding:26px;} .rechner__result-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px dashed var(--hairline);font-size:.95rem;} .rechner__result-row:last-of-type{border-bottom:none;} .rechner__result-row strong{color:var(--main);}
.rechner__result-big{font-size:2.2rem;font-family: var(--headline);color:var(--highlight);margin:8px 0 4px;} .rechner__result-row>*{min-width:0;}
.ampel{display:flex;align-items:center;gap:16px;padding:18px;border-radius:12px;margin-bottom:16px;}
.ampel__light{width:46px;height:46px;border-radius:50%;flex:none;}
.ampel--yellow{background:rgba(224,168,0,.12);} .ampel--yellow .ampel__light{background:#E0A800;}
.ampel__text strong{display:block;font-size:1.05rem;color:var(--main);} .ampel__text span{font-size:.9rem;color:var(--text-soft);}

.bestell-form,.anfrage-form{background:#fff;border:1px solid var(--hairline);border-radius:16px;padding:34px;box-shadow:0 8px 28px rgba(26,26,26,.08);max-width:720px;margin:0 auto;}
.bestell-form__row,.anfrage-form__row{display:grid;grid-template-columns:1fr 1fr;gap:18px;} @media(max-width:600px){.bestell-form__row,.anfrage-form__row{grid-template-columns:1fr;}}
.form-field{margin-bottom:18px;} .form-field label{display:block;font-size:.9rem;font-weight:600;margin-bottom:7px;color:var(--text);}
.form-field input,.form-field select,.form-field textarea{width:100%;padding:12px 14px;border:1px solid var(--hairline);border-radius:var(--borderRadius);font-family: var(--mainFont);font-size:1rem;background:#fff;}
.form-hp{position:absolute;left:-9999px;} .form-dsgvo{display:flex;gap:10px;align-items:flex-start;font-size:.86rem;color:var(--text-soft);margin:8px 0 20px;} .form-dsgvo input{margin-top:3px;accent-color:var(--highlight);}

.article{max-width:760px;margin:0 auto;} .article h2{color:var(--main);font-size:1.55rem;margin:34px 0 14px;} .article h3{color:var(--main);font-size:1.18rem;margin:24px 0 10px;}
.article p,.article li{color:var(--text-soft);line-height:1.7;} .article p{margin-bottom:16px;} .article ul,.article ol{margin:0 0 18px 22px;}
.article__lead{font-size:1.12rem;color:var(--text);font-weight:500;margin-bottom:24px;} .article__meta{font-size:.85rem;color:var(--text-soft);margin-bottom:8px;}
.article__cta{background:var(--bg-cream);border:1px solid var(--hairline);border-radius:14px;padding:26px;margin:34px 0;text-align:center;}
.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:28px;}
.blog-card{background:#fff;border:1px solid var(--hairline);border-radius:14px;text-decoration:none;display:flex;flex-direction:column;overflow:hidden;transition:var(--baseTransition);box-shadow:0 8px 28px rgba(26,26,26,.07);}
.blog-card:hover{transform:translateY(-5px);box-shadow:0 18px 44px rgba(26,26,26,.14);}
.blog-card__img{height:200px;background-size:cover;background-position:center;transition:transform .5s ease;}
.blog-card:hover .blog-card__img{transform:scale(1.06);}
.blog-card__body{padding:24px 24px 26px;display:flex;flex-direction:column;flex:1;}
.blog-card__tag{color:var(--highlight);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;}
.blog-card h3{color:var(--main);font-size:1.16rem;margin:8px 0 10px;line-height:1.3;} .blog-card p{color:var(--text-soft);font-size:.92rem;line-height:1.6;flex:1;}
.blog-card__more{display:inline-flex;align-items:center;gap:7px;margin-top:16px;color:var(--highlight);font-weight:700;font-size:.9rem;}
.blog-card__more svg{transition:transform .3s ease;} .blog-card:hover .blog-card__more svg{transform:translateX(4px);}

.galerie{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;} .galerie img{width:100%;height:100%;object-fit:cover;border-radius:var(--borderRadius);aspect-ratio:4/3;cursor:zoom-in;}
.two-col-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;} @media(max-width:760px){.two-col-grid{grid-template-columns:1fr;gap:24px;}}
.faq__list{max-width:820px;margin:0 auto;}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.88);z-index:9999;display:none;align-items:center;justify-content:center;} .lightbox.is-open{display:flex;}
.lightbox__img{max-width:90vw;max-height:86vh;border-radius:8px;} .lightbox__close{position:absolute;top:18px;right:24px;background:none;border:none;color:#fff;font-size:2.6rem;cursor:pointer;}
.lightbox__nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.15);border:none;color:#fff;font-size:2.2rem;width:52px;height:52px;border-radius:50%;cursor:pointer;} .lightbox__prev{left:18px;} .lightbox__next{right:18px;}

.faq-item{border:1px solid var(--hairline);border-radius:var(--borderRadius);margin-bottom:14px;background:#fff;overflow:hidden;}
.faq-item summary{padding:18px 22px;font-weight:600;color:var(--main);cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;}
.faq-item summary::-webkit-details-marker{display:none;} .faq-item summary::after{content:"+";font-size:1.4rem;color:var(--highlight);}
.faq-item[open] summary::after{content:"-";} .faq-item__a{padding:0 22px 20px;color:var(--text-soft);}

.testi{background:var(--bg-cream);}
.testi-slider{position:relative;max-width:1000px;margin:0 auto;}
.testi-slider__track{display:flex;gap:20px;justify-content:safe center;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:8px 4px 18px;-webkit-overflow-scrolling:touch;}
.testi-slider__track::-webkit-scrollbar{height:6px;}
.testi-slider__track::-webkit-scrollbar-thumb{background:var(--highlight);border-radius:3px;}
.testi-card{flex:0 0 auto;width:278px;aspect-ratio:9/16;scroll-snap-align:center;border-radius:16px;overflow:hidden;background:#000;box-shadow:0 12px 34px rgba(0,0,0,.18);position:relative;}
.testi-card__video{width:100%;height:100%;object-fit:cover;display:block;background:#000;}
.testi-card--quote{background:var(--main);color:#fff;display:flex;flex-direction:column;justify-content:center;padding:30px 26px;}
.testi-card--quote .testi-card__mark{font-family: var(--headline);font-size:4.6rem;line-height:.5;opacity:.6;color:var(--highlight);margin:8px 0 -8px;}
.testi-card--quote .testi-card__text{font-size:1.08rem;line-height:1.5;font-style:italic;margin:14px 0;}
.testi-card--quote .testi-card__author{font-weight:700;margin-top:auto;font-size:.92rem;opacity:.95;}
.testi-slider__nav{display:none;position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:46px;height:46px;border-radius:50%;border:none;background:#fff;color:var(--main);box-shadow:0 6px 20px rgba(0,0,0,.2);cursor:pointer;place-items:center;transition:var(--baseTransition);}
.testi-slider__nav svg{width:22px;height:22px;}
.testi-slider__nav:hover{background:var(--highlight);color:#fff;}
.testi-slider__nav--prev{left:-8px;} .testi-slider__nav--next{right:-8px;}
.testi-slider--scrollable .testi-slider__nav{display:grid;}
@media(max-width:560px){.testi-card{width:240px;}}

.testi-card--loop{position:relative;}

.hero--video-right{position:relative;overflow:hidden;}
.hero--video-right .hero__inner{position:relative;z-index:2;}
.hero--video-right .hero__copy{max-width:560px;}
.hero-side-video{position:absolute;top:0;right:0;height:100%;width:auto;max-width:44%;object-fit:cover;z-index:0;}
.hero--video-right::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
background:linear-gradient(100deg, rgba(26,26,26,0.96) 30%, rgba(26,26,26,0.55) 54%, rgba(26,26,26,0.15) 72%, rgba(26,26,26,0) 100%);}
@media(max-width:860px){
.hero-side-video{max-width:none;width:100%;opacity:.45;}
.hero--video-right::after{background:linear-gradient(120deg, rgba(26,26,26,.95), rgba(26,26,26,.72));}
.hero--video-right .hero__copy{max-width:100%;}
}

.greviews{background:var(--bg-cream);}
.greviews__head{display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between;max-width:1100px;margin:0 auto 28px;}
.greviews__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;max-width:1100px;margin:0 auto;}
.greview{background:#fff;border:1px solid var(--hairline);border-radius:14px;padding:22px;box-shadow:0 6px 22px rgba(0,0,0,.05);}
.greview__name{font-weight:700;color:var(--main);font-size:.95rem;}
.greview__text{color:var(--text-soft);font-size:.92rem;line-height:1.6;}
.btn-outline{background:transparent;border:2px solid var(--main);color:var(--main);}
.btn-outline:hover{background:var(--main);color:#fff;}

html, body {
overflow-x: hidden;
overflow-x: clip;
max-width: 100%;
}
img, video { max-width: 100%; }
.section-header h2, .hero h1, .hero__subhead, .lead, .greview__text { overflow-wrap: break-word; word-break: break-word; }
@media (max-width: 640px) {

[style*="grid-template-columns:1fr 1fr"],
[style*="grid-template-columns: 1fr 1fr"] { grid-template-columns: 1fr !important; }

.rechner__tabs { flex-wrap: wrap; }
.rechner__tab { flex: 1 1 33%; min-width: 0; font-size: .82rem; padding: 13px 6px; }

.oeffnung-box { padding: 24px 22px; }
.oeffnung-box .row { flex-wrap: wrap; gap: 2px 10px; }
.oeffnung-box .row strong { margin-left: auto; }
}
@media (max-width: 560px) {

.tank-grid, .preis-grid, .produkt-grid, .liefer-grid, .ort-grid { grid-template-columns: 1fr !important; }
.ort-grid { display: grid !important; }
}
@media (max-width: 560px) {
.oeffnung-box .row { flex-direction: column; align-items: flex-start; gap: 1px; }
.oeffnung-box .row strong { margin-left: 0; }
}

.skip-link{position:absolute;left:-9999px;top:0;z-index:10000;background:var(--highlight);color:#fff;padding:10px 16px;font-weight:600;border-radius:0 0 8px 0;}
.skip-link:focus{left:0;}

.city-snapshot{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:1100px;margin:0 auto;}
.city-snapshot > div{background:var(--bg-cream);border:1px solid var(--hairline);border-radius:12px;padding:20px;}
.city-snapshot strong{display:block;color:var(--main);margin-bottom:6px;font-size:1.02rem;}
.city-snapshot span{color:var(--text-soft);font-size:.92rem;line-height:1.55;}
@media(max-width:760px){.city-snapshot{grid-template-columns:1fr;}}

.city-hero__breadcrumb{color:rgba(255,255,255,.7);font-size:.85rem;margin-bottom:14px;}
.city-hero__breadcrumb a{color:var(--highlight);}
.city-snapshot-sec{padding-bottom:0;}
.city-price{background:#fff;border:1px solid var(--hairline);border-radius:16px;padding:28px;box-shadow:0 8px 28px rgba(26,26,26,.08);}
.city-price label{display:block;font-size:.9rem;font-weight:600;margin-bottom:8px;}
.city-price select{width:100%;padding:12px 14px;border:1px solid var(--hairline);border-radius:8px;font-size:1rem;margin-bottom:18px;font-family: var(--mainFont);background:#fff;}
.city-price__result{background:var(--bg-cream);border-radius:12px;padding:20px;text-align:center;margin-bottom:18px;}
.city-price__result-label{font-size:.85rem;color:var(--text-soft);}
.city-price__result-big{font-family: var(--headline);font-size:2.2rem;color:var(--highlight);}
.city-price .btn{width:100%;justify-content:center;}
.city-col h3{color:var(--main);margin-bottom:10px;}
.city-col p{color:var(--text-soft);margin-bottom:18px;}
.city-local h2{color:var(--main);margin:8px 0 16px;}
.city-local p{color:var(--text-soft);line-height:1.7;margin-bottom:14px;}
.city-local p:last-child{margin-bottom:0;}
.city-local__img{width:100%;border-radius:16px;box-shadow:0 14px 40px rgba(26,26,26,.12);}
.city-map{margin-top:36px;}
.city-map h3{color:var(--main);margin-bottom:8px;}
.city-map p{color:var(--text-soft);line-height:1.7;}
.city-map iframe{width:100%;min-height:300px;border:0;border-radius:16px;}

.city-neighbors{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:12px;justify-content:center;}
.city-neighbors li{margin:0;}
.city-neighbors a{display:inline-block;background:var(--bg-cream);border:1px solid var(--hairline);border-radius:999px;padding:10px 20px;color:var(--main);font-weight:600;font-size:.95rem;text-decoration:none;transition:background .15s ease,border-color .15s ease;}
.city-neighbors a:hover{background:#fff;border-color:var(--highlight);color:var(--highlight);}

.lead-form-state{margin-top:14px;padding:12px 16px;border-radius:8px;font-size:.95rem;line-height:1.5;}
.lead-form-state[data-state="success"],.lead-form-state.is-success{background:rgba(46,158,91,.12);color:#1f7a45;}
.lead-form-state[data-state="error"],.lead-form-state.is-error{background:rgba(214,69,69,.12);color:#b02a2a;}

.fuhrpark-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
@media(max-width:600px){.fuhrpark-grid{grid-template-columns:1fr;}}
.fuhrpark-card{background:#fff;border:1px solid var(--hairline);border-radius:var(--borderRadius);overflow:hidden;box-shadow:0 8px 28px rgba(26,26,26,.06);}
.fuhrpark-card img{width:100%;height:220px;object-fit:cover;display:block;}
.fuhrpark-card__body{padding:24px 28px;}
.fuhrpark-card h3{color:var(--main);margin-bottom:8px;} .fuhrpark-card p{color:var(--text-soft);}
@media(max-width:600px){.team-trust{grid-template-columns:1fr;}}

.rechner-card{display:flex;flex-direction:column;text-decoration:none;transition:var(--baseTransition);}
.rechner-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(26,26,26,.13);border-color:var(--highlight);}
.rechner-card__icon{width:54px;height:54px;border-radius:14px;background:var(--bg-cream);color:var(--highlight);display:grid;place-items:center;margin-bottom:14px;}
.rechner-card__icon svg{width:28px;height:28px;}
.rechner-card h3{color:var(--main);margin-bottom:8px;} .rechner-card p{color:var(--text-soft);font-size:.95rem;flex:1;}
.rechner-card__cta{margin-top:14px;color:var(--highlight);font-weight:700;font-size:.92rem;}

#primary-menu > li > a{white-space:nowrap;}

.testi-card--quote .testi-card__text{color:#fff}
.testi-card--quote .testi-card__author{color:#fff;opacity:1}

.usp-card p{color:rgba(255,255,255,.85)}
.usp-card h3{color:#fff}

@media (min-width:981px){.usps{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

.produkt-card{
display:flex;
flex-direction:column;
}
.produkt-card > p{
margin-bottom:18px;
}
.produkt-card .usp-highlight{
display:block;
margin-top:auto;
padding-top:16px;
border-top:1px solid var(--hairline);
font-size:14px;
font-weight:600;
letter-spacing:.5px;
color:var(--gold-text);
}

@media (min-width:561px){
.produkt-grid:has(> .produkt-card:nth-child(4):last-child){
grid-template-columns:repeat(2,1fr);
}
}

.usp-card{
display:flex;
flex-direction:column;
}
.usp-card > p{
margin-bottom:18px;
}
.usp-card .usp-highlight{
margin-top:auto;
}

@media (min-width:901px){
.steps{
grid-template-columns:none;
grid-auto-flow:column;
grid-auto-columns:1fr;
}
}

.accordion input:focus-visible + .accordion-label{
outline:2px solid var(--highlight);
outline-offset:-2px;
}

#hamburger::after{
content:'';
position:absolute;
left:50%;
top:50%;
transform:translate(-50%,-50%);
width:48px;
height:48px;
}

@media (max-width:600px){
.stat-item__label,
.cta-final__person-label,
.hero-form__step-name,
.testi-card__badge,
.site-footer__bottom{
font-size:0.75rem;
}
body .hero .hero-form__hint,
.hero .hero-form__hint,
.hero-form-section--compact .hero-form__hint,
.hero-form__hint{
font-size:0.75rem !important;
}
}

@media (max-width:560px){
.hero__cta-row{
flex-direction:column;
align-items:flex-start;
}
}

.hero-sound-toggle{
min-height:44px;
padding-top:0;
padding-bottom:0;
}

html { scroll-padding-top: 116px; }
@media (min-width: 1121px) { html { scroll-padding-top: 166px; } }

.testi-card:not(.testi-card--quote)::after {
content: "";
position: absolute;
left: 0;
right: 0;
bottom: 10%;
height: 30%;
pointer-events: none;
background: linear-gradient(to bottom,
rgba(0,0,0,0) 0%,
rgba(0,0,0,0.62) 30%,
rgba(0,0,0,0.62) 82%,
rgba(0,0,0,0) 100%);
transition: opacity .25s ease;
}
.testi-card.is-playing::after { opacity: 0; }

@media (min-width: 981px) and (max-width: 1059px) {
.usps:has(> .usp-card:nth-child(4)):not(:has(> .usp-card:nth-child(5))) {
grid-template-columns: repeat(2, 1fr);
}
}

@media (max-width: 699px) {
:is(.usps,.trust-grid,.produkt-grid,.preis-grid,.tank-grid,.blog-grid,.greviews__grid,.team-grid):has(> :nth-child(3)):not(:has(> :nth-child(4))) {
grid-template-columns: 1fr !important;
}
}
@media (min-width: 700px) {
:is(.usps,.trust-grid,.produkt-grid,.preis-grid,.tank-grid,.blog-grid,.greviews__grid,.team-grid):has(> :nth-child(3)):not(:has(> :nth-child(4))) {
grid-template-columns: repeat(3, 1fr) !important;
}
}

@media (min-width: 601px) and (max-width: 900px) {
.steps:has(> .step:nth-child(4)):not(:has(> .step:nth-child(5))) {
grid-template-columns: repeat(3, 1fr) !important;
}
}

@media (min-width: 601px) and (max-width: 911px) {
.tank-grid:has(> :nth-child(4)):not(:has(> :nth-child(5))) {
grid-template-columns: repeat(2, 1fr) !important;
}
}
@media (min-width: 769px) and (max-width: 1023px) {
.preis-grid:has(> :nth-child(4)):not(:has(> :nth-child(5))) {
grid-template-columns: repeat(2, 1fr) !important;
}
}
@media (min-width: 769px) and (max-width: 1111px) {
.greviews__grid:has(> :nth-child(4)):not(:has(> :nth-child(5))) {
grid-template-columns: repeat(2, 1fr) !important;
}
}

@media (min-width: 1024px) {
.blog-grid:has(> :nth-child(4)):not(:has(> :nth-child(5))) {
grid-template-columns: repeat(2, 1fr) !important;
}
}

@media (max-width: 699px) {
:is(.usps,.trust-grid,.produkt-grid,.preis-grid,.tank-grid,.blog-grid,.greviews__grid,.team-grid):has(> :nth-child(5)):not(:has(> :nth-child(6))) {
grid-template-columns: 1fr !important;
}
}
@media (min-width: 700px) {
:is(.usps,.trust-grid,.produkt-grid,.preis-grid,.tank-grid,.blog-grid,.greviews__grid,.team-grid):has(> :nth-child(5)):not(:has(> :nth-child(6))) {
grid-template-columns: repeat(6, 1fr) !important;
}
:is(.usps,.trust-grid,.produkt-grid,.preis-grid,.tank-grid,.blog-grid,.greviews__grid,.team-grid):has(> :nth-child(5)):not(:has(> :nth-child(6))) > * {
grid-column: span 2 !important;
}
:is(.usps,.trust-grid,.produkt-grid,.preis-grid,.tank-grid,.blog-grid,.greviews__grid,.team-grid):has(> :nth-child(5)):not(:has(> :nth-child(6))) > :nth-child(4) {
grid-column: 2 / span 2 !important;
}
}

@media (min-width: 1060px) {
.team-grid:has(> :nth-child(5)):not(:has(> :nth-child(6))) {
grid-template-columns: repeat(5, 1fr) !important;
}
.team-grid:has(> :nth-child(5)):not(:has(> :nth-child(6))) > *,
.team-grid:has(> :nth-child(5)):not(:has(> :nth-child(6))) > :nth-child(4) {
grid-column: auto !important;
}
}

@media (min-width: 900px) {
:is(.usps,.trust-grid,.produkt-grid,.preis-grid,.tank-grid,.blog-grid,.greviews__grid,.team-grid):has(> :nth-child(6)):not(:has(> :nth-child(7))) {
grid-template-columns: repeat(3, 1fr) !important;
}
}

@media (min-width: 901px) {
.galerie:has(> :nth-child(8)):not(:has(> :nth-child(9))) {
grid-template-columns: repeat(4, 1fr) !important;
}
}

.rechner__field input[type=range] {
height: 32px;
}:focus-visible{outline:2px solid #D62410!important;outline-offset:3px;border-radius:3px}a:focus-visible,button:focus-visible{box-shadow:0 0 0 4px rgba(214,36,16,.25)}header.head{position:sticky;top:0;width:100%;max-width:var(--pageLimit, 1600px);margin:0 auto;left:0;right:0;z-index:99;padding:18px 0 0}header.head .inner{width:100%;max-width:1240px;margin:0 auto;padding-left:32px;padding-right:32px;box-sizing:border-box;display:flex;justify-content:space-between;align-items:flex-end;gap:40px}#primary-menu>li>a,header.head,header.head #logo{transition:var(--baseTransition, all 0.25s ease)}header.head #logo{width:232px;height:117px;margin:0;position:relative}header.head #logo a{display:block;width:100%;height:100%;position:relative}header.head #logo img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:left center;transition:opacity .2s ease-in-out}header.head #logo .logo-hell{opacity:1}header.head #logo .logo-dunkel,header.head.is-sticky #logo .logo-hell{opacity:0}header.head.is-sticky #logo .logo-dunkel{opacity:1}#site-navigation{margin-bottom:30px}#primary-menu{display:flex;align-items:center;background-color:var(--contrastColorInverted, #fff);border-radius:var(--borderRadius, 10px);list-style:none;padding:0}#primary-menu>li{position:relative}#primary-menu>li>a{color:var(--secondColor, #1A1A1A);font-size:var(--baseFontSize, 16px);font-family: var(--headline, 'Mosafin', 'Mosafin Fallback', 'Playfair Display', sans-serif);font-weight:500;padding:10px 20px;display:block;text-decoration:none}#primary-menu>li:first-of-type>a{border-radius:var(--borderRadius, 10px)0 0 var(--borderRadius, 10px)}#primary-menu>li:last-of-type>a{border-radius:0 var(--borderRadius, 10px) var(--borderRadius, 10px)0}#primary-menu>li.current_page_item>a,#primary-menu>li:hover>a{color:var(--contrastColorInverted, #fff);background:var(--mainColor, #1A1A1A)}#primary-menu>li.has-children>a::after{content:"";display:inline-block;margin-left:6px;background:var(--asset-9)no-repeat center/contain;width:10px;height:10px;transform:rotate(90deg);filter:invert(1)}.button-header-wrapper{position:relative;margin-bottom:30px}.text-button-header-wrapper{position:absolute;top:-67px;left:-102px;pointer-events:none}.text-button-header{font-size:14px;font-weight:700;color:var(--contrastColorInverted, #fff);transform:rotate(-8deg);white-space:nowrap;position:absolute;left:-75px;top:-5px}@media (max-width:1290px){.text-button-header-wrapper{display:none}header.head{padding-top:30px}}header.head.is-sticky{padding-top:14px}header.head.is-sticky>.inner{box-shadow:0 0 24px 0 rgba(0,0,0,.25);border-radius:var(--borderRadius, 10px);background:var(--contrastColorInverted, #fff);padding-right:20px;align-items:center;max-width:1200px;margin:0 auto}header.head.is-sticky #logo{width:140px;height:48px;margin:12px 20px}header.head.is-sticky #site-navigation,header.head.is-sticky .button-header-wrapper{margin-bottom:0}body.subpage header.head .text-button-header-wrapper,header.head.is-sticky .text-button-header-wrapper{display:none}header.head.is-sticky #primary-menu{background:0 0;border-radius:0}header.head.is-sticky #primary-menu>li>a{padding:27px 20px;border-radius:0}.contact-widget,.contact-widget__icon svg{transition:var(--baseTransition, all 0.25s ease)}.contact-widget{position:fixed;right:20px;top:50%;transform:translateY(-50%);z-index:90;background:#fff;border-radius:50px;box-shadow:0 8px 30px rgba(0,0,0,.18);padding:10px 10px 14px;display:flex;flex-direction:column;align-items:center;gap:12px}.contact-widget:hover{box-shadow:0 12px 40px rgba(0,0,0,.25)}.contact-widget__avatar{width:60px;height:60px;border-radius:50%;background-size:cover;background-position:center top;overflow:hidden;position:relative;flex-shrink:0;border:2px solid #fff}.contact-widget__avatar::after{content:"";position:absolute;right:2px;bottom:2px;width:14px;height:14px;background:#2e8b57;border:2px solid #fff;border-radius:50%}.contact-widget__card .cw-links a,.contact-widget__icon{text-decoration:none;display:flex;align-items:center;transition:var(--baseTransition, all 0.25s ease)}.contact-widget__icon{width:42px;height:42px;border-radius:50%;justify-content:center;color:var(--mainColor, #1A1A1A);position:relative}.contact-widget__icon:hover{background:var(--primaryGradient, linear-gradient(180deg, #333333 0%, #1A1A1A 100%));transform:scale(1.08)}.contact-widget__icon:hover svg{fill:#fff}.contact-widget__icon svg{width:22px;height:22px;fill:var(--mainColor, #1A1A1A)}.contact-widget__card{position:absolute;right:calc(100% + 14px);top:50%;transform:translateY(-50%) translateX(8px);background:#fff;border-radius:10px;box-shadow:0 8px 40px rgba(0,0,0,.2);padding:24px 26px;width:300px;opacity:0;pointer-events:none;transition:var(--baseTransition, all 0.25s ease)}.contact-widget:hover .contact-widget__card{opacity:1;transform:translateY(-50%) translateX(0);pointer-events:auto}.contact-widget__card::after{content:"";position:absolute;left:100%;top:var(--pfeil-oben,50%);transition:top .18s ease;transform:translateY(-50%);width:0;height:0;border-top:8px solid transparent;border-bottom:8px solid transparent;border-left:8px solid #fff}.contact-widget__card .greeting{font-family: var(--headline, 'Mosafin', 'Mosafin Fallback', 'Playfair Display', sans-serif);font-size:1.1rem;font-weight:700;color:var(--secondColor, #1A1A1A);margin-bottom:4px}.contact-widget__card .name{font-size:13px;color:var(--mainColor, #1A1A1A);font-weight:600;margin-bottom:14px;text-transform:uppercase;letter-spacing:.05em}.contact-widget__card p{font-size:13px;color:#555;line-height:1.6;margin-bottom:16px}.contact-widget__card .cw-links{display:flex;flex-direction:column;gap:8px}.contact-widget__card .cw-links a{font-size:13px;color:var(--secondColor, #1A1A1A);gap:8px;padding:6px 0;border-bottom:1px solid #eee}.contact-widget__card .cw-links a:last-child{border-bottom:none}.contact-widget__card .cw-links a:hover{color:var(--mainColor, #1A1A1A);padding-left:4px}.contact-widget__card .cw-links a::before{content:"";flex:none;width:.72em;height:.72em;background-color:currentColor;-webkit-mask:var(--asset-9) no-repeat center/contain;mask:var(--asset-9) no-repeat center/contain}@media (max-width:1280px){.contact-widget{right:12px;padding:6px 6px 10px;gap:8px}.contact-widget__avatar{width:44px;height:44px}.contact-widget__avatar::after{width:10px;height:10px;right:1px;bottom:1px}.contact-widget__icon{width:34px;height:34px}.contact-widget__icon svg{width:17px;height:17px}.contact-widget__card{display:none}}#hamburger,#hamburger .hamburger-line{width:40px;transition:var(--baseTransition, all 0.25s ease)}#hamburger{position:relative;display:none;height:33px;cursor:pointer;background:0 0;border:0;z-index:101;margin-bottom:30px}#hamburger .hamburger-line{position:absolute;left:50%;top:50%;transform:translateX(-50%) translateY(-50%);display:block;height:3px;background:var(--mainColor, #1A1A1A);border-radius:2px}#hamburger .hamburger-line:first-child{transform:translateX(-50%) translateY(-10px)}#hamburger .hamburger-line:last-child{transform:translateX(-50%) translateY(7px)}#hamburger.is-active .hamburger-line{background:#fff}#hamburger.is-active .hamburger-line:first-child{transform:translateX(-50%) translateY(0) rotate(-45deg)}#hamburger.is-active .hamburger-line:nth-child(2){opacity:0}#hamburger.is-active .hamburger-line:last-child{transform:translateX(-50%) translateY(0) rotate(45deg)}@media (max-width:1120px){#hamburger{display:block}#site-navigation,.button-header-wrapper{display:none!important}header.head{padding-top:20px}header.head .inner{align-items:center}header.head #logo{width:160px;height:80px}}.mobile-nav{position:fixed;inset:0;background:linear-gradient(160deg,#565656 0,#1A1A1A 100%);z-index:100;display:flex;flex-direction:column;padding:90px 28px 30px;opacity:0;pointer-events:none;transform:translateY(-20px);transition:opacity .35s ease,transform .4s ease;overflow-y:auto}.mobile-nav.is-open{opacity:1;pointer-events:auto;transform:translateY(0)}.mobile-nav__logo{position:absolute;top:24px;left:28px;width:auto;height:44px}.mobile-nav__menu{list-style:none;padding:0;margin:30px 0 40px;flex:1}.mobile-nav__menu li{border-bottom:1px solid rgba(255,255,255,.08)}.mobile-nav__contact a,.mobile-nav__menu a{align-items:center;transition:var(--baseTransition, all 0.25s ease);text-decoration:none}.mobile-nav__cta,.mobile-nav__menu a{font-family: var(--headline, 'Mosafin', 'Mosafin Fallback', 'Playfair Display', sans-serif)}.mobile-nav__menu a{display:flex;justify-content:space-between;padding:18px 4px;color:#fff;font-size:1.4rem;font-weight:500}.mobile-nav__menu a::after{content:"";width:14px;height:14px;background-color:var(--mainColor, #1A1A1A);-webkit-mask:var(--asset-9)no-repeat center/contain;mask:var(--asset-9)no-repeat center/contain;transition:var(--baseTransition, all 0.25s ease)}.mobile-nav__menu a:active,.mobile-nav__menu a:hover{color:var(--mainColor, #1A1A1A);padding-left:10px}.mobile-nav__menu a:hover::after{transform:translateX(6px)}.mobile-nav__cta{display:block;text-align:center;background:var(--primaryGradient, linear-gradient(180deg, #333333 0%, #1A1A1A 100%));color:#fff;padding:18px 24px;border-radius:50px;font-size:1.1rem;font-weight:700;text-decoration:none;box-shadow:0-4px 14px 0 rgba(0,0,0,.25) inset;margin-bottom:28px}.mobile-nav__contact{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12)}.mobile-nav__contact a{display:inline-flex;justify-content:center;width:56px;height:56px;border-radius:50%;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);color:var(--highlight, #D62410);font-size:0}.mobile-nav__contact a:active,.mobile-nav__contact a:hover{background:var(--highlight, #D62410);border-color:var(--highlight, #D62410);color:var(--secondColor, #1A1A1A)}.mobile-nav__contact a svg{width:24px;height:24px;fill:currentColor;transition:fill .25s ease}.mobile-nav__contact a:hover svg{fill:var(--secondColor, #1A1A1A)}.mobile-nav__footer{margin-top:24px;text-align:center;font-size:12px;color:rgba(255,255,255,.55);line-height:1.6}.mobile-nav__footer a{color:rgba(255,255,255,.75);text-decoration:none;margin:0 6px}body.mobile-nav-open{overflow:hidden}#primary-menu .submenu{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(8px);background:#fff;min-width:220px;border:1px solid rgba(214,36,16,.4);border-radius:10px;box-shadow:0 12px 32px rgba(26,36,51,.15);list-style:none;padding:10px 0;margin:0;opacity:0;visibility:hidden;pointer-events:none;transition:all .25s cubic-bezier(.4,0,.2,1);z-index:10}#primary-menu .has-children:focus-within .submenu,#primary-menu .has-children:hover .submenu{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}#primary-menu .submenu li{display:block}#primary-menu .submenu li a{display:block!important;padding:10px 24px!important;color:var(--secondColor, #1A1A1A)!important;font-size:14px;border:0!important;border-radius:0!important;text-align:left;white-space:nowrap}#primary-menu .submenu li a:hover{background:var(--bg-cream, #F8F4ED);color:var(--whHighlight, #00B0E0)!important;padding-left:28px}#primary-menu .has-children>a::after{content:"";margin-left:6px;font-size:.7em;opacity:.7}#primary-menu .submenu.submenu--wide{min-width:280px;padding:18px 0}#primary-menu .submenu li a{font-size:.93rem;font-family: var(--mainFont, 'Montserrat', 'Montserrat Fallback', sans-serif);font-weight:500;color:var(--secondColor, #1A1A1A);text-decoration:none;transition:all .2s}

header.head #site-navigation,
header.head .button-header-wrapper {
align-self: stretch;
display: flex;
align-items: center;
}

header.head #primary-menu {
margin: 0;
}

header.head #hamburger {
margin-bottom: 0;
}

#primary-menu > li.has-children > a::after,
#primary-menu .has-children > a::after {
content: none;
}

@media (min-width: 1121px) {
header.head > .inner {
align-items: center;
}
header.head #site-navigation,
header.head .button-header-wrapper {
margin-bottom: 0;
}
header.head #logo {
flex-shrink: 0;
width: 176px; height: 117px;
}
}

.mobile-nav__close {
position: absolute;
top: 44px;
right: 20px;
width: 40px;
height: 33px;
padding: 0;
background: none;
border: 0;
cursor: pointer;
z-index: 2;
}

.mobile-nav__close::after {
content: '';
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
width: 48px;
height: 48px;
}
.mobile-nav__close .hamburger-line {
position: absolute;
left: 50%;
top: 50%;
display: block;
width: 40px;
height: 3px;
border-radius: 2px;
background: #fff;
transform: translateX(-50%) translateY(-50%);
}
.mobile-nav__close .hamburger-line:first-child { transform: translateX(-50%) translateY(-10px); }
.mobile-nav__close .hamburger-line:last-child  { transform: translateX(-50%) translateY(7px); }
.mobile-nav__close:focus-visible {
outline: 2px solid var(--highlight);
outline-offset: 8px;
}

.mobile-nav__logo {
width: auto;
height: auto;
max-height: 44px;
max-width: calc(100% - 104px);
}

header.head #primary-menu > li {
margin-bottom: 0;
}

@media (min-width: 1121px) {
header.head #primary-menu > li > a {
padding-top: 13px;
padding-bottom: 13px;
}
}
@media (min-width: 1280px) {
header.head #primary-menu > li > a {
padding-left: 26px;
padding-right: 26px;
}
}

.mobile-nav__logo {
top: calc(44px + 33px / 2);
transform: translateY(-50%);
}

.mobile-nav__contact a {
flex-direction: row;
padding: 0;
gap: 0;
align-items: center;
justify-content: center;
}
.mobile-nav__contact a svg {
flex: 0 0 auto;
width: 26px;
height: 26px;
}
.mobile-nav__contact a[aria-label="Anrufen"] svg { width: 27px; height: 27px; }
.mobile-nav__contact a[aria-label="WhatsApp"] svg { width: 25px; height: 25px; }
.mobile-nav__contact a[aria-label="E-Mail"] svg   { width: 26px; height: 26px; }

footer.foot,footer.foot .inner a,footer.foot .inner h4{color:var(--contrastColorInverted, #fff)}footer.foot{width:100%;position:relative;overflow:hidden;margin-top:80px;background:var(--text, #1A1A1A);color:rgba(248,244,237,.72);padding:72px 0 28px}footer.foot .inner-wrapper{background:var(--secondColor, #1A1A1A);margin-top:12px;position:relative}footer.foot .line{position:absolute;top:0;left:0;height:1px;width:100%;display:block;background-color:var(--whHighlight, #D62410);opacity:.3}footer.foot .inner{max-width:var(--maxWidthBig, 1400px);width:var(--baseWidth, 95%);margin:0 auto;padding-top:40px;position:relative}footer.foot .inner a{text-decoration:none}footer.foot .inner h4{font-size:18px;padding-top:40px;margin-bottom:35px;font-family: var(--headline, 'Mosafin', 'Mosafin Fallback', 'Playfair Display', sans-serif);font-weight:700}footer.foot .row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start}footer.foot .row.row-1{padding:60px 0;align-items:flex-start;gap:40px 10px}footer.foot .row.row-1 .col-1{max-width:488px}footer.foot .row.row-1 .col-2{max-width:759px}footer.foot .row.row-1 .col-2 ul{display:flex;gap:10px 6px;flex-wrap:wrap;list-style:none;padding:0}footer.foot .row.row-1 .col-2 ul li{line-height:0}footer.foot .row.row-1 .col-2 ul li a{font-size:14px;line-height:1;padding:10px 20px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);color:#fff;border-radius:50px;transition:var(--baseTransition, all 0.25s ease);display:inline-block}footer.foot .row.row-1 .col-2 ul li a:hover{background:var(--mainColor, #1A1A1A);border-color:var(--mainColor, #1A1A1A);color:var(--secondColor, #1A1A1A)}footer.foot .row.row-2{align-items:center;border-top:1px solid var(--contrastColorInverted, #fff);padding:20px 0;gap:20px}footer.foot .row.row-2 a,footer.foot .row.row-2 p{font-size:14px;margin:0}footer.foot .row.row-2 .col-1{display:flex;gap:40px;flex-wrap:wrap}footer.foot .row.row-2 a:hover{opacity:.7}footer.foot .inner p{color:rgba(255,255,255,.92);font-size:15px;line-height:1.75;margin-bottom:14px}@media (max-width:900px){footer.foot .row.row-1{flex-direction:column}footer.foot .row.row-1 .col-1,footer.foot .row.row-1 .col-2{max-width:100%;width:100%}}footer.foot .container{max-width:1240px;margin:0 auto;padding:0 32px}.foot__col ul,.site-footer__col ul{list-style:none;padding:0;margin:0}.foot__legal a,.site-footer__col a{color:rgba(248,244,237,.55);text-decoration:none}.site-footer{background:var(--secondColor, #1A1A1A);color:var(--contrastColorInverted, #fff);margin-top:80px;position:relative;border-top:1px solid rgba(214,36,16,.3)}.site-footer__inner{max-width:var(--maxWidthBig, 1400px);width:var(--baseWidth, 92%);margin:0 auto;padding:64px 0 40px;display:grid;grid-template-columns:1.4fr 1fr 1fr .8fr;gap:48px}.site-footer__col h4{font-family: var(--headline, 'Mosafin', 'Mosafin Fallback', serif);font-size:.85rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin:0 0 20px}.site-footer__col li{margin-bottom:10px}.site-footer__col a{color:rgba(255,255,255,.82);font-size:.92rem;transition:color .2s ease}.site-footer__col a:hover,.site-footer__col h4,.site-footer__contact a:hover{color:var(--whHighlight, #D62410)}.site-footer__logo{width:180px;height:auto;margin-bottom:24px;display:block}.site-footer__company{font-size:.9rem;line-height:1.65;color:rgba(255,255,255,.78);margin:0 0 18px}.site-footer__contact{font-size:.92rem;line-height:1.7;color:rgba(255,255,255,.85);margin:0}.site-footer__contact a{color:#fff;font-weight:600}.site-footer__bottom{border-top:1px solid rgba(255,255,255,.08);padding:22px 0;text-align:center;font-size:.78rem;color:rgba(255,255,255,.55);letter-spacing:.04em;max-width:var(--maxWidthBig, 1400px);width:var(--baseWidth, 92%);margin:0 auto}@media (max-width:980px){.site-footer__inner{grid-template-columns:1fr 1fr;gap:36px 28px;padding:48px 0 32px}.site-footer__col:first-child{grid-column:1/-1}}@media (max-width:600px){.site-footer{margin-top:56px}.site-footer__inner{grid-template-columns:1fr;gap:32px;padding:40px 0 24px}.site-footer__col:first-child{grid-column:auto}.site-footer__logo{width:150px}.site-footer__col h4{margin-bottom:14px}.site-footer__bottom{padding:18px 0;font-size:.72rem}}

.site-footer{color:rgba(255,255,255,.85)}
.site-footer__col h3,.site-footer__col h4{font-family: var(--headline,'Mosafin', 'Mosafin Fallback',serif);font-size:.85rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin:0 0 18px;color:#fff}
.site-footer__col li{color:rgba(255,255,255,.82)}
.site-footer__contact{color:rgba(255,255,255,.85)}

@media (max-width:600px){.site-footer__bottom{font-size:0.75rem}}

#hamburger .hamburger-line { background: #fff; }
header.head.is-sticky #hamburger .hamburger-line { background: var(--mainColor, #1A1A1A); }

body.mobile-nav-open #back-to-top {
opacity: 0 !important;
visibility: hidden !important;
pointer-events: none;
}

.btn:hover::before,
.btn:focus::before,
.btn:active::before {
transform: translateY(-50%) !important;
}

.mobile-nav__contact a { justify-self: center; }

.ablauf-mini__step:not(:last-child)::before {

top: 50px;
bottom: -20px;
height: auto;
}

.ablauf-mini__step:not(:last-child)::before {
background: var(--highlight, #D62410) !important;
opacity: 1 !important;
}

.rechner__result-row {
gap: 16px;
align-items: flex-start;
}
.rechner__result-row > span { flex: 1 1 auto; }
.rechner__result-row > strong {
flex: 0 1 auto;
text-align: right;
line-height: 1.35;
}

@media (hover: none), (pointer: coarse), (max-width: 900px) {
.testi-slider__nav,
.testi-slider--scrollable .testi-slider__nav {
display: none !important;
}
}

.hero .hero__trust-line {
color: rgba(255, 255, 255, 0.78);
text-shadow: 0 1px 8px rgba(0, 0, 0, 0.55);
}

.contact-widget::before {
content: "";
position: absolute;
top: 0;
bottom: 0;
right: calc(100% - 6px);
width: 32px;
}
@media (max-width: 1280px) {
.contact-widget::before { display: none; }
}

.eingabe-hinweis {
display: none;
position: fixed;
z-index: 120;
max-width: 260px;
padding: 7px 11px;
border-radius: 8px;
background: #fff;
border: 1px solid var(--highlight, #D62410);
box-shadow: 0 6px 20px rgba(0, 0, 0, 0.16);
font-size: 13px;
line-height: 1.4;
color: var(--highlight, #D62410);
}
input.eingabe-abgelehnt {
border-color: var(--highlight, #D62410) !important;
box-shadow: 0 0 0 3px rgba(214, 36, 16, 0.15) !important;
}

.datum-eingabe { position: relative; display: block; }
.datum-eingabe input.datum-eingabe__text { width: 100%; padding-right: 44px; }
.datum-eingabe__kalender {
position: absolute;
right: 8px;
top: 50%;
transform: translateY(-50%);
display: flex;
align-items: center;
justify-content: center;
width: 30px;
height: 30px;
padding: 0;
border: 0;
border-radius: 6px;
background: none;
color: var(--mainColor, #1A1A1A);
cursor: pointer;
transition: background .2s ease;
}
.datum-eingabe__kalender:hover { background: rgba(0, 0, 0, 0.07); }
.datum-eingabe input.datum-eingabe__nativ {
position: absolute;
left: 0;
bottom: 0;
width: 1px;
height: 1px;
padding: 0;
border: 0;
opacity: 0;
pointer-events: none;
}

.faq-suche { display: none; max-width: 620px; margin: 0 auto 22px; }
.faq-suche.ist-aktiv { display: block; }
.faq-suche__label { display: block; font-size: .9rem; font-weight: 600; color: var(--secondColor, #1A1A1A); margin-bottom: 8px; }
.faq-suche__feld {
width: 100%;
padding: 14px 18px;
border: 1px solid var(--hairline, rgba(26,26,26,.16));
border-radius: var(--borderRadius, 10px);
background: #fff;
font-size: 1rem;
font-family: inherit;
}
.faq-suche__feld:focus { outline: 2px solid var(--highlight, #D62410); outline-offset: 2px; }
.faq-suche__zahl { margin: 8px 0 0; font-size: .86rem; color: var(--text-soft, #555); }
.faq-filterleiste { display: none; flex-wrap: wrap; gap: 10px; justify-content: center; margin: 0 auto 28px; }
.faq-filterleiste.ist-aktiv { display: flex; }
.faq-filter {
border: 1px solid var(--hairline, rgba(26,26,26,.16));
background: #fff;
color: var(--secondColor, #1A1A1A);
padding: 8px 16px;
border-radius: 50px;
font-size: .9rem;
font-family: inherit;
cursor: pointer;
transition: var(--baseTransition, all .25s ease);
}
.faq-filter span { opacity: .55; margin-left: 4px; }
.faq-filter:hover { border-color: var(--highlight, #D62410); }
.faq-filter.is-active { background: var(--mainColor, #1A1A1A); border-color: var(--mainColor, #1A1A1A); color: #fff; }
.faq-filter.is-active span { opacity: .7; }
.faq-gruppe__titel { font-size: 1.15rem; margin: 30px 0 14px; color: var(--secondColor, #1A1A1A); }
.faq-gruppe:first-child .faq-gruppe__titel { margin-top: 0; }
.faq-leer { text-align: center; padding: 30px 16px; color: var(--text-soft, #555); }
.faq-item mark { background: rgba(214, 36, 16, .16); color: inherit; padding: 0 2px; border-radius: 3px; }

.button-header-wrapper .btn { width: auto; white-space: nowrap; padding-right: 24px; }
header.head #logo { width: 180px; height: 25px; }
header.head.is-sticky #logo { width: 156px; height: 21px; margin: 12px 16px 12px 0; }
header.head .inner { gap: 16px; }
header.head #primary-menu > li > a { padding-left: 14px; padding-right: 14px; }

@media (min-width: 1121px) and (max-width: 1199px) {
#hamburger { display: block; }
#site-navigation, .button-header-wrapper { display: none !important; }
header.head .inner { align-items: center; }
}

.kopf-hell header.head #logo .logo-hell   { opacity: 0; }
.kopf-hell header.head #logo .logo-dunkel { opacity: 1; }
.kopf-hell #hamburger .hamburger-line     { background: var(--mainColor, #1A1A1A); }

.contact-widget__avatar::after { display: none; }

#hamburger::before,
.mobile-nav__close::before {
content: "";
position: absolute;
left: -4px;
right: -4px;
top: -6px;
bottom: -6px;
}
.datum-eingabe__kalender {
width: 40px;
height: 40px;
}

@media (max-width: 1280px) {
.contact-widget {
display: flex !important;
top: 50% !important;
bottom: auto !important;
right: 10px !important;
transform: translateY(-50%) !important;
}
}

.team-portraits {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(min(150px, 100%), 1fr));
gap: 20px;
align-items: start;
max-width: 900px;
margin: 34px auto 0;
}
.team-karte { margin: 0; text-align: center; }
.team-karte img {
width: 100%;
height: auto;
aspect-ratio: 1 / 1;
object-fit: cover;
border-radius: 50%;
background: #fff;
box-shadow: 0 8px 24px rgba(26, 26, 26, .12);
}
.team-karte figcaption { margin-top: 12px; line-height: 1.35; }
.team-karte__name {
display: block;
font-family: var(--headline, 'Mosafin', 'Mosafin Fallback', 'Playfair Display', serif);
font-weight: 700;
color: var(--main);
font-size: 1rem;
}
.team-karte__rolle {
display: block;
font-size: .82rem;
letter-spacing: .06em;
text-transform: uppercase;
color: var(--text-soft);
margin-top: 2px;
}
.team-leitung, .team-uebrige { margin-top: 42px; text-align: center; }
.team-leitung h3, .team-uebrige h3 {
font-size: 1.15rem;
color: var(--main);
margin: 0 0 20px;
}
.team-leitung .team-karte { max-width: 200px; margin: 0 auto; }
.team-karte--gross img { box-shadow: 0 10px 30px rgba(26, 26, 26, .18); }
.team-karte--gross .team-karte__name { font-size: 1.1rem; }

.site-footer__col ul li a,
.site-footer__contact a,
.site-footer__bottom a,
.contact-widget__card a,
.cw-links a {
display: inline-block;
padding-top: 5px;
padding-bottom: 5px;
}

.brlbs-cmpnt-container a.brlbs-cmpnt-cb-provider-toggle,
.brlbs-cmpnt-container .brlbs-cmpnt-cb-legal a {
display: inline-block;
padding-top: 4px;
padding-bottom: 4px;
}

.mobile-nav__footer a,
.city-hero__breadcrumb a,
.usp-highlight a,
.maps-route-link a,
.form-dsgvo a {
display: inline-block;
padding-top: 5px;
padding-bottom: 5px;
}

#logo a {
display: inline-flex;
align-items: center;
min-height: 24px;
}

.brlbs-cmpnt-container a.brlbs-cmpnt-cb-provider-toggle {
display: inline-block !important;
padding-top: 4px !important;
padding-bottom: 4px !important;
}

.usp-card .usp-highlight,
.usp-card .usp-highlight a {
color: #F8A000;
}

.brlbs-cmpnt-container .brlbs-cmpnt-btn {
background-color: #C1440E !important;
}

.liefer-ort {
font-weight: 700;
}
.liefer-ort span {
font-weight: 400;
}

.liefer-ort span {
font-weight: 700;
}

img.brlbs-dialog-logo,
img.cookie-logo {
height: auto !important;
width: auto !important;
max-width: 150px !important;
max-height: 34px !important;
}

@media (max-width: 767px) {
img.brlbs-dialog-logo,
img.cookie-logo {
max-width: 130px !important;
}
.brlbs-cmpnt-dialog-details-header > div {
flex-wrap: wrap;
}
}

.site-footer__inner,
.site-footer__bottom {
width: 100%;
max-width: 1240px;
margin-left: auto;
margin-right: auto;
padding-left: 32px;
padding-right: 32px;
box-sizing: border-box;
}

.greviews__grid,
.greviews__head,
.city-snapshot {
max-width: 1176px;
}

.cta-final__inner {
max-width: 1240px;
}

@media (max-width: 767px) {
.site-footer__inner,
.site-footer__bottom {
padding-left: 20px;
padding-right: 20px;
}
}

.ablauf-mini__num {
position: relative;
z-index: 1;
}

.ablauf-mini__step:not(:last-child)::before {
top: 32px !important;
bottom: -38px !important;
height: auto !important;
}

@media (max-width: 600px) {
.ablauf-mini__step:not(:last-child)::before {
top: 30px !important;
bottom: -36px !important;
height: auto !important;
}
}

.testi-card--quote .testi-card__author {
margin-top: 22px;
}

.testi-card--quote .testi-card__mark {
float: left;
font-size: 3.4rem;
line-height: .78;
margin: 2px 10px 0 0;
opacity: .85;
}

.testi-card--quote .testi-card__mark-zu {
color: var(--highlight, #D62410);
font-family: var(--headline);
font-size: 1.9rem;
line-height: 0;
opacity: .85;
margin-left: 2px;
vertical-align: -.28em;
}

@media (max-width: 767px) {
.testi-card--quote .testi-card__mark {
font-size: 2.9rem;
margin-right: 8px;
}
.testi-card--quote .testi-card__mark-zu { font-size: 1.7rem; }
}

.testi-card--quote .testi-card__text .testi-card__mark {
float: left;
font-family: var(--headline);
font-size: 3.2rem;
line-height: .8;
color: var(--highlight, #D62410);
opacity: .85;
margin: 4px 9px 0 0;
font-style: normal;
}
@media (max-width: 767px) {
.testi-card--quote .testi-card__text .testi-card__mark {
font-size: 2.7rem;
margin-right: 7px;
}
}

.testi-card--quote .testi-card__text .testi-card__mark {
font-size: 3rem;
line-height: 1;
margin: -20px 8px 0 0;
}
@media (max-width: 767px) {
.testi-card--quote .testi-card__text .testi-card__mark {
font-size: 2.6rem;
margin: -17px 7px 0 0;
}
}

@media (max-width: 640px) {

.site-footer__col ul li a,
.site-footer__contact a,
.mobile-nav__footer a,
.mobile-nav__contact a {
min-height: 44px;
display: inline-flex;
align-items: center;
}

.contact-widget__icon {
width: 44px;
height: 44px;
}

.head .inner > button,
.mobile-nav__close,
.mobile-nav__toggle {
min-width: 44px;
min-height: 44px;
}

.head .inner > div > a {
min-height: 44px;
display: inline-flex;
align-items: center;
}

.hero-form__btn,
.hero-form__back {
min-height: 44px;
}

.cw-links a,
.mobile-nav__footer,
.mobile-nav__footer a,
.submenu__label,
.hero__eyebrow,
.city-hero__breadcrumb,
.city-hero__breadcrumb a,
.tagespreis__inner .muted,
.tagespreis__inner .muted span,
.stat-item__label,
.hero-form__hint,
.cta-final__stat-label,
.risk-band__sub,
.form-field label {
font-size: 14px;
}

}

.brlbs-cmpnt-cb-preset-a .brlbs-cmpnt-cb-provider-toggle {
color: #ffffff;
text-decoration: underline;
}

@media (max-width: 640px) {

.submenu__label,
.hero__eyebrow,
.hero-form__step-name,
.hero-form__hint,
.hero-form__back,
.cta-final__person-label,
.cta-final__eyebrow,
.site-footer__bottom,
.produkt-card__badge,
.team-karte__rolle,
.city-hero__breadcrumb,
.city-hero__breadcrumb a,
.city-price__result-label,
.form-dsgvo,
.form-dsgvo span,
.form-dsgvo a,
.form-field label,
.cta-final .name,
.cta-final p,
.cta-final a,
.usp-highlight a {
font-size: 14px !important;
}

.head a:has(img),
.city-hero__breadcrumb a,
.datum-eingabe__kalender,
.usp-highlight a,
.maps-route-link a,
.mobile-nav__toggle {
min-height: 44px;
min-width: 44px;
display: inline-flex;
align-items: center;
}

}

@media (max-width: 640px) {
body > button, .backtotop, #backtotop {
min-width: 44px;
min-height: 44px;
}
}

@media (max-width: 640px) {
.brlbs-cmpnt-cb-preset-a .brlbs-cmpnt-cb-provider-toggle {
min-height: 44px;
display: inline-flex;
align-items: center;
}
}

@media (max-width: 640px) {

.head .inner a,
.head__logo a,
.site-header a {
min-height: 44px;
display: inline-flex;
align-items: center;
}

.cta-final__actions .btn,
.cta-final__actions a,
.btn {
min-height: 44px;
}

}

@media (max-width: 640px) {
.brlbs-cmpnt-cb-preset-a .brlbs-cmpnt-cb-provider-toggle {
min-height: 44px !important;
display: inline-flex !important;
align-items: center !important;
}
}

@media (max-width: 640px) {

html body .head .inner > div > a {
min-height: 44px !important;
display: inline-flex !important;
align-items: center !important;
}

html body .contact-widget__card p,
html body .contact-widget__card .cw-links a,
html body form.bestell-form > p,
html body form.bestell-form > p a,
html body .form-dsgvo,
html body .form-dsgvo span,
html body .form-dsgvo a {
font-size: 14px !important;
}

}

#BorlabsCookieBox .brlbs-cmpnt-dialog-box-header > *,
.brlbs-cmpnt-container .brlbs-cmpnt-dialog-box-header > * {
min-width: 0 !important;
max-width: 100% !important;
}

#BorlabsCookieBox .brlbs-cmpnt-dialog-entrance-headline,
.brlbs-cmpnt-container .brlbs-cmpnt-dialog-entrance-headline {
overflow-wrap: anywhere !important;
hyphens: auto !important;
}

#BorlabsCookieBox .brlbs-cmpnt-checkbox input[disabled],
.brlbs-cmpnt-container .brlbs-cmpnt-checkbox input[disabled] {
opacity: 1 !important;
cursor: default !important;
accent-color: #1A1A1A;
}

@media (max-width: 640px) {

#BorlabsCookieBox .brlbs-cmpnt-dialog-box-header,
.brlbs-cmpnt-container .brlbs-cmpnt-dialog-box-header {
flex-wrap: wrap !important;
align-items: flex-start !important;
gap: 6px 10px !important;
}

#BorlabsCookieBox .brlbs-cmpnt-dialog-box-header img,
.brlbs-cmpnt-container .brlbs-cmpnt-dialog-box-header img {
max-width: 60% !important;
height: auto !important;
}

#BorlabsCookieBox .brlbs-cmpnt-dialog-entrance-headline,
.brlbs-cmpnt-container .brlbs-cmpnt-dialog-entrance-headline {
font-size: 19px !important;
line-height: 1.25 !important;
}

html body .hero-form label,
html body .hero-form__field label,
html body .hero-form span,
html body .hero-form__hint {
font-size: 14px !important;
}

}

@media (max-width: 640px) {
html body .ablauf-mini,
html body .ablauf-mini__body,
html body .ablauf-mini__body span,
html body .ablauf-mini__step,
html body .hero-form__hint,
html body .hero-form label,
html body .hero-form__field label,
html body .hero-form-stage__intro span {
font-size: 14px !important;
}
}

.ampel--green {
background: rgba(47, 143, 70, .12);
}
.ampel--green .ampel__light {
background: #2F8F46;
}

.ampel--red {
background: rgba(214, 36, 16, .12);
}
.ampel--red .ampel__light {
background: #D62410;
}

.ampel__light {
box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .10);
}

.preis-meins {
margin-top: 18px;
padding-top: 14px;
border-top: 1px solid var(--hairline);
}
.preis-meins__kopf {
font-family: var(--headline, var(--mainFont));
font-size: 1.05rem;
color: var(--main);
margin-bottom: 4px;
}
.preis-meins__hinweis {
font-size: .9rem;
color: var(--text-soft);
margin: 0;
}
.preis-meins .rechner__result-row strong {
font-variant-numeric: tabular-nums;
}
.preis-meins__brutto strong {
color: var(--gold-text);
font-weight: 700;
}
.preis-meins__summe {
border-top: 1px solid var(--hairline);
margin-top: 4px;
padding-top: 12px;
}
.preis-meins__summe span {
font-weight: 600;
color: var(--text);
}
.preis-meins__summe strong {
font-family: var(--headline, var(--mainFont));
font-size: 1.4rem;
color: var(--highlight);
line-height: 1.2;
}
@media (max-width: 620px) {

.preis-meins .rechner__result-row {
padding-right: 30px;
}
}

@media (min-width: 761px) {
.rechner__panel[data-active="true"] > div:first-child {
display: flex;
flex-direction: column;
}
.rechner__panel[data-active="true"] > div:first-child > [data-gefahrgut-hinweis] {

margin-top: auto !important;
}
}

.tagespreis strong {
color: #fff;
}
.tagespreis .muted {
opacity: 1;
color: rgba(255, 255, 255, .88);
}

.tagespreis {
position: relative;
z-index: 2;
}

@media (min-width: 601px) {
.hero--new .tagespreis {
position: absolute;
left: 0;
right: 0;
bottom: 0;
width: 100%;
margin: 0;
z-index: 3;
}
}

@media (hover: hover) {
.button-header-wrapper .btn:hover {
padding-left: 40px;
padding-right: 48px;
}
.button-header-wrapper .btn:hover::before {
left: calc(100% - 38px);
}
}

.hero--new.hero--video-right .btn-outline-white {
border: 1px solid var(--main);
color: var(--bg-cream);
background: linear-gradient(180deg, var(--main-soft) 0%, var(--main) 100%);
box-shadow: 0 -4px 14px 0 rgba(0, 0, 0, 0.25) inset;
padding: 14px 40px 14px 64px;
font-size: 17px;
font-weight: 500;
}

.hero--new.hero--video-right .btn-outline-white:hover {
padding-left: 40px;
padding-right: 64px;
background: linear-gradient(180deg, var(--main) 0%, var(--main-soft) 100%);
border-color: var(--main);
color: var(--bg-cream);
box-shadow: 0 8px 22px rgba(30, 58, 95, 0.18);
}

.hero--new.hero--video-right .hero__cta-row {
justify-content: center;
}

.hero--sub .hero__cta-row {
display: flex;
gap: 14px;
flex-wrap: wrap;
margin-bottom: 22px;
}

.city-snapshot-sec {
padding-bottom: 80px;
}

.greviews__head {
justify-content: center;
}

body {
padding-bottom: 0;
}

.site-footer__einwilligung {
margin-top: 42px;
margin-bottom: 0;
}

@media (min-width: 601px) {
.site-footer__einwilligung { margin-left: -17px; }
}

@media (max-width: 980px) {
.site-footer__einwilligung { margin-top: 24px; }
}

@media (max-width: 600px) {
.site-footer__einwilligung { margin-top: 16px; }
}

.site-footer .ce-einstiegspunkt {
font-size: .92rem;
color: rgba(255, 255, 255, .82);
border-color: rgba(255, 255, 255, .28);
}

.site-footer .ce-einstiegspunkt:hover,
.site-footer .ce-einstiegspunkt:focus-visible {
color: var(--whHighlight, #D62410);
border-color: var(--whHighlight, #D62410);
}

.btn.btn--lg:hover {
padding-left: 48px;
padding-right: 72px;
}

@media (max-width: 600px) {
.contact-widget {
padding: 5px 5px 8px !important;
gap: 6px !important;
}
.contact-widget__avatar { display: none !important; }
.contact-widget__icon {
width: 34px !important;
height: 34px !important;
}
}

.cta-final__person-label,
.hero-form__step-name,
.hero-form__hint,
.hero-form-section--compact .hero-form__hint,
.hero-form-section--compact .hero-form__step-name {

font-size: 12px !important;
}
