/* MORE SPACES homepage. Shared header, footer and contact styles precede this file. */
:root { --home-orange: #ffa31a; }
html { scroll-padding-top: var(--home-header-offset, 140px); }
body { margin: 0; height: auto; min-height: 100vh; }
.home-header { position: relative; z-index: 30; background: #fff; box-shadow: 0 1px 0 #e6e6e6; }
.home-header .sp-header { border-bottom: 0; }
.home-header-contact { display: none; }
.home-sticky-contact { position: fixed; top: 0; left: 0; right: 0; z-index: 30; height: 49px; padding: 4px 16px; display: flex; justify-content: flex-end; background: #fff; border-bottom: 1px solid #e6e6e6; transform: translateY(-100%); visibility: hidden; transition: transform .3s cubic-bezier(.42,0,.48,1), visibility .3s; }
.home-sticky-contact.is-visible { transform: translateY(0); visibility: visible; }
.home-sticky-contact button, .home-header-contact { height: 40px; padding: 5px 24px; border: 1px solid #0d0d0d; background: #0d0d0d; color: #fff; font-size: 16px; line-height: 28px; letter-spacing: normal; }
.home-section { max-width: 1208px; margin: 0 auto; padding: 48px 16px; }
.home-intro { text-align: center; max-width: 920px; margin: 0 auto 48px; }
.home-intro.narrow { max-width: 650px; }
.home-overline { text-transform: uppercase; font-size: 12px; line-height: 20px; letter-spacing: 2px; margin: 0 0 16px; color: #696969; }
.home-intro h2 { font-family: var(--font-family-heading), 'Fallback Georgia', 'Times New Roman', Times, serif; font-weight: 700; font-size: 28px; line-height: 36px; margin: 0 0 24px; }
.home-lead { font-size: 18px; line-height: 32px; letter-spacing: .48px; margin: 0; }
main #start h1 { font-weight: 700; }
#buero .hHNBZR { opacity: 1; }
.home-step-tabs, .home-step-navigation { display: none; }
.home-step-toggle { width: 100%; display: flex; align-items: center; gap: 12px; padding: 24px 0; border: 0; border-top: 1px solid #dedede; background: #fff; text-align: left; letter-spacing: 1.5px; text-transform: uppercase; font-size: 12px; color: #333; }
.home-step-toggle > svg { display: none; }
.home-step-toggle .plus { margin-left: auto; }
.plus { position: relative; display: block; width: 24px; height: 24px; flex: 0 0 24px; }
.plus::before, .plus::after { content: ''; position: absolute; background: currentColor; left: 4px; right: 4px; top: 11.5px; height: 1px; }
.plus::after { transform: rotate(90deg); }
[aria-expanded=true] .plus::after, details[open] .plus::after { display: none; }
.home-step-panel { display: grid; gap: 24px; padding-bottom: 32px; }
.home-step-body { display: contents; }
.home-step-panel img { width: 100%; height: auto; aspect-ratio: 1130 / 752; object-fit: cover; }
.home-step-panel h3 { font-family: var(--font-family-heading), 'Fallback Georgia', 'Times New Roman', Times, serif; font-size: 24px; font-weight: 700; line-height: 32px; margin: 0 0 16px; }
.home-step-panel p { margin: 0; font-size: 16px; line-height: 28px; letter-spacing: .48px; }
.home-regions { background: #faf9f5; margin-top: 64px; }
.home-accordion { border-top: 1px solid #ddd; }
.home-accordion:last-child { border-bottom: 1px solid #ddd; }
.home-accordion summary { display: flex; gap: 24px; justify-content: space-between; align-items: center; cursor: pointer; list-style: none; padding: 24px 0; font-size: 18px; line-height: 32px; letter-spacing: normal; }
.home-accordion summary::-webkit-details-marker { display: none; }
.home-city-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px 24px; list-style: none; padding: 0 0 28px; margin: 0; }
.home-city-list a { color: #303030; text-decoration: underline; text-underline-offset: 3px; font-size: 16px; line-height: 24px; letter-spacing: .48px; }
.home-city-list li { overflow-wrap: anywhere; }
.home-contact { max-width: 1208px; margin: 0 auto; padding: 64px 16px calc(var(--distance-static-l) + var(--distance-dynamic-s)); text-align: center; }
.home-contact-card { background: #faf9f5; padding: 32px 24px 40px; max-width: 760px; margin: 0 auto; }
.home-contact-card > img { border-radius: 50%; width: 96px; height: 96px; object-fit: cover; }
.home-contact-card p { font-size: 14px; line-height: 24px; letter-spacing: .48px; }
.home-contact-card strong { font-family: var(--font-family-heading), 'Fallback Georgia', 'Times New Roman', Times, serif; font-size: 20px; line-height: 28px; font-weight: 700; letter-spacing: normal; }
.home-contact-card a { color: inherit; text-underline-offset: 4px; }
.home-primary { height: 48px; padding: 0 32px; display: inline-flex; justify-content: center; align-items: center; background: #ffa31a; color: #fff; border: 1px solid #ffa31a; min-width: 200px; font-size: 16px; line-height: 28px; }
.home-primary:hover { filter: brightness(.97); }
.home-contact-dialog { width: min(760px,calc(100% - 32px)); max-height: calc(100dvh - 32px); border: 0; padding: 48px 24px 24px; overflow: auto; }
.home-contact-dialog::backdrop { background: #0009; }
.home-contact-dialog form { margin: 0; padding: 0; }
.home-contact-dialog .form-status { margin-bottom: 0; }
.home-dialog-close { position: absolute; right: 12px; top: 12px; border: 0; width: 40px; height: 40px; display: flex; justify-content: center; align-items: center; padding: 8px; background: transparent; color: inherit; z-index: 3; }
.home-lightbox { width: 100vw; height: 100dvh; max-width: none; max-height: none; margin: 0; border: 0; padding: 48px 0 16px; background: #fff; }
.home-lightbox[open] { display: flex; flex-direction: column; }
.home-lightbox-stage { position: relative; flex: 1; min-height: 0; display: flex; align-items: center; justify-content: center; touch-action: pan-y; }
.home-lightbox-stage img { width: auto; height: auto; max-height: 100%; max-width: 100%; object-fit: contain; }
.home-lightbox-stage button { width: 44px; height: 44px; border: 0; border-radius: 50%; background: #fffffff2; position: absolute; top: 50%; margin-top: -22px; font-size: 30px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px #0002; }
#gallery-prev { left: 12px; } #gallery-next { right: 12px; }
#gallery-counter { text-align: center; font-size: 14px; margin: 12px 0 0; }
#account-content { margin-top: 32px; }
.home-saved-item { display: flex; align-items: center; gap: 8px; border-bottom: 1px solid #eee; padding: 12px 0; }
.home-saved-item a { min-width: 0; flex: 1; display: flex; align-items: center; gap: 12px; color: #222; text-decoration: none; }
.home-saved-item img { width: 80px; height: 64px; object-fit: cover; flex-shrink: 0; }
.home-saved-item strong { font-size: 14px; font-weight: 400; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.home-saved-item small { font-size: 13px; display: block; margin-top: 6px; }
.home-saved-item button { border: 0; background: transparent; font-size: 20px; padding: 8px; }
.home-header .clone-login { cursor: pointer; }
#faq [aria-expanded=true] + div { display: block; }
#faq [aria-expanded=false] + div { display: none; }
#faq [aria-expanded=true] svg:last-child { display: none; }
#faq [aria-expanded=false] svg:nth-last-child(2) { display: none; }
#faq button { text-align: left; }
#faq button h3 { font-family: var(--font-family-text), Arial, Helvetica, sans-serif; font-weight: 400; }
#faq [id^=faq-answer-] p { font-family: var(--font-family-text), Arial, Helvetica, sans-serif; font-size: 16px; line-height: 28px; letter-spacing: .48px; font-weight: 400; }
@media (min-width: 905px) {
  .home-header { position: sticky; top: 0; transition: transform .3s cubic-bezier(.42,0,.48,1); }
  .home-header.is-compact { transform: translateY(calc(-1 * var(--home-logo-row-height, 72px))); }
  .home-header .ms-ui-header-inner { position: relative; }
  .home-header-contact { display: flex; align-items: center; justify-content: center; position: absolute; right: 40px; bottom: 11px; }
  .home-header .ms-ui-header-navigation { padding-right: 210px; }
  .home-sticky-contact { display: none; }
  .home-section { padding: 72px 40px; }
  .home-intro h2 { font-size: 32px; line-height: 40px; }
  .home-lead { font-size: 20px; }
  .home-workflow .home-intro h2 { font-size: 32px; }
  .home-step-tabs { display: grid; grid-template-columns: repeat(8,minmax(0,1fr)); margin: 56px 0 48px; border-bottom: 1px solid #ddd; }
  .home-step-tabs button { position: relative; display: flex; flex-direction: column; align-items: center; gap: 12px; background: #fff; color: #666; border: 0; padding: 0 0 12px; font-size: 14px; line-height: 20px; letter-spacing: .42px; }
  .home-step-tabs button[aria-selected=true] { color: #222; }
  .home-step-tabs button[aria-selected=true]::after { content: ''; position: absolute; bottom: -1px; height: 1px; left: 0; right: 0; background: #ffa31a; }
  .home-step-tabs i { position: absolute; width: 6px; height: 6px; border-radius: 50%; background: #ddd; bottom: -3px; outline: 3px solid #fff; }
  .home-step-tabs [aria-selected=true] i { background: #ffa31a; border-radius: 0; transform: rotate(45deg); }
  .home-step-toggle { display: none; }
  .home-step-panel { grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; padding-bottom: 0; }
  .home-step-panel h3 { font-size: 28px; line-height: 36px; }
  .home-step-navigation { display: flex; justify-content: center; align-items: center; gap: 24px; margin-top: 32px; }
  .home-step-navigation button { width: 40px; height: 40px; background: transparent; color: #222; border: 0; font-size: 26px; }
  .home-step-navigation button:disabled { opacity: .25; cursor: default; }
  #step-counter { font-size: 12px; color: #777; }
  .home-city-list { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .home-accordion summary { font-size: 20px; }
  .home-contact { padding: 72px 40px calc(var(--distance-static-l) + var(--distance-dynamic-s)); }
  .home-contact-card { padding: 48px 40px; }
  .home-contact-dialog { padding: 56px 48px 40px; }
}
@media (min-width: 1200px) {
}
@media (prefers-reduced-motion: reduce) {
  .home-header, .home-sticky-contact { transition: none; }
}
@media (max-width: 904px) {
  html { scroll-padding-top: var(--home-header-offset, 72px); }
  .home-header .sp-header { position: static; }
  .home-contact-dialog { padding: 52px 16px 24px; width: calc(100% - 16px); max-height: calc(100dvh - 16px); }
  .home-contact-dialog h2 { font-size: 28px; }
  .home-workflow { padding: 24px 16px 56px; }
  .home-workflow .home-intro { max-width: none; margin: 0 0 40px; text-align: left; }
  .home-workflow .home-overline { margin-bottom: 12px; letter-spacing: 2px; color: #666; }
  .home-workflow .home-intro h2 { font-size: 28px; line-height: 36px; font-weight: 700; margin-bottom: 24px; color: #404040; }
  .home-workflow .home-lead { font-size: 18px; line-height: 32px; letter-spacing: .48px; color: #404040; }
  .home-step-toggle { position: relative; display: grid; grid-template-columns: 48px minmax(0,1fr) 24px; align-items: center; gap: 0; min-height: 72px; padding: 12px 0 12px 24px; border: 0; color: #666; letter-spacing: 2px; line-height: 20px; }
  .home-step-toggle > svg { display: block; width: 48px; height: 48px; }
  .home-step-toggle > span:not(.plus) { padding-left: 12px; }
  .home-step-toggle .plus { margin: 0; }
  .home-step-toggle::before, .home-step-panel::before { content: ''; position: absolute; top: 0; bottom: 0; left: 5px; width: 1px; background: #e5e5e5; }
  .home-step-toggle::after { content: ''; position: absolute; top: 33px; left: 2px; width: 6px; height: 6px; border-radius: 50%; background: #e5e5e5; box-shadow: 0 -3px 0 #fff, 0 3px 0 #fff; transform: rotate(45deg); }
  .home-step-toggle[aria-expanded=true] { color: #262626; }
  .home-step-toggle[aria-expanded=true]::before, .home-step-toggle[aria-expanded=true]::after, .home-step-panel[data-expanded=true]::before { background: #ffa31a; }
  .home-step-toggle[aria-expanded=true]::after { border-radius: 0; }
  .home-step-panel { position: relative; grid-template-columns: minmax(0,1fr); grid-template-rows: 0fr; gap: 0; padding: 0; opacity: 0; transition: grid-template-rows 400ms ease-in-out, opacity 400ms ease-in-out; }
  .home-step-panel[data-expanded=true] { grid-template-rows: 1fr; opacity: 1; }
  .home-step-body { display: block; min-height: 0; overflow: hidden; margin-left: 24px; }
  .home-step-body img { display: block; }
  .home-step-panel h3 { font-size: 24px; line-height: 32px; font-weight: 700; margin: 24px 0 16px; color: #404040; }
  .home-step-panel p { font-size: 16px; line-height: 28px; letter-spacing: .48px; margin: 0 0 24px; color: #404040; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .home-step-panel { transition: none; } }


/* FAQ answer paragraphs and lists follow the existing body typography. */
#faq [id^="faq-answer-"] p, #faq [id^="faq-answer-"] ul { margin: 0 0 16px; }
#faq [id^="faq-answer-"] ul { padding-left: 24px; font-family: var(--font-family-text), Arial, Helvetica, sans-serif; font-size: 16px; line-height: 28px; letter-spacing: .48px; list-style: disc; }
#faq [id^="faq-answer-"] li + li { margin-top: 4px; }
#faq [id^="faq-answer-"] > :last-child { margin-bottom: 0; }
/* Magazine gallery: fixed reference proportions, independent of source image size. */
#galerie .dZELwh { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-areas: "bigImage-0 bigImage-0" "smallImage-0 smallImage-1"; gap: 16px; align-items: stretch; }
#galerie .dZELwh > button { position: relative; display: block; width: 100%; min-width: 0; min-height: 0; padding: 0; border: 0; aspect-ratio: 644 / 429; }
#galerie .dZELwh > button:first-child { aspect-ratio: 16 / 9; }
#galerie .dZELwh > button > span,
#galerie .dZELwh .hHNBZR,
#galerie .dZELwh .cuSxXn { position: absolute; inset: 0; display: block; width: 100%; height: 100%; opacity: 1; overflow: hidden; }
#galerie .dZELwh img { display: block; position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
@media (min-width: 905px) {
  #galerie .dZELwh { grid-template-columns: calc(70.3297% - 4px) calc(29.6703% - 13px); grid-template-areas: "bigImage-0 smallImage-0" "bigImage-0 smallImage-1"; }
  #galerie .dZELwh > button:first-child { aspect-ratio: auto; }
}
#galerie { box-sizing: content-box; min-width: 0; }

/* Pexels-Fotos in den bestehenden Bildrahmen. */
#start img { object-fit: cover; object-position: 70% center; }
#netzwerk-bilder .hHNBZR { opacity: 1; }
#netzwerk-bilder img { width: 100%; height: 100%; object-fit: cover; }
#netzwerk-bilder .emPUHX img { object-position: center 25%; }
#ablauf img[src$="8730028.jpg"] { object-position: center 35%; }
#ablauf img[src$="8730038.jpg"] { object-position: center 40%; }
#netzwerk-bilder .iqrYFT > span,
#netzwerk-bilder .emPUHX > span,
#netzwerk-bilder .byLRZy > span,
#netzwerk-bilder .hHNBZR,
#netzwerk-bilder .cuSxXn { position: absolute; inset: 0; display: block; width: 100%; height: 100%; overflow: hidden; }
#netzwerk-bilder img { position: absolute; inset: 0; }

#start img { object-position: 65% center; }
#netzwerk-bilder .emPUHX img { object-position: center 30%; }

/* Prozessmotive: vorhandene Rahmen, eigener Ausschnitt der Broschüre. */
#ablauf img[src$="6143826.jpg"] { object-position: center 50%; }

#netzwerk-bilder .emPUHX img { object-position: center; }

/* Desktop quick links: compact row and accessible overflow menu. */
.home-more-links[hidden] { display: none; }
@media (min-width: 905px) {
 .home-header .home-primary-links { gap: clamp(8px, 1.5vw, 24px); flex-shrink: 1; flex-wrap: nowrap; }
 .home-primary-links > li { flex: 0 0 auto; }
 .home-primary-links .gHOLir { white-space: nowrap; padding-left: 4px; padding-right: 4px; }
 .home-nav-more { position: relative; }
 .home-more-toggle { background: transparent; border: 0; cursor: pointer; font: inherit; color: inherit; display: flex !important; align-items: center; gap: 8px; }
 .home-more-toggle:focus-visible, .home-more-links a:focus-visible { outline: 2px solid #404040; outline-offset: 3px; }
 .home-more-links { position: absolute; top: 100%; right: 0; min-width: 260px; padding: 8px 0; margin: 0; list-style: none; background: #fff; border: 1px solid #e5e5e5; box-shadow: 0 8px 24px #0002; z-index: 20; }
 .home-more-links a { display: block; padding: 12px 20px; color: #404040; text-decoration: none; white-space: nowrap; }
 .home-more-links a:hover { background: #f6f6f4; }
 .home-more-chevron { display: block; flex: 0 0 16px; align-self: center; }
 .home-more-network, .home-more-advice { display: none; }
 .home-primary-links.is-advice-overflow > .home-nav-advice { display: none; }
 .home-primary-links.is-advice-overflow .home-more-advice { display: block; }
 .home-primary-links.is-condensed > .home-nav-network { display: none; }
 .home-primary-links.is-condensed .home-more-network { display: block; }
}
