:root{--blue:#3d6990;--navy:#142d43;--ink:#193247;--muted:#657482;--line:#dce4ea;--pale:#f1f5f7}body{color:var(--ink);-webkit-font-smoothing:antialiased}h1,h2,h3{font-weight:600}h1{font-size:clamp(40px,4.8vw,70px);line-height:1.02;letter-spacing:-.055em}h2{line-height:1.12;letter-spacing:-.04em}.wrap{width:min(1280px,89%)}.topline{background:var(--navy);color:#d2e0eb;font-size:11px;letter-spacing:.06em}.topline .wrap{padding:9px 0}.head{min-height:100px}.logo{width:265px}header{border-color:var(--line)}nav{font-size:12px;gap:20px}.submenu{border-top-color:var(--blue);box-shadow:0 15px 30px #142d431a}.eyebrow{font-size:10px;color:var(--blue);letter-spacing:.18em}.hero{position:relative;grid-template-columns:1fr 1fr;gap:35px;padding:72px 0 68px;isolation:isolate}.hero:before{content:'';position:absolute;left:52%;right:-6.18%;top:0;bottom:0;background:linear-gradient(135deg,#f5f8fa,#e5edf3);z-index:-1}.herocopy{padding:10px 0 15px}.hero .eyebrow{display:flex;align-items:center;gap:12px}.hero .eyebrow:before{content:'';width:30px;height:2px;background:var(--blue)}.hero h1{margin-bottom:25px}.hero h1 em{color:var(--blue)}.herocopy>p{color:var(--muted);font-size:16px;max-width:450px;line-height:1.8}.actions{gap:25px;margin-top:30px}.button{padding:15px 22px;font-size:12px;background:var(--blue);line-height:1.7}.button:hover{background:var(--navy)}.textlink{font-size:12px;border-bottom:1px solid var(--line);padding:8px 0}.heroimage{height:440px;min-height:0;position:relative;margin-left:5px;overflow:visible;background:transparent;align-self:auto}.heroimage>img{height:100%;width:100%;object-fit:cover;object-position:52% center;mix-blend-mode:multiply}.imagecaption{top:16px;right:15px;bottom:auto;left:auto;padding:7px 10px;color:var(--blue);font-size:9px;letter-spacing:.14em;border:1px solid #a3baca;background:#ffffffc9}.hero-inset{position:absolute;width:43%;height:140px;bottom:-20px;left:-22px;border:7px solid #fff;box-shadow:0 15px 30px #142d4320}.hero-inset img{width:100%;height:100%;object-fit:cover}.precision-seal{position:absolute;bottom:0;right:5px;background:var(--navy);color:#fff;width:160px;padding:20px}.precision-seal span{display:block;font-size:8px;letter-spacing:.16em;color:#aac7dc;margin-bottom:8px}.precision-seal strong{font-size:23px;line-height:1.12;font-weight:500;letter-spacing:-.02em;display:block}.values{padding:0;gap:0;border-color:var(--line)}.values>a{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:21px 23px;font-size:12px;font-weight:700;border-right:1px solid var(--line)}.values>a:first-child{padding-left:0}.values>a:last-child{border:0;padding-right:0}.values>a>span{font-size:20px;color:var(--blue)}.values>a:hover{color:var(--blue)}.sectionhead{gap:40px}.sectionhead h2{margin:0;max-width:610px}.sectionhead p{font-size:13px;color:var(--muted)}#leistungen{padding-block:65px}#leistungen .cards{grid-template-columns:1fr 1fr;gap:18px}#leistungen .card{display:grid;grid-template-columns:43% 57%;border:1px solid var(--line);background:white;min-width:0;transition:box-shadow .2s,border-color .2s}#leistungen .card:hover{transform:none;box-shadow:0 12px 30px #142d4310;border-color:#a0b9cb}#leistungen .cardimage{height:auto;min-height:190px}#leistungen .cardimage img{height:100%;width:100%;object-fit:cover;transition:transform .4s}#leistungen .card:hover img{transform:scale(1.035)}#leistungen .cardbody{padding:23px 23px 35px;min-width:0}.card-label{display:block;font-size:8px;letter-spacing:.14em;font-weight:700;color:var(--blue);margin-bottom:13px}#leistungen .card h3{font-size:23px;margin:0 0 12px;overflow-wrap:break-word}#leistungen .card p{font-size:13px;line-height:1.6;color:var(--muted);margin:0}#leistungen .cardarrow{top:auto;bottom:10px;right:17px;font-size:22px}.about{background:var(--pale);padding:65px 0}.aboutgrid{gap:85px;align-items:start}.aboutgrid h2{margin-bottom:22px}.signature{font-size:12px;color:var(--blue);margin:0 0 30px;padding:0;border:0}.about-image{height:180px;max-width:420px;overflow:hidden}.about-image img{height:100%;width:100%;object-fit:cover;filter:saturate(.65)}.prose{color:#526270;font-size:15px;line-height:1.85}.prose b,.prose strong{color:var(--ink)}.clients{text-align:center}.clients h2{font-size:35px}.logos{grid-template-columns:repeat(8,1fr);gap:28px;align-items:center;margin-top:40px}.logos img{height:48px;filter:saturate(.3);opacity:.8}.logos img:hover{filter:none;opacity:1}.cta{background:var(--navy);padding:46px 50px;margin-bottom:65px;position:relative;overflow:hidden}.cta:before{content:'';position:absolute;width:260px;height:260px;border:1px solid #ffffff16;border-radius:50%;right:12%;top:-90px;pointer-events:none}.cta .eyebrow{color:#a7c5dc}.cta h2{font-size:32px;max-width:660px}.light{background:#fff;color:var(--navy);z-index:1}.light:hover{background:#dce8f2;color:var(--navy)}footer{background:#f2f5f7;padding:50px 0 0;border-top:1px solid var(--line);color:var(--ink)}.footgrid{font-size:12px;color:var(--muted)}.footgrid strong{color:var(--ink)}.footgrid p{margin-top:12px}.footmail{font-size:23px;color:var(--blue);letter-spacing:-.03em}.footgrid .eyebrow{color:var(--blue)}.bottom{border-color:var(--line);font-size:10px;color:var(--muted)}.breadcrumb{font-size:11px;color:var(--muted);padding-top:28px}.pagehero{background:var(--pale);padding:40px;margin-top:25px;margin-bottom:35px;border-left:3px solid var(--blue)}.pagehero h1{font-size:clamp(34px,4vw,52px);margin-bottom:0;overflow-wrap:anywhere}.pagehero.withimage{padding:0 0 0 35px;gap:40px}.pagehero.withimage>div{padding:25px 0}.pagehero>img{height:240px}.pagegrid{grid-template-columns:minmax(0,1fr) 280px;gap:65px;padding-block:10px 65px}.pagegrid aside{background:var(--pale);border-top:3px solid var(--blue);padding:25px}.pagegrid aside p{font-size:13px}.pagegrid .prose img{border:1px solid #edf1f4;padding:5px}.pagegrid .prose a:has(img){display:inline-block;max-width:100%}@media(min-width:1500px){.hero{padding-block:90px}}@media(max-width:1100px){.logo{width:210px}nav{gap:12px;font-size:11px}.hero h1{font-size:51px}.actions{gap:15px}.heroimage{height:410px}#leistungen .card{grid-template-columns:39% 61%}#leistungen .cardbody{padding:19px 18px 35px}#leistungen .card h3{font-size:21px}#leistungen .cardimage{min-height:185px}.aboutgrid{gap:45px}.logos{grid-template-columns:repeat(4,1fr)}.pagegrid{gap:35px}}@media(max-width:800px){.head{min-height:82px}.logo{width:235px}.hero{padding-block:40px 45px;gap:20px;grid-template-columns:1fr 1fr}.hero h1{font-size:43px}.hero .eyebrow{font-size:8px;letter-spacing:.14em}.herocopy>p{font-size:14px}.heroimage{height:350px;min-height:0}.hero-inset{height:100px;width:50%;left:-10px;bottom:-10px;border-width:5px}.precision-seal{width:120px;right:-5px;padding:13px}.precision-seal strong{font-size:19px}.precision-seal span{font-size:7px}.imagecaption{font-size:7px;padding:5px;top:8px;right:8px}.actions .button{padding:13px 15px;font-size:11px;gap:18px}.textlink{font-size:11px}.values{grid-template-columns:1fr 1fr;gap:0}.values>a{padding:13px 15px;font-size:11px}.values>a:nth-child(2){border-right:0;padding-right:0}.values>a:nth-child(3),.values>a:nth-child(4){border-top:1px solid var(--line)}.values>a:nth-child(3){padding-left:0}.sectionhead p{margin-top:20px}#leistungen{padding-block:45px}#leistungen .cards{gap:14px}#leistungen .card{display:block}#leistungen .cardimage{height:130px;min-height:0}#leistungen .cardbody{padding:17px 18px 32px}.card-label{font-size:7px;margin-bottom:9px}#leistungen .card h3{font-size:21px;margin-bottom:9px}#leistungen .card p{font-size:12px}.about{padding-block:45px}.aboutgrid{grid-template-columns:1fr 1fr;gap:35px}.aboutgrid h2{font-size:32px}.about-image{height:150px}.prose{font-size:14px}.logos{grid-template-columns:repeat(4,1fr);gap:25px}.logos img{height:42px}.cta{display:flex;padding:32px;gap:25px;margin-bottom:45px}.cta h2{font-size:27px}.cta .button{margin:0;font-size:11px;padding:13px 18px;gap:15px}.footgrid{grid-template-columns:1fr 1.2fr;gap:25px}.footgrid>div:last-child{grid-column:1/-1;display:flex;gap:18px;flex-wrap:wrap}.footgrid>div:last-child br{display:none}.footmail{font-size:20px}.pagegrid{grid-template-columns:minmax(0,1fr) 235px;gap:25px}.pagegrid aside{padding:20px}.pagegrid aside h2{font-size:23px}.pagehero.withimage{padding-left:25px;gap:25px;grid-template-columns:1fr 1fr}.pagehero>img{height:200px}.pagehero h1{font-size:35px}nav{max-height:calc(100dvh - 100px)}}@media(max-width:600px){.hero{grid-template-columns:1fr;gap:35px;padding-top:32px}.hero:before{left:25%;top:45%}.hero h1{font-size:clamp(40px,8.6vw,53px)}.herocopy>p{max-width:440px}.hero .eyebrow{font-size:9px}.heroimage{height:270px;margin-left:0;margin-bottom:10px}.hero-inset{width:40%;height:100px;left:-8px}.precision-seal{width:145px;right:0;padding:15px}.precision-seal strong{font-size:21px}.imagecaption{font-size:8px}.actions{margin-top:24px;gap:22px}.actions .button{font-size:12px;padding:14px 19px}.sectionhead h2{font-size:32px}.aboutgrid{grid-template-columns:1fr;gap:30px}.about-image{max-width:none;height:160px}.signature{margin-bottom:20px}.logos{gap:24px 18px}.logos img{height:36px}.clients h2{font-size:30px}.cta{display:block;padding:28px}.cta h2{font-size:29px}.cta .button{margin-top:25px}.footgrid{grid-template-columns:1fr;gap:24px}.footgrid>div:last-child{grid-column:auto}.footmail{font-size:23px}.bottom{display:block}.bottom span{display:block;margin-top:7px}.pagehero{padding:25px;margin-top:20px}.pagehero.withimage{display:block;padding:0}.pagehero.withimage>div{padding:25px}.pagehero>img{height:180px}.pagegrid{grid-template-columns:1fr;gap:30px;padding-bottom:45px}.pagegrid aside{padding:25px}.logo{width:210px}.topline{font-size:9px}}@media(max-width:460px){#leistungen .cards{grid-template-columns:1fr 1fr}}@media(max-width:390px){#leistungen .cardbody{padding:14px 12px 30px}#leistungen .card h3{font-size:18px}.card-label{font-size:6px}#leistungen .cardimage{height:110px}#leistungen .card p{font-size:11px}#leistungen .cards{gap:10px}.logo{width:185px}.topline{font-size:8px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* Readable navigation at every screen width. */
#navigation{font-size:16px;gap:18px}#navigation .submenu{width:300px}#navigation .submenu a{font-size:15px;line-height:1.55;padding:11px 12px}.menutoggle{font-size:16px}
@media(min-width:951px) and (max-width:1300px){.head{display:grid;grid-template-columns:1fr;gap:0;min-height:0}.head .logo{width:245px;margin:20px 0 10px}#navigation{justify-content:space-between;width:100%;gap:14px}#navigation>a,#navigation .navgroup>a{padding:16px 0 19px}}
@media(max-width:950px){.head{display:flex;min-height:84px;justify-content:space-between;gap:20px}.menutoggle{display:block;background:white;border:1px solid var(--line);padding:9px 14px;color:var(--ink)}#navigation{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;max-height:calc(100dvh - 110px);overflow:auto;padding:16px 5.5% 24px;box-shadow:0 18px 30px #142d4320}#navigation.open{display:block}#navigation .navgroup{display:block;border-bottom:1px solid var(--line);padding-bottom:6px}#navigation>a,#navigation .navgroup>a{display:block;padding:12px 0 8px;font-size:17px}#navigation .subtoggle{display:none}#navigation .navgroup .submenu,#navigation .navgroup:hover .submenu,#navigation .navgroup:focus-within .submenu,#navigation .navgroup.expanded .submenu{display:block;position:static;width:100%;max-width:none;min-width:0;box-shadow:none;border:0;border-left:2px solid #dae8f4;margin:0 0 6px;padding:0 0 6px 13px}#navigation .submenu a{font-size:15px;font-weight:400;padding:8px 10px}}

/* Larger, readable service shortcuts. */
.values>a{font-size:17px;line-height:1.4;padding:20px;white-space:nowrap}.values>a>span{flex-shrink:0;font-size:23px}
@media(max-width:1300px){.values{grid-template-columns:1fr 1fr}.values>a,.values>a:first-child,.values>a:last-child,.values>a:nth-child(2),.values>a:nth-child(3){padding:18px 20px;border:0}.values>a:nth-child(odd){border-right:1px solid var(--line)}.values>a:nth-child(n+3){border-top:1px solid var(--line)}}
@media(max-width:600px){.values{grid-template-columns:1fr}.values>a,.values>a:first-child,.values>a:last-child,.values>a:nth-child(2),.values>a:nth-child(3){font-size:17px;padding:15px 4px;border:0}.values>a:nth-child(n+2){border-top:1px solid var(--line)}}
/* Give long service titles sufficient space at intermediate widths. */
@media(min-width:801px) and (max-width:1200px){#leistungen .card{display:block}#leistungen .cardimage{height:145px;min-height:0}}

/* Structured product copy and original-image galleries. */
.product-description{font-size:16px;line-height:1.8;max-width:72ch}.product-description p{margin-bottom:20px}.product-description h2{font-size:28px;line-height:1.2;margin-bottom:22px}.product-visuals{margin-top:35px;padding-top:28px;border-top:1px solid var(--line)}.product-visuals>h2{font-size:23px;margin:0 0 20px}.product-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.product-shot{margin:0;background:#fff;border:1px solid var(--line);box-shadow:0 5px 20px #142d4305;overflow:hidden;transition:border-color .2s,box-shadow .2s}.product-shot:hover{border-color:#8ba9c1;box-shadow:0 8px 24px #142d4312}.pagegrid .prose .product-shot a{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:230px;background:#fff}.pagegrid .prose .product-shot img{display:block;width:100%;height:230px;max-height:none;object-fit:contain;margin:0;padding:18px;border:0}.product-description table{font-size:14px;line-height:1.6}.product-description ul{padding-left:24px}
@media(max-width:950px){.pagegrid{grid-template-columns:1fr;gap:35px}.pagegrid aside{margin-top:0}.product-description{max-width:none}.pagegrid .prose .product-shot img{height:220px}.pagegrid .prose .product-shot a{min-height:220px}}
@media(max-width:480px){.product-gallery{grid-template-columns:1fr;gap:14px}.product-description{font-size:16px}.product-description h2{font-size:25px}.pagegrid .prose .product-shot img{height:230px}.product-visuals{margin-top:28px}}
