html, body { margin: 0; padding: 0; color: #2a2a2a; line-height: 1.8; font-family: 'PT Sans', sans-serif; }
img[width][height] { height: auto; }
.skip-link { position: absolute; left: 12px; top: -100px; z-index: 1000; background: #fff; color: #154b65; padding: 12px 20px; }
.skip-link:focus { top: 12px; }
a:focus-visible, button:focus-visible { outline: 3px solid #226588; outline-offset: 4px; }
#breadcrump ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0 12px; }
#breadcrump li + li::before { content: '›'; margin-right: 12px; }
.seo-intro { padding-top: 60px; padding-bottom: 30px; }
.seo-intro p, .seo-service p, .seo-faq p { max-width: 75ch; }
.seo-intro h1, .seo-service h1 { font-size: 36px; line-height: 1.3; }
.seo-service { padding-top: 55px; padding-bottom: 60px; }
.seo-service h2, .seo-faq h2 { margin-top: 45px; line-height: 1.4; }
.seo-faq h3 { font-size: 22px; line-height: 1.4; margin-top: 28px; }
.seo-links { display: flex; flex-wrap: wrap; gap: 12px 24px; padding: 0; list-style: none; }
.seo-contact { padding: 30px 0; border-top: 1px solid #dce2e6; margin-top: 30px; }
.seo-contact address { font-style: normal; }
.seo-projects { clear: both; padding: 30px 0; }
.seo-author { margin: 16px 0; color: #555; }
.content_block_1_inner > h1 { margin: 0 0 40px; line-height: 1.3; }
.news-single .header h1 { font-size: 30px; line-height: 1.3; }
#start { height: max(304px, calc(100vh - 100px)); }
@media (max-width: 752px) {
    #start { height: 304px; }
    .seo-intro h1, .seo-service h1 { font-size: 29px; }
    .seo-intro { padding-top: 35px; }
}
/* The responsive picture replaces the two old desktop/mobile image elements. */
#start .hintergrundbild { display: block; }
#start .hintergrundbild picture { display: block; width: 100%; height: 100%; }
#start .hintergrundbild img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
/* Keep the first heading compact inside the existing category banner. */
#banner_unter_inner h1 { font-size: 30px; line-height: 1.1; margin: 20px 0 10px; }
#footer_nav { display: flex; flex-wrap: wrap; gap: 4px 10px; }
