@font-face{font-family:ASF;src:url('assets/DejaVuSans.woff') format('woff');font-weight:400;font-display:swap}@font-face{font-family:ASF;src:url('assets/DejaVuSans-Bold.woff') format('woff');font-weight:700;font-display:swap}
/* Compact, split service overview on the homepage. */
.section.home-services{padding:44px 0}
.home-services-shell{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.25fr);align-items:center;gap:clamp(28px,5vw,68px);padding:32px 38px;background:var(--cream);border-top:2px solid var(--orange)}
.home-services-head{min-width:0}
.home-services-head .home-services-kicker{display:flex;align-items:center;gap:12px;font-size:.875rem;font-weight:700;line-height:1.4;letter-spacing:.06em;text-transform:uppercase;margin:0 0 14px;color:var(--muted)}
.home-services-kicker span{color:var(--orange);letter-spacing:0}
.home-services-head h2{font-size:clamp(1.6rem,2.5vw,2.05rem);line-height:1.2;max-width:18ch}
.home-services-head .home-services-description{font-size:1rem;color:var(--muted);line-height:1.6;margin:16px 0 0;max-width:34ch}
.home-services-head .home-services-link{display:inline-block;font-size:1rem;font-weight:700;line-height:1.5;padding:10px 0;min-height:44px;margin-top:16px;text-decoration:underline;text-decoration-color:var(--orange);text-decoration-thickness:2px;text-underline-offset:6px}
.home-services-link:hover{color:var(--orange)}
.home-services-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line);min-width:0}
.home-services-list li{border-bottom:1px solid var(--line);min-width:0}
.home-services-list a{display:flex;align-items:baseline;gap:20px;padding:13px 12px;min-height:50px;font-size:1rem;font-weight:700;line-height:1.45;text-decoration:none;overflow-wrap:anywhere;transition:background .2s,color .2s}
.home-services-list a:hover{background:var(--white);color:var(--orange)}
.home-services-list a:hover>span:last-child{text-decoration:underline;text-underline-offset:4px}
.home-service-number{flex:none;font-size:.875rem;font-weight:400;color:var(--muted)}
@media(max-width:760px){.home-services-shell{grid-template-columns:1fr;gap:24px;padding:26px}.home-services-head h2{max-width:24ch}.home-services-head .home-services-description{max-width:46ch}.home-services-head .home-services-link{margin-top:10px}}
@media(max-width:560px){.section.home-services{padding:32px 0}.home-services-shell{padding:24px 20px;gap:20px}.home-services-head h2{font-size:1.6rem}.home-services-list a{gap:14px;padding:13px 0}}
:root{--beige:#E1E6EC;--ink:#20252B;--muted:#59636E;--orange:#ED4B0A;--line:#CCD3DB;--cream:#F1F4F7;--pos:#E3E8EE;--white:#fff;--page:#E9EDF1;--graphite:#20252B;--width:1240px;--gutter:clamp(20px,5vw,80px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:140px}body{margin:0;background:var(--page);color:var(--ink);font-family:ASF,'DejaVu Sans',sans-serif;font-size:16px;line-height:1.7}a{color:inherit;text-underline-offset:5px}button,input,textarea,select{font:inherit;color:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:700;line-height:1.15;letter-spacing:-.035em;overflow-wrap:break-word;text-wrap:balance}h1{font-size:clamp(2.25rem,4.65vw,4.25rem)}h2{font-size:clamp(1.85rem,3.2vw,2.8rem)}h3{font-size:1.2rem;letter-spacing:-.015em}p{max-width:70ch}p+p{margin-top:1em}.wrap{width:min(var(--width),calc(100% - var(--gutter)*2));margin:auto}.section{padding:88px 0}.cream{background:var(--cream)}.beige{background:var(--beige)}.muted{color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:.11em;font-size:.875rem;font-weight:700;color:var(--ink);display:flex;align-items:center;gap:12px;margin-bottom:24px}.eyebrow:before{content:'';width:27px;height:3px;background:var(--orange);flex:none}.lead{font-size:1.08rem;line-height:1.8;color:var(--muted)}.section-head{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:40px}.section-head p{max-width:54ch}.number{font-size:1.2rem;color:var(--orange);margin-right:15px;letter-spacing:0}.buttons{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:52px;padding:12px 22px;background:var(--orange);border:2px solid var(--orange);color:white;font-size:1.1875rem;font-weight:700;text-decoration:none;line-height:1.35;transition:background .2s,transform .2s}.btn:hover{transform:translateY(-2px);background:#d94104;border-color:#d94104}.btn.secondary{background:transparent;border:1px solid var(--line);color:var(--ink);font-size:1rem}.btn.secondary:hover{background:var(--beige);border-color:var(--muted)}.arrow{font-size:1.2rem}.text-link{font-weight:700;display:inline-flex;gap:18px;align-items:center;text-decoration:underline;text-decoration-color:var(--orange);text-decoration-thickness:2px;padding:8px 0}.text-link:hover{color:var(--muted)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--ink);outline-offset:5px}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--orange);outline-offset:2px}.skip{position:fixed;top:-100px;left:20px;z-index:1000;background:white;padding:12px 20px}.skip:focus{top:10px}
.topbar{background:var(--beige);border-bottom:1px solid var(--line);font-size:.8rem}.topbar .wrap{display:flex;justify-content:space-between;gap:20px;padding-block:8px}.topbar a{text-decoration:none}.topbar span:last-child{display:flex;gap:24px}.header{position:sticky;top:0;z-index:20;background:var(--beige);border-bottom:3px solid var(--orange)}.header-inner{display:flex;gap:35px;align-items:center;justify-content:space-between;min-height:106px}.logo{flex:none;width:172px}.logo img{width:100%;height:auto}.navigation{display:flex;gap:27px;align-items:center}.navigation a{font-size:.875rem;font-weight:700;text-decoration:none;padding:14px 0;white-space:nowrap;position:relative}.navigation a:after{position:absolute;bottom:5px;left:0;right:0;height:2px;background:var(--orange);content:'';transform:scaleX(0);transform-origin:left;transition:transform .2s}.navigation a:hover:after,.navigation a[aria-current=page]:after{transform:scaleX(1)}.navigation .nav-contact{border:1px solid var(--ink);padding:11px 18px}.navigation .nav-contact:after{display:none}.navigation .nav-contact:hover{background:var(--cream)}.menu-button{display:none;border:1px solid var(--ink);background:none;padding:9px 14px;min-height:44px;font-weight:700}.hero{padding-top:66px}.hero-top{display:grid;grid-template-columns:1.4fr 1fr;align-items:end;gap:65px;padding-bottom:58px}.hero h1 span{color:var(--ink)}.hero-intro{padding-bottom:5px}.hero-image{position:relative}.hero-image img{width:100%;height:clamp(260px,34vw,485px);object-fit:cover;object-position:center 46%}.hero-ribbon{position:relative;margin-top:-33px;background:var(--orange);color:white;padding:23px 30px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:1.1875rem;font-weight:700;line-height:1.4}.hero-ribbon a{white-space:nowrap}.image-caption{display:flex;justify-content:flex-end;font-size:.8rem;color:var(--muted);margin:10px 0 0}.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-bottom:1px solid var(--line);padding:36px 0}.fact{padding:6px 35px;border-right:1px solid var(--line)}.fact:first-child{padding-left:0}.fact:last-child{border:0}.fact strong{font-size:1.15rem;display:block;margin-bottom:5px}.fact span{color:var(--muted);font-size:.9rem}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid var(--line);border-top:1px solid var(--line)}.service-card{padding:32px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:white;display:flex;flex-direction:column;align-items:flex-start;transition:background .2s}.service-card:hover{background:var(--cream)}.service-card .service-no{color:var(--orange);font-size:1.3rem;font-weight:700;margin-bottom:25px}.service-card h3{font-size:1.25rem;margin-bottom:16px}.service-card p{font-size:.95rem;color:var(--muted);margin-bottom:24px}.service-card .text-link{margin-top:auto;font-size:.9rem}.split{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}.shk-panel{padding:42px;background:var(--beige);border-top:3px solid var(--orange)}.master{display:inline-flex;border:1px solid var(--orange);font-size:.8rem;font-weight:700;letter-spacing:.06em;padding:8px 14px;margin-bottom:24px;text-transform:uppercase;line-height:1.5}.shk-panel h3{font-size:1.65rem;line-height:1.3;margin-bottom:25px}.checklist{list-style:none;padding:0;margin:0;display:grid;gap:12px}.checklist li{padding-left:22px;position:relative}.checklist li:before{content:'';position:absolute;left:0;top:.7em;width:7px;height:7px;background:var(--orange)}.shk-panel .checklist{font-size:.95rem}.shk-panel .text-link{margin-top:20px}.split h2{margin-bottom:24px}.focus-strip{border-top:1px solid var(--line);padding-top:28px;margin-top:30px;display:flex;gap:26px;flex-wrap:wrap;font-size:.85rem;font-weight:700}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.step{padding-top:24px;border-top:1px solid var(--line)}.step span{display:block;color:var(--orange);font-size:1.4rem;font-weight:700;margin-bottom:20px}.step h3{margin-bottom:14px;font-size:1.1rem}.step p{color:var(--muted);font-size:.95rem}.contact-band{display:flex;justify-content:space-between;gap:40px;align-items:center}.contact-band h2{margin-bottom:15px}.contact-band p{color:var(--muted)}.contact-band .buttons{margin:0;flex-shrink:0}.footer{background:var(--beige);border-top:3px solid var(--orange);padding:36px 0 18px}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.1fr 1.1fr;gap:28px;margin-bottom:28px}.footer-grid>div{min-width:0}.footer-office{min-width:0}.footer-office address{font-style:normal;font-size:.875rem;line-height:1.8}.footer-office .footer-links{margin-top:12px}.footer .footer-office a{font-size:.875rem;overflow-wrap:anywhere}.footer-logo{display:block;width:148px;height:auto;max-width:100%;object-fit:contain;margin-bottom:20px}.footer h3{font-size:.9rem;letter-spacing:0;margin-bottom:16px}.footer p,.footer a{font-size:.85rem;line-height:1.8}.footer a{text-decoration:none}.footer a:hover{text-decoration:underline}.footer-links{display:flex;flex-direction:column;gap:7px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:20px;font-size:.75rem;color:var(--muted)}.footer-bottom div{display:flex;gap:22px}.footer-bottom a{font-size:.75rem}.page-intro{padding:54px 0 55px}.breadcrumb{font-size:.8rem;color:var(--muted);margin-bottom:32px}.breadcrumb a{color:var(--muted)}.page-intro h1{max-width:1000px;margin-bottom:25px}.page-intro .lead{max-width:80ch}.jump-nav{display:flex;gap:10px;flex-wrap:wrap;padding-top:30px}.jump-nav a{padding:9px 15px;border:1px solid var(--line);font-size:.85rem;text-decoration:none;background:white}.jump-nav a:hover{background:var(--beige)}.catalog-section{padding:54px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:.9fr 1.4fr;gap:65px}.catalog-section h2{font-size:1.8rem;margin-bottom:18px}.catalog-section .index{color:var(--orange);font-size:1.4rem;font-weight:700;display:block;margin-bottom:16px}.catalog-section p{color:var(--muted);font-size:.95rem}.catalog-list{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:0;align-content:start}.catalog-list li{border-bottom:1px solid var(--line);padding:13px 18px 13px 23px;position:relative;font-size:.93rem}.catalog-list li:before{position:absolute;left:0;top:24px;content:'';height:6px;width:6px;background:var(--orange)}.note{background:var(--cream);padding:25px 30px;border-left:3px solid var(--orange);font-size:.9rem;line-height:1.8}.note strong{display:block;margin-bottom:5px}.catalog-end{margin:10px 0 70px}.master-intro{display:grid;grid-template-columns:1.5fr .7fr;gap:50px;align-items:start}.master-aside{background:var(--beige);border-top:3px solid var(--orange);padding:28px}.master-aside strong{display:block;font-size:1.25rem;line-height:1.4;margin-bottom:14px}.master-aside p{font-size:.9rem;color:var(--muted)}.master-aside .stamp{font-weight:700;font-size:2rem;letter-spacing:.02em;color:var(--orange);margin-bottom:10px}.photo-split img{width:100%;height:420px;object-fit:cover}.locations{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:40px}.location{border:1px solid var(--line);padding:32px;background:white}.location .eyebrow{margin-bottom:15px}.location h3{font-size:1.6rem;margin-bottom:18px}.location p{color:var(--muted)}.location .text-link{margin-top:15px}.contact-layout{display:grid;grid-template-columns:.9fr 1.2fr;gap:70px;padding-bottom:85px}.contact-details{display:grid;gap:25px;align-content:start}.contact-detail{border-top:1px solid var(--line);padding-top:20px}.contact-detail h3{font-size:.9rem;margin-bottom:12px}.contact-detail>a{font-size:1.15rem;font-weight:700;overflow-wrap:anywhere}.contact-detail p{font-size:.9rem;color:var(--muted);margin-top:8px}.contact-form{padding:36px;background:var(--cream);border-top:3px solid var(--orange)}.contact-form h2{font-size:1.6rem;margin-bottom:14px}.contact-form>p{font-size:.9rem;color:var(--muted);margin-bottom:25px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:.85rem;font-weight:700}.field input,.field select,.field textarea{border:1px solid #8A96A4;background:white;width:100%;padding:11px 12px;min-height:48px;border-radius:0}.field textarea{min-height:135px;resize:vertical}.contact-form .btn{margin-top:22px;width:100%}.form-help{font-size:.8rem!important;margin:16px 0 0!important}.form-status{margin-top:18px;font-weight:700;font-size:.9rem}.form-status:empty{display:none}.legal{max-width:860px;padding-bottom:80px}.legal h2{font-size:1.4rem;margin:32px 0 14px}.legal p{font-size:1rem}.career-box{display:grid;grid-template-columns:1fr 1fr;gap:65px;padding:40px;background:var(--beige);border-left:3px solid var(--orange)}.career-box h3{font-size:1.5rem;margin-bottom:18px}.career-box .checklist{font-size:.95rem}::selection{background:#CAD6E1;color:#20252B}[hidden]{display:none!important}
@media(min-width:1500px){.hero-image{max-width:1600px;margin:auto}}
@media(max-width:1100px){.navigation{gap:17px}.logo{width:145px}.navigation a{font-size:.8rem}.header-inner{gap:20px}.hero-top{gap:35px}.hero h1{font-size:3.3rem}.contact-band{align-items:flex-start;flex-direction:column}.service-card{padding:26px}.split{gap:40px}.shk-panel{padding:32px}.footer-grid{grid-template-columns:1.25fr 1fr 1fr;gap:28px}.footer-grid>div:first-child{grid-row:span 2}.contact-layout{gap:38px}}
@media(max-width:850px){html{scroll-padding-top:106px}.topbar span:first-child{display:none}.topbar .wrap{justify-content:center}.header-inner{min-height:88px}.logo{width:136px}.menu-button{display:block}.navigation{display:none;position:absolute;top:100%;left:0;right:0;padding:16px var(--gutter) 24px;background:var(--beige);border-bottom:3px solid var(--orange);flex-direction:column;gap:0;align-items:stretch;max-height:calc(100dvh - 100px);overflow:auto}.navigation.open{display:flex}.navigation a{padding:14px 0;font-size:1rem;white-space:normal}.navigation .nav-contact{margin-top:10px;text-align:center}.hero{padding-top:45px}.hero-top{grid-template-columns:1fr;gap:25px;padding-bottom:38px}.hero h1{font-size:clamp(2.2rem,7vw,3.6rem)}.hero-intro{max-width:610px}.hero-ribbon{font-size:1.1875rem;padding:18px 24px}.hero-ribbon a{display:none}.facts{padding:24px 0}.fact{padding:0 18px}.fact strong{font-size:1rem}.fact span{font-size:.8rem}.section{padding:62px 0}.section-head{grid-template-columns:1fr;gap:20px}.services-grid{grid-template-columns:1fr 1fr}.split{grid-template-columns:1fr;gap:32px}.shk-panel{max-width:none}.steps{grid-template-columns:1fr 1fr}.catalog-section{grid-template-columns:1fr;gap:25px;padding:40px 0}.catalog-section h2{font-size:1.65rem}.master-intro{grid-template-columns:1fr;gap:28px}.master-aside{max-width:520px}.contact-layout{grid-template-columns:1fr}.career-box{grid-template-columns:1fr;gap:28px}.photo-split img{height:340px}}
@media(max-width:560px){:root{--gutter:21px}.topbar{font-size:.75rem}.topbar span:last-child{gap:15px;flex-wrap:wrap;justify-content:center}.topbar span:last-child a:last-child{display:none}.header-inner{min-height:80px}.logo{width:125px}.hero .eyebrow{font-size:.7rem;letter-spacing:.05em;margin-bottom:20px}.hero h1{font-size:2.22rem;line-height:1.18;letter-spacing:-.045em}.lead{font-size:1rem}.hero-image img{height:265px}.hero-ribbon{margin-top:-20px;padding:17px 20px;font-size:1.1875rem}.hero-ribbon span{max-width:260px}.image-caption{font-size:.75rem}.facts{grid-template-columns:1fr;gap:20px}.fact{padding:0 0 18px;border:0;border-bottom:1px solid var(--line)}.fact:last-child{padding:0}.fact span{font-size:.9rem}.services-grid{grid-template-columns:1fr}.service-card{padding:25px}.service-card .service-no{margin-bottom:16px}.service-card p{margin-bottom:14px}.section{padding:48px 0}.section-head{margin-bottom:28px}.shk-panel{padding:27px}.steps{gap:25px 20px}.step h3{font-size:1rem;line-height:1.35}.step p{font-size:.88rem}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 20px}.footer-grid>div:first-child{grid-column:1/-1;grid-row:auto}.footer-bottom{flex-direction:column;gap:10px}.footer-bottom div{flex-wrap:wrap}.footer{padding-top:28px}.page-intro{padding:30px 0 35px}.breadcrumb{margin-bottom:24px}.page-intro h1{font-size:2.2rem}.catalog-list{grid-template-columns:1fr}.catalog-list li{font-size:.95rem}.catalog-section{gap:18px}.jump-nav{gap:8px}.jump-nav a{font-size:.8rem;padding:7px 10px}.locations{grid-template-columns:1fr}.contact-form{padding:24px}.form-grid{grid-template-columns:1fr}.form-grid .field{grid-column:1}.contact-form .btn{font-size:1.1875rem;padding-inline:12px}.contact-detail>a{font-size:1rem}.career-box{padding:25px}.buttons{gap:10px}.btn{padding:12px 18px}.contact-band .buttons{width:100%}.contact-band .btn{width:100%}.note{padding:22px}.photo-split img{height:280px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
/* ISO 9001, Team und Einsatzorte */
.quality-panel{display:grid;grid-template-columns:130px 1fr;gap:32px;align-items:center;background:var(--beige);border-left:3px solid var(--orange);padding:30px 35px;margin-top:35px}.quality-label{border-right:1px solid var(--line);padding-right:28px;line-height:1.1}.quality-label span{display:block;font-size:1rem;letter-spacing:.15em;font-weight:700}.quality-label strong{display:block;font-size:2.6rem;color:var(--orange);margin-top:5px}.quality-panel h2{font-size:1.6rem;margin-bottom:12px}.quality-panel p{font-size:.95rem;color:var(--muted);max-width:85ch}.footer .footer-iso{font-size:.8rem;font-weight:700;margin-top:16px;max-width:26ch}.team-teaser{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:70px}.team-teaser .eyebrow{margin-bottom:15px}.team-section{padding:0 0 80px}.team-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px}.team-card{grid-column:span 4;border:1px solid var(--line);background:white}.team-card:nth-child(n+4){grid-column:span 3}.photo-placeholder{aspect-ratio:4/3;background:var(--cream);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;border-bottom:1px solid var(--line);position:relative;margin:14px 14px 0}.photo-placeholder:after{content:'';position:absolute;inset:15px;border:1px dashed #AAB5C1;pointer-events:none}.placeholder-brand{font-size:2.8rem;font-weight:700;letter-spacing:-.04em;color:#8A96A4;line-height:1}.placeholder-caption{font-size:.85rem;color:var(--muted)}.team-card-body{padding:24px}.team-index{display:block;font-size:.85rem;color:var(--muted);margin-bottom:10px}.team-card h2{font-size:1.3rem;line-height:1.3;margin-bottom:14px}.team-card p{font-size:.9rem;color:var(--muted);line-height:1.8}.map-section{padding-bottom:30px}.map-layout{display:grid;grid-template-columns:1.25fr 1fr;gap:30px;align-items:start}.map-card{background:var(--cream);border:1px solid var(--line);padding:28px}.map-topline{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:22px}.map-topline h2{font-size:1.4rem}.map-topline>span{font-size:.85rem;color:var(--muted);white-space:nowrap}.map-controls{display:flex;gap:8px;margin-bottom:8px}.map-controls button{min-width:44px;min-height:44px;padding:7px 12px;border:1px solid #8A96A4;background:white;font-size:1.15rem;font-weight:700}.map-controls #map-reset{font-size:.8rem;margin-left:auto;font-weight:400}.map-controls button:hover{background:var(--beige)}.map-controls button:disabled{opacity:.4;cursor:default}.map-stage{overflow:hidden}.map-stage svg{display:block;width:100%;height:auto;max-height:690px;overflow:hidden;touch-action:pan-y}.germany-outline{fill:var(--beige);stroke:#929EAC;stroke-width:1;vector-effect:non-scaling-stroke;fill-rule:evenodd}.map-pin{cursor:pointer;outline:none}.pin-hit{fill:transparent}.pin-dot{fill:var(--orange);stroke:white;stroke-width:1.5}.office-pin .pin-dot{fill:var(--ink);stroke:white;stroke-width:2}.pin-ring{fill:none;stroke:var(--orange);stroke-width:2;opacity:0}.map-pin.active .pin-ring,.map-pin:focus .pin-ring{opacity:1}.map-pin:hover .pin-dot{fill:var(--ink)}.map-pin.active .pin-dot{stroke:var(--ink);stroke-width:1.2}.map-legend{display:flex;flex-wrap:wrap;gap:25px;font-size:.8rem;margin-top:15px}.map-legend span{display:flex;align-items:center;gap:8px}.legend-dot,.legend-office{width:9px;height:9px;background:var(--orange);border-radius:50%;display:inline-block}.legend-office{background:var(--ink)}.map-selection{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:22px;padding:20px 0;min-height:125px}.map-selection>span{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;display:block;margin-bottom:7px}.map-selection strong{display:block;font-size:1.15rem;line-height:1.4}.map-selection p{font-size:.85rem;color:var(--muted);margin-top:7px}.map-footnote{font-size:.75rem;color:var(--muted);margin-top:18px;line-height:1.8}.location-directory{border:1px solid var(--line);background:white}.directory-heading{padding:25px;background:var(--beige);border-bottom:3px solid var(--orange)}.directory-heading h2{font-size:1.4rem;margin-bottom:8px}.directory-heading p{font-size:.85rem;color:var(--muted)}.location-choices{list-style:none;padding:12px;margin:0;display:grid;grid-template-columns:1fr 1fr;max-height:850px;overflow-y:auto;scrollbar-color:#929EAC var(--cream);scrollbar-width:thin}.location-choice{display:flex;flex-direction:column;gap:5px;text-align:left;width:100%;height:100%;background:white;border:1px solid transparent;border-bottom-color:var(--line);padding:15px 12px;line-height:1.45;min-height:72px}.location-choice>span:first-child{font-size:.88rem;font-weight:700}.location-state{font-size:.75rem;color:var(--muted)}.location-choice:hover{background:var(--cream)}.location-choice.active{border-color:var(--orange);background:var(--pos)}.location-choice:focus-visible{outline:2px solid var(--ink);outline-offset:-3px}.map-pin:focus-visible{outline:none}
@media(max-width:1200px){.header-inner{min-height:88px}.logo{width:145px}.menu-button{display:block}.navigation{display:none;position:absolute;top:100%;left:0;right:0;padding:16px var(--gutter) 24px;background:var(--beige);border-bottom:3px solid var(--orange);flex-direction:column;gap:0;align-items:stretch;max-height:calc(100dvh - 110px);overflow:auto}.navigation.open{display:flex}.navigation a{padding:14px 0;font-size:1rem;white-space:normal}.navigation .nav-contact{margin-top:10px;text-align:center}.map-layout{grid-template-columns:1.15fr 1fr;gap:22px}.map-card{padding:22px}.location-choices{grid-template-columns:1fr;max-height:790px}.team-card,.team-card:nth-child(n+4){grid-column:span 4}.team-grid{gap:20px}}
@media(max-width:850px){.team-grid{grid-template-columns:1fr 1fr}.team-card,.team-card:nth-child(n+4){grid-column:auto}.quality-panel{padding:27px;grid-template-columns:110px 1fr;gap:24px}.quality-panel h2{font-size:1.3rem}.map-layout{grid-template-columns:1fr}.map-stage svg{max-height:620px}.location-choices{grid-template-columns:1fr 1fr;max-height:500px}.map-topline{gap:10px}.map-topline h2{font-size:1.2rem}.team-teaser{align-items:flex-start;flex-direction:column}.map-selection{min-height:auto}.team-section{padding-bottom:60px}}
@media(max-width:560px){.team-grid{grid-template-columns:1fr}.team-card-body{padding:25px}.photo-placeholder{aspect-ratio:5/3}.quality-panel{grid-template-columns:1fr;gap:18px;padding:24px;margin-top:28px}.quality-label{display:flex;align-items:baseline;gap:10px;border:0;padding:0}.quality-label strong{font-size:2rem}.quality-panel h2{font-size:1.3rem}.quality-panel p{font-size:.9rem}.map-card{padding:17px}.map-topline{flex-wrap:wrap}.map-stage svg{max-height:none}.map-controls{gap:6px}.map-controls #map-reset{font-size:.75rem;padding:8px}.map-legend{gap:18px}.location-choices{padding:8px}.location-choice{padding:13px 8px}.location-choice>span:first-child{font-size:.85rem;overflow-wrap:anywhere}.location-state{font-size:.7rem}.directory-heading{padding:22px}.map-footnote{font-size:.75rem}.team-teaser{margin-bottom:45px}.team-teaser h2{font-size:1.7rem}.header-inner{min-height:80px}.logo{width:125px}}

/* Services at the building: supplied vector artwork, with ASF annotations. */
.building-page{padding-top:32px}.building-section{padding-top:0}.building-selector{display:none;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line);margin-bottom:32px}.is-ready .building-selector{display:grid}.building-tab{display:flex;gap:12px;align-items:center;min-height:76px;background:white;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px;text-align:left;font-size:.88rem;font-weight:700;line-height:1.4;position:relative}.building-tab-no{color:var(--muted);font-size:.8rem}.building-tab:hover{background:var(--cream)}.building-tab[aria-selected=true]{background:var(--pos)}.building-tab[aria-selected=true]:after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--orange)}.building-tab[aria-selected=true] .building-tab-no{color:var(--orange)}.building-tab:focus-visible{z-index:2;outline-offset:-5px}.building-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:40px;align-items:center}.building-figure{min-width:0;background:var(--cream);border:1px solid var(--line);padding:14px 14px 0;container-type:inline-size}.building-drawing{position:relative;width:100%;aspect-ratio:640/560;max-width:740px;margin:auto}.building-drawing .building{position:absolute;inset:0;width:100%;height:100%;display:block;overflow:visible}.building-figure figcaption{padding:20px 0;text-align:center;border-top:1px solid var(--line);font-size:.8rem;color:var(--muted)}.building-figure figcaption strong{color:var(--ink)}.building-panel h3{font-size:clamp(1.5rem,2.1vw,1.9rem);margin-bottom:18px}.building-panel>.eyebrow{font-size:.72rem;letter-spacing:.06em;margin-bottom:15px;line-height:1.5}.building-panel>p:not(.eyebrow){color:var(--muted);font-size:.95rem;line-height:1.7}.building-panel .checklist{font-size:.88rem;margin:24px 0 15px;gap:12px;line-height:1.6}.building-panel .text-link{font-size:.88rem;line-height:1.6}.building-panel+.building-panel{margin-top:36px}.is-ready .building-panel+.building-panel{margin-top:0}.building-panel[hidden]{display:none}.building-more{display:flex;gap:20px;flex-wrap:wrap;font-size:.78rem;margin-top:10px}.building-more:empty{display:none}.building-footnote{max-width:none;font-size:.78rem;color:var(--muted);margin-top:22px;line-height:1.7}
.building .b-ground{stroke:var(--ink);stroke-width:1.6}.building .b-basement{fill:var(--beige);stroke:var(--ink);stroke-width:1.3}.building .b-body,.building .b-slab{fill:white;stroke:var(--ink);stroke-width:1.4;stroke-linejoin:round}.building .b-body--tone{fill:var(--pos)}.building .b-win,.building .b-door{fill:none;stroke:var(--ink);stroke-width:1.15}.building .b-door-leaf{fill:white;stroke:var(--ink);stroke-width:1.15}.building .b-glass{fill:var(--beige);stroke:var(--ink);stroke-width:1.15}.building .b-detail,.building .b-detail-box{fill:none;stroke:#AAB5C1;stroke-width:1}.building .b-trunk{stroke:#8A96A4;stroke-width:1.2}.building .b-crown{fill:white;stroke:#8A96A4;stroke-width:1.2}.building .layer .eq-line{fill:none;stroke:#A0ACB9;stroke-width:1.15;stroke-linecap:round;stroke-linejoin:round}.building .eq-dash{stroke-dasharray:5 4}.building .layer .eq-box{fill:white;stroke:#A0ACB9;stroke-width:1.15}.building .layer .eq-dot{fill:#A0ACB9}.building .layer .eq-solid{fill:#B5BFCB}.building .layer .eq-fill{fill:transparent;stroke:transparent;stroke-width:1.8}.building .layer .eq-zone{fill:#ED4B0A;fill-opacity:.07;stroke:var(--orange);stroke-width:1.6;stroke-dasharray:6 4;opacity:0}.building .layer .eq-crack{fill:none;stroke:var(--orange);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:0}.building .layer .eq-badge{opacity:0}.building .eq-badge circle{fill:var(--orange);stroke:white;stroke-width:2}.building .eq-badge path{fill:none;stroke:white;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.building .lead{opacity:0}.building .lead-line{fill:none;stroke:var(--muted);stroke-width:1.2}.building .lead-dot{fill:var(--orange);stroke:white;stroke-width:2}.building .is-active .eq-line{stroke:var(--orange);stroke-width:2.1}.building .is-active .eq-box{fill:var(--pos);stroke:var(--orange);stroke-width:2.1}.building .is-active .eq-dot,.building .is-active .eq-solid{fill:var(--orange)}.building .is-active .eq-fill{fill:var(--pos);stroke:var(--orange)}.building .is-active .eq-zone,.building .is-active .eq-crack,.building .is-active .eq-badge,.building .is-active .lead{opacity:1}
.building-callouts{position:absolute;inset:0;pointer-events:none}.building-label-set{display:none}.building-label-set.is-active{display:contents}.building-callout{pointer-events:auto;position:absolute;left:var(--ex);top:var(--ey);width:max-content;max-width:11.8em;padding:5px 6px;background:var(--cream);font-size:clamp(.7rem,1.95cqi,.875rem);font-weight:700;line-height:1.35;text-align:center;text-decoration:none;text-wrap:balance;z-index:1}.building-callout:hover{background:var(--beige);text-decoration:underline;text-decoration-color:var(--orange)}.building-label-arrow{color:var(--orange)}.callout-top{transform:translate(-50%,-100%)}.callout-top-end{transform:translate(-100%,-100%);text-align:right}.callout-bottom{transform:translate(-50%,0)}.callout-left{transform:translate(-100%,-50%);text-align:right;max-width:8em}.callout-right{transform:translate(0,-50%);text-align:left;max-width:10em}.building-pin,.building-legend{display:none}
@container (max-width:480px){.building .lead{display:none}.building-callout{left:var(--ax);top:var(--ay);transform:translate(-50%,-50%);width:44px;height:44px;padding:8px;background:transparent!important;display:grid;place-items:center}.building-pin{display:grid;place-items:center;background:var(--orange);color:white;width:26px;height:26px;border-radius:50%;font-size:13px;box-shadow:0 0 0 2px white}.building-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.building-legend.is-active{display:grid;list-style:none;gap:6px;margin:8px 0 16px;padding:0}.building-legend a{display:flex;align-items:center;gap:10px;min-height:40px;font-size:.8rem;text-decoration:none}.building-legend a>span:first-child{display:grid;place-items:center;background:var(--orange);color:white;width:24px;height:24px;border-radius:50%;flex:none;font-size:.75rem}.building-figure figcaption{font-size:.72rem}}
@media(min-width:1201px){.navigation{gap:20px}.header-inner{gap:24px}.logo{width:158px}.navigation a{font-size:.82rem}}
@media(max-width:950px){.building-layout{grid-template-columns:1fr;gap:32px}.building-figure{max-width:740px;width:100%;margin:auto}.building-panel{max-width:740px;margin:auto}.building-panel .checklist{display:grid;grid-template-columns:1fr 1fr;gap:14px 26px}.building-tab{font-size:.78rem;gap:8px;padding:13px 10px}}
@media(max-width:560px){.building-selector{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:22px}.building-tab{min-height:72px;padding:12px;font-size:.74rem}.building-figure{padding:8px 8px 0}.building-layout{gap:28px}.building-panel .checklist{grid-template-columns:1fr}.building-figure figcaption strong{display:block}.building-page{padding-top:16px}}

/* Original DIMS certificate, presented in the existing ASF design. */
.quality-panel.quality-certified{grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr);gap:36px}.certificate-badge-link{display:block;max-width:440px;width:100%;text-decoration:none}.certificate-badge{position:relative;aspect-ratio:1954/703;overflow:hidden;width:100%}.certificate-badge img{position:absolute;width:104.8106448%;max-width:none;height:auto;left:-2.4564995%;top:-94.1678521%}.quality-certified .certificate-summary-date{font-size:.875rem;margin-top:14px}.quality-certified .text-link{font-size:.875rem;margin-top:8px}.certificate-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:48px;align-items:start}.certificate-recipient{font-size:1rem;color:var(--muted);margin-bottom:24px}.certificate-recipient strong{color:var(--ink)}.certificate-data{display:grid;grid-template-columns:1fr 1fr;margin:0;border-top:1px solid var(--line);gap:0 28px}.certificate-data>div{padding:20px 0;border-bottom:1px solid var(--line);min-width:0}.certificate-data .certificate-wide{grid-column:1/-1}.certificate-data dt{font-size:.875rem;color:var(--muted);margin-bottom:7px}.certificate-data dd{font-size:1rem;line-height:1.6;margin:0;font-weight:700}.certificate-data .certificate-number{font-size:.9375rem;font-weight:400;overflow-wrap:anywhere}.certificate-download{background:var(--cream);padding:30px;border:1px solid var(--line);border-top:3px solid var(--orange)}.certificate-download .certificate-badge-link{margin-bottom:28px}.certificate-download h3{font-size:1.4rem;line-height:1.3;margin-bottom:16px}.certificate-download p{font-size:1rem;color:var(--muted)}.certificate-download .btn{width:100%;margin-top:24px;padding:13px 12px;gap:10px;font-size:1rem}.certificate-file-info{display:block;font-size:.8125rem;color:var(--muted);margin-top:8px}.certificate-download .text-link{font-size:.9375rem;margin-top:20px}.certificate-download .text-link+.certificate-file-info{margin-top:0}.footer-iso a{text-decoration:none}.footer-iso a:hover{text-decoration:underline;text-decoration-color:var(--orange)}
@media(max-width:950px){.quality-panel.quality-certified{grid-template-columns:230px minmax(0,1fr);gap:28px}.certificate-layout{grid-template-columns:1fr;gap:32px}.certificate-download{max-width:580px;width:100%}.certificate-download .certificate-badge-link{max-width:400px}.certificate-download .btn{width:auto}}
@media(max-width:700px){.quality-panel.quality-certified{grid-template-columns:1fr;gap:24px}.quality-certified .certificate-badge-link{max-width:360px}.certificate-data{grid-template-columns:1fr}.certificate-download{padding:24px}.certificate-data>div{padding:17px 0}.certificate-download .btn{width:100%}}
/* Photography for service areas, with discreet illustration captions. */
.service-photo{margin:0;min-width:0;width:100%;align-self:start}
.service-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;background:var(--cream)}
.service-photo img[src$="/pruefungen-asf.webp"]{object-position:center top}
.service-photo img[src$="/klima-asf.webp"]{object-position:center top}
.service-photo figcaption{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin-top:9px;font-size:.75rem;line-height:1.5;color:var(--muted)}
.service-photo .photo-kind{flex-shrink:0;color:var(--muted);font-size:.75rem}
.catalog-intro{min-width:0}
.catalog-photo{margin-top:26px}
.catalog-section{align-items:start}
.outdoor-photo-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.outdoor-photo-grid .service-photo figcaption{flex-wrap:wrap;gap:2px 10px}
.service-card .card-photo{margin-bottom:25px}
.card-photo img{aspect-ratio:16/10}
.card-photo figcaption>span:first-child,.team-photo figcaption>span:first-child{display:none}
.card-photo figcaption,.team-photo figcaption{justify-content:flex-end}
.shk-feature-photo{margin-bottom:27px}
.shk-feature-photo img{aspect-ratio:16/9}
.building-photo{margin-bottom:23px}
.building-photo img{aspect-ratio:16/9}
.building-photo figcaption>span:first-child{display:none}
.building-photo figcaption{justify-content:flex-end}
.team-card .team-photo{padding:14px 14px 0}
.team-photo img{aspect-ratio:4/3}
.contact-photo{margin-bottom:32px}
.career-photo{margin:0 0 28px;max-width:590px}
.office-location-photo{margin-bottom:24px}
.office-location-photo img{aspect-ratio:16/9}
@media(max-width:850px){.catalog-photo{max-width:640px}.outdoor-photo-grid{gap:18px}.shk-feature-photo img{aspect-ratio:16/10}}
@media(max-width:560px){.outdoor-photo-grid{grid-template-columns:1fr;gap:24px}.catalog-photo{margin-top:22px}.service-card .card-photo{margin-bottom:20px}.team-photo img{aspect-ratio:5/3}}
.map-selection address{white-space:pre-line;font-style:normal;font-size:1rem;line-height:1.65;margin-top:12px;color:var(--ink)}

