/* LHB Landingpage 1.0
   Eigener Seitentyp "kuratierte Portalseite". Nutzt ausschließlich globale
   Design-Tokens und bestehende Button-, Formular-, Medien- und Heading-Regeln. */

.home{
  background:var(--weiss);
}

.home img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

.home-kicker,
.home-section__kicker,
.home-current-card__type,
.home-knowledge-card__type{
  font-family:var(--lhb-font-display);
  font-size:11px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:var(--lila);
}

.home-hero{
  display:grid;
  grid-template-columns:minmax(0, .9fr) minmax(0, 1.1fr);
  min-height:500px;
  border-bottom:var(--linie) solid var(--lhb-line-color);
}

.home-hero__content{
  padding:clamp(42px,5vw,76px) clamp(30px,4vw,64px);
  display:flex;
  flex-direction:column;
  justify-content:center;
  border-right:var(--linie) solid var(--lhb-line-color);
  background:
    radial-gradient(circle at 8% 88%, var(--lhb-surface-accent-10) 0 1px, transparent 1.5px) 0 0/15px 15px,
    linear-gradient(135deg,var(--weiss) 55%,var(--lhb-surface-accent-1));
}

.home-hero__title{
  margin:12px 0 22px;
  max-width:670px;
  font-family:var(--lhb-font-display);
  font-size:clamp(39px,4.4vw,68px);
  line-height:1.02;
  font-weight:800;
  letter-spacing:-.035em;
  text-transform:uppercase;
}

.home-hero__title em{
  color:var(--flieder);
  font-style:italic;
}

.home-hero__text{
  max-width:650px;
  font-size:17px;
  line-height:1.68;
  color:var(--lhb-color-text-soft);
}

.home-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:28px;
}

.home-hero__mosaic{
  min-width:0;
  min-height:500px;
  display:grid;
  grid-template-columns:minmax(0,1.5fr) minmax(220px,.82fr);
  grid-template-rows:1fr 1fr;
  background:var(--schwarz);
  gap:var(--linie);
}

.home-hero__image{
  position:relative;
  min-width:0;
  min-height:0;
  margin:0;
  overflow:hidden;
  background:var(--lhb-neutral-150);
}

.home-hero__image--main{grid-row:1 / 3;}
.home-hero__image img{transition:transform .45s ease;}
.home-hero__image:hover img{transform:scale(1.025);}
.home-hero__image--main img{object-position:center center;}
.home-hero__image--top img{object-position:center 48%;}
.home-hero__image--bottom img{object-position:center 50%;}

.home-section{
  border-bottom:var(--linie) solid var(--lhb-line-color);
}

.home-section__head{
  min-height:104px;
  padding:24px clamp(26px,3.4vw,50px);
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:30px;
  border-bottom:var(--linie) solid var(--lhb-line-color);
}

.home-section__title,
.home-network__title,
.home-contact__title{
  font-family:var(--lhb-font-display);
  font-size:clamp(28px,3vw,43px);
  line-height:1.07;
  font-weight:800;
  letter-spacing:-.025em;
  text-transform:uppercase;
}

.home-section__kicker{margin-bottom:8px;}

.home-section__link{
  flex:0 1 auto;
  max-width:100%;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding-bottom:4px;
  border-bottom:var(--lhb-line-width-medium) solid var(--lhb-line-color);
  font-family:var(--lhb-font-display);
  font-size:11px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:normal;
}
.home-section__link:hover{color:var(--lila);border-color:var(--lila);}

.home-current__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  background:var(--lhb-line-color);
  gap:var(--linie);
}

.home-current-card{
  min-width:0;
  display:grid;
  grid-template-rows:230px 1fr;
  background:var(--weiss);
}

.home-current-card__media{
  overflow:hidden;
  border-bottom:var(--lhb-line-width-medium) solid var(--lhb-line-color);
  background:var(--lhb-neutral-150);
}
.home-current-card__media img{transition:transform .35s ease;}
.home-current-card:hover .home-current-card__media img{transform:scale(1.025);}

.home-current-card__body{
  min-height:250px;
  padding:24px 26px 26px;
  display:flex;
  flex-direction:column;
}

.home-current-card__type{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:14px;
}
.home-current-card__type i{font-size:17px;}

.home-current-card h3{
  font-family:var(--lhb-font-display);
  font-size:clamp(20px,1.55vw,25px);
  line-height:1.18;
  font-weight:800;
  letter-spacing:-.015em;
  text-transform:uppercase;
  hyphens:none;
  word-break:normal;
  overflow-wrap:normal;
}

.home-current-card__meta,
.home-current-card__text{
  margin-top:14px;
  font-size:14px;
  line-height:1.55;
  color:var(--lhb-color-text-soft);
}

.home-current-card__actions{
  margin-top:auto;
  padding-top:22px;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:9px 18px;
}
.home-current-card__actions a{
  display:inline-flex;
  align-items:center;
  gap:7px;
  width:max-content;
  max-width:100%;
  font-family:var(--lhb-font-display);
  font-size:11px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--lila);
}
.home-current-card__actions a:hover{color:var(--schwarz);}
.home-current-card__actions .home-current-card__archive-link{
  color:var(--lhb-neutral-625);
  font-size:10px;
}
.home-current-card__actions .home-current-card__archive-link:hover{color:var(--lila);}

.home-work__grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  background:var(--lhb-line-color);
  gap:var(--linie);
}

.home-work-card{
  min-width:0;
  display:grid;
  grid-template-rows:190px 1fr;
  background:var(--weiss);
  transition:background .2s ease;
}
.home-work-card:is(:hover,:focus-visible){background:var(--lhb-surface-navigation-hover);color:var(--schwarz);}

