/* The homepage hero shares the existing header and local Manrope typeface. */
body.geo-home {
  --geo-navy: #061225;
  --geo-white: #f5f8ff;
  --geo-muted: #b7c7dd;
  --geo-gutter: clamp(24px, 5.2vw, 84px);
}

body.geo-home.hero-in-view .mobile-cta {
  display: none;
}

body.geo-home .geo-hero__toggle[hidden] {
  display: none;
}

body.geo-home [data-bh-header].site-header {
  inset: 0 0 auto;
  border: 0;
  border-radius: 0;
  background: linear-gradient(180deg, rgb(4 14 31 / .65), rgb(4 14 31 / 0));
  color: var(--geo-white);
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

body.geo-home.hero-scrolled [data-bh-header].site-header,
body.geo-home [data-bh-header].site-header.is-scrolled,
html.menu-open body.geo-home [data-bh-header].site-header {
  background: rgb(6 18 37 / .96);
  box-shadow: 0 1px 0 rgb(209 226 249 / .12);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

body.geo-home [data-bh-header] .site-header__bar {
  max-width: 1600px;
  height: 100px;
  padding-inline: var(--geo-gutter);
  gap: 28px;
}

body.geo-home [data-bh-header] :is(.ki-banner, .site-header__location, .site-header__hours, .site-header__phone, .site-header__messengers) {
  display: none;
}

body.geo-home [data-bh-header] .geo-import-brand {
  gap: 10px;
  color: var(--geo-white);
}

body.geo-home [data-bh-header] .geo-import-symbol {
  font-size: 37px;
  letter-spacing: -.065em;
}

body.geo-home [data-bh-header] .geo-import-symbol > span {
  color: #9ebcde;
}

body.geo-home [data-bh-header] .geo-import-name {
  font-size: 10px;
  line-height: 1.3;
  letter-spacing: .015em;
}

body.geo-home [data-bh-header] .site-nav > ul {
  gap: 30px;
}

body.geo-home [data-bh-header] .site-nav > ul > li > a {
  font-size: 12px;
  font-weight: 500;
  color: #e8eef9 !important;
}

body.geo-home [data-bh-header] .site-nav > ul > li > a:hover {
  color: #fff !important;
  text-underline-offset: 7px;
  text-decoration: underline;
}

body.geo-home [data-bh-header] .site-nav a::after {
  display: none;
}

body.geo-home [data-bh-header] .lang-switch {
  gap: 1px;
  padding: 0;
  margin: 0;
  box-shadow: none;
}

body.geo-home [data-bh-header] .lang-switch__item {
  min-width: 31px;
  height: 44px;
  padding: 0;
  color: #b7c7dd;
  background: transparent;
  font: 500 10px/1 var(--font-display);
  letter-spacing: .04em;
}

body.geo-home [data-bh-header] .lang-switch__item.is-current {
  color: var(--geo-white);
  background: transparent;
  text-decoration: underline;
  text-underline-offset: 5px;
}

body.geo-home [data-bh-header] a.lang-switch__item:hover {
  color: white;
  background: transparent;
}

html[data-geo-design] body.geo-home [data-bh-header] .site-header__cta {
  gap: 13px;
  min-height: 44px;
  padding: 12px 17px;
  border: 1px solid rgb(255 255 255 / .7);
  border-radius: 4px;
  background: var(--geo-white);
  color: var(--geo-navy);
  font-size: 11px;
  font-weight: 650;
  line-height: 1.3;
}

body.geo-home [data-bh-header] .site-header__cta .btn__icon {
  width: 14px;
  height: 14px;
  color: var(--geo-navy);
  background: transparent;
}

body.geo-home [data-bh-header] .site-header__cta .btn__icon svg {
  width: 14px;
  height: 14px;
}

body.geo-home [data-bh-header] .menu-toggle {
  height: 44px;
  min-width: 44px;
  padding: 0;
  color: var(--geo-white);
  background: transparent;
  border: 1px solid rgb(200 220 245 / .35);
  border-radius: 4px;
}

body.geo-home [data-bh-header] .menu-toggle__text {
  position: absolute;
  width: 1px;
  height: 1px;
  clip-path: inset(50%);
  overflow: hidden;
}

body.geo-home [data-bh-header] .menu-toggle__icon {
  width: 42px;
  height: 42px;
  background: transparent;
}

html.menu-open body.geo-home [data-bh-header] .geo-import-brand {
  color: var(--geo-white);
}

body.geo-home .geo-hero[data-geo-hero] {
  position: relative;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  min-height: clamp(760px, 100svh, 1040px);
  padding: 0;
  overflow: hidden;
  background: var(--geo-navy);
  color: var(--geo-white);
}

body.geo-home .geo-hero__media,
body.geo-home .geo-hero__scrim {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

body.geo-home .geo-hero__media {
  z-index: -3;
  background: #0c2341 url('/media/geo-hero/vienna-business-poster.webp') center / cover no-repeat;
}

body.geo-home .geo-hero__media :is(video, canvas) {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
  opacity: 0;
}

body.geo-home .geo-hero__media video {
  filter: grayscale(1) sepia(.35) saturate(1.7) hue-rotate(165deg) brightness(.68);
}

body.geo-home .geo-hero[data-runtime='video'] [data-hero-video],
body.geo-home .geo-hero[data-runtime='shader'] [data-hero-canvas] {
  opacity: 1;
}

body.geo-home .geo-hero__scrim {
  z-index: -1;
  background:
    linear-gradient(90deg, rgb(4 14 31 / .78) 0%, rgb(4 14 31 / .6) 30%, rgb(4 14 31 / .14) 69%, rgb(4 14 31 / .08) 100%),
    linear-gradient(0deg, rgb(4 14 31 / .92) 0%, rgb(4 14 31 / 0) 38%, rgb(4 14 31 / .12) 100%);
}

body.geo-home .geo-hero__content {
  position: relative;
  width: 100%;
  max-width: 1600px;
  margin: auto;
  padding: clamp(158px, 20svh, 210px) var(--geo-gutter) 132px;
}

body.geo-home .geo-hero__eyebrow {
  display: flex;
  align-items: center;
  gap: 13px;
  margin: 0 0 29px;
  color: #c6d6ec;
  font: 500 10px/1.6 var(--font-display);
  letter-spacing: .16em;
  text-transform: uppercase;
  hyphens: none;
}

body.geo-home .geo-hero__eyebrow::before {
  content: '';
  width: 24px;
  height: 1px;
  background: #a3bbd9;
  flex: none;
}

html[data-geo-design] body.geo-home .geo-hero h1.geo-hero__title {
  max-width: 16ch;
  margin: 0;
  color: var(--geo-white);
  font: 550 clamp(60px, 5.75vw, 86px)/1.055 var(--font-display);
  font-stretch: 100%;
  letter-spacing: -.052em;
  text-wrap: balance;
  hyphens: none;
  overflow-wrap: normal;
}

body.geo-home .geo-hero h1.geo-hero__title span {
  color: inherit;
}

body.geo-home .geo-hero__description {
  max-width: 47ch;
  margin: 30px 0 0;
  color: #d6e0ef;
  font: 400 15px/1.8 var(--font-display);
  letter-spacing: -.005em;
  hyphens: none;
}

body.geo-home .geo-hero__actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 28px;
  margin-top: 33px;
}

body.geo-home .geo-hero__primary,
body.geo-home .geo-hero__secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  min-height: 50px;
  color: var(--geo-white);
  font: 600 12px/1.5 var(--font-display);
  letter-spacing: 0;
  text-decoration: none;
  white-space: nowrap;
}

body.geo-home .geo-hero__primary {
  min-width: 177px;
  padding: 14px 21px;
  background: var(--geo-white);
  color: var(--geo-navy);
  border: 1px solid var(--geo-white);
  border-radius: 4px;
}

body.geo-home .geo-hero__primary:hover {
  background: #dce7f7;
  border-color: #dce7f7;
}

body.geo-home .geo-hero__secondary {
  gap: 13px;
  padding: 10px 0;
  color: #e4ecf7;
}

body.geo-home .geo-hero__secondary:hover {
  text-decoration: underline;
  text-underline-offset: 6px;
}

body.geo-home .geo-hero__actions svg {
  width: 16px;
  height: 16px;
  flex: none;
}

body.geo-home .geo-hero__note {
  display: none;
  max-width: 49ch;
  margin: 21px 0 0;
  color: #a8bbd4;
  font: 400 11px/1.75 var(--font-display);
  hyphens: none;
}

body.geo-home .geo-hero__footer {
  position: absolute;
  inset: auto var(--geo-gutter) 26px;
  display: none;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  max-width: calc(1600px - 2 * var(--geo-gutter));
  margin-inline: auto;
  padding-top: 20px;
  border-top: 1px solid rgb(190 213 243 / .2);
}

body.geo-home .geo-hero__location {
  color: #b1c4de;
  font: 500 10px/1.5 var(--font-display);
  letter-spacing: .07em;
  hyphens: none;
}

body.geo-home .geo-hero__toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 44px;
  min-width: 44px;
  padding: 7px 0 7px 12px;
  border: 0;
  border-radius: 3px;
  background: transparent;
  color: #d5e1f3;
  font: 500 10px/1.5 var(--font-display);
  letter-spacing: .015em;
}

