/* Auf die Referenzsektion begrenztes CSS: keine Änderungen an Theme/Header/Hero. */
.tu-refs,
.tu-refs * { box-sizing:border-box; }
.tu-refs[hidden] { display:none !important; }
.tu-refs {
  --tu-refs-duration:70s;
  isolation:isolate;
  position:relative;
  z-index:1;
  display:block;
  width:100%;
  overflow:hidden;
  background: radial-gradient(ellipse 68% 130% at 50% 0%, #292e31 0%, #1c2022 58%, #141719 100%);
  color:#f8fafb;
  padding:24px 0 24px;
  margin:0;
  border:0;
  text-align:center;
  line-height:1.4;
  font-family:inherit;
}
.tu-refs__inner { width:min(100%,1460px);padding:0 clamp(18px,6.1vw,100px);margin:auto; }
.tu-refs__header { display:flex;align-items:center;justify-content:center;gap:clamp(16px,3.3vw,48px); }
.tu-refs__rule { flex:1 1 0; height:1px; background:rgba(255,255,255,.17); max-width:375px; }
.tu-refs__heading-wrap { flex:0 1 auto; min-width:0; }
.tu-refs__heading {
  margin:0 !important;
  font-family:inherit;
  font-weight:750;
  font-size:clamp(17px,2.05vw,30px);
  line-height:1.2;
  color:#fff !important;
  letter-spacing:.14em;
  text-transform:uppercase;
  text-wrap:balance;
}
.tu-refs__subtitle {
  margin:7px 0 0 !important;
  padding:0;
  color:#c3c6c8 !important;
  font-size:clamp(11px,1.07vw,15px);
  font-weight:400;
  line-height:1.3;
  letter-spacing:.005em;
}
.tu-refs__viewport {
  position:relative;
  width:100%;
  margin-top:0;
  overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%, #000 5%, #000 95%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0%, #000 5%, #000 95%,transparent 100%);
}
.tu-refs__track {
  display:flex;
  width:max-content;
  transform:translate3d(0,0,0);
  will-change:transform;
  animation:tu-refs-scroll var(--tu-refs-duration) linear infinite;
}
.tu-refs__group {
  display:flex;
  flex:0 0 auto;
  width:max-content;
  align-items:center;
  gap:clamp(22px,3vw,52px);
  padding-right:clamp(22px,3vw,52px);
}
.tu-refs__logo {
  flex:0 0 clamp(118px,11.3vw,178px);
  width:clamp(118px,11.3vw,178px);
  height:47px;
  display:flex;
  justify-content:center;
  align-items:center;
}
.tu-refs__logo img {
  display:block;
  width:100%;
  height:36px;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  object-position:center;
  opacity:.91;
  transition:opacity .2s ease;
  border:0;
  box-shadow:none;
  background:transparent;
}
.tu-refs__logo--tall img { height:47px; }
.tu-refs__logo--custom img { filter:grayscale(1) brightness(0) invert(1); }
.tu-refs__logo:hover img { opacity:1; }
.tu-refs__viewport:hover .tu-refs__track,
.tu-refs__viewport:focus-within .tu-refs__track { animation-play-state:paused; }
@keyframes tu-refs-scroll { from { transform:translate3d(0,0,0); } to {transform:translate3d(-50%,0,0);}}
@media (max-width:767px) {
  .tu-refs { padding:20px 0 20px; }
  .tu-refs__inner {padding:0 16px;}
  .tu-refs__header {gap:10px;}
  .tu-refs__rule {max-width:40px;}
  .tu-refs__heading {letter-spacing:.075em;font-size:clamp(16px,4.2vw,23px);}
  .tu-refs__subtitle {font-size:12px;}
  .tu-refs__viewport {margin-top:0;}
  .tu-refs__group {gap:27px;padding-right:27px;}
  .tu-refs__logo { flex-basis:138px;width:138px;height:40px; }
  .tu-refs__logo img {height:32px;}
  .tu-refs__logo--tall img {height:39px;}
}
@media (prefers-reduced-motion:reduce) {
  .tu-refs__track {animation:none !important;}
  .tu-refs__viewport {overflow-x:auto;scrollbar-width:thin; -webkit-mask-image:none;mask-image:none;}
  .tu-refs__group[aria-hidden="true"] {display:none;}
}

.tu-refs__header--simple { display:block; }
.tu-refs__subtitle--main {
  margin:0 !important;
  color:#cfd4d6 !important;
  font-size:clamp(11px,1.07vw,15px);
  font-weight:500;
  line-height:1.3;
  letter-spacing:.14em;
  text-transform:uppercase;
}
@media (max-width:767px) {
  .tu-refs__subtitle--main { font-size:12px; letter-spacing:.11em; }
}