.home-work-card__image{
  overflow:hidden;
  border-bottom:var(--lhb-line-width-medium) solid var(--lhb-line-color);
  background:var(--lhb-neutral-150);
}
.home-work-card__image img{transition:transform .35s ease;}
.home-work-card:is(:hover,:focus-visible) .home-work-card__image img{transform:scale(1.03);}

.home-work-card__body{
  position:relative;
  min-height:280px;
  padding:35px 18px 23px;
}

.home-work-card__icon{
  position:absolute;
  left:18px;
  top:-27px;
  width:54px;
  height:54px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:var(--linie) solid var(--lhb-line-color);
  border-radius:50%;
  background:var(--lila);
  color:var(--weiss);
  font-size:23px;
}

.home-work-card h3{
  min-height:74px;
  font-family:var(--lhb-font-display);
  font-size:15px;
  line-height:1.24;
  font-weight:800;
  text-transform:uppercase;
  hyphens:none;
  word-break:normal;
  overflow-wrap:normal;
}

.home-work-card p{
  margin-top:12px;
  font-size:13px;
  line-height:1.55;
  color:var(--lhb-color-text-soft);
}

.home-network{
  display:grid;
  grid-template-columns:minmax(330px,.72fr) minmax(0,1.28fr);
  min-height:470px;
  border-bottom:var(--linie) solid var(--lhb-line-color);
  background:var(--lhb-surface-accent-1);
}

.home-network__content{
  padding:clamp(38px,4.5vw,66px) clamp(28px,4vw,58px);
  display:flex;
  flex-direction:column;
  justify-content:center;
  border-right:var(--linie) solid var(--lhb-line-color);
}

.home-network__content>p:not(.home-section__kicker):not(.home-network__number){
  max-width:560px;
  margin-top:18px;
  font-size:16px;
  line-height:1.65;
  color:var(--lhb-color-text-soft);
}

.home-network__number{
  margin:26px 0 24px;
  display:flex;
  align-items:flex-end;
  gap:14px;
}
.home-network__number strong{
  font-family:var(--lhb-font-display);
  font-size:clamp(54px,6vw,84px);
  line-height:.83;
  letter-spacing:-.055em;
  color:var(--lila);
}
.home-network__number span{
  max-width:160px;
  font-family:var(--lhb-font-display);
  font-size:11px;
  line-height:1.25;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.home-network__content .lhb-button{align-self:flex-start;}

.home-network__map{
  position:relative;
  min-height:470px;
  padding:25px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:
    linear-gradient(90deg,rgba(255,255,255,.5),rgba(255,255,255,.04)),
    var(--lhb-surface-accent-8);
}
.home-network__map-frame{
  position:relative;
  width:min(100%,510px);
  aspect-ratio:614 / 786;
  flex:0 1 auto;
}
.home-map__base,
.home-network__map-frame svg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
}
.home-map__base{
  object-fit:contain;
  filter:grayscale(1) saturate(0) contrast(.84) brightness(1.08);
  opacity:.74;
  z-index:1;
}
.home-network__map-frame svg{
  overflow:visible;
  color:var(--lila);
  pointer-events:none;
  z-index:3;
}
.home-map-point{fill:var(--lila);stroke:var(--weiss);stroke-width:2.1;opacity:.86;transition:fill .22s ease,stroke .22s ease,opacity .22s ease;}
.home-map-point--mittelbar{fill:var(--weiss);stroke:var(--lila);stroke-width:3;}
.home-map-point--netzwerkmitglied{fill:var(--flieder);}
.home-network__cta{
  align-self:flex-start;
  margin-top:4px;
}
.home-network__map-meta{
  position:absolute;
  left:14px;
  bottom:10px;
  z-index:5;
  display:grid;
  gap:3px;
  max-width:min(370px,calc(100% - 28px));
  pointer-events:none;
}
.home-network__city-note,
.home-network__map-credit{
  position:static;
  display:block;
  max-width:none;
  font-family:var(--lhb-font-body);
  font-size:var(--lhb-type-credit-size);
}
.home-network__city-note{line-height:1.35;color:var(--lhb-neutral-575);}
.home-network__map-credit{line-height:1.25;color:var(--lhb-neutral-500);}

.home-knowledge__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  background:var(--weiss);
  gap:0;
}

.home-knowledge-card{
  min-width:0;
  min-height:300px;
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(150px,.8fr);
  border-left:var(--linie) solid var(--lhb-line-color);
  background:var(--weiss);
  overflow:hidden;
}
.home-knowledge-card:first-child{border-left:0;}
.home-knowledge-card__body{
  min-width:0;
  padding:27px 24px;
  display:flex;
  flex-direction:column;
  position:relative;
  z-index:1;
}
.home-knowledge-card__type{display:flex;align-items:center;gap:7px;margin-bottom:16px;}
.home-knowledge-card h3{
  font-family:var(--lhb-font-display);
  font-size:clamp(18px,1.45vw,23px);
  line-height:1.22;
  font-weight:800;
  text-transform:uppercase;
  hyphens:none;
  word-break:normal;
  overflow-wrap:normal;
}
.home-knowledge-card__body>span{
  margin-top:auto;
  padding-top:28px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  font-family:var(--lhb-font-display);
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--lila);
}
.home-knowledge-card__image{min-width:0;overflow:hidden;background:var(--lhb-neutral-150);}
.home-knowledge-card__image img{transition:transform .35s ease;}
.home-knowledge-card:is(:hover,:focus-visible) .home-knowledge-card__image img{transform:scale(1.04);}
.home-knowledge-card__image--cover{padding:22px 16px;background:var(--lhb-surface-accent-1);}
.home-knowledge-card__image--cover img{object-fit:contain;}

