/* Shared finishing layer. Fonts, content, link targets and the calm mobile dock stay familiar. */
html { scrollbar-gutter: stable; }
body .original-navigation { --nav-sans: 'Plus Jakarta Sans', Arial, sans-serif; }
body .original-navigation-header.site-header {
 background: #fff;
 border-bottom: 1px solid #edf1ee;
 box-shadow: none;
 backdrop-filter: none;
}
body .original-navigation-header .original-header-inner { height: 100%; }
body .original-navigation .original-brand > span { font-family: 'Bricolage Grotesque', sans-serif; }
body .original-navigation-header .original-header-call {
 border-radius: 8px;
 background-color: var(--nav-primary);
 background-image: linear-gradient(112deg,var(--nav-primary),var(--nav-navy));
 color: #fff;
 box-shadow: none;
}
body .original-navigation-header .original-header-call:hover { background-image: linear-gradient(112deg,#106f46,var(--nav-navy)); }
body .original-main-link { overflow-wrap: normal; word-break: normal; }

/* The old shared button rule used white !important text on newer white surfaces.
   Counter it only on the affected legacy buttons, keeping primary actions white. */
body.general-v17 #main a.legacy-button { color: var(--v17-navy) !important; }
body.general-v17 #main a.legacy-button:is([href="/kontakt/"],[href="#anfrage"],[href="#kontakt"],[href="#bewerbung"]) { color: #fff !important; }
body.general-v17.v17-topic-greetings #main :is(.v17-care-cta,.v17-article-aside) a.legacy-button { color: var(--v17-green) !important; }
body.general-v17 #main :is(.legacy-button,.v17-hero-action),
body.district-v17 #main :is(.v9-action,.legacy-button),
body.v17-shareholder-page #main :is(.v17-sh-primary,.legacy-button),
body.home-v16 #main .v14-button {
 max-width: 100%;
 white-space: normal;
 overflow-wrap: break-word;
 word-break: normal;
 text-wrap: wrap;
}

/* The review icons are the retained real star shapes, with one consistent Google yellow. */
body #main :is(.v14-stars,.v20-rating-star,.v20-rating-stars) { color: #fbbc04; }
body #main svg.v20-rating-star { fill: #fbbc04; stroke: #fbbc04; }
body.district-v17 #main .v9-google-preview p::after { color: #fbbc04; }
body #main .v20-rating-stars { display: flex; flex-wrap: nowrap; align-items: center; gap: 3px; }
body #main .v20-rating-stars > svg.v20-rating-star { flex: 0 0 17px; width: 17px; height: 17px; }

/* Testimonials read as supporting evidence, with a comfortable compact reading size. */
body #main figure.v20-testimonial blockquote,
body.home-v16 #main .v14-review blockquote,
body.district-v17 #main .v9-quotes blockquote,
body.v17-shareholder-page #main .v17-sh-reviews blockquote {
 font-family: 'Plus Jakarta Sans', Arial, sans-serif;
 font-size: 14px;
 font-weight: 400;
 line-height: 1.85;
 letter-spacing: 0;
 text-wrap: wrap;
 overflow-wrap: break-word;
}

/* Two real openings get two balanced columns, rather than an empty third. */
body.general-v17.v17-kind-job #main .v20-job-openings { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; align-items: stretch; }
body.general-v17.v17-kind-job #main .v20-job-openings > div { display: flex; }
body.general-v17.v17-kind-job #main .v20-job-card { width: 100%; display: flex; flex-direction: column; gap: 0; padding: 27px; border-radius: 16px; box-shadow: 0 12px 35px #244a3508; }
body.general-v17.v17-kind-job #main .v20-job-card > p:first-child { margin: 0 0 14px; color: var(--v17-green); font-size: 11px; font-weight: 600; letter-spacing: .02em; }
body.general-v17.v17-kind-job #main .v20-job-card h3 { font-size: 23px; line-height: 1.35; margin: 0 0 14px; letter-spacing: -.025em; text-wrap: wrap; }
body.general-v17.v17-kind-job #main .v20-job-card h3 a { color: var(--v17-navy); overflow-wrap: break-word; word-break: normal; text-decoration: none; }
body.general-v17.v17-kind-job #main .v20-job-card > p { font-size: 13px; line-height: 1.85; margin: 0 0 19px; }
body.general-v17.v17-kind-job #main .v20-job-card > div:not(:last-child) { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; padding-top: 17px; margin-top: 0; border-top: 1px solid var(--v17-line); }
body.general-v17.v17-kind-job #main .v20-job-card > div:not(:last-child) p { margin: 0 0 9px; font-weight: 600; font-size: 12px; color: var(--v17-navy); }
body.general-v17.v17-kind-job #main .v20-job-card ul { margin: 0 0 20px; padding: 0; list-style: none; }
body.general-v17.v17-kind-job #main .v20-job-card li { margin: 0 0 7px; font-size: 12px; line-height: 1.8; color: var(--v17-muted); }
body.general-v17.v17-kind-job #main .v20-job-card > div:last-child { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; margin-top: auto; padding-top: 4px; }
body.general-v17.v17-kind-job #main .v20-job-card .legacy-button { margin: 0; padding-inline: 15px; }
body.general-v17.v17-kind-job #main .v20-job-card .legacy-button + .legacy-button { border-color: var(--v17-line); background: #fff; }