/* Headquarters image placeholder */
.office-logo-placeholder{margin:0 0 23px}.office-logo-placeholder>div{aspect-ratio:16/9;background:var(--cream);border:1px solid var(--line);display:grid;place-items:center;padding:28px}.office-logo-placeholder img{width:75%;max-height:180px;height:auto;object-fit:contain}.office-logo-placeholder figcaption{font-size:.88rem;color:var(--muted);margin-top:10px;text-align:center}

/* Compact homepage entry; the complete explorer lives on Gebäude & Objekt. */
.building-teaser{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;gap:42px;background:var(--cream);border-block:1px solid var(--line);padding:30px 40px 30px 20px}.building-teaser-image{display:block;min-width:0}.building-teaser-image img{width:100%;height:auto;max-height:300px;object-fit:contain}.building-teaser-copy{min-width:0}.building-teaser-copy .eyebrow{margin-bottom:13px}.building-teaser-copy h2{font-size:clamp(1.75rem,2.6vw,2.3rem);line-height:1.2;margin-bottom:17px;max-width:20ch}.building-teaser-copy>p:not(.eyebrow){font-size:1rem;color:var(--muted);line-height:1.75;max-width:48ch}.building-teaser-copy .buttons{margin-top:23px}.building-teaser-copy .btn{font-size:.9375rem}
@media(max-width:900px){.building-teaser{gap:25px;padding:25px}.building-teaser-copy .btn{padding-inline:15px;gap:12px}}
@media(max-width:700px){.building-teaser{grid-template-columns:1fr;gap:20px;padding:20px 22px 28px}.building-teaser-image img{max-height:230px}.building-teaser-copy h2{font-size:1.8rem;max-width:none}.building-teaser-copy .buttons{margin-top:20px}.building-teaser-copy .btn{width:100%;justify-content:space-between;white-space:normal;line-height:1.5}}

