.vt-hero .sx-hero__grid { align-items: start; }
.vt-hero .sx-hero__title { max-width: none; hyphens: manual; -webkit-hyphens: manual; }
@media (min-width: 1024px) {
  .vt-hero .sx-hero__title { font-size: min(4.25rem, 4.4vw); }
}
@media (min-width: 1024px) {
  .vt-hero .sx-hero__grid { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); }
  .vt-hero .sx-hero__text { padding-top: clamp(0rem, -2rem + 3vw, 1.5rem); }
}
.vt-finder {
  display: grid;
  gap: var(--space-3);
  max-width: 36rem;
  margin-top: var(--space-7);
}
.vt-finder__label {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-2);
  margin: 0;
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: var(--fw-semibold);
}
.vt-finder { container: vt-suche / inline-size; }
.vt-finder__row { display: grid; gap: var(--space-3); }
.vt-finder .field { grid-template-columns: minmax(0, 1fr); min-width: 0; }
@container vt-suche (min-width: 31rem) {
  .vt-finder__row { grid-template-columns: minmax(0, 12.5rem) minmax(0, 1fr); align-items: end; }
}
.vt-finder .field__label { color: var(--color-text-muted); font-size: 0.8125rem; }
.vt-finder__select {
  min-height: 3.75rem;
  padding-left: 1.25rem;
  border-color: var(--color-border);
  border-radius: var(--radius-pill);
  box-shadow: var(--shadow-sm);
  font-weight: var(--fw-medium);
  cursor: pointer;
}
.vt-pill { max-width: none; padding: 0.375rem 0.375rem 0.375rem 1.25rem; }
.vt-pill .search-pill__input { height: 2.875rem; font-size: 1.125rem; letter-spacing: 0.02em; font-variant-numeric: tabular-nums; }
.vt-pill .search-pill__input:disabled { cursor: not-allowed; }
.vt-pill:has(.search-pill__input:disabled) { background: var(--color-surface-2); box-shadow: none; }
.vt-pill:has(.search-pill__input:disabled) .search-pill__icon { color: var(--color-text-subtle); }
.vt-pill:has([aria-invalid="true"]) { border-color: var(--red-600); }
.vt-finder__error { margin: 0; }
.vt-finder__hint { margin: 0; line-height: 1.45; }
.vt-finder__kurz {
  margin: 0;
  padding: 0.625rem 0.875rem;
  border: 1px solid var(--color-border-hair);
  border-radius: var(--radius-md);
  background: var(--color-bg-raised);
  box-shadow: var(--shadow-xs);
  color: var(--color-text-muted);
  font-size: 0.9375rem;
  line-height: 1.4;
}
.vt-finder__kurz a { color: var(--color-text); font-weight: var(--fw-semibold); text-decoration: underline; text-underline-offset: 0.2em; text-decoration-color: var(--color-border-strong); }
.vt-finder__kurz a:hover { color: var(--color-accent-text); text-decoration-color: currentColor; }
.vt-finder__stand {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.375rem 0.75rem;
  margin: 0;
  color: var(--color-text-subtle);
  font-size: 0.8125rem;
  line-height: 1.45;
}
.vt-finder__stand > .chip { flex: none; }
.vt-finder__stand > span:last-child { flex: 1 1 14rem; min-width: 0; }
.vt-stage { position: relative; display: grid; min-width: 0; }
.vt-stage__photo {
  margin: 0;
  overflow: hidden;
  aspect-ratio: 16 / 10;
  border: 1px solid rgba(255, 255, 255, .85);
  border-radius: var(--radius-2xl);
  background: var(--color-surface-3);
  box-shadow: var(--shadow-lg);
}
.vt-stage__img { width: 100%; height: 100%; object-fit: cover; }
.vt-stage__card {
  position: relative;
  z-index: 1;
  margin: -4.5rem var(--space-3) 0;
  padding: clamp(1.125rem, 0.9rem + 1vw, 1.75rem);
  border-radius: var(--radius-xl);
}
@media (min-width: 600px) { .vt-stage__card { margin: -6rem var(--space-6) 0; } }
@media (min-width: 1024px) { .vt-stage__card { margin: -7.5rem var(--space-7) 0; } }
.vt-stage__kicker {
  margin: 0;
  color: var(--color-text-muted);
  font-family: var(--font-mono);
  font-size: var(--fs-micro);
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
}
.vt-stage__title {
  margin: 0.5rem 0 0;
  font-size: clamp(1.5rem, 1.25rem + 0.9vw, 2rem);
  font-weight: var(--fw-medium);
  line-height: 1.1;
  letter-spacing: var(--tracking-h3);
}
.vt-stage__title:focus { outline: none; }
.vt-stage__text { max-width: 44ch; margin: var(--space-3) 0 0; color: var(--color-text-muted); font-size: 0.9375rem; line-height: 1.5; }
.vt-stage__rule { margin: var(--space-4) 0 0; color: var(--color-text-muted); font-size: 0.8125rem; line-height: 1.45; }
.vt-stage__foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.25rem 0.5rem;
  margin: var(--space-4) 0 0;
  padding-top: var(--space-3);
  border-top: 1px solid rgba(21, 23, 26, .08);
  color: var(--color-text-muted);
  font-size: 0.8125rem;
}
.vt-stage__foot .icon { color: var(--color-text-subtle); }
.vt-stage__foot a { margin-left: auto; color: var(--color-text); font-weight: var(--fw-semibold); text-decoration: none; }
.vt-hits:not([hidden]) + .vt-stage__rule[hidden] + .vt-stage__foot { margin-top: 0; padding-top: 0.75rem; border-top: 0; }
.vt-stage__foot a:hover { color: var(--color-accent-text); }
.vt-stage__card { container: vt-karte / inline-size; }
.vt-hits { display: grid; gap: var(--space-4); margin: var(--space-4) 0 0; padding: 0; list-style: none; }
.vt-hit { display: grid; align-content: start; gap: var(--space-3); min-width: 0; }
.vt-hit + .vt-hit { padding-top: var(--space-4); border-top: 1px solid rgba(21, 23, 26, .1); }
@container vt-karte (min-width: 33rem) {
  .vt-hits:has(> .vt-hit:nth-child(2)) { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); }
  .vt-hits:has(> .vt-hit:nth-child(2)) .vt-hit + .vt-hit { padding-top: 0; border-top: 0; }
  .vt-hits:has(> .vt-hit:nth-child(2)) .vt-hit__head { grid-template-columns: minmax(0, 1fr); gap: var(--space-3); }
}
.vt-hit__head { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--space-4); align-items: center; }
.vt-hit__name { margin: 0; font-size: 1.1875rem; font-weight: var(--fw-semibold); line-height: 1.2; letter-spacing: var(--tracking-h3); }
.vt-hit__role { margin: 0.1875rem 0 0; color: var(--color-text-muted); font-size: 0.875rem; line-height: 1.35; }
.vt-hit__ort { display: flex; align-items: flex-start; gap: 0.5rem; margin: 0; color: var(--color-text-muted); font-size: 0.875rem; line-height: 1.45; }
.vt-hit__ort .icon, .vt-person__ort .icon, .vt-partner__addr .icon, .vt-export__addr .icon { flex: none; margin-top: 0.1875rem; color: var(--color-text-subtle); }
.vt-avatar {
  flex: none;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 50%;
  object-fit: cover;
  object-position: 50% 22%;
  background: var(--color-surface-3);
  box-shadow: 0 0 0 1px rgba(21, 23, 26, .06), 0 8px 18px -10px rgba(21, 23, 26, .45);
}
.vt-avatar--lg { width: 4.5rem; height: 4.5rem; }
.vt-avatar--mono {
  display: grid;
  place-items: center;
  border: 1px solid var(--color-border);
  background: var(--surface-metal);
  color: var(--color-text);
  font-family: var(--font-display);
  font-size: 1.0625rem;
  font-weight: var(--fw-medium);
  letter-spacing: 0.02em;
}
.vt-lines { container: vt-zeilen / inline-size; margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--color-divider); }
.vt-stage__card .vt-lines, .vt-export .vt-lines { border-color: rgba(21, 23, 26, .08); }
.vt-line {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 0.1875rem;
  min-height: 2.75rem;
  padding: 0.625rem 0;
  border-bottom: 1px solid var(--color-divider);
  color: inherit;
  font-size: 0.875rem;
  text-decoration: none;
}
.vt-stage__card .vt-line, .vt-export .vt-line { border-color: rgba(21, 23, 26, .08); }
.vt-line__label {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--color-text-muted);
  font-family: var(--font-mono);
  font-size: var(--fs-micro);
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
  white-space: nowrap;
}
.vt-line__label .icon { width: 0.75rem; height: 0.75rem; color: var(--color-text-subtle); transition: color var(--dur-fast); }
.vt-line__value {
  min-width: 0;
  max-width: 100%;
  font-size: 0.9375rem;
  font-weight: var(--fw-semibold);
  overflow-wrap: break-word;
  transition: color var(--dur-fast);
}
.vt-line--mail .vt-line__value { overflow-wrap: anywhere; }
.vt-line:hover .vt-line__value, .vt-line:focus-visible .vt-line__value { color: var(--color-accent-text); }
.vt-line:hover .vt-line__label .icon { color: var(--color-accent-text); }
.vt-line:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 2px; border-radius: var(--radius-xs); }
@container vt-zeilen (min-width: 20rem) {
  .vt-hits--einzeln .vt-line {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.125rem var(--space-4);
    padding: 0.6875rem 0;
  }
  .vt-hits--einzeln .vt-line__label { font-family: inherit; font-size: inherit; letter-spacing: normal; text-transform: none; }
  .vt-hits--einzeln .vt-line__label .icon { width: 1rem; height: 1rem; }
  .vt-hits--einzeln .vt-line__value { margin-left: auto; font-size: inherit; text-align: right; }
}
.vt-label {
  margin: 0;
  color: var(--color-text-subtle);
  font-family: var(--font-mono);
  font-size: var(--fs-micro);
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
}
.vt-person {
  display: grid;
  grid-template-areas: "head" "ort" "lines" "zones";
  align-content: start;
  gap: var(--space-4);
  height: 100%;
  padding: var(--card-pad);
  border: 1px solid var(--color-border-hair);
  border-radius: var(--radius-2xl);
  background: var(--color-bg-raised);
  box-shadow: var(--shadow-xs);
  transition: box-shadow var(--dur-slow) var(--ease-out), border-color var(--dur-slow);
}
.vt-person:hover { box-shadow: var(--shadow-md); border-color: transparent; }
.vt-person__head { grid-area: head; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--space-4); align-items: center; }
.vt-person__name { margin: 0; font-size: 1.3125rem; font-weight: var(--fw-semibold); line-height: 1.15; letter-spacing: var(--tracking-h3); }
.vt-person__role { margin: 0.25rem 0 0; color: var(--color-text-muted); font-size: 0.875rem; line-height: 1.35; }
.vt-person__ort { grid-area: ort; display: flex; align-items: flex-start; gap: 0.5rem; margin: 0; color: var(--color-text-muted); font-size: 0.875rem; line-height: 1.45; }
.vt-person > .vt-lines { grid-area: lines; }
.vt-person__zones { grid-area: zones; display: grid; gap: 0.5rem; }
.vt-person__zones .chips { gap: 0.3125rem; }
.vt-zone { min-height: 1.625rem; padding-inline: 0.625rem; font-variant-numeric: tabular-nums; letter-spacing: 0.04em; }
@media (min-width: 1280px) {
  .vt-person {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-areas: "head lines" "ort lines" "zones lines";
    grid-template-rows: auto auto 1fr;
    column-gap: var(--gap);
  }
  .vt-person__zones { align-self: end; }
}
.vt-partner {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  height: 100%;
  padding: var(--card-pad);
  border: 1px solid var(--color-border-hair);
  border-radius: var(--radius-2xl);
  background: var(--color-bg);
  transition: box-shadow var(--dur-slow) var(--ease-out), background-color var(--dur-slow);
}
.section:not(.section--white) .vt-partner { background: var(--color-bg-raised); }
.vt-partner:hover { background: var(--color-bg-raised); box-shadow: var(--shadow-md); }
.vt-partner__top { display: grid; gap: 0.625rem; }
.vt-partner__art {
  margin: 0;
  color: var(--color-text-subtle);
  font-family: var(--font-mono);
  font-size: var(--fs-micro);
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
}
.vt-codes {
  display: flex;
  flex-wrap: nowrap;
  gap: 0 0.375rem;
  white-space: nowrap;
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(2.5rem, 2.1rem + 1.2vw, 3.25rem);
  font-weight: var(--fw-thin);
  line-height: 0.9;
  letter-spacing: var(--tracking-num);
  background: var(--ink-metal-dark);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  user-select: none;
}
.vt-codes span + span::before { content: "/"; margin-right: 0.375rem; opacity: 0.55; }
.vt-partner__title { margin: 0; font-size: 1.25rem; font-weight: var(--fw-semibold); line-height: 1.2; letter-spacing: var(--tracking-h3); hyphens: manual; }
.vt-partner__who { display: flex; align-items: center; gap: var(--space-3); }
.vt-partner__who p { display: grid; gap: 0.125rem; margin: 0; font-size: 0.9375rem; line-height: 1.35; }
.vt-partner__who strong { font-weight: var(--fw-semibold); }
.vt-partner__who span { color: var(--color-text-muted); font-size: 0.875rem; }
.vt-partner__who--mehrere { flex-direction: column; align-items: flex-start; gap: var(--space-3); }
.vt-partner__addr { display: flex; align-items: flex-start; gap: 0.5rem; margin: 0; color: var(--color-text-muted); font-size: 0.875rem; line-height: 1.45; }
.vt-partner__body { display: flex; flex-direction: column; gap: var(--space-4); min-width: 0; }
.vt-partner > .vt-lines { margin-top: auto; }
@media (min-width: 600px) and (max-width: 1023.98px) {
  .vt-partners--world > .sx-grid__item:last-child:nth-child(odd) { grid-column: 1 / -1; }
  .vt-partners--world > .sx-grid__item:last-child:nth-child(odd) > .vt-partner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: start;
    column-gap: var(--gap);
  }
  .vt-partners--world > .sx-grid__item:last-child:nth-child(odd) > .vt-partner > .vt-lines { margin-top: 0; }
}
.vt-partners--eu > .sx-grid__item:first-child { grid-column: 1 / -1; }
.vt-partner--feature {
  display: grid;
  grid-template-areas: "media" "info" "contact";
  gap: var(--space-5);
  padding: 0.5rem 0.5rem var(--card-pad);
  overflow: hidden;
}
.vt-partner__media { grid-area: media; position: relative; margin: 0; overflow: hidden; aspect-ratio: 16 / 10; border-radius: calc(var(--radius-2xl) - 0.5rem); background: var(--color-surface-3); }
.vt-partner__media img { width: 100%; height: 100%; object-fit: cover; }
.vt-partner__cap {
  position: absolute;
  left: 0.75rem;
  bottom: 0.75rem;
  max-width: calc(100% - 1.5rem);
  margin: 0;
  padding: 0.4375rem 0.875rem;
  border-radius: var(--radius-pill);
  font-family: var(--font-mono);
  font-size: var(--fs-micro);
  letter-spacing: 0.04em;
}
.vt-partner__info { grid-area: info; display: flex; flex-direction: column; gap: var(--space-4); min-width: 0; padding-inline: calc(var(--card-pad) - 0.5rem); }
.vt-partner__contact { grid-area: contact; display: grid; align-content: start; gap: var(--space-4); min-width: 0; padding-inline: calc(var(--card-pad) - 0.5rem); }
@media (min-width: 600px) {
  .vt-partner--feature { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-areas: "media media" "info contact"; column-gap: 0; }
  .vt-partner--feature .vt-partner__media { aspect-ratio: 21 / 9; }
}
@media (min-width: 1024px) {
  .vt-partner--feature {
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr) minmax(0, 1fr);
    grid-template-areas: "media info contact";
    gap: 0;
    padding: 0.5rem;
  }
  .vt-partner--feature .vt-partner__media { aspect-ratio: auto; min-height: 24rem; }
  .vt-partner__info, .vt-partner__contact { padding: calc(var(--card-pad) - 0.5rem) calc(var(--card-pad) - 0.25rem); }
  .vt-partner__contact { padding-left: 0; }
}
@media (min-width: 600px) { .vt-partners--eu > .sx-grid__item:last-child:has(.vt-teaser) { grid-column: span 2; } }
.vt-teaser {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  height: 100%;
  padding: var(--card-pad);
  border: 1px solid rgba(255, 255, 255, .85);
  border-radius: var(--radius-2xl);
  background: var(--surface-metal);
  box-shadow: var(--shadow-sm);
}
.vt-teaser .eyebrow { margin: 0; }
.vt-teaser__title { margin: 0; max-width: 16ch; font-size: var(--fs-h3); font-weight: var(--fw-medium); line-height: 1.1; letter-spacing: var(--tracking-h2); }
.vt-teaser__text { max-width: 42ch; margin: 0; color: var(--color-text-muted); font-size: 0.9375rem; line-height: 1.5; }
.vt-teaser__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3) var(--space-5); margin-top: auto; padding-top: var(--space-2); }
.vt-teaser__tel { display: inline-flex; align-items: center; gap: 0.5rem; color: var(--color-text); font-weight: var(--fw-semibold); text-decoration: none; }
.vt-teaser__tel .icon { color: var(--color-text-subtle); }
.vt-teaser__tel:hover { color: var(--color-accent-text); }
.vt-partner__gebiet { margin: 0; color: var(--color-text-muted); font-size: 0.8125rem; line-height: 1.55; }
.vt-partner__gebiet .vt-label { display: block; margin-bottom: 0.25rem; }
.vt-pdf {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: var(--space-3);
  align-items: center;
  padding: var(--space-3);
  border: 1px solid var(--color-border-hair);
  border-radius: var(--radius-lg);
  background: var(--color-bg-raised);
  color: inherit;
  text-decoration: none;
  transition: border-color var(--dur-fast), box-shadow var(--dur-fast);
}
.vt-pdf:hover { border-color: var(--color-border-strong); box-shadow: var(--shadow-sm); }
.vt-pdf:hover > .icon { color: var(--color-accent-text); }
.vt-pdf__icon { display: grid; place-items: center; width: 2.25rem; height: 2.25rem; border-radius: var(--radius-sm); background: var(--color-surface-3); color: var(--color-text-muted); }
.vt-pdf__body { display: grid; gap: 0.125rem; min-width: 0; }
.vt-pdf__title { font-family: var(--font-display); font-size: 0.9375rem; font-weight: var(--fw-medium); line-height: 1.25; }
.vt-pdf__meta { color: var(--color-text-subtle); font-family: var(--font-mono); font-size: var(--fs-micro); letter-spacing: 0.04em; }
.vt-pdf__m { white-space: nowrap; }
.vt-pdf > .icon { color: var(--color-text-muted); transition: color var(--dur-fast); }
.vt-export {
  display: grid;
  gap: var(--space-7) var(--gap-lg);
  margin-top: var(--gap);
  padding: clamp(1.25rem, 0.8rem + 2.5vw, 3rem);
  border: 1px solid rgba(255, 255, 255, .85);
  border-radius: var(--radius-3xl);
  background: var(--surface-metal);
  box-shadow: var(--shadow-md);
}
@media (max-width: 767.98px) { .vt-export { border-radius: var(--radius-2xl); } }
@media (min-width: 1024px) { .vt-export { grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); align-items: start; } }
.vt-export__title { margin: 0; max-width: 16ch; font-size: var(--fs-h3); font-weight: var(--fw-medium); line-height: 1.1; letter-spacing: var(--tracking-h2); }
.vt-export__text { max-width: 40ch; margin: var(--space-4) 0 0; color: var(--color-text-muted); font-size: 1rem; line-height: 1.5; }
.vt-export__addr { display: flex; align-items: flex-start; gap: 0.5rem; margin: var(--space-5) 0 0; color: var(--color-text-muted); font-size: 0.875rem; line-height: 1.45; }
.vt-export__list { display: grid; gap: var(--space-4); margin: 0; padding: 0; list-style: none; }
@media (min-width: 768px) { .vt-export__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.vt-export__item {
  display: grid;
  align-content: start;
  gap: var(--space-4);
  min-width: 0;
  padding: var(--space-5);
  border: 1px solid rgba(255, 255, 255, .9);
  border-radius: var(--radius-xl);
  background: rgba(255, 255, 255, .66);
}
.vt-export__zust { margin: 0; color: var(--color-text-muted); font-size: 0.875rem; line-height: 1.45; }
.vt-partners--world + .vt-export { margin-top: var(--gap); }
@keyframes vt-ein {
  from { opacity: 0; transform: translateY(0.5rem); }
  to   { opacity: 1; transform: none; }
}
.vt-stage__card.is-neu .vt-hit { animation: vt-ein var(--dur-slow) var(--ease-out) both; }
.vt-stage__card.is-neu .vt-hit + .vt-hit { animation-delay: 90ms; }
.vt-stage__card.is-neu .vt-stage__title { animation: vt-ein var(--dur-base) var(--ease-out) both; }
.vt-nojs { margin: var(--space-6) 0 0; max-width: 36rem; color: var(--color-text-muted); font-size: 0.9375rem; line-height: 1.5; }
.js .vt-nojs { display: none; }
html:not(.js) .vt-finder, html:not(.js) .vt-stage__text { display: none; }
@media (prefers-reduced-motion: reduce) {
  .vt-stage__card.is-neu .vt-hit, .vt-stage__card.is-neu .vt-stage__title { animation: none; }
  .vt-person, .vt-partner, .vt-line__value, .vt-line__label .icon { transition: none; }
}
@media print {
  .vt-finder, .vt-stage { display: none !important; }
  .vt-person, .vt-partner, .vt-export { box-shadow: none; break-inside: avoid; }
  .vt-export { background: #fff; }
}
