@font-face{font-family:Archivo;src:url('../fonts/archivo-latin-var.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{font-family:Archivo,Arial,sans-serif;color-scheme:light;font-synthesis:none;--paper:#eaf0f8;--ink:#0b1b36;--muted:#354761;--line:#becde0;--soft:#dbe6f5;--radius:24px}
html[data-brand="group"]{--brand:#073ae8;--deep:#062488;--security:#174ce1;--fire:#af431f;--service:#237249;--cert-bg:#081d40;--cert-card:#102e5b;--cert-line:#355687;--cert-text:#d5e3f7;--cert-accent:#99c4ff}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}h1,h2,h3,p{margin:0}a{color:inherit}svg{display:block}img{display:block;max-width:100%;height:auto}a:focus-visible{outline:3px solid var(--brand);outline-offset:6px;border-radius:3px}.hero a:focus-visible{outline-color:white}::selection{background:#b5ccff;color:#09235c}.wrap{width:calc(100% - 96px);max-width:1344px;margin-inline:auto}.skip{position:fixed;z-index:10;top:12px;left:12px;padding:12px 20px;background:white;color:var(--ink);transform:translateY(-180%)}.skip:focus{transform:none}
.header{height:112px;display:flex;align-items:center;justify-content:space-between;gap:36px}.brand{display:flex;align-items:center;gap:20px;text-decoration:none}.brand img{width:142px}.brand>span{border-left:1px solid var(--line);padding-left:20px;font-size:14px;color:var(--muted)}.navigation{display:flex;gap:34px;margin-left:auto;font-size:14px;font-weight:500}.navigation a{text-decoration:none}.navigation a:hover{color:var(--brand)}.header-contact{display:flex;align-items:center;gap:18px;text-decoration:none;background:var(--brand);color:white;padding:12px 18px;border-radius:8px;font-size:14px;font-weight:600}.header-contact:hover{background:var(--deep)}.header-contact svg,.button svg,.contact-links svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.hero{position:relative;isolation:isolate;display:grid;grid-template-columns:1.1fr 1fr;overflow:hidden;background:var(--brand);background:linear-gradient(114deg,var(--brand) 5%,#0637cb 53%,var(--deep) 100%);border-radius:var(--radius);color:white}.hero-content{position:relative;z-index:2;padding:52px 0 48px 60px}.status{display:inline-flex;align-items:center;gap:9px;font-size:13px;font-weight:500;color:#ecf2ff;border:1px solid #ffffff40;background:#ffffff0b;padding:7px 13px;border-radius:30px}.status>span{width:6px;height:6px;border-radius:50%;background:#cad9ff;box-shadow:0 0 0 4px #ffffff12}.hero h1{font-size:clamp(58px,5.6vw,82px);font-weight:560;line-height:1.03;letter-spacing:-.058em;margin:31px 0 23px}.hero-intro{font-size:17px;line-height:1.7;color:#f0f5ff;max-width:420px}.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;padding:15px 21px;border-radius:8px;font-size:14px;font-weight:600;text-decoration:none;transition:background-color .16s,color .16s}.button-light{background:white;color:#0732be;margin-top:29px}.button-light:hover{background:#e3edff}.hero-art{position:relative;align-self:stretch;min-width:0}.hero-art>svg{position:absolute;width:112%;height:100%;top:-10px;left:-9%;overflow:visible}.art-caption{position:absolute;bottom:43px;right:48px;display:flex;align-items:center;gap:10px;font-size:12px;color:#d3e0ff}.art-caption>span{height:1px;width:32px;background:#a9c4ff}.hero-foot{grid-column:1/-1;display:flex;justify-content:space-between;gap:20px;margin:0 60px;padding:19px 0 21px;border-top:1px solid #ffffff30;font-size:12px;color:#d4e0ff}.hero-foot>p{color:#f1f5ff}.separator{padding-inline:10px;color:#91acf8}
.services{padding-block:56px 58px}.section-heading{display:flex;justify-content:space-between;gap:28px;align-items:baseline;margin-bottom:32px}.section-heading h2{font-size:25px;line-height:1.25;letter-spacing:-.03em;font-weight:560}.section-heading>p{font-size:13px;color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}.service{padding:8px 36px 4px;border-right:1px solid var(--line)}.service:first-child{padding-left:0}.service:last-child{padding-right:0;border:0}.service-icon{width:55px;height:55px;padding:10px;background:#d3e0ff;border:1px solid #a4bdf4;border-radius:13px;margin-bottom:19px;stroke:var(--security);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.fire .service-icon{stroke:var(--fire);background:#f7e1d8;border-color:#dfb6a4}.service-brand .service-icon{stroke:var(--service);background:#d8ecdf;border-color:#a1c7ae}.service h3{font-size:20px;letter-spacing:-.025em;font-weight:600;margin-bottom:10px}.service p{font-size:14px;line-height:1.75;color:var(--muted);max-width:340px}
/* Own editorial symbols, not certification-body logos. */
.certifications{--cert-bg:#263b56;--cert-card:#2c415c;--cert-line:#50627a;--cert-text:#dce4ee;--cert-accent:#bed0e4;padding:50px 0 30px;background:var(--cert-bg);color:white;border-block:1px solid var(--cert-line)}
.section-note{font-size:13px;color:var(--brand);font-weight:600;margin-bottom:12px}
.cert-heading{align-items:end;margin-bottom:34px}.cert-heading .section-note{color:var(--cert-accent)}
.cert-heading h2{font-size:36px;letter-spacing:-.04em;line-height:1.17}
.cert-heading>p{max-width:340px;line-height:1.7;font-size:14px;color:var(--cert-text)}
.cert-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.certificate{position:relative;padding:25px 21px 24px;background:var(--cert-card);border:1px solid var(--cert-line);border-radius:5px;box-shadow:none}
.cert-symbol{display:block;width:42px;height:42px;margin-bottom:17px;fill:none;stroke:#bed0e4;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

.certificate h3{font-size:35px;font-weight:580;letter-spacing:-.035em;line-height:1.15;margin-bottom:19px;color:white}
.certificate h3>span{display:block;font-size:11px;font-weight:500;letter-spacing:.025em;color:var(--cert-accent);margin-bottom:7px}
.certificate .cert-category{font-size:12px;font-weight:600;color:white;margin-bottom:9px;min-height:38px}
.certificate p{hyphens:auto;overflow-wrap:anywhere;font-size:12px;line-height:1.65;color:var(--cert-text)}
.cert-foot{text-align:right;font-size:12px;color:var(--cert-text);margin-top:21px}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding-block:68px}.contact h2{font-size:39px;line-height:1.16;letter-spacing:-.04em;font-weight:550}.contact-intro>p:last-child{font-size:14px;color:var(--muted);margin-top:17px;line-height:1.7}.contact-links{align-self:center;background:#dce7f8;border:1px solid #adbfdb;border-radius:14px;padding:8px 24px}.contact-links>a{display:grid;grid-template-columns:1fr auto;gap:4px 20px;border-bottom:1px solid var(--line);padding:19px 0;text-decoration:none}.contact-links>a:first-child{padding-top:17px}.contact-links>a:last-child{border-bottom:0}.contact-links>a>span{font-size:12px;color:var(--muted)}.contact-links strong{grid-column:1;font-size:clamp(22px,2.25vw,31px);font-weight:500;letter-spacing:-.035em}.contact-links svg{grid-column:2;grid-row:1/3;align-self:center;color:var(--brand);width:24px;height:24px}.contact-links>a:hover strong{color:var(--brand)}.footer{display:flex;justify-content:space-between;gap:28px;border:1px solid var(--cert-line);border-radius:16px;background:var(--cert-bg);padding:28px 32px;margin-bottom:24px;font-size:12px;color:var(--cert-text)}.footer-company{font-size:14px;font-weight:650;color:white}.footer p{margin-top:7px}.footer-right{text-align:right}.footer nav{display:flex;justify-content:flex-end;gap:24px}.footer a{text-decoration:none;color:white}.footer a:focus-visible{outline-color:var(--cert-accent)}.footer a:hover{text-decoration:underline}
/* The legal pages use the same type, spacing and colour system. */
.rechtstext{background:#f7f9fc;border-top:1px solid var(--line);padding:56px 24px 72px}.rechtstext__innen{max-width:760px;margin:auto}.rechtstext__zurueck{display:inline-block;color:var(--brand);font-size:14px;margin-bottom:28px;text-decoration:none}.rechtstext h1{font-size:clamp(31px,5vw,51px);line-height:1.12;letter-spacing:-.04em;margin-bottom:36px;overflow-wrap:anywhere;font-weight:550}.rechtstext h2{font-size:22px;line-height:1.35;letter-spacing:-.025em;margin:32px 0 12px;font-weight:600}.rechtstext p,.rechtstext ul{font-size:15px;line-height:1.8;margin-bottom:15px;color:#394960}.rechtstext ul{padding-left:23px}.rechtstext a{overflow-wrap:anywhere}.rechtstext p a{color:var(--brand)}
@media(min-width:1500px){.hero-content{padding-top:60px;padding-bottom:57px}.hero h1{font-size:84px}}
@media(max-width:1150px){.wrap{width:calc(100% - 64px)}.header{height:96px;gap:25px}.navigation{gap:22px}.hero-content{padding:42px 0 40px 40px}.hero h1{font-size:64px}.hero-intro{font-size:15px}.hero-art>svg{width:123%;left:-17%}.hero-foot{margin-inline:40px}.art-caption{right:26px;font-size:10px}.section-heading{display:block}.section-heading>p{margin-top:10px}.cert-heading{display:flex;gap:35px}.cert-heading>p{max-width:290px}.certificate{padding:21px 15px}.cert-symbol{width:38px;height:38px}.certificate h3{font-size:29px}.certificate .cert-category{min-height:40px}.service{padding-inline:25px}.contact{gap:45px}}
@media(min-width:621px) and (max-width:1050px){.cert-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.certificate{grid-column:span 2}.certificate:nth-child(n+4){grid-column:span 3}}
@media(max-width:850px){.navigation{display:none}.header-contact{margin-left:auto}.hero{grid-template-columns:1.2fr 1fr}.hero h1{font-size:55px}.hero-content{padding-left:30px}.hero-intro{max-width:300px;font-size:14px}.hero-art>svg{width:145%;left:-32%;top:5px}.art-caption{display:none}.hero-foot{margin-inline:30px;font-size:11px}.hero-foot>span{max-width:180px;text-align:right}.cert-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.certificate{grid-column:span 2;padding:23px}.certificate:nth-child(n+4){grid-column:span 3}.certificate .cert-category{min-height:0}.cert-heading h2{font-size:31px}.cert-heading>p{max-width:255px}.service h3{font-size:17px}.service p{font-size:13px}.service{padding-inline:20px}.contact h2{font-size:33px}.contact-links strong{font-size:23px}}
@media(max-width:620px){html{scroll-padding-top:20px}.wrap{width:calc(100% - 36px)}.header{height:84px;gap:15px}.brand img{width:115px}.brand{gap:12px}.brand>span{padding-left:12px;font-size:12px}.header-contact{font-size:12px;padding:10px 13px;gap:10px}.header-contact svg{width:17px}.hero{display:flex;flex-direction:column;border-radius:18px}.hero-content{padding:29px 25px 0}.status{font-size:11px;padding:6px 10px}.hero h1{font-size:clamp(46px,11.8vw,70px);margin:25px 0 20px;letter-spacing:-.055em}.hero-intro{font-size:14px;max-width:350px;line-height:1.7}.button{margin-top:24px;font-size:13px;padding:14px 17px;gap:22px}.hero-art{height:240px;margin-top:-4px;flex:none;align-self:auto;overflow:hidden}.hero-art>svg{height:350px;width:340px;left:auto;right:calc(50% - 177px);top:-66px}.hero-foot{display:block;margin:0 25px;padding:17px 0 20px;font-size:11px}.hero-foot>span{display:block;max-width:none;text-align:left;margin-top:5px;color:#bdceff}.services{padding-block:39px 40px}.section-heading{margin-bottom:25px}.section-heading h2{font-size:23px;max-width:310px}.section-heading>p{font-size:13px;max-width:300px}.service-grid{display:block}.service,.service:first-child,.service:last-child{padding:21px 0;border-right:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:50px 1fr;gap:6px 15px}.service:first-child{padding-top:0}.service:last-child{padding-bottom:0;border-bottom:0}.service-icon{width:46px;height:46px;padding:8px;border-radius:11px;grid-row:1/3;margin:2px 0 0}.service h3{font-size:18px;margin:0}.service p{font-size:13px;max-width:none}.certifications{padding:37px 0 25px}.cert-heading{display:block;margin-bottom:25px}.section-note{font-size:12px;margin-bottom:10px}.cert-heading h2{font-size:29px;max-width:none}.cert-heading>p{max-width:350px;margin-top:15px}.cert-grid{display:grid;grid-template-columns:1fr;gap:10px}
.certificate,.certificate:nth-child(n+4){grid-column:auto;display:grid;grid-template-columns:35px 1fr;gap:5px 14px;padding:19px 17px;border:1px solid var(--cert-line);border-radius:5px}
.certificate .cert-symbol{display:block;grid-column:1;grid-row:1/3;width:34px;height:34px;margin:0;align-self:start}
.certificate h3{grid-column:2;font-size:29px;margin:0 0 7px;align-self:center}
.certificate h3>span{font-size:10px;margin-bottom:4px}
.certificate .cert-category{grid-column:2;font-size:12px;min-height:0;margin:0}
.certificate>p:last-child{grid-column:2;font-size:12px;line-height:1.6}
.cert-foot{font-size:12px;text-align:left;margin-top:19px}
.contact{display:block;padding-block:40px}.contact h2{font-size:33px}.contact-intro>p:last-child{font-size:13px;margin-top:14px}.contact-links{margin-top:26px;padding:5px 17px}.contact-links strong{font-size:clamp(20px,6.1vw,26px)}.contact-links>a{padding-block:17px}.footer{padding:23px 21px 25px;font-size:11px;display:block}.footer-right{display:flex;flex-wrap:wrap;justify-content:space-between;gap:15px;margin-top:23px;text-align:left}.footer nav{gap:20px}.footer-right p{margin:0}.rechtstext{padding:35px 22px 45px}.rechtstext h2{font-size:20px}.rechtstext p,.rechtstext ul{font-size:14px}}
@media(max-width:620px){.hero-art>svg{height:290px;width:300px;top:-25px;right:calc(50% - 150px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
