:root {
  --color-black: 0 0 0;
  --color-white: 255 255 255;
  --100vh: calc(var(--vh, 1vh) * 100);
  --base-font-size: $base-font-size;
  --font-system: system-ui, sans-serif;
  --font-transitional: Charter, "Bitstream Charter", "Sitka Text", Cambria, serif;
  --font-old-style: "Iowan Old Style", "Palatino Linotype", "URW Palladio L", P052, serif;
  --font-humanist: Seravek, "Gill Sans Nova", Ubuntu, Calibri, "DejaVu Sans", source-sans-pro, sans-serif;
  --font-neo-humanist: Avenir, "Avenir Next LT Pro", Montserrat, Corbel, "URW Gothic", source-sans-pro, sans-serif;
  --font-geometric-humanist: Avenir, "Avenir Next LT Pro", Montserrat, Corbel, "URW Gothic", source-sans-pro, sans-serif;
  --font-classic-humanist: Optima, Candara, "Noto Sans", source-sans-pro, sans-serif;
  --font-neo-grotesque: Inter, Roboto, "Helvetica Neue", "Arial Nova", "Nimbus Sans", Arial, sans-serif;
  --font-monospace-slab-serif: "Nimbus Mono PS", "Courier New", "Cutive Mono", monospace;
  --font-monospace-code: ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, Consolas, "DejaVu Sans Mono", monospace;
  --font-industrial: Bahnschrift, "DIN Alternate", "Franklin Gothic Medium", "Nimbus Sans Narrow", sans-serif-condensed, sans-serif;
  --font-rounded-sans: ui-rounded, "Hiragino Maru Gothic ProN", Quicksand, Comfortaa, Manjari, "Arial Rounded MT Bold", Calibri, source-sans-pro, sans-serif;
  --font-slab-serif: Rockwell, "Rockwell Nova", "Roboto Slab", "DejaVu Serif", "Sitka Small", serif;
  --font-antique: Superclarendon, "Bookman Old Style", "URW Bookman", "URW Bookman L", "Georgia Pro", Georgia, serif;
  --font-didone: Didot, "Bodoni MT", "Noto Serif Display", "URW Palladio L", P052, Sylfaen, serif;
  --font-handwritten: "Segoe Print", "Bradley Hand", Chilanka, TSCu_Comic, casual, cursive;
  --font-base: "Instrument Sans", Inter, "Noto Sans JP", system-ui, sans-serif;
  --ease-in-sine: cubic-bezier(0.12, 0, 0.39, 0);
  --ease-out-sine: cubic-bezier(0.61, 1, 0.88, 1);
  --ease-in-out-sine: cubic-bezier(0.37, 0, 0.63, 1);
  --ease-in-quad: cubic-bezier(0.11, 0, 0.5, 0);
  --ease-out-quad: cubic-bezier(0.5, 1, 0.89, 1);
  --ease-in-out-quad: cubic-bezier(0.45, 0, 0.55, 1);
  --ease-in-cubic: cubic-bezier(0.32, 0, 0.67, 0);
  --ease-out-cubic: cubic-bezier(0.33, 1, 0.68, 1);
  --ease-in-out-cubic: cubic-bezier(0.65, 0, 0.35, 1);
  --ease-in-quart: cubic-bezier(0.5, 0, 0.75, 0);
  --ease-out-quart: cubic-bezier(0.25, 1, 0.5, 1);
  --ease-in-out-quart: cubic-bezier(0.76, 0, 0.24, 1);
  --ease-in-quint: cubic-bezier(0.64, 0, 0.78, 0);
  --ease-out-quint: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-in-out-quint: cubic-bezier(0.83, 0, 0.17, 1);
  --ease-in-expo: cubic-bezier(0.7, 0, 0.84, 0);
  --ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out-expo: cubic-bezier(0.87, 0, 0.13, 1);
  --ease-in-circ: cubic-bezier(0.55, 0, 1, 0.45);
  --ease-out-circ: cubic-bezier(0, 0.55, 0.45, 1);
  --ease-in-out-circ: cubic-bezier(0.85, 0, 0.15, 1);
  --ease-in-back: cubic-bezier(0.36, 0, 0.66, -0.56);
  --ease-out-back: cubic-bezier(0.34, 1.56, 0.64, 1);
  --ease-in-out-back: cubic-bezier(0.68, -0.6, 0.32, 1.6);
  --ease-mixpanel: cubic-bezier(0.19, 1, 0.22, 1);
  --button-height: 48px;
  --button-font-size: 20px;
  --button-padding-x: 16px;
  --button-padding-y: 8px;
  --button-radius: 4px;
  --button-gap: 8px;
  --button-border-color: var(--color-white);
  --button-border-alpha: 0.15;
  --button-bg-color: var(--color-white);
  --button-bg-alpha: 0;
}

html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
}

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

pre {
  font-family: monospace, monospace;
  font-size: 1em;
  white-space: break-spaces;
}

