@font-face{font-family:'Mona Sans Display';src:url('assets/fonts/mona-display-expanded.woff2') format('woff2');font-weight:600;font-stretch:125%;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/fonts/manrope.woff2') format('woff2');font-weight:200 800;font-display:swap}
:root{--ink:#14212b;--muted:#52616a;--paper:#f4f6f6;--blue:#047b9f;--cyan:#41b8db;--rule:#cdd6d9;--tint:#e7edf0;--gutter:clamp(22px,5vw,84px);--item-size:1.12rem;--body-size:1.02rem;--heading-size:clamp(2rem,3vw,3rem);font-family:Manrope,Arial,sans-serif;font-synthesis:none;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}html{scroll-padding-top:24px}body{margin:0}h1,h2,h3,p,figure,blockquote{margin:0}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}a,summary{touch-action:manipulation}a:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:5px}::selection{background:var(--cyan);color:var(--ink)}
.wrap{width:min(calc(100% - 2 * var(--gutter)),1390px);margin-inline:auto}.section{padding-block:64px}.eyebrow{font-size:.78rem;font-weight:650;line-height:1.65;letter-spacing:.1em;text-transform:uppercase;color:var(--blue)}
h2{font-size:var(--heading-size);font-weight:550;line-height:1.22;letter-spacing:-.04em;text-wrap:balance}h3,.service-detail dt{font-size:var(--item-size);font-weight:700;line-height:1.5;letter-spacing:0}em{font-style:normal;font-weight:inherit;font-family:inherit;color:var(--blue)}
.skip{position:absolute;left:20px;top:-100px;z-index:10;padding:15px;background:white}.skip:focus{top:10px}
.header{position:relative;display:flex;align-items:center;gap:20px;min-height:100px;padding-block:16px;border-bottom:1px solid var(--rule)}.brand{width:165px;flex-shrink:0}.brand img{width:100%}.header-name{padding-left:18px;border-left:1px solid var(--rule);font-size:.875rem;font-weight:700;line-height:1.6}.header>nav{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px 18px;margin-left:auto;font-size:.82rem;font-weight:650}.header>nav a{padding-block:12px}.header>nav a:hover{color:var(--blue)}.header>nav .nav-contact{padding:13px 18px;color:white;background:var(--ink);border:1px solid var(--ink)}.header>nav .nav-contact:hover{background:var(--blue);border-color:var(--blue)}.mobile-menu{display:none}
.hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.83fr);gap:6%;align-items:center;padding-block:52px 60px}h1{font-family:'Mona Sans Display',Manrope,sans-serif;font-size:clamp(3rem,4.7vw,4.8rem);font-weight:600;font-stretch:125%;font-style:normal;line-height:1.16;letter-spacing:-.028em;margin-top:24px}.hero-subtitle{font-size:1.15rem;font-weight:650;line-height:1.55;margin-top:24px}.hero-intro{font-size:1.05rem;line-height:1.8;color:var(--muted);max-width:54ch;margin-top:18px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:53px;padding:15px 21px;background:var(--ink);color:white;border:1px solid var(--ink);font-size:.875rem;font-weight:650;line-height:1.6;text-align:center}.button.outline{background:transparent;color:var(--ink)}.button:hover{background:var(--blue);border-color:var(--blue);color:white}
.portrait{max-width:480px;width:100%}.portrait-note{font-size:.72rem;font-weight:600;line-height:1.6;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}.portrait-image{aspect-ratio:4/4.55;overflow:hidden;background:#bac4cb}.portrait-image img{width:100%;height:100%;object-fit:cover;object-position:50% 32%}.portrait figcaption{background:var(--ink);color:white;padding:18px 24px;border-bottom:4px solid var(--blue)}.portrait figcaption strong{font-size:1.2rem;font-weight:600}.portrait figcaption span{display:block;font-size:.8rem;color:#c3d2d9;line-height:1.6;margin-top:5px}
.service-section{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.35fr);gap:7%;padding-block:52px;border-top:1px solid var(--rule)}.service-tint{background:var(--tint)}.service-heading .eyebrow{margin-bottom:18px}.service-heading h2{max-width:19ch}.service-heading>p:not(.eyebrow){font-size:var(--body-size);line-height:1.8;color:var(--muted);margin-top:20px;max-width:46ch}.text-link{display:inline-block;font-size:.92rem;font-weight:650;line-height:1.6;border-bottom:1px solid var(--blue);padding-block:8px;margin-top:20px}.text-link:hover{color:var(--blue)}
.service-detail dl{margin:0}.service-detail dl>div{padding-block:17px;border-bottom:1px solid var(--rule)}.service-detail dl>div:first-child{padding-top:0}.service-detail dl>div:last-child{padding-bottom:0;border-bottom:0}.service-detail dd{margin:8px 0 0;font-size:var(--body-size);line-height:1.75;color:var(--muted)}
.section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.1fr);gap:30px;align-items:baseline;margin-bottom:32px}.section-lead{font-size:var(--body-size);line-height:1.8;color:var(--muted);margin-top:16px}
.client-logos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;padding:0;margin:0;border-top:1px solid var(--rule);column-gap:28px}.client-logos li{display:flex;align-items:center;justify-content:center;min-height:130px;padding:22px 12px;border-bottom:1px solid var(--rule)}.client-logos a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;width:100%;min-height:74px;padding:6px}.client-logos a:hover{opacity:.75}.client-logos img{width:auto;height:auto;max-width:100%;max-height:55px;object-fit:contain}.client-logos img.logo-berger{max-height:49px}.client-logos img.logo-dobler{max-width:165px}.client-logos img.logo-neveon{max-width:180px}.client-caption{font-size:.8rem;line-height:1.5;font-weight:650}.more-references{margin-top:21px;font-size:.86rem;line-height:1.9;color:var(--muted)}.more-references span{font-weight:650;color:var(--ink)}
.contact{background:var(--ink);color:white;padding-block:60px}.contact-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:end;gap:8%}.contact .eyebrow{color:var(--cyan);margin-bottom:20px}.contact h2{max-width:19ch}.contact em{color:var(--cyan)}.contact p:not(.eyebrow){font-size:1.05rem;line-height:1.8;color:#bdccd3;max-width:48ch;margin-top:22px}.contact-links{display:flex;flex-direction:column;align-items:start;gap:16px;padding-bottom:5px}.contact-links a{font-size:clamp(1.1rem,1.8vw,1.6rem);font-weight:500;line-height:1.5;border-bottom:1px solid #607c8b;padding-bottom:8px;overflow-wrap:anywhere}.contact-links a:hover{color:var(--cyan)}.contact-links span{font-size:.875rem;color:#bdccd3;line-height:1.6;margin-top:7px}.footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 30px;padding-block:27px;font-size:.8rem;line-height:1.8}.footer span,.footer .version{color:var(--muted)}

.service-points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px}.service-detail .service-points>div{padding:0 0 20px;margin-bottom:20px}.service-detail .service-points>div:nth-last-child(2),.service-detail .service-points>div:nth-last-child(3){margin-bottom:0}.service-detail .service-points>.service-output{grid-column:1/-1;padding:20px 0 0;margin:0}.service-detail .service-points>.service-output dd{max-width:66ch}.standards{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:9px}.standards li{display:flex;align-items:baseline;gap:15px;font-size:.875rem;line-height:1.7}.standards strong{font-weight:700;white-space:nowrap;min-width:85px;color:var(--blue)}.standards span{color:var(--muted)}
.certification-network{padding:0 0 44px;display:grid;grid-template-columns:minmax(0,4fr) minmax(0,1.25fr);gap:35px}.certification-network h3{font-size:.875rem;color:var(--muted);font-weight:600}.certification-logos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;gap:20px;list-style:none;padding:0;margin:16px 0 0}.certification-logos a,.audit-coordination a{display:flex;align-items:center;justify-content:center;min-height:96px;padding:14px;background:white}.certification-logos img{max-width:135px;max-height:68px;width:100%;object-fit:contain}.certification-logos a:hover,.audit-coordination a:hover{outline:1px solid var(--blue)}.audit-coordination{border-left:1px solid var(--rule);padding-left:35px}.audit-coordination a{margin-top:16px}.audit-coordination img{width:100%;max-width:210px;max-height:68px;object-fit:contain}
.references{border-top:1px solid var(--rule);padding-bottom:40px}.group-links{display:flex;flex-wrap:wrap;gap:16px 36px;align-items:center;border-top:1px solid var(--rule);padding-block:26px 34px}.group-links a{font-size:1.05rem;font-weight:650;line-height:1.6;border-bottom:1px solid var(--blue);padding-block:5px}.group-links a:hover{color:var(--blue)}.contact-links .linkedin-link{font-size:.9rem;margin-top:0;padding-bottom:5px;color:#d6e1e6}
@media(max-width:1180px){.header{gap:18px}.header>nav{display:none}.mobile-menu{display:block;margin-left:auto}.mobile-menu summary{list-style:none;cursor:pointer;border:1px solid var(--ink);padding:11px 16px;font-size:.875rem;font-weight:650}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu[open]>summary{background:var(--ink);color:white}.mobile-menu nav{position:absolute;top:calc(100% + 1px);right:0;z-index:5;width:min(315px,calc(100vw - 44px));padding:12px 20px;border:1px solid var(--rule);background:var(--paper)}.mobile-menu a{display:block;padding-block:13px;border-bottom:1px solid var(--rule);font-size:1rem;line-height:1.6}.mobile-menu a:last-child{border-bottom:0;color:var(--blue);font-weight:750}}
@media(max-width:1000px){.hero{gap:5%;grid-template-columns:minmax(0,1.2fr) minmax(0,.9fr)}h1{font-size:clamp(2.5rem,4.7vw,4rem)}.service-section{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:5%}.service-points{gap:0 20px}.client-logos{column-gap:14px}.certification-network{gap:20px}.certification-logos{gap:12px}.audit-coordination{padding-left:20px}.certification-logos a,.audit-coordination a{padding:10px}}
@media(max-width:800px){.header{min-height:84px}.service-section{grid-template-columns:1fr;gap:30px}.service-heading{max-width:680px}.service-heading h2{max-width:none}.service-heading>p:not(.eyebrow){max-width:65ch}.service-detail .service-points>.service-output dd{max-width:none}.certification-network{grid-template-columns:1fr}.audit-coordination{padding-left:0;border-left:0;max-width:235px}.certification-logos img{max-width:150px}.contact-grid{gap:5%}}
@media(max-width:650px){:root{--item-size:1.05rem;--body-size:1rem;--heading-size:2rem}.section{padding-block:44px}.header{gap:14px;min-height:82px}.brand{width:120px}.header-name{font-size:.75rem;padding-left:14px;max-width:150px}.mobile-menu summary{padding:10px 12px;font-size:.8rem}.hero{grid-template-columns:1fr;padding-block:35px 42px;gap:30px}h1{font-size:clamp(2.35rem,7.5vw,3.6rem);line-height:1.18;margin-top:21px}.hero-subtitle{font-size:1.1rem;margin-top:20px}.hero-intro{font-size:1rem}.hero-actions{gap:10px;margin-top:24px}.hero-actions .button{flex:1 1 145px;font-size:.85rem;padding:13px 12px}.portrait{max-width:none}.portrait-image{aspect-ratio:1.18/1}.portrait-image img{object-position:50% 28%}.portrait-note{font-size:.7rem}.portrait figcaption{padding:16px 20px}.service-section{gap:27px;padding-block:40px}.service-heading>p:not(.eyebrow){margin-top:17px}.service-heading .text-link{margin-top:14px}.service-points{grid-template-columns:1fr}.service-detail .service-points>div{padding-bottom:16px;margin-bottom:16px}.service-detail .service-points>div:nth-last-child(2),.service-detail .service-points>div:nth-last-child(3){margin-bottom:16px}.service-detail .service-points>.service-output{padding:0;margin:0}.standards{margin-top:20px}.certification-network{padding-bottom:36px;gap:24px}.certification-logos{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.certification-logos a{min-height:90px}.certification-logos img{max-height:60px;max-width:125px}.section-head{grid-template-columns:1fr;gap:13px;margin-bottom:24px}.section-lead{margin-top:13px}.client-logos{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px}.client-logos li{min-height:113px;padding:16px 6px}.client-logos img,.client-logos img.logo-dobler,.client-logos img.logo-neveon{max-width:100%;max-height:47px}.client-logos img.logo-berger{max-height:44px}.group-links{gap:15px 26px;padding-block:20px 28px}.group-links a{font-size:.95rem}.contact{padding-block:44px}.contact-grid{grid-template-columns:1fr;gap:28px}.contact p:not(.eyebrow){font-size:1rem}.contact-links a{font-size:1.15rem}.footer{align-items:start;flex-direction:column;gap:13px;padding-block:24px}}
@media(max-width:380px){.header{gap:10px}.brand{width:96px}.header-name{padding-left:10px;max-width:112px}.mobile-menu summary{padding:10px}.standards li{gap:10px}}

.client-logos img.logo-rothlehner{max-height:70px}.client-logos .logo-dark{background:var(--ink);padding:22px;min-height:80px}.client-logos img.logo-remex{width:180px;max-width:100%;height:auto}.client-logos img.logo-elematec{max-height:52px}@media(max-width:650px){.client-logos img.logo-rothlehner{max-height:70px}.client-logos .logo-dark{padding:16px;min-height:74px}}

/* Language navigation stays visible above both desktop and mobile menus. */
.language-bar{display:flex;justify-content:flex-end;padding-top:10px}
.language-switch{display:flex;gap:4px}
.language-switch a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:1px solid var(--rule);font-size:.875rem;line-height:1;font-weight:700}
.language-switch a:hover{border-color:var(--blue);color:var(--blue)}
.language-switch a[aria-current="page"]{background:var(--ink);border-color:var(--ink);color:white}
html[lang="de"] h1{font-size:clamp(2.5rem,4vw,4.1rem)}
html[lang="de"] h1,html[lang="de"] h2{overflow-wrap:anywhere;hyphens:auto}
@media(max-width:650px){.language-bar{padding-top:8px}html[lang="de"] h1{font-size:clamp(2rem,7vw,3.3rem)}}
