@font-face {
  font-family: "Source Sans Pro";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/SourceSansPro-Regular_2-english.woff2") format("woff2");
  unicode-range: U+0000-00A0, U+00A2-00A9, U+00AC-00AE, U+00B0-00B7, U+00B9-00BA, U+00BC-00BE, U+00D7, U+00F7, U+2000-206F, U+2074, U+20AC, U+2122, U+2190-21BB, U+2212, U+2215, U+F8FF, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Source Sans Pro";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/SourceSansPro-Regular_2-rest-latin.woff2") format("woff2");
  unicode-range: U+00A1, U+00AA-00AB, U+00AF, U+00B8, U+00BB, U+00BF-00D6, U+00D8-00F6, U+00F8-00FF, U+0131, U+0152-0153, U+02B0-02FF;
}

@font-face {
  font-family: "Source Sans Pro";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/fonts/SourceSansPro-Bold_2-english.woff2") format("woff2");
  unicode-range: U+0000-00A0, U+00A2-00A9, U+00AC-00AE, U+00B0-00B7, U+00B9-00BA, U+00BC-00BE, U+00D7, U+00F7, U+2000-206F, U+2074, U+20AC, U+2122, U+2190-21BB, U+2212, U+2215, U+F8FF, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Source Sans Pro";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/fonts/SourceSansPro-Bold_2-rest-latin.woff2") format("woff2");
  unicode-range: U+00A1, U+00AA-00AB, U+00AF, U+00B8, U+00BB, U+00BF-00D6, U+00D8-00F6, U+00F8-00FF, U+0131, U+0152-0153, U+02B0-02FF;
}

@font-face {
  font-family: "Source Sans Pro";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/SourceSansPro-Italic_2-english.woff2") format("woff2");
  unicode-range: U+0000-00A0, U+00A2-00A9, U+00AC-00AE, U+00B0-00B7, U+00B9-00BA, U+00BC-00BE, U+00D7, U+00F7, U+2000-206F, U+2074, U+20AC, U+2122, U+2190-21BB, U+2212, U+2215, U+F8FF, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Source Sans Pro";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/SourceSansPro-Italic_2-rest-latin.woff2") format("woff2");
  unicode-range: U+00A1, U+00AA-00AB, U+00AF, U+00B8, U+00BB, U+00BF-00D6, U+00D8-00F6, U+00F8-00FF, U+0131, U+0152-0153, U+02B0-02FF;
}

:root {
  color-scheme: light;
  font-family: "Source Sans Pro", "Arial", sans-serif;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body { margin: 0; color: #111; background: #fff; }

.farewell {
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  min-height: 760px;
  overflow: hidden;
  color: #fff;
  text-align: center;
  background: #070d19;
}

.farewell__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 13%;
}

.farewell__content {
  position: relative;
  width: min(calc(100% - 64px), 1280px);
  margin: max(180px, calc(12.5vw + 20px)) 0 80px;
  padding: 24px 30px;
  background: rgb(0 0 0 / 68%);
}

.farewell__message {
  margin: 0;
  font-size: clamp(19px, 2.2vw, 30px);
  line-height: 1.22;
  letter-spacing: .01em;
}

.farewell__signature {
  margin: 32px 0 0;
  font-size: clamp(18px, 2vw, 28px);
  font-style: italic;
  line-height: 1.2;
}

.announcement {
  max-width: 1280px;
  margin: 0 auto;
  padding: 70px 60px;
  text-align: center;
}

.announcement__line {
  margin: 0 auto;
  font-size: 48px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -.02em;
}

.announcement__line + .announcement__line { margin-top: 10px; }

.announcement__highlight { color: #009ee3; }

.information {
  background: #f1f1f1;
}

.information__inner {
  display: flex;
  align-items: flex-start;
  gap: 24px;
  min-height: 274px;
  max-width: 1280px;
  margin: 0 auto;
  padding: 20px 60px 20px 20px;
}

.information__logo {
  flex: 0 0 auto;
  display: block;
  width: 276px;
  height: auto;
  margin-top: -66px;
}

.information__details { padding-top: 12px; }

.information__block + .information__block { margin-top: 26px; }

.information__heading,
.imprint__heading {
  margin: 0 0 9px;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.2;
}

.information p,
.imprint p {
  margin: 0;
  color: #707070;
  font-size: 18px;
  line-height: 1.48;
}

.information a { color: inherit; text-decoration: underline; }
.information a:hover { color: #009ee3; }
.information a:focus-visible { outline: 2px solid #009ee3; outline-offset: 3px; }

.imprint {
  min-height: 190px;
  max-width: 1280px;
  margin: 0 auto;
  padding: 92px 64px 34px;
}

@media (min-width: 800px) and (max-width: 1279px) {
  .farewell { min-height: clamp(694px, calc(28.5vw + 466px), 760px); }
  .farewell__image { object-position: center 12%; }
  .farewell__content { width: min(100% - 68px, 900px); margin: 180px 0 60px; }
  .farewell__message { font-size: clamp(22px, 2.8vw, 29px); }
  .announcement { padding: 70px 32px; }
  .announcement__line { line-height: 1.1; }
  .information__inner { height: auto; padding-left: 30px; }
  .information__logo { width: 210px; margin-top: -64px; }
}

@media (max-width: 799px) {
  .farewell { align-items: flex-start; min-height: 619px; }
  .farewell__image { top: -110px; height: 1100px; object-position: center top; }
  .farewell__content { width: calc(100% - 40px); margin: 110px 0 70px; padding: 20px 15px; background: rgb(0 0 0 / 50%); }
  .farewell__message { font-size: 19px; line-height: 1.1; letter-spacing: .02em; }
  .farewell__signature { margin-top: 20px; font-size: 19px; }
  .announcement { padding: 40px 32px 50px; }
  .announcement__line { font-family: Corbel, "Source Sans Pro", sans-serif; font-size: 26px; line-height: 1.2; }
  .announcement__line + .announcement__line { margin-top: 8px; }
  .information__inner { display: block; height: auto; padding: 20px 22px 28px; }
  .information__logo { width: 235px; max-width: 65%; margin: -55px 0 -10px; }
  .information__details { padding-top: 2px; }
  .information__block + .information__block { margin-top: 22px; }
  .information__heading, .imprint__heading { font-size: 18px; }
  .information p, .imprint p { font-size: 16px; }
  .imprint { min-height: 145px; padding: 35px 22px 28px; }
}