.home-contact{
  display:grid;
  grid-template-columns:1fr 1fr;
  border-bottom:var(--linie) solid var(--lhb-line-color);
}
.home-contact__intro,
.home-contact__newsletter{
  min-width:0;
  padding:clamp(36px,4.5vw,62px) clamp(28px,4vw,58px);
}
.home-contact__intro{border-right:var(--linie) solid var(--lhb-line-color);}
.home-contact__title{margin-top:8px;max-width:620px;}
.home-contact__intro>p:not(.home-section__kicker),
.home-contact__newsletter>p:not(.home-section__kicker){
  max-width:600px;
  margin:18px 0 24px;
  font-size:15px;
  line-height:1.65;
  color:var(--lhb-color-text-soft);
}
.home-newsletter{max-width:650px;}
.home-newsletter__row{display:grid;grid-template-columns:1fr auto;}
.home-newsletter__row .lhb-form__control{border-right:0;min-height:var(--lhb-control-height);}
.home-newsletter__row .lhb-button{min-height:var(--lhb-control-height);}
.home-newsletter .lhb-form__hint{margin-top:9px;}


@media (max-width:1180px){
  .home-work__grid{grid-template-columns:repeat(3,minmax(0,1fr));}
  .home-work-card__body{min-height:235px;}
  .home-work-card h3{min-height:58px;font-size:17px;}
  .home-knowledge__grid{grid-template-columns:1fr;}
  .home-knowledge-card{min-height:230px;grid-template-columns:minmax(0,1.4fr) minmax(220px,.6fr);border-left:0;border-top:var(--linie) solid var(--lhb-line-color);}
  .home-knowledge-card:first-child{border-top:0;}
}

@media (max-width:900px){
  .home-hero{grid-template-columns:1fr;}
  .home-hero__content{border-right:0;border-bottom:var(--linie) solid var(--lhb-line-color);}
  .home-hero__mosaic{min-height:450px;}
  .home-current__grid{grid-template-columns:1fr;}
  .home-current-card{grid-template-columns:minmax(190px,.75fr) minmax(0,1.25fr);grid-template-rows:none;}
  .home-current-card__media{border-bottom:0;border-right:var(--lhb-line-width-medium) solid var(--lhb-line-color);}
  .home-current-card__body{min-height:260px;}
  .home-network{grid-template-columns:1fr;}
  .home-network__content{border-right:0;border-bottom:var(--linie) solid var(--lhb-line-color);}
  .home-network__map{min-height:420px;}
  .home-contact{grid-template-columns:1fr;}
  .home-contact__intro{border-right:0;border-bottom:var(--linie) solid var(--lhb-line-color);}
}

@media (max-width:700px){
  .home-hero__content{padding:34px 20px 38px;}
  .home-hero__title{font-size:clamp(34px,10.8vw,53px);}
  .home-hero__text{font-size:15px;}
  .home-actions{display:grid;grid-template-columns:1fr;}
  .home-actions .lhb-button{width:100%;justify-content:center;}
  .home-hero__mosaic{grid-template-columns:1fr 1fr;grid-template-rows:270px 180px;min-height:450px;}
  .home-hero__image--main{grid-column:1 / 3;grid-row:1;}
  .home-hero__image--top{grid-column:1;grid-row:2;}
  .home-hero__image--bottom{grid-column:2;grid-row:2;}
  .home-section__head{min-height:auto;padding:22px 20px;display:block;}
  .home-section__link{margin-top:18px;}
  .home-current-card{grid-template-columns:1fr;grid-template-rows:210px 1fr;}
  .home-current-card__media{border-right:0;border-bottom:var(--lhb-line-width-medium) solid var(--lhb-line-color);}
  .home-current-card__body{min-height:245px;padding:22px 20px;}
  .home-work__grid{grid-template-columns:1fr 1fr;}
  .home-work-card{grid-template-rows:170px 1fr;}
  .home-work-card__body{min-height:250px;padding-left:16px;padding-right:16px;}
  .home-work-card h3{font-size:15px;min-height:74px;}
  .home-network__content{padding:38px 20px;}
  .home-network__number{align-items:flex-start;flex-direction:column;gap:10px;}
  .home-network__number span{max-width:none;}
  .home-network__map{min-height:560px;padding:18px 8px 64px;}
  .home-network__map-frame{width:min(100%,430px);}
  .home-network__map-meta{left:12px;bottom:10px;max-width:calc(100% - 24px);}
  .home-knowledge-card{min-height:310px;grid-template-columns:minmax(0,1.25fr) minmax(120px,.75fr);}
  .home-knowledge-card__body{padding:22px 18px;}
  .home-contact__intro,.home-contact__newsletter{padding:36px 20px;}
  .home-newsletter__row{grid-template-columns:1fr;gap:10px;}
  .home-newsletter__row .lhb-form__control{border-right:var(--lhb-line-width-medium) solid var(--lhb-line-color);}
}

@media (max-width:470px){
  .home-work__grid{grid-template-columns:1fr;}
  .home-work-card{grid-template-columns:150px 1fr;grid-template-rows:1fr;min-height:235px;}
  .home-work-card__image{border-bottom:0;border-right:var(--lhb-line-width-medium) solid var(--lhb-line-color);}
  .home-work-card__body{min-height:235px;padding:24px 15px 18px;}
  .home-work-card__icon{left:-26px;top:auto;bottom:22px;width:50px;height:50px;font-size:21px;}
  .home-work-card h3{min-height:0;font-size:14px;}
  .home-work-card p{font-size:12.5px;}
  .home-knowledge-card{grid-template-columns:1fr;grid-template-rows:1fr 150px;}
  .home-knowledge-card__image{grid-row:1;}
  .home-knowledge-card__body{grid-row:2;}
}


@media (prefers-reduced-motion:reduce){
  .home img{transition:none!important;}
}

.home-current-card--fallback{grid-template-rows:1fr;}
.home-current-card--fallback .home-current-card__body{min-height:100%;}
.home-current-card__placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--lhb-surface-accent-8);color:var(--lila);font-size:44px;}


