/*
 * blue: #009EE3
 * black: #333333
 */

html, body {
  height: 100%;
  margin: 0;
  padding: 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* BODY als Spalte */
body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  font-family: Arial, sans-serif;
  line-height: 1.4;
  color: #333333;
  font-size: 20px;
  background-color: #ffffff;
}

a { color: #009EE3; }

/* --------------------------------
   HERO: Bild + Text
--------------------------------- */
.hero {
  display: block;              /* mobil/Tablet: untereinander */
}

/* Bildbanner mobil */
.top-wrapper {
  background-image: url(assets/bg.webp);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 200px;               /* Bannerhöhe mobil */
}

/* Tablet: etwas höher */
@media (min-width: 768px) {
  body { font-size: 15px; }
  .top-wrapper { height: 250px; }
}

/* Desktop: zweispaltig (Text links, Bild rechts) */
@media (min-width: 1140px) {
  .hero {
    display: flex;
    min-height: 100vh;         /* volle Höhe für schöne Bildspalte */
  }

  main, .top-wrapper {
    flex: 1 1 50%;
  }

  /* Bild rechts platzieren */
  .hero {
    flex-direction: row;
  }
  .top-wrapper { order: 2; }
  main        { order: 1; }

  .top-wrapper {
    height: auto;
    background-position: right center;
  }
}

/* --------------------------------
   INHALT
--------------------------------- */
.main-wrapper {
  width: 100%;
  box-sizing: border-box;
}

main {
  width: 100%;
  max-width: 1000px;
  padding: 20px;
  box-sizing: border-box;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

@media (min-width: 1140px) {
  main {
    justify-content: center;   /* Text in Spalte mittig ausrichten */
  }
}

main h1 {
  font-weight: normal;
  font-size: 24px;
  margin-top: 0;
  margin-bottom: 40px;
}
main p { margin-bottom: 20px; }

main .logo {
  width: 100%;
  max-width: 420px;
  box-sizing: border-box;
  margin-bottom: 80px;
}
main .logo img { width: 100%; }

/* Tablet+ Feinheiten */
@media (min-width: 768px) {
  main h1 { font-size: 36px; }
  main .logo { max-width: 460px; }
}

/* HIDPI */
@med
