
  .stage .content-inner {

  padding-top:24px;
  }

.stage-intro{
  margin: 80px 0;
}

.content-section{
  max-width:940px;
}

.pill{
  border-radius: 24px;
  padding: 6px 12px;
  color: #C72E00;
  background-color: #FFE2E2;
  font-weight: 500;
  margin:0px;
}

.ref-header img{
  max-width: 1024px;
  margin: 0 auto;
}

.ref-header img{
  width:100%;
}

.content-image{
  padding-bottom:24px;
  width:100%;
}

.strecke-imgs {
  background-color:#F9F9FF;
  margin: 24px -24px 0px;
  padding: 24px 24px;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  gap: 24px;
}

.strecke-imgs img {
    width: calc(50% - 24px);
}

.marquee-section {
  margin-bottom: -96px;
  position: relative;
  z-index: -10;
}

.skills{
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  gap: 8px;
  margin-top:24px;
}

.card p.text-link {
    font-weight: bold;
    position: relative;
    color: rgba(00, 00, 00, 1);
    text-decoration: none;
    padding: 0;
    bottom:0px;
    display: inline-flex;
    align-items: center;
    cursor: pointer;
    transition: all 0.1s ease-out;
    overflow: visible;
    margin-bottom:0px;
}

  .text-link::before {
    content: "";
    position: absolute;
    bottom: 2px;
    left: 0;
    height: 2px;
    width: 0%;
    background-color: rgba(55, 49, 253, 0.6);
    transition: all 0.1s ease-out;
    z-index: -1;
   
  }

  .card:hover .text-link::before {
    height: 12px;
    width: calc(100% - 28px);
    left: 0px;
    bottom: 2px;
    background-color: rgba(55, 49, 253, 0.2);
  }

  .card:hover .text-link {
      color: rgba(55, 49, 253, 1);
  }

    .card:hover h3 {
      color: rgba(55, 49, 253, 1);
  }

.overlay-footer .content-inner {
    display: flex;
    justify-content: flex-end;
}

p.blue-list {
    margin-left: 24px;
}

.blue-list::before {
    content: "";
    width: 8px;
    height: 8px;
    background-color: rgba(55, 49, 253, 1);
    display: inline-block;
    top: -2px;
    margin-right: 4px;
    margin-left:-16px;
    position: relative;
    border-radius: 0px;
    transform: rotate(45deg);
}

