/* Einheitliche Navigation für CLYDONIC-FM – kompakt, lesbar und zugänglich. */
:root { --site-header-offset: 86px; }
section[id], #direktkontakt, #kontakt, #ansprechpartner { scroll-margin-top: 104px; }
.nav42-header { height: 86px; }
.nav42-header .header-inner,
.platform-page .nav42-header .header-inner {
  width: min(1440px, calc(100% - 48px));
  min-height: 86px;
  height: 86px;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  gap: 26px;
  padding: 0;
}
.nav42-header .brand,
.platform-page .nav42-header .brand {
  position: relative;
  inset: auto;
  width: 205px;
  height: 58px;
  flex: 0 0 205px;
  overflow: hidden;
  background: white;
}
.nav42-header .brand img {
  position: absolute;
  left: 0;
  top: -30px;
  width: 205px;
  max-width: none;
  height: auto;
}
.nav42-header .nav42-desktop,
.platform-page .nav42-header .nav42-desktop {
  width: auto;
  min-height: 0;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: clamp(14px, 1.5vw, 24px);
  margin-left: auto;
  font-size: 14px;
  font-weight: 750;
  white-space: nowrap;
}
.nav42-header .nav42-desktop > a:not(.nav42-cta),
.nav42-header .nav42-group > summary {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 4px 0;
  border: 0;
  border-bottom: 2px solid transparent;
  color: #173247;
  opacity: 1;
  line-height: 1.2;
  transition: color .2s, border-color .2s;
}
.nav42-header .nav42-desktop > a:not(.nav42-cta):hover,
.nav42-header .nav42-desktop > a:not(.nav42-cta):focus-visible,
.nav42-header .nav42-group > summary:hover,
.nav42-header .nav42-group > summary:focus-visible,
.nav42-header .nav42-desktop > a[aria-current="page"],
.nav42-header .nav42-group.nav42-active > summary {
  color: #006f83;
  border-bottom-color: #1bb7c1;
}
.nav42-header .nav42-group { position: relative; }
.nav42-header .nav42-group > summary { gap: 7px; cursor: pointer; list-style: none; }
.nav42-header .nav42-group > summary::-webkit-details-marker { display: none; }
.nav42-header .nav42-group > summary span { color: #43939e; font-size: 19px; line-height: .7; transition: transform .2s; }
.nav42-header .nav42-group[open] > summary span { transform: rotate(180deg); }
.nav42-header .nav42-panel {
  position: absolute;
  top: calc(100% + 12px);
  z-index: 110;
  padding: 22px;
  border: 1px solid #dce8ea;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 24px 65px rgba(7, 35, 51, .18);
  white-space: normal;
}
.nav42-header .nav42-panel-services { left: 50%; width: min(650px, 90vw); transform: translateX(-50%); }
.nav42-header .nav42-panel-company { right: 0; width: 355px; }
.nav42-header .nav42-panel-label { margin: 0 0 11px; color: #087e8c; font-size: 10px; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.nav42-header .nav42-panel-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
.nav42-header .nav-card { display: block; padding: 12px 13px; border-radius: 10px; opacity: 1; }
.nav42-header .nav-card:hover,
.nav42-header .nav-card:focus-visible,
.nav42-header .nav-card[aria-current="page"] { color: #063f7b; background: #e9f6f7; }
.nav42-header .nav-card strong,
.nav42-header .nav-card span { display: block; }
.nav42-header .nav-card strong { font-size: 13px; line-height: 1.25; }
.nav42-header .nav-card span { margin-top: 3px; color: #657884; font-size: 11px; line-height: 1.4; }
.nav42-header .nav42-desktop .nav42-cta,
.platform-page .nav42-header .nav42-desktop .nav42-cta {
  position: static;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 45px;
  padding: 10px 17px;
  color: #fff;
  background: #063f7b;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 800;
  opacity: 1;
  box-shadow: none;
}
.nav42-header .nav42-desktop .nav42-cta:hover { color: white; background: #075883; }
.nav42-header .nav42-desktop a:focus-visible,
.nav42-header summary:focus-visible,
.nav42-header button:focus-visible,
.nav42-header .nav42-contact-shortcut:focus-visible,
.nav42-mobile a:focus-visible { outline: 3px solid #17b5bf; outline-offset: 3px; }
.nav42-header .nav42-contact-shortcut { display: none; }
@media (max-width: 1220px) {
  :root { --site-header-offset: 78px; }
  .nav42-header { height: 78px; }
  .nav42-header .header-inner,
  .platform-page .nav42-header .header-inner { height: 78px; min-height: 78px; }
  .nav42-header .nav42-desktop,
  .platform-page .nav42-header .nav42-desktop { display: none; }
  .nav42-header .header-mobile-actions { display: flex; margin-left: auto; }
  .nav42-header .nav42-contact-shortcut {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 7px 13px;
    border: 1px solid #b8d8dc;
    border-radius: 999px;
    color: #073b64;
    background: #eef9fa;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
  }
  .menu-open .nav42-contact-shortcut { visibility: hidden; }
  .nav42-mobile { padding: 105px max(24px, calc((100vw - 760px)/2)) 40px; gap: 0; font-size: 18px; }
  .nav42-mobile > a { display: block; padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,.11); line-height: 1.28; }
  .nav42-mobile > a[aria-current="page"] { color: #8ce8e9; }
  .nav42-mobile .mobile-pilot { display: flex; justify-content: space-between; margin: 0 0 13px; padding: 15px 18px; border: 0; font-size: 17px; }
  .nav42-mobile-label { display: block; margin: 19px 0 3px; color: #7bdce0; font-size: 10px; font-weight: 900; letter-spacing: .17em; text-transform: uppercase; }
}
@media (max-width: 760px) {
  .nav42-header .header-inner,
  .platform-page .nav42-header .header-inner { width: calc(100% - 28px); }
  .nav42-header .brand,
  .platform-page .nav42-header .brand { width: 178px; height: 53px; flex-basis: 178px; }
  .nav42-header .brand img { width: 178px; top: -26px; }
}
@media (max-width: 360px) {
  .nav42-header .brand,
  .platform-page .nav42-header .brand { width: 150px; flex-basis: 150px; }
  .nav42-header .brand img { width: 150px; top: -22px; }
  .nav42-header .nav42-contact-shortcut { padding-inline: 10px; font-size: 12px; }
}
@media (max-width: 820px) {
  .seo-page .seo-hero-grid { grid-template-columns: minmax(0, 1fr); }
  .seo-page .seo-hero-grid > * { min-width: 0; }
  .seo-page .seo-hero h1 { max-width: 100%; hyphens: auto; overflow-wrap: anywhere; }
  .seo-page .seo-hero-lead { max-width: 100%; }
}
.resident-more { margin: 27px 0 0; }
.resident-more .button { gap: 10px; text-align: center; }
.contact-team-heading .contact-team-about-link {
  display: inline-block;
  margin-top: 14px;
  color: #006c87;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.45;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.contact-team .contact-team-portrait {
  width: 72px;
  flex: 0 0 72px;
  margin: 0;
}
.contact-team .contact-team-portrait .contact-team-photo { display: block; }
.contact-team .contact-team-portrait figcaption {
  margin-top: 7px;
  color: #087d8b;
  font-size: 10px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: .02em;
  text-align: center;
}
