:root {
    --poel-green: #3B7860;
    --poel-green-dark: #2f604d;
    --poel-orange: #E9734C;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
    margin: 0;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    line-height: 1.5;
    color: #1f2933;
    background: #ffffff;
}
a { color: var(--poel-green); }
.site-wrap { max-width: 1120px; margin: 0 auto; padding: 0 16px; }

/* Header */
.site-header {
    position: relative;
    background: var(--poel-green);
    color: #fff;
    padding: 1.25rem 0 2.75rem;
    margin-bottom: 1.75rem;
    overflow: hidden;
}
/* dezente Welle als Abschluss */
.site-header::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 28px;
    background: #fff;
    clip-path: ellipse(75% 100% at 50% 100%);
}
.site-header__bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding-bottom: 1.25rem;
    margin-bottom: 1.75rem;
    border-bottom: 1px solid rgba(255, 255, 255, .18);
}
.site-header__logo { display: inline-flex; flex: none; }
.site-header__logo img { display: block; height: 26px; width: auto; }
.site-header__service {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .45rem .9rem;
    border: 1px solid rgba(255, 255, 255, .35);
    border-radius: 999px;
    color: #fff;
    font-size: .875rem;
    line-height: 1.3;
    text-decoration: none;
    transition: background-color .15s ease, border-color .15s ease;
}
.site-header__service strong { font-weight: 600; }
.site-header__service span { color: var(--poel-orange); font-weight: 700; }
.site-header__service:hover,
.site-header__service:focus-visible {
    background: rgba(255, 255, 255, .12);
    border-color: rgba(255, 255, 255, .6);
}
.site-header__service:focus-visible,
.site-header__logo:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.site-header h1 {
    margin: 0 0 .5rem;
    font-size: clamp(1.7rem, 4.5vw, 2.6rem);
    line-height: 1.15;
    letter-spacing: -.01em;
}
.site-header h1::after {
    content: "";
    display: block;
    width: 48px;
    height: 4px;
    margin-top: .6rem;
    border-radius: 2px;
    background: var(--poel-orange);
}
.site-header__intro p { margin: 0; max-width: 40rem; opacity: .92; font-size: 1.05rem; }

@media (max-width: 600px) {
    .site-header__bar { flex-direction: column; align-items: flex-start; gap: .85rem; margin-bottom: 1.25rem; }
    .site-header__logo img { height: 22px; }
    .site-header__service { font-size: .8rem; }
}

/* Footer */
.site-footer {
    margin-top: 3rem;
    padding: 1.5rem 0;
    border-top: 1px solid #e3e7eb;
    font-size: .875rem;
}
.site-footer .site-wrap { display: flex; flex-wrap: wrap; gap: 1.25rem; }
.site-footer a { color: #5f6b76; }