body.geo-home .geo-hero__toggle:hover {
  color: white;
}

body.geo-home .geo-hero__toggle svg {
  width: 13px;
  height: 13px;
  flex: none;
}

html[data-geo-design] body.geo-home :is(.geo-hero, [data-bh-header]) :is(a, button):focus-visible {
  outline: 2px solid #b8d5ff;
  outline-offset: 5px;
}

@media (min-width: 981px) {
  body.geo-home [data-bh-header] .site-nav { display: flex; }
  body.geo-home [data-bh-header] .menu-toggle { display: none; }
  body.geo-home [data-bh-header] .site-header__actions { display: flex; }
}

@media (max-width: 1100px) {
  body.geo-home [data-bh-header] .site-header__bar { gap: 20px; }
  body.geo-home [data-bh-header] .site-nav > ul { gap: 20px; }
}

@media (max-width: 980px) {
  body.geo-home [data-bh-header] .site-header__bar { height: 86px; }
  body.geo-home [data-bh-header] .site-nav { display: none; }
  body.geo-home [data-bh-header] .menu-toggle { display: inline-flex; }
  html[data-geo-design] body.geo-home .geo-hero h1.geo-hero__title { font-size: clamp(53px, 7.4vw, 74px); }
  body.geo-home .geo-hero__content { padding-top: 160px; }
  body.geo-home .geo-hero__scrim {
    background: linear-gradient(90deg, rgb(4 14 31 / .84), rgb(4 14 31 / .3) 100%), linear-gradient(0deg, rgb(4 14 31 / .92), transparent 45%);
  }
}

