/* source-serif-4-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/source-serif-4-v14-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
@font-face {
  font-display: swap; 
  font-family: 'EuclidCircularA';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/EuclidCircularA-Regular-WebM.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
@font-face {
  font-display: swap; 
  font-family: 'EuclidCircularA-light';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/EuclidCircularA-Light-WebM.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
@font-face {
  font-display: swap; 
  font-family: 'EuclidCircularA-500';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/EuclidCircularA-Semibold-WebM.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
:root {
    --color-bg: #F5F5F5;
    /* Very light grey/white */
    --color-text-dark: #1D1E1C;
    --color-text-light: #FFFFFF;
    --color-purple: #7C0CC4;
    
    /*--color-gold: #EBB366;*/

    --font-serif: 'Source Serif 4', serif;
    --font-sans: 'EuclidCircularA', sans-serif;

    --container-width: 1200px;
    --card-padding: 60px;
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html, body {
    background-color: var(--color-bg);
    color: var(--color-text-light);
    font-family: var(--font-sans);
    font-size:16px;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
    min-height: 100vh;
    overflow-x:hidden;
}
h1 {
    font-family: var(--font-serif);
    font-size: 3.2rem;
    font-weight: 400;
    line-height: 1.1;
    margin-bottom: 60px;
    letter-spacing: -1px;
}
.datenschutz h1 {
  hyphens:auto;
}
h1 span {
  font-family: var(--font-sans);
  display:inline-block;
  margin-top:5px;
  font-size: 3.1rem;
  letter-spacing: 0;
}
.intro-text p {
  font-size:1.3rem;
}
.people-links {
  font-size:1.3rem;
}
.company-name {
    font-family: 'EuclidCircularA-500';
    font-size: 0.9rem;
}

.company-tagline {
  font-size: 0.8rem;
  line-height: 1.3;
}
.hexagon-cta {
  line-height: 1.1;
    font-size: 1.45rem;
    font-family: var(--font-serif);
}
strong {
    font-family: 'EuclidCircularA-500';
    font-weight:500;
}
.text-content a {
  color:rgba(255,255,255,1);
  text-decoration: underline;
  -webkit-transition: color 0.2s ease;
	-moz-transition: color 0.2s ease;
	transition: color 0.2s ease;
	}
a:visited, a:focus {	}
a:focus { outline: none;}
.text-content a:hover,
.text-content a:focus {
  color:rgba(255,255,255,0.65);
	}
footer a, footer .address {
  color:var(--color-purple);
}
.job-link a:hover, 
.job-link a:focus {
  font-family: 'EuclidCircularA-500';
}
p, ul {
  margin-bottom:30px;
}
h2, h3 {
  margin-bottom:15px;
}
ul {
  list-style-type: circle;
  margin-left: 30px;
}
.text-content li {
  margin-bottom: 5px;
}
ol {
  margin-left:30px;
}
/* Header */
.site-header {
    background-color: var(--color-bg);
    color: var(--color-text-dark);
    padding: 40px 80px 20px;
    max-width: 1440px;
    margin: 0 auto;
    width: 100%;
}

.logo-container {
    display: flex;
    align-items: center;
    gap: 20px;
}
.logo-mark.mobile {
    display:none;
  }
  .logo-mark.desktop {
    display:block;
  }

/* Main Content */
.main-content {
  background-image: url('img/BK_bg-desktop-large.jpg');
    width: 100%;
    background-size: cover;
    background-position: center;
}

.hero-card {
  background-size: cover;
  max-width: 1440px;
  margin: 0 auto;
  width: 100%;
  background-position: center;
}

.hero-inner {
    padding: 80px 100px;
    position: relative;
    z-index: 10;
    width: 100%;
}

.text-content {
    width:100%;
    max-width: 1200px;
    margin-left: 180px;
}


.intro-text p, .text-wrap p, .text-wrap ul {
  max-width: 650px;
}

/* People Links */
.people-links {
    margin-top: 50px;
    display: flex;
    gap: 80px;
}

