@font-face {
font-family: 'Poppins';
src: url(//webservice-krumpholz.de/wp-content/themes/divi-child/fonts/poppins-500.woff2) format('woff2');
font-weight: 500;
font-style: normal;
font-display: swap;
}
@font-face {
font-family: 'Poppins';
src: url(//webservice-krumpholz.de/wp-content/themes/divi-child/fonts/poppins-600.woff2) format('woff2');
font-weight: 600;
font-style: normal;
font-display: swap;
}
@font-face {
font-family: 'Open Sans';
src: url(//webservice-krumpholz.de/wp-content/themes/divi-child/fonts/open-sans-400.woff2) format('woff2');
font-weight: 400;
font-style: normal;
font-display: swap;
}
:root { --primary: #1F3A5F;
--primary-light: #3E5C85;
--primary-dark: #16283F; --secondary: #FFA259;
--secondary-dark: #D9823B; --gray-light: #F2F2F2;
--gray-medium: #E6E6E6;
--gray-dark: #333333;
--white: #FFFFFF; --success: #4CAF50;
--warning: #FFC107;
--error: #D9534F; --font-heading: 'Poppins', sans-serif;
--font-body: 'Open Sans', sans-serif; --space-xxl: 120px;
--space-xl: 100px;
--space-lg: 80px;
--space-md: 40px;
--space-sm: 20px;
--space-xs: 10px; --radius-sm: 6px;
--radius-md: 10px;
--radius-lg: 20px; --shadow-soft: 0 4px 12px rgba(0,0,0,0.08);
--shadow-medium: 0 6px 20px rgba(0,0,0,0.12);
--shadow-strong: 0 10px 30px rgba(0,0,0,0.18);
} body {
font-family: var(--font-body);
color: var(--gray-dark);
line-height: 1.65;
}
h1, h2, h3, h4, h5, h6 {
font-family: var(--font-heading);
color: var(--primary);
line-height: 1.2;
letter-spacing: -0.3px;
}
h1 { font-size: 48px; }
h2 { font-size: 36px; }
h3 { font-size: 28px; }
h4 { font-size: 22px; }
h5 { font-size: 18px; }
h6 { font-size: 16px; }  .et_pb_section h2 {
margin-bottom: 20px;
} .et_pb_section p {
margin-bottom: 16px;
} .et_pb_section ul,
.et_pb_section ol {
margin-bottom: 20px;
} .et_pb_section li {
margin-bottom: 8px;
} .et_pb_button {
background-color: var(--primary);
color: var(--white) !important;
border-radius: var(--radius-sm);
padding: 14px 28px;
font-family: var(--font-heading);
font-weight: 600;
transition: background-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
} .et_pb_button:hover {
background-color: var(--white) !important;
color: var(--gray-dark) !important;
box-shadow: none !important;
transform: translateY(-1px);
}
.header-cta {
margin-left: 20px;
}
.et-l--header {
position: sticky;
top: 0;
z-index: 9999;
background: var(--white);
box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}
.et-l--header {
transition: box-shadow 0.3s ease, background-color 0.3s ease;
}
.et-l--header .et_pb_menu {
padding-top: 0 !important;
padding-bottom: 0 !important;
}  .et-l--header .et_pb_section {
padding-top: 18px !important;
padding-bottom: 18px !important;
} .et-l--header .et_pb_row {
padding-top: 0 !important;
padding-bottom: 0 !important;
align-items: center;
} .et-l--header .et_pb_menu__inner {
padding-top: 0 !important;
padding-bottom: 0 !important;
min-height: 52px !important; display: flex;
align-items: center;
} .et-l--header .et_pb_image_0_tb_header img {
max-height: 100px !important;
height: auto !important;
width: auto !important;
padding-left: 0px !important;
} .et-l--header nav ul li a {
padding-top: 8px !important;
padding-bottom: 8px !important;
font-size: 15px !important;
line-height: 1.2 !important;
} .et-l--header .header-cta {
display: flex;
align-items: center;
margin-left: 18px !important;
padding: 0 !important;
} .et-l--header .header-cta.et_pb_button {
padding: 10px 20px !important;
font-size: 25px !important;
line-height: 1 !important;
border-radius: var(--radius-sm);
background-color: var(--primary);
color: var(--white) !important;
font-weight: 600;
margin: 0 !important;
} .et-l--header .header-cta.et_pb_button:hover {
background-color: var(--white) !important;
color: var(--gray-dark) !important;
box-shadow: none !important;
transform: translateY(-1px);
} .et_pb_section {
padding-top: var(--space-lg);
padding-bottom: var(--space-lg);
}
.et_pb_row {
padding-top: var(--space-md);
padding-bottom: var(--space-md);
} .section-light { background-color: var(--white); }
.section-gray { background-color: var(--gray-light); }
.section-dark {
background-color: var(--primary-dark);
color: var(--white);
}
.section-dark h1,
.section-dark h2,
.section-dark h3,
.section-dark h4,
.section-dark h5,
.section-dark h6 {
color: var(--white);
} .service-card {
background: var(--white);
border: 1px solid var(--gray-medium);
padding: 30px;
border-radius: var(--radius-md);
box-shadow: var(--shadow-soft);
transition: box-shadow 0.25s ease, transform 0.25s ease;
}
.service-card:hover {
box-shadow: var(--shadow-medium);
transform: translateY(-3px) scale(1.01);
} .testimonial-card {
background: var(--white);
color: var(--gray-dark);
padding: 30px;
border-radius: var(--radius-md);
box-shadow: var(--shadow-soft);
border: 1px solid var(--gray-medium);
line-height: 1.6;
}
.testimonial-card strong {
display: block;
margin-top: 20px;
font-weight: 600;
color: var(--primary);
}
.testimonial-card,
.testimonial-card .et_pb_testimonial_description,
.testimonial-card .et_pb_testimonial_content,
.testimonial-card .et_pb_testimonial_author,
.testimonial-card .et_pb_testimonial_meta {
color: var(--gray-dark) !important;
}
.testimonial-icon {
font-size: 32px;
color: var(--primary);
margin-bottom: 15px;
} .icon-primary { color: var(--primary); }
.icon-secondary { color: var(--secondary); }
.icon-white { color: var(--white); } .grid-2, .grid-3, .grid-4 {
display: grid;
gap: var(--space-md);
}
.grid-2 { grid-template-columns: repeat(2, 1fr); }
.grid-3 { grid-template-columns: repeat(3, 1fr); }
.grid-4 { grid-template-columns: repeat(4, 1fr); } @media (max-width: 980px) {
.grid-2, .grid-3, .grid-4 {
grid-template-columns: 1fr;
gap: var(--space-sm);
}
h1 { font-size: 36px; }
h2 { font-size: 28px; }
h3 { font-size: 24px; }
h4 { font-size: 20px; }
} input, textarea {
border-radius: var(--radius-sm);
border: 1px solid var(--gray-medium);
padding: 12px;
}
input:focus, textarea:focus {
border-color: var(--primary);
box-shadow: 0 0 0 2px rgba(31,58,95,0.2);
} .space-xs { padding: var(--space-xs) 0; }
.space-sm { padding: var(--space-sm) 0; }
.space-md { padding: var(--space-md) 0; }
.space-lg { padding: var(--space-lg) 0; }
.space-xl { padding: var(--space-xl) 0; } .max-700 {
max-width: 700px;
margin: 0 auto;
display: block;
}
.text-narrow {
padding-left: 0;
padding-right: 90px;
} .max-400 {
max-width: 400px;
height: auto;
}
.max-500 {
max-width: 500px;
margin: 0 auto;
display: block;
}
.img-center {
display: block;
margin-left: auto;
margin-right: auto;
}
.img-center-vertical {
display: flex;
align-items: center;
justify-content: center;
height: 100%;
} .hero {
min-height: 80vh;
display: flex;
align-items: center;
background-size: cover;
background-position: center;
position: relative;
}
.hero::after {
content: "";
position: absolute;
inset: 0;
background: rgba(0,0,0,0.45);
}
.hero > * {
position: relative;
z-index: 2;
} .cta-center {
text-align: center;
max-width: 900px;
margin: 0 auto;
} .cta-center h2 {
margin-bottom: 16px;
}
.cta-center p {
margin-bottom: 20px;
}
.cta-center h1,
.cta-center h2 {
color: var(--white);
}
.cta-center p {
color: var(--gray-light);
} .process-step strong {
display: block;
margin-bottom: 4px;
}
.process-step p {
margin-bottom: 20px;
} .et_pb_blurb.service-card { border: none; }
.et_pb_blurb .et_pb_blurb_content { padding: 0; }  .fade-in {
opacity: 0;
transform: translateY(20px);
transition: opacity 0.6s ease, transform 0.6s ease;
}
.fade-in.visible {
opacity: 1;
transform: translateY(0);
} .service-card {
transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.service-card:hover {
transform: translateY(-5px);
box-shadow: var(--shadow-strong);
} .testimonial-card {
transition: transform 0.35s ease, box-shadow 0.35s ease;
}
.testimonial-card:hover {
transform: translateY(-4px);
box-shadow: var(--shadow-medium);
} .img-zoom {
transition: transform 0.4s ease;
}
.img-zoom:hover {
transform: scale(1.03);
} .et_pb_button {
transition: background-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}
.et_pb_button:hover {
transform: translateY(-2px);
box-shadow: var(--shadow-medium);
} .section-animate {
opacity: 0;
transform: translateY(30px);
transition: opacity 0.7s ease, transform 0.7s ease;
}
.section-animate.visible {
opacity: 1;
transform: translateY(0);
}  .footer-contact {
padding-top: 25px;
padding-bottom: 25px;
} .footer-contact p {
font-size: 15px;
line-height: 1.4;
margin: 0 0 6px 0;
color: var(--gray-light);
} .footer-contact p span {
font-size: 16px;
line-height: 1;
} .footer-contact a {
color: var(--gray-light);
text-decoration: none;
}
.footer-contact a:hover {
color: var(--secondary);
} .footer-contact strong {
font-size: 16px;
display: block;
margin-bottom: 8px;
}
.footer-links ul li {
margin-bottom: 4px;
line-height: 1.4;
}
.footer-contact img {
max-width: 110px;
}
.footer-bottom {
border-top: 1px solid rgba(255,255,255,0.12);
padding-top: 15px;
margin-top: 20px;
} @media (max-width: 980px) {
.et_pb_section {
padding-top: 50px;
padding-bottom: 50px;
}
.text-narrow {
padding-left: 0;
padding-right: 0;
}
.et_pb_button {
width: 100%;
text-align: center;
padding: 16px 20px;
}
.et-l--header .et_pb_section {
padding-top: 10px !important;
padding-bottom: 10px !important;
}
.hero {
min-height: 60vh;
}
.service-card,
.testimonial-card {
padding: 20px;
}
}