.skills .blue-list::before {
    margin-right: 8px;
}

  .marquee-container {
      width: 100vw;
      overflow: hidden;
      white-space: nowrap;
      position: relative;
  }

  .marquee {
      display: inline-block;
      white-space: nowrap;
      font-size: 8vw;
      font-size: clamp(64px, 8vw, 140px);
      font-weight: bold;
      animation: marquee-animation 120s linear infinite;
      color:#F5F8FF;
      text-shadow:2px 2px 0px #ffffff, -2px -2px 0px #ffffff, 0px 2px 0px #ffffff, 2px 0px 0px #ffffff, -2px 2px 0px #ffffff, 2px -2px 0px #ffffff;}

  .marquee-reverse {
      display: inline-block;
      white-space: nowrap;
      font-size: 8vw;
      font-size: clamp(64px, 8vw, 140px);
      font-weight: bold;
      animation: marquee-reverse-animation 120s linear infinite;
      color:#F5F8FF;
      text-shadow:2px 2px 0px #ffffff, -2px -2px 0px #ffffff, 0px 2px 0px #ffffff, 2px 0px 0px #ffffff, -2px 2px 0px #ffffff, 2px -2px 0px #ffffff;}

  .marquee span, .marquee-reverse span {
      display: inline-block;
      padding-right: 50vw; /* Abstand für fließenden Übergang */
  }

  @keyframes marquee-animation {
      from { transform: translateX(0); }
      to { transform: translateX(-50%); }
  }

  @keyframes marquee-reverse-animation {
      from { transform: translateX(-50%); }
      to { transform: translateX(0); }
  }


  .no-scroll {
      overflow: hidden;
  }

  .overlay {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: #F5F8FF;
      display: flex;
      justify-content: center;
      align-items: flex-start;
      opacity: 0;
      padding-top: 16px;
      z-index: 11;
      visibility: hidden;
      transition: opacity 0.2s ease-out, visibility 0.2s;
  }

  .overlay.active {
      opacity: 1;
      visibility: visible;
  }

  .overlay .content-inner{
      max-width: 720px;
      padding:24px 0px 0px;
      margin: 0 auto;
  }

  .overlay-content {
    background: white;
    padding: 24px;
    transform: translateY(48px);
    transition: transform 0.5s ease-out;
    width:100%;
    max-width: 1200px;
    margin:0 16px;
    height: calc(100vh - 32px);
    overflow-y: auto;
    box-sizing: border-box;
  }

  .overlay.active .overlay-content {
      transform: translateY(0);
  }

  .overlay .intro{
    font-size:16px;
    line-height:24px;
    margin-bottom:24px;
  }

.overlay .case-image{
      width: 100%;
    height: 260px;
    max-width: 960px;
    margin-left: auto;
    background: #f2f2f2;
    margin-bottom: 40px;
    margin-right: auto;
}

.overlay-footer{
  border-top:1px solid rgba(55, 49, 253, 0.1);
  padding:24px 0;
}

  .sub-footer{
    border-top:1px solid rgba(255,255,255,0.1);
    width:100%;
    padding:40px !important;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .footer a {
   text-decoration: none;
   color:#fff;
   opacity: 0.7;
   margin-right:16px;
  }

  .footer a:hover {
   text-decoration: underline;
   color:#fff;
   opacity: 1;
  }


  .footer .button-container a{
   opacity: 1;
  }

  .footer{
    display: flex;
    align-items: center;
    background-color:#010029;
  }

  .footer h2{
    color:#fff;
  }

.button-container{
  display: flex;
  flex-direction: column;
  gap:24px;
}

button{
  padding:12px 24px;
  border-radius:0px;
  background-color:#3731FD;
  color:#fff;
  font-size:16px;
  line-height:24px;
  font-weight:bold;
  border:0px;
  transition: .2s ease-out all;
  cursor: pointer;
  height:48px;
}

.full-cta{
  width:100%;
}

button:hover{
  color:#3731FD;
  background-color:#fff;
  font-size:16px;
  line-height:24px;
}

button.secondary{
  padding:16px 24px;
  border-radius:0px;
  border:2px solid #3731FD;
  color:#fff;
  font-size:16px;
  line-height:24px;
  font-weight:bold;
  border:0px;
  width:100%;
  transition: .2s ease-out all;
  cursor: pointer;
}

button.secondary:hover{
  color:#3731FD;
  background-color:#fff;
  font-size:16px;
  line-height:24px;
}


.ref-container{
  display: flex;
  gap: 0px;
  flex-wrap: wrap;
  margin-bottom:40px;
}


.ref-img{
  padding: 16px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  aspect-ratio: 1 / 1;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  width: 33%;
  margin-bottom: -2px;
  margin-left: -2px;
}


.ref-img img {
  width: 100%;
  filter: saturate(0);
}

a.card {
  text-decoration: none;
  margin-bottom: 24px;
  display: inline-block;
  width: 100%;
  cursor: pointer;
  bottom: 0;
}

a.card:last-child {
  margin-bottom: 0px;
}

.card:hover .text-link svg path {
    stroke: rgba(55, 49, 253, 1);
}

.card .text-link svg {
    padding-left:4px;
    transition: all 0.2s ease-out;
}

.card-img-wrapper{
  width:100%;
  height:200px;
  transition: 0.2s all;
  overflow: hidden;
  cursor: pointer;
  border-radius:0px;
  position:relative;
}

.card-img-wrapper img {
  height: 100%;
  width: 100%;
  object-fit: cover;
  transition: .2s ease-out all;
}

a.card:hover .card-img-wrapper img {
  transition: .2s ease-out all;
  transform: scale(1.04);
}

.card-text-container{
  padding:24px 0px 16px;
}

.icon-button{
  background-color: #3731FD;
  width: 48px;
  height: 48px;
  border-radius: 24px;
  transition: .2s ease-out all;
  padding:12px;
  box-sizing:border-box;
}

.card .icon-button{
  position: absolute;
  z-index: 10;
  right: 16px;
  bottom: 16px;
}

.flat-icon-button{
  position: sticky;
  float: right;
  background-color: rgba(255, 255, 255, 1);
  width: 48px;
  height: 48px;
  top:0;
  border-radius: 24px;
  z-index: 10;
  transition: .2s ease-out all;
  padding:12px;
  box-sizing:border-box;
  cursor: pointer;
}

 .flat-icon-button:hover{
    background-color: rgba(55, 49, 253, 0.2);
}

.flat-icon-button svg{
  width: 24px;
  height: 24px;
}

.flat-icon-button:hover svg path{
  stroke:#3731FD;
}

a.card:hover .icon-button{
  background-color: #ffffff;
}

.button-arrow-right {
  width:24px;
  height:24px;
  background-image: url("Right_24-white.svg"); 
}

.card:hover .button-arrow-right {
  width:24px;
  height:24px;
  background-image: url("Right_24.svg"); 
}

.sec-button{
  border: 2px solid #3731FD;
  width: auto;
  height: 48px;
  display: flex;
  background-color: white;
  color: #3731FD;
  padding: 10px 24px;
  transition: .2s ease-out all;
}

.sec-button:hover{
  background-color:#3731FD;
  color: #fff;
}

.sec-button .button-arrow-right,.text-link .button-arrow-right {
  width:24px;
  height:24px;
  background-image: url("Right_24.svg"); 
  transition: .2s ease-out all;
  margin-left:8px;
}

.sec-button:hover .button-arrow-right,.text-link:hover .button-arrow-right {
  width:24px;
  height:24px;
  background-image: url("Right_24-white.svg"); 
}



.card h4{
  text-decoration: none;
  color:rgba(0,0,0,0.5);
  font-weight: 400;
  font-size:12px;
  line-height:14px;
}

.card h3{
  text-decoration: none;
  color:rgba(0,0,0);
  margin-bottom:8px;
}

.card p{
  text-decoration: none;
  color:rgba(0,0,0, 0.8);
  margin-bottom:16px;
}
html{
  scroll-behavior: smooth;
}

body{
  margin:0;
    font-family: 'Hanken Grotesk';
}

h1 {
  font-size: 20px;
  line-height: 28px;
  margin: 0;
  font-weight: 400;
}

h2 {
  font-size:28px;
  line-height:36px;
  margin-top:0;
  margin-bottom:16px;
}

h3 {
  font-size:24px;
  margin-top:0;
  margin-bottom:12px;
}

h4{
  margin-top:0;
  font-size:18px;
  margin-bottom:8px;
}

p {
  font-size:16px;
  line-height:24px;
  font-weight: 400;
  margin-top:0;
}

.section{
  width:100%;
}

body {
  background-color:#F5F8FF;
}

.stage {
  background-image:url("stage-bg.svg");
  background-position: center;
  background-size:cover;
}

.content-inner{
  max-width: 1240px;
  padding:40px 24px;
  margin: 0 auto;
}

.profil-header{
  margin-bottom:48px;
  display: flex;
  justify-content: space-between;
}

.profil-image{
  width:48px;
  height:48px;
  background-image:url("profil.png");
  background-size:contain;
  border-radius: 50%;

}

.linkedin-profil{
  width:48px;
  height:48px;
  background:#ffffff;
  border-radius: 50%;
  padding: 12px;
  box-sizing: border-box;
}


.content-inner.stage {
    padding: 24px 24px;
    margin: 24px 0;
}

.copyright-text{
  color:rgba(255,255,255, 0.6);
  font-size:16px;
  margin:0px;
}






/**********************  Tablet/Desktop  ***************************/

@media screen and (min-width: 768px) {

  .stage-intro{
  margin: 0;
}


.pill{
  padding: 8px 16px;
}

.strecke-imgs {
  margin: 48px -40px 0px;
  padding: 48px 24px;
}

.strecke-imgs img {
  width: auto;
  max-width: 260px;
}

.marquee-section {
  margin-bottom: -200px;
}

  .marquee-container {
      width: calc(100vw - 15px);
  }

  h1 {
    font-size: 38px;
    line-height: 56px;
  }

  h2 {
    font-size:64px;
    line-height:80px;
    margin: 0 0 40px;
    font-size: clamp(40px, 5vw, 64px);
    line-height: clamp(48px, 6vw, 80px);
  }

  h3 {
    font-size:28px;
    line-height:36px;
    margin-bottom:24px;
  }

  h4{
    font-size:20px;
    line-height: 28px;
    margin-bottom:16px;
  }

  p {
    font-size:20px;
    line-height:32px;
  }

h2+p {
    margin-top: -12px;
}

p+h3, p+h4 {
    padding-top: 16px;
}

  button{
    height:56px;
  }

  .stage .content-inner {
  min-height:65vh;
  }

  .content-inner{
    max-width: 1200px;
    padding:64px 24px
  }

  .profil-header{
    margin-bottom:80px;
  }

  .profil-image{
    width:96px;
    height:96px;
  }

  .linkedin-profil{
    width:96px;
    height:96px;
    padding:36px;
  }

  .content-inner.profil-container{
    display:flex;
    gap:24px;

  }

  .skills{
    gap:16px;
    margin-top:40px;
  }

  .cards-container{
    display: flex;
    gap: 40px;
  }

  a.card {
    margin-bottom:0px;
  }

  .card h4{
    font-size:16px;
    line-height:24px;
    margin-bottom:4px;
  }

.card-img-wrapper{
  height:350px;

}

  .card-text-container{
    padding:24px 0px 0px;
  }

    .ref-img:first-child{
    border-left:2px solid #fff;
  }

  .contact{
    display: flex;
    align-items: center;
    margin: 40px 0px;
    width: 100%;
    flex-direction: row;
    justify-content: space-between;
    gap:40px;
  }

  .button-container{
    display: flex;
    flex-direction: row;
    gap:24px;
  }


  /*** Overlay ***/

  .overlay {
    padding-top: 40px;
  }

  .overlay-content {
    padding: 40px;
    margin:0 24px;
    height: calc(100vh - 40px);
  }

  .overlay.active .overlay-content {
    transform: translateY(0);
  }

  .overlay .content-inner{
    max-width: 800px;
    padding:40px 0px 0px;
    margin: 0 auto;
  }

  .overlay .intro{
    font-size:22px;
    line-height:34px;
    margin-bottom:40px;
  }


  .overlay .case-image{
    width:100%; 
    height:260px;
    background-color:#f2f2f2; 
    margin-bottom:40px;
  }

  .content-inner.stage {
      border-radius:0px;
      padding: 24px 40px;
      margin-bottom:48px;
      margin-top:48px;
  }

  .content-inner.stage h2 {
      margin-bottom:0px;
  }

.ref-img{
  padding: 32px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  flex: 1;
}


}


*:-webkit-any-link:focus-visible {
    outline-offset: 4px;
    outline: 2px solid #3731FD;
    border-radius: 0px;
}
:focus-visible {
    outline-offset: 4px;
    outline: 2px solid #3731FD;
    border-radius: 0px;
}

/* hanken-grotesk-300 - latin */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 300;
  src: url('fonts/hanken-grotesk-v4-latin-300.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('fonts/hanken-grotesk-v4-latin-300.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('fonts/hanken-grotesk-v4-latin-300.woff2') format('woff2'), /* Super Modern Browsers */
       url('fonts/hanken-grotesk-v4-latin-300.woff') format('woff'), /* Modern Browsers */
       url('fonts/hanken-grotesk-v4-latin-300.ttf') format('truetype'), /* Safari, Android, iOS */
       url('fonts/hanken-grotesk-v4-latin-300.svg#HankenGrotesk') format('svg'); /* Legacy iOS */
}
/* hanken-grotesk-regular - latin */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/hanken-grotesk-v4-latin-regular.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('fonts/hanken-grotesk-v4-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('fonts/hanken-grotesk-v4-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('fonts/hanken-grotesk-v4-latin-regular.woff') format('woff'), /* Modern Browsers */
       url('fonts/hanken-grotesk-v4-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('fonts/hanken-grotesk-v4-latin-regular.svg#HankenGrotesk') format('svg'); /* Legacy iOS */
}
/* hanken-grotesk-500 - latin */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 500;
  src: url('fonts/hanken-grotesk-v4-latin-500.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('fonts/hanken-grotesk-v4-latin-500.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('fonts/hanken-grotesk-v4-latin-500.woff2') format('woff2'), /* Super Modern Browsers */
       url('fonts/hanken-grotesk-v4-latin-500.woff') format('woff'), /* Modern Browsers */
       url('fonts/hanken-grotesk-v4-latin-500.ttf') format('truetype'), /* Safari, Android, iOS */
       url('fonts/hanken-grotesk-v4-latin-500.svg#HankenGrotesk') format('svg'); /* Legacy iOS */
}
/* hanken-grotesk-600 - latin */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 600;
  src: url('fonts/hanken-grotesk-v4-latin-600.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('fonts/hanken-grotesk-v4-latin-600.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('fonts/hanken-grotesk-v4-latin-600.woff2') format('woff2'), /* Super Modern Browsers */
       url('fonts/hanken-grotesk-v4-latin-600.woff') format('woff'), /* Modern Browsers */
       url('fonts/hanken-grotesk-v4-latin-600.ttf') format('truetype'), /* Safari, Android, iOS */
       url('fonts/hanken-grotesk-v4-latin-600.svg#HankenGrotesk') format('svg'); /* Legacy iOS */
}
/* hanken-grotesk-700 - latin */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 700;
  src: url('fonts/hanken-grotesk-v4-latin-700.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('fonts/hanken-grotesk-v4-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('fonts/hanken-grotesk-v4-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
       url('fonts/hanken-grotesk-v4-latin-700.woff') format('woff'), /* Modern Browsers */
       url('fonts/hanken-grotesk-v4-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
       url('fonts/hanken-grotesk-v4-latin-700.svg#HankenGrotesk') format('svg'); /* Legacy iOS */
}
/* hanken-grotesk-800 - latin */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 800;
  src: url('fonts/hanken-grotesk-v4-latin-800.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('fonts/hanken-grotesk-v4-latin-800.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('fonts/hanken-grotesk-v4-latin-800.woff2') format('woff2'), /* Super Modern Browsers */
       url('fonts/hanken-grotesk-v4-latin-800.woff') format('woff'), /* Modern Browsers */
       url('fonts/hanken-grotesk-v4-latin-800.ttf') format('truetype'), /* Safari, Android, iOS */
       url('fonts/hanken-grotesk-v4-latin-800.svg#HankenGrotesk') format('svg'); /* Legacy iOS */
}
/* hanken-grotesk-900 - latin */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 900;
  src: url('fonts/hanken-grotesk-v4-latin-900.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('fonts/hanken-grotesk-v4-latin-900.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('fonts/hanken-grotesk-v4-latin-900.woff2') format('woff2'), /* Super Modern Browsers */
       url('fonts/hanken-grotesk-v4-latin-900.woff') format('woff'), /* Modern Browsers */
       url('fonts/hanken-grotesk-v4-latin-900.ttf') format('truetype'), /* Safari, Android, iOS */
       url('fonts/hanken-grotesk-v4-latin-900.svg#HankenGrotesk') format('svg'); /* Legacy iOS */
}

