:root {
  --brand: #ff6600;
  --text: #333;
  --bg: #fff;
  --alt: #f7faff;
  --cta-bg: #ff6600;
  --cta-fg: #fff;
  --footer: #f0f0f0;
}

* {
  box-sizing: border-box
}

.top-row-hero {
  position: sticky;
  top: 0;
  z-index: 10;
  width: 100%;
  background: #fff;
  padding: .5rem 1rem;
  display: flex;
  align-items: center;
}

  .top-row-hero.center {
    justify-content: center;
  }

  .top-row-hero.right {
    justify-content: flex-start;
  }

  .top-row-hero.with-cta {
    justify-content: space-between;
  }

.hero_top {
  display: flex;
  align-items: center;
  gap: .6rem;
}

.hero__img {
  width: 48px;
  height: 48px;
  flex-shrink: 0;
}

.hero__text h1 {
  margin: 0;
  line-height: 1;
  font-size: 1.4rem;
  color: #ff6600;
}

/* CTA im Header */
.top-cta {
  display: inline-block;
  padding: .45rem .9rem;
  border-radius: 10px;
  background: #ff6600;
  color: #fff;
  text-decoration: none;
  font-weight: 700;
}

  .top-cta:hover {
    filter: brightness(.96);
  }

/* Anker-Offset wegen Sticky-Header */
section[id] {
  scroll-margin-top: 90px;
}
/* an Headerhöhe anpassen */

.top-row-hero {
  position: sticky;
  top: 0;
  z-index: 10;
  width: 100%;
  background: #fff;
  padding: .5rem 1rem;
}

.header-grid {
  display: grid;
  grid-template-columns: 1fr auto 1fr; /* leer | Mitte | rechts */
  align-items: center;
}

.hero_top {
  display: flex;
  align-items: center;
  gap: .6rem;
  justify-self: center;
}

.top-cta {
  justify-self: end;
  display: inline-block;
  padding: .45rem .9rem;
  border-radius: 10px;
  background: #ff6600;
  color: #fff;
  text-decoration: none;
  font-weight: 700;
}

  .top-cta:hover {
    filter: brightness(.96);
  }

.hero__img {
  width: 48px;
  height: 48px;
}

.hero__text h1 {
  margin: 0;
  line-height: 1;
  font-size: 1.4rem;
  color: #ff6600;
}

/* Mobile Feinheiten */
@media (max-width:480px) {
  .hero__text h1 {
    font-size: 1.1rem;
  }

  .top-cta {
    padding: .4rem .7rem;
    font-size: .9rem;
  }
}