.person {
    position:relative;
    
}
.mail-wrap {
  position:relative;
  display:flex;
}
.linkedin-wrap {
  margin-top:20px;
}
.person .svg-wrap {
  width: 80px;
  position: relative;
  height: 40px;
  overflow: hidden;
  margin-left: 30px;
}
.arrow-icon {
    position: absolute;
    left: -20px;
    display: block;
    width: 80px;
    height: 40px;
    transition:all 0.3s ease;
}
.person .mail-wrap a {
  position:absolute;
  z-index: 10;
  width:100%;
  height:100%;
  top:0;
  left:0;
}
.person a:hover ~ .svg-wrap .arrow-icon {
  left:0;
}
.social-icon {
  flex-basis:100%;
}
/* Hexagon CTA */
.hexagon-cta {
    position: absolute;
    bottom: 15%;
    right: 15%;
    width: 140px;
    height: 160px;
    background-color: var(--color-purple);
    clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    text-decoration: none;
    color:var(--color-text-light);
    z-index:10;
    transition: transform 0.3s ease;
}

.hexagon-cta:hover {
    transform: scale(1.05);
}

/* Footer */
.site-footer {
    max-width: 1440px;
    margin: 0 auto;
    width: 100%;
    padding: 20px 70px;
    
}
.footer .container {
    display: flex;
    justify-content: space-between;
}
footer .address {
    text-align: center;
    margin-bottom: 20px;
  }
.footer-nav a {
    text-decoration: none;
    margin: 0 20px;
}

.footer-nav a:hover {
    text-decoration: underline;
}

/* Responsive */
@media (min-width:580px) {
  footer .address br {
    display:none;
  }
}
@media (min-width:768px) {
  html, body {
    font-size:18px;
  }
}
@media (min-width:1024px) {
  .site-header {
    padding-left:70px;
    padding-right:70px;
  }
  .site-footer {
    padding:30px 100px;
  }
  .site-footer .container {
    display: flex;
    justify-content: space-between;
  }
}
@media (min-width:1439px) {
  h1 {
    max-width: 1000px;
}
  .site-footer .container {
    margin-left:180px;
  }
}
@media (max-width:1439px) {
  .text-content {
    margin:0 auto;
  }
  .hexagon-cta {
    right:20px;
  }
}
@media (max-width: 1023px) {
    .site-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }
    .main-content {
        padding: 0;
        /* Full width on mobile */
    }

    .hero-card {
        border-radius: 0;
    }

    .hero-inner {
      display: flex;
      flex-direction: column;
      padding:80px;
    }

    .main-headline {
        margin-bottom: 30px;
    }

    .hexagon-cta {
        bottom: 20px;
        right: 20px;
        width: 100px;
        height: 115px;
    }
    .people-links {
        flex-direction: column;
        gap: 20px;
        margin-top: 40px;
    }

    .footer-nav {
        display: flex;
        gap: 20px;
        justify-content: center;
    }
       
}
@media (max-width:767px) {  
  .site-header {
    padding-left: 30px;
    padding-right:30px;
  }
  .main-content {
    background:none;
  }
  .hero-card {
    background-image: url('img/BK_bg-mobil.png');
    }
  .hero-inner {
    padding-left:30px;
    padding-right:30px;
  }
  .social-icon {
    margin-top: -12px;
  }
  .job-link {
    text-align: center;
    margin-bottom: 20px;
  }
}
@media (max-width:579px) {
  .hero-inner {
      padding-bottom:160px;
  }
  .site-header {
    padding-top: 50px;
    padding-bottom: 15px;
  }
  .logo-mark.mobile {
    display:block;
  }
  .logo-mark.desktop {
    display:none;
  }
  .site-footer .address span {
    display:none;
  }
}
@media (max-width:474px) {
  html, body {
    font-size:14px;
  }
  }
@media(min-width:580px) and (max-width:1023px) {
  .person .mail-wrap a,
  .person .linkedin-wrap a {
    display:block;
    width:55%;
  }
}