/* v204: Die Landingpage bleibt die einzige vollhohe Portal-Hero-Ausnahme,
   wird auf hohen Desktopfenstern jedoch bei 760 px gedeckelt. So bleibt der
   Claim prominent, ohne dass die Bildmosaikfelder ungewollt hochformatig werden. */
@media (min-width:981px){
  .home-hero{
    height:clamp(660px,calc(100dvh - var(--lhb-active-header-height,136px)),760px);
    min-height:0;
  }
  .home-hero__content{
    min-height:0;
    padding-block:clamp(32px,4.8dvh,64px);
  }
  .home-hero__title{
    margin:clamp(8px,1.25dvh,13px) 0 clamp(14px,2dvh,22px);
    font-size:clamp(56px,min(4.35vw,7.2dvh),68px);
  }
  .home-hero__text{
    font-size:clamp(15px,1.8dvh,17px);
    line-height:1.6;
  }
  .home-actions{margin-top:clamp(18px,2.6dvh,28px);}
  .home-hero__mosaic{height:100%;min-height:0;}
}

/* Zwischen 901 und 980 px schaltet der globale Header bereits auf 76 px um,
   die Landingpage bleibt aber noch zweispaltig und ebenfalls hoehenbegrenzt. */
@media (min-width:901px) and (max-width:980px){
  .home-hero{
    height:clamp(620px,calc(100dvh - 76px),780px);
    min-height:0;
  }
  .home-hero__content{
    min-height:0;
    padding-block:clamp(30px,4.5dvh,50px);
  }
  .home-hero__title{
    margin:8px 0 16px;
    font-size:clamp(48px,min(5.6vw,7dvh),60px);
  }
  .home-hero__text{font-size:15px;line-height:1.56;}
  .home-actions{margin-top:20px;}
  .home-hero__mosaic{height:100%;min-height:0;}
}


/* Auf ungewoehnlich hohen bzw. nahezu quadratischen Desktopfenstern wird das
   Mosaik horizontaler organisiert: Leitbild oben, zwei Ergaenzungsbilder unten. */
@media (min-width:981px) and (max-aspect-ratio:4/3){
  .home-hero__mosaic{
    grid-template-columns:1fr 1fr;
    grid-template-rows:minmax(0,1.35fr) minmax(0,.65fr);
  }
  .home-hero__image--main{grid-column:1 / 3;grid-row:1;}
  .home-hero__image--top{grid-column:1;grid-row:2;}
  .home-hero__image--bottom{grid-column:2;grid-row:2;}
}

/* v211: Grossflaechige Navigationskarten verwenden eine helle Lila-Flaeche statt Schwarz-Inversion. */
.home-work-card,
.home-work-card h3,
.home-work-card p,
.home-work-card__icon,
.home-knowledge-card__body,
.home-knowledge-card h3,
.home-knowledge-card__type,
.home-knowledge-card__body>span{
  transition:background-color .2s ease,color .2s ease,border-color .2s ease;
}
.home-work-card:is(:hover,:focus-visible) h3{color:var(--lila);}
.home-work-card:is(:hover,:focus-visible) p{color:var(--lhb-color-text-body);}
.home-work-card:is(:hover,:focus-visible) .home-work-card__icon{
  background:var(--weiss);
  border-color:var(--lila);
  color:var(--lila);
}
.home-knowledge-card:is(:hover,:focus-visible) .home-knowledge-card__body{
  background:var(--lhb-surface-navigation-hover);
  color:var(--schwarz);
}
.home-knowledge-card:is(:hover,:focus-visible) h3,
.home-knowledge-card:is(:hover,:focus-visible) .home-knowledge-card__type,
.home-knowledge-card:is(:hover,:focus-visible) .home-knowledge-card__body>span{color:var(--lila);}

/* v202: Die politische Kartenquelle wird ohne eingebettete Titellegende gezeigt. */
.home-map__base{
  clip-path:polygon(0 0,58.5% 0,58.5% 39%,100% 39%,100% 100%,0 100%);
  transition:filter .24s ease,opacity .24s ease;
}
.home-map__base.is-clean{clip-path:none;}
.home-network__map::before{
  content:'';
  position:absolute;
  inset:0;
  z-index:0;
  background:var(--lhb-overlay-accent-soft);
  opacity:0;
  transition:opacity .22s ease;
  pointer-events:none;
}
.home-network__map-frame{z-index:1;}
.home-network__city-note,
.home-network__map-credit{z-index:1;transition:color .22s ease;}
.home-network__map:is(:hover,:focus-visible)::before{opacity:1;}
.home-network__map:is(:hover,:focus-visible) .home-map__base{
  filter:grayscale(.82) saturate(.68) contrast(.9) brightness(1.04);
  opacity:.82;
}
.home-network__map:is(:hover,:focus-visible) .home-map-point{
  fill:var(--lila);
  stroke:var(--weiss);
  opacity:1;
}
.home-network__map:is(:hover,:focus-visible) .home-map-point--mittelbar{
  fill:var(--weiss);
  stroke:var(--lila);
}
.home-network__map:is(:hover,:focus-visible) .home-map-point--netzwerkmitglied{
  fill:var(--flieder);
  stroke:var(--lila);
}
.home-network__map:is(:hover,:focus-visible) .home-network__city-note{color:var(--lila);}
.home-network__map:is(:hover,:focus-visible) .home-network__map-credit{color:var(--lhb-color-text-soft);}

/* v215: Startseiten-Hero – ausschließlich neue Bildanordnung.
   Claim, Text, Buttons, Hero-Zweispaltigkeit und alle nachfolgenden
   Startseitenmodule bleiben unverändert. Rechts ersetzt ein breites Leitbild
   mit einheitlichem Kontaktbogen die bisherige Dreiermontage. */
