/* Generated by qa/performance/build_css.py. Preserve source order. */
@font-face {
  font-family: 'Quicksand';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/6xK-dSZaM9iE8KbpRA_LJ3z8mH9BOJvgkP8o18E.woff2) format('woff2');
}
@font-face {
  font-family: 'Quicksand';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/6xK-dSZaM9iE8KbpRA_LJ3z8mH9BOJvgkM0o18E.woff2) format('woff2');
}
@font-face {
  font-family: 'Quicksand';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/6xK-dSZaM9iE8KbpRA_LJ3z8mH9BOJvgkCEv18E.woff2) format('woff2');
}
@font-face {
  font-family: 'Quicksand';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/fonts/6xK-dSZaM9iE8KbpRA_LJ3z8mH9BOJvgkBgv18E.woff2) format('woff2');
}
@font-face {
  font-family: 'Ubuntu';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/4iCs6KVjbNBYlgo6eA.woff2) format('woff2');
}
@font-face {
  font-family: 'Ubuntu';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/4iCv6KVjbNBYlgoCjC3Ttw.woff2) format('woff2');
}
@font-face {
  font-family: 'Ubuntu';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/fonts/4iCv6KVjbNBYlgoCxCvTtw.woff2) format('woff2');
}

/* Source: style.css */