a {
  background-color: transparent;
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

b, strong {
  font-weight: bolder;
}

code, kbd, samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

small {
  font-size: 80%;
}

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

img {
  border-style: none;
}

button, input, optgroup, select, textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}

button, input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}

progress {
  vertical-align: baseline;
}

textarea {
  overflow: auto;
}

[type=checkbox],
[type=radio] {
  box-sizing: border-box;
  padding: 0;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

details {
  display: block;
}

summary {
  display: list-item;
}

template {
  display: none;
}

[hidden] {
  display: none;
}

*, *::before, *::after {
  box-sizing: border-box;
}

html {
  margin: 0;
  padding: 0;
  font-size: 16px;
}

body {
  margin: 0;
  padding: 0;
  font-size: 1em;
  letter-spacing: 0.015em;
  word-wrap: break-word;
  -webkit-font-smoothing: antialiased;
  font-variant-east-asian: proportional-width;
  font-family: var(--font-base);
}

h1, h2, h3, h4, h5, h6, p, figure, figcaption {
  margin: 0;
  padding: 0;
  font-weight: 400;
}

a {
  text-decoration: none;
}

.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.button-icon {
  display: flex;
  width: 2rem;
  height: 2rem;
  padding: 0.25rem;
}

.button-label {
  white-space: nowrap;
}

.button-type-01 {
  display: flex;
  color: currentColor;
  font-size: var(--button-font-size);
  align-items: center;
}
.button-type-01 a {
  display: flex;
  gap: var(--button-gap);
  height: var(--button-height);
  padding: var(--button-padding-y) var(--button-padding-x);
  color: currentColor;
  align-items: center;
  border: solid 1px rgba(var(--button-border-color)/var(--button-border-alpha));
  border-radius: var(--button-radius);
  background-color: rgba(var(--button-bg-color)/var(--button-bg-alpha));
}
.button-type-01 a:hover {
  --button-border-alpha: 0.25;
  --button-bg-alpha: .08;
}
.button-type-01.has-button-left a {
  padding: 0.5rem 1rem 0.5rem 0.75rem;
}

.site-wrapper {
  overflow: hidden;
}

.site-body {
  min-height: 100vh;
}

.teaser {
  --offset: 16px;
  --content-height: calc(var(--100vh) - var(--offset) * 2);
  --count-down-num-font: "brush-script-std", sans-serif;
  --count-down-suffix-font: "flood-std", sans-serif;
  --tagline-font: "flood-std", sans-serif;
  position: relative;
  width: 100%;
  min-height: var(--100vh);
  color: white;
}
@media screen and (min-width: 750px) {
  .teaser {
    --offset: 32px;
  }
}
.teaser__background {
  pointer-events: none;
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.teaser__background::after {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  background-color: rgba(43.35, 17.85, 5.1, 0.25);
}
.teaser__video {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
}
.teaser__video video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.teaser__slideshow {
  --image-ratio: 100%;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
}
.teaser__slideshow .flickity-viewport {
  height: 100%;
}
.teaser__slideshow__slide {
  width: 100vw;
  height: 100%;
}
.teaser__slideshow img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.teaser__foreground {
  position: relative;
  min-height: var(--100vh);
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
}
@media (orientation: landscape) and (min-height: 1120px) {
  .teaser__foreground {
    justify-content: center;
    padding-top: clamp(6.25rem, 9.842519685vw + 6.25rem, 12.5rem);
  }
}
@media only screen and (orientation: portrait) and (min-width: 768px) and (max-width: 1056px) and (min-height: 1024px) and (max-height: 1280px) {
  .teaser__foreground {
    justify-content: center;
  }
}
.teaser__logo {
  display: flex;
  width: clamp(4rem, 10.0393700787vw + 4rem, 10.375rem);
  margin-top: clamp(0.625rem, 4.0354330709vw + 0.625rem, 3.1875rem);
  margin-bottom: clamp(0.625rem, 4.0354330709vw + 0.625rem, 3.1875rem);
}
.teaser__logo svg, .teaser__logo img {
  width: 100%;
  height: auto;
}
@media (orientation: landscape) and (min-height: 1120px) {
  .teaser__logo {
    position: absolute;
    margin: 0;
    top: 3.1875rem;
    left: 50%;
    translate: -50% 0;
  }
}
@media only screen and (orientation: landscape) and (min-width: 1280px) and (max-width: 1366px) and (max-height: 1119px) {
  .teaser__logo {
    margin-top: 1.5rem;
    width: clamp(4rem, 5.5118110236vw + 4rem, 7.5rem);
  }
}
.teaser__count-down {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-bottom: clamp(1.5rem, 2.8543307087vw + 1.5rem, 3.3125rem);
}
.teaser__count-down__word-art {
  display: flex;
  justify-content: center;
  width: clamp(6.25rem, 17.5196850394vw + 6.25rem, 17.375rem);
}
.teaser__count-down__word-art img {
  display: block;
  width: 100%;
}
.teaser__count-down__days {
  margin-top: calc(1.5748031496vw + 0.655511811rem);
}
.teaser__count-down__days__nums {
  display: flex;
  justify-content: center;
  display: inline-block;
  font-family: var(--count-down-num-font);
  font-size: calc(22.6377952756vw + 0.6729822835rem);
  line-height: 0.72070312;
  text-indent: -0.25em;
}
.teaser__count-down__days__suffix {
  display: flex;
  margin-top: calc(0.7874015748vw + 0.3277559055rem);
  justify-content: center;
  font-weight: 700;
  font-size: calc(2.3622047244vw + 0.7332677165rem);
  font-family: var(--count-down-suffix-font);
  text-transform: uppercase;
}
.teaser__tagline {
  position: relative;
  font-family: var(--tagline-font);
  text-transform: uppercase;
  font-size: calc(0.5905511811vw + 0.9958169291rem);
  text-align: center;
  line-height: 1;
  margin-bottom: calc(1.6732283465vw + 0.6339812992rem);
}
.teaser__face {
  width: clamp(3.125rem, 4.3307086614vw + 3.125rem, 5.875rem);
}
.teaser__face img {
  display: block;
  width: 100%;
  height: auto;
}
.teaser__copyright {
  display: flex;
  flex: 1 1 16px;
  align-items: flex-end;
  margin-top: auto;
  font-size: 0.625rem;
  line-height: 1;
  z-index: 2;
  text-align: center;
  font-weight: 600;
  margin-top: clamp(1rem, 1.3779527559vw + 1rem, 1.875rem);
  padding-bottom: clamp(1rem, 1.7716535433vw + 1rem, 2.125rem);
}
@media (orientation: landscape) and (min-height: 1120px) {
  .teaser__copyright {
    flex: none;
    position: absolute;
    bottom: 1rem;
    left: 0;
    width: 100%;
    justify-content: center;
    text-align: center;
    margin: 0;
  }
}
@media only screen and (orientation: portrait) and (min-width: 768px) and (max-width: 1056px) and (min-height: 1024px) and (max-height: 1280px) {
  .teaser__copyright {
    flex: none;
    position: absolute;
    bottom: 1rem;
    left: 0;
    width: 100%;
    justify-content: center;
    text-align: center;
    margin: 0;
  }
}
@media only screen and (orientation: landscape) and (min-width: 1280px) and (max-width: 1366px) and (max-height: 1119px) {
  .teaser__copyright {
    padding-bottom: 1rem;
  }
}
.teaser__socials {
  position: fixed;
  display: flex;
  gap: 0.5rem;
  right: 1.9375rem;
  bottom: 1.5rem;
  transition-property: translate, opacity;
  transition-duration: 3000ms;
  transition-timing-function: var(--ease-out-quint);
}
.teaser__socials a {
  color: currentColor;
  display: flex;
  padding: 0.5rem;
  width: 2.75rem;
  height: 2.75rem;
}
.teaser__socials a svg {
  display: block;
  width: 100%;
  height: auto;
}
@media screen and (max-width: 749px) {
  .teaser__socials {
    left: auto;
    bottom: auto;
    top: 1rem;
    right: 1rem;
  }
}
@media (min-width: 1200px) and (max-height: 1000px) {
  .teaser__count-down__nums {
    font-size: clamp(5.625rem, 10.8267716535vw + 5.625rem, 12.5rem);
  }
}
@media only screen and (orientation: portrait) and (min-width: 768px) and (max-width: 1056px) and (min-height: 1024px) and (max-height: 1280px) {
  .teaser__foreground {
    padding-top: clamp(6.25rem, 9.842519685vw + 6.25rem, 12.5rem);
  }
  .teaser__logo {
    position: absolute;
    top: 0;
  }
  .teaser__count-down__days__nums {
    font-size: clamp(6.25rem, 21.6535433071vw + 6.25rem, 20rem);
  }
  .teaser__tagline__content {
    font-size: 1.5rem;
  }
}
@media only screen and (orientation: landscape) and (min-width: 1280px) and (max-width: 1366px) and (max-height: 1119px) {
  .teaser__logo {
    margin-top: 2rem;
  }
}
@media screen and (max-width: 479px) {
  .teaser__logo {
    margin-top: 1rem;
  }
  .teaser__count-down {
    margin-bottom: 1rem;
  }
  .teaser__copyright {
    padding-bottom: 0.5rem;
  }
}
@media screen and (min-width: 1312px) and (max-width: 9999px) {
  .teaser__logo {
    width: 9.375rem;
    margin-top: 1.5rem;
    margin-bottom: 2.5rem;
  }
  .teaser__count-down {
    margin-bottom: 1.5rem;
  }
  .teaser__count-down__days__nums {
    font-size: clamp(7.5rem, 11.811023622vw + 7.5rem, 15rem);
  }
}
@media (max-width: 479px) and (min-height: 600px) {
  .teaser__logo {
    margin-top: 3rem;
    margin-bottom: 4rem;
  }
  .teaser__count-down {
    margin-bottom: 2rem;
  }
  .teaser__count-down__days__nums {
    font-size: clamp(7.5rem, 7.874015748vw + 7.5rem, 12.5rem);
  }
}