.gnf-team-grid,.gnf-contact-grid{display:grid;gap:clamp(18px,2.2vw,32px);margin:1.5em 0}
.gnf-team-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.gnf-team-cols-1{grid-template-columns:1fr}.gnf-team-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.gnf-team-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.gnf-contact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.gnf-person{min-width:0;outline-offset:3px;word-wrap:break-word}
.gnf-person:focus-visible{outline:2px solid #008cb4}
.gnf-photo-frame{position:relative;aspect-ratio:1 / 1;overflow:hidden;background:#f3f3f0;border-radius:0}
.gnf-photo{width:100%;height:100%;object-fit:cover;display:block;transition:opacity .28s ease-in-out;object-position:center}
.gnf-photo-serious{position:relative;z-index:1}
.gnf-photo-fun{position:absolute;inset:0;opacity:0;z-index:2;visibility:visible;transform:none}
@media (hover:hover){.gnf-person.gnf-hover-ready:hover .gnf-photo-fun{opacity:1}}
.gnf-person.gnf-hover-ready:focus-visible .gnf-photo-fun{opacity:1}
.gnf-has-hover:hover .gnf-photo-serious,.gnf-has-hover:focus-visible .gnf-photo-serious{opacity:1;transform:none}
.gnf-person-details{padding:.85em 0}
.gnf-person-name{font-size:clamp(1.12rem,1.5vw,1.45rem);line-height:1.2;margin:0 0 .25em;font-weight:700}
.gnf-person-role{font-size:1rem;line-height:1.35;color:#555;margin:0 0 .75em}
.gnf-person-phone,.gnf-person-mail{font-size:.92rem;line-height:1.45;margin:.15em 0;overflow-wrap:anywhere}
.gnf-person a{text-decoration:none}.gnf-person a:hover,.gnf-person a:focus{text-decoration:underline}
.gnf-person-contact{display:grid;grid-template-columns:minmax(78px,112px) minmax(0,1fr);align-items:start;gap:16px}
.gnf-person-contact .gnf-photo-frame{width:100%}.gnf-person-contact .gnf-person-details{padding:0}
.gnf-person-contact .gnf-person-name{font-size:1.15rem}
@media(max-width:980px){.gnf-team-grid,.gnf-team-cols-4,.gnf-team-cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.gnf-team-grid,.gnf-contact-grid,.gnf-team-cols-2,.gnf-team-cols-3,.gnf-team-cols-4{grid-template-columns:1fr}.gnf-person-contact{grid-template-columns:96px minmax(0,1fr)}.gnf-person-details{padding:.65em 0}}
@media(hover:none){.gnf-has-hover:hover .gnf-photo-fun{opacity:0}.gnf-has-hover:hover .gnf-photo-serious{transform:none}}
@media(prefers-reduced-motion:reduce){.gnf-photo{transition:none}.gnf-has-hover:hover .gnf-photo-fun,.gnf-has-hover:focus-visible .gnf-photo-fun{transform:none}}
/* Bereichauswahl – nur im neuen, separaten Verzeichnis */
.gnf-team-directory{width:100%;max-width:100%}
.gnf-team-filters{display:flex;flex-wrap:wrap;gap:5px 6px;margin:0 0 18px;align-items:center}
.gnf-team-filter{appearance:none;-webkit-appearance:none;border:1px solid #d8dcd7;background:#fff;color:#222;padding:6px 9px;border-radius:2px;font-family:inherit;font-size:12px;font-weight:500;line-height:1.35;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s}
.gnf-team-filter:hover,.gnf-team-filter:focus-visible{background:#eaf4dc;border-color:#73bd2a;color:#263214}
.gnf-team-filter.is-active{background:#7cbd32;border-color:#7cbd32;color:#152507}
.gnf-team-filter:focus-visible{outline:2px solid #005b93;outline-offset:3px}
.gnf-team-item[hidden],.gnf-team-empty[hidden]{display:none!important}
.gnf-team-directory .gnf-team-grid{margin-top:0}
.gnf-team-empty{margin:2rem 0;color:#556155}
@media(max-width:600px){.gnf-team-filters{gap:.45rem;margin:1rem 0 1.5rem}.gnf-team-filter{font-size:.87rem;padding:.6rem .72rem}}

/* GNF 1.2.0 — shared DE/EN directory design, not scoped to a translated page ID.
   Contact profiles outside the directory keep their own layout. */
.gnf-team-directory {
  box-sizing:border-box;
  max-width:1110px;
  margin-left:auto;
  margin-right:auto;
  padding-left:8px;
  padding-right:8px;
}
.gnf-team-directory .gnf-team-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  column-gap:25px;
  row-gap:44px;
  margin:0;
  padding:0;
}
.gnf-team-directory .gnf-team-item {display:block;min-width:0;}
.gnf-team-directory .gnf-person-team {
  position:relative;
  isolation:isolate;
  display:flex;
  flex-direction:column;
  min-width:0;
  background:transparent;
  border:0;
  box-shadow:none;
  overflow:visible;
}
.gnf-team-directory .gnf-person-team .gnf-photo-frame {
  position:relative;
  aspect-ratio:1/1;
  width:100%;
  overflow:hidden;
  background:transparent !important;
  box-shadow:none;
  border:0;
  border-radius:0;
}
.gnf-team-directory .gnf-person-team .gnf-photo {
  position:absolute;
  display:block;
  inset:0;
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  object-position:center bottom;
  transform:none;
  background:transparent;
}
.gnf-team-directory .gnf-person-team .gnf-photo-serious {
  z-index:1;
  opacity:1 !important;
  visibility:visible !important;
  transition:none !important;
}
.gnf-team-directory .gnf-person-team .gnf-photo-fun {
  z-index:2;
  opacity:0 !important;
  visibility:visible !important;
  transform:none !important;
  transition:opacity .28s ease-in-out !important;
}
/* The JS applies .gnf-hover-ready only after the second image decodes. */
@media(hover:hover){
  .gnf-team-directory .gnf-person-team.gnf-hover-ready:hover .gnf-photo-fun {opacity:1 !important;}
}
.gnf-team-directory .gnf-person-team.gnf-hover-ready:focus-visible .gnf-photo-fun {opacity:1 !important;}
.gnf-team-directory .gnf-person-team .gnf-person-details {
  box-sizing:border-box;
  position:relative;
  z-index:3;
  width:100%;
  min-height:137px;
  padding:13px 14px 14px !important;
  margin:-15px 0 0 !important;
  background:#00519e !important;
  color:#fff !important;
  border:0;
  border-radius:0;
  box-shadow:none;
}
.gnf-team-directory .gnf-person-team .gnf-person-name {
  font-family:inherit;
  font-size:clamp(15px,1.18vw,18px) !important;
  font-weight:700 !important;
  line-height:1.22 !important;
  letter-spacing:-.013em;
  color:#fff !important;
  margin:0 0 5px !important;
  padding:0 !important;
}
.gnf-team-directory .gnf-person-team .gnf-person-role {
  font-family:inherit;
  color:#eef6ff !important;
  font-size:12.5px !important;
  line-height:1.33 !important;
  font-weight:500 !important;
  letter-spacing:0;
  margin:0 0 9px !important;
  padding:0 !important;
}
.gnf-team-directory .gnf-person-team .gnf-person-phone,
.gnf-team-directory .gnf-person-team .gnf-person-mail {
  display:flex;
  align-items:flex-start;
  gap:7px;
  font-family:inherit;
  font-size:12px !important;
  font-weight:400 !important;
  line-height:1.4 !important;
  margin:4px 0 0 !important;
  padding:0 !important;
  color:#fff !important;
  overflow-wrap:anywhere;
}
.gnf-team-directory .gnf-person-team .gnf-person-phone a,
.gnf-team-directory .gnf-person-team .gnf-person-mail a {
  color:#fff !important;
  text-decoration:none !important;
  border-bottom:1px solid transparent;
  min-width:0;
}
.gnf-team-directory .gnf-person-team .gnf-person-phone a:hover,
.gnf-team-directory .gnf-person-team .gnf-person-mail a:hover {border-bottom-color:#fff;}
.gnf-team-directory .gnf-person-team .gnf-person-phone::before,
.gnf-team-directory .gnf-person-team .gnf-person-mail::before {
  content:"";
  display:block;
  flex:none;
  width:12px;
  height:12px;
  margin-top:2px;
  background-position:center;
  background-repeat:no-repeat;
  background-size:contain;
}
.gnf-team-directory .gnf-person-team .gnf-person-phone::before {
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23cce9ff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6A19.79 19.79 0 0 1 2.12 4.18 2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.68 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.25a2 2 0 0 1 2.11-.45c.91.32 1.85.55 2.81.68A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");
}
.gnf-team-directory .gnf-person-team .gnf-person-mail::before {
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23cce9ff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m22 7-10 7L2 7'/%3E%3C/svg%3E");
}
.gnf-team-directory .gnf-team-filters {display:flex;flex-wrap:wrap;gap:5px 6px;margin:0 0 18px;align-items:center;}
.gnf-team-directory .gnf-team-filter {font-size:12px !important;font-weight:500 !important;line-height:1.25 !important;padding:6px 9px !important;border-radius:2px !important;white-space:nowrap;}
@media(max-width:980px){.gnf-team-directory .gnf-team-grid {grid-template-columns:repeat(2,minmax(0,1fr));max-width:660px;margin:0 auto;}}
@media(max-width:600px){
  .gnf-team-directory .gnf-team-grid {grid-template-columns:minmax(0,1fr);max-width:330px;row-gap:30px;}
  .gnf-team-directory .gnf-person-team .gnf-person-details {min-height:0;}
  .gnf-team-directory .gnf-team-filters {flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;max-width:100%;gap:6px;margin:0 0 16px;padding:1px 0 7px;}
  .gnf-team-directory .gnf-team-filter {flex:0 0 auto;min-height:34px;}
}
@media(prefers-reduced-motion:reduce){.gnf-team-directory .gnf-person-team .gnf-photo-fun {transition:none !important;}}