:root{--blue:#009bdf;--dark:#293239;--ink:#646464;--muted:#64717b;--pale:#f1f6f8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:145px}body{margin:0;font-family:Quicksand,Arial,sans-serif;color:var(--ink);background:#fff}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:5px}button{color:inherit}.wrap{max-width:1260px;margin:auto;padding:0 42px}.draft{background:#eaf5fa;text-align:center;padding:7px;font-size:11px;letter-spacing:.4px;color:#42616f}header{position:sticky;top:0;background:white;z-index:20;box-shadow:0 4px 25px #243f4910}.contactbar{display:flex;justify-content:space-between;gap:15px;padding-top:11px;padding-bottom:11px;font-size:11px;color:var(--muted);border-bottom:1px solid #edf1f3}.contactbar>div{display:flex;gap:25px;color:var(--ink);font-weight:700}.mainnav{min-height:91px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:flex;gap:13px;align-items:center;font-size:16px;font-weight:800;letter-spacing:-.4px}.brand small{display:block;font-size:8px;font-weight:600;letter-spacing:2.5px;margin-top:5px}.brandmark{font-size:22px;color:#207ba3;border:1px solid #c9dbe3;padding:9px 7px;border-radius:4px;white-space:nowrap}.brandmark span{color:#87bb44;font-size:17px}.mainnav nav{display:flex;align-items:center;gap:25px;font-size:12px;font-weight:700}.mainnav nav button{border:0;background:none;padding:15px 0;font-weight:700}.mainnav nav button span{color:var(--blue);margin-left:6px}.navcta{padding:13px 18px;background:var(--dark);color:white;border-radius:3px}.mobile{display:none}.mega{position:absolute;top:100%;left:0;width:100%;background:white;border-top:1px solid #edf1f3;box-shadow:0 25px 30px #172c3920;padding:32px 0}.megagrid{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:28px}.mega a{display:block;font-size:12px;line-height:1.5;padding:9px 0}.mega a:hover{color:var(--blue)}.mega .eyebrow{font-size:9px;margin-bottom:13px}.mega aside{background:var(--dark);padding:22px;color:white}.mega aside>span{font-size:11px;color:#b7cad4}.mega aside h3{font-size:24px;margin:14px 0}.industrynav{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:610px;background:var(--dark)}.herotext{padding:76px 45px 64px max(42px,calc((100vw - 1176px)/2));color:white;align-self:center}.eyebrow{font-size:10px;font-weight:800;letter-spacing:1.8px;line-height:1.6;margin:0 0 20px;color:#607b8a}.herotext .eyebrow{color:#9cc7da;font-size:9px}h1{font-size:clamp(36px,3.6vw,55px);line-height:1.14;letter-spacing:-2.2px;margin:0 0 26px;font-weight:700}em{font-style:normal;color:var(--blue)}.herotext em{color:#50c3ed}.herotext>p:not(.eyebrow){color:#c1cbd1;font-size:14px;line-height:1.85;max-width:440px;margin-bottom:30px}.button{background:#087da7;color:white;display:inline-flex;align-items:center;justify-content:space-between;gap:25px;border:0;border-radius:3px;padding:17px 21px;font-size:12px;font-weight:700;transition:background .2s}.button:hover{background:#066c92}.herodetail{font-size:9px;color:#96a8b3;margin-top:26px}.heropic{position:relative;min-height:520px;overflow:hidden;background:linear-gradient(145deg,#c3dce4,#9bb7bd)}.heropic img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:54% center}.heropic:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#172b3a80,transparent 60%)}.photocaption{position:absolute;top:15px;right:15px;color:white;background:#263b4899;padding:7px 10px;font-size:9px;z-index:2;max-width:80%}.picnote{position:absolute;bottom:45px;left:40px;z-index:2;color:white}.picnote span{display:block;font-size:9px;letter-spacing:1.6px;margin-bottom:13px}.picnote strong{font-size:23px;line-height:1.5;font-weight:500}.trust{display:grid;grid-template-columns:1fr 1fr 1.25fr;padding-top:28px;padding-bottom:28px;border-bottom:1px solid #e8eef1;gap:22px}.trust>div{display:flex;gap:14px;align-items:center}.trusticon{color:var(--blue);font-size:27px}.trust strong{font-size:12px}.trust small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.trust .pending{display:block;border-left:1px solid #dfe6ea;padding-left:25px;align-self:center}.pending strong{color:#72808a;font-weight:500}.section{padding-top:95px;padding-bottom:95px}h2{font-size:clamp(30px,3vw,42px);line-height:1.24;letter-spacing:-1.6px;font-weight:600;margin:0 0 25px}p{font-size:13px;line-height:1.9;color:var(--muted)}.about{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center}.officeplaceholder{padding:37px;background:#eaf2f5;min-height:360px;position:relative;overflow:hidden;border-radius:3px}.officeplaceholder .eyebrow{font-size:9px;position:relative;z-index:1}.officeplaceholder strong{font-size:35px;line-height:1.25;font-weight:500;position:relative;display:block;margin-top:58px}.officeplaceholder p{position:relative}.officeplaceholder small{font-size:9px;color:#708590;position:relative}.office-lines{position:absolute;inset:70px -45px -80px 160px;border:25px solid #fff7;transform:rotate(27deg)}.textlink{display:inline-flex;gap:30px;align-items:center;background:none;border:0;border-bottom:1px solid #a6d7ea;padding:9px 0;font-size:12px;font-weight:700;color:#087fa8}.services{background:var(--pale)}.sectionhead{display:flex;align-items:end;justify-content:space-between;gap:45px;margin-bottom:35px}.sectionhead h2{margin-bottom:0}.sectionhead>p{max-width:310px;margin:0 0 4px}.servicegrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.service{background:white;border:1px solid #e3ecef;text-align:left;border-radius:3px;min-height:310px;padding:27px 22px;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}.service:hover{transform:translateY(-5px);box-shadow:0 12px 30px #2d5b7510}.service.featured{background:var(--dark);color:white;border-color:var(--dark)}.serviceicon{color:var(--blue);font-size:29px;margin-bottom:26px}.service small{font-size:8px;letter-spacing:1px;color:#7e95a1}.service h3{font-size:18px;line-height:1.4;letter-spacing:-.5px;font-weight:600;margin:12px 0}.service p{font-size:11px;margin-top:0}.service.featured p{color:#b9c8d0}.more{font-size:10px;margin-top:auto;padding-top:20px;color:#069dd1}.allservices{margin-top:26px;border-bottom:1px solid #dce7eb}.allservices summary{cursor:pointer;padding:16px 0;font-size:12px;font-weight:700;display:flex;justify-content:space-between;list-style:none}.allservices summary span{font-size:20px;color:var(--blue)}#extra-services{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding-bottom:25px}#extra-services button{background:white;border:1px solid #dce7eb;padding:14px;font-size:12px;text-align:left}.branches{display:grid;grid-template-columns:1fr 1fr;gap:0 45px}.branches button{display:flex;align-items:center;gap:18px;text-align:left;padding:23px 0;border:0;border-bottom:1px solid #e0e9ed;background:white;transition:color .2s}.branches button:hover{color:var(--blue)}.branches span{font-size:10px;color:#8da5b3}.branches h3{font-size:16px;font-weight:500;flex:1;margin:0}.branches b{color:var(--blue);font-weight:400}.process{background:var(--dark);color:white}.process .eyebrow{color:#96b4c4}.process em{color:#50c3ed}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;margin-top:45px}.steps article{border-top:1px solid #52616a;padding-top:22px}.steps span{font-size:28px;color:#50c3ed;font-weight:500}.steps h3{font-size:15px;margin:19px 0 10px}.steps p{color:#adbec8;font-size:12px}.regional{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.cities button{display:flex;justify-content:space-between;width:100%;padding:21px 0;font-size:20px;background:white;border:0;border-bottom:1px solid #dee9ed;text-align:left}.cities span{color:var(--blue)}.career{display:flex;align-items:center;justify-content:space-between;gap:40px;background:#eaf4f8;padding-top:45px;padding-bottom:45px;border-radius:5px}.career h2{font-size:32px}.career p{max-width:560px}.career .button{flex-shrink:0}.contactsection{margin-top:30px}.contactgrid{display:grid;grid-template-columns:1fr 1fr;gap:85px}.bigphone{display:block;font-size:27px;letter-spacing:-1px;margin-top:28px}.email{display:block;font-size:15px;color:#0789b8;margin-top:8px}.hours{font-size:11px;margin:24px 0 14px}form{background:var(--pale);border-radius:4px;padding:30px}form h3{font-size:18px;margin:0 0 25px}label{font-size:10px;font-weight:700;display:block;flex:1;margin:0 0 15px}input,textarea{display:block;width:100%;border:1px solid #dce5e9;background:white;border-radius:3px;padding:11px;margin-top:7px;color:var(--ink);min-width:0;font-size:14px}input:focus,textarea:focus{outline:2px solid var(--blue);outline-offset:1px}.formrow{display:flex;gap:14px}.formnote{font-size:10px;line-height:1.6}form .button{width:100%;margin-top:9px}#formstatus{font-size:11px;margin-bottom:0}footer{background:#202a31;color:#ced8df;padding:40px 0 20px}.footgrid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.4fr;gap:30px}.footgrid .brand{display:block;font-size:14px}.footgrid p{font-size:11px;color:#a9bcc6;margin:0}.footgrid a,.footgrid>div>span{display:block;font-size:10px;margin-bottom:10px}.footnote{font-size:9px;color:#8da3b0;margin-top:30px;padding-top:20px;border-top:1px solid #435059}dialog{width:min(620px,calc(100% - 30px));border:0;border-radius:6px;padding:45px;box-shadow:0 30px 100px #0004;max-height:85vh;overflow:auto}dialog::backdrop{background:#172b3ac9}dialog h2{font-size:32px;margin-right:15px}.close{position:absolute;right:16px;top:10px;font-size:30px;border:0;background:none}.dialoglist{font-size:13px;line-height:2;color:var(--muted);padding-left:20px}dialog .formnote{margin-top:20px}dialog form{padding:0;background:white}
@media(min-width:1500px){.hero{min-height:650px}}@media(max-width:1050px){.wrap{padding-left:25px;padding-right:25px}.mainnav nav{gap:15px;font-size:11px}.brand{font-size:13px}.herotext{padding:50px 30px}.hero{min-height:550px}.about,.regional,.contactgrid{gap:40px}.servicegrid{grid-template-columns:repeat(2,1fr)}.service{min-height:275px}.megagrid{grid-template-columns:repeat(3,1fr)}.megagrid aside{display:none}.trust{grid-template-columns:1fr 1fr}.trust .pending{grid-column:1/-1;border-left:0;padding-left:0;border-top:1px solid #e6edf1;padding-top:15px}}@media(max-width:760px){html{scroll-padding-top:125px}.draft{font-size:9px}.contactbar>span{display:none}.contactbar{justify-content:center;font-size:11px}.contactbar>div{gap:18px}.mainnav{min-height:72px}.brand{font-size:13px}.brandmark{font-size:17px}.brand small{font-size:7px}.mobile{display:block;background:none;border:0;font-size:13px;padding:12px 0}.mainnav nav{display:none;position:absolute;top:100%;background:white;left:0;right:0;padding:20px 25px;box-shadow:0 20px 20px #0001;align-items:stretch;font-size:14px}.mainnav nav.open{display:flex;flex-direction:column;gap:12px}.mainnav nav button{text-align:left;padding:8px 0}.mega{position:static;max-height:60vh;overflow:auto}.megagrid,.industrynav{grid-template-columns:1fr}.mega .wrap{padding:0 25px}.mega a{font-size:14px}.hero{grid-template-columns:1fr}.herotext{padding:47px 25px}.herotext .eyebrow{font-size:8px}h1{font-size:43px;letter-spacing:-1.7px}.herotext>p:not(.eyebrow){font-size:14px}.heropic{min-height:350px}.picnote{left:25px;bottom:25px}.picnote strong{font-size:21px}.photocaption{font-size:8px}.trust{gap:20px 10px}.trust strong{font-size:11px}.trust small{font-size:9px}.section{padding-top:65px;padding-bottom:65px}.about,.regional,.contactgrid{grid-template-columns:1fr;gap:30px}.aboutcopy{grid-row:1}.aboutvisual{grid-row:2}.officeplaceholder{min-height:300px;padding:27px}.officeplaceholder strong{margin-top:38px}.sectionhead{display:block;margin-bottom:25px}.sectionhead>p{max-width:none;margin-top:20px}h2{font-size:32px;letter-spacing:-1px}.servicegrid{gap:10px}.service{padding:20px 15px;min-height:300px}.service h3{font-size:16px}.service small{font-size:7px}.more{font-size:9px}.service p{font-size:11px}.branches{grid-template-columns:1fr}.branches h3{font-size:16px}.steps{grid-template-columns:1fr 1fr;gap:25px}.steps h3{font-size:14px}.career{margin:0 20px;display:block;padding:30px 25px}.career .button{margin-top:10px}.career h2{font-size:28px}.contactsection{margin-top:0}form{padding:24px 18px}.formrow{display:block}.footgrid{grid-template-columns:1fr 1fr;gap:25px}.footgrid>div:last-child{grid-column:1/-1}.footnote{line-height:1.8}#extra-services{grid-template-columns:1fr 1fr}dialog{padding:35px 23px}dialog h2{font-size:27px}.steps p{font-size:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

h1,h2,h3{font-family:Ubuntu,Arial,sans-serif;font-weight:500}h1{letter-spacing:-1.4px}.brandimg{width:205px;height:68px;object-fit:contain;display:block}@media(max-width:760px){.brandimg{width:160px;height:58px}.service h3{overflow-wrap:anywhere}}

.brandimg{height:85px;width:155px}.mainnav{min-height:103px}@media(max-width:760px){.brandimg{height:64px;width:110px}.mainnav{min-height:76px}}

/* Revision 2: readable typography, wider desktop composition, photographic services. */
:root{--muted:#53616c;--ink:#414d56;--content:1680px}
.wrap{max-width:var(--content);padding-left:44px;padding-right:44px}
body{font-size:16px}.draft{font-size:12px;padding:9px 18px;line-height:1.5}
.contactbar{font-size:14px;padding-top:12px;padding-bottom:12px;align-items:center}.contactbar>div{align-items:center;gap:30px}.contactbar a[href^="tel"]{font-family:Ubuntu,Arial,sans-serif;font-size:23px;font-weight:500;color:#263843;white-space:nowrap}.contactbar a[href^="mailto"]{font-size:16px;font-weight:600;color:#087da8}.phone-symbol{color:#078ebd;margin-right:7px}
.mainnav{min-height:110px}.mainnav nav{gap:30px;font-size:16px}.navcta{padding:15px 22px}.brandimg{width:155px;height:96px}.brand small{font-size:10px}
.mega{padding:32px 0}.megagrid{gap:32px}.mega a{font-size:15px;padding:11px 0;line-height:1.5}.mega .eyebrow{font-size:11px;color:#536d7a}.mega aside{padding:27px}.mega aside>span{font-size:13px}.mega aside h3{font-size:29px}.mega aside a{font-size:14px}.industrynav{gap:16px 36px}.industrynav a{padding:16px 0;border-bottom:1px solid #dde8ee}
.hero{min-height:650px;grid-template-columns:1fr 1fr}.herotext{padding:70px 55px 70px max(44px,calc((100vw - 1592px)/2));min-width:0}.herotext .eyebrow{font-size:12px;letter-spacing:1.5px}h1{font-size:clamp(40px,3.5vw,62px);line-height:1.13;letter-spacing:-1.7px}.herotext>p:not(.eyebrow){font-size:17px;line-height:1.85;max-width:540px;color:#d4dfe6}.button{font-size:15px;padding:18px 24px;line-height:1.4;min-height:52px}.herodetail{font-size:12px;color:#bed0db;line-height:1.7}.heropic{min-height:600px}.heropic img{object-position:58% center}.heropic:after{background:linear-gradient(0deg,#142832a6,transparent 48%)}.picnote{left:40px;bottom:36px}.picnote strong{font-size:26px;line-height:1.35}.picnote span{font-size:11px}.photocaption{font-size:11px;padding:6px 9px}
p{font-size:16px;line-height:1.85}.eyebrow{font-size:12px;color:#547280;letter-spacing:1.5px}h2{font-size:clamp(34px,3vw,46px);line-height:1.2}.section{padding-top:88px;padding-bottom:88px}
.trust{grid-template-columns:repeat(3,1fr);padding-top:30px;padding-bottom:30px;gap:36px}.trust strong{font-size:17px;font-family:Ubuntu,Arial,sans-serif;font-weight:500}.trust small{font-size:13px;line-height:1.5;margin-top:6px}.trusticon{display:grid;place-items:center;width:46px;height:46px;flex-shrink:0;border-radius:50%;background:#eaf6fc;font-size:24px}.trust>div+div{border-left:1px solid #dce7ec;padding-left:32px}
.about{gap:76px;grid-template-columns:1fr 1fr}.aboutvisual{margin:0;position:relative;align-self:stretch;min-height:410px;border-radius:4px;overflow:hidden;background:#eaf2f6}.aboutvisual img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:center}.aboutvisual figcaption{position:absolute;left:0;right:0;bottom:0;padding:25px 26px;color:#fff;background:linear-gradient(transparent,#1f303bd9);font-size:15px;font-weight:600;display:flex;justify-content:space-between;gap:15px;align-items:end}.aboutvisual figcaption span{font-size:11px;font-weight:400}.aboutcopy{max-width:640px}.textlink{font-size:15px;padding:12px 0}.sectionhead{gap:55px;margin-bottom:37px}.sectionhead>p{max-width:390px;font-size:16px}
.servicegrid{gap:22px}.service{padding:0;overflow:hidden;min-height:440px}.servicephoto{display:block;position:relative;aspect-ratio:1.6;width:100%;background:#dbe8ef;overflow:hidden}.servicephoto img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.servicephoto>span{position:absolute;bottom:7px;right:7px;color:#fff;background:#243a48a6;padding:3px 6px;font-size:9px}.service:hover .servicephoto img{transform:scale(1.035)}.servicecontent{padding:25px;display:flex;flex:1;flex-direction:column}.service small{font-size:10px;letter-spacing:.7px;line-height:1.6;color:#577483}.service h3{font-size:23px;line-height:1.25;letter-spacing:-.4px;margin:13px 0}.service p{font-size:15px;line-height:1.7;color:#52616c}.service.featured p{color:#d2dee5}.service.featured small{color:#a7d2e4}.more{font-size:13px;font-weight:700;padding-top:20px;color:#067aa6}.service.featured .more{color:#68cbed}.allservices summary{font-size:16px;padding:22px 0}.allservices summary span{font-size:25px}#extra-services button{font-size:15px;padding:17px;color:#354c5b;border-radius:3px}#extra-services button:hover{border-color:#009bdf;background:#e9f6fc}
.branches{gap:16px 25px}.branches button{padding:24px;border:1px solid #e0eaef;border-radius:4px;gap:20px;transition:background .2s,border-color .2s,transform .2s;min-height:100px}.branches button:hover{background:#eff8fc;border-color:#93cfe8;transform:translateY(-2px)}.branchicon{display:flex;align-items:center;justify-content:center;width:52px;height:52px;flex-shrink:0;background:#e9f5fb;border-radius:4px}.branches .branchicon{color:#008cc7}.branchicon svg{width:29px;height:29px}.branches h3{font-size:21px;line-height:1.3}.branches b{font-size:23px;margin-left:auto}
.steps{gap:45px}.steps span{font-size:34px}.steps h3{font-size:21px;line-height:1.3}.steps p{font-size:16px;color:#d0dce4}.regional{gap:100px}.regional>div>p{max-width:590px}.cities button{font-size:25px;padding:24px 0;transition:color .2s}.cities button:hover{color:#008abb}.career{padding-top:48px;padding-bottom:48px}.career h2{font-size:38px}.career p{max-width:700px;font-size:16px}
.contactgrid{gap:85px}.bigphone{font-family:Ubuntu,Arial,sans-serif;font-size:36px;letter-spacing:-.5px;color:#293d4b}.email{font-size:20px}.hours{font-size:15px;line-height:1.8}form{padding:36px}form h3{font-size:25px;line-height:1.3}label{font-size:14px}input,textarea{font-size:16px;padding:13px}.formnote{font-size:13px;color:#586a76}#formstatus{font-size:13px}.footgrid{gap:40px}.footgrid .brand{font-size:19px}.footgrid p{font-size:14px;line-height:1.8}.footgrid a,.footgrid>div>span{font-size:13px;line-height:1.6}.footnote{font-size:12px;line-height:1.7;color:#b3c4cf}.dialoglist{font-size:16px}dialog h2{font-size:35px}
@media(min-width:1800px){.hero{min-height:720px}.herotext{padding-right:85px}.heropic{min-height:720px}.service{min-height:470px}.aboutvisual{min-height:470px}}
@media(max-width:1200px){.wrap{padding-left:30px;padding-right:30px}.mainnav nav{gap:19px;font-size:14px}.contactbar>span{font-size:12px}.contactbar a[href^="tel"]{font-size:21px}.hero{min-height:600px}.herotext{padding:55px 32px}.herotext .eyebrow{font-size:10px}.herotext>p:not(.eyebrow){font-size:16px}.herodetail{font-size:11px}h1{font-size:45px}.servicegrid{grid-template-columns:repeat(2,1fr)}.service{min-height:420px}.servicephoto{aspect-ratio:1.9}.about{gap:45px}.trust{gap:20px}.trust>div+div{padding-left:20px}.trust strong{font-size:16px}.trust small{font-size:12px}.trusticon{width:38px;height:38px}.branches h3{font-size:19px}.steps{gap:25px}.steps h3{font-size:19px}.contactgrid{gap:45px}.sectionhead>p{max-width:330px}.career{margin-left:30px;margin-right:30px}}
@media(max-width:900px){.contactbar>span{display:none}.contactbar{justify-content:flex-end}.mainnav{gap:20px}.mainnav nav{gap:15px;font-size:13px}.navcta{padding:13px 15px}.brandimg{width:125px;height:80px}.trust{gap:15px}.trust>div{gap:10px}.trust>div+div{padding-left:15px}.trust small{font-size:11px}.about{gap:30px}.sectionhead{gap:30px}.steps{grid-template-columns:1fr 1fr}.regional{gap:40px}.career{gap:25px}.career h2{font-size:33px}.contactgrid{gap:30px}.footgrid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){html{scroll-padding-top:145px}.draft{font-size:10px;padding:7px 12px}.wrap{padding-left:23px;padding-right:23px}.contactbar{justify-content:center;padding-top:9px;padding-bottom:9px}.contactbar>div{gap:16px;justify-content:center;flex-wrap:wrap}.contactbar a[href^="tel"]{font-size:18px}.contactbar a[href^="mailto"]{font-size:13px}.phone-symbol{margin-right:3px}.brandimg{width:115px;height:70px}.mainnav{min-height:84px}.mobile{font-size:16px;padding:14px 0}.mega a{font-size:15px}.mega{padding:25px 0}.mainnav nav{font-size:16px;gap:12px}.hero{grid-template-columns:1fr}.herotext{padding:45px 25px}.herotext .eyebrow{font-size:10px}.herotext>p:not(.eyebrow){font-size:16px}.herotext .button{font-size:14px;padding:17px 18px;gap:14px}h1{font-size:clamp(34px,7.7vw,49px);letter-spacing:-1.2px}.herodetail{font-size:11px}.heropic{min-height:380px}.heropic img{object-position:60% 40%}.picnote{left:25px;bottom:25px}.picnote strong{font-size:25px}.photocaption{font-size:10px}.trust{grid-template-columns:1fr;gap:0;padding-top:10px;padding-bottom:10px}.trust>div{gap:16px;padding:16px 0}.trust>div+div{border-left:0;padding-left:0;border-top:1px solid #e3ecf1}.trust strong{font-size:17px}.trust small{font-size:13px}.trusticon{width:43px;height:43px}.section{padding-top:60px;padding-bottom:60px}h2{font-size:34px}.eyebrow{font-size:11px}p{font-size:16px}.aboutvisual{min-height:340px}.aboutvisual figcaption{font-size:14px;padding:23px 20px}.aboutvisual figcaption span{font-size:10px}.sectionhead>p{max-width:none;font-size:16px}.servicegrid{grid-template-columns:1fr 1fr;gap:14px}.service{min-height:420px}.servicephoto{aspect-ratio:1.2}.servicecontent{padding:19px 16px}.service h3{font-size:21px;overflow-wrap:anywhere}.service p{font-size:14px}.service small{font-size:9px}.more{font-size:12px}.branches{gap:12px}.branches button{padding:20px 16px;gap:14px;min-height:90px}.branches h3{font-size:19px}.branchicon{width:44px;height:44px}.branchicon svg{width:26px;height:26px}.steps{gap:24px}.steps h3{font-size:19px}.steps p{font-size:15px}.cities button{font-size:23px}.career{margin:0 23px;padding:30px 25px}.career h2{font-size:31px}.career p{font-size:15px}.contactgrid{gap:30px}.bigphone{font-size:32px}.email{font-size:19px}.hours{font-size:14px}form{padding:26px 20px}form h3{font-size:23px}.formnote{font-size:12px}.footgrid{gap:25px}.footgrid p{font-size:13px}.footgrid a,.footgrid>div>span{font-size:12px}.footnote{font-size:11px}dialog h2{font-size:30px}dialog{padding:35px 24px}.button{font-size:14px;gap:16px}.contactsection form .button{font-size:13px}}
@media(max-width:440px){.servicegrid{grid-template-columns:1fr}.service{min-height:0}.servicephoto{aspect-ratio:1.65}.servicecontent{padding:24px}.service h3{font-size:25px;overflow-wrap:normal}.service p{font-size:16px}.service small{font-size:10px}.more{font-size:14px}.contactbar a[href^="tel"]{font-size:17px}.contactbar a[href^="mailto"]{font-size:12px}.contactbar>div{gap:12px}.steps{grid-template-columns:1fr}.steps article{padding-top:20px}.branches h3{font-size:18px}.footgrid{grid-template-columns:1fr}.footgrid>div:last-child{grid-column:auto}.formrow{display:block}#extra-services{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.service:hover .servicephoto img{transform:none}}

.footer-layout{display:grid;grid-template-columns:1fr 1fr;gap:60px}.footer-layout a{display:block;margin:8px 0}.footer-layout p{line-height:1.8;margin:26px 0}.footer-layout h3{font-family:var(--font-heading);font-size:23px;margin:0 0 18px}.footer-layout h3:not(:first-child){margin-top:38px}.sticky-contact{position:fixed;bottom:18px;right:24px;display:flex;gap:10px;padding:10px;background:white;box-shadow:0 4px 24px #14232d33;border-radius:12px;z-index:80}.sticky-contact[hidden]{display:none}.sticky-contact .button{margin:0;min-height:44px}@media(max-width:600px){.footer-layout{grid-template-columns:1fr;gap:36px}.sticky-contact{left:0;right:0;bottom:0;border-radius:0;padding:10px 12px calc(10px + env(safe-area-inset-bottom));gap:8px}.sticky-contact .button{flex:1;text-align:center;padding:12px 8px;font-size:16px}body{padding-bottom:85px}}

.servicegrid-five{grid-template-columns:repeat(3,minmax(0,1fr))}.services-overview-link{margin-top:30px;text-align:center}@media(max-width:1000px){.servicegrid-five{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.servicegrid-five{grid-template-columns:1fr}}

.career.career-photo{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:0;overflow:hidden;background:#eaf4f8}.career-photo .career-copy{padding:44px 36px}.career-photo .career-copy>p:not(.eyebrow){font-size:18px;line-height:1.75}.career-photo .inquiry-actions{align-items:center;gap:20px}.career-photo .button{margin-top:0}.career-photo .career-team-photo{position:relative;align-self:stretch;margin:0;min-height:390px}.career-team-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:55% center}.career-team-photo figcaption{position:absolute;bottom:12px;right:12px;left:12px;width:fit-content;margin-left:auto;padding:5px 8px;background:#243a48d9;color:white;font-size:11px;line-height:1.4}@media(max-width:760px){.career.career-photo{grid-template-columns:1fr}.career-photo .career-copy{padding:30px 25px}.career-photo .career-team-photo{min-height:0;aspect-ratio:3/2}.career-photo .career-copy>p:not(.eyebrow){font-size:16px}}

/* Verband logo in the first homepage trust column. */
.trust>.trust-brand{min-width:0;justify-content:center}.trust-brand img{display:block;width:100%;max-width:340px;height:auto;object-fit:contain}

/* Process columns keep a calm blue highlight while the pointer is over them. */
.process .steps article{position:relative;isolation:isolate;transition:border-color .2s ease}
.process .steps article::before{content:'';position:absolute;inset:-1px -12px -12px;z-index:-1;border-radius:3px;background:#009bdf;opacity:0;pointer-events:none;transition:opacity .2s ease}
.process .steps article:hover{border-color:#50c3ed}
.process .steps article:hover::before{opacity:.32}
@media(prefers-reduced-motion:reduce){.process .steps article,.process .steps article::before{transition:none}}

/* Compact city rows with the same blue hover tint as the process columns. */
.regional .cities button{padding:14px 12px;min-height:56px;line-height:1.3;align-items:center;gap:12px;transition:background-color .2s ease,color .2s ease}
.regional .cities button:hover{background:rgba(0,155,223,.32);color:var(--dark)}
.regional .cities button:hover span{color:#087da7}
@media(prefers-reduced-motion:reduce){.regional .cities button{transition:none}}

/* Regional heading and directional feedback for each city row. */
.regional>div>.eyebrow{display:flex;align-items:center;min-height:61.5px;margin-top:0;padding:14px 0;font-size:32px;line-height:32.5px}
@media(max-width:760px){.regional>div>.eyebrow{min-height:58.9px;line-height:29.9px}}
.regional .cities .link-arrow{flex:none;transition:transform .2s ease}
.regional .cities button:hover .link-arrow{transform:translateX(3px) rotate(45deg)}
@media(prefers-reduced-motion:reduce){.regional .cities .link-arrow{transition:none}}

/* Fuller homepage career introduction and matching action footprints. */
.career-photo .career-copy>.eyebrow{font-size:26px;line-height:1.3}
.career-photo .career-copy h2{font-size:clamp(38px,3vw,48px);line-height:1.18}
.career-photo .career-copy>p:not(.eyebrow){margin-top:0;margin-bottom:16px}
.career-photo .inquiry-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:stretch}
.career-photo .inquiry-actions .button,.career-photo .inquiry-actions .career-more{min-width:0;width:100%;min-height:60px;padding:14px 18px;line-height:1.5;justify-content:center;text-align:center;gap:12px;border-radius:3px}
.career-photo .inquiry-actions .career-more{border:1px solid transparent;font-size:var(--text-navigation-action);font-weight:700;transition:background-color .2s ease,color .2s ease}
.career-photo .career-more:hover{background:rgba(0,155,223,.32);color:var(--dark)}
.career-photo .career-more .link-arrow{flex:none;transition:transform .2s ease}
.career-photo .career-more:hover .link-arrow{transform:translateX(3px) rotate(45deg)}
@media(max-width:760px){.career-photo .career-copy>.eyebrow{font-size:24px}.career-photo .career-copy h2{font-size:36px}}
@media(max-width:480px){.career-photo .inquiry-actions{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.career-photo .inquiry-actions .career-more,.career-photo .career-more .link-arrow{transition:none}}

/* Compact regional signature below the main heading. */
.regional>div>.regional-motto{font-family:var(--font-heading);font-size:clamp(18px,1.5vw,22px);font-weight:700;line-height:1.4;color:var(--dark);letter-spacing:0;margin:0 0 12px;max-width:100%;text-wrap:balance}
.regional>div>.regional-tagline{margin:0;max-width:34ch;text-wrap:balance}

/* Contextual service links, SEO round 1. */
.seo-context-link{color:inherit;text-decoration:underline;text-underline-offset:.18em}
/* Long German service names must remain inside narrow mobile layouts. */
.detail-page h1,.detail-page h2,.detail-page h3{overflow-wrap:anywhere}

/* Source: hero.css */
/* Standalone photographs; text and controls are independent HTML. */
.hero-stage{display:grid;isolation:isolate;background:var(--dark)}
.hero-stage .hero-slide{grid-area:1/1;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .65s ease,visibility .65s ease}
.hero-stage .hero-slide.is-active{visibility:visible;opacity:1;pointer-events:auto;z-index:1}
.hero-title{font-size:clamp(40px,3.5vw,62px);line-height:1.13;letter-spacing:-1.7px;margin:0 0 26px;font-weight:500}
.hero-concept{background:#293239;display:flex;align-items:center}
.hero-concept img{width:100%;height:100%;max-width:100%;inset:0;object-fit:contain;object-position:center}
.hero-concept:after{background:linear-gradient(0deg,#14283224,transparent 20%);pointer-events:none}
.hero-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px max(44px,calc((100vw - 1592px)/2));background:#243039;color:#d4e0e6;border-top:1px solid #ffffff15}
.hero-controls[hidden]{display:none}
.hero-current{display:flex;align-items:center;gap:24px;font-size:13px;font-weight:600}
#hero-number{color:#6ac8ed;font-size:12px;letter-spacing:2px;font-variant-numeric:tabular-nums}
.hero-actions,.hero-dots{display:flex;align-items:center;gap:4px}
.hero-controls button{color:white;background:transparent;border:0;min-width:44px;min-height:44px;border-radius:3px;display:inline-flex;align-items:center;justify-content:center}
.hero-controls button:hover{background:#ffffff14}
.hero-controls button:focus-visible{outline:2px solid #65cef3;outline-offset:1px}
.hero-arrow{font-size:23px}
.hero-dots button span{display:block;width:8px;height:8px;background:#8296a2;border-radius:20px;transition:width .25s,background .25s}
.hero-dots button[aria-current="true"] span{width:26px;background:#54c6f0}
.hero-controls .hero-toggle{border:1px solid #627582;margin-left:18px;padding:0 15px;gap:10px;font-size:12px;min-width:117px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1200px){.hero-title{font-size:45px}.hero-controls{padding-left:32px;padding-right:32px}}
@media(max-width:900px) and (min-width:761px){.hero-title,.hero-stage h1{font-size:clamp(32px,4.6vw,41px)}}
@media(max-width:760px){
  .hero-stage .hero-slide{grid-template-rows:1fr 380px}
  .hero-stage .herotext{align-self:start;padding:40px 25px}
  .hero-title{font-size:clamp(32px,7.7vw,49px);letter-spacing:-1.2px;overflow-wrap:normal}
  .hero-stage h1{font-size:clamp(32px,7.7vw,49px)}
  .hero-stage .hero-slide:not(:first-child){grid-template-rows:1fr auto}
  .hero-stage .hero-concept{min-height:0;aspect-ratio:3/2;align-self:center}
  .hero-concept img{object-position:center}
  .hero-controls{flex-direction:column;gap:8px;padding:15px 20px}
  .hero-current{justify-content:space-between;width:100%;gap:12px;font-size:12px}
  .hero-actions{width:100%;justify-content:space-between;gap:0}
  .hero-dots{gap:0}
  .hero-dots button{min-width:34px}
  .hero-controls .hero-toggle{margin-left:6px;min-width:100px;padding:0 10px}
}
@media(prefers-reduced-motion:reduce){.hero-stage .hero-slide,.hero-dots button span{transition:none}}
/* Controls share the right image column instead of adding a full-width row. */
@media(min-width:761px){
.hero-carousel{position:relative;min-height:0;display:block}
.hero-stage{min-height:calc(100svh - var(--opening-header,165px) - 73px)}
.hero-stage .hero-slide{min-height:0}
.hero-stage .heropic{min-height:0;margin-bottom:var(--hero-controls-height,100px)}
.hero-stage .herotext{padding-top:36px;padding-bottom:36px}
.hero-stage .heropic img{object-fit:cover;object-position:center top;background:#293239}
.hero-carousel .hero-controls{position:absolute;bottom:0;right:0;width:50%;padding:12px 24px;flex-wrap:wrap;gap:8px 18px;z-index:2;border-top:0;background:var(--dark)}
.hero-controls .hero-current{gap:14px;flex:1;white-space:nowrap}
.hero-controls .hero-actions{gap:0;flex-wrap:nowrap}
.hero-controls .hero-dots{gap:0}
.hero-controls .hero-dots button{min-width:30px}
.hero-controls .hero-toggle{margin-left:8px;min-width:95px;padding:0 10px}
}

.hero-detail-link{display:inline-block;margin-top:24px;color:#8fdbf7;text-decoration:underline;text-underline-offset:5px;font-weight:600}.hero-detail-link:hover{color:white}@media(max-width:760px){.hero-dots button{min-width:27px}.hero-controls .hero-toggle{min-width:86px;padding:0 6px;margin-left:2px}.hero-actions{flex-wrap:wrap;row-gap:8px}}

/* One responsive text hierarchy for all six opening motifs. */
.hero-stage .hero-slide{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.hero-stage .herotext{min-width:0;padding-left:max(32px,calc((100vw - 1592px)/2));padding-right:clamp(28px,3vw,64px)}
.hero-stage .herotext .eyebrow{font-size:clamp(14px,1vw,16px);margin:0 0 20px}
.hero-stage .herotext h1,.hero-stage .herotext .hero-title{font-family:var(--font-heading);font-size:clamp(46px,4.8vw,72px);line-height:1.08;letter-spacing:-1.5px;font-weight:500;margin:0 0 18px;max-width:720px;text-wrap:balance;overflow-wrap:normal;hyphens:auto}
.hero-stage .herotext>p.hero-subtitle{font-family:var(--font-heading);font-size:clamp(28px,2.25vw,34px);font-weight:500;line-height:1.25;color:#50c3ed;max-width:650px;margin:0 0 24px;text-wrap:balance}
.hero-stage .herotext>p:not(.eyebrow):not(.hero-subtitle){font-size:clamp(18px,1.35vw,20px);line-height:1.65;max-width:620px;margin:0 0 28px}
.hero-stage .herotext .inquiry-actions{display:flex;flex-wrap:wrap;gap:12px;max-width:650px}
.hero-stage .herotext .button{font-size:clamp(16px,1.15vw,18px);min-height:54px;max-width:100%;padding:14px 20px;gap:16px}
.hero-stage .herotext .button-call{gap:2px;padding:10px 20px}
.hero-stage .herotext .herodetail,.hero-stage .herotext .hero-detail-link{font-size:14px;line-height:1.5;margin-top:22px}
@media(min-width:761px){
 .hero-stage .herotext{padding-top:44px;padding-bottom:44px}
}
@media(min-width:761px) and (max-width:1050px){
 .hero-stage .herotext{padding-left:26px;padding-right:26px}
 .hero-stage .herotext h1,.hero-stage .herotext .hero-title{font-size:clamp(38px,4.8vw,49px);letter-spacing:-1px}
 .hero-stage .herotext>p.hero-subtitle{font-size:28px}
}
@media(max-width:760px){
 .hero-stage .hero-slide{grid-template-columns:minmax(0,1fr);grid-template-rows:1fr auto}
 .hero-stage .hero-slide:first-child{grid-template-rows:1fr auto}
 .hero-stage .herotext{padding:36px 24px 32px}
 .hero-stage .herotext h1,.hero-stage .herotext .hero-title{font-size:clamp(36px,9.2vw,56px);line-height:1.1;letter-spacing:-.9px;margin-bottom:16px}
 .hero-stage .herotext>p.hero-subtitle{font-size:clamp(26px,6vw,30px);margin-bottom:20px}
 .hero-stage .herotext>p:not(.eyebrow):not(.hero-subtitle){font-size:18px;margin-bottom:24px}
 .hero-stage .herotext .button{font-size:16px}
 .hero-stage .heropic,.hero-stage .hero-concept{min-height:0;aspect-ratio:3/2;width:100%}
}
@media(max-width:380px){
 .hero-stage .herotext{padding-left:20px;padding-right:20px}
 .hero-stage .herotext h1,.hero-stage .herotext .hero-title{font-size:32px}
 .hero-stage .herotext .inquiry-actions{display:grid;grid-template-columns:1fr}
}

/* First motif brand label: two pixels larger at every viewport. */
.hero-stage .herotext .hero-brand-label{font-size:clamp(16px,calc(1vw + 2px),18px)}

/* Stable mobile and tablet controls: playback occupies its own row. */
@media(max-width:1100px){
 .hero-controls .hero-actions{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:8px 0;align-items:center;width:100%}
 .hero-actions>[data-hero-prev]{grid-column:1;grid-row:1}
 .hero-actions>.hero-dots{grid-column:2;grid-row:1;justify-content:center;min-width:0}
 .hero-actions>[data-hero-next]{grid-column:3;grid-row:1}
 .hero-controls .hero-toggle{grid-column:1 / -1;grid-row:2;justify-self:center;width:117px;min-width:117px;margin:0;white-space:nowrap}
 .hero-controls .hero-dots button{min-width:0;width:clamp(27px,5.4vw,40px);padding:0;flex:0 0 auto;min-height:44px}
}

/* Regional motif: seven real city photographs, kept separate from the text. */
.hero-stage .hero-region .herotext>.region-signature{font-family:var(--font-heading);font-size:clamp(18px,1.5vw,22px);font-weight:700;color:#fff;margin-bottom:14px;line-height:1.4}
.hero-stage .regional-mosaic{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:1.5fr repeat(3,minmax(0,1fr));gap:5px;background:var(--dark);overflow:hidden}
.regional-mosaic::after{display:none}
.regional-mosaic .regional-tile{position:relative;margin:0;min-width:0;min-height:0;overflow:hidden}
.regional-mosaic .regional-tile-muelheim{grid-column:1/-1}
.hero-stage .regional-mosaic .regional-tile img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.regional-mosaic .regional-tile::after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#10212dc9);pointer-events:none}
.regional-mosaic figcaption{position:absolute;bottom:10px;left:14px;right:10px;z-index:1;color:#fff;font:500 15px/1.3 var(--font-heading);text-shadow:0 1px 4px #0008}
.regional-mosaic .regional-photo-credits{position:absolute;right:10px;bottom:8px;z-index:2;font:400 11px/1.3 var(--font-copy);color:#fff;background:#293239d9;padding:4px 7px;text-decoration:underline;text-underline-offset:2px}
.regional-mosaic .regional-tile:last-of-type figcaption{bottom:34px}
@media(max-width:760px){.hero-stage .hero-region .regional-mosaic{aspect-ratio:1/1;grid-template-rows:1.5fr repeat(3,minmax(0,1fr))}.regional-mosaic figcaption{font-size:13px;left:10px;bottom:7px}}
.hero-stage .hero-region .herotext .hero-title{font-size:clamp(36px,3.6vw,62px)}
.hero-stage .regional-mosaic .regional-tile-muelheim img,.hero-stage .regional-mosaic .regional-tile-essen img{object-position:center 25%}
@media(max-width:760px){.hero-stage .hero-region .herotext .hero-title{font-size:clamp(32px,7.7vw,46px)}}

/* Mobile: use the regional motif's square media area for all seven slides.
   Equal media heights keep the shared text row and controls stable on change. */
@media(max-width:760px){
 .hero-stage .hero-slide .heropic{aspect-ratio:1/1}
 .hero-stage .hero-slide .hero-concept img{object-fit:cover}
}

/* Source: navigation.css */
/* Larger, clear navigation and persistent current-page states. */
.mainnav nav{font-family:Ubuntu,Arial,sans-serif;font-size:var(--text-navigation-action);font-weight:500;gap:8px}
.mainnav nav>a,.nav-group>a{display:flex;align-items:center;min-height:52px;padding:14px 17px;border-radius:3px;line-height:1.2;transition:background-color .18s,color .18s}
.nav-group{display:flex;align-items:stretch;border-radius:3px}
.nav-group>a{border-radius:3px 0 0 3px;padding-right:9px}
.mainnav .nav-group>button{display:grid;place-items:center;min-width:38px;padding:0 9px;border-radius:0 3px 3px 0;font:inherit;border:0;transition:background-color .18s,color .18s}
.mainnav .nav-group>button span{margin:0;color:inherit}
.mainnav nav>a:hover,.mainnav nav>a:focus-visible,.nav-group:hover,.nav-group:focus-within,.mainnav nav [aria-current="page"],.nav-group:has([aria-current="page"]),.nav-group:has([aria-expanded="true"]){background:transparent;color:var(--blue)}
.mainnav nav .navcta{background:transparent;color:inherit;font-size:inherit}
.mainnav nav>.nav-menu{font:inherit;padding:14px 17px;min-height:52px;display:flex;align-items:center;gap:8px;border-radius:3px;transition:background-color .18s,color .18s}
.mainnav nav>.nav-menu span{color:inherit;margin:0}
.mainnav nav>.nav-menu:hover,.mainnav nav>.nav-menu:focus-visible,.mainnav nav>.nav-menu[aria-expanded="true"],.mainnav nav>.nav-menu.current-section{background:transparent;color:var(--blue)}
.mega .overview-link{display:inline-block;font-size:17px;font-weight:700;color:#087da7;border-bottom:1px solid #c9dce5;margin-bottom:18px;padding:10px 0}
.megagrid .eyebrow{font-family:Ubuntu,Arial,sans-serif;font-size:19px;font-weight:700;line-height:1.4;letter-spacing:.3px;color:#293239;margin-bottom:17px}
.megagrid>div>a{font-size:16px;font-weight:600;line-height:1.6;color:#35434c}
.megagrid>div>a:hover{color:#087da7}
.megagrid aside>span{font-family:Ubuntu,Arial,sans-serif;font-size:18px;line-height:1.5;color:#e3edf2}
.megagrid aside h3{font-size:31px;line-height:1.25}
.megagrid aside a{font-size:17px;font-weight:600;line-height:1.5}
.megagrid aside a[href^="tel"]{font-family:Ubuntu,Arial,sans-serif;font-size:22px;font-weight:500;white-space:nowrap;color:#65cff3}
@media(min-width:1101px){.megagrid{grid-template-columns:1fr 1fr 1fr 1.1fr;gap:26px}}
.page-intro{background:#293239;color:white;padding:64px 0}
.page-intro h1{max-width:1000px;font-size:clamp(36px,4vw,58px)}
.page-intro p{max-width:760px;color:#d4dfe6}
.breadcrumbs{display:flex;gap:12px;font-size:14px;color:#c2d1da;margin-bottom:30px}
.breadcrumbs a:hover{text-decoration:underline}
.page-intro .eyebrow{color:#9cc7da}
.overview-page .career{margin-top:60px;margin-bottom:60px}
@media(max-width:1200px){.mainnav nav{font-size:var(--text-navigation-action);gap:4px}.mainnav nav>a,.nav-group>a{padding-left:12px;padding-right:12px}}
@media(min-width:761px) and (max-width:1100px){
 .mainnav .mobile{display:block;background:none;border:0;font-size:18px;padding:14px 0}
 .mainnav nav{display:none;position:absolute;top:100%;left:0;right:0;background:white;padding:20px 30px;box-shadow:0 20px 20px #0001}
 .mainnav nav.open{display:flex;flex-direction:column;align-items:stretch;gap:6px}
 .mega{position:static;max-height:65vh;overflow:auto}
 .nav-group>a{flex:1}.mainnav .nav-group>button{min-width:52px}
}
@media(max-width:760px){
 .mainnav nav{font-size:var(--text-navigation-action);gap:6px}
 .nav-group>a{flex:1}.mainnav .nav-group>button{min-width:52px}
 .mainnav nav>a,.nav-group>a{padding:15px 17px}
 .page-intro{padding:42px 0}.page-intro h1{font-size:36px}
}

/* Matching contact sizes: one step above the previous email size. */
.contactbar a[href^="tel"],.contactbar a[href^="mailto"]{font-family:Ubuntu,Arial,sans-serif;font-size:17.25px;font-weight:400;line-height:1.4;color:var(--blue)}
@media(max-width:760px){.contactbar a[href^="tel"],.contactbar a[href^="mailto"]{font-size:13.5px}}
@media(max-width:440px){.contactbar a[href^="tel"],.contactbar a[href^="mailto"]{font-size:12.75px}}

/* Every main-menu entry stays clear; hover/current state changes text only. */
.mainnav nav>a:hover,.mainnav nav>a:focus-visible,.mainnav nav>a[aria-current="page"],.mainnav nav>.nav-menu:hover,.mainnav nav>.nav-menu:focus-visible,.mainnav nav>.nav-menu[aria-expanded="true"],.mainnav nav>.nav-menu.current-section{background:transparent;color:var(--blue)}
.megagrid aside a[href^="tel"]{font-weight:700}

/* Contact icons follow the reduced type size and use brand anthracite. */
.contactbar .phone-symbol,.contactbar .email-symbol{font-size:1em;color:var(--dark);margin-right:5px}

/* Keep contact symbols light and optically equal in size. */
.contactbar .phone-symbol,.contactbar .email-symbol{font-weight:400;display:inline-block;vertical-align:middle;line-height:1}
.contactbar .email-symbol{font-size:1.2em}

/* Compact company submenu, sharing the existing menu behavior. */
.company-menu{left:auto;right:max(42px,calc((100vw - 1176px)/2));width:min(390px,calc(100vw - 32px));padding:12px;border:1px solid #e1e9ed;border-radius:4px}
.company-menu nav{display:grid;gap:0;font:500 17px/1.4 Ubuntu,Arial,sans-serif}
.company-menu nav>a{display:block;padding:13px 16px;border-radius:3px}
.company-menu nav>a:hover,.company-menu nav>a:focus-visible{background:#f1f6f8;color:var(--blue)}
.related-grid>article{background:#f1f6f8;padding:25px;border:1px solid #e1e9ed;border-radius:4px}
@media(max-width:1100px){.company-menu{position:static;width:100%;margin:0;border-radius:0}.company-menu nav{display:grid}}

/* Matching outline contact icons, sized and aligned as one consistent pair. */
.phone-symbol,.email-symbol{display:inline-flex;align-items:center;justify-content:center;width:1.15em;height:1.15em;vertical-align:-.18em;font-size:1em;line-height:1;flex:none}
.phone-symbol svg,.email-symbol svg{display:block;width:100%;height:100%}
.contactbar .phone-symbol,.contactbar .email-symbol{display:inline-flex;width:1.15em;height:1.15em;font-size:1em;vertical-align:-.18em;color:var(--dark);margin-right:5px}

/* Separate offer action; its right edge matches the contact line above. */
@media(min-width:1101px){
 .mainnav{justify-content:flex-start;gap:0}
 .mainnav .brand{flex:none}
 .mainnav nav{flex:1;min-width:0;margin-left:clamp(40px,calc((100vw - 1100px)*.5 + 40px),5cm);gap:2px}
 .mainnav nav>a,.mainnav nav>.nav-menu{white-space:nowrap;padding-left:12px;padding-right:12px}
 .mainnav nav>a.navcta{margin-left:auto}
}
/* Architecture: square corners, blue edge and a restrained press interaction. */
.mainnav nav>a.navcta{background:var(--dark);color:#fff;display:inline-flex;align-items:center;justify-content:space-between;gap:20px;border:0;border-left:5px solid var(--blue);border-radius:0;min-height:48px;padding:0 21px;font-size:inherit;font-weight:600;box-shadow:4px 4px 0 var(--blue);transition:transform .25s,box-shadow .25s,background .25s}
.mainnav nav>a.navcta:hover,.mainnav nav>a.navcta:focus-visible{background:#354751;color:#fff;transform:translate(3px,3px);box-shadow:1px 1px 0 var(--blue)}
.mainnav .navcta-arrow{display:grid;place-items:center;width:20px;height:20px;border-radius:0;background:transparent;color:#fff;line-height:1;flex:none;transition:transform .25s}
.mainnav .navcta-arrow svg{width:20px;height:20px;display:block}
.mainnav .navcta:is(:hover,:focus-visible) .navcta-arrow{transform:translate(2px,-2px)}
@media(prefers-reduced-motion:reduce){.mainnav nav>a.navcta,.mainnav .navcta-arrow{transition:none}.mainnav nav>a.navcta:is(:hover,:focus-visible),.mainnav .navcta:is(:hover,:focus-visible) .navcta-arrow{transform:none}}
@media(min-width:1101px) and (max-width:1200px){.mainnav nav>a,.mainnav nav>.nav-menu{padding-left:9px;padding-right:9px}.mainnav nav>a.navcta{font-size:inherit;gap:10px;padding-left:15px}}
@media(max-width:1100px){.mainnav nav>a.navcta{margin-top:10px;align-self:flex-start}}

/* Company menu uses the same full header width as the other mega menus. */
.company-menu{left:0;right:0;width:100%;max-width:none;margin:0;padding:30px 0;border:0;border-top:1px solid #edf1f3;border-radius:0}
.company-menu .eyebrow{margin:0 0 17px;font-size:15px;color:var(--dark)}
.company-menu nav.company-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 30px}
.company-menu .company-links>a{display:flex;align-items:flex-start;gap:15px;padding:16px 12px;min-width:0}
.company-links svg{width:29px;height:29px;flex:none;color:var(--blue);margin-top:2px}
.company-links strong{display:block;font:500 18px/1.4 Ubuntu,Arial,sans-serif;color:var(--dark)}
.company-links small{display:block;margin-top:5px;font:400 15px/1.5 Quicksand,Arial,sans-serif;color:var(--color-copy)}
.company-menu .company-links>a:hover strong,.company-menu .company-links>a:focus-visible strong{color:var(--blue)}
@media(max-width:1100px){.company-menu{position:static}.company-menu nav.company-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px}}
@media(max-width:600px){.company-menu nav.company-links{grid-template-columns:1fr}.company-menu{padding:22px 0}.company-menu .company-links>a{padding:12px 0}}

/* Softer menu typography: preserve sizes and blue interaction states. */
.mainnav nav{color:#555f65}
header .megagrid .eyebrow{color:#555f65;font-weight:500}
header .megagrid>div>a{color:#505b63;font-weight:500}
header .megagrid>div>a:hover,header .megagrid>div>a:focus-visible{color:#087da7}

/* Shared readable link tone across object and company dropdown menus. */
header .object-menu .object-card>span,
header .company-menu .company-links strong,
header .company-menu .company-links small{color:#505b63;font-weight:500}
header .object-menu .object-card:hover>span,
header .object-menu .object-card:focus-visible>span,
header .company-menu .company-links>a:hover strong,
header .company-menu .company-links>a:focus-visible strong{color:#087da7}

/* Identical line boxes for plain links and dropdown buttons. */
.mainnav nav>a:not(.navcta),.mainnav nav>button.nav-menu{
 font-family:inherit;font-size:inherit;font-weight:inherit;line-height:1.2;
 display:flex;align-items:center;min-height:52px;padding-top:14px;padding-bottom:14px;
 border:0;margin-top:0;margin-bottom:0;
}

/* Compact complete service menu, scoped to the header service dropdown. */
#services .megagrid>div>a{display:flex;align-items:flex-start;gap:9px;padding:5.5px 0;margin:0;line-height:1.45;min-height:0;}
#services .megagrid>div>a>span{display:block;min-width:0;color:inherit;}
#services .service-menu-icon{display:block;flex:0 0 15px;width:15px;height:15px;margin-top:4px;color:#009BDF;}
#services .megagrid>div>.eyebrow{margin-bottom:12px;}
@media(max-width:1100px){#services .megagrid>div>a{padding:7px 0;min-height:38px;}}

/* Calm, matching telephone text and handset inside service contact card. */
#services .megagrid aside a[href^="tel"]{color:#DCE4E8;font-weight:500;}
#services .megagrid aside a[href^="tel"] .phone-symbol{color:inherit;}
#services .megagrid aside a[href^="tel"] svg{color:inherit;stroke:currentColor;}
#services .megagrid aside a[href^="tel"]:hover,#services .megagrid aside a[href^="tel"]:focus-visible{color:#fff;}

#services .megagrid aside h3{color:#fff;}
#services .megagrid aside h3 .contact-card-accent{color:#50C3ED;}
#services .megagrid aside a[href^="tel"]{display:flex;align-items:center;justify-content:center;gap:9px;border:1px solid #009BDF;border-radius:3px;padding:12px 8px;margin-top:12px;min-height:48px;font-size:clamp(16px,1.35vw,20px);line-height:1.3;color:#DCE4E8;}
#services .megagrid aside a[href^="tel"] .phone-symbol{display:inline-flex;flex:0 0 19px;margin:0;}
#services .megagrid aside a[href^="tel"] svg{width:19px;height:19px;}
#services .megagrid aside a[href^="tel"]:hover{background:#34444e;}
#services .megagrid aside a[href^="tel"]:focus-visible{outline:2px solid #50C3ED;outline-offset:3px;}

/* Phone frame fits content with symmetric horizontal padding. */
#services .megagrid aside a[href^="tel"]{display:inline-flex;width:max-content;max-width:100%;box-sizing:border-box;padding:12px 14px;}

/* Desktop dropdown panels follow the marked content width without shrinking their contents. */
@media(min-width:1101px){
 header .mega{left:50%;right:auto;width:calc(100% - 48px);max-width:calc(var(--content,1680px) - 48px);transform:translateX(-50%)}
 header .mega>.wrap{max-width:none;padding-left:20px;padding-right:20px}
}

/* Service dropdown: aligned top edges and centered overview below the three lists. */
#services .megagrid > div > .eyebrow{margin-top:0;}
#services .services-menu-overview{grid-column:1/-1;text-align:center;}
#services .services-menu-overview > a.overview-link{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:auto;margin:0;padding:0 0 5px;font-size:17px;font-weight:700;color:#087da7;}
@media(min-width:1101px){
 #services{padding-top:38px;padding-bottom:38px;}
 #services .megagrid{align-items:start;row-gap:22px;}
 #services .megagrid > aside{grid-column:4;grid-row:1/3;align-self:stretch;}
 #services .services-menu-overview{grid-column:1/4;grid-row:2;align-self:end;}
}

/* Consistent content-edge alignment; original menu colors, images and text retained. */
@media(min-width:1101px){
 header .mega{width:calc(100% - 84px);max-width:calc(var(--content,1680px) - 84px);}
 header .mega>.wrap{padding-left:22px;padding-right:22px;}
 #services .megagrid{grid-template-columns:1.18fr 1fr 1fr 1.07fr;column-gap:32px;}
 #industries .object-grid{gap:18px;}
 #company>.wrap{max-width:1400px;margin-inline:auto;}
 #company .company-links>a{padding-left:0;padding-right:0;}
 .mainnav nav{margin-left:clamp(24px,4vw,75px);}
}
/* Contact dropdown follows the existing navigation and form design. */
header .contact-menu{padding:38px 0;max-height:calc(100dvh - 155px);overflow-y:auto;}
.contact-menu .contact-menu-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:start;}
.contact-menu-info section+section{margin-top:28px;}
.contact-menu-info h3{font-family:Ubuntu,Arial,sans-serif;font-size:21px;line-height:1.35;color:var(--dark);margin:0 0 14px;}
.contact-menu-info address{font-style:normal;line-height:1.7;}
.contact-menu-info p{line-height:1.6;margin:12px 0;}
.contact-menu-info .footer-contact-link{display:flex;align-items:center;gap:10px;color:var(--blue);padding:6px 0;}
.contact-menu-info .footer-contact-icon{display:inline-flex;width:20px;height:20px;}
.contact-menu-info .footer-contact-icon svg{width:20px;height:20px;}
.contact-menu-info .footer-links{display:flex;flex-wrap:wrap;gap:4px 22px;}
.contact-menu-info .footer-membership img{display:block;width:220px;max-width:100%;height:auto;}
.contact-menu-info .footer-membership{padding:0;}
.contact-menu form{margin:0;padding:26px;background:var(--pale);}
.contact-menu form h2{font-size:30px;line-height:1.2;margin:0 0 18px;}
.contact-menu form .eyebrow{font-size:13px;margin:0 0 10px;}
.contact-menu form label{display:block;min-width:0;margin:10px 0;}
.contact-menu form input,.contact-menu form textarea{display:block;width:100%;min-width:0;}
.contact-menu form .contact-fields-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.contact-menu form .formnote{font-size:13px;line-height:1.5;}
.contact-menu form a{display:inline;padding:0;font-size:inherit;color:var(--blue);}
.contact-menu form [role=status]:empty{display:none;}
@media(max-width:1100px){.contact-menu .contact-menu-grid{gap:30px;}header .contact-menu{max-height:65dvh;}}
@media(max-width:760px){.contact-menu .contact-menu-grid{grid-template-columns:1fr;}.contact-menu form{padding:20px;}.contact-menu form .contact-fields-row{grid-template-columns:1fr;gap:0;}}

/* Center the complete menu group in the free space between logo and offer. */
@media(min-width:1101px){
 .mainnav nav#navigation{margin-left:0;gap:0;}
 .mainnav nav#navigation::before,.mainnav nav#navigation::after{content:"";display:block;flex:1 1 0;min-width:0;}
 .mainnav nav#navigation::after{order:1;}
 .mainnav nav#navigation>a,.mainnav nav#navigation>button{flex:0 0 auto;}
 .mainnav nav#navigation>a.navcta{order:2;margin-left:0;}
}

/* Source: typography.css */
/* Shared typography roles. Approved 2026-10-21; applies to every page. */
:root{
 --font-heading:Ubuntu,Arial,sans-serif;
 --font-copy:Quicksand,Arial,sans-serif;
 --text-copy:18px;
 --text-navigation-action:18px;
 --text-label:16px;
 --text-card-title:23px;
 --text-trust-title:22px;
 --text-support:15px;
 --color-copy:#35434c;
 --color-heading:#293239;
 --color-copy-inverse:#e0e9ee;
}
body{font-family:var(--font-copy)}
/* Section labels share one weight and spacing; menu group labels are larger. */
.eyebrow,.herotext .eyebrow,.page-intro .eyebrow{
 font-family:var(--font-heading);font-size:var(--text-label);font-weight:700;
 letter-spacing:.6px;line-height:1.5;color:var(--color-heading);
}
.herotext .eyebrow,.process .eyebrow,.page-intro .eyebrow{color:#c1dfec}
.megagrid .eyebrow{font-size:19px;letter-spacing:.3px;color:var(--color-heading)}
/* Copy on light and dark backgrounds. Main headline sizes stay unchanged. */
p,.sectionhead>p,.career p,.service p,.steps p,.herotext>p:not(.eyebrow),.page-intro p:not(.eyebrow){
 font-family:var(--font-copy);font-size:var(--text-copy);font-weight:500;
 line-height:1.8;color:var(--color-copy);
}
.herotext>p:not(.eyebrow),.process .steps p,.service.featured p,.page-intro p:not(.eyebrow){color:var(--color-copy-inverse)}
.service h3,.branches h3,.steps h3{font-family:var(--font-heading);font-size:var(--text-card-title);font-weight:500;line-height:1.3}
.service h3{font-weight:600}
.servicecontent{padding:25px}
.service small{font-family:var(--font-heading);font-size:13px;line-height:1.5;font-weight:500;color:#465d6b;letter-spacing:.4px}
.service.featured small{color:#bfdfec}
.servicegrid{align-items:stretch}
.service{height:auto;min-height:0}
.service .more,.textlink,.allservices summary,#extra-services button{font-size:16px;font-weight:600;line-height:1.5}
/* Contact actions share the navigation size at every breakpoint. */
.button,.herotext .button,.hero-stage .herotext .button,.contactsection form .button,.sticky-contact .button{font-size:var(--text-navigation-action);font-weight:700;line-height:1.5}
@media(min-width:761px) and (max-width:1200px){:root{--text-navigation-action:16px}}
.trust{padding-top:34px;padding-bottom:34px;gap:30px}
.trust>div{gap:20px;min-width:0}
.trust>div+div{padding-left:26px}
.trust strong{font-family:var(--font-heading);font-size:var(--text-trust-title);font-weight:500;line-height:1.3;color:var(--color-heading);display:block}
.trust small{font-family:var(--font-copy);font-size:var(--text-support);font-weight:500;line-height:1.6;color:var(--color-copy);margin-top:7px}
.trusticon{width:62px;height:62px;font-size:30px}
.trusticon svg{width:34px;height:34px;display:block}
.trust-logo{width:100px;height:66px;object-fit:contain;flex-shrink:0}
.herodetail{font-size:14px;font-weight:500;color:#cfdee6;line-height:1.6}
.hours{font-size:16px;line-height:1.8}
label{font-size:16px;font-weight:600}
input,textarea{font-size:17px;line-height:1.5;color:var(--color-copy)}
.formnote,#formstatus{font-size:14px;line-height:1.7;color:#465661}
.dialoglist{font-size:18px;line-height:1.8;color:var(--color-copy)}
.footgrid p{font-size:15px;color:#d3dfe6}
.footgrid a,.footgrid>div>span{font-size:15px;line-height:1.7}
.footnote{font-size:13px;line-height:1.7;color:#c1d0d9}
@media(max-width:1100px){
 .trust{grid-template-columns:1fr;gap:0;padding-top:12px;padding-bottom:12px}
 .trust>div{padding:20px 0}
 .trust>div+div{border-left:0;border-top:1px solid #e3ecf1;padding-left:0}
}
@media(max-width:760px){
 .servicegrid{grid-template-columns:1fr}
 .servicephoto{aspect-ratio:1.65}
 .servicecontent{padding:24px}
 .trust>div{gap:18px}
 .trusticon{width:56px;height:56px}
 .branches button{padding:22px 18px;align-items:center}
 .steps{grid-template-columns:1fr}
 .steps h3{margin-top:16px}
 .herotext .eyebrow{font-size:14px}
 .herodetail{font-size:13px}
}

/* German compound words must fit narrow cards and mobile viewports. */
h1,h2,h3,.eyebrow,.object-card>span,.breadcrumbs,.related-grid>a{overflow-wrap:anywhere;hyphens:auto}
.detail-copy,.detail-columns>*,.relief-section>*,.object-detail>*,.inquiry-grid>*,.servicecontent,.career-copy{min-width:0}

html:has(dialog[open]){overflow:hidden}

/* Homepage service cards start directly with their title. */
#leistungen .servicecontent>h3:first-child{margin-top:0}
#leistungen .servicecontent>p{font-size:16px}

/* Source: objects.css */
.object-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.mega.object-menu{max-height:calc(100dvh - 160px);overflow:auto;padding:18px 0 24px}
.object-grid .object-card{padding:0;display:block;background:#f2f6f8;border:1px solid #e1e9ed;border-radius:4px;overflow:hidden;transition:background .18s,color .18s}
.object-card img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.object-card>span{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:14px;font:500 18px/1.3 Ubuntu,Arial,sans-serif;color:#293239;min-height:76px}
.object-card b{font-weight:400;color:#0789b8}
.object-grid .object-card:hover,.object-grid .object-card:focus-visible{background:#e5f4fb;color:#087da7}
.object-note{display:block;margin-top:14px;font-size:12px;color:#53616c}
.object-detail{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}.object-detail figure{margin:0}.object-detail img{width:100%;height:auto}.object-detail figcaption{font-size:12px;margin-top:8px}.object-services{display:grid;gap:12px;margin:24px 0}.object-services button{background:none;border:0;text-align:left;padding:8px 0;font-size:18px}
@media(max-width:1100px){.object-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.object-menu .object-card img{aspect-ratio:2/1}.mega.object-menu{max-height:65dvh}.object-detail{grid-template-columns:1fr}}
@media(max-width:480px){.object-grid{gap:12px}.object-card>span{font-size:16px;padding:10px;min-height:82px}.object-menu .wrap{padding:0 20px}}

/* Source: detail-pages.css */
/* Shared detail components use the established typography tokens. */
.detail-hero{display:grid;grid-template-columns:1fr 1fr;background:var(--dark);color:white;min-height:540px}
.detail-copy{padding:48px 40px 48px max(42px,calc((100vw - 1176px)/2));align-self:center}
.detail-copy .eyebrow{color:#c1dfec}.detail-copy h1{font-family:var(--font-heading);font-size:clamp(36px,3.5vw,56px);font-weight:500;line-height:1.15;letter-spacing:-1.5px}
.detail-copy>p{color:var(--color-copy-inverse)}.detail-copy .breadcrumbs{font-size:15px;line-height:1.5;flex-wrap:wrap;margin-bottom:22px}
.detail-hero figure{margin:0;position:relative;min-width:0;display:flex;align-items:center;background:#233039}
.detail-hero img{display:block;width:100%;height:auto;object-fit:contain}.detail-hero figcaption{position:absolute;bottom:14px;right:14px;background:#293239d9;color:white;font-size:12px;padding:6px 10px}
.detail-section{padding-top:58px;padding-bottom:58px}.detail-page h2{font-family:var(--font-heading);font-weight:500;font-size:clamp(34px,3vw,46px)}
.check-grid{list-style:none;padding:0;margin:28px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:20px 34px;font-size:18px;color:var(--color-copy);line-height:1.6}.check-grid li{position:relative;padding-left:30px}.check-grid li:before{content:'✓';position:absolute;left:0;color:#0789b8;font-weight:700}
.detail-band{background:#f1f6f8;padding:55px 0}.detail-columns{display:grid;grid-template-columns:1fr 1.2fr;gap:50px}.detail-columns p:first-child{margin-top:0}
.detail-region{display:flex;align-items:center;justify-content:space-between;gap:35px;padding-top:40px;padding-bottom:40px;border-top:1px solid #dce5eb;border-bottom:1px solid #dce5eb}.detail-region>div{max-width:850px}.detail-region h2{font-size:30px}.detail-region>a{min-width:180px}
.detail-faq details{border-bottom:1px solid #dce5eb;padding:19px 0}.detail-faq summary{cursor:pointer;font:500 23px/1.4 var(--font-heading);color:var(--color-heading)}.detail-faq p{max-width:920px}
.related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.related-grid>a{background:#f1f6f8;padding:25px;border:1px solid #e1e9ed;border-radius:4px}.related-grid>a:hover{background:#e5f4fb}.related-grid h3{font:500 23px/1.3 var(--font-heading);color:var(--color-heading);margin:0 0 18px}.related-grid span{color:#087da7;font-size:16px;font-weight:600}
#extra-services a{display:block;padding:14px 18px;background:white;border:1px solid #dfe7ec;border-radius:3px;font-size:16px;font-weight:600}
#inquiry-dialog{width:min(1000px,94vw);max-height:90dvh;padding:40px;border:0;border-radius:6px;overflow:auto;color:var(--color-copy)}
#inquiry-dialog::backdrop{background:#14232dcc}.inquiry-close{position:absolute;right:12px;top:8px;border:0;background:none;font-size:32px;min-width:44px;min-height:44px;z-index:1}
.inquiry-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:40px}.inquiry-grid h2{font:500 38px/1.2 var(--font-heading);color:var(--color-heading)}.inquiry-grid form{display:grid;gap:12px}.inquiry-grid label{display:grid;gap:6px}.inquiry-grid input,.inquiry-grid textarea{width:100%;padding:11px;border:1px solid #b8c8d1;border-radius:3px;background:#fff}.inquiry-grid aside{background:#f1f6f8;padding:26px;align-self:start;margin-top:24px}.inquiry-grid aside a{display:block;font-weight:700;margin:16px 0;overflow-wrap:anywhere}.inquiry-grid h3{font:500 23px/1.3 var(--font-heading)}
@media(max-width:900px){.detail-hero{grid-template-columns:1fr}.detail-copy{padding:35px 30px}.detail-hero figure{max-height:none}.detail-hero img{max-height:430px}.detail-columns{grid-template-columns:1fr;gap:15px}.related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-region{display:block}.inquiry-grid{grid-template-columns:1fr}.inquiry-grid aside{margin:0}}
@media(max-width:600px){.check-grid,.related-grid{grid-template-columns:minmax(0,1fr)}.detail-section{padding-top:38px;padding-bottom:38px}.detail-page h2{font-size:34px}.detail-region h2{font-size:28px}#inquiry-dialog{padding:35px 20px}.detail-copy h1{font-size:38px}.detail-copy{padding:34px 25px}.check-grid{gap:16px}.detail-faq summary{font-size:21px}}

/* Shared writing / calling choices on detail-page introductions. */
.inquiry-actions{display:flex;align-items:stretch;flex-wrap:wrap;gap:14px;margin-top:24px}
.inquiry-actions .button{min-height:54px;justify-content:center;text-align:center}
.inquiry-actions .button-call{background:transparent;color:#fff;border:1px solid #8bb6c8;display:flex;flex-direction:column;gap:2px;padding:10px 20px}
.inquiry-actions .button-call:hover{background:#ffffff14;border-color:#fff}
/* Match the width of the bold "Direkt anrufen" label in Quicksand. */
.call-number{font-size:1.0185em;font-weight:500;line-height:1.4;white-space:nowrap}
@media(max-width:600px){.inquiry-actions{flex-direction:column}.inquiry-actions .button{width:100%}}

.contact-person{padding:16px 0;border-bottom:1px solid #d4e0e6}.inquiry-grid .contact-person h3{margin:0 0 5px;font-size:23px}.inquiry-grid .contact-person p{margin:0;font-size:16px;line-height:1.5}

.relief-section{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.relief-section figure{margin:0;position:relative}.relief-section img{display:block;width:100%;height:auto;border-radius:4px}.relief-section figcaption{position:absolute;bottom:12px;right:12px;background:#293239cc;color:white;padding:5px 9px;font-size:12px}@media(max-width:760px){.relief-section{grid-template-columns:1fr;gap:25px}}

.benefit-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;padding-top:34px;padding-bottom:34px;border-bottom:1px solid #dce5eb}.benefit-item{display:flex;gap:15px;align-items:flex-start}.benefit-item svg{width:32px;height:32px;flex:none;color:#0789b8}.benefit-item h3{font:500 var(--text-card-title)/1.3 var(--font-heading);color:var(--color-heading);margin:0 0 8px}.benefit-item p{margin:0;font-size:var(--text-copy)}@media(max-width:900px){.benefit-row{grid-template-columns:1fr;gap:24px}}

.service-area{margin-top:18px}.service-area summary{cursor:pointer;color:#087da7;font:500 18px/1.5 var(--font-heading);padding:8px 0}.service-area-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 24px;list-style:none;padding:0;margin:20px 0;font-size:16px;line-height:1.6;color:var(--color-copy)}.regional>.service-area{grid-column:1/-1}@media(max-width:900px){.service-area-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.service-area-list{grid-template-columns:1fr}}

/* Stable contact message: all phrases occupy the same grid cell. */
.contact-compact{padding:60px 0;background:#293239;color:#fff}
.contact-compact h2{color:#fff;margin-bottom:20px}
.contact-rotation{display:grid;max-width:900px}
.contact-rotation .contact-phrase{grid-area:1/1;margin:0;color:#e0e9ee;opacity:0;visibility:hidden;transition:opacity .4s ease,visibility .4s ease;pointer-events:none}
.contact-rotation .contact-phrase.is-current{opacity:1;visibility:visible}
.contact-compact .inquiry-actions{margin-top:26px}
.contact-rotation-toggle{margin-top:18px;padding:8px 0;border:0;background:none;color:#c1dfec;font-size:14px;text-decoration:underline;min-height:44px}
.contact-rotation-toggle[hidden]{display:none}
.contact-details{display:flex;flex-wrap:wrap;align-items:center;gap:16px 30px;margin-top:32px;border-top:1px solid #ffffff25;padding-top:24px;font-size:15px;color:#e0e9ee}
.contact-details .textlink{background:none;border:0;color:#e0e9ee;padding:0;min-height:44px}
@media(prefers-reduced-motion:reduce){.contact-rotation .contact-phrase{transition:none}}

.location-map{margin-top:28px;border-radius:16px;overflow:hidden;background:#f1f6f8}.location-map-placeholder{min-height:320px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px;text-align:center}.location-map-placeholder p{max-width:620px}.location-map iframe{display:block;width:100%;height:400px;border:0}@media(max-width:600px){.location-map iframe{height:320px}}

@media(max-width:600px){
 .detail-copy h1{font-size:clamp(30px,8vw,38px);letter-spacing:-.7px}
 .detail-copy{padding:28px 22px}
 .detail-page h2{font-size:30px}
 .detail-hero{min-height:0}
 .detail-hero img{max-height:250px}
 .object-card>span{hyphens:auto;overflow-wrap:anywhere}
}

/* Uniform compact form rhythm; reset inherited paragraph/label spacing. */
#inquiry-form, #contactform, #applyform, #callbackform{display:grid;gap:12px;padding:0}
#inquiry-form>*, #contactform>*, #applyform>*, #callbackform>*{margin:0;min-width:0}
#inquiry-form>label, #contactform>label, #applyform>label, #callbackform>label{display:grid;gap:6px;line-height:1.4}
#inquiry-form input, #contactform input, #applyform input, #callbackform input{margin:0;min-height:44px;padding:9px 11px}
#inquiry-form textarea, #contactform textarea, #applyform textarea{margin:0;min-height:90px;padding:9px 11px;resize:vertical}
#inquiry-form>.eyebrow{line-height:1.4}
#inquiry-form>h2{line-height:1.15;margin-bottom:4px}
#inquiry-form>.formnote, #applyform>.formnote, #callbackform>.formnote{line-height:1.45}
#inquiry-form>.button, #contactform>.button, #applyform>.button, #callbackform>.button{justify-content:center;text-align:center}
#inquiry-status:empty, #formstatus:empty, #apply-status:empty{display:none}
.inquiry-grid aside{margin-top:0}

#inquiry-dialog{padding-top:28px;padding-bottom:28px}
#inquiry-form{gap:10px}
#inquiry-form .contact-fields-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}
#inquiry-form .contact-fields-row label{display:grid;gap:6px;margin:0;line-height:1.4;min-width:0}
#inquiry-form textarea{height:90px}
@media(max-width:600px){#inquiry-form .contact-fields-row{grid-template-columns:1fr;gap:10px}}

/* Extra 5 mm breathing room around the unchanged inquiry content. */
#inquiry-dialog{width:min(calc(1000px + 10mm),96vw);padding:calc(28px + 5mm) calc(40px + 5mm);max-height:calc(100dvh - 24px)}
#inquiry-dialog .inquiry-close{top:5mm;right:5mm;display:flex;align-items:center;justify-content:center;padding:0;line-height:1}
@media(max-width:600px){#inquiry-dialog{padding:calc(28px + 5mm) calc(20px + 5mm)}}

/* Grouped service directory: full-width text and restrained blue accents. */
.service-category+ .service-category{margin-top:52px}
.service-category>h2{font:500 clamp(25px,2.1vw,32px)/1.25 var(--font-heading);color:var(--color-heading);margin:0 0 24px;padding-left:16px;border-left:4px solid var(--blue)}
.service-directory-grid>a{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:25px}
.service-directory-grid h3{hyphens:none;overflow-wrap:normal}
.service-directory-grid p{margin:0 0 20px;hyphens:none}
.service-directory-grid a>span{margin-top:auto}
@media(min-width:601px) and (max-width:1200px){.service-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.service-directory-grid{grid-template-columns:1fr}.service-directory-grid h3{font-size:21px;overflow-wrap:anywhere}.service-category+ .service-category{margin-top:38px}}

.related-grid>a{min-width:0;overflow-wrap:anywhere}

/* Match the homepage's white title / light-blue slogan hierarchy. */
.detail-copy h1{color:#50c3ed}
.detail-copy h1.hero-service-title{color:#fff}
.detail-copy .hero-tagline{display:block;color:#50c3ed;font-size:clamp(26px,2.25vw,34px);line-height:1.25;letter-spacing:normal;margin-top:18px}
/* Both actions on the pale career panel use the established anthracite. */
.career .inquiry-actions .button{background:var(--dark);color:#fff;border:1px solid var(--dark)}
.career .inquiry-actions .button:hover{background:#36434c;border-color:#36434c}

/* Expanded service-area names respond to hover without becoming links. */
.service-area-list li{transition:color .2s ease}
.service-area-list li:hover{color:var(--blue)}
@media(prefers-reduced-motion:reduce){.service-area-list li{transition:none}}

/* Source: footer.css */
/* Shared closing section, with explicit readable colors on anthracite. */
.footer-invitation{background:#293239;padding:48px 0 0}
.footer-invitation .contact-message{display:flex;align-items:center;justify-content:space-between;gap:32px;padding-bottom:40px;border-bottom:1px solid #ffffff26}
.footer-invitation h2{font-size:clamp(28px,2.6vw,40px);margin:0;color:#fff}
.footer-invitation .inquiry-actions{margin:0;display:flex;flex-wrap:wrap;gap:12px;flex-shrink:0}
.site-footer{background:#293239;color:#dce4e8;padding:42px 0 22px}
.footer-columns{display:grid;grid-template-columns:1.15fr .8fr 1.05fr;gap:clamp(32px,5vw,90px)}
.footer-columns>section{min-width:0}
.site-footer h3{font:500 21px/1.4 Ubuntu,Arial,sans-serif;color:#fff;margin:0 0 22px}
.site-footer p,.site-footer address,.site-footer a,.site-footer button{font:500 16px/1.8 Quicksand,Arial,sans-serif;color:#dce4e8}
.site-footer address{font-style:normal;margin:0 0 16px}
.site-footer strong{font-weight:600;color:#fff}
.site-footer p{margin:16px 0}
.site-footer .footer-hours{margin-top:24px}
.footer-columns>section>a{display:block;width:fit-content;margin:4px 0}
.site-footer .footer-contact-link{display:flex;align-items:center;gap:10px;max-width:100%}
.site-footer .footer-contact-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 18px;width:18px;height:18px;color:#dce4e8;animation:none;transition:none;transform:none}
.site-footer .footer-contact-icon svg{display:block;width:100%;height:100%;animation:none;transition:none;transform:none}
.site-footer .footer-contact-text{min-width:0;overflow-wrap:anywhere}
.site-footer .footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:9px}
.site-footer a:hover,.site-footer a:focus-visible,.site-footer button:hover,.site-footer button:focus-visible{color:#65cff3;text-decoration:underline;text-underline-offset:5px}
.site-footer .footer-callback{padding:0;border:0;background:none;cursor:pointer;text-align:left}
.site-footer .footer-membership{background:transparent;padding:0;max-width:300px;width:100%;margin-bottom:16px}
.footer-membership img{display:block;width:100%;height:auto;max-height:85px;object-fit:contain}
.site-footer .footer-training{margin:22px 0 16px}
.footer-legal{border-top:1px solid #ffffff26;padding-top:22px;margin-top:40px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;color:#dce4e8;font-size:14px}
.footer-legal nav{display:flex;gap:26px;flex-wrap:wrap}
.footer-legal a{font-size:15px}
@media(max-width:1000px){.footer-invitation .contact-message{align-items:flex-start;flex-direction:column;gap:24px}.footer-columns{gap:30px;grid-template-columns:1fr 1fr}.footer-columns>section:last-child{grid-column:1/-1;max-width:420px}}
@media(max-width:600px){.footer-columns{grid-template-columns:1fr;gap:34px}.footer-columns>section:last-child{grid-column:auto}.footer-invitation{padding-top:36px}.footer-invitation .contact-message{padding-bottom:30px}.site-footer{padding-top:32px}.footer-legal{align-items:flex-start;flex-direction:column;margin-top:30px}.footer-invitation .inquiry-actions{width:100%;flex-shrink:1}.footer-invitation .button{max-width:100%}.site-footer h3{font-size:20px;margin-bottom:16px}}

/* Source: mobile-refinements.css */
/* Footer navigation is normal document content, never a mobile dropdown. */
.site-footer nav{position:static;inset:auto;background:transparent;padding:0;box-shadow:none;}
.link-arrow{display:inline-block;width:1em;height:1em;vertical-align:-.12em;flex-shrink:0;}
@media(max-width:760px){
 body{padding-bottom:0}
 .sticky-contact{display:none}
 h1,h2,h3,.eyebrow,.object-card>span,.breadcrumbs,.related-grid>a,
 .hero-stage .herotext h1,.hero-stage .hero-title{
  hyphens:none;overflow-wrap:normal;word-break:normal;
 }
 .hero-stage .herotext h1,.hero-stage .hero-title{font-size:clamp(32px,8.3vw,56px)}
 .eyebrow{letter-spacing:.3px}
 .site-footer a{overflow-wrap:anywhere}
}
@media(max-width:480px){
 .object-grid{grid-template-columns:minmax(0,1fr)}
 .object-card>span{font-size:18px;min-height:0;padding:14px}
 .object-menu .object-card img{aspect-ratio:2.8/1}
}

/* Inquiry: keep mobile fields readable while reducing padding and optional content. */
.inquiry-optional>div{display:grid;gap:10px}
.inquiry-optional>summary,.inquiry-contact-details>summary{display:none}
.inquiry-optional label{display:grid;gap:6px;line-height:1.4}
#inquiry-title:focus{outline:none}
@media(max-width:600px){
 #inquiry-dialog{width:calc(100% - 16px);max-width:calc(100% - 16px);max-height:calc(100dvh - 16px);padding:18px;margin:auto;overscroll-behavior:contain}
 #inquiry-dialog .inquiry-close{position:sticky;float:right;top:0;right:0;margin:-10px -10px -34px 0;background:#fff;border-radius:4px;width:44px;height:44px}
 #inquiry-dialog .inquiry-grid{gap:16px;clear:none}
 #inquiry-form{gap:8px}
 #inquiry-form>.eyebrow{display:none}
 #inquiry-form>h2{font-size:28px;padding-right:34px;margin:0 0 6px}
 #inquiry-form label,#inquiry-form .contact-fields-row label{font-size:15px;line-height:1.35;gap:4px}
 #inquiry-form input,#inquiry-form textarea{font-size:16px;padding:8px 10px;min-height:44px}
 #inquiry-form .contact-fields-row{gap:8px}
 #inquiry-form .formnote{font-size:13px;line-height:1.45}
 #inquiry-form textarea{height:70px;min-height:70px}
 #inquiry-form>.button{min-height:46px;margin-top:4px;padding:10px 16px}
 .inquiry-optional>summary,.inquiry-contact-details>summary{display:list-item;cursor:pointer;min-height:44px;padding:10px 0;font-size:15px;font-weight:700;color:#176d91}
 .inquiry-optional>div{gap:8px;padding-bottom:6px}
 #inquiry-dialog .inquiry-grid aside{padding:0 14px;background:#f1f6f8}
 .inquiry-contact-details>div{padding:4px 0 12px}
 .inquiry-contact-details .eyebrow{display:none}
 #inquiry-dialog .inquiry-contact-details p{font-size:15px;line-height:1.5}
}


/* Application and callback dialogs follow the approved inquiry spacing. */
#detail.compact-form-dialog{color:var(--color-copy)}
#detail.compact-form-dialog #dialogtitle{font-family:var(--font-heading);font-weight:500;line-height:1.15;color:var(--color-heading)}
#detail #dialogtitle:focus{outline:none}
#callback-status:empty{display:none}
#applyform .inquiry-optional label{display:grid;gap:6px;line-height:1.4}
@media(max-width:600px){
 #detail.compact-form-dialog{width:calc(100% - 16px);max-width:calc(100% - 16px);max-height:calc(100dvh - 16px);padding:18px;margin:auto;overscroll-behavior:contain}
 #detail.compact-form-dialog .close{position:sticky;float:right;top:0;right:0;margin:-10px -10px -34px 0;background:#fff;border-radius:4px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;padding:0;line-height:1;font-size:32px;z-index:1}
 #detail.compact-form-dialog #dialoglabel{display:none}
 #detail.compact-form-dialog #dialogtitle{font-size:28px;padding-right:0;max-width:calc(100% - 34px);margin:0 0 14px;letter-spacing:normal}
 #detail.compact-form-dialog #applyform,#detail.compact-form-dialog #callbackform{gap:8px}
 #detail.compact-form-dialog label,#detail.compact-form-dialog .inquiry-optional label{font-size:15px;line-height:1.35;gap:4px}
 #detail.compact-form-dialog input,#detail.compact-form-dialog textarea{font-size:16px;padding:8px 10px;min-height:44px;width:100%}
 #detail.compact-form-dialog .formnote{font-size:13px;line-height:1.45;margin:0}
 #detail.compact-form-dialog textarea{height:70px;min-height:70px}
 #detail.compact-form-dialog form>.button{min-height:46px;margin-top:4px;padding:10px 16px}
 #detail.compact-form-dialog [role="status"]{font-size:13px;line-height:1.45}
}

.form-privacy a{color:#176b91;text-decoration:underline;text-underline-offset:2px}.form-privacy{font-size:13px!important;line-height:1.55!important}

/* Source: consent.css */
#cs-consent{width:min(680px,calc(100% - 28px));max-height:calc(100dvh - 28px);padding:28px;border:1px solid #d6e3e9;background:white;color:#293239;border-radius:8px}
#cs-consent::backdrop{background:#172b3a99}
#cs-consent h2{font-size:28px;line-height:1.25;margin:0 0 16px;letter-spacing:-.5px}
#cs-consent p{font-size:15px;line-height:1.65;margin:12px 0;color:#35434c}
#cs-consent a{color:#176b91;text-decoration:underline;text-underline-offset:3px}
#cs-consent summary{font-size:15px;font-weight:700;cursor:pointer;padding:8px 0}
#cs-consent .consent-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}
#cs-consent .consent-actions button{border:1px solid #246f91;background:#246f91;color:#fff;min-height:48px;padding:12px 15px;font-weight:700;border-radius:4px;font-size:15px;line-height:1.4}
#cs-consent .consent-actions button:hover{background:#1b5875}
#cs-consent .consent-preview{background:#e8f2f7;padding:10px 12px;border-radius:4px;font-size:13px}
#cs-consent .consent-preview[hidden]{display:none}
#cs-consent .consent-current{font-size:13px}
.footer-consent{background:none;border:0;padding:0;color:inherit;font:inherit;text-align:left;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
@media(max-width:600px){#cs-consent{padding:22px 18px}#cs-consent h2{font-size:25px}#cs-consent p{font-size:14px}#cs-consent .consent-actions{grid-template-columns:1fr;gap:10px}}
#cs-consent h2:focus{outline:none}

/* Source: reviews.css */
.customer-reviews{background:#293239;color:#fff;overflow:hidden;padding-top:42px;padding-bottom:34px}
.customer-reviews .reviews-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.8fr);gap:18px 36px;align-items:start}
.customer-reviews .reviews-heading{grid-column:1;grid-row:1;align-self:center;min-width:0}
.customer-reviews h2{color:#fff;font-size:clamp(36.4px,3.64vw,46.8px);line-height:1.2;margin:0;letter-spacing:-.8px}
.customer-reviews h2>span,.customer-reviews h2>em{display:block}
.customer-reviews h2>em{color:#50c3ed;margin-top:.18em}
.customer-reviews .reviews-footer{grid-column:2;grid-row:2;display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:8px 18px;min-width:0}
.customer-reviews .reviews-subhead{color:#e0e9ee;font-size:15px;font-weight:700;line-height:1.6;margin:0 0 0 auto;text-align:right}
.customer-reviews .reviews-viewport{grid-column:2;grid-row:1;min-width:0;overflow-x:auto;padding:0}
.customer-reviews .reviews-track,.customer-reviews .reviews-group{display:flex;align-items:stretch;width:max-content}
.customer-reviews .reviews-group{gap:20px;padding-right:20px}
.customer-reviews .review-card{width:var(--review-card-width,280px);flex-shrink:0;background:#f1f6f8;color:#293239;border:1px solid #e0e9ed;border-radius:7px;padding:16px 12px;display:flex;flex-direction:column;box-sizing:border-box}
.customer-reviews .review-person{display:flex;align-items:center;gap:12px;min-height:36px;margin-bottom:8px}
.customer-reviews .review-avatar{display:grid;place-items:center;width:36px;height:36px;flex-shrink:0;border-radius:50%;background:#e5f4fc;color:#007eb7;font-size:16px;font-weight:700}
.customer-reviews .review-person strong{font-size:15px;line-height:1.5;overflow-wrap:anywhere}
.customer-reviews .review-stars{color:#eaa700;letter-spacing:2px;font-size:20px;line-height:1.2;margin-bottom:6px}
.customer-reviews .review-text{font-size:15px;line-height:1.8;margin:0 0 10px;color:#48545c}
.customer-reviews.reviews-ready .review-text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.customer-reviews .review-more{display:none;align-self:flex-start;font-size:14px;font-weight:700;padding:0;background:transparent;border:0;color:#007eb7;margin:0 0 8px;min-height:28px}
.customer-reviews.reviews-ready .review-more{display:block}
.customer-reviews .review-source{font-size:13px;color:#64717b;margin-top:auto;padding-top:10px;border-top:1px solid #edf1f3}
.customer-reviews.reviews-ready .reviews-viewport{overflow:hidden}
.customer-reviews.reviews-ready .reviews-track{animation:reviews-drift var(--reviews-duration,180s) linear infinite;will-change:transform}
.customer-reviews .reviews-viewport:hover .reviews-track,.customer-reviews .reviews-viewport:focus-within .reviews-track,.customer-reviews[data-review-open] .reviews-track{animation-play-state:paused}
.customer-reviews .reviews-links{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0;font-size:15px;line-height:1.6;font-weight:700}
.customer-reviews .reviews-links a{color:#50c3ed;text-decoration:underline;text-underline-offset:4px}
.review-modal{max-width:620px;width:calc(100% - 40px);max-height:80vh;overflow:auto;background:#fff;color:#293239;border:0;border-radius:8px;padding:32px;box-shadow:0 20px 80px #14232d55}
.review-modal::backdrop{background:#14232d99}
.review-modal h3{font-size:24px;margin:0 0 12px}
.review-modal p{font-size:16px;line-height:1.8;white-space:pre-line}
.review-modal .review-modal-stars{color:#b47700;letter-spacing:3px}
.review-modal button{font:inherit;background:#293239;color:white;border:0;padding:12px 20px;border-radius:4px;cursor:pointer}
@keyframes reviews-drift{to{transform:translateX(-50%)}}
@media(min-width:901px) and (max-width:1100px){.customer-reviews .reviews-links,.customer-reviews .reviews-subhead{font-size:13px}}
@media(max-width:900px){.customer-reviews .reviews-layout{grid-template-columns:minmax(0,1fr);gap:20px}.customer-reviews .reviews-heading,.customer-reviews .reviews-viewport,.customer-reviews .reviews-footer{grid-column:1;grid-row:auto}.customer-reviews .reviews-heading{order:0}.customer-reviews .reviews-viewport{order:1}.customer-reviews .reviews-footer{order:2}}
@media(max-width:600px){.customer-reviews{padding-top:32px;padding-bottom:28px}.customer-reviews .review-card{padding:16px 20px}}
@media(prefers-reduced-motion:reduce){.customer-reviews.reviews-ready .reviews-track{animation:none;transform:none}.customer-reviews.reviews-ready .reviews-viewport{overflow-x:auto}.customer-reviews .reviews-group[aria-hidden="true"]{display:none}}

/* Source: metrics.css */
.trust-metrics{background:#fff;color:#293239;padding:38px 0 28px}
.trust-metrics .trust-metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;width:70%;margin:0 auto;padding:0 0 30px;border-bottom:1px solid #e0e9ed}
.trust-metrics .trust-metrics-grid>div{min-width:0;text-align:center}
.trust-metrics dt{font-family:Ubuntu,Arial,sans-serif;font-size:clamp(34px,3.7vw,48px);font-weight:500;line-height:1.2;color:#009bdf;font-variant-numeric:tabular-nums;white-space:nowrap;margin-bottom:10px}
.trust-metrics dd{font-family:Quicksand,Arial,sans-serif;font-size:16px;font-weight:700;line-height:1.6;margin:0;overflow-wrap:anywhere}
@media(max-width:1000px){.trust-metrics .trust-metrics-grid{width:100%}}
@media(max-width:700px){.trust-metrics .trust-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 20px}.trust-metrics{padding-top:28px;padding-bottom:8px}}

/* Source: regional-layout.css */
/* Homepage regional copy sits between the first and last city names. */
#einsatzgebiet.regional{padding-top:40px;padding-bottom:32px;row-gap:16px}
#einsatzgebiet>.regional-copy{container-type:inline-size;align-self:stretch;display:flex;flex-direction:column;justify-content:space-between;gap:18px;padding:44px 0;min-width:0}
#einsatzgebiet>.regional-copy>.eyebrow{display:block;min-height:0;padding:0;margin:0;font-size:clamp(17.55px,1.89vw,27px);font-size:clamp(17.55px,5.02875cqi,27px);line-height:1.2;letter-spacing:.6px}
/* Grow the heading into the adjacent gaps; retain its original flow height. */
#einsatzgebiet>.regional-copy>h2{--regional-heading-base:clamp(22.95px,2.43vw,35.1px);--regional-heading-base:clamp(22.95px,6.48cqi,35.1px);font-size:calc(var(--regional-heading-base)*1.3);line-height:1.2;margin:calc(var(--regional-heading-base)*-.36) 0;flex-shrink:0}
/* About 15% less space above the closing two lines, without moving the motto. */
#einsatzgebiet>.regional-copy>.regional-tagline{position:relative;top:calc(clamp(18px,4.4vw,60px)*-.15)}
#einsatzgebiet>.regional-copy>.regional-motto{font-size:clamp(13.5px,1.35vw,18.9px);font-size:clamp(13.5px,3.51cqi,18.9px);line-height:1.4;margin:0;text-wrap:initial}
#einsatzgebiet>.regional-copy>.regional-tagline{font-size:clamp(13.5px,1.2825vw,18.225px);font-size:clamp(13.5px,3.375cqi,18.225px);line-height:1.5;margin:0;max-width:none;text-wrap:initial}
#einsatzgebiet>.service-area{margin-top:0}
@media(max-width:760px){#einsatzgebiet.regional{padding-top:28px;padding-bottom:24px;row-gap:22px}#einsatzgebiet>.regional-copy{padding:0;gap:18px}}

/* Equal, smaller white margins around the homepage object overview. */
#branchen.section{padding-top:56px;padding-bottom:56px}
@media(max-width:760px){#branchen.section{padding-top:36px;padding-bottom:36px}}

/* Equal white separation above and below the complete career panel. */
#karriere.career-photo{margin-top:30px}
#karriere.career-photo + #kontakt.contactsection{margin-top:30px}

/* Source: sticky-contact.css */
/* Keep the floating actions outside the introduction and the complete footer area. */
.sticky-contact{background:#293239;opacity:0;visibility:hidden;pointer-events:none}
.sticky-contact[data-visible]{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .18s ease}
.sticky-contact .button{background:#087da7;color:#fff}
.sticky-contact .button:hover{background:#066c92;color:#fff}
@media(prefers-reduced-motion:reduce){.sticky-contact[data-visible]{transition:none}}

/* Source: contact-refinements.css */
/* Contact buttons: the existing text and icon sizes are preserved. */
:root{--compact-contact-height:calc((var(--text-navigation-action,18px)*2.9259 + 24px)*.8)}
.inquiry-actions .button[data-inquiry],.inquiry-actions .button-call,.hero-stage .herotext .inquiry-actions .button{height:var(--compact-contact-height);min-height:var(--compact-contact-height);padding-top:0;padding-bottom:0}
/* Scale the complete floating assembly, including its background and typography. */
.sticky-contact{transform:scale(.8);transform-origin:right bottom}
@media(pointer:coarse){.inquiry-actions .button[data-inquiry],.inquiry-actions .button-call{min-height:44px}}

/* Source: homepage-refinements.css */
/* Stronger supporting text; retain all established heading sizes. */
#leistungen .servicecontent>p{font-size:18px;line-height:1.75;color:#35434c}
#leistungen .service .more,#branchen>p,.steps p{font-size:18px;line-height:1.75}
#leistungen .service .more,.hero-detail-link,#einsatzgebiet .service-area summary{color:#007da9}
.process .steps p{font-size:18px}
.customer-reviews .review-text{font-size:16px;color:#35434c;line-height:1.7}
.customer-reviews .review-person strong{font-size:16px}
.customer-reviews .review-source{color:#53626d}
/* Introduction below the metrics. */
.company-intro{background:#fff;padding:48px 0 48px}
.company-intro .intro-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:32px 48px;align-items:start}
.company-intro h2{margin:0;font-size:clamp(34px,3vw,46px);line-height:1.25;hyphens:none;overflow-wrap:normal}
.company-intro h2 em{display:block;margin-top:24px}
.company-intro p{margin:0;font-size:19px;line-height:1.8;color:#35434c}
.company-intro .intro-copy p+p{margin-top:22px}
.company-intro .intro-heading{grid-column:1;grid-row:1;min-width:0}
.company-intro .intro-copy{grid-column:1;grid-row:2;width:100%;min-width:0}
.company-intro .intro-photo{grid-column:2;grid-row:1/3;align-self:stretch;position:relative;min-width:0;overflow:hidden;border-radius:4px}
.company-intro .intro-photo img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center 40%}

@media(max-width:1000px){.company-intro .intro-grid{column-gap:56px}}
@media(max-width:760px){.company-intro{padding:30px 0 38px}.company-intro .intro-grid{grid-template-columns:1fr;gap:28px}.company-intro p{font-size:18px}.company-intro h2{font-size:34px}.company-intro h2 em{margin-top:20px}.company-intro .intro-copy{max-width:none}}

@media(max-width:760px){.company-intro .intro-photo{grid-column:1;grid-row:3}.company-intro .intro-copy{grid-column:1;grid-row:2}.company-intro .intro-text-break{display:none}}

@media(max-width:1600px){.company-intro .intro-text-break{display:none}.company-intro .intro-text-break:after{content:" "}}

@media(max-width:760px){.company-intro .intro-photo{aspect-ratio:3/2}}