.home-hero__mosaic.home-hero__mosaic--contact-sheet{
  min-width:0;
  min-height:500px;
  display:grid;
  grid-template-columns:1fr;
  grid-template-rows:minmax(0,1.16fr) minmax(0,.84fr);
  gap:var(--linie);
  background:var(--lhb-line-color);
}
.home-hero__mosaic--contact-sheet .home-hero__image--main{
  grid-column:auto;
  grid-row:auto;
}
.home-hero__contact-sheet{
  min-width:0;
  min-height:0;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  grid-template-rows:repeat(2,minmax(0,1fr));
  gap:var(--linie);
  background:var(--lhb-line-color);
}
.home-hero__image--thumb{
  min-width:0;
  min-height:0;
}
.home-hero__mosaic--contact-sheet .home-hero__image img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}
.home-hero__mosaic--contact-sheet .home-hero__image--main img{
  object-position:center 45%;
}
.home-hero__mosaic--contact-sheet .home-hero__image--thumb .lhb-hover-caption{
  padding:clamp(8px,1vw,14px);
}
.home-hero__mosaic--contact-sheet .home-hero__image--thumb .lhb-hover-caption strong{
  font-size:clamp(9px,.72vw,12px);
  line-height:1.2;
}
.home-hero__mosaic--contact-sheet .home-hero__image--thumb .lhb-hover-caption span{
  font-size:clamp(8px,.62vw,10px);
}

@media (min-width:981px){
  .home-hero__mosaic.home-hero__mosaic--contact-sheet{
    height:100%;
    min-height:0;
    grid-template-columns:1fr;
    grid-template-rows:minmax(0,1.16fr) minmax(0,.84fr);
  }
}

@media (min-width:901px) and (max-width:980px){
  .home-hero__mosaic.home-hero__mosaic--contact-sheet{
    height:100%;
    min-height:0;
    grid-template-columns:1fr;
    grid-template-rows:minmax(0,1.1fr) minmax(0,.9fr);
  }
}

/* Hebt die frühere nahezu-quadratische Dreiermontage nur für den neuen
   Kontaktbogen auf; andere Startseitenregeln bleiben bestehen. */
@media (min-width:981px) and (max-aspect-ratio:4/3){
  .home-hero__mosaic.home-hero__mosaic--contact-sheet{
    grid-template-columns:1fr;
    grid-template-rows:minmax(0,1.08fr) minmax(0,.92fr);
  }
  .home-hero__mosaic--contact-sheet .home-hero__image--main{
    grid-column:auto;
    grid-row:auto;
  }
}

@media (max-width:900px){
  .home-hero__mosaic.home-hero__mosaic--contact-sheet{
    height:auto;
    min-height:0;
    grid-template-columns:1fr;
    grid-template-rows:clamp(300px,48vw,430px) auto;
  }
  .home-hero__contact-sheet{
    grid-template-columns:repeat(4,minmax(0,1fr));
    grid-template-rows:repeat(2,clamp(110px,16vw,150px));
  }
}

@media (max-width:700px){
  .home-hero__mosaic.home-hero__mosaic--contact-sheet{
    grid-template-columns:1fr;
    grid-template-rows:260px auto;
    min-height:0;
  }
  .home-hero__mosaic--contact-sheet .home-hero__image--main{
    grid-column:auto;
    grid-row:auto;
  }
  .home-hero__contact-sheet{
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:repeat(4,112px);
  }
  .home-hero__mosaic--contact-sheet .home-hero__image--thumb .lhb-hover-caption{
    padding:8px;
  }
  .home-hero__mosaic--contact-sheet .home-hero__image--thumb .lhb-hover-caption strong{
    font-size:var(--lhb-type-kicker-size);
  }
  .home-hero__mosaic--contact-sheet .home-hero__image--thumb .lhb-hover-caption span{
    display:none;
  }
}

/* v216: Responsive Bildkomposition des Startseiten-Heros.
   Claim, Text, Buttons, Zweispaltigkeit und alle nachfolgenden Module bleiben
   unverändert. Die Bildgeometrie wird von den Bildformaten statt von der
   Resthoehe des Heroes bestimmt. */
.home-hero__mosaic.home-hero__mosaic--contact-sheet{
  container-name:home-hero-media;
  container-type:inline-size;
  grid-template-columns:1fr;
  grid-template-rows:minmax(0,1fr) auto;
  gap:0;
  background:var(--weiss);
  overflow:hidden;
}

.home-hero__mosaic--contact-sheet .home-hero__image--main{
  min-height:0;
  border-bottom:var(--linie) solid var(--lhb-line-color);
}

.home-hero__contact-sheet{
  min-width:0;
  min-height:0;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-content:flex-start;
  gap:10px;
  padding:10px;
  background:var(--lhb-surface-accent-1);
}

.home-hero__image--thumb{
  flex:0 0 calc((100% - 30px) / 4);
  aspect-ratio:3 / 2;
  min-width:0;
  min-height:0;
  border:0;
}

.home-hero__mosaic--contact-sheet .home-hero__image--thumb img{
  width:100%;
  height:100%;
  aspect-ratio:3 / 2;
  object-fit:cover;
}

/* Motivbezogene Ausschnitte; die Felder bleiben geometrisch identisch. */
.home-hero__contact-sheet .home-hero__image--thumb:nth-child(1) img{object-position:center 48%;}
.home-hero__contact-sheet .home-hero__image--thumb:nth-child(2) img{object-position:center 50%;}
.home-hero__contact-sheet .home-hero__image--thumb:nth-child(3) img{object-position:center 44%;}
.home-hero__contact-sheet .home-hero__image--thumb:nth-child(4) img{object-position:center 45%;}
.home-hero__contact-sheet .home-hero__image--thumb:nth-child(5) img{object-position:center 52%;}
.home-hero__contact-sheet .home-hero__image--thumb:nth-child(6) img{object-position:center 42%;}
.home-hero__contact-sheet .home-hero__image--thumb:nth-child(7) img{object-position:center 50%;}
.home-hero__contact-sheet .home-hero__image--thumb:nth-child(8) img{object-position:center 54%;}