/* Supplied team portraits retain their complete original framing at every size. */
.team-card .team-portrait img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain}

/* Office contact details and route planners. */
.office-contact-links{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-top:14px;font-size:.95rem;line-height:1.6;min-width:0}
.office-contact-links a{max-width:100%;overflow-wrap:anywhere;text-decoration-color:var(--orange)}
.office-contact-links a:hover{color:var(--orange)}
.office-caption{flex-wrap:wrap;gap:6px 24px;align-items:baseline}
.office-caption .office-contact-links{flex-direction:row;flex-wrap:wrap;gap:6px 20px;margin:0;font-size:inherit}

/* Keep the expanded leadership navigation label comfortable on laptop widths. */
@media(min-width:1381px){.navigation{gap:20px}}
@media(min-width:1201px) and (max-width:1380px){.header-inner{min-height:88px}.logo{width:145px}.menu-button{display:block}.navigation{display:none;position:absolute;top:100%;left:0;right:0;padding:16px var(--gutter) 24px;background:var(--beige);border-bottom:3px solid var(--orange);flex-direction:column;gap:0;align-items:stretch;max-height:calc(100dvh - 110px);overflow:auto}.navigation.open{display:flex}.navigation a{padding:14px 0;font-size:1rem;white-space:normal}.navigation .nav-contact{margin-top:10px;text-align:center}}

.office-route-links{display:flex;flex-wrap:wrap;gap:4px 24px;margin-top:18px;align-items:center}
.location .office-route-links .text-link{margin-top:0;min-height:44px;display:inline-flex;align-items:center;font-size:.9375rem;line-height:1.5;text-decoration:underline;text-decoration-color:var(--orange);text-underline-offset:5px}

.imprint-office{margin-top:24px}
.imprint-office h3{font-size:1rem;margin-bottom:10px}

/* Approved graphite / cool light-gray palette, 12 October 2026. */
.topbar,.header,.footer,.facts-band{--beige:var(--graphite);--cream:#2D3640;--ink:#F5F7FA;--muted:#C4CBD4;--line:#48525E;background:var(--graphite);color:var(--ink)}
.facts-band{margin-top:24px}
.facts-band .facts{border-bottom:0}
.home-services-shell{background:var(--page)}
.menu-button:hover,.navigation a:hover{color:var(--ink)}
@media(max-width:560px){.facts-band{margin-top:20px}}
