/* Generated; edit the listed source files, then rebuild. */

/* SOURCE: styles/globals/01-grundregeln.css */

:root {
  --background:#fdfdff;
  --foreground:#212942;
  --primary:#2d3896;
  --primary-foreground:#fff;
  --border:#dce1ef;
  --muted:#f1f3fb;
  --muted-foreground:#626d84;
  --ring:#6275c0;
  --popover:#fdfdff;
  --accent:#e8edfa;
  --copper:#5264aa;
  --cream:#f2f4fa;
  --serif:Georgia,'Times New Roman',serif;
  --sans:Arial,sans-serif
}
* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:110px
}
body {
  margin:0;
  background:var(--background);
  color:var(--foreground);
  font-family:var(--sans);
  font-size:16px;
  line-height:1.65
}
a {
  color:inherit;
  text-decoration:none
}
button,input,textarea,select {
  font:inherit
}
button,a {
  -webkit-tap-highlight-color:transparent
}
button {
  cursor:pointer
}
a:focus-visible,button:focus-visible {
  outline:2px solid #5264aa;
  outline-offset:5px
}
img {
  display:block;
  max-width:100%
}
h1,h2,h3,p {
  margin:0
}
h1,h2 {
  font-weight:400;
  letter-spacing:-.045em;
  line-height:1.12
}
h1 em,h2 em {
  font-family:var(--serif);
  font-weight:400
}
h2 {
  font-size:clamp(2rem,3.4vw,3.5rem)
}
h3 {
  font-size:1.35rem;
  font-weight:400;
  line-height:1.3
}
.section {
  padding:100px 6vw
}
.eyebrow {
  font-size:12px;
  font-weight:600;
  letter-spacing:.17em;
  margin-bottom:24px
}
.eyebrow.light {
  color:#d2dcfa
}
.site-header {
  height:100px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 4.5vw;
  background:var(--background);
  gap:32px
}
.wordmark {
  font-family:var(--serif);
  font-weight:bold;
  font-size:32px;
  line-height:1.1;
  letter-spacing:-1.5px
}
.wordmark span {
  display:block;
  font-family:var(--sans);
  font-weight:400;
  font-size:9px;
  letter-spacing:2.4px;
  margin-top:8px
}
.site-header nav {
  display:flex;
  align-items:center;
  gap:30px;
  font-size:14px
}
.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:30px;
  background:var(--primary);
  color:#fff;
  padding:17px 24px;
  font-size:14px;
  border:1px solid var(--primary);
  transition:background .25s,transform .25s
}
.button:hover {
  background:#232c78;
  transform:translateY(-2px)
}


/* SOURCE: styles/globals/02-grundregeln.css */

.button.small {
  padding:11px 20px;
  gap:25px
}
.hero {
  height:min(740px,calc(100svh - 100px));
  min-height:570px;
  position:relative;
  color:#fff;
  overflow:hidden
}
.hero-image {
  height:100%;
  width:100%;
  object-fit:cover;
  position:absolute
}
.hero-shade {
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(18,24,55,.8),rgba(18,24,55,.13)),linear-gradient(0deg,rgba(18,24,55,.5),transparent 30%)
}
.hero-content {
  position:relative;
  padding:110px 6vw 120px;
  max-width:1180px
}
.hero h1 {
  font-size:clamp(3.4rem,5.8vw,6.1rem)
}
.hero h1 em {
  color:#e5ebff
}
.hero-content>p:not(.eyebrow) {
  max-width:510px;
  font-size:17px;
  color:#f0f0e9;
  margin-top:26px;
  line-height:1.75
}
.hero .button {
  margin-top:32px;
  background:#f7f9ff;
  color:#212942;
  border-color:#f7f9ff
}
.hero-bottom {
  position:absolute;
  bottom:0;
  left:6vw;
  right:6vw;
  display:flex;
  justify-content:space-between;
  align-items:center;
  border-top:1px solid #ffffff4d;
  padding:24px 0;
  font-size:12px;
  letter-spacing:.13em
}
.hero-bottom a {
  display:flex;
  gap:16px;
  align-items:center;
  letter-spacing:0;
  font-size:14px
}
.intro-grid {
  display:grid;
  grid-template-columns:1.15fr 1fr;
  gap:12%;
  align-items:start
}
.intro-grid p {
  max-width:510px;
  color:var(--muted-foreground);
  line-height:1.9
}
.preview-services {
  background:var(--cream)
}
.preview-services>div {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:50px;
  margin-top:50px
}
.preview-services article {
  border-top:1px solid var(--border);
  padding-top:20px
}
.preview-services h3 {
  margin:25px 0 15px
}
.preview-services p {
  color:var(--muted-foreground)
}


/* SOURCE: styles/globals/03-max-width-800px.css */

@media(max-width:800px) {
  .site-header {
    height:84px
  }
  .site-header nav>a:not(.button) {
    display:none
  }
  .wordmark {
    font-size:26px
  }
  .hero {
    height:650px
  }
  .hero-content {
    padding:100px 6vw
  }
  .hero h1 {
    font-size:clamp(2.8rem,7.4vw,4.6rem)
  }
  .hero-bottom>span {
    display:none
  }
  .section {
    padding:70px 6vw
  }
  .intro-grid,.preview-services>div {
    grid-template-columns:1fr;
    gap:28px
  }
  .hero-content>p:not(.eyebrow) {
    max-width:430px
  }
  .hero .button {
    gap:16px
  }
  .hero-bottom {
    padding:20px 0
  }
}


/* SOURCE: styles/globals/04-prefers-reduced-motion-reduce.css */

@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  *,*::before,*::after {
    animation:none!important;
    transition:none!important
  }
}