/* Innerhalb der dichten Fotokomposition erscheinen Bildnachweise als dunkle
   Overlay-Flaeche statt als weisse, rasterbildende Zwischenleiste. */
.home-hero__mosaic--contact-sheet .lhb-hover-caption{
  background:rgba(20,0,28,.86);
  color:var(--weiss);
  border-top:0;
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
}
.home-hero__mosaic--contact-sheet .lhb-hover-caption strong{color:var(--weiss);}
.home-hero__mosaic--contact-sheet .lhb-hover-caption span{color:rgba(255,255,255,.78);}

/* Der Umschaltpunkt richtet sich nach der realen Breite der Bildspalte und
   nicht nach der Gesamtbreite des Browserfensters. Wird die Bildspalte sehr
   schmal, bleibt der Kontaktbogen zweireihig und wird horizontal verschiebbar,
   statt dritte oder vierte Vertikalreihen zu erzeugen. */
@container home-hero-media (max-width:600px){
  .home-hero__contact-sheet{
    display:grid;
    grid-template-columns:none;
    grid-template-rows:repeat(2,auto);
    grid-auto-flow:column;
    grid-auto-columns:clamp(154px,42cqi,220px);
    justify-content:start;
    align-content:start;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scroll-snap-type:inline proximity;
    scrollbar-width:none;
    padding-right:max(18px,8cqi);
  }
  .home-hero__contact-sheet::-webkit-scrollbar{display:none;}
  .home-hero__image--thumb{
    width:auto;
    flex:none;
    aspect-ratio:3 / 2;
    scroll-snap-align:start;
  }
}

@media (max-width:900px){
  .home-hero__mosaic.home-hero__mosaic--contact-sheet{
    height:auto;
    grid-template-rows:clamp(300px,48vw,430px) auto;
  }
}

/* Mobil wird der Kontaktbogen als zweireihiges, horizontal verschiebbares
   Bildband gefuehrt. Dadurch bleiben alle acht Bilder 3:2-Querformate, ohne
   den Hero durch vier vollstaendige Bildreihen unnoetig zu verlaengern. */
@media (max-width:700px){
  .home-hero__mosaic.home-hero__mosaic--contact-sheet{
    grid-template-rows:auto auto;
  }
  .home-hero__mosaic--contact-sheet .home-hero__image--main{
    aspect-ratio:16 / 9;
    min-height:0;
  }
  .home-hero__contact-sheet{
    display:grid;
    grid-template-columns:none;
    grid-template-rows:repeat(2,auto);
    grid-auto-flow:column;
    grid-auto-columns:clamp(154px,42vw,220px);
    justify-content:start;
    align-content:start;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scroll-snap-type:inline proximity;
    scrollbar-width:none;
    padding:10px max(18px,8vw) 10px 10px;
  }
  .home-hero__contact-sheet::-webkit-scrollbar{display:none;}
  .home-hero__image--thumb{
    width:auto;
    flex:none;
    aspect-ratio:3 / 2;
    scroll-snap-align:start;
  }
}

/* v233: hochformatabhängige Nachverdichtung, markerfreie Aktivlabels und Crossfade.
   Globale Startseitenregel: Anzahl, Größe und Position der Bildkreise werden
   aus der tatsächlich verfügbaren Fläche berechnet. In hohen Medienflächen
   füllt ein zusätzlicher Void-Pass unerklärte Restzonen, ohne feste Slots zu
   erzeugen. Karte, Kreisflächen, Aktivhalo, Kartennachweis und Außenkante
   bleiben kollisionsfrei. */
.home-hero__mosaic.home-hero__mosaic--association-constellation{
  min-width:0;
  min-height:0;
  display:block;
  background:var(--weiss);
}

.home-hero__constellation{
  position:relative;
  width:100%;
  height:100%;
  min-height:560px;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(circle at 50% 47%,rgba(118,28,146,.045),transparent 34%),
    radial-gradient(circle at 76% 22%,rgba(118,28,146,.022),transparent 25%),
    linear-gradient(145deg,var(--lhb-surface-home-bubble-light) 0%,var(--lhb-surface-home-bubble-tint) 100%);
}

.home-hero__constellation-map{
  position:absolute;
  left:50%;
  top:49%;
  z-index:7;
  width:260px;
  pointer-events:none;
  margin:0;
  transform:translate(-50%,-50%);
}

.home-hero__constellation-map-frame{
  position:relative;
  width:100%;
  aspect-ratio:1957 / 2307;
}

.home-hero__constellation-map-image{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  overflow:visible;
  filter:drop-shadow(0 10px 18px rgba(35,21,37,.045));
}
.home-hero__constellation-map-image path{
  fill:var(--lhb-color-paper);
  stroke:var(--lhb-color-ink);
  stroke-width:2.4;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
}

.home-hero__constellation-marker{
  position:absolute;
  z-index:10;
  width:13px;
  height:13px;
  border:3px solid var(--lhb-color-paper);
  border-radius:50%;
  background:var(--lhb-color-ink);
  box-shadow:0 0 0 2px var(--lila);
  opacity:0;
  transform:translate(-50%,-50%) scale(.7);
  transition:opacity .16s ease,transform .18s ease;
  pointer-events:none;
  will-change:opacity,transform;
}
.home-hero__constellation-marker::after{
  content:'';
  position:absolute;
  inset:-5px;
  border:1.5px solid var(--lhb-overlay-accent-48);
  border-radius:50%;
  opacity:0;
  transform:scale(.72);
}
.home-hero__constellation-marker.is-visible{
  opacity:1;
  transform:translate(-50%,-50%) scale(1);
}
.home-hero__constellation-marker.is-pulsing::after{
  animation:home-constellation-pulse-v232 .72s cubic-bezier(.2,.72,.25,1) 1;
}
@keyframes home-constellation-pulse-v232{
  0%{opacity:.62;transform:scale(.72);}
  72%{opacity:.14;transform:scale(1.55);}
  100%{opacity:0;transform:scale(1.7);}
}

