/* EO online palette. Inter is retained at the client's request.
   Nexa Light/Bold remain the prescribed brand fonts in the source guidelines. */
:root { --red:#D50032; --red-dark:#b80028; --off:#D9D9D6; --navy:#53565A; --muted:#53565A; --light:#D9D9D6; --brand-light:#888B8D; --brand-body:Inter,Arial,sans-serif; --brand-heading:Inter,Arial,sans-serif; --f:Inter,Arial,sans-serif; }
body { font-family:Inter,Arial,sans-serif; font-weight:400; line-height:1.7; }
button,input,select,textarea { font-family:Inter,Arial,sans-serif; }
h1,h2,h3,h4,.kpi-n,.person-name { font-family:Inter,Arial,sans-serif; }
h1,h2 {font-weight:700;}
h3,h4 {font-weight:600;}
body.homepage { --red:#D50032; --off:#D9D9D6; --navy:#53565A; --muted:#53565A; --light:#D9D9D6; font-weight:300; }
.homepage .hero-lead {font-weight:300;color:rgba(255,255,255,.86);max-width:48ch;}
.homepage .hero h1 {font-weight:800;}
.homepage .hero-right {padding-top:calc(var(--nav-h) + 2rem);}
.homepage .hero-right .kpi-l {font-size:.8rem;line-height:1.5;letter-spacing:.035em;color:rgba(255,255,255,.85);}
.homepage .metrics-note {font-size:.85rem;line-height:1.7;max-width:480px;color:rgba(255,255,255,.82);}
.homepage .tag {font-size:.8rem;letter-spacing:.12em;}
.homepage .impact-desc,.homepage .impact-level p,.homepage .ir-text,.homepage .pstep-d,.homepage .proc-post-item-d {font-size:1rem;line-height:1.8;}
.homepage .impact-section,.homepage .proc-section,.homepage .eo-hq-section {background:#53565A;color:#fff;}
.homepage .impact-section h2,.homepage .proc-section h2,.homepage .eo-hq-section h2 {color:#fff;}
.homepage .impact-overview {gap:2rem;}
.homepage .impact-level {border-top:3px solid #D50032;padding-top:1.3rem;}
.homepage .service-section {padding:4.5rem 3rem;background:#D9D9D6;color:#181818;}
.homepage .service-section .wrap {max-width:1280px;margin:auto;}
.homepage .service-section h2 {font-size:clamp(1.9rem,3vw,2.8rem);margin-bottom:1.2rem;}
.homepage .service-section p {font-size:1rem;line-height:1.8;max-width:780px;margin-bottom:1.3rem;}
.homepage .service-section a {color:#a50027;text-underline-offset:4px;}
.homepage .service-section.case-teaser {background:#fff;}
.homepage .service-entry-card {border-top-color:#D50032;background:#fff;}
.homepage .service-entry-card a {color:#a50027;}
.homepage .hero-awards img {object-fit:contain;filter:none;}
.brand-lockup {height:48px;width:auto;object-fit:contain;flex:none;max-width:100%;filter:none;}
.nav-brand,.blog-home-link,.logo {display:inline-flex;align-items:center;gap:1rem;min-width:0;text-decoration:none;}
.site-header,.blog-header {background:#0a0a0a;color:#fff;border-bottom:1px solid rgba(255,255,255,.14);}
.site-header .wrap,.blog-nav {max-width:1280px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;}
.blog-nav {padding:1rem 3rem;flex-wrap:wrap;}
.blog-nav a {color:#fff;text-decoration:none;font-size:.9rem;}
.blog-main {max-width:1120px;margin:0 auto;padding:0 3rem 4rem;}
.blog-article {color:#fff;}
.blog-article .article-header {padding:3rem 0 2rem;max-width:900px;}
.blog-article .article-header h1 {font-size:clamp(2rem,4vw,3.4rem);line-height:1.15;font-weight:700;}
.blog-article .article-lead {font-size:1.08rem;line-height:1.8;color:rgba(255,255,255,.88);}
.blog-article section {padding:1.75rem 0;}
.blog-article h2 {font-size:clamp(1.5rem,2.8vw,2.1rem);line-height:1.3;margin:0 0 1rem;}
.blog-article h3 {font-size:1.18rem;line-height:1.4;margin:1.3rem 0 .65rem;}
.blog-article p {font-size:1rem;line-height:1.8;max-width:880px;margin-bottom:1rem;}
.blog-article ul,.blog-article ol {padding-left:1.5rem;line-height:1.8;}
.blog-article .article-meta {display:flex;gap:1rem;font-size:.82rem;color:rgba(255,255,255,.8);margin-bottom:1rem;}
.blog-article .article-byline {font-size:.85rem;color:rgba(255,255,255,.8);margin-top:1rem;}
.service-page .service-hero {padding:2.5rem 0 4rem;}
.service-page .service-hero h1 {font-weight:700;font-size:clamp(2rem,4vw,3.5rem);line-height:1.14;max-width:960px;}
.service-page .service-lead {font-weight:400;font-size:1.08rem;line-height:1.8;max-width:850px;}
.service-content {background:#D9D9D6;color:#181818;}
.service-page .service-section h2 {font-size:clamp(1.5rem,2.8vw,2.1rem);line-height:1.3;font-weight:700;}
.service-page .service-section p {max-width:850px;line-height:1.8;}
.service-card {background:#fff;border-top:3px solid #D50032;box-shadow:none;}
.service-card p {font-size:1rem;line-height:1.8;}
.service-grid {gap:1.75rem;}
.service-button {background:#D50032;border-color:#D50032;color:#fff;min-height:44px;}
.service-button:hover {background:#b80028;border-color:#b80028;}
.service-section a:not(.service-button) {color:#a50027;}
.service-impact-box {background:#fff;border-left-color:#D50032;}
.service-table th {background:#53565A;}
.service-table th,.service-table td {padding:1.15rem;}
.service-cta {background:#53565A;}
.site-footer {background:#0a0a0a;color:#fff;padding:2.5rem 0;}
.site-footer .service-footer-links,.site-footer .service-footer-nav {display:flex;gap:.7rem 1.3rem;flex-wrap:wrap;line-height:1.8;font-size:.86rem;}
.site-footer a {color:rgba(255,255,255,.9);text-underline-offset:4px;}
.service-footer-links {max-width:1280px;margin:1rem auto;padding:0 3rem;}
.service-footer-nav .service-footer-links {padding:0;}
.site-footer .eo-cookie-settings {color:#fff;min-height:44px;}
a:focus-visible,button:focus-visible,summary:focus-visible {outline:2px solid currentColor;outline-offset:4px;}
.service-faq summary {min-height:44px;}
@media(max-width:1100px) { .homepage .nav-loc {display:none;} .homepage .nav-links {display:none;} .homepage .nav-burger {display:flex;} }
@media(max-width:900px) { .homepage .hero-right {padding-top:2rem;} .homepage .impact-overview {grid-template-columns:1fr;} }
@media(max-width:700px) { .blog-nav,.blog-main {padding-left:1.25rem;padding-right:1.25rem;} .blog-nav {gap:1rem;} .service-page .service-hero {padding:1.75rem 0 3rem;} .service-page .wrap {padding:0 1.25rem;} .service-grid {grid-template-columns:1fr;} .service-footer-links {padding:0 1.25rem;} .brand-location {display:none;} .homepage .service-section {padding:3rem 1.25rem;} }
@media(prefers-reduced-motion:reduce) { html {scroll-behavior:auto;} *,*::before,*::after {animation:none!important;transition:none!important;} }

.home-cases {background:#fff;color:#181818;}
.home-cases .sec {padding-top:5rem;padding-bottom:5rem;}
.home-cases-heading {display:grid;grid-template-columns:1.1fr 1fr;gap:3rem;align-items:end;margin-bottom:2.5rem;}
.home-cases-heading h2 {margin-bottom:0;}
.home-cases-heading p {font-size:1rem;line-height:1.8;max-width:540px;}
.home-cases-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.75rem;}
.home-case {background:#D9D9D6;display:flex;flex-direction:column;}
.home-case-image {display:block;overflow:hidden;aspect-ratio:16/10;}
.home-case-image img {display:block;width:100%;height:100%;object-fit:cover;}
.home-case-copy {padding:1.6rem;display:flex;flex-direction:column;flex:1;}
.home-case-label {color:#53565A;text-transform:uppercase;letter-spacing:.1em;font-size:.75rem;font-weight:600;margin-bottom:.8rem;}
.home-case h3 {font-size:1.45rem;line-height:1.25;margin-bottom:.8rem;font-weight:700;}
.home-case h3 a {text-decoration:none;color:#181818;}
.home-case-sub {font-size:1rem;font-weight:600;line-height:1.5;margin-bottom:.8rem;}
.home-case-copy>p:not(.home-case-label):not(.home-case-sub) {font-size:.95rem;line-height:1.75;margin-bottom:1.5rem;}
.home-case-link {margin-top:auto;color:#a50027;font-size:.95rem;font-weight:600;text-decoration:none;}
.home-cases-all {display:inline-block;margin-top:2rem;color:#a50027;font-weight:600;text-underline-offset:5px;}
@media(max-width:1000px){.home-cases-grid{grid-template-columns:1fr;}.home-case{display:grid;grid-template-columns:1fr 1.4fr;}.home-case-image{height:100%;aspect-ratio:auto;}.home-case-image img{min-height:240px;}}
@media(max-width:650px){.home-cases-heading{grid-template-columns:1fr;gap:1rem;}.home-case{display:flex;}.home-case-image{aspect-ratio:16/10;height:auto;}.home-case-image img{min-height:0;}.home-cases .sec{padding-top:3rem;padding-bottom:3rem;}}

/* Readable evidence block: full explanation retained. */
.homepage .impact-gap-combined { background:#fff; color:#181818; margin-top:2.5rem; padding:2rem 2.25rem; border-top:4px solid #D50032; }
.homepage .impact-gap-combined-hd { color:#181818; font-size:1.3rem; font-weight:700; letter-spacing:0; text-transform:none; line-height:1.4; margin:0 0 1.4rem; padding:0; border:0; }
.homepage .impact-gap-combined-body { display:grid; grid-template-columns:190px minmax(0,1fr); gap:2rem; align-items:center; padding:0; }
.homepage .impact-gap-stat { color:#D50032; font-family:Inter,Arial,sans-serif; font-size:2.6rem; line-height:1.2; font-weight:700; white-space:nowrap; }
.homepage .impact-gap-text { color:#181818; font-size:1.05rem; line-height:1.8; font-weight:400; max-width:680px; }
.homepage .impact-gap-text a { color:#a50027; }
.homepage .impact-source-note { color:#53565A; font-size:.95rem; line-height:1.75; font-weight:400; max-width:none; padding-top:1.4rem; margin-top:1.4rem; border-top:1px solid #D9D9D6; }
.homepage .impact-source-note a { color:#a50027; font-weight:600; display:inline-block; margin-top:.55rem; text-underline-offset:4px; }
@media(max-width:650px) { .homepage .impact-gap-combined { padding:1.5rem; } .homepage .impact-gap-combined-body {grid-template-columns:1fr;gap:.8rem;} .homepage .impact-gap-stat {font-size:2.35rem;} }

.impact-case-feature{background:#fff;color:#181818;}
.impact-case-feature .sec{display:grid;grid-template-columns:1fr 1.15fr;gap:3rem;align-items:center;padding-top:4.5rem;padding-bottom:4.5rem;}
.impact-case-photo{display:block;align-self:stretch;min-height:360px;overflow:hidden;}
.impact-case-photo img{width:100%;height:100%;display:block;object-fit:cover;}
.impact-case-copy h2{font-size:clamp(1.8rem,3vw,2.8rem);line-height:1.15;}
.impact-case-copy h2 a{text-decoration:none;color:inherit;}
.impact-case-copy p{font-size:1rem;line-height:1.85;margin-bottom:1.6rem;}
.impact-case-button{display:inline-flex;background:#D50032;color:#fff;padding:1rem 1.25rem;font-size:.95rem;font-weight:600;text-decoration:none;line-height:1.4;min-height:44px;}
.impact-case-button:hover{background:#b80028;}
.home-cases-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
@media(max-width:800px){.impact-case-feature .sec{grid-template-columns:1fr;gap:1.75rem;}.impact-case-photo{min-height:0;aspect-ratio:16/9;}.home-cases-grid{grid-template-columns:1fr;}}

.impact-case-photo,.home-case-image,.case-overview-photo{position:relative;}.case-image-note{position:absolute;bottom:.65rem;right:.65rem;background:rgba(0,0,0,.72);color:#fff;padding:.2rem .5rem;font-size:.75rem;font-weight:400;line-height:1.5;}.case-overview-photo{display:block;aspect-ratio:16/10;overflow:hidden;margin-bottom:1.3rem;}.case-overview-photo img{width:100%;height:100%;object-fit:cover;}.case-report-image{margin:2rem 0 0;max-width:900px;}.case-report-image img{display:block;width:100%;height:350px;object-fit:cover;}.case-report-image figcaption{font-size:.8rem;color:#53565A;margin-top:.5rem;}img[src$="referenz-hr.jpg"]{object-position:center 40%;}@media(max-width:650px){.case-report-image img{height:240px;}}

/* Compact reference cards with a bounded landscape image area. */
.homepage .home-cases-grid {align-items:start;}
.homepage .home-case {display:flex;flex-direction:column;min-width:0;height:auto;}
.homepage .home-case-image {position:relative;display:block;flex:0 0 auto;height:220px;min-height:0;aspect-ratio:auto;overflow:hidden;}
.homepage .home-case-image img {position:absolute;inset:0;width:100%;height:100%;min-height:0;max-height:none;object-fit:cover;object-position:center;}
.homepage .home-case-copy {padding:1.35rem 1.5rem;flex:0 0 auto;}
.homepage .home-case h3 {font-size:1.35rem;line-height:1.3;margin-bottom:.65rem;}
.homepage .home-case-sub {margin-bottom:.65rem;}
.homepage .home-case-copy>p:not(.home-case-label):not(.home-case-sub) {margin-bottom:1rem;}
.homepage .home-case-link {margin-top:.2rem;}
@media(max-width:650px){.homepage .home-case-image{height:190px;}}

.homepage .ind-visual-item img {filter:none;object-fit:cover;object-position:center;}.homepage .ind-visual-item:hover img {filter:none;}.industry-image-credit {font-size:.8rem;line-height:1.7;color:#53565A;padding:0 3rem 1.5rem;max-width:1280px;margin:0 auto;}.industry-image-credit a {color:inherit;text-underline-offset:3px;}@media(max-width:650px){.industry-image-credit{padding:0 1.25rem 1.5rem;}}

.homepage .ind-visual-item img[src$="branche-metall-v2.jpg"]{object-position:center 42%;}.homepage .ind-visual-item img[src$="branche-kunststoff-v2.jpg"]{object-position:center 60%;}


/* Alternate white and the same EO grey across the light sections. */
.homepage .impact-case-feature,.homepage .interim-section,.homepage .home-cases,.homepage .intro-section,.homepage .faq-section,.homepage .eo-news-section {background:#fff;}
.homepage .team-section,.homepage .pos-section,.homepage .ueber-section,.homepage .contact-section,.homepage .service-section {background:#D9D9D6;}
.homepage #branchen {background:#D9D9D6!important;}
.homepage .home-case {background:#D9D9D6;}
.homepage .service-entry-card,.homepage .impact-gap-combined {background:#fff;}

/* Impact section uses the same EO grey as the other grey sections. */
.homepage .impact-section {background:#D9D9D6;color:#181818;}
.homepage .impact-section h2,.homepage .impact-section h3,.homepage .impact-section .tag,.homepage .impact-section .impact-desc,.homepage .impact-section .impact-level-label,.homepage .impact-section .impact-level p,.homepage .impact-section .impact-method-link,.homepage .impact-section .impact-emphasis {color:#181818;}
.homepage .impact-section .ir-text,.homepage .impact-section .ir-text strong {color:#181818;}
.homepage .impact-section .ir-text a {color:#a50027;}

/* Process: same light EO grey, legible dark type and white cards. */
.homepage .proc-section{background:#D9D9D6;color:#181818;}
.homepage .proc-section h2,.homepage .proc-section .tag,.homepage .proc-section .pstep-t,.homepage .proc-section .pstep-d,.homepage .proc-section .proc-post-item-t,.homepage .proc-section .proc-post-item-d{color:#181818;}
.homepage .proc-section h2 span{color:#D50032!important;}
.homepage .proc-phase-lbl span{color:#53565A;font-size:.8rem;}
.homepage .proc-phase-lbl::after,.homepage .proc-connector-line{background:#888B8D;}
.homepage .pstep,.homepage .pstep:hover,.homepage .proc-step-post,.homepage .proc-post-item{background:#fff;border-color:rgba(83,86,90,.25);}
.homepage .proc-step-post{border-left-color:#D50032;}
.homepage .proc-section .pstep-n{color:#D50032;}
.homepage .proc-section .proc-connector-node{color:#a50027;background:#fff;border-color:#D50032;}