/* Authentic team voices: small portraits, clear identity, no giant pullquotes. */
body.general-v17.v17-kind-job #main .v20-team-voices { gap: 20px; align-items: stretch; }
body.general-v17.v17-kind-job #main figure.v20-team-voice { margin: 0; padding: 24px; border: 1px solid var(--v17-line); border-radius: 16px; background: #f7faf8; height: 100%; }
body.general-v17.v17-kind-job #main figure.v20-team-voice > :is(div[aria-hidden="true"],span[aria-hidden="true"]) { display: none; }
body.general-v17.v17-kind-job #main figure.v20-team-voice > div:not([aria-hidden]) { display: flex; align-items: center; gap: 13px; }
body.general-v17.v17-kind-job #main figure.v20-team-voice > div:not([aria-hidden]) > div { position: relative; flex: 0 0 64px; width: 64px; height: 64px; }
body.general-v17.v17-kind-job #main figure.v20-team-voice > div:not([aria-hidden]) > div > span { display: none; }
body.general-v17.v17-kind-job #main figure.v20-team-voice img { display: block; width: 64px; height: 64px; object-fit: cover; object-position: center 24%; border-radius: 50%; margin: 0; }
body.general-v17.v17-kind-job #main figure.v20-team-voice figcaption { min-width: 0; }
body.general-v17.v17-kind-job #main figure.v20-team-voice figcaption p { margin: 0; font-size: 13px; font-weight: 600; color: var(--v17-navy); line-height: 1.7; }
body.general-v17.v17-kind-job #main figure.v20-team-voice figcaption p + p { font-size: 11px; font-weight: 400; color: var(--v17-muted); }
body.general-v17.v17-kind-job #main figure.v20-team-voice blockquote { padding: 0; margin: 18px 0 0; background: none; border: 0; font-size: 14px; line-height: 1.9; color: var(--v17-muted); }

body.general-v17.v17-kind-job #main .v17-hero-grid { align-items: center; gap: 6%; }
body.general-v17.v17-kind-job #main .v17-hero h1 { max-width: 20ch; text-wrap: wrap; overflow-wrap: break-word; word-break: normal; }
body.general-v17.v17-kind-job #main .v17-hero-copy > div:has(>span) { color: var(--v17-green); font: 600 11px/1.6 var(--v17-body); letter-spacing: .06em; text-transform: uppercase; margin-bottom: 12px; }
body.general-v17.v17-kind-job #main .v17-hero-visual { position: relative; padding: 12px 0 0 12px; }
body.general-v17.v17-kind-job #main .v17-hero-visual::before { content: ''; position: absolute; inset: 0 14px 16px 0; background: linear-gradient(145deg,#cde4d7,#d9e4f1); border-radius: 45% 45% 18px 18px; }
body.general-v17.v17-kind-job #main .v17-hero-visual > .legacy-card { position: relative; border-radius: 45% 45% 18px 18px; }
body.general-v17.v17-kind-job #main .v20-job-culture { background: #f5f9f6; }
body.general-v17.v17-kind-job #main .v20-job-culture .legacy-card { height: 100%; }
body.general-v17.v17-kind-job #main .v20-job-requirements .legacy-card { height: 100%; padding: 25px; }
body.general-v17.v17-kind-job #main .v20-job-faq details.legacy-card { border-radius: 12px; padding: 0 20px; }
body.general-v17.v17-kind-job #main .v20-job-faq summary { min-height: 60px; display: flex; align-items: center; padding: 15px 0; font-size: 13px; font-weight: 600; line-height: 1.65; }
body.general-v17.v17-kind-job #main .v20-job-faq details[open] > p { padding-bottom: 19px; margin: 0; font-size: 13px; line-height: 1.85; }
body.general-v17.v17-kind-job #main .v20-job-application { background: linear-gradient(120deg,#edf6ef,#eef3fa); }

@media(max-width:1023px) {
 body.general-v17.v17-kind-job #main .v20-job-card > div:not(:last-child) { grid-template-columns: 1fr; gap: 0; }
}
@media(max-width:760px) {
 body.general-v17.v17-kind-job #main .v20-job-openings { grid-template-columns: 1fr; gap: 18px; }
 body.general-v17.v17-kind-job #main .v20-job-card { padding: 21px; }
 body.general-v17.v17-kind-job #main .v20-job-card h3 { font-size: 22px; line-height: 1.35; }
 body.general-v17.v17-kind-job #main .v20-job-card > div:not(:last-child) { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
 body.general-v17.v17-kind-job #main figure.v20-team-voice { padding: 20px; border-radius: 13px; }
 body.general-v17.v17-kind-job #main .v17-hero-visual { max-width: 440px; margin-inline: auto; }
 body.general-v17.v17-kind-job #main .v17-hero h1 { font-size: 31px; line-height: 1.2; max-width: 22ch; }
 body #main figure.v20-testimonial blockquote { font-size: 14px; }
}
@media(max-width:639px) {
 body .original-navigation-header .original-header-call { border-radius: 50%; }
}
@media(max-width:420px) {
 body.general-v17.v17-kind-job #main .v20-job-card > div:not(:last-child) { grid-template-columns: 1fr; gap: 0; }
 body.general-v17.v17-kind-job #main .v20-job-card > div:last-child { align-items: stretch; }
 body.general-v17.v17-kind-job #main .v20-job-card .legacy-button { width: 100%; }
 body.general-v17.v17-kind-job #main .v17-hero h1 { font-size: 29px; }
}