.home-hero__constellation-label{
  position:absolute;
  z-index:8;
  left:50%;
  top:50%;
  display:block;
  width:max-content;
  max-width:min(60%,228px);
  padding:.34em .52em .38em;
  border-radius:6px;
  background:var(--lila);
  box-shadow:0 4px 12px rgba(76,16,94,.18);
  opacity:0;
  pointer-events:none;
  transition:opacity .16s ease;
  will-change:opacity;
}
.home-hero__constellation-label.is-visible{opacity:1;}
.home-hero__constellation-label.is-measuring{transition:none!important;}
.home-hero__constellation-label.is-to-right{transform:translate(18px,-50%);}
.home-hero__constellation-label.is-to-left{transform:translate(calc(-100% - 18px),-50%);}
.home-hero__constellation-label.is-to-right.is-below{transform:translate(18px,8px);}
.home-hero__constellation-label.is-to-left.is-below{transform:translate(calc(-100% - 18px),8px);}
.home-hero__constellation-label.is-to-right.is-above{transform:translate(18px,calc(-100% - 8px));}
.home-hero__constellation-label.is-to-left.is-above{transform:translate(calc(-100% - 18px),calc(-100% - 8px));}
.home-hero__constellation-label.is-centered-label{
  max-width:min(78%,236px);
  text-align:center;
}
.home-hero__constellation-label.is-centered-label.is-below{transform:translate(-50%,12px);}
.home-hero__constellation-label.is-centered-label.is-above{transform:translate(-50%,calc(-100% - 12px));}
.home-hero__constellation-label.is-map-centered{
  transform:translate(-50%,-50%);
  text-align:center;
  max-width:min(78%,240px);
}
.home-hero__constellation-label.is-inward-label{
  transform:translate(-50%,-50%);
  text-align:center;
  max-width:min(76%,232px);
}

.home-hero__constellation-label-title{
  display:block;
  font-family:var(--lhb-font-display);
  max-width:100%;
  font-size:var(--constellation-label-font-size,clamp(11px,1.08vw,15px));
  line-height:1.14;
  font-weight:800;
  letter-spacing:-.014em;
  text-transform:uppercase;
  color:var(--lhb-color-paper);
  hyphens:none;
  overflow-wrap:normal;
  word-break:normal;
  text-wrap:balance;
  padding:0;
  background:none;
  -webkit-text-stroke:0;
  text-shadow:none;
}
.home-hero__constellation-label.is-long .home-hero__constellation-label-title{
  font-size:clamp(10px,.94vw,13px);
  line-height:1.15;
}
.home-hero__constellation-label.is-very-long .home-hero__constellation-label-title{
  font-size:clamp(9.2px,.82vw,11.8px);
  line-height:1.16;
}
.home-hero__constellation-label.has-three-lines .home-hero__constellation-label-title{line-height:1.16;}
.home-hero__constellation-label.has-four-lines .home-hero__constellation-label-title{line-height:1.18;}

.home-hero__bubble-field{
  position:absolute;
  inset:0;
  z-index:3;
}

.home-hero__bubble{
  --bubble-size:120px;
  position:absolute;
  display:none;
  width:var(--bubble-size);
  height:var(--bubble-size);
  border-radius:50%;
  opacity:1;
  transform:translateZ(0) scale(1);
  transition:opacity .16s ease,transform .2s ease,filter .18s ease;
  isolation:isolate;
}
.home-hero__bubble.is-layout-visible{display:block;}
.home-hero__bubble:not(.is-content-ready){
  opacity:0;
  pointer-events:none;
}
.home-hero__bubble.is-swapping{
  opacity:.18;
  transform:scale(.97);
}
.home-hero__constellation.is-group-swapping .home-hero__bubble{
  opacity:0;
  transform:scale(.94);
}

.home-hero__bubble::before{
  content:'';
  position:absolute;
  inset:calc(var(--bubble-halo,9px) * -1);
  z-index:-2;
  border-radius:50%;
  background:rgba(118,28,146,.30);
  box-shadow:0 0 26px rgba(118,28,146,.32),0 0 10px rgba(118,28,146,.24);
  opacity:0;
  transform:scale(.9);
  transition:opacity .2s ease,transform .24s ease;
  pointer-events:none;
}
.home-hero__bubble.is-active::before{
  opacity:1;
  transform:scale(1);
}
.home-hero__bubble::after{
  content:'';
  position:absolute;
  inset:-5px;
  z-index:-1;
  border:1px solid var(--lhb-overlay-accent-42);
  border-radius:50%;
  opacity:0;
  transform:scale(.96);
  pointer-events:none;
}
.home-hero__bubble.is-cueing::after{
  animation:home-bubble-cue-v232 .72s cubic-bezier(.2,.72,.25,1) 1;
}
@keyframes home-bubble-cue-v232{
  0%{opacity:0;transform:scale(.96);}
  30%{opacity:.46;}
  100%{opacity:0;transform:scale(1.075);}
}