@media (max-width: 640px) {
  body.geo-home { --geo-gutter: 24px; }
  body.geo-home [data-bh-header] .site-header__bar { height: 80px; gap: 14px; }
  body.geo-home [data-bh-header] .geo-import-symbol { font-size: 32px; }
  body.geo-home [data-bh-header] .geo-import-name { font-size: 9px; }
  body.geo-home [data-bh-header] :is(.site-header__actions, .lang-switch) { display: none; }
  body.geo-home .geo-hero[data-geo-hero] { min-height: max(740px, 100svh); }
  body.geo-home .geo-hero__content { margin-block: auto; padding-top: 128px; padding-bottom: 145px; }
  body.geo-home .geo-hero__eyebrow { gap: 10px; margin-bottom: 25px; font-size: 8px; letter-spacing: .13em; }
  body.geo-home .geo-hero__eyebrow::before { width: 17px; }
  html[data-geo-design] body.geo-home .geo-hero h1.geo-hero__title { max-width: 15ch; font-size: clamp(39px, 10.6vw, 60px); line-height: 1.08; letter-spacing: -.05em; }
  body.geo-home .geo-hero__description { max-width: 40ch; margin-top: 24px; font-size: 13px; line-height: 1.8; }
  body.geo-home .geo-hero__actions { gap: 8px 22px; margin-top: 26px; }
  body.geo-home .geo-hero__primary { min-height: 48px; min-width: 165px; padding-inline: 17px; font-size: 11px; }
  body.geo-home .geo-hero__secondary { min-height: 44px; gap: 8px; font-size: 11px; }
  body.geo-home .geo-hero__note { max-width: 43ch; margin-top: 16px; font-size: 10px; }
  body.geo-home .geo-hero__footer { bottom: 20px; padding-top: 12px; gap: 12px; }
  body.geo-home .geo-hero__location { max-width: 19ch; font-size: 9px; line-height: 1.65; }
  body.geo-home .geo-hero__toggle { max-width: 145px; gap: 8px; font-size: 9px; text-align: right; }
  body.geo-home .geo-hero__scrim {
    background: linear-gradient(90deg, rgb(4 14 31 / .74), rgb(4 14 31 / .35)), linear-gradient(0deg, rgb(4 14 31 / .98) 0%, rgb(4 14 31 / .22) 70%, rgb(4 14 31 / .2));
  }
}

@media (prefers-reduced-motion: reduce) {
  body.geo-home .geo-hero *, body.geo-home [data-bh-header] { animation: none; transition: none; }
}

body.geo-home .geo-hero__toggle .geo-hero__toggle-pause,
body.geo-home .geo-hero__toggle[data-playing='true'] .geo-hero__toggle-play {
  display: none;
}

body.geo-home .geo-hero__toggle[data-playing='true'] .geo-hero__toggle-pause {
  display: block;
}

body.geo-home .geo-hero__toggle:disabled {
  opacity: .55;
  cursor: default;
}