.home-hero__bubble-link{
  position:relative;
  display:block;
  width:100%;
  height:100%;
  overflow:hidden;
  cursor:pointer;
  border:2px solid rgba(17,17,17,.82);
  border-radius:50%;
  color:var(--lhb-color-paper);
  text-decoration:none;
  background:var(--lhb-neutral-225);
  box-shadow:0 14px 28px rgba(35,21,37,.095);
  transition:border-color .16s ease,box-shadow .18s ease,transform .18s ease;
}
.home-hero__bubble-link::before{content:none!important;display:none!important;}
.home-hero__bubble-link::after{
  content:'';
  position:absolute;
  inset:0;
  z-index:1;
  border-radius:inherit;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.22);
  pointer-events:none;
}
.home-hero__bubble-link:is(:hover,:focus-visible),
.home-hero__bubble.is-active .home-hero__bubble-link{
  border-color:var(--lila);
  box-shadow:0 18px 34px rgba(35,21,37,.14),0 0 0 3px var(--lhb-overlay-accent-42),0 0 0 6px var(--lhb-overlay-accent-15);
  transform:scale(1.014);
}
.home-hero__bubble-link:focus-visible{
  outline:2px solid var(--lhb-overlay-accent-32);
  outline-offset:4px;
}

.home-hero__bubble-media,
.home-hero__bubble-media img{
  display:block;
  width:100%;
  height:100%;
}
.home-hero__bubble-media img{
  object-fit:cover;
  transition:transform .34s ease,filter .22s ease,opacity .22s ease;
}
.home-hero__bubble-link:is(:hover,:focus-visible) .home-hero__bubble-media img,
.home-hero__bubble.is-active .home-hero__bubble-media img{
  transform:scale(1.018);
  filter:saturate(1.04) contrast(1.02) brightness(1.01);
}
.home-hero__constellation.has-active .home-hero__bubble:not(.is-active){
  opacity:.94;
  filter:saturate(.95) brightness(.998);
}
.home-hero__constellation.has-active .home-hero__bubble.is-active{z-index:6;}

.home-hero__constellation-credit{
  position:absolute;
  left:50%;
  bottom:7px;
  z-index:2;
  width:min(250px,48%);
  margin:0;
  transform:translateX(-50%);
  text-align:center;
  font-size:var(--lhb-type-credit-size);
  line-height:1.35;
  color:var(--lhb-color-text-muted);
}

@media (min-width:1101px) and (orientation:landscape){
  .home-hero__mosaic.home-hero__mosaic--association-constellation,
  .home-hero__constellation{height:100%;}
}

@media (max-width:1100px) and (orientation:landscape){
  .home-hero__mosaic.home-hero__mosaic--association-constellation{height:100%;}
  .home-hero__constellation{min-height:450px;height:100%;}
}

@media (orientation:portrait){
  .home-hero__mosaic.home-hero__mosaic--association-constellation{height:auto;}
  .home-hero__constellation{
    min-height:clamp(560px,132vw,800px);
    height:auto;
    background:
      radial-gradient(circle at 50% 45%,rgba(118,28,146,.05),transparent 35%),
      linear-gradient(145deg,var(--lhb-surface-home-bubble-light) 0%,var(--lhb-surface-home-bubble-tint) 100%);
  }
}

@media (max-width:430px) and (orientation:portrait){
  .home-hero__constellation{min-height:clamp(540px,136vw,640px);}
  .home-hero__constellation-label{max-width:min(74%,164px);}
  .home-hero__constellation-label.is-centered-label{max-width:min(86%,182px);}
  .home-hero__constellation-label.is-inward-label{max-width:min(86%,184px);}
  .home-hero__constellation-label.is-to-right{transform:translate(14px,-50%);}
  .home-hero__constellation-label.is-to-left{transform:translate(calc(-100% - 14px),-50%);}
  .home-hero__constellation-label.is-to-right.is-below{transform:translate(14px,7px);}
  .home-hero__constellation-label.is-to-left.is-below{transform:translate(calc(-100% - 14px),7px);}
  .home-hero__constellation-label.is-to-right.is-above{transform:translate(14px,calc(-100% - 7px));}
  .home-hero__constellation-label.is-to-left.is-above{transform:translate(calc(-100% - 14px),calc(-100% - 7px));}
  .home-hero__constellation-label{
    padding:.31em .46em .35em;
    border-radius:5px;
  }
  .home-hero__constellation-label-title{
    font-size:clamp(9.6px,2.4vw,12.4px);
    line-height:1.15;
  }
  .home-hero__constellation-label.is-long .home-hero__constellation-label-title{
    font-size:clamp(9px,2.15vw,11.2px);
    line-height:1.16;
  }
  .home-hero__constellation-label.is-very-long .home-hero__constellation-label-title{
    font-size:clamp(8.6px,2vw,10.6px);
    line-height:1.18;
  }
}

@media (prefers-reduced-motion:reduce){
  .home-hero__bubble,
  .home-hero__bubble-link,
  .home-hero__bubble-media img,
  .home-hero__constellation-marker,
  .home-hero__constellation-label,
  .home-hero__constellation-map{transition:none!important;}
  .home-hero__constellation-marker::after,
  .home-hero__bubble::after{animation:none!important;}
  .home-hero__bubble::before{transition:none!important;}
}



/* v234: finale Hochformat-Kapazitätsprüfung, inhaltsgebundene Kreise,
   belastbares Label-Fitting und dauerhafter Gruppenzyklus. Kreise ohne
   erfolgreich geladenes Vereinsbild bleiben vollständig unsichtbar und
   nicht interaktiv; der Aktivring wird innerhalb des bestehenden Halos
   kontrastreicher ausgegeben. */


/* v257 – mobile Wissenskarten: Bildfeld und Text-/Aktionsfeld besitzen
   eigenständige Höhen. Lange Titel dürfen die Aktion nicht an die
   Abschlusskante drücken; alle drei Karten verwenden dieselbe Geometrie. */
@media (max-width:470px){
  .home-knowledge-card{
    min-height:0;
    grid-template-rows:clamp(280px,115vw,430px) auto;
  }
  .home-knowledge-card__body{
    min-height:0;
    padding:26px 20px 28px;
  }
  .home-knowledge-card__body>span{
    margin-top:28px;
    padding-top:0;
  }